simulacion

48
CURSO DE SIMULACIÓN DIGITAL Ing.Esp. Erik Garcia Cuan Universidad Autonoma del Caribe

description

simulacion enfoque

Transcript of simulacion

  • CURSO DE SIMULACIN DIGITAL

  • CONTENIDO PROGRAMATICOIntoduccin ( Teorico)1.1 Definicin de Simulacin1.2 Etapas para realizar un estudio de Simulacin1.3 Factores a considerar en el desarrollo del modelo de Simulacin1.3.1 Generacin de Variables Aleatorias no-uniformes1.3.2 Lenguajes de Programacin1.3.3 Condiciones Iniciales1.3.4 Tamao de la muestra1.3.5 Diseo de Experimentos1.4 Ventajas y desventajas en el uso de la Simulacin1.5 Ejemplos de usos de Simulacin

  • CONTENIDO PROGRAMATICO2.Generacin de Nmeros Rectngulares (Teorico-Prctico)2.1 Generadores congruenciales lineales2.1.1 Congruencial mixto2.1.2 Congruencial multiplicativo3. Pruebas estadisticas para los nmeros pseudoaleatorios3.1 Prueba de los promedios3.2 Prueba de frecuencias3.3 Prueba de las distancia3.3.1 Nmeros pseudoaleatorios considerados como digitos3.3.2 Nmeros pseudoaleatorios considerados como nmeros reales3.4 Prueba de series

  • CONTENIDO PROGRAMATICO3.5 Prueba de kolmogorov-smirnov3.6 Prueba del poker3.7 Prueba de las corridas3.7.1 Prueba de las corridas arriba y abajo del promedio3.7.2 Prueba de las corridas arriba y abajo4. Generacin de variables aleatorias no uniformes4.1 Metodo de la transformada inversa4.2 Metodo de rechazo4.3 Metodo de composicin4.4 Procedimientos especiales

  • CONTENIDO PROGRAMATICO5. Aplicaciones de simulacin5.1 Ejemplos6. Anlisis de los resultados de la simulacin6.1 Mtodo de estimacin6.2 Simulacin regenerativa

  • 1. INTRODUCCIONAproximadamente desde 1940 se comienza a escuchar la palabra simulacin, cuando Von Newman y Ulam solucionaron problemas que requerian costos de experimentacion muy altos y anlisis matematicos complejosCon el desarrollo tcnologico y la acogida de los computadores se han elaborado incontables aplicaciones El uso del computador como herramienta tecnica de soporte y de las estadistica como base teorica, nos permite realizarsimulaciones con bastantes aproximacin a las situaciones reales de la vida cotidiana La multimedia que nos proporciona el desarrollo tecnologico es aprovechada para acercarnos cada da ms a la realidad

  • 1.1 DEFINICION DE SIMULACION QUE ES SIMULACION ?Existen 3 definiciones formales de Simulacion

    Thomas H. Naylor.Simulacin es una tcnica numrica para conducir experimentos en una computadora digital. Estos experimentos comprenden ciertos tipos de relaciones matemticas ylgicas, las cuales son necesarias para describir el comportamiento y la estructura de sistemas complejos delmundo real a travs de largos perodos detiempo.

  • 1.1 DEFINICION DE SIMULACION QUE ES SIMULACION ? H. Maisel y G. Gnugnoli.Simulacin es una tcnica numricapara realizar experimentos en una computadora digital. Estos experimentos involucran ciertos tipos de modelosmatemticos ylgicos, que describenel comportamiento de sistemas de negocios, econmicos, sociales, biolgicos, fsicos o qumicos a travs de largos perodos detiempo.

  • 1.1 DEFINICION DE SIMULACION QUE ES SIMULACION ? Robert E. Shannon.Simulacin es el proceso de disear ydesarrollar un modelo computarizado de un sistema o proceso y conducir experimentos con este modelo con el propsito de entender el comportamientodel sistema o evaluar varias estrategiascon las cuales se puede operar el sistemas

  • 1.2 ETAPAS PARA REALIZAR UN ESTUDIO DE SIMULACION Definicin del sistemaAnlisis de requerimientos del sistema a simular (Resea historica, Descripcin del sistema, anlisis de costos, Planeacin de la ejecucin ). Formulacin del modeloConstruccin del modelo definiendo todas las variables que forman parte de el y las relaciones lgicas que componen el modelo (Diagramas de flujo o flujogramas de procesos que describan en forma completa al modelo) Coleccin de datosDatos con los cuales se determina el comportamiento de las variables que intervienen en el sistema

  • 1.2 ETAPAS PARA REALIZAR UN ESTUDIO DE SIMULACION Implementacin del modelo en la computadoraLenguaje de programacin Visual Basic Turbo pascal C, C++ Java Paquetes GPSS Arenas Simulate Dynamo Syman

  • ValidacinLas formas ms comunes de validacin de un modelo son:- Utilizando comparaciones entre la opinin de expertos y los resultados de la simulacin- Observando el grado de exactitud con que se predicen los datos historicos- Analizando la exactitud en la prediccin del futuro- Detectando fallas itroduciendo valores que hacen fallar el sistema real- La aceptacin y confianza del sistema por parte de las los expertos que lo utilizaran.1.2 ETAPAS PARA REALIZAR UN ESTUDIO DE SIMULACION

  • ExperimentacinSe realiza despus de ser validado el modelo y consiste en generarar datos de prueba deseados y en realizar anlisis de sensibilidad en las variables requeridas (Mayor importancia) InterpretacinEs la etapa de estudio, se interpreta los resultados de lasimulacin y con base a estos se toman desiciones Documentacin- Documentacin tcnica - Manual de usuario 1.2 ETAPAS PARA REALIZAR UN ESTUDIO DE SIMULACION

  • Generacin de variables aleatorias no-uniformeExisten dos tipos de Simulacin, la deterministica y la simulacin estocstica, en la simulacin estocstica se hace necesario generar numeros aleatorios que tienen un comportamiento definido asociada a una distribucin de probabilidad.1.3 FACTORES A CONSIDERAR EN EL DESARROLLO DEL MODELO DE SIMULACION Espacio uniformeNmeros UniformesRiF-1(Ri) Funcin de TransformacinVariable aleatoriaXiQue tiene el comportamiento de fdp(x)

  • Lenguajes de programacin

    Se tienen dos opciones :

    - Desarrollar el software de simulacin con herramientas como: Visual Basic, Turbo pascal u otros

    - Comprar un software de propsito especial como: Arenas, Simlate, Dynamo, Syman, GPSS u otros1.3 FACTORES A CONSIDERAR EN EL DESARROLLO DEL MODELO DE SIMULACION

  • Condiciones inicialesSiempre que analizamos los modelos preferimos estudiarlos estados estables del modelo, pero generalmente la mayora de estos presentan en su estado inicial estados transciendes que no permiten ver el comportamiento frecuente del sistema, la manera de corregir este problema sera a travs de:

    - Usar perodos de corridas largos, para que los perodos transcientes sean insignificantes- Excluir una parte inicial de la corrida- Utilizar Simulacin regenerativa1.3 FACTORES A CONSIDERAR EN EL DESARROLLO DEL MODELO DE SIMULACION

  • Tamao de la muestra Corresponde al nmero de corridas en la computadora y es necesario determinar el error de precisin deseado y el costo operativo requerido por variable generada. Existen dos formas para determinar el tamao de la corrida :

    - Previa e independientemente de la operacin del modelo

    - Durante de la operacin del modelo y basado en los resultados

    - Utilizando la tcnica de intervalos de Confianza1.3 FACTORES A CONSIDERAR EN EL DESARROLLO DEL MODELO DE SIMULACION

  • Diseo de experimentosPara el diseo de experimentos existen varios tipos de anlisisComparacin de medias y varianzas de las alternativas analizadasDeterminacin de la importancia y el efecto de las variablesBsqueda de los valores ptimos Diseo de experimento de un factor simple es necesario tener en cuenta: Tamao de la muestra Condiciones iniciales Presencia o ausencia de autocorrelacin Anlisis de varianza Tcnica de regresin Algoritmos heursticos de bsqueda por Ejemplo: Algoritmo de Hooke y Jeeves1.3 FACTORES A CONSIDERAR EN EL DESARROLLO DEL MODELO DE SIMULACION

  • Ventajas segn Thomas H. Naylor - Se puede estudiar los efectos producido por cambios externos e internos de los sistemas- Proporciona un mejor entendimiento de los sistemas y podremos sugerir estrategias para ser ms eficientes- Ayuda a entender mejor la interrelacin entre las variables- Las tcnicas de simulacin pueden ser usadas para experimentar con nuevas situaciones donde se tiene muy poca o ninguna informacin y obtener posibles resultados- Capacitacin del personal sin riesgos Desventajas- Tiempos largos de desarrollo, recurso humano costosos y problemas al requerir equipos computacionales1.4 VENTAJAS Y DESVENTAJAS DEL USO DE LA SIMULACION

  • Simulacin de un sistema de colas

    Simulacin de un sistema de inventarios

    Simulacin de un proyecto de inversin

    Simulacin de sistemas econmicos

    Simulacin de estados financieros1.5 EJEMPLOS DE SIMULACION

  • Que son nmeros rectangulares ?Los nmeros rectangulares son nmeros que tienen un comportamiento uniforme y son utilizados para generar nmeros Variables aleatorias no uniformes.

    Tocher ha sugerido tres formas para obtener nmeros Rectangulares:- Provisin externa

    - Proceso fsico al azar.- Algoritmos especiales en una computadora digital que registre los resultados de un proceso aleatorio y lo convierta a sucesiones de dgitos- Relacin de recurrencia2. GENERACION DE NUMEROS RECTANGULARES Entrada ProblemaTabla rand

  • Uniformemente distribuido

    Estadsticamente independientes

    Reproducibles

    Perodos largos de repeticin

    Generados a travs de un mtodo rpido

    Generados a travs de un mtodo que requiera capacidad de almacenamientos acorde con los avances tecnolgicos

    Caractersticas de los nmeros rectangulares

  • Generador congruencial mixto

    Xn+1 = (a Xn + C) mod m

    Los posibles valores generados seran : 0, 1, 2, 3, 4, 5, ..., m-1

    La cantidad de valores generados es m.

    El operador mod es el residuo de dividir (a Xn + C) / m2.1 GENERADORES CONGRUENCIALES LINEALESX0 = La semilla (X0 > 0 )a = El multiplicador (a > 0 )c = Cte. aditiva (c > 0 ) m = El modulo (m>X0, m> a, m> c)

  • Ejemplo del Generador congruencial mixtoXn+1 = (a Xn + C) mod m

    Sea a=5, c=7, X0 = 4 y m = 8 Xn+1 = (5Xn + 7) mod 8 Cuando el perodo de repeticin es igual al modulo m decimos que el generador tiene periodo completo.Este generador tiene perodo completo.

    Hoja1

    nXn(5Xn + 7)/8Xn + 1Nmeros uniformes

    043 + 3/833/8

    132 + 6/866/8

    264 + 5/855/8

    354 + 0/800

    400 + 7/877/8

    575 + 2/822/8

    622 + 1/811/8

    711 + 4/844/8

    Hoja2

    Hoja3

  • Otro ejemplo del Generador congruencial mixtoXn+1 = (a Xn + C) mod m

    Sea a=7, c=7, X0 = 7 y m = 10 Xn+1 = (7Xn + 7) mod 10Cuando el perodo de repeticin es igual al modulo m decimos que el generador tiene periodo completo.Este generador no tiene perodo completo. El perodo de este generador es 4, a partir del cuarto valor Se comienza a repetir la serie

    Hoja1

    nXn(5Xn + 7)/8Xn + 1Nmeros uniformes

    075 + 6/1066/10

    164 + 9/1099/10

    297 + 0/1000/10

    300 + 7/1077/10

    Hoja2

    Hoja3

  • La idea de seleccionar los valores de m, a, c y Xo es la necesidad de crear generadores con largos perodos de repeticin y con periodos completos Seleccin de m

    - El nmero primo ms grande posible < Pd

    P = base del sistema ( binario, hexadecimal, decimal...)d = Longitud del nmero o el tamao de la palabra en bitsPor ejemplo: m = 97 < 102 = 100 - m = Pd Por ejemplo: m = 102 = 100Criterios de seleccin de las variables m, a, c, Xo

  • Manera de calcular con una formula de recurrencia los ltimos digitos de una secuencia de nmeros generados a travs de un generador congruencial lineal mixto con base a los ltimos digitos del numero anteriorEjemplo:Xn+1 = (a Xn + C) mod m

    Sea a=81, c=89, X0 = 5 y m = 102 Xn+1 = (81Xn + 89) mod 100El mdulo es 100 y tiene perodo completo

    El perodo del ltimo digito es 10

    La formula de recurrencia para determinar el ltimo digito a partir del ltimo digito del nmero anterior es:Yn+1 = (Yn + 9) mod 10

    Hoja1

    nXnnXnnXn

    1949261738

    20310951867

    33211841916

    48112932085

    55013222174

    6391471::

    74815409936

    877162910005

    Hoja2

    Hoja3

  • Manera de calcular con una formula de recurrencia los ltimos digitos de una secuencia de nmeros generados a travs de un generador congruencial lineal mixto con base a los ltimos digitos del numero anteriorDemostracin:Si Xn+1 = (a Xn + C) mod m, m = Pd y adems consideramos

    Yn+1,i = ltimos i-dgitos del nmero pseudoaleatorio Xn+1 i = ltimos i-dgitos que se estn considerando. i 1, 2, 3, 4, 5, ..., d-1

    Entonces para calcular Yn+1,i , dependiendo de los i-dgitos que se Consideren tendramos que realizar la siguiente operacin

    Yn+1,i = Xn+1 mod Pi por ejemplo : P =10 (Base) i = 1 y Xn+1 = 84

  • Manera de calcular con una formula de recurrencia los ltimos digitos de una secuencia de nmeros generados a travs de un generador congruencial lineal mixto con base a los ltimos digitos del numero anteriorDemostracin ... Yn+1,i = Xn+1 mod Pi por ejemplo : P =10 (Base) i = 1 y Xn+1 = 84Entonces remplazamos en Yn+1,i = Xn+1 mod Pi tenemos como Resultado: Yn+1,1 = 84 mod 101 = 4 este es el ltimo dgito de 84

    Siguiendo con la demostracin ... Remplazamos Xn+1 = (a Xn + C) mod m en Yn+1,i = Xn+1 mod Pi y tenemos como resultado : Yn+1,i = (a Xn + C) mod m mod Pi

  • Manera de calcular con una formula de recurrencia los ltimos digitos de una secuencia de nmeros generados a travs de un generador congruencial lineal mixto con base a los ltimos digitos del numero anteriorYn+1,i = (a Xn + C) mod Pd mod PiRemplazando (a Xn + C) mod Pd

    Yn+1,i = (a Xn + C - q Pd ) mod Pi

    q = 0, por que es la parte entera y nunca se tiene en cuenta

    La expresin quedara:

    Yn+1,i = (a Xn + C) mod Pi

    (a Xn + C)PdResiduo(a Xn + C) mod PdCociente q(a Xn + C) = q Pd + (a Xn + C) mod Pd Despejamos (a Xn + C) mod Pd y tenemos que:(a Xn + C) mod Pd = (a Xn + C) - q Pd yLo remplazamos en :Yn+1,i = (a Xn + C) mod Pd mod Pi

  • Manera de calcular con una formula de recurrencia los ltimos digitos de una secuencia de nmeros generados a travs de un generador congruencial lineal mixto con base a los ltimos digitos del numero anteriorDemostracin ...

    Yn+1,i = (a Xn + C) mod Pi Yn+1,i = a Xn mod Pi + C mod Pi

    Una propiedad del mdulo es: X mod m =X mod m mod mEntonces aplicamos la propiedad

    Yn+1,i = a Xn mod Pi mod Pi + C mod Pi

    Yn+1,i = a Yn,i mod Pi + C mod Pi Yn+1,i = (a Yn,i + C) mod Pi L.Q.QD

  • Seleccin de a

    - Entero impar no divisible ni por 3 ni por 5 y que cumpla con el siguient criterio:

    ( a 1) mod 4 = 0 si 4 es factor de m( a 1) mod b = 0 si 4 es factor primo de m

    otra forma:

    - Sistema Binarioa = 2k + 1- Sistema decimal a = 10k + 1 Criterios de seleccin de las variables m, a, c, Xo K => 2

  • Seleccin de c- Sistema Binarioc mod 8 = 5- Sistema decimal c mod 200 = 21Entero impar relativamente primo a m.

    Seleccin de Xo Su valor es irrelevante no tiene ninguna influencia sobre la generacin Otros generadores: si n + k = 10 y k = 4 el No. 10mo. se obtiene a partir del 4to.

    Xn = an X0 + C an 1 mod m Xn+k = an Xk + C an 1 mod m a 1 a - 1Criterios de seleccin de las variables m, a, c, Xo

  • Generador congruencial multiplicativo

    Xn+1 = a Xn mod m

    Criterios de seleccin de a, Xo y m- Sistema decimal- Seleccin de Xo. Cualquier entero impar no divisible por 5 y relativamente primo a m- Seleccin de a. a = 200t p

    P = 3,11,13,19,21,27,29,37,53,59,61,67,69,77,83,912.1 GENERADORES CONGRUENCIALES LINEALESX0 = La semilla (X0 > 0 )a = El multiplicador (a > 0 ) m = El modulo (m>X0, m> a, m> c)

  • Seleccin de m

    - m = 10d

    Si m =10 y d => 5, tenemos que: Perodo = 5 x 10d-2

    Si m =10d y d < 5, tenemos que:

    Perodo = Mn.Com.Mult. (P1d1), (P2d2), ..., (Pndn)

    Pi es un factor primo de m Criterios de seleccin de a, Xo y m

  • Seleccin de m La funcin (Pd) se define como : (2)= 1(Pd) = (4)= 2 (2d)= 2d-2 si d => 3 (pd)= pd-1(p 1) si p => 2Por ejemplo: Xn+1 = 3 Xn mod 100 y X0 = 17 M = 102 = (22)(52)

    perodo = m.c.m( (22), (52) ) = m.c.m( 2, 20 ) = 20 Criterios de seleccin de a, Xo y m

    Hoja1

    nXnnXnnXnnXn

    15169311991657

    25377912971771

    35983713911813

    47791114731939

    531103315192017

    Hoja2

    Hoja3

  • - Sistema Binario- Seleccin de Xo. Cualquier entero impar relativamente primo a m- Seleccin de a. a = 8t 3 t es cualquier entero- Seleccin de m. m = 2d

    Perodo = 2d-2 m/4 Criterios de seleccin de a, Xo y m

  • Prueba de los promedios

    1 si 0 1

    F(x) = 1 dt = x

    E(x) = x(1) dx =

    Var(x) = (x-1/2)2(1) dx = 1/123. PRUEBAS ESTADISTICAS PARA LOS NUMEROS PSEUDOALEATORIOSxf(x)11xF(x)11 x01010

  • Prueba de los promedios

    Hiptesis nula Ho:u 1/2Hiptesis nula H1: u =1/2 __ X = U1 + U2 + ... + UN N

    Zo = ( X ) N 1/12

    Si | Zo | < Z2 se puede decir que la muestra de nmeros provienen de un espacio uniforme

  • Prueba de frecuencias

    El estadgrafo a utilizar es Chi- cuadrados Xo nXo = (FOi FEi)2 1 FEi

    FOi = Frecuencia observada del i-esimo subintervalo (N/n)FEi = Frecuencia esperada del i-esimo subintervalo (N/n)N = Tamao de la muestraN = Nmero de subintervalos

    Si tenemos una tabla de 100 valores y seleccionamos unn = 5 tendramos :20 0.2 0.4 0.6 0.8 1FEFO2020202020Si Xo < X , (n-1) Se dice que los valores provienen De una distribucin uniforme2221221923152

  • Prueba de frecuencias

    Para el ejemplo apliquemos la formula

    0 0.2 0.4 0.6 0.8 1FEFO202020202021221923152Xo = (21-20)2 + (22-20)2 + (19-20)2 + (23-20)2 + (15-20)2 = 220Entonces comparamos si Xo < X0.05, 4

    con = 5% y 4 grados de libertad, tendramos que

    Efectivamente Xo = 2 es < X0.05, 4 = 9.49 lo que quiere decir que

    los nmeros generados provienen de una distribucin uniforme2222

  • Prueba de la distanciaEsta prueba puede ser realizada de dos formas, considerando a los nmeros pseudoaleatorios como dgitos o considerndolos como nmeros reales

    Considerando los nmeros pseudoaleatorios como dgitos

    Tamao de hueco ejemplo: 58245 hueco de tamao 3

    Pi = 0.1(0.9)i para i = 1,2,...

    Probabilidad de que se de un hueco de tamao i

    Sin embargo el valor del tamao del hueco puede ser infinito, es conveniente agrupar probabilidad

  • Prueba de la distancia

    Agrupando probabilidades, para los casos en que los tamaos de huecos sean infinitos utilizamos esta formula :

    n Pi >= n = 0.1(0.9) m+n = (0.9)n m=0

    n Xo = (FOi FEi)2 1 FEi

    2Es muy importante que el valor de n, debe ser tal que la suma de las frecuencias esperadas de todos los tamaos de los huecos agrupados sea mayor que 5

    Si Xo < X , (n-1) Se dice que los valores provienen De una distribucin uniforme

  • Prueba de la distancia

    Ejemplo:

    Total1.0 FOi FOi

  • Prueba de la distancia

    Considerando los nmeros pseudoaleatorios como nmero reales

    1. Seleccionar un intervalo (; ) (0; 1) as:0< = < = < = 12. Tamao de hueco por Ejemplo: = 0.3 y = 0.5 entonces...Si tenemos los siguientes nmeros :

    0.32415, 0.22257, 0.1947, 0.75103, 0.49383

    Uj (; ), Uj (; ) ... Uj+i (; ), Uj+i +1 (; )

    Hay un hueco de tamao 3 o sea tres valores seguidos que no estn dentro del intervalo (; )

  • Prueba de la distancia

    Considerando los nmeros pseudoaleatorios como nmero reales

    3. La formula para calcular la probabilidad de que se de un tamao de hueco i es :Pi = (1- )i Para i = 0, 1, 2, 3,...

    Donde = - que es la probabilidad de caer en ese intervalo

    4. Al igual que la prueba de los dgitos, cuando el tamao de huecos i > = n ( mximo tamao de hueco a considerar), agrupamos probabilidades y tendramos : Pi => n = (1- )m+n = (1- )nm=0

  • Prueba de la distancia

    Considerando los nmeros pseudoaleatorios como nmero reales

    5. Utilizamos el estadgrafo

    n Xo = (FOi FEi)2 i =1 FEi

    Si Xo < X , (n-1) Se dice que los valores provienen De una distribucin uniforme

    2

  • Prueba de la distancia ( Nmeros reales)

    Ejemplo:

    Total1.0 FOi FOi