simulacion de eventos - cursos.aiu.educursos.aiu.edu/simulacion de eventos/pdf/tema 2.pdf ·...
TRANSCRIPT
Simulacioacuten de Eventos LII 210
1
SIMULACION DEEVENTOS
CLAVE LII 210
PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO
Simulacioacuten de Eventos LII 210
2
1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS
11 Definicioacuten de Eventos Discretos12 Estructura de la simulacioacuten de eventos discretos13 Caracteriacutestica de la simulacioacuten de eventos discretos14 Sistemas15 Modelos16 Control17 Mecanismos de tiempo fijo18 Metodologiacutea
181 Formulacioacuten del Problema182 Recoleccioacuten de datos183 Desarrollo del modelo184 Verificacioacuten185 Validacioacuten186 Experimentacioacuten de resultados187 Optimizacioacuten de resultados
2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS21 Nuacutemeros aleatorios definicioacuten propiedades
211 Generadores212 Tablas
22 Nuacutemeros pseudoaleatorios propiedades221 Teacutecnicas para generar nuacutemeros pseudoaleatorios
2211 Meacutetodos de centros al cuadrado2212 Meacutetodos de congruencia2213 Multiplicativo2214 Mixto
23 Pruebas de aleatoriedad24 Meacutetodo de Montecarlo
241 Simulacioacuten de procesos aleatorios242 Usando nuacutemeros243 Manuales244 Lenguajes de propoacutesito general como
2441 C C++2442 Delphi2443 Visual
245 Sistemas productivos246 Calidad247 Inventarios248 Econoacutemicos
3 VARIABLES ALEATORIAS31 Meacutetodos para generar variables aleatorias
311 Transformadas Inversas312 Aceptacioacuten rechazo313 Convoluciograven314 Directos
Simulacioacuten de Eventos LII 210
3
3141 Generacioacuten de variables aleatorias discretas3142 Distribuciones Poisson3143 Binomial3144 Geomeacutetrica3145 Generacioacuten de variables aleatorias continuas3146 Distribucioacuten uniforme3147 Exponencial3148 Normal3149 Erlang31410 Gamma31411 Beta31412 Triangular
315 Distribuciones empiacutericas de probabilidad316 Simulacioacuten de procesos aleatorios manuales317 Sistemas productivos318 Calidad319 Inventarios3110 Econoacutemicos
4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS41 Lenguajes de simulacioacuten y simuladores
411 Caracteriacutesticas412 Aplicacioacuten y uso lenguajes
4121 SLAM4122 ECSL4123 SIMAN4124 GPSS
413 Simuladores4131 PROMODEL4132 TAYLOR ED4133 ARENA4134 WITNESS
42 Aprendizaje y uso de un simulador421 Caracteriacutesticas del Software422 Elementos del modelo423 Menuacutes principales424 Construccioacuten del modelo425 El uso del simulador de problemas aplicados a servicios426 Sistemas productivos427 Calidad 428 Inventarios429 Econoacutemicos
Simulacioacuten de Eventos
CAP 2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS
Los nuacutemeros aleatorios son elementos que se propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja predictibilidad
Un problema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros uniformemente distribuidos en un intervalo [01]Las diferentes posibilidades para resolver dicho problema son
i) Buscar en tablas de nuacutemeros aleatorios pubii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlosiv) Mediante algoritmos de generacioacuten de nuacutemeros
Las principales ventajas de los generadores de nuacutemeros aleatorios son
- Rapidez - Comodidad- Reproducibilidad- Portabilidad
Y la desventaja fundamental
- Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con opdeterministas Solo podemos obtener secuencias algunos criterios de aleatoriedad adecuados
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas caracteriacutesticas son
1 Uniformemente distribuidos 2 Estadiacutesticamente independientes 3 Su media debe ser estadiacutesticamente igual a 12 4 Su varianza debe ser estadiacutesticamente igual a 112 5 Su periodo o ciclo de vida debe ser largo 6 Deben ser generados a traveacutes7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la computadora
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan enteros Ni entre 0 y M - 1 y xi = Ni M
En general los algoritmos utilizan relaciones de recurrencia del tipo
En el caso de recurrencia simple o bien
NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS
Los nuacutemeros aleatorios son elementos que se emplean dentro del proceso de simulacioacuten con el propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja
oblema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros uniformemente distribuidos en un intervalo [01]
diferentes posibilidades para resolver dicho problema son
i) Buscar en tablas de nuacutemeros aleatorios publicadas (libros internet)ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos
algoritmos de generacioacuten de nuacutemeros aleatorios
los generadores de nuacutemeros aleatorios son
Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con opdeterministas Solo podemos obtener secuencias pseudo-aleatorias que a su vez satisfacen algunos criterios de aleatoriedad adecuados
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas
2 Estadiacutesticamente independientes 3 Su media debe ser estadiacutesticamente igual a 12 4 Su varianza debe ser estadiacutesticamente igual a 112 5 Su periodo o ciclo de vida debe ser largo 6 Deben ser generados a traveacutes de un meacutetodo raacutepido 7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan Ni M da valores reales en el intervalo [01)
En general los algoritmos utilizan relaciones de recurrencia del tipo
el caso de recurrencia simple o bien
LII 210
4
emplean dentro del proceso de simulacioacuten con el propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja
oblema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros
ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos
Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con operaciones que a su vez satisfacen
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas
7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan
Simulacioacuten de Eventos
Para el caso de una recurrencia de
Se necesitaraacute dar un valor inicialorden )
Generadores
Un Generador de nuacutemeros aleatoriossiacutembolos para un programa softwareparezcan ser nuacutemeros aleatorios
La mayor parte de los generadores calcula (o introduce internamente) un valor X0 que llamaremos generando X1 X2 X3
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia
El algoritmo baacutesico es el meacutetodo congruencialel siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten en7) es 2
Tablas
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo columnas hacia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
Para ser presentadas estas cifras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte de la tabla
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
Un nuacutemero pseudo-aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
el caso de una recurrencia de orden
valor inicial para comenzar el algoritmo ( valores para recurrencias de
Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o software en una forma que carezca de un patroacuten evidente y que asiacute
aleatorios
La mayor parte de los generadores de nuacutemeros aleatorios son en realidad calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores
meacutetodo congruencial que genera valores en el intervalo el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo-aleatorios no muestran
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
LII 210
5
valores para recurrencias de
es un componente o funcionalidad que crea nuacutemeros o en una forma que carezca de un patroacuten evidente y que asiacute
de nuacutemeros aleatorios son en realidad pseudoaleatorios se y a partir de eacutel se van
de valores
que genera valores en el intervalo [01) mediante el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas propiedades para obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(N-1) se generan X1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N)
tera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuos de una poblacioacuten
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
aleatorios no muestran
a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
Simulacioacuten de Eventos LII 210
6
Los mecanismos de generacioacuten de nuacutemeros aleatorios que se utilizan en la mayoriacutea de los
sistemas informaacuteticos son en realidad procesos pseudo-aleatorios
Una Sucesioacuten de nuacutemeros pseudoaleatorios es una sucesioacuten de nuacutemeros que ha sido obtenida
mediante un proceso aritmeacutetico definido pero que es una secuencia de nuacutemeros aleatorios
efectiva para el propoacutesito para el que se la requiere
Si bien una sucesioacuten de nuacutemeros pseudoaleatorios parece generalmente no obedecer a ninguacuten
patroacuten o ley de formacioacuten todo generador de nuacutemeros pseudoaleatorios con un estado interior
finito se repetiraacute luego de una larga sucesioacuten de nuacutemeros
Teacutecnicas para generar nuacutemeros pseudoaleatorios
Meacutetodos de centros al cuadrado
Consiste en que cada nuacutemero de una sucesioacuten es producido tomando los diacutegitos medios de un nuacutemero obtenido mediante la elevacioacuten al cuadrado
P1 Obtener semilla (valores iniciales 445)P2 Aplicacioacuten de Algoritmos recursivos (elevar al cuadrado)P3 Validacioacuten del conjunto de datos generados
Ejemplo Consideremos la semilla 445
X X2 Ndeg Aleatorio
445 1| 9802 | 5 098029802 96| 0792 | 04 00792792 6 | 2726 | 4 027262726
Problemasbull Tendencia a degenerar a cero
Meacutetodos de congruencia
Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursivaZi = (a Zi-1 + b) (mod m)
m = modulo a= multiplicador b = sesgo Zc = semilla o valor inicial
Todos enteros no negativos Ademaacutes 0 lt m a lt m b lt m Z0 lt m
Simulacioacuten de Eventos LII 210
7
Para obtener Zi dividir a Zi-1 + b por m y dejar que Zi sea el resto de esta divisioacuten
Observacioacuten
1- Cuando b=0 el generador se denomina Generador congruencial multiplicativo2- Cuando b0 el generador se denomina Generador congruencial mixto3- A pesar de la simplicidad una adecuada eleccioacuten de los paraacutemetros de ldquoa b y mrdquo permite
obtener de manera eficiente una larga e impredecible sucesioacuten de nuacutemeros como para considerarse ldquoaleatoriardquo
m = 1 6 i Zi U ia = 5 0 7c = 3 1 6 0 3 7 5
Zo = 7 2 1 0 0 6 2 53 8 0 54 1 1 0 6 8 7 55 1 0 0 6 2 56 5 0 3 1 2 57 1 2 0 7 58 1 5 0 9 3 7 59 1 4 0 8 7 5
1 0 9 0 5 6 2 51 1 0 01 2 3 0 1 8 7 51 3 2 0 1 2 51 4 1 3 0 8 1 2 51 5 4 0 2 51 6 7 0 4 3 7 51 7 6 0 3 7 51 8 1 0 0 6 2 51 9 8 0 52 0 1 1 0 6 8 7 5
Paraacutemetrosa b m xo6 0 13 17 0 13 105 0 13 57 0 11 56 0 11 3
Caso Salidas1 6 10 8 9 2 12 7 3 5 4 11 1 6 102 5 9 11 12 6 3 8 4 2 1 7 10 5 93 12 8 1 5 12 8 1 5 12 8 1 5 12 84 2 3 10 4 6 9 8 1 7 5 2 3 10 45 7 9 10 5 8 4 2 1 6 3 7 9 10 4
5
Caso1234
Simulacioacuten de Eventos LII 210
8
Algunas observaciones de las salidas de los generadores congruenciales
i) Un generador congruencial tiene ciclos ii) La longitud del ciclo depende de la seleccioacuten de los paraacutemetros (ver caso 1) y 3) )iii) Dentro de selecciones de paraacutemetros que conducen a la misma longitud algunas salidas parecen maacutes aleatorias que otras
Pruebas de aleatoriedad
- Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas
Prueba de frecuencia Pruebas de series Prueba de autocorrelacioacuten Prueba de saltos Prueba de poacuteker
- Cuando se prueba la uniformidad las hipoacutetesis son H0 Ri ~ U[01] H1 Ri ne U[01] La hipoacutetesis nula supone que la secuencia de nuacutemeros obtenidos estaacute distribuida
uniformemente en el intervalo [01]
Meacutetodo de Montecarlo
El meacutetodo de Monte Carlo es un meacutetodo no deterministico o estadiacutestico numeacuterico usado para aproximar expresiones matemaacuteticas complejas y costosas de evaluar con exactitud El meacutetodo se llamoacute asiacute en referencia al Casino de Montecarlo (Principado de Moacutenaco) por ser ldquola capital del juego de azarrdquo al ser la ruleta un generador simple de nuacutemeros aleatorios El nombre y el desarrollo sistemaacutetico de los meacutetodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora
El uso de los meacutetodos de Monte Carlo como herramienta de investigacioacuten proviene del trabajo realizado en el desarrollo de la bomba atoacutemica durante la segunda guerra mundial en el Laboratorio Nacional de Los Aacutelamos en EEUU Este trabajo conllevaba la simulacioacuten de problemas probabiliacutesticos de hidrodinaacutemica concernientes a la difusioacuten de neutrones en el material de fusioacuten la cual posee un comportamiento eminentemente aleatorio En la actualidad es parte fundamental de los algoritmos de trazado de rayos para la generacioacuten de imaacutegenes sinteacuteticas
Monte Carlo
En la primera etapa de estas investigaciones John von Neumann y Stanislaw Ulam refinaron esta ruleta rusa y los meacutetodos de divisioacuten de tareas Sin embargo el desarrollo sistemaacutetico de estas ideas tuvo que esperar al trabajo de Harris y Herman Kahn en 1948 Aproximadamente en el mismo antildeo Enrico Fermi Metropolis y Ulam obtuvieron estimadores para los valores caracteriacutesticos de la ecuacioacuten de Schroumldinger para la captura de neutrones a nivel nuclear usando este meacutetodo
El meacutetodo de Monte Carlo proporciona soluciones aproximadas a una gran variedad de problemas matemaacuteticos posibilitando la realizacioacuten de experimentos con muestreos de nuacutemeros
Simulacioacuten de Eventos LII 210
9
pseudoaleatorios en una computadora El meacutetodo es aplicable a cualquier tipo de problema ya sea estocaacutestico o determinista A diferencia de los meacutetodos numeacutericos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solucioacuten aproximada el
meacutetodo de Monte Carlo tiene un error absoluto de la estimacioacuten que decrece como en virtud del teorema del liacutemite central
Simulacioacuten de procesos aleatorios
La teacutecnica de simulacioacuten es desde hace mucho tiempo una herramienta importante para el disentildeador Durante muchos antildeos se han usado modelos a escala de maacutequinas para simular la distribucioacuten de planta La simulacioacuten comuacuten se uso inicialmente en la investigacioacuten de operaciones surgioacute por primera vez en el trabajo de John Von Neumann y Stanislaw Ulam en los uacuteltimos antildeos de la deacutecada de los 40 Quienes a traveacutes del anaacutelisis de Montecarlo en conjunto con una teacutecnica matemaacutetica resolvieron problema relacionados con las barreras nucleares de proteccioacuten demasiado costosas para someterlas a pruebas de experimentacioacuten o demasiado complejas para realizar sus anaacutelisis Un el advenimiento de las computadoras en los primeros antildeos de la deacutecada de los 50 la simulacioacuten experimentoacute un avance substancial En la actualidad se resuelven incontables problemas de negocios puesto que la simulacioacuten en la computadora es un meacutetodo econoacutemico y raacutepido para efectuar la vasta cantidad de caacutelculos que se requieren
Las aacutereas de aplicacioacuten de la simulacioacuten son muy amplias numerosas y diversas basta mencionar soacutelo algunas de ellas Anaacutelisis del impacto ambiental causado por diversas fuentes Anaacutelisis y disentildeo de sistemas de manufactura Anaacutelisis y disentildeo de sistemas de comunicaciones Evaluacioacuten del disentildeo de organismos prestadores de servicios puacuteblicos (por ejemplo hospitales oficinas de correos teleacutegrafos casas de cambio etc) Anaacutelisis de sistemas de transporte terrestre mariacutetimo o por aire Anaacutelisis de grandes equipos de coacutemputo Anaacutelisis de un departamento dentro de una faacutebrica Adiestramiento de operadores (centrales carboeleacutectricas termoeleacutectricas nucleoeleacutectricas aviones etc)Anaacutelisis de sistemas de acondicionamiento de aire Planeacioacuten para la produccioacuten de bienes Anaacutelisis financiero de sistemas econoacutemicos Evaluacioacuten de sistemas taacutecticos o de defensa militar La simulacioacuten se utiliza en la etapa de disentildeo para auxiliar en el logro o mejoramiento de un proceso o disentildeo o bien a un sistema ya existente para explorar algunas modificaciones Se recomienda la aplicacioacuten de la simulacioacuten a sistemas ya existentes cuando existe alguacuten problema de operacioacuten o bien cuando se requiere llevar a cabo una mejora en el comportamiento El efecto que sobre el sistema ocurre cuando se cambia alguno de sus componentes se puede examinar antes de que ocurra el cambio fiacutesico en la planta para asegurar que el problema de operacioacuten se soluciona o bien para determinar el medio maacutes econoacutemico para lograr la mejora deseada Todos los modelos de simulacioacuten se llaman modelos de entrada-salida Es decir producen la salida del sistema si se les da la entrada a sus subsistemas interactuantes Por tanto los modelos de simulacioacuten se ldquocorrenrdquo en vez de ldquoresolverserdquo a fin de obtener la informacioacuten o los resultados deseados Son incapaces de generar una solucioacuten por si mismos en el sentido de los modelos analiacuteticos solos pueden servir como herramienta para el anaacutelisis del comportamiento de un sistema en condiciones especificadas por el experimentador Por tanto la simulacioacuten es una teoriacutea si no una metodologiacutea de resolucioacuten de problemas Ademaacutes la simulacioacuten es solo uno de varios planteamientos valiosos para resolver problemas que estaacuten disponibles para el anaacutelisis de sistemas Pero iquestCuaacutendo es uacutetil utilizar la simulacioacuten Cuando existan una o maacutes de las siguientes condiciones 1- No existe una completa formulacioacuten matemaacutetica del problema o los meacutetodos analiacuteticos para resolver el modelo
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
2
1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS
11 Definicioacuten de Eventos Discretos12 Estructura de la simulacioacuten de eventos discretos13 Caracteriacutestica de la simulacioacuten de eventos discretos14 Sistemas15 Modelos16 Control17 Mecanismos de tiempo fijo18 Metodologiacutea
181 Formulacioacuten del Problema182 Recoleccioacuten de datos183 Desarrollo del modelo184 Verificacioacuten185 Validacioacuten186 Experimentacioacuten de resultados187 Optimizacioacuten de resultados
2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS21 Nuacutemeros aleatorios definicioacuten propiedades
211 Generadores212 Tablas
22 Nuacutemeros pseudoaleatorios propiedades221 Teacutecnicas para generar nuacutemeros pseudoaleatorios
2211 Meacutetodos de centros al cuadrado2212 Meacutetodos de congruencia2213 Multiplicativo2214 Mixto
23 Pruebas de aleatoriedad24 Meacutetodo de Montecarlo
241 Simulacioacuten de procesos aleatorios242 Usando nuacutemeros243 Manuales244 Lenguajes de propoacutesito general como
2441 C C++2442 Delphi2443 Visual
245 Sistemas productivos246 Calidad247 Inventarios248 Econoacutemicos
3 VARIABLES ALEATORIAS31 Meacutetodos para generar variables aleatorias
311 Transformadas Inversas312 Aceptacioacuten rechazo313 Convoluciograven314 Directos
Simulacioacuten de Eventos LII 210
3
3141 Generacioacuten de variables aleatorias discretas3142 Distribuciones Poisson3143 Binomial3144 Geomeacutetrica3145 Generacioacuten de variables aleatorias continuas3146 Distribucioacuten uniforme3147 Exponencial3148 Normal3149 Erlang31410 Gamma31411 Beta31412 Triangular
315 Distribuciones empiacutericas de probabilidad316 Simulacioacuten de procesos aleatorios manuales317 Sistemas productivos318 Calidad319 Inventarios3110 Econoacutemicos
4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS41 Lenguajes de simulacioacuten y simuladores
411 Caracteriacutesticas412 Aplicacioacuten y uso lenguajes
4121 SLAM4122 ECSL4123 SIMAN4124 GPSS
413 Simuladores4131 PROMODEL4132 TAYLOR ED4133 ARENA4134 WITNESS
42 Aprendizaje y uso de un simulador421 Caracteriacutesticas del Software422 Elementos del modelo423 Menuacutes principales424 Construccioacuten del modelo425 El uso del simulador de problemas aplicados a servicios426 Sistemas productivos427 Calidad 428 Inventarios429 Econoacutemicos
Simulacioacuten de Eventos
CAP 2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS
Los nuacutemeros aleatorios son elementos que se propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja predictibilidad
Un problema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros uniformemente distribuidos en un intervalo [01]Las diferentes posibilidades para resolver dicho problema son
i) Buscar en tablas de nuacutemeros aleatorios pubii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlosiv) Mediante algoritmos de generacioacuten de nuacutemeros
Las principales ventajas de los generadores de nuacutemeros aleatorios son
- Rapidez - Comodidad- Reproducibilidad- Portabilidad
Y la desventaja fundamental
- Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con opdeterministas Solo podemos obtener secuencias algunos criterios de aleatoriedad adecuados
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas caracteriacutesticas son
1 Uniformemente distribuidos 2 Estadiacutesticamente independientes 3 Su media debe ser estadiacutesticamente igual a 12 4 Su varianza debe ser estadiacutesticamente igual a 112 5 Su periodo o ciclo de vida debe ser largo 6 Deben ser generados a traveacutes7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la computadora
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan enteros Ni entre 0 y M - 1 y xi = Ni M
En general los algoritmos utilizan relaciones de recurrencia del tipo
En el caso de recurrencia simple o bien
NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS
Los nuacutemeros aleatorios son elementos que se emplean dentro del proceso de simulacioacuten con el propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja
oblema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros uniformemente distribuidos en un intervalo [01]
diferentes posibilidades para resolver dicho problema son
i) Buscar en tablas de nuacutemeros aleatorios publicadas (libros internet)ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos
algoritmos de generacioacuten de nuacutemeros aleatorios
los generadores de nuacutemeros aleatorios son
Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con opdeterministas Solo podemos obtener secuencias pseudo-aleatorias que a su vez satisfacen algunos criterios de aleatoriedad adecuados
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas
2 Estadiacutesticamente independientes 3 Su media debe ser estadiacutesticamente igual a 12 4 Su varianza debe ser estadiacutesticamente igual a 112 5 Su periodo o ciclo de vida debe ser largo 6 Deben ser generados a traveacutes de un meacutetodo raacutepido 7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan Ni M da valores reales en el intervalo [01)
En general los algoritmos utilizan relaciones de recurrencia del tipo
el caso de recurrencia simple o bien
LII 210
4
emplean dentro del proceso de simulacioacuten con el propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja
oblema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros
ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos
Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con operaciones que a su vez satisfacen
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas
7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan
Simulacioacuten de Eventos
Para el caso de una recurrencia de
Se necesitaraacute dar un valor inicialorden )
Generadores
Un Generador de nuacutemeros aleatoriossiacutembolos para un programa softwareparezcan ser nuacutemeros aleatorios
La mayor parte de los generadores calcula (o introduce internamente) un valor X0 que llamaremos generando X1 X2 X3
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia
El algoritmo baacutesico es el meacutetodo congruencialel siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten en7) es 2
Tablas
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo columnas hacia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
Para ser presentadas estas cifras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte de la tabla
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
Un nuacutemero pseudo-aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
el caso de una recurrencia de orden
valor inicial para comenzar el algoritmo ( valores para recurrencias de
Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o software en una forma que carezca de un patroacuten evidente y que asiacute
aleatorios
La mayor parte de los generadores de nuacutemeros aleatorios son en realidad calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores
meacutetodo congruencial que genera valores en el intervalo el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo-aleatorios no muestran
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
LII 210
5
valores para recurrencias de
es un componente o funcionalidad que crea nuacutemeros o en una forma que carezca de un patroacuten evidente y que asiacute
de nuacutemeros aleatorios son en realidad pseudoaleatorios se y a partir de eacutel se van
de valores
que genera valores en el intervalo [01) mediante el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas propiedades para obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(N-1) se generan X1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N)
tera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuos de una poblacioacuten
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
aleatorios no muestran
a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
Simulacioacuten de Eventos LII 210
6
Los mecanismos de generacioacuten de nuacutemeros aleatorios que se utilizan en la mayoriacutea de los
sistemas informaacuteticos son en realidad procesos pseudo-aleatorios
Una Sucesioacuten de nuacutemeros pseudoaleatorios es una sucesioacuten de nuacutemeros que ha sido obtenida
mediante un proceso aritmeacutetico definido pero que es una secuencia de nuacutemeros aleatorios
efectiva para el propoacutesito para el que se la requiere
Si bien una sucesioacuten de nuacutemeros pseudoaleatorios parece generalmente no obedecer a ninguacuten
patroacuten o ley de formacioacuten todo generador de nuacutemeros pseudoaleatorios con un estado interior
finito se repetiraacute luego de una larga sucesioacuten de nuacutemeros
Teacutecnicas para generar nuacutemeros pseudoaleatorios
Meacutetodos de centros al cuadrado
Consiste en que cada nuacutemero de una sucesioacuten es producido tomando los diacutegitos medios de un nuacutemero obtenido mediante la elevacioacuten al cuadrado
P1 Obtener semilla (valores iniciales 445)P2 Aplicacioacuten de Algoritmos recursivos (elevar al cuadrado)P3 Validacioacuten del conjunto de datos generados
Ejemplo Consideremos la semilla 445
X X2 Ndeg Aleatorio
445 1| 9802 | 5 098029802 96| 0792 | 04 00792792 6 | 2726 | 4 027262726
Problemasbull Tendencia a degenerar a cero
Meacutetodos de congruencia
Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursivaZi = (a Zi-1 + b) (mod m)
m = modulo a= multiplicador b = sesgo Zc = semilla o valor inicial
Todos enteros no negativos Ademaacutes 0 lt m a lt m b lt m Z0 lt m
Simulacioacuten de Eventos LII 210
7
Para obtener Zi dividir a Zi-1 + b por m y dejar que Zi sea el resto de esta divisioacuten
Observacioacuten
1- Cuando b=0 el generador se denomina Generador congruencial multiplicativo2- Cuando b0 el generador se denomina Generador congruencial mixto3- A pesar de la simplicidad una adecuada eleccioacuten de los paraacutemetros de ldquoa b y mrdquo permite
obtener de manera eficiente una larga e impredecible sucesioacuten de nuacutemeros como para considerarse ldquoaleatoriardquo
m = 1 6 i Zi U ia = 5 0 7c = 3 1 6 0 3 7 5
Zo = 7 2 1 0 0 6 2 53 8 0 54 1 1 0 6 8 7 55 1 0 0 6 2 56 5 0 3 1 2 57 1 2 0 7 58 1 5 0 9 3 7 59 1 4 0 8 7 5
1 0 9 0 5 6 2 51 1 0 01 2 3 0 1 8 7 51 3 2 0 1 2 51 4 1 3 0 8 1 2 51 5 4 0 2 51 6 7 0 4 3 7 51 7 6 0 3 7 51 8 1 0 0 6 2 51 9 8 0 52 0 1 1 0 6 8 7 5
Paraacutemetrosa b m xo6 0 13 17 0 13 105 0 13 57 0 11 56 0 11 3
Caso Salidas1 6 10 8 9 2 12 7 3 5 4 11 1 6 102 5 9 11 12 6 3 8 4 2 1 7 10 5 93 12 8 1 5 12 8 1 5 12 8 1 5 12 84 2 3 10 4 6 9 8 1 7 5 2 3 10 45 7 9 10 5 8 4 2 1 6 3 7 9 10 4
5
Caso1234
Simulacioacuten de Eventos LII 210
8
Algunas observaciones de las salidas de los generadores congruenciales
i) Un generador congruencial tiene ciclos ii) La longitud del ciclo depende de la seleccioacuten de los paraacutemetros (ver caso 1) y 3) )iii) Dentro de selecciones de paraacutemetros que conducen a la misma longitud algunas salidas parecen maacutes aleatorias que otras
Pruebas de aleatoriedad
- Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas
Prueba de frecuencia Pruebas de series Prueba de autocorrelacioacuten Prueba de saltos Prueba de poacuteker
- Cuando se prueba la uniformidad las hipoacutetesis son H0 Ri ~ U[01] H1 Ri ne U[01] La hipoacutetesis nula supone que la secuencia de nuacutemeros obtenidos estaacute distribuida
uniformemente en el intervalo [01]
Meacutetodo de Montecarlo
El meacutetodo de Monte Carlo es un meacutetodo no deterministico o estadiacutestico numeacuterico usado para aproximar expresiones matemaacuteticas complejas y costosas de evaluar con exactitud El meacutetodo se llamoacute asiacute en referencia al Casino de Montecarlo (Principado de Moacutenaco) por ser ldquola capital del juego de azarrdquo al ser la ruleta un generador simple de nuacutemeros aleatorios El nombre y el desarrollo sistemaacutetico de los meacutetodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora
El uso de los meacutetodos de Monte Carlo como herramienta de investigacioacuten proviene del trabajo realizado en el desarrollo de la bomba atoacutemica durante la segunda guerra mundial en el Laboratorio Nacional de Los Aacutelamos en EEUU Este trabajo conllevaba la simulacioacuten de problemas probabiliacutesticos de hidrodinaacutemica concernientes a la difusioacuten de neutrones en el material de fusioacuten la cual posee un comportamiento eminentemente aleatorio En la actualidad es parte fundamental de los algoritmos de trazado de rayos para la generacioacuten de imaacutegenes sinteacuteticas
Monte Carlo
En la primera etapa de estas investigaciones John von Neumann y Stanislaw Ulam refinaron esta ruleta rusa y los meacutetodos de divisioacuten de tareas Sin embargo el desarrollo sistemaacutetico de estas ideas tuvo que esperar al trabajo de Harris y Herman Kahn en 1948 Aproximadamente en el mismo antildeo Enrico Fermi Metropolis y Ulam obtuvieron estimadores para los valores caracteriacutesticos de la ecuacioacuten de Schroumldinger para la captura de neutrones a nivel nuclear usando este meacutetodo
El meacutetodo de Monte Carlo proporciona soluciones aproximadas a una gran variedad de problemas matemaacuteticos posibilitando la realizacioacuten de experimentos con muestreos de nuacutemeros
Simulacioacuten de Eventos LII 210
9
pseudoaleatorios en una computadora El meacutetodo es aplicable a cualquier tipo de problema ya sea estocaacutestico o determinista A diferencia de los meacutetodos numeacutericos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solucioacuten aproximada el
meacutetodo de Monte Carlo tiene un error absoluto de la estimacioacuten que decrece como en virtud del teorema del liacutemite central
Simulacioacuten de procesos aleatorios
La teacutecnica de simulacioacuten es desde hace mucho tiempo una herramienta importante para el disentildeador Durante muchos antildeos se han usado modelos a escala de maacutequinas para simular la distribucioacuten de planta La simulacioacuten comuacuten se uso inicialmente en la investigacioacuten de operaciones surgioacute por primera vez en el trabajo de John Von Neumann y Stanislaw Ulam en los uacuteltimos antildeos de la deacutecada de los 40 Quienes a traveacutes del anaacutelisis de Montecarlo en conjunto con una teacutecnica matemaacutetica resolvieron problema relacionados con las barreras nucleares de proteccioacuten demasiado costosas para someterlas a pruebas de experimentacioacuten o demasiado complejas para realizar sus anaacutelisis Un el advenimiento de las computadoras en los primeros antildeos de la deacutecada de los 50 la simulacioacuten experimentoacute un avance substancial En la actualidad se resuelven incontables problemas de negocios puesto que la simulacioacuten en la computadora es un meacutetodo econoacutemico y raacutepido para efectuar la vasta cantidad de caacutelculos que se requieren
Las aacutereas de aplicacioacuten de la simulacioacuten son muy amplias numerosas y diversas basta mencionar soacutelo algunas de ellas Anaacutelisis del impacto ambiental causado por diversas fuentes Anaacutelisis y disentildeo de sistemas de manufactura Anaacutelisis y disentildeo de sistemas de comunicaciones Evaluacioacuten del disentildeo de organismos prestadores de servicios puacuteblicos (por ejemplo hospitales oficinas de correos teleacutegrafos casas de cambio etc) Anaacutelisis de sistemas de transporte terrestre mariacutetimo o por aire Anaacutelisis de grandes equipos de coacutemputo Anaacutelisis de un departamento dentro de una faacutebrica Adiestramiento de operadores (centrales carboeleacutectricas termoeleacutectricas nucleoeleacutectricas aviones etc)Anaacutelisis de sistemas de acondicionamiento de aire Planeacioacuten para la produccioacuten de bienes Anaacutelisis financiero de sistemas econoacutemicos Evaluacioacuten de sistemas taacutecticos o de defensa militar La simulacioacuten se utiliza en la etapa de disentildeo para auxiliar en el logro o mejoramiento de un proceso o disentildeo o bien a un sistema ya existente para explorar algunas modificaciones Se recomienda la aplicacioacuten de la simulacioacuten a sistemas ya existentes cuando existe alguacuten problema de operacioacuten o bien cuando se requiere llevar a cabo una mejora en el comportamiento El efecto que sobre el sistema ocurre cuando se cambia alguno de sus componentes se puede examinar antes de que ocurra el cambio fiacutesico en la planta para asegurar que el problema de operacioacuten se soluciona o bien para determinar el medio maacutes econoacutemico para lograr la mejora deseada Todos los modelos de simulacioacuten se llaman modelos de entrada-salida Es decir producen la salida del sistema si se les da la entrada a sus subsistemas interactuantes Por tanto los modelos de simulacioacuten se ldquocorrenrdquo en vez de ldquoresolverserdquo a fin de obtener la informacioacuten o los resultados deseados Son incapaces de generar una solucioacuten por si mismos en el sentido de los modelos analiacuteticos solos pueden servir como herramienta para el anaacutelisis del comportamiento de un sistema en condiciones especificadas por el experimentador Por tanto la simulacioacuten es una teoriacutea si no una metodologiacutea de resolucioacuten de problemas Ademaacutes la simulacioacuten es solo uno de varios planteamientos valiosos para resolver problemas que estaacuten disponibles para el anaacutelisis de sistemas Pero iquestCuaacutendo es uacutetil utilizar la simulacioacuten Cuando existan una o maacutes de las siguientes condiciones 1- No existe una completa formulacioacuten matemaacutetica del problema o los meacutetodos analiacuteticos para resolver el modelo
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
3
3141 Generacioacuten de variables aleatorias discretas3142 Distribuciones Poisson3143 Binomial3144 Geomeacutetrica3145 Generacioacuten de variables aleatorias continuas3146 Distribucioacuten uniforme3147 Exponencial3148 Normal3149 Erlang31410 Gamma31411 Beta31412 Triangular
315 Distribuciones empiacutericas de probabilidad316 Simulacioacuten de procesos aleatorios manuales317 Sistemas productivos318 Calidad319 Inventarios3110 Econoacutemicos
4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS41 Lenguajes de simulacioacuten y simuladores
411 Caracteriacutesticas412 Aplicacioacuten y uso lenguajes
4121 SLAM4122 ECSL4123 SIMAN4124 GPSS
413 Simuladores4131 PROMODEL4132 TAYLOR ED4133 ARENA4134 WITNESS
42 Aprendizaje y uso de un simulador421 Caracteriacutesticas del Software422 Elementos del modelo423 Menuacutes principales424 Construccioacuten del modelo425 El uso del simulador de problemas aplicados a servicios426 Sistemas productivos427 Calidad 428 Inventarios429 Econoacutemicos
Simulacioacuten de Eventos
CAP 2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS
Los nuacutemeros aleatorios son elementos que se propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja predictibilidad
Un problema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros uniformemente distribuidos en un intervalo [01]Las diferentes posibilidades para resolver dicho problema son
i) Buscar en tablas de nuacutemeros aleatorios pubii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlosiv) Mediante algoritmos de generacioacuten de nuacutemeros
Las principales ventajas de los generadores de nuacutemeros aleatorios son
- Rapidez - Comodidad- Reproducibilidad- Portabilidad
Y la desventaja fundamental
- Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con opdeterministas Solo podemos obtener secuencias algunos criterios de aleatoriedad adecuados
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas caracteriacutesticas son
1 Uniformemente distribuidos 2 Estadiacutesticamente independientes 3 Su media debe ser estadiacutesticamente igual a 12 4 Su varianza debe ser estadiacutesticamente igual a 112 5 Su periodo o ciclo de vida debe ser largo 6 Deben ser generados a traveacutes7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la computadora
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan enteros Ni entre 0 y M - 1 y xi = Ni M
En general los algoritmos utilizan relaciones de recurrencia del tipo
En el caso de recurrencia simple o bien
NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS
Los nuacutemeros aleatorios son elementos que se emplean dentro del proceso de simulacioacuten con el propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja
oblema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros uniformemente distribuidos en un intervalo [01]
diferentes posibilidades para resolver dicho problema son
i) Buscar en tablas de nuacutemeros aleatorios publicadas (libros internet)ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos
algoritmos de generacioacuten de nuacutemeros aleatorios
los generadores de nuacutemeros aleatorios son
Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con opdeterministas Solo podemos obtener secuencias pseudo-aleatorias que a su vez satisfacen algunos criterios de aleatoriedad adecuados
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas
2 Estadiacutesticamente independientes 3 Su media debe ser estadiacutesticamente igual a 12 4 Su varianza debe ser estadiacutesticamente igual a 112 5 Su periodo o ciclo de vida debe ser largo 6 Deben ser generados a traveacutes de un meacutetodo raacutepido 7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan Ni M da valores reales en el intervalo [01)
En general los algoritmos utilizan relaciones de recurrencia del tipo
el caso de recurrencia simple o bien
LII 210
4
emplean dentro del proceso de simulacioacuten con el propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja
oblema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros
ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos
Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con operaciones que a su vez satisfacen
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas
7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan
Simulacioacuten de Eventos
Para el caso de una recurrencia de
Se necesitaraacute dar un valor inicialorden )
Generadores
Un Generador de nuacutemeros aleatoriossiacutembolos para un programa softwareparezcan ser nuacutemeros aleatorios
La mayor parte de los generadores calcula (o introduce internamente) un valor X0 que llamaremos generando X1 X2 X3
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia
El algoritmo baacutesico es el meacutetodo congruencialel siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten en7) es 2
Tablas
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo columnas hacia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
Para ser presentadas estas cifras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte de la tabla
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
Un nuacutemero pseudo-aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
el caso de una recurrencia de orden
valor inicial para comenzar el algoritmo ( valores para recurrencias de
Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o software en una forma que carezca de un patroacuten evidente y que asiacute
aleatorios
La mayor parte de los generadores de nuacutemeros aleatorios son en realidad calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores
meacutetodo congruencial que genera valores en el intervalo el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo-aleatorios no muestran
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
LII 210
5
valores para recurrencias de
es un componente o funcionalidad que crea nuacutemeros o en una forma que carezca de un patroacuten evidente y que asiacute
de nuacutemeros aleatorios son en realidad pseudoaleatorios se y a partir de eacutel se van
de valores
que genera valores en el intervalo [01) mediante el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas propiedades para obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(N-1) se generan X1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N)
tera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuos de una poblacioacuten
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
aleatorios no muestran
a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
Simulacioacuten de Eventos LII 210
6
Los mecanismos de generacioacuten de nuacutemeros aleatorios que se utilizan en la mayoriacutea de los
sistemas informaacuteticos son en realidad procesos pseudo-aleatorios
Una Sucesioacuten de nuacutemeros pseudoaleatorios es una sucesioacuten de nuacutemeros que ha sido obtenida
mediante un proceso aritmeacutetico definido pero que es una secuencia de nuacutemeros aleatorios
efectiva para el propoacutesito para el que se la requiere
Si bien una sucesioacuten de nuacutemeros pseudoaleatorios parece generalmente no obedecer a ninguacuten
patroacuten o ley de formacioacuten todo generador de nuacutemeros pseudoaleatorios con un estado interior
finito se repetiraacute luego de una larga sucesioacuten de nuacutemeros
Teacutecnicas para generar nuacutemeros pseudoaleatorios
Meacutetodos de centros al cuadrado
Consiste en que cada nuacutemero de una sucesioacuten es producido tomando los diacutegitos medios de un nuacutemero obtenido mediante la elevacioacuten al cuadrado
P1 Obtener semilla (valores iniciales 445)P2 Aplicacioacuten de Algoritmos recursivos (elevar al cuadrado)P3 Validacioacuten del conjunto de datos generados
Ejemplo Consideremos la semilla 445
X X2 Ndeg Aleatorio
445 1| 9802 | 5 098029802 96| 0792 | 04 00792792 6 | 2726 | 4 027262726
Problemasbull Tendencia a degenerar a cero
Meacutetodos de congruencia
Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursivaZi = (a Zi-1 + b) (mod m)
m = modulo a= multiplicador b = sesgo Zc = semilla o valor inicial
Todos enteros no negativos Ademaacutes 0 lt m a lt m b lt m Z0 lt m
Simulacioacuten de Eventos LII 210
7
Para obtener Zi dividir a Zi-1 + b por m y dejar que Zi sea el resto de esta divisioacuten
Observacioacuten
1- Cuando b=0 el generador se denomina Generador congruencial multiplicativo2- Cuando b0 el generador se denomina Generador congruencial mixto3- A pesar de la simplicidad una adecuada eleccioacuten de los paraacutemetros de ldquoa b y mrdquo permite
obtener de manera eficiente una larga e impredecible sucesioacuten de nuacutemeros como para considerarse ldquoaleatoriardquo
m = 1 6 i Zi U ia = 5 0 7c = 3 1 6 0 3 7 5
Zo = 7 2 1 0 0 6 2 53 8 0 54 1 1 0 6 8 7 55 1 0 0 6 2 56 5 0 3 1 2 57 1 2 0 7 58 1 5 0 9 3 7 59 1 4 0 8 7 5
1 0 9 0 5 6 2 51 1 0 01 2 3 0 1 8 7 51 3 2 0 1 2 51 4 1 3 0 8 1 2 51 5 4 0 2 51 6 7 0 4 3 7 51 7 6 0 3 7 51 8 1 0 0 6 2 51 9 8 0 52 0 1 1 0 6 8 7 5
Paraacutemetrosa b m xo6 0 13 17 0 13 105 0 13 57 0 11 56 0 11 3
Caso Salidas1 6 10 8 9 2 12 7 3 5 4 11 1 6 102 5 9 11 12 6 3 8 4 2 1 7 10 5 93 12 8 1 5 12 8 1 5 12 8 1 5 12 84 2 3 10 4 6 9 8 1 7 5 2 3 10 45 7 9 10 5 8 4 2 1 6 3 7 9 10 4
5
Caso1234
Simulacioacuten de Eventos LII 210
8
Algunas observaciones de las salidas de los generadores congruenciales
i) Un generador congruencial tiene ciclos ii) La longitud del ciclo depende de la seleccioacuten de los paraacutemetros (ver caso 1) y 3) )iii) Dentro de selecciones de paraacutemetros que conducen a la misma longitud algunas salidas parecen maacutes aleatorias que otras
Pruebas de aleatoriedad
- Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas
Prueba de frecuencia Pruebas de series Prueba de autocorrelacioacuten Prueba de saltos Prueba de poacuteker
- Cuando se prueba la uniformidad las hipoacutetesis son H0 Ri ~ U[01] H1 Ri ne U[01] La hipoacutetesis nula supone que la secuencia de nuacutemeros obtenidos estaacute distribuida
uniformemente en el intervalo [01]
Meacutetodo de Montecarlo
El meacutetodo de Monte Carlo es un meacutetodo no deterministico o estadiacutestico numeacuterico usado para aproximar expresiones matemaacuteticas complejas y costosas de evaluar con exactitud El meacutetodo se llamoacute asiacute en referencia al Casino de Montecarlo (Principado de Moacutenaco) por ser ldquola capital del juego de azarrdquo al ser la ruleta un generador simple de nuacutemeros aleatorios El nombre y el desarrollo sistemaacutetico de los meacutetodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora
El uso de los meacutetodos de Monte Carlo como herramienta de investigacioacuten proviene del trabajo realizado en el desarrollo de la bomba atoacutemica durante la segunda guerra mundial en el Laboratorio Nacional de Los Aacutelamos en EEUU Este trabajo conllevaba la simulacioacuten de problemas probabiliacutesticos de hidrodinaacutemica concernientes a la difusioacuten de neutrones en el material de fusioacuten la cual posee un comportamiento eminentemente aleatorio En la actualidad es parte fundamental de los algoritmos de trazado de rayos para la generacioacuten de imaacutegenes sinteacuteticas
Monte Carlo
En la primera etapa de estas investigaciones John von Neumann y Stanislaw Ulam refinaron esta ruleta rusa y los meacutetodos de divisioacuten de tareas Sin embargo el desarrollo sistemaacutetico de estas ideas tuvo que esperar al trabajo de Harris y Herman Kahn en 1948 Aproximadamente en el mismo antildeo Enrico Fermi Metropolis y Ulam obtuvieron estimadores para los valores caracteriacutesticos de la ecuacioacuten de Schroumldinger para la captura de neutrones a nivel nuclear usando este meacutetodo
El meacutetodo de Monte Carlo proporciona soluciones aproximadas a una gran variedad de problemas matemaacuteticos posibilitando la realizacioacuten de experimentos con muestreos de nuacutemeros
Simulacioacuten de Eventos LII 210
9
pseudoaleatorios en una computadora El meacutetodo es aplicable a cualquier tipo de problema ya sea estocaacutestico o determinista A diferencia de los meacutetodos numeacutericos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solucioacuten aproximada el
meacutetodo de Monte Carlo tiene un error absoluto de la estimacioacuten que decrece como en virtud del teorema del liacutemite central
Simulacioacuten de procesos aleatorios
La teacutecnica de simulacioacuten es desde hace mucho tiempo una herramienta importante para el disentildeador Durante muchos antildeos se han usado modelos a escala de maacutequinas para simular la distribucioacuten de planta La simulacioacuten comuacuten se uso inicialmente en la investigacioacuten de operaciones surgioacute por primera vez en el trabajo de John Von Neumann y Stanislaw Ulam en los uacuteltimos antildeos de la deacutecada de los 40 Quienes a traveacutes del anaacutelisis de Montecarlo en conjunto con una teacutecnica matemaacutetica resolvieron problema relacionados con las barreras nucleares de proteccioacuten demasiado costosas para someterlas a pruebas de experimentacioacuten o demasiado complejas para realizar sus anaacutelisis Un el advenimiento de las computadoras en los primeros antildeos de la deacutecada de los 50 la simulacioacuten experimentoacute un avance substancial En la actualidad se resuelven incontables problemas de negocios puesto que la simulacioacuten en la computadora es un meacutetodo econoacutemico y raacutepido para efectuar la vasta cantidad de caacutelculos que se requieren
Las aacutereas de aplicacioacuten de la simulacioacuten son muy amplias numerosas y diversas basta mencionar soacutelo algunas de ellas Anaacutelisis del impacto ambiental causado por diversas fuentes Anaacutelisis y disentildeo de sistemas de manufactura Anaacutelisis y disentildeo de sistemas de comunicaciones Evaluacioacuten del disentildeo de organismos prestadores de servicios puacuteblicos (por ejemplo hospitales oficinas de correos teleacutegrafos casas de cambio etc) Anaacutelisis de sistemas de transporte terrestre mariacutetimo o por aire Anaacutelisis de grandes equipos de coacutemputo Anaacutelisis de un departamento dentro de una faacutebrica Adiestramiento de operadores (centrales carboeleacutectricas termoeleacutectricas nucleoeleacutectricas aviones etc)Anaacutelisis de sistemas de acondicionamiento de aire Planeacioacuten para la produccioacuten de bienes Anaacutelisis financiero de sistemas econoacutemicos Evaluacioacuten de sistemas taacutecticos o de defensa militar La simulacioacuten se utiliza en la etapa de disentildeo para auxiliar en el logro o mejoramiento de un proceso o disentildeo o bien a un sistema ya existente para explorar algunas modificaciones Se recomienda la aplicacioacuten de la simulacioacuten a sistemas ya existentes cuando existe alguacuten problema de operacioacuten o bien cuando se requiere llevar a cabo una mejora en el comportamiento El efecto que sobre el sistema ocurre cuando se cambia alguno de sus componentes se puede examinar antes de que ocurra el cambio fiacutesico en la planta para asegurar que el problema de operacioacuten se soluciona o bien para determinar el medio maacutes econoacutemico para lograr la mejora deseada Todos los modelos de simulacioacuten se llaman modelos de entrada-salida Es decir producen la salida del sistema si se les da la entrada a sus subsistemas interactuantes Por tanto los modelos de simulacioacuten se ldquocorrenrdquo en vez de ldquoresolverserdquo a fin de obtener la informacioacuten o los resultados deseados Son incapaces de generar una solucioacuten por si mismos en el sentido de los modelos analiacuteticos solos pueden servir como herramienta para el anaacutelisis del comportamiento de un sistema en condiciones especificadas por el experimentador Por tanto la simulacioacuten es una teoriacutea si no una metodologiacutea de resolucioacuten de problemas Ademaacutes la simulacioacuten es solo uno de varios planteamientos valiosos para resolver problemas que estaacuten disponibles para el anaacutelisis de sistemas Pero iquestCuaacutendo es uacutetil utilizar la simulacioacuten Cuando existan una o maacutes de las siguientes condiciones 1- No existe una completa formulacioacuten matemaacutetica del problema o los meacutetodos analiacuteticos para resolver el modelo
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos
CAP 2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS
Los nuacutemeros aleatorios son elementos que se propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja predictibilidad
Un problema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros uniformemente distribuidos en un intervalo [01]Las diferentes posibilidades para resolver dicho problema son
i) Buscar en tablas de nuacutemeros aleatorios pubii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlosiv) Mediante algoritmos de generacioacuten de nuacutemeros
Las principales ventajas de los generadores de nuacutemeros aleatorios son
- Rapidez - Comodidad- Reproducibilidad- Portabilidad
Y la desventaja fundamental
- Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con opdeterministas Solo podemos obtener secuencias algunos criterios de aleatoriedad adecuados
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas caracteriacutesticas son
1 Uniformemente distribuidos 2 Estadiacutesticamente independientes 3 Su media debe ser estadiacutesticamente igual a 12 4 Su varianza debe ser estadiacutesticamente igual a 112 5 Su periodo o ciclo de vida debe ser largo 6 Deben ser generados a traveacutes7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la computadora
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan enteros Ni entre 0 y M - 1 y xi = Ni M
En general los algoritmos utilizan relaciones de recurrencia del tipo
En el caso de recurrencia simple o bien
NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS
Los nuacutemeros aleatorios son elementos que se emplean dentro del proceso de simulacioacuten con el propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja
oblema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros uniformemente distribuidos en un intervalo [01]
diferentes posibilidades para resolver dicho problema son
i) Buscar en tablas de nuacutemeros aleatorios publicadas (libros internet)ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos
algoritmos de generacioacuten de nuacutemeros aleatorios
los generadores de nuacutemeros aleatorios son
Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con opdeterministas Solo podemos obtener secuencias pseudo-aleatorias que a su vez satisfacen algunos criterios de aleatoriedad adecuados
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas
2 Estadiacutesticamente independientes 3 Su media debe ser estadiacutesticamente igual a 12 4 Su varianza debe ser estadiacutesticamente igual a 112 5 Su periodo o ciclo de vida debe ser largo 6 Deben ser generados a traveacutes de un meacutetodo raacutepido 7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan Ni M da valores reales en el intervalo [01)
En general los algoritmos utilizan relaciones de recurrencia del tipo
el caso de recurrencia simple o bien
LII 210
4
emplean dentro del proceso de simulacioacuten con el propoacutesito de evaluar el grado de respuesta de un sistema a los eventos fortuitos o de baja
oblema baacutesico que nos encontramos habitualmente es el de obtener secuencias de nuacutemeros
ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectricoiii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos
Las secuencias obtenidas no son realmente aleatorias ya que se obtienen con operaciones que a su vez satisfacen
Los nuacutemeros generados deben cumplir ciertas caracteriacutesticas para que sean vaacutelidos Dichas
7 Generados a traveacutes de un meacutetodo que no requiera mucha capacidad de almacenamiento de la
Normalmente se utilizan nuacutemeros enteros ya que su aritmeacutetica es exacta y raacutepida Se generan
Simulacioacuten de Eventos
Para el caso de una recurrencia de
Se necesitaraacute dar un valor inicialorden )
Generadores
Un Generador de nuacutemeros aleatoriossiacutembolos para un programa softwareparezcan ser nuacutemeros aleatorios
La mayor parte de los generadores calcula (o introduce internamente) un valor X0 que llamaremos generando X1 X2 X3
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia
El algoritmo baacutesico es el meacutetodo congruencialel siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten en7) es 2
Tablas
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo columnas hacia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
Para ser presentadas estas cifras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte de la tabla
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
Un nuacutemero pseudo-aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
el caso de una recurrencia de orden
valor inicial para comenzar el algoritmo ( valores para recurrencias de
Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o software en una forma que carezca de un patroacuten evidente y que asiacute
aleatorios
La mayor parte de los generadores de nuacutemeros aleatorios son en realidad calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores
meacutetodo congruencial que genera valores en el intervalo el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo-aleatorios no muestran
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
LII 210
5
valores para recurrencias de
es un componente o funcionalidad que crea nuacutemeros o en una forma que carezca de un patroacuten evidente y que asiacute
de nuacutemeros aleatorios son en realidad pseudoaleatorios se y a partir de eacutel se van
de valores
que genera valores en el intervalo [01) mediante el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas propiedades para obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(N-1) se generan X1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N)
tera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuos de una poblacioacuten
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
aleatorios no muestran
a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
Simulacioacuten de Eventos LII 210
6
Los mecanismos de generacioacuten de nuacutemeros aleatorios que se utilizan en la mayoriacutea de los
sistemas informaacuteticos son en realidad procesos pseudo-aleatorios
Una Sucesioacuten de nuacutemeros pseudoaleatorios es una sucesioacuten de nuacutemeros que ha sido obtenida
mediante un proceso aritmeacutetico definido pero que es una secuencia de nuacutemeros aleatorios
efectiva para el propoacutesito para el que se la requiere
Si bien una sucesioacuten de nuacutemeros pseudoaleatorios parece generalmente no obedecer a ninguacuten
patroacuten o ley de formacioacuten todo generador de nuacutemeros pseudoaleatorios con un estado interior
finito se repetiraacute luego de una larga sucesioacuten de nuacutemeros
Teacutecnicas para generar nuacutemeros pseudoaleatorios
Meacutetodos de centros al cuadrado
Consiste en que cada nuacutemero de una sucesioacuten es producido tomando los diacutegitos medios de un nuacutemero obtenido mediante la elevacioacuten al cuadrado
P1 Obtener semilla (valores iniciales 445)P2 Aplicacioacuten de Algoritmos recursivos (elevar al cuadrado)P3 Validacioacuten del conjunto de datos generados
Ejemplo Consideremos la semilla 445
X X2 Ndeg Aleatorio
445 1| 9802 | 5 098029802 96| 0792 | 04 00792792 6 | 2726 | 4 027262726
Problemasbull Tendencia a degenerar a cero
Meacutetodos de congruencia
Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursivaZi = (a Zi-1 + b) (mod m)
m = modulo a= multiplicador b = sesgo Zc = semilla o valor inicial
Todos enteros no negativos Ademaacutes 0 lt m a lt m b lt m Z0 lt m
Simulacioacuten de Eventos LII 210
7
Para obtener Zi dividir a Zi-1 + b por m y dejar que Zi sea el resto de esta divisioacuten
Observacioacuten
1- Cuando b=0 el generador se denomina Generador congruencial multiplicativo2- Cuando b0 el generador se denomina Generador congruencial mixto3- A pesar de la simplicidad una adecuada eleccioacuten de los paraacutemetros de ldquoa b y mrdquo permite
obtener de manera eficiente una larga e impredecible sucesioacuten de nuacutemeros como para considerarse ldquoaleatoriardquo
m = 1 6 i Zi U ia = 5 0 7c = 3 1 6 0 3 7 5
Zo = 7 2 1 0 0 6 2 53 8 0 54 1 1 0 6 8 7 55 1 0 0 6 2 56 5 0 3 1 2 57 1 2 0 7 58 1 5 0 9 3 7 59 1 4 0 8 7 5
1 0 9 0 5 6 2 51 1 0 01 2 3 0 1 8 7 51 3 2 0 1 2 51 4 1 3 0 8 1 2 51 5 4 0 2 51 6 7 0 4 3 7 51 7 6 0 3 7 51 8 1 0 0 6 2 51 9 8 0 52 0 1 1 0 6 8 7 5
Paraacutemetrosa b m xo6 0 13 17 0 13 105 0 13 57 0 11 56 0 11 3
Caso Salidas1 6 10 8 9 2 12 7 3 5 4 11 1 6 102 5 9 11 12 6 3 8 4 2 1 7 10 5 93 12 8 1 5 12 8 1 5 12 8 1 5 12 84 2 3 10 4 6 9 8 1 7 5 2 3 10 45 7 9 10 5 8 4 2 1 6 3 7 9 10 4
5
Caso1234
Simulacioacuten de Eventos LII 210
8
Algunas observaciones de las salidas de los generadores congruenciales
i) Un generador congruencial tiene ciclos ii) La longitud del ciclo depende de la seleccioacuten de los paraacutemetros (ver caso 1) y 3) )iii) Dentro de selecciones de paraacutemetros que conducen a la misma longitud algunas salidas parecen maacutes aleatorias que otras
Pruebas de aleatoriedad
- Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas
Prueba de frecuencia Pruebas de series Prueba de autocorrelacioacuten Prueba de saltos Prueba de poacuteker
- Cuando se prueba la uniformidad las hipoacutetesis son H0 Ri ~ U[01] H1 Ri ne U[01] La hipoacutetesis nula supone que la secuencia de nuacutemeros obtenidos estaacute distribuida
uniformemente en el intervalo [01]
Meacutetodo de Montecarlo
El meacutetodo de Monte Carlo es un meacutetodo no deterministico o estadiacutestico numeacuterico usado para aproximar expresiones matemaacuteticas complejas y costosas de evaluar con exactitud El meacutetodo se llamoacute asiacute en referencia al Casino de Montecarlo (Principado de Moacutenaco) por ser ldquola capital del juego de azarrdquo al ser la ruleta un generador simple de nuacutemeros aleatorios El nombre y el desarrollo sistemaacutetico de los meacutetodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora
El uso de los meacutetodos de Monte Carlo como herramienta de investigacioacuten proviene del trabajo realizado en el desarrollo de la bomba atoacutemica durante la segunda guerra mundial en el Laboratorio Nacional de Los Aacutelamos en EEUU Este trabajo conllevaba la simulacioacuten de problemas probabiliacutesticos de hidrodinaacutemica concernientes a la difusioacuten de neutrones en el material de fusioacuten la cual posee un comportamiento eminentemente aleatorio En la actualidad es parte fundamental de los algoritmos de trazado de rayos para la generacioacuten de imaacutegenes sinteacuteticas
Monte Carlo
En la primera etapa de estas investigaciones John von Neumann y Stanislaw Ulam refinaron esta ruleta rusa y los meacutetodos de divisioacuten de tareas Sin embargo el desarrollo sistemaacutetico de estas ideas tuvo que esperar al trabajo de Harris y Herman Kahn en 1948 Aproximadamente en el mismo antildeo Enrico Fermi Metropolis y Ulam obtuvieron estimadores para los valores caracteriacutesticos de la ecuacioacuten de Schroumldinger para la captura de neutrones a nivel nuclear usando este meacutetodo
El meacutetodo de Monte Carlo proporciona soluciones aproximadas a una gran variedad de problemas matemaacuteticos posibilitando la realizacioacuten de experimentos con muestreos de nuacutemeros
Simulacioacuten de Eventos LII 210
9
pseudoaleatorios en una computadora El meacutetodo es aplicable a cualquier tipo de problema ya sea estocaacutestico o determinista A diferencia de los meacutetodos numeacutericos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solucioacuten aproximada el
meacutetodo de Monte Carlo tiene un error absoluto de la estimacioacuten que decrece como en virtud del teorema del liacutemite central
Simulacioacuten de procesos aleatorios
La teacutecnica de simulacioacuten es desde hace mucho tiempo una herramienta importante para el disentildeador Durante muchos antildeos se han usado modelos a escala de maacutequinas para simular la distribucioacuten de planta La simulacioacuten comuacuten se uso inicialmente en la investigacioacuten de operaciones surgioacute por primera vez en el trabajo de John Von Neumann y Stanislaw Ulam en los uacuteltimos antildeos de la deacutecada de los 40 Quienes a traveacutes del anaacutelisis de Montecarlo en conjunto con una teacutecnica matemaacutetica resolvieron problema relacionados con las barreras nucleares de proteccioacuten demasiado costosas para someterlas a pruebas de experimentacioacuten o demasiado complejas para realizar sus anaacutelisis Un el advenimiento de las computadoras en los primeros antildeos de la deacutecada de los 50 la simulacioacuten experimentoacute un avance substancial En la actualidad se resuelven incontables problemas de negocios puesto que la simulacioacuten en la computadora es un meacutetodo econoacutemico y raacutepido para efectuar la vasta cantidad de caacutelculos que se requieren
Las aacutereas de aplicacioacuten de la simulacioacuten son muy amplias numerosas y diversas basta mencionar soacutelo algunas de ellas Anaacutelisis del impacto ambiental causado por diversas fuentes Anaacutelisis y disentildeo de sistemas de manufactura Anaacutelisis y disentildeo de sistemas de comunicaciones Evaluacioacuten del disentildeo de organismos prestadores de servicios puacuteblicos (por ejemplo hospitales oficinas de correos teleacutegrafos casas de cambio etc) Anaacutelisis de sistemas de transporte terrestre mariacutetimo o por aire Anaacutelisis de grandes equipos de coacutemputo Anaacutelisis de un departamento dentro de una faacutebrica Adiestramiento de operadores (centrales carboeleacutectricas termoeleacutectricas nucleoeleacutectricas aviones etc)Anaacutelisis de sistemas de acondicionamiento de aire Planeacioacuten para la produccioacuten de bienes Anaacutelisis financiero de sistemas econoacutemicos Evaluacioacuten de sistemas taacutecticos o de defensa militar La simulacioacuten se utiliza en la etapa de disentildeo para auxiliar en el logro o mejoramiento de un proceso o disentildeo o bien a un sistema ya existente para explorar algunas modificaciones Se recomienda la aplicacioacuten de la simulacioacuten a sistemas ya existentes cuando existe alguacuten problema de operacioacuten o bien cuando se requiere llevar a cabo una mejora en el comportamiento El efecto que sobre el sistema ocurre cuando se cambia alguno de sus componentes se puede examinar antes de que ocurra el cambio fiacutesico en la planta para asegurar que el problema de operacioacuten se soluciona o bien para determinar el medio maacutes econoacutemico para lograr la mejora deseada Todos los modelos de simulacioacuten se llaman modelos de entrada-salida Es decir producen la salida del sistema si se les da la entrada a sus subsistemas interactuantes Por tanto los modelos de simulacioacuten se ldquocorrenrdquo en vez de ldquoresolverserdquo a fin de obtener la informacioacuten o los resultados deseados Son incapaces de generar una solucioacuten por si mismos en el sentido de los modelos analiacuteticos solos pueden servir como herramienta para el anaacutelisis del comportamiento de un sistema en condiciones especificadas por el experimentador Por tanto la simulacioacuten es una teoriacutea si no una metodologiacutea de resolucioacuten de problemas Ademaacutes la simulacioacuten es solo uno de varios planteamientos valiosos para resolver problemas que estaacuten disponibles para el anaacutelisis de sistemas Pero iquestCuaacutendo es uacutetil utilizar la simulacioacuten Cuando existan una o maacutes de las siguientes condiciones 1- No existe una completa formulacioacuten matemaacutetica del problema o los meacutetodos analiacuteticos para resolver el modelo
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos
Para el caso de una recurrencia de
Se necesitaraacute dar un valor inicialorden )
Generadores
Un Generador de nuacutemeros aleatoriossiacutembolos para un programa softwareparezcan ser nuacutemeros aleatorios
La mayor parte de los generadores calcula (o introduce internamente) un valor X0 que llamaremos generando X1 X2 X3
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia
El algoritmo baacutesico es el meacutetodo congruencialel siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten en7) es 2
Tablas
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo columnas hacia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
Para ser presentadas estas cifras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte de la tabla
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
Un nuacutemero pseudo-aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
el caso de una recurrencia de orden
valor inicial para comenzar el algoritmo ( valores para recurrencias de
Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o software en una forma que carezca de un patroacuten evidente y que asiacute
aleatorios
La mayor parte de los generadores de nuacutemeros aleatorios son en realidad calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van
Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores
meacutetodo congruencial que genera valores en el intervalo el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(NX1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos nuacutemeros tomados de alguna posicioacuten o multiplicarlos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuoconocida que deben formar parte de una muestra
Nuacutemeros pseudoaleatorios propiedades
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
al azar pero no lo hace realmente Las secuencias de nuacutemeros pseudo-aleatorios no muestran
ninguacuten patroacuten o regularidad aparente desde un punto de vista estadiacutestico a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
iniacuteciales producen siempre el mismo resultado
LII 210
5
valores para recurrencias de
es un componente o funcionalidad que crea nuacutemeros o en una forma que carezca de un patroacuten evidente y que asiacute
de nuacutemeros aleatorios son en realidad pseudoaleatorios se y a partir de eacutel se van
de valores
que genera valores en el intervalo [01) mediante el siguiente esquema Se fijan A B enteros positivos (deben tener ciertas propiedades para obtener un buen generador) y a partir de una semilla X0 en el conjunto 01(N-1) se generan X1 = AX0+B (mod N) X2 = AX1+B (mod N) X3 = AX2+B (mod N) X(k+1) = AXk+B (mod N)
tera de AX+B entre N Por ejemplo 16 (mod
Es un conjunto de cifras entre 0 y 9 cuyo orden no obedece ninguna regla de formacioacuten ellas se pueden leer individualmente o en grupos y en cualquier orden en columnas hacia abajo
cia arriba en fila diagonalmente si se desea formar nuacutemeros aleatorios en un determinado rango basta con calcular la proporcioacuten otra forma de usarlo es sumando dos
ras se agrupan en nuacutemeros de 4 diacutegitos formando bloques de 5 filas y 10 columnas facilitando de esta forma su lectura que puede iniciarse desde cualquier parte
Una tabla de nuacutemeros aleatorios es uacutetil para seleccionar al azar los individuos de una poblacioacuten
aleatorio es un nuacutemero generado en un proceso que parece producir nuacutemeros
aleatorios no muestran
a pesar de haber sido
generadas por un algoritmo completamente determinista en el que las mismas condiciones
Simulacioacuten de Eventos LII 210
6
Los mecanismos de generacioacuten de nuacutemeros aleatorios que se utilizan en la mayoriacutea de los
sistemas informaacuteticos son en realidad procesos pseudo-aleatorios
Una Sucesioacuten de nuacutemeros pseudoaleatorios es una sucesioacuten de nuacutemeros que ha sido obtenida
mediante un proceso aritmeacutetico definido pero que es una secuencia de nuacutemeros aleatorios
efectiva para el propoacutesito para el que se la requiere
Si bien una sucesioacuten de nuacutemeros pseudoaleatorios parece generalmente no obedecer a ninguacuten
patroacuten o ley de formacioacuten todo generador de nuacutemeros pseudoaleatorios con un estado interior
finito se repetiraacute luego de una larga sucesioacuten de nuacutemeros
Teacutecnicas para generar nuacutemeros pseudoaleatorios
Meacutetodos de centros al cuadrado
Consiste en que cada nuacutemero de una sucesioacuten es producido tomando los diacutegitos medios de un nuacutemero obtenido mediante la elevacioacuten al cuadrado
P1 Obtener semilla (valores iniciales 445)P2 Aplicacioacuten de Algoritmos recursivos (elevar al cuadrado)P3 Validacioacuten del conjunto de datos generados
Ejemplo Consideremos la semilla 445
X X2 Ndeg Aleatorio
445 1| 9802 | 5 098029802 96| 0792 | 04 00792792 6 | 2726 | 4 027262726
Problemasbull Tendencia a degenerar a cero
Meacutetodos de congruencia
Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursivaZi = (a Zi-1 + b) (mod m)
m = modulo a= multiplicador b = sesgo Zc = semilla o valor inicial
Todos enteros no negativos Ademaacutes 0 lt m a lt m b lt m Z0 lt m
Simulacioacuten de Eventos LII 210
7
Para obtener Zi dividir a Zi-1 + b por m y dejar que Zi sea el resto de esta divisioacuten
Observacioacuten
1- Cuando b=0 el generador se denomina Generador congruencial multiplicativo2- Cuando b0 el generador se denomina Generador congruencial mixto3- A pesar de la simplicidad una adecuada eleccioacuten de los paraacutemetros de ldquoa b y mrdquo permite
obtener de manera eficiente una larga e impredecible sucesioacuten de nuacutemeros como para considerarse ldquoaleatoriardquo
m = 1 6 i Zi U ia = 5 0 7c = 3 1 6 0 3 7 5
Zo = 7 2 1 0 0 6 2 53 8 0 54 1 1 0 6 8 7 55 1 0 0 6 2 56 5 0 3 1 2 57 1 2 0 7 58 1 5 0 9 3 7 59 1 4 0 8 7 5
1 0 9 0 5 6 2 51 1 0 01 2 3 0 1 8 7 51 3 2 0 1 2 51 4 1 3 0 8 1 2 51 5 4 0 2 51 6 7 0 4 3 7 51 7 6 0 3 7 51 8 1 0 0 6 2 51 9 8 0 52 0 1 1 0 6 8 7 5
Paraacutemetrosa b m xo6 0 13 17 0 13 105 0 13 57 0 11 56 0 11 3
Caso Salidas1 6 10 8 9 2 12 7 3 5 4 11 1 6 102 5 9 11 12 6 3 8 4 2 1 7 10 5 93 12 8 1 5 12 8 1 5 12 8 1 5 12 84 2 3 10 4 6 9 8 1 7 5 2 3 10 45 7 9 10 5 8 4 2 1 6 3 7 9 10 4
5
Caso1234
Simulacioacuten de Eventos LII 210
8
Algunas observaciones de las salidas de los generadores congruenciales
i) Un generador congruencial tiene ciclos ii) La longitud del ciclo depende de la seleccioacuten de los paraacutemetros (ver caso 1) y 3) )iii) Dentro de selecciones de paraacutemetros que conducen a la misma longitud algunas salidas parecen maacutes aleatorias que otras
Pruebas de aleatoriedad
- Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas
Prueba de frecuencia Pruebas de series Prueba de autocorrelacioacuten Prueba de saltos Prueba de poacuteker
- Cuando se prueba la uniformidad las hipoacutetesis son H0 Ri ~ U[01] H1 Ri ne U[01] La hipoacutetesis nula supone que la secuencia de nuacutemeros obtenidos estaacute distribuida
uniformemente en el intervalo [01]
Meacutetodo de Montecarlo
El meacutetodo de Monte Carlo es un meacutetodo no deterministico o estadiacutestico numeacuterico usado para aproximar expresiones matemaacuteticas complejas y costosas de evaluar con exactitud El meacutetodo se llamoacute asiacute en referencia al Casino de Montecarlo (Principado de Moacutenaco) por ser ldquola capital del juego de azarrdquo al ser la ruleta un generador simple de nuacutemeros aleatorios El nombre y el desarrollo sistemaacutetico de los meacutetodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora
El uso de los meacutetodos de Monte Carlo como herramienta de investigacioacuten proviene del trabajo realizado en el desarrollo de la bomba atoacutemica durante la segunda guerra mundial en el Laboratorio Nacional de Los Aacutelamos en EEUU Este trabajo conllevaba la simulacioacuten de problemas probabiliacutesticos de hidrodinaacutemica concernientes a la difusioacuten de neutrones en el material de fusioacuten la cual posee un comportamiento eminentemente aleatorio En la actualidad es parte fundamental de los algoritmos de trazado de rayos para la generacioacuten de imaacutegenes sinteacuteticas
Monte Carlo
En la primera etapa de estas investigaciones John von Neumann y Stanislaw Ulam refinaron esta ruleta rusa y los meacutetodos de divisioacuten de tareas Sin embargo el desarrollo sistemaacutetico de estas ideas tuvo que esperar al trabajo de Harris y Herman Kahn en 1948 Aproximadamente en el mismo antildeo Enrico Fermi Metropolis y Ulam obtuvieron estimadores para los valores caracteriacutesticos de la ecuacioacuten de Schroumldinger para la captura de neutrones a nivel nuclear usando este meacutetodo
El meacutetodo de Monte Carlo proporciona soluciones aproximadas a una gran variedad de problemas matemaacuteticos posibilitando la realizacioacuten de experimentos con muestreos de nuacutemeros
Simulacioacuten de Eventos LII 210
9
pseudoaleatorios en una computadora El meacutetodo es aplicable a cualquier tipo de problema ya sea estocaacutestico o determinista A diferencia de los meacutetodos numeacutericos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solucioacuten aproximada el
meacutetodo de Monte Carlo tiene un error absoluto de la estimacioacuten que decrece como en virtud del teorema del liacutemite central
Simulacioacuten de procesos aleatorios
La teacutecnica de simulacioacuten es desde hace mucho tiempo una herramienta importante para el disentildeador Durante muchos antildeos se han usado modelos a escala de maacutequinas para simular la distribucioacuten de planta La simulacioacuten comuacuten se uso inicialmente en la investigacioacuten de operaciones surgioacute por primera vez en el trabajo de John Von Neumann y Stanislaw Ulam en los uacuteltimos antildeos de la deacutecada de los 40 Quienes a traveacutes del anaacutelisis de Montecarlo en conjunto con una teacutecnica matemaacutetica resolvieron problema relacionados con las barreras nucleares de proteccioacuten demasiado costosas para someterlas a pruebas de experimentacioacuten o demasiado complejas para realizar sus anaacutelisis Un el advenimiento de las computadoras en los primeros antildeos de la deacutecada de los 50 la simulacioacuten experimentoacute un avance substancial En la actualidad se resuelven incontables problemas de negocios puesto que la simulacioacuten en la computadora es un meacutetodo econoacutemico y raacutepido para efectuar la vasta cantidad de caacutelculos que se requieren
Las aacutereas de aplicacioacuten de la simulacioacuten son muy amplias numerosas y diversas basta mencionar soacutelo algunas de ellas Anaacutelisis del impacto ambiental causado por diversas fuentes Anaacutelisis y disentildeo de sistemas de manufactura Anaacutelisis y disentildeo de sistemas de comunicaciones Evaluacioacuten del disentildeo de organismos prestadores de servicios puacuteblicos (por ejemplo hospitales oficinas de correos teleacutegrafos casas de cambio etc) Anaacutelisis de sistemas de transporte terrestre mariacutetimo o por aire Anaacutelisis de grandes equipos de coacutemputo Anaacutelisis de un departamento dentro de una faacutebrica Adiestramiento de operadores (centrales carboeleacutectricas termoeleacutectricas nucleoeleacutectricas aviones etc)Anaacutelisis de sistemas de acondicionamiento de aire Planeacioacuten para la produccioacuten de bienes Anaacutelisis financiero de sistemas econoacutemicos Evaluacioacuten de sistemas taacutecticos o de defensa militar La simulacioacuten se utiliza en la etapa de disentildeo para auxiliar en el logro o mejoramiento de un proceso o disentildeo o bien a un sistema ya existente para explorar algunas modificaciones Se recomienda la aplicacioacuten de la simulacioacuten a sistemas ya existentes cuando existe alguacuten problema de operacioacuten o bien cuando se requiere llevar a cabo una mejora en el comportamiento El efecto que sobre el sistema ocurre cuando se cambia alguno de sus componentes se puede examinar antes de que ocurra el cambio fiacutesico en la planta para asegurar que el problema de operacioacuten se soluciona o bien para determinar el medio maacutes econoacutemico para lograr la mejora deseada Todos los modelos de simulacioacuten se llaman modelos de entrada-salida Es decir producen la salida del sistema si se les da la entrada a sus subsistemas interactuantes Por tanto los modelos de simulacioacuten se ldquocorrenrdquo en vez de ldquoresolverserdquo a fin de obtener la informacioacuten o los resultados deseados Son incapaces de generar una solucioacuten por si mismos en el sentido de los modelos analiacuteticos solos pueden servir como herramienta para el anaacutelisis del comportamiento de un sistema en condiciones especificadas por el experimentador Por tanto la simulacioacuten es una teoriacutea si no una metodologiacutea de resolucioacuten de problemas Ademaacutes la simulacioacuten es solo uno de varios planteamientos valiosos para resolver problemas que estaacuten disponibles para el anaacutelisis de sistemas Pero iquestCuaacutendo es uacutetil utilizar la simulacioacuten Cuando existan una o maacutes de las siguientes condiciones 1- No existe una completa formulacioacuten matemaacutetica del problema o los meacutetodos analiacuteticos para resolver el modelo
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
6
Los mecanismos de generacioacuten de nuacutemeros aleatorios que se utilizan en la mayoriacutea de los
sistemas informaacuteticos son en realidad procesos pseudo-aleatorios
Una Sucesioacuten de nuacutemeros pseudoaleatorios es una sucesioacuten de nuacutemeros que ha sido obtenida
mediante un proceso aritmeacutetico definido pero que es una secuencia de nuacutemeros aleatorios
efectiva para el propoacutesito para el que se la requiere
Si bien una sucesioacuten de nuacutemeros pseudoaleatorios parece generalmente no obedecer a ninguacuten
patroacuten o ley de formacioacuten todo generador de nuacutemeros pseudoaleatorios con un estado interior
finito se repetiraacute luego de una larga sucesioacuten de nuacutemeros
Teacutecnicas para generar nuacutemeros pseudoaleatorios
Meacutetodos de centros al cuadrado
Consiste en que cada nuacutemero de una sucesioacuten es producido tomando los diacutegitos medios de un nuacutemero obtenido mediante la elevacioacuten al cuadrado
P1 Obtener semilla (valores iniciales 445)P2 Aplicacioacuten de Algoritmos recursivos (elevar al cuadrado)P3 Validacioacuten del conjunto de datos generados
Ejemplo Consideremos la semilla 445
X X2 Ndeg Aleatorio
445 1| 9802 | 5 098029802 96| 0792 | 04 00792792 6 | 2726 | 4 027262726
Problemasbull Tendencia a degenerar a cero
Meacutetodos de congruencia
Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursivaZi = (a Zi-1 + b) (mod m)
m = modulo a= multiplicador b = sesgo Zc = semilla o valor inicial
Todos enteros no negativos Ademaacutes 0 lt m a lt m b lt m Z0 lt m
Simulacioacuten de Eventos LII 210
7
Para obtener Zi dividir a Zi-1 + b por m y dejar que Zi sea el resto de esta divisioacuten
Observacioacuten
1- Cuando b=0 el generador se denomina Generador congruencial multiplicativo2- Cuando b0 el generador se denomina Generador congruencial mixto3- A pesar de la simplicidad una adecuada eleccioacuten de los paraacutemetros de ldquoa b y mrdquo permite
obtener de manera eficiente una larga e impredecible sucesioacuten de nuacutemeros como para considerarse ldquoaleatoriardquo
m = 1 6 i Zi U ia = 5 0 7c = 3 1 6 0 3 7 5
Zo = 7 2 1 0 0 6 2 53 8 0 54 1 1 0 6 8 7 55 1 0 0 6 2 56 5 0 3 1 2 57 1 2 0 7 58 1 5 0 9 3 7 59 1 4 0 8 7 5
1 0 9 0 5 6 2 51 1 0 01 2 3 0 1 8 7 51 3 2 0 1 2 51 4 1 3 0 8 1 2 51 5 4 0 2 51 6 7 0 4 3 7 51 7 6 0 3 7 51 8 1 0 0 6 2 51 9 8 0 52 0 1 1 0 6 8 7 5
Paraacutemetrosa b m xo6 0 13 17 0 13 105 0 13 57 0 11 56 0 11 3
Caso Salidas1 6 10 8 9 2 12 7 3 5 4 11 1 6 102 5 9 11 12 6 3 8 4 2 1 7 10 5 93 12 8 1 5 12 8 1 5 12 8 1 5 12 84 2 3 10 4 6 9 8 1 7 5 2 3 10 45 7 9 10 5 8 4 2 1 6 3 7 9 10 4
5
Caso1234
Simulacioacuten de Eventos LII 210
8
Algunas observaciones de las salidas de los generadores congruenciales
i) Un generador congruencial tiene ciclos ii) La longitud del ciclo depende de la seleccioacuten de los paraacutemetros (ver caso 1) y 3) )iii) Dentro de selecciones de paraacutemetros que conducen a la misma longitud algunas salidas parecen maacutes aleatorias que otras
Pruebas de aleatoriedad
- Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas
Prueba de frecuencia Pruebas de series Prueba de autocorrelacioacuten Prueba de saltos Prueba de poacuteker
- Cuando se prueba la uniformidad las hipoacutetesis son H0 Ri ~ U[01] H1 Ri ne U[01] La hipoacutetesis nula supone que la secuencia de nuacutemeros obtenidos estaacute distribuida
uniformemente en el intervalo [01]
Meacutetodo de Montecarlo
El meacutetodo de Monte Carlo es un meacutetodo no deterministico o estadiacutestico numeacuterico usado para aproximar expresiones matemaacuteticas complejas y costosas de evaluar con exactitud El meacutetodo se llamoacute asiacute en referencia al Casino de Montecarlo (Principado de Moacutenaco) por ser ldquola capital del juego de azarrdquo al ser la ruleta un generador simple de nuacutemeros aleatorios El nombre y el desarrollo sistemaacutetico de los meacutetodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora
El uso de los meacutetodos de Monte Carlo como herramienta de investigacioacuten proviene del trabajo realizado en el desarrollo de la bomba atoacutemica durante la segunda guerra mundial en el Laboratorio Nacional de Los Aacutelamos en EEUU Este trabajo conllevaba la simulacioacuten de problemas probabiliacutesticos de hidrodinaacutemica concernientes a la difusioacuten de neutrones en el material de fusioacuten la cual posee un comportamiento eminentemente aleatorio En la actualidad es parte fundamental de los algoritmos de trazado de rayos para la generacioacuten de imaacutegenes sinteacuteticas
Monte Carlo
En la primera etapa de estas investigaciones John von Neumann y Stanislaw Ulam refinaron esta ruleta rusa y los meacutetodos de divisioacuten de tareas Sin embargo el desarrollo sistemaacutetico de estas ideas tuvo que esperar al trabajo de Harris y Herman Kahn en 1948 Aproximadamente en el mismo antildeo Enrico Fermi Metropolis y Ulam obtuvieron estimadores para los valores caracteriacutesticos de la ecuacioacuten de Schroumldinger para la captura de neutrones a nivel nuclear usando este meacutetodo
El meacutetodo de Monte Carlo proporciona soluciones aproximadas a una gran variedad de problemas matemaacuteticos posibilitando la realizacioacuten de experimentos con muestreos de nuacutemeros
Simulacioacuten de Eventos LII 210
9
pseudoaleatorios en una computadora El meacutetodo es aplicable a cualquier tipo de problema ya sea estocaacutestico o determinista A diferencia de los meacutetodos numeacutericos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solucioacuten aproximada el
meacutetodo de Monte Carlo tiene un error absoluto de la estimacioacuten que decrece como en virtud del teorema del liacutemite central
Simulacioacuten de procesos aleatorios
La teacutecnica de simulacioacuten es desde hace mucho tiempo una herramienta importante para el disentildeador Durante muchos antildeos se han usado modelos a escala de maacutequinas para simular la distribucioacuten de planta La simulacioacuten comuacuten se uso inicialmente en la investigacioacuten de operaciones surgioacute por primera vez en el trabajo de John Von Neumann y Stanislaw Ulam en los uacuteltimos antildeos de la deacutecada de los 40 Quienes a traveacutes del anaacutelisis de Montecarlo en conjunto con una teacutecnica matemaacutetica resolvieron problema relacionados con las barreras nucleares de proteccioacuten demasiado costosas para someterlas a pruebas de experimentacioacuten o demasiado complejas para realizar sus anaacutelisis Un el advenimiento de las computadoras en los primeros antildeos de la deacutecada de los 50 la simulacioacuten experimentoacute un avance substancial En la actualidad se resuelven incontables problemas de negocios puesto que la simulacioacuten en la computadora es un meacutetodo econoacutemico y raacutepido para efectuar la vasta cantidad de caacutelculos que se requieren
Las aacutereas de aplicacioacuten de la simulacioacuten son muy amplias numerosas y diversas basta mencionar soacutelo algunas de ellas Anaacutelisis del impacto ambiental causado por diversas fuentes Anaacutelisis y disentildeo de sistemas de manufactura Anaacutelisis y disentildeo de sistemas de comunicaciones Evaluacioacuten del disentildeo de organismos prestadores de servicios puacuteblicos (por ejemplo hospitales oficinas de correos teleacutegrafos casas de cambio etc) Anaacutelisis de sistemas de transporte terrestre mariacutetimo o por aire Anaacutelisis de grandes equipos de coacutemputo Anaacutelisis de un departamento dentro de una faacutebrica Adiestramiento de operadores (centrales carboeleacutectricas termoeleacutectricas nucleoeleacutectricas aviones etc)Anaacutelisis de sistemas de acondicionamiento de aire Planeacioacuten para la produccioacuten de bienes Anaacutelisis financiero de sistemas econoacutemicos Evaluacioacuten de sistemas taacutecticos o de defensa militar La simulacioacuten se utiliza en la etapa de disentildeo para auxiliar en el logro o mejoramiento de un proceso o disentildeo o bien a un sistema ya existente para explorar algunas modificaciones Se recomienda la aplicacioacuten de la simulacioacuten a sistemas ya existentes cuando existe alguacuten problema de operacioacuten o bien cuando se requiere llevar a cabo una mejora en el comportamiento El efecto que sobre el sistema ocurre cuando se cambia alguno de sus componentes se puede examinar antes de que ocurra el cambio fiacutesico en la planta para asegurar que el problema de operacioacuten se soluciona o bien para determinar el medio maacutes econoacutemico para lograr la mejora deseada Todos los modelos de simulacioacuten se llaman modelos de entrada-salida Es decir producen la salida del sistema si se les da la entrada a sus subsistemas interactuantes Por tanto los modelos de simulacioacuten se ldquocorrenrdquo en vez de ldquoresolverserdquo a fin de obtener la informacioacuten o los resultados deseados Son incapaces de generar una solucioacuten por si mismos en el sentido de los modelos analiacuteticos solos pueden servir como herramienta para el anaacutelisis del comportamiento de un sistema en condiciones especificadas por el experimentador Por tanto la simulacioacuten es una teoriacutea si no una metodologiacutea de resolucioacuten de problemas Ademaacutes la simulacioacuten es solo uno de varios planteamientos valiosos para resolver problemas que estaacuten disponibles para el anaacutelisis de sistemas Pero iquestCuaacutendo es uacutetil utilizar la simulacioacuten Cuando existan una o maacutes de las siguientes condiciones 1- No existe una completa formulacioacuten matemaacutetica del problema o los meacutetodos analiacuteticos para resolver el modelo
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
7
Para obtener Zi dividir a Zi-1 + b por m y dejar que Zi sea el resto de esta divisioacuten
Observacioacuten
1- Cuando b=0 el generador se denomina Generador congruencial multiplicativo2- Cuando b0 el generador se denomina Generador congruencial mixto3- A pesar de la simplicidad una adecuada eleccioacuten de los paraacutemetros de ldquoa b y mrdquo permite
obtener de manera eficiente una larga e impredecible sucesioacuten de nuacutemeros como para considerarse ldquoaleatoriardquo
m = 1 6 i Zi U ia = 5 0 7c = 3 1 6 0 3 7 5
Zo = 7 2 1 0 0 6 2 53 8 0 54 1 1 0 6 8 7 55 1 0 0 6 2 56 5 0 3 1 2 57 1 2 0 7 58 1 5 0 9 3 7 59 1 4 0 8 7 5
1 0 9 0 5 6 2 51 1 0 01 2 3 0 1 8 7 51 3 2 0 1 2 51 4 1 3 0 8 1 2 51 5 4 0 2 51 6 7 0 4 3 7 51 7 6 0 3 7 51 8 1 0 0 6 2 51 9 8 0 52 0 1 1 0 6 8 7 5
Paraacutemetrosa b m xo6 0 13 17 0 13 105 0 13 57 0 11 56 0 11 3
Caso Salidas1 6 10 8 9 2 12 7 3 5 4 11 1 6 102 5 9 11 12 6 3 8 4 2 1 7 10 5 93 12 8 1 5 12 8 1 5 12 8 1 5 12 84 2 3 10 4 6 9 8 1 7 5 2 3 10 45 7 9 10 5 8 4 2 1 6 3 7 9 10 4
5
Caso1234
Simulacioacuten de Eventos LII 210
8
Algunas observaciones de las salidas de los generadores congruenciales
i) Un generador congruencial tiene ciclos ii) La longitud del ciclo depende de la seleccioacuten de los paraacutemetros (ver caso 1) y 3) )iii) Dentro de selecciones de paraacutemetros que conducen a la misma longitud algunas salidas parecen maacutes aleatorias que otras
Pruebas de aleatoriedad
- Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas
Prueba de frecuencia Pruebas de series Prueba de autocorrelacioacuten Prueba de saltos Prueba de poacuteker
- Cuando se prueba la uniformidad las hipoacutetesis son H0 Ri ~ U[01] H1 Ri ne U[01] La hipoacutetesis nula supone que la secuencia de nuacutemeros obtenidos estaacute distribuida
uniformemente en el intervalo [01]
Meacutetodo de Montecarlo
El meacutetodo de Monte Carlo es un meacutetodo no deterministico o estadiacutestico numeacuterico usado para aproximar expresiones matemaacuteticas complejas y costosas de evaluar con exactitud El meacutetodo se llamoacute asiacute en referencia al Casino de Montecarlo (Principado de Moacutenaco) por ser ldquola capital del juego de azarrdquo al ser la ruleta un generador simple de nuacutemeros aleatorios El nombre y el desarrollo sistemaacutetico de los meacutetodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora
El uso de los meacutetodos de Monte Carlo como herramienta de investigacioacuten proviene del trabajo realizado en el desarrollo de la bomba atoacutemica durante la segunda guerra mundial en el Laboratorio Nacional de Los Aacutelamos en EEUU Este trabajo conllevaba la simulacioacuten de problemas probabiliacutesticos de hidrodinaacutemica concernientes a la difusioacuten de neutrones en el material de fusioacuten la cual posee un comportamiento eminentemente aleatorio En la actualidad es parte fundamental de los algoritmos de trazado de rayos para la generacioacuten de imaacutegenes sinteacuteticas
Monte Carlo
En la primera etapa de estas investigaciones John von Neumann y Stanislaw Ulam refinaron esta ruleta rusa y los meacutetodos de divisioacuten de tareas Sin embargo el desarrollo sistemaacutetico de estas ideas tuvo que esperar al trabajo de Harris y Herman Kahn en 1948 Aproximadamente en el mismo antildeo Enrico Fermi Metropolis y Ulam obtuvieron estimadores para los valores caracteriacutesticos de la ecuacioacuten de Schroumldinger para la captura de neutrones a nivel nuclear usando este meacutetodo
El meacutetodo de Monte Carlo proporciona soluciones aproximadas a una gran variedad de problemas matemaacuteticos posibilitando la realizacioacuten de experimentos con muestreos de nuacutemeros
Simulacioacuten de Eventos LII 210
9
pseudoaleatorios en una computadora El meacutetodo es aplicable a cualquier tipo de problema ya sea estocaacutestico o determinista A diferencia de los meacutetodos numeacutericos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solucioacuten aproximada el
meacutetodo de Monte Carlo tiene un error absoluto de la estimacioacuten que decrece como en virtud del teorema del liacutemite central
Simulacioacuten de procesos aleatorios
La teacutecnica de simulacioacuten es desde hace mucho tiempo una herramienta importante para el disentildeador Durante muchos antildeos se han usado modelos a escala de maacutequinas para simular la distribucioacuten de planta La simulacioacuten comuacuten se uso inicialmente en la investigacioacuten de operaciones surgioacute por primera vez en el trabajo de John Von Neumann y Stanislaw Ulam en los uacuteltimos antildeos de la deacutecada de los 40 Quienes a traveacutes del anaacutelisis de Montecarlo en conjunto con una teacutecnica matemaacutetica resolvieron problema relacionados con las barreras nucleares de proteccioacuten demasiado costosas para someterlas a pruebas de experimentacioacuten o demasiado complejas para realizar sus anaacutelisis Un el advenimiento de las computadoras en los primeros antildeos de la deacutecada de los 50 la simulacioacuten experimentoacute un avance substancial En la actualidad se resuelven incontables problemas de negocios puesto que la simulacioacuten en la computadora es un meacutetodo econoacutemico y raacutepido para efectuar la vasta cantidad de caacutelculos que se requieren
Las aacutereas de aplicacioacuten de la simulacioacuten son muy amplias numerosas y diversas basta mencionar soacutelo algunas de ellas Anaacutelisis del impacto ambiental causado por diversas fuentes Anaacutelisis y disentildeo de sistemas de manufactura Anaacutelisis y disentildeo de sistemas de comunicaciones Evaluacioacuten del disentildeo de organismos prestadores de servicios puacuteblicos (por ejemplo hospitales oficinas de correos teleacutegrafos casas de cambio etc) Anaacutelisis de sistemas de transporte terrestre mariacutetimo o por aire Anaacutelisis de grandes equipos de coacutemputo Anaacutelisis de un departamento dentro de una faacutebrica Adiestramiento de operadores (centrales carboeleacutectricas termoeleacutectricas nucleoeleacutectricas aviones etc)Anaacutelisis de sistemas de acondicionamiento de aire Planeacioacuten para la produccioacuten de bienes Anaacutelisis financiero de sistemas econoacutemicos Evaluacioacuten de sistemas taacutecticos o de defensa militar La simulacioacuten se utiliza en la etapa de disentildeo para auxiliar en el logro o mejoramiento de un proceso o disentildeo o bien a un sistema ya existente para explorar algunas modificaciones Se recomienda la aplicacioacuten de la simulacioacuten a sistemas ya existentes cuando existe alguacuten problema de operacioacuten o bien cuando se requiere llevar a cabo una mejora en el comportamiento El efecto que sobre el sistema ocurre cuando se cambia alguno de sus componentes se puede examinar antes de que ocurra el cambio fiacutesico en la planta para asegurar que el problema de operacioacuten se soluciona o bien para determinar el medio maacutes econoacutemico para lograr la mejora deseada Todos los modelos de simulacioacuten se llaman modelos de entrada-salida Es decir producen la salida del sistema si se les da la entrada a sus subsistemas interactuantes Por tanto los modelos de simulacioacuten se ldquocorrenrdquo en vez de ldquoresolverserdquo a fin de obtener la informacioacuten o los resultados deseados Son incapaces de generar una solucioacuten por si mismos en el sentido de los modelos analiacuteticos solos pueden servir como herramienta para el anaacutelisis del comportamiento de un sistema en condiciones especificadas por el experimentador Por tanto la simulacioacuten es una teoriacutea si no una metodologiacutea de resolucioacuten de problemas Ademaacutes la simulacioacuten es solo uno de varios planteamientos valiosos para resolver problemas que estaacuten disponibles para el anaacutelisis de sistemas Pero iquestCuaacutendo es uacutetil utilizar la simulacioacuten Cuando existan una o maacutes de las siguientes condiciones 1- No existe una completa formulacioacuten matemaacutetica del problema o los meacutetodos analiacuteticos para resolver el modelo
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
8
Algunas observaciones de las salidas de los generadores congruenciales
i) Un generador congruencial tiene ciclos ii) La longitud del ciclo depende de la seleccioacuten de los paraacutemetros (ver caso 1) y 3) )iii) Dentro de selecciones de paraacutemetros que conducen a la misma longitud algunas salidas parecen maacutes aleatorias que otras
Pruebas de aleatoriedad
- Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas
Prueba de frecuencia Pruebas de series Prueba de autocorrelacioacuten Prueba de saltos Prueba de poacuteker
- Cuando se prueba la uniformidad las hipoacutetesis son H0 Ri ~ U[01] H1 Ri ne U[01] La hipoacutetesis nula supone que la secuencia de nuacutemeros obtenidos estaacute distribuida
uniformemente en el intervalo [01]
Meacutetodo de Montecarlo
El meacutetodo de Monte Carlo es un meacutetodo no deterministico o estadiacutestico numeacuterico usado para aproximar expresiones matemaacuteticas complejas y costosas de evaluar con exactitud El meacutetodo se llamoacute asiacute en referencia al Casino de Montecarlo (Principado de Moacutenaco) por ser ldquola capital del juego de azarrdquo al ser la ruleta un generador simple de nuacutemeros aleatorios El nombre y el desarrollo sistemaacutetico de los meacutetodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora
El uso de los meacutetodos de Monte Carlo como herramienta de investigacioacuten proviene del trabajo realizado en el desarrollo de la bomba atoacutemica durante la segunda guerra mundial en el Laboratorio Nacional de Los Aacutelamos en EEUU Este trabajo conllevaba la simulacioacuten de problemas probabiliacutesticos de hidrodinaacutemica concernientes a la difusioacuten de neutrones en el material de fusioacuten la cual posee un comportamiento eminentemente aleatorio En la actualidad es parte fundamental de los algoritmos de trazado de rayos para la generacioacuten de imaacutegenes sinteacuteticas
Monte Carlo
En la primera etapa de estas investigaciones John von Neumann y Stanislaw Ulam refinaron esta ruleta rusa y los meacutetodos de divisioacuten de tareas Sin embargo el desarrollo sistemaacutetico de estas ideas tuvo que esperar al trabajo de Harris y Herman Kahn en 1948 Aproximadamente en el mismo antildeo Enrico Fermi Metropolis y Ulam obtuvieron estimadores para los valores caracteriacutesticos de la ecuacioacuten de Schroumldinger para la captura de neutrones a nivel nuclear usando este meacutetodo
El meacutetodo de Monte Carlo proporciona soluciones aproximadas a una gran variedad de problemas matemaacuteticos posibilitando la realizacioacuten de experimentos con muestreos de nuacutemeros
Simulacioacuten de Eventos LII 210
9
pseudoaleatorios en una computadora El meacutetodo es aplicable a cualquier tipo de problema ya sea estocaacutestico o determinista A diferencia de los meacutetodos numeacutericos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solucioacuten aproximada el
meacutetodo de Monte Carlo tiene un error absoluto de la estimacioacuten que decrece como en virtud del teorema del liacutemite central
Simulacioacuten de procesos aleatorios
La teacutecnica de simulacioacuten es desde hace mucho tiempo una herramienta importante para el disentildeador Durante muchos antildeos se han usado modelos a escala de maacutequinas para simular la distribucioacuten de planta La simulacioacuten comuacuten se uso inicialmente en la investigacioacuten de operaciones surgioacute por primera vez en el trabajo de John Von Neumann y Stanislaw Ulam en los uacuteltimos antildeos de la deacutecada de los 40 Quienes a traveacutes del anaacutelisis de Montecarlo en conjunto con una teacutecnica matemaacutetica resolvieron problema relacionados con las barreras nucleares de proteccioacuten demasiado costosas para someterlas a pruebas de experimentacioacuten o demasiado complejas para realizar sus anaacutelisis Un el advenimiento de las computadoras en los primeros antildeos de la deacutecada de los 50 la simulacioacuten experimentoacute un avance substancial En la actualidad se resuelven incontables problemas de negocios puesto que la simulacioacuten en la computadora es un meacutetodo econoacutemico y raacutepido para efectuar la vasta cantidad de caacutelculos que se requieren
Las aacutereas de aplicacioacuten de la simulacioacuten son muy amplias numerosas y diversas basta mencionar soacutelo algunas de ellas Anaacutelisis del impacto ambiental causado por diversas fuentes Anaacutelisis y disentildeo de sistemas de manufactura Anaacutelisis y disentildeo de sistemas de comunicaciones Evaluacioacuten del disentildeo de organismos prestadores de servicios puacuteblicos (por ejemplo hospitales oficinas de correos teleacutegrafos casas de cambio etc) Anaacutelisis de sistemas de transporte terrestre mariacutetimo o por aire Anaacutelisis de grandes equipos de coacutemputo Anaacutelisis de un departamento dentro de una faacutebrica Adiestramiento de operadores (centrales carboeleacutectricas termoeleacutectricas nucleoeleacutectricas aviones etc)Anaacutelisis de sistemas de acondicionamiento de aire Planeacioacuten para la produccioacuten de bienes Anaacutelisis financiero de sistemas econoacutemicos Evaluacioacuten de sistemas taacutecticos o de defensa militar La simulacioacuten se utiliza en la etapa de disentildeo para auxiliar en el logro o mejoramiento de un proceso o disentildeo o bien a un sistema ya existente para explorar algunas modificaciones Se recomienda la aplicacioacuten de la simulacioacuten a sistemas ya existentes cuando existe alguacuten problema de operacioacuten o bien cuando se requiere llevar a cabo una mejora en el comportamiento El efecto que sobre el sistema ocurre cuando se cambia alguno de sus componentes se puede examinar antes de que ocurra el cambio fiacutesico en la planta para asegurar que el problema de operacioacuten se soluciona o bien para determinar el medio maacutes econoacutemico para lograr la mejora deseada Todos los modelos de simulacioacuten se llaman modelos de entrada-salida Es decir producen la salida del sistema si se les da la entrada a sus subsistemas interactuantes Por tanto los modelos de simulacioacuten se ldquocorrenrdquo en vez de ldquoresolverserdquo a fin de obtener la informacioacuten o los resultados deseados Son incapaces de generar una solucioacuten por si mismos en el sentido de los modelos analiacuteticos solos pueden servir como herramienta para el anaacutelisis del comportamiento de un sistema en condiciones especificadas por el experimentador Por tanto la simulacioacuten es una teoriacutea si no una metodologiacutea de resolucioacuten de problemas Ademaacutes la simulacioacuten es solo uno de varios planteamientos valiosos para resolver problemas que estaacuten disponibles para el anaacutelisis de sistemas Pero iquestCuaacutendo es uacutetil utilizar la simulacioacuten Cuando existan una o maacutes de las siguientes condiciones 1- No existe una completa formulacioacuten matemaacutetica del problema o los meacutetodos analiacuteticos para resolver el modelo
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
9
pseudoaleatorios en una computadora El meacutetodo es aplicable a cualquier tipo de problema ya sea estocaacutestico o determinista A diferencia de los meacutetodos numeacutericos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solucioacuten aproximada el
meacutetodo de Monte Carlo tiene un error absoluto de la estimacioacuten que decrece como en virtud del teorema del liacutemite central
Simulacioacuten de procesos aleatorios
La teacutecnica de simulacioacuten es desde hace mucho tiempo una herramienta importante para el disentildeador Durante muchos antildeos se han usado modelos a escala de maacutequinas para simular la distribucioacuten de planta La simulacioacuten comuacuten se uso inicialmente en la investigacioacuten de operaciones surgioacute por primera vez en el trabajo de John Von Neumann y Stanislaw Ulam en los uacuteltimos antildeos de la deacutecada de los 40 Quienes a traveacutes del anaacutelisis de Montecarlo en conjunto con una teacutecnica matemaacutetica resolvieron problema relacionados con las barreras nucleares de proteccioacuten demasiado costosas para someterlas a pruebas de experimentacioacuten o demasiado complejas para realizar sus anaacutelisis Un el advenimiento de las computadoras en los primeros antildeos de la deacutecada de los 50 la simulacioacuten experimentoacute un avance substancial En la actualidad se resuelven incontables problemas de negocios puesto que la simulacioacuten en la computadora es un meacutetodo econoacutemico y raacutepido para efectuar la vasta cantidad de caacutelculos que se requieren
Las aacutereas de aplicacioacuten de la simulacioacuten son muy amplias numerosas y diversas basta mencionar soacutelo algunas de ellas Anaacutelisis del impacto ambiental causado por diversas fuentes Anaacutelisis y disentildeo de sistemas de manufactura Anaacutelisis y disentildeo de sistemas de comunicaciones Evaluacioacuten del disentildeo de organismos prestadores de servicios puacuteblicos (por ejemplo hospitales oficinas de correos teleacutegrafos casas de cambio etc) Anaacutelisis de sistemas de transporte terrestre mariacutetimo o por aire Anaacutelisis de grandes equipos de coacutemputo Anaacutelisis de un departamento dentro de una faacutebrica Adiestramiento de operadores (centrales carboeleacutectricas termoeleacutectricas nucleoeleacutectricas aviones etc)Anaacutelisis de sistemas de acondicionamiento de aire Planeacioacuten para la produccioacuten de bienes Anaacutelisis financiero de sistemas econoacutemicos Evaluacioacuten de sistemas taacutecticos o de defensa militar La simulacioacuten se utiliza en la etapa de disentildeo para auxiliar en el logro o mejoramiento de un proceso o disentildeo o bien a un sistema ya existente para explorar algunas modificaciones Se recomienda la aplicacioacuten de la simulacioacuten a sistemas ya existentes cuando existe alguacuten problema de operacioacuten o bien cuando se requiere llevar a cabo una mejora en el comportamiento El efecto que sobre el sistema ocurre cuando se cambia alguno de sus componentes se puede examinar antes de que ocurra el cambio fiacutesico en la planta para asegurar que el problema de operacioacuten se soluciona o bien para determinar el medio maacutes econoacutemico para lograr la mejora deseada Todos los modelos de simulacioacuten se llaman modelos de entrada-salida Es decir producen la salida del sistema si se les da la entrada a sus subsistemas interactuantes Por tanto los modelos de simulacioacuten se ldquocorrenrdquo en vez de ldquoresolverserdquo a fin de obtener la informacioacuten o los resultados deseados Son incapaces de generar una solucioacuten por si mismos en el sentido de los modelos analiacuteticos solos pueden servir como herramienta para el anaacutelisis del comportamiento de un sistema en condiciones especificadas por el experimentador Por tanto la simulacioacuten es una teoriacutea si no una metodologiacutea de resolucioacuten de problemas Ademaacutes la simulacioacuten es solo uno de varios planteamientos valiosos para resolver problemas que estaacuten disponibles para el anaacutelisis de sistemas Pero iquestCuaacutendo es uacutetil utilizar la simulacioacuten Cuando existan una o maacutes de las siguientes condiciones 1- No existe una completa formulacioacuten matemaacutetica del problema o los meacutetodos analiacuteticos para resolver el modelo
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
10
matemaacutetico no se han desarrollado auacuten Muchos modelos de liacuteneas de espera corresponden a esta categoriacutea 2- Los meacutetodos analiacuteticos estaacuten disponibles pero los procedimientos matemaacuteticos son tan complejos y difiacuteciles que la simulacioacuten proporciona un meacutetodo maacutes simple de solucioacuten 3-Las soluciones analiacuteticas existen y son posibles pero estaacuten mas allaacute de la habilidad matemaacutetica del personal disponible El costo del disentildeo la prueba y la corrida de una simulacioacuten debe entonces evaluarse contra el costo de obtener ayuda externa 4- Se desea observar el trayecto histoacuterico simulado del proceso sobre un periacuteodo ademaacutes de estimar ciertos paraacutemetros 5- La simulacioacuten puede ser la uacutenica posibilidad debido a la dificultad para realizar experimentos y observar fenoacutemenos en su entorno real por ejemplo estudios de vehiacuteculos espaciales en sus vuelos interplanetarios 6- Se requiere la aceleracioacuten del tiempo para sistemas o procesos que requieren de largo tiempo para realizarse La simulacioacuten proporciona un control sobre el tiempo debido a que un fenoacutemeno se puede acelerar o retardar seguacuten se desee
PROCESO DE SIMULACION
Antes de especificar los aspectos maacutes importantes que se presentan al formular problemas de simulacioacuten seraacute uacutetil definir esta La simulacioacuten es la utilizacioacuten de un modelo de sistemas que tiene las caracteriacutesticas deseadas de la realidad a fin de reproducir la esencia de las operaciones reales Tambieacuten se le ha definido como una representacioacuten de la realidad mediante el empleo de un modelo u otro sistema que reaccione de la misma manera que la realidad en un conjunto de condiciones dadas Ninguna de estas definiciones incluye todos requisitos fundamentales de esta como son el uso de los modelos matemaacuteticos las computadoras los procesos estadiacutesticos o estocaacutesticos los casos las suposiciones y los cursos de accioacuten alternativos La definicioacuten maacutes general y amplia de esta una teacutecnica cuantitativa que utiliza un modelo matemaacutetico computarizado para representar la toma real de decisiones bajo condiciones de incertidumbre con objeto de evaluar cursos alternativos de accioacuten con base en hechos y suposiciones
La simulacioacuten es uacutetil en la resolucioacuten de problema de negocios cuando no se conocen parcialmente las variables con anticipacioacuten y no existe una manera faacutecil de encontrar estos valores El problema se parece que al de la secuencia para la cual no se conoce una foacutermula ya elaborada por encontrar el eneacutesimo (o uacuteltimo) terminoacute El uacutenico hecho conocido es una regla (relacioacuten recursiva) que permite encontrar el siguiente teacutermino a partir de los uacuteltimos Baacutesicamente la uacutenica manera de descubrir el eneacutesimo teacutermino es aplicando la misma regla una y otra vez hasta llegar a dicho teacutermino La simulacioacuten utiliza un meacutetodo para encontrar estos estados sucesivos en un problema aplicando repetidamente las reglas bajo las que operan el sistema Este eslabonamiento sucesivo de un estado particular con otros anteriores es una caracteriacutestica importante de la simulacioacuten
Generalmente la simulacioacuten implica la construccioacuten de un modelo matemaacutetico que describa el funcionamiento de sistema en cuanto a eventos y componentes individuales Ademaacutes el sistema se divide en los elementos y las interrelaciones de aquellos elementos de comportamiento previsible al menos en funcioacuten de una distribucioacuten de probabilidades para cada uno de los diversos estados del sistema y sus insumos La simulacioacuten es un medio de dividir el proceso de elaboracioacuten de modelos en parte componentes maacutes pequentildeas y combinarlas en el orden natural o loacutegico Lo que permite el anaacutelisis en computadoras de los efectos de las interacciones mutuas entre esta Debido al error estadiacutestico es imposible garantizar que se encontraraacute la respuesta oacuteptima no obstante la respuesta estaraacute por lo menos proacutexima a la oacuteptima si el problema se simula correctamente En esencia el modelo de simulacioacuten realiza experimentos sobre los datos de una
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
11
muestra maacutes que sobre el universo entero ya que esto seriacutea demasiado tardado inconveniente y costoso
Planificar un proceso de simulacioacuten requiere de los siguientes pasos
a) Formulacioacuten del problemab) Recoleccioacuten y procesamiento de la informacioacuten requeridac) Formulacioacuten del modelo matemaacuteticod) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesadae) Formulacioacuten de un programa de computadoraf) Validacioacuten del programa de computadorag) Disentildeo de experimentos de simulacioacutenh) Anaacutelisis de resultados y validacioacuten de la simulacioacuten
A continuacioacuten se resumen las principales caracteriacutesticas asociadas a cada paso
FORMULACIOacuteN DEL PROBLEMA
Generalmente un problema se presenta por siacutentomas no por el diagnostico Por lo que antes de generar soluciones en un sistema se deben buscar el mayor nuacutemero de siacutentomas
Seguacuten Acoff y Sasieni las condiciones para que exista el maacutes simple de los problemas son
Debe existir por lo menos un individuo que se encuentra dentro de un marco de referencia el cual se puede atribuir el problema del sistema
El individuo debe tener por lo menos un par de alternativas para resolver su problema en caso contrario no existe tal problema
Deben de existir por lo menos un par de soluciones una de las cuales debe tener mayor aceptacioacuten que la otra en el individuo En caso contrario no existe el problema Esta preferencia esta asociada a un cierto objetivo dentro del marco de referencia en donde se encuentra el individuo del sistema
La seleccioacuten de cualquiera de las soluciones debe repercutir de manera diferente en los objetivos del sistema es decir existe una eficiencia yo efectividad asociada con cada solucioacuten Estas eficiencias yo efectividades deben ser diferentes puesto que de lo contrario no existe problema
Por ultimo le individuo que toma las decisiones ignora las soluciones yo eficiencia yo efectividades asociadas con las soluciones del problema
Si las cinco condiciones anteriores existen entonces se tiene un problema Esta situacioacuten puede complicarse en los siguientes casos
El problema recae en un grupo no en un individuo
El marco de referencia donde se encuentra el grupo cambia en forma dinaacutemica
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
12
El numero de alternativas que el grupo puede escoger es bastante grande pero finito
El grupo dentro del sistema puede tener objetivos muacuteltiples Peor aun no necesariamente estos objetivos son consistentes entre si
Las alternativas que selecciona el grupo son ejecutadas por otro grupo ajeno al cual no se le puede considerar como elemento independiente del sistema
Los efectos de la decisioacuten del grupo pueden sentirse por elementos que aun siendo ajenos al sistema considerando influyen directa o indirectamente favorable o desfavorablemente hacia el (poliacutetico consumidor etc)
Para formular un problema se necesita la siguiente informacioacuten
iquestExiste un problema
iquestDe quien es el problema
iquestCual es el marco de referencia del sistema donde se encuentra el problema
iquestQuien o quienes toman las decisiones
iquestCuales son sus objetivos
iquestCuales son los componentes controlables del sistema y cuales no lo son
iquestCuales son las interrelaciones maacutes importantes del sistema
iquestComo se emplearan los resultados del proyecto iquestPor quien iquestQueacute efectos tendraacute
iquestLas soluciones tendraacuten efecto a corto o largo plazo
iquestPodraacuten los efectos de las soluciones modificarse o cambiarse faacutecilmente
iquestCuantos elementos del sistema se afectaran por las soluciones del proyecto iquestEn queacute grado
FORMULAR UN PROBLEMA REQUIERE
- Identificar las componentes controlables de un sistema- Identificar posibles rutas de accioacuten dadas por las componentes controlables- Definir el marco de referencia dado por las componentes no controlables- Definir los objetivos que se persiguen y clasificarlos por su orden de importancia- Identificar las relaciones importantes entre las diferentes componentes del sistema este
paso equivale a encontrar las restricciones que existen a la vez que permite maacutes adelante representar estas interrelaciones en forma matemaacutetica
La identificacioacuten de la estructura del sistema (componentes canales interrelaciones etc) se hace a traveacutes de un proceso sistemaacutetico que se conoce como disentildeo de sistemas
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
13
El disentildeo de sistemas se lleva a cabo de la siguiente manera
- Se ubica al sistema considerando dentro de sistemas maacutes grandes- Se determinan las componentes del sistema- Se determinan los canales de comunicacioacuten entre las componentes del sistema y de este
hacia los elementos de otros sistemas que van a tener influencia directa o indirecta- Se determinan de que manera se tiene acceso a la informacioacuten requerida como se procesa
esta y como se transmite entre las diferentes componentes del sistema
GENERACIOacuteN DE VALORES DE UNA VARIABLE ALEATORIA
INTRODUCCIOacuteN
Meacutetodos maacutes utilizados para generar nuacutemeros aleatorios y pseudoaleatorios con computadora
Antes de continuar es necesario establecer la siguiente terminologiacutea El teacutermino variable aleatoria se emplea para nombrar una funcioacuten de valor real definida sobre un espacio muestral asociado con los resultados de un experimento conceptual de naturaleza azarosa El valor numeacuterico resultante de un experimento de cada una de las variables aleatorias se llama nuacutemero aleatorio Se utilizan letras mayuacutesculas para denotar las variables aleatorias y minuacutesculas para denotar valores de eacutestas variables aleatorias y minuacutesculas para denotar valores de eacutestas variables es decir para los nuacutemeros aleatorios Por ejemplo F(x) la funcioacuten de distribucioacuten acumulada para una variable aleatoria X indica la probabilidad de que X sea menor o igual al particular valor x de la funcioacuten de probabilidad de la variable aleatoria X cuando X= x
TECNICAS PARA GENERAR NUacuteMEROS ALEATORIOS
Se han venido usando cuatro meacutetodos alternativos para generar las sucesiones de nuacutemeros aleatorios estos son
Meacutetodos manuales
Lanzamiento de monedas
Lanzamiento de dados
Barajas
Dispositivos mecaacutenicos
Dispositivos electroacutenicos
Ventajas Son aleatorios
Desventajas No reproducibles
TABLAS DE BIBLIOTECA
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
14
Son nuacutemeros aleatorios que se han publicado por ejemplo a Millon Random Digits de la Corporacioacuten Rand de los cuales podemos encontrar listas de los en los libros de probabilidad y tablas de matemaacuteticas Estos nuacutemeros fueron generados por alguno de los meacutetodos de computacioacuten analoacutegica los cuales mencionados a continuacioacuten
Ventaja Provienen de un fenoacutemeno aleatorio y son reproducibles
Desventaja No se obtiene en tiempo real
MEacuteTODOS DE COMPUTACIOacuteN ANALOGICA
Los meacutetodos de computacioacuten analoacutegica dependen de ciertos procesos fiacutesicos aleatorios (por ejemplo el comportamiento de una corriente eleacutectrica) por lo que se considera que conducen verdaderos nuacutemeros aleatorios
Ventaja Aleatorios
Desventaja No reproducible
MEacuteTODOS DE COMPUTACIOacuteN DIGITAL
Se distinguen tres meacutetodos para producir nuacutemeros aleatorio cuando se usa la computacioacuten digital (computadoras) los cuales son
PROVISIOacuteN EXTERNA Consiste en grabar en la memoria de la computadora las tablas Randa a fin de tratar estos nuacutemeros como datos de entrada para un determinado problema
GENERACIOacuteN POR MEDIO DE PROCESOS FIacuteSICOS ALEATORIOS Consiste en usar alguacuten aditamento especial de la computadora para registra los resultados de alguacuten proceso aleatorio y ademaacutes reduzca estas resultados a sucesiones de diacutegitos
GENERACIOacuteN INTERNA POR MEDIO DE UNA RELACIOacuteN DE RECURRENCIA Consiste en generar nuacutemeros pseudoaleatorios por medio de ecuaciones de recurrencia en las que necesariamente se tiene que dar un valor inicial o semilla para generar los siguientes valores Vamos ha centrar nuestra atencioacuten en este uacuteltimo meacutetodo de computacioacuten digital y los describiremos ampliamente
Ventaja Son reproducibles
Desventaja Son pseudoaleatorios
CARACTERISTICAS DE LOS NUacuteMEROS PSEUDOALEATORIOS
Uniformemente distribuidos
Estadiacutesticamente independientes
Reproducibles
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
15
Sin repeticioacuten dentro de una longitud determinada
METODOS QUE UTILIZAN ECUACUACIONES DE RECURRENCIA PARA GENERAR NUMEROS PSEUDOALEATORIOS
Aquiacute describiremos los meacutetodos de generacioacuten de nuacutemeros pseudoaleatorios usando ecuaciones de recurrencia
METODOS DE GENERACIOacuteN DE NUM PSEUDOALEATORIOS U(01)
-Meacutetodos congruenciales ldquo69rdquo
Reglas
C debe ser un entero impar no divisible ni por 3 ni por 5
a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora decimal
M debe ser el nuacutemero entero maacutes grande que la computadora acepte
De acuerdo con Hull y Debell los mejores resultados par un generador congruencial mixto en una computadora binaria son
a = 8 c
Lenguajes de propoacutesito general comoC C++
C es un lenguaje de programacioacuten disentildeado por Dennis Ritchie de los Laboratorios Bell y se instaloacute en un PDP-11 en 1972 se disentildeoacute para ser el lenguaje de los Sistemas Operativos UNIX1 A su vez UNIX es un Sistema Operativo desarrollado por Ken Thompson quieacuten utilizoacute el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX en 1970 C se inventoacute para superar las limitaciones de B C es un lenguaje maduro de propoacutesitos generales que se desarrolloacute a partir de estas raiacuteces su definicioacuten aparece en 1978 en el apeacutendice ``C Reference Manual del libro The C Programming Language de Brian W Kernighan y Dennis M Ritchie (Englewood CliffsNueva Jersey Prentice-Hall 1978) pero el estaacutendar recomendable maacutes reciente aparecioacute en junio de 1983 en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual escrito por Dennis M Ritchie
Un programa en C Generalizando un programa en C consta de tres secciones La primera seccioacuten es donde van todos los ``headers Estos ``headers son comuacutenmente los ``define y los ``include Como segunda seccioacuten se tienen las ``funciones Al igual que Pascal en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcioacuten principal (main()) Declarando lasfunciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
16
resto de las funciones Ahora solo se habla de funciones ya que en C no existen los procedimientos
Y como uacuteltima seccioacuten se tiene a la funcioacuten principal llamada main Cuando se ejecuta el programa lo primero que se ejecuta es esta funcioacuten y de ahiacute sigue el resto del programa Los siacutembolos y indican ``begin y ``end respectivamente Si en una funcioacuten o en un ciclo while por ejemplo su contenido es de solamente una liacutenea no es necesario usar ``llaves ( ) en caso contrario es obligacioacuten usarlos
Ejemplo de un programa en C Programa ejemplo que despliega el contenido de ROL en pantallainclude ltstdiohgtdefine ROL 9274002-1despliega_rol() printf(Mi rol es sn ROL)void main() despliega_rol() Fin programa
Delphi
En 1994 Borland comenzoacute a trabajar en una herramienta RAD (Desarrollo Raacutepido de Aplicaciones por sus siglas en ingleacutes) a la que asignoacute el nombre clave de Delphi Cuando se decidioacute que la arquitectura del modelo de componentes era la mejor forma de implementar el desarrollo raacutepido de aplicaciones entonces fue necesario establecer el lenguaje de programacioacuten que seriacutea el corazoacuten del sistema
En ese momento Borland era el uacutenico fabricante de compiladores en masa que comercializaba un compilador de Pascal Borland era conocida como la compantildeiacutea que produciacutea las mejores herramientas Pascal Si usted fue un programador de Pascal probablemente utilizoacute el Turbo Pascal de Borland en alguna de sus modalidades En cierto modo Borland era el duentildeo de Pascal Aunque Borland no poseiacutea el lenguaje Pascal en un sentido legal sin duda pensoacute que debido a su posicioacuten en el mundo de Pascal podiacutea tomarse libertades considerables en la implementacioacuten de nuevas caracteriacutesticas y mejoras al lenguaje Ademaacutes no habiacutea un comiteacute de estaacutendares de Pascal ni siquiera un estaacutendar escrito que definiera al lenguaje Pascal Asiacute que Borland creoacute Delphi utilizando Pascal como el lenguaje base (el nombre clave interno de Borland se quedoacute y se convirtioacute en el nombre oficial del producto)
Antes de que existiera Delphi Borland ya habiacutea modificado el lenguaje Pascal en formas positivas Por ejemplo Borland ya habiacutea extendido a Pascal creando un nuevo lenguaje denominado ObjectPascal Podriacutea decirse que Object Pascal es a Pascal lo que C++ es a C Object Pascal incorporoacute clases a Pascal lanzando asiacute a Pascal al mundo de los lenguajes de OOP (Programacioacuten Orientada a Objetos por sus siglas en ingleacutes) Mientras se desarrollaba Delphi se agregaron palabras clave y un nuevo comportamiento del lenguaje para abordar el modelo de componentes Se incorporaron palabras clave como published y property asiacute como otras Esto le permitioacute a
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
17
Borland implementar por completo el poder del modelo de componentes Al modificar el lenguaje Pascal para adaptarlo al modelo de componentes Borland pudo implementar el desarrollo raacutepido de aplicaciones en la forma correcta En esencia el lenguaje Object Pascal se modificoacute de acuerdo a las necesidades cuando surgieron aspectos de disentildeo durante el desarrollo del entonces desconocido producto de nombre Delphi El resultado es un lenguaje que funciona de manera fluida con el modelo de componentes
Aunque la modificacioacuten del lenguaje Pascal podriacutea considerarse como un paso capital de Borland no fue sin que hubiera precedentes Antes Microsoft habiacutea tomado y modificado el lenguaje BASIC para producir un nuevo lenguaje denominado Visual Basic Este nuevo lenguaje era casi irreconocible al compararlo con el lenguaje BASIC original que le sirvioacute de base
Borland se arriesgoacute al modificar a Pascal Despueacutes de todo teniacutea una base leal de clientes que podriacutean no tomar a bien las mejoras al lenguaje que habiacutean llegado a conocer y apreciar Sin embargo Borland teniacutea una soacutelida posicioacuten en el mercado de Pascal y continuoacute con sus planes El resultado fue por supuesto un gran eacutexito
No se hay que equivocarse Object Pascal es un lenguaje de programacioacuten poderoso y no se hace esta declaracioacuten a la ligera Pronto descubriraacute que el lenguaje Object Pascal es muy capaz De hecho en manos del programador promedio casi no hay diferencia entre los lenguajes CC++ y Object Pascal en teacuterminos de poder Object Pascal es uacutenico en que es al mismo tiempo poderoso y relativamente faacutecil de aprender No se quiere de ninguna manera dejar la impresioacuten de que Pascal no es un lenguaje de programacioacuten con todas las caracteriacutesticas Con frecuencia Pascal ha sido tachado como un lenguaje de programacioacuten menos que serio Eso nunca ha sido cierto y menos cierto con el Object Pascal actual
Visual
La Simulacioacuten Visual Interactiva que puede definirse como aquella que posibilita la creacioacutengraacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistemasimulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacutenimplica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puedeparar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo sepuede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo lasvariaciones oportunas tanto en los modelos como en los valores de las variables en el siguienteciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe teneruna estructura multitarea que permita este tipo de operaciones Algunos productos del mercadoson SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACSde Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a lautilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten
Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobreplataformas mas potentes como Estaciones de trabajo (Workstations) Estos permiten construir modelos complejos de manera incremental a partir de la seleccioacuten de componentes del sistema de entre un repertorio limitado a la extensioacuten de las libreriacuteas que contienen unas entidades predefinidas si bien las ultimas tendencias antildeaden a estos paquetes editores para crear nuevas plantillas con caracteriacutesticas a gusto del consumidor introduciendo ademaacutes utilidades de todo tipo
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
18
incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo
Ventajasmiddot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivosmiddot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelidomiddot Puede ayudar a entender el comportamiento dinaacutemico del sistema
Inconvenientesmiddot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultadosmiddot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no sepuede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definidomiddot Aumenta el tiempo para desarrollar el programa de simulacioacutenmiddot Muy lenta la animacioacuten en directoOtro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de losSistemas Hiacutebridos que combinan la flexibilidad de un lenguaje de simulacioacuten con la facilidad de uso de un simulador como lo son el ARENA y el QUESTLos simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos oestrategias Existen tres estrategias que son generalmente reconocidas
middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) esgobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuenciaprograma la ejecucioacuten de otras subrutinas Los eventos son los instantes de tiempo en los cuales un cambio en el sistema ocurre y coincide con el inicio o terminacioacuten de las actividades Bajo este enfoque segmentos del programa son empleados para definir cada evento en el modelo Despueacutes de inicializado el modelo las rutinas de ejecucioacuten revisan los tiempos de ocurrencia de los eventos y avanzan el reloj de la simulacioacuten hacia el tiempo en el cual ocurriraacute el proacuteximo evento Debe existir una subrutina para cada tipo de evento
middot Enfoque de modelado basado en actividades La orientacioacuten basada en Seguimiento de Actividades (SA) bajo este enfoque un segmento del programa es empleado para definir cada actividad en la cual las entidades se ven involucradas y las condiciones bajo las cuales la actividad puede realizarse Dicho segmento incluye una serie de pruebas para determinar si la actividad ha sido iniciada en un punto del tiempo y define las acciones que se deben ejecutar si la actividad ha sido iniciada
middot Enfoque de modelado basado en procesos La orientacioacuten basada en Interaccioacuten de Procesos (IP) es desarrollada desde el punto de vista de las entidades (transacciones) que fluyen en el sistema Bajo este enfoque las entidades se clasifican en transacciones o clientes servidores o recursos (entidades permanentes y entidades temporales) En este enfoque existen segmentos del programa que son empleados para describir los procesos en los cuales se ven involucradas las entidades
Sistemas productivos
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
19
La simulacioacuten en los sistemas productivos permite elaborar diversas situaciones a veces difiacuteciles de imaginar en la realidad tales como una baja en la produccioacuten peacuterdidas en la distribucioacuten de productos etc estas teacutecnicas son uacutetiles para desarrollar planes de contingencia y estar preparados para la toma de decisiones en forma raacutepida y segura
Por ejemplo el grupo SIMON de investigaciones en modelos y simulacioacuten aplicando el caraacutecter interdisciplinario de la Dinaacutemica de Sistemas asociado a labores desarrolladas por CORPOICA en el anaacutelisis de procesos pecuarios desarrolloacute el proyecto titulado Propuesta de un Modelo de Simulacioacuten de Sistemas de Produccioacuten de Ganaderiacutea Bovina para la Investigacioacuten Integral Un Enfoque Sisteacutemico SIPROB 10 elaborado con el lenguaje de la Dinaacutemica de Sistemas y con el propoacutesito de representar los sistemas de produccioacuten bovina permitiendo su comprensioacuten y la prueba de diferentes tecnologiacuteas para facilitar a los ganaderos la toma de decisiones y el aprendizaje sobre sus sistemas de Produccioacuten
En la construccioacuten del modelo se elaboraron tres prototipos A continuacioacuten se presenta una descripcioacuten general de uno de ellos
El prototipo 1 modela los sistemas de produccioacuten Bovina con relacioacuten a variables demograacuteficas y productivas estas hacen referencia a los elementos que componen el sistema Terneros Levantes y Vacas -en todas sus etapas Vaciacuteas Prentildeadas En diacuteas de Descanso y Lactantes- con factores determinantes de la produccioacuten como son la Tasa de Natalidad y la Probabilidad de Muerte Se presenta el ciclo animal completo desde el nacimiento o introduccioacuten al sistema de cada animal ya sea por una compra o por el nacimiento del mismo hasta su muerte o venta cuando este cumpla su ciclo En este prototipo no se presentan los limitantes biofiacutesicos ni los econoacutemicos
Calidad
En los procesos de control de calidad los modelos de simulacioacuten representan una herramienta de mucha utilidad para la obtencioacuten de informacioacuten acerca de los procesos y de la forma de corregir los defectos que se derivan en el manejo de los mismos Por ejemplo en el trabajo titulado
ldquoMedida y simulacioacuten Monte Carlo de factores de correccioacuten por calidad de hazrdquo
La calibracioacuten de un haz de fotones de megavoltaje de un usuario consiste en la determinacioacuten de la dosis absorbida en agua depositada por el haz en condiciones de referencia Esto se realiza mediante la medida de carga o corriente recogida en una caacutemara de ionizacioacuten que ha sido calibrada en un laboratorio de calibracioacuten mediante un haz de cobalto 60 Para tener en cuenta la diferencia entre los espectros del haz del usuario y del haz de cobalto del laboratorio de calibracioacuten se utiliza un factor de correccioacuten por calidad de haz La red de laboratorios de calibracioacuten no cuenta con haces de calidades iguales a las de los usuarios para determinar directamente estos factores Eacutestos se encuentran tabulados en protocolos de dosimetriacutea para la mayor parte de caacutemaras de ionizacioacuten comerciales [1] Para aquellas caacutemaras no tabuladas losprotocolos describen algoritmos sencillos para estimar estos factores La incertidumbre asociada a ellos es del orden del 1 En el presente trabajo se muestran los resultados de la simulacioacutenMonte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras deionizcioacuten) y su comparacioacuten con medidas experimentales relativas a una caacutemara de ionizacioacuten calibrada a varias calidades en el laboratorio de calibracioacuten alemaacuten (Physikalisch-Technische Bundesanstalt PTB)
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
20
Tanto los resultados experimentales como los de las simulaciones muestran una incertidumbre menor que la de los factores tabulados en los protocolos de dosimetriacutea siendo compatibles con eacutestos dentro de incertidumbres (una desviacioacuten estaacutendar)
Material y meacutetodos
En este trabajo se determinaron mediante dos meacutetodos factores de correccioacuten por calidad de haz para 9 modelos de caacutemara de ionizacioacuten de los principales fabricantes (PTW Exradin y Wellhoumlfer)
Simulacioacuten Monte Carlo El factor de correccioacuten por calidad de haz para una caacutemara de ionizacioacuten y un haz de calidad Q dados
Donde Dw es la dosis absorbida en agua determinada a la profundidad de referencia en un tanque de agua y condiciones de irradiacioacuten de referencia establecidas en el protocolo de dosimetriacutea TRS-398 Y Dair es la dosis absorbida en el aire encerrado en la cavidad de una caacutemara de ionizacioacuten cuyo punto de referencia estaacute situado en el mismo punto en el cual se determine Dw y en las mismas condiciones de irradiacioacuten de referencia establecidas en el protocolo La ecuacioacuten (1) se deduce de la definicioacuten alternativa del factor de correccioacuten por calidad de haz que aparece en Andreo 1992 [2] y de la relacioacuten entre Dw y Dair
Las dosis que intervienen en la ecuacioacuten (1) se calcularon mediante simulacioacuten Monte Carlo (sistema EGSnrc [3]) propagando en un tanque de agua los espacios de fase correspondientes a la simulacioacuten de haces cliacutenicos (haz de cobalto 60 como referencia y haces de megavoltaje de 4 a 25 MV mediante el coacutedigo BEAMnrc [4]) Para el caacutelculo de la dosis en agua se almacenoacute la dosis en un voxel centrado a la profundidad de referencia en un tanque de agua (coacutedigo cavrznrc [5]) Para el caacutelculo de la dosis en la cavidad se empleoacute una geometriacutea realista de la caacutemara de ionizacioacuten proporcionada por el fabricante
Inventarios
Un ejemplo seriacutea un sistema de inventarios de una faacutebrica o bien el sistema de liacuteneas de espera de una fabrica etc Estos modelos producen una salida que es en si misma de caraacutecter aleatorio y eacutesta debe ser tratada uacutenicamente para estimar las caracteriacutesticas reales del modelo esta es una de las principales desventajas de este tipo de simulacioacuten Otro ejemplo un fabricante de comida para perros requiere el auxilio de una compantildeiacutea consultora con el objeto de construir un modelo de simulacioacuten para su liacutenea de fabricacioacuten la cual produce medio milloacuten de latas al diacutea a una velocidad casi constante Debido a que cada una de las latas se representoacute como una entidad separada en el modelo eacuteste resulto ser demasiado detallado y por ende caro para correrlo hacieacutendolo poco uacutetil Unos meses maacutes tarde se hizo una reformulacioacuten del modelo tratando al proceso como un flujo continuo Este nuevo modelo produjo resultados precisos y se ejecuto en una fraccioacuten del tiempo necesario por el modelo original
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Simulacioacuten de Eventos LII 210
21
Econoacutemicos
En este campo la simulacioacuten representa un mecanismo de evaluacioacuten para la toma de decisiones que afecta a grandes sectores de la poblacioacuten un ejemplo es el estudios titulado ldquoSimulacioacuten de poliacuteticas econoacutemicas los modelos de equilibrio general aplicadordquo Los modelos de equilibrio general aplicado o computacional se utilizan para la simulacioacuten de poliacuteticas econoacutemicas de diversa iacutendole como poliacuteticas fiscales comerciales medioambientales y otras Estos modelos han comenzado a plantearse recientemente como problemas de complementariedad mixta lo que ha permitido solucionar algunos de los problemas planteados en su formulacioacuten tradicional como problema de optimizacioacuten del comportamiento de los agentes En este trabajo realizamos una presentacioacuten y puesta al diacutea de la metodologiacutea junto con una descripcioacuten de las bases de datos utilizadas (matrices de contabilidad social) asiacute como una revisioacuten de los modelos de equilibrio general aplicado realizados para la economiacutea
Tabla-1
Tabla-2
image6emf
Paraacutemetros
abmxo
60131
701310
50135
70115
60113
CasoSalidas
1610892127354111610
259111263842171059
3128151281512815128
42310469817523104
57910584216379104
5
Caso
1
2
3
4
Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20032xls
Hoja1
Hoja2
Hoja3
image7png
image8png
image1png
image2png
Paraacutemetros | ||||||||||||||||||||||||||||||
Caso | a | b | m | xo | ||||||||||||||||||||||||||
1 | 6 | 0 | 13 | 1 | ||||||||||||||||||||||||||
2 | 7 | 0 | 13 | 10 | ||||||||||||||||||||||||||
3 | 5 | 0 | 13 | 5 | ||||||||||||||||||||||||||
4 | 7 | 0 | 11 | 5 | ||||||||||||||||||||||||||
5 | 6 | 0 | 11 | 3 | ||||||||||||||||||||||||||
Caso | Salidas | |||||||||||||||||||||||||||||
1 | 6 | 10 | 8 | 9 | 2 | 12 | 7 | 3 | 5 | 4 | 11 | 1 | 6 | 10 | ||||||||||||||||
2 | 5 | 9 | 11 | 12 | 6 | 3 | 8 | 4 | 2 | 1 | 7 | 10 | 5 | 9 | ||||||||||||||||
3 | 12 | 8 | 1 | 5 | 12 | 8 | 1 | 5 | 12 | 8 | 1 | 5 | 12 | 8 | ||||||||||||||||
4 | 2 | 3 | 10 | 4 | 6 | 9 | 8 | 1 | 7 | 5 | 2 | 3 | 10 | 4 | ||||||||||||||||
5 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 4 |
Parametros | ||||||||||
m = | 16 | i | Zi | Ui | ||||||
a = | 5 | 0 | 7 | |||||||
c = | 3 | 1 | 6 | 0375 | ||||||
Zo = | 7 | 2 | 1 | 00625 | ||||||
3 | 8 | 05 | ||||||||
4 | 11 | 06875 | ||||||||
5 | 10 | 0625 | ||||||||
6 | 5 | 03125 | ||||||||
7 | 12 | 075 | ||||||||
8 | 15 | 09375 | ||||||||
9 | 14 | 0875 | ||||||||
10 | 9 | 05625 | ||||||||
11 | 0 | 0 | ||||||||
12 | 3 | 01875 | ||||||||
13 | 2 | 0125 | ||||||||
14 | 13 | 08125 | ||||||||
15 | 4 | 025 | ||||||||
16 | 7 | 04375 | ||||||||
17 | 6 | 0375 | ||||||||
18 | 1 | 00625 | ||||||||
19 | 8 | 05 | ||||||||
20 | 11 | 06875 |
Z o= | 7182 | ||||||||
i | Zi | Ui | Zi 2 | ||||||
0 | 7182 | 51581124 | |||||||
1 | 5811 | 05811 | 33767721 | ||||||
2 | 7677 | 07677 | 58936329 | ||||||
3 | 9363 | 09363 | 87665769 | ||||||
4 | 6657 | 06657 | 44315649 | ||||||
5 | 3156 | 03156 | 9960336 | ||||||
6 | 9603 | 09603 | 92217609 | ||||||
7 | 2176 | 02176 | 4734976 | ||||||
8 | 7349 | 07349 | 54007801 | ||||||
9 | 78 | 00078 | 6084 | ||||||
10 | 60 | 0006 | 3600 | ||||||
11 | 36 | 00036 | 1296 | ||||||
12 | 12 | 00012 | 144 | ||||||
13 | 1 | 00001 | 1 | ||||||
14 | 0 | 0 | 0 | ||||||
15 | 0 | 0 | 0 | ||||||
16 | 0 | 0 | 0 | ||||||
17 | 0 | 0 | 0 | ||||||
18 | 0 | 0 | 0 | ||||||
19 | 0 | 0 | 0 | ||||||
20 | 0 | 0 | 0 | ||||||
21 | 0 | 0 | 0 |
Tabla-2
image6emf
Paraacutemetros
abmxo
60131
701310
50135
70115
60113
CasoSalidas
1610892127354111610
259111263842171059
3128151281512815128
42310469817523104
57910584216379104
5
Caso
1
2
3
4
Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20032xls
Hoja1
Hoja2
Hoja3
image7png
image8png
image1png
image2png
Paraacutemetros | ||||||||||||||||||||||||||||||
Caso | a | b | m | xo | ||||||||||||||||||||||||||
1 | 6 | 0 | 13 | 1 | ||||||||||||||||||||||||||
2 | 7 | 0 | 13 | 10 | ||||||||||||||||||||||||||
3 | 5 | 0 | 13 | 5 | ||||||||||||||||||||||||||
4 | 7 | 0 | 11 | 5 | ||||||||||||||||||||||||||
5 | 6 | 0 | 11 | 3 | ||||||||||||||||||||||||||
Caso | Salidas | |||||||||||||||||||||||||||||
1 | 6 | 10 | 8 | 9 | 2 | 12 | 7 | 3 | 5 | 4 | 11 | 1 | 6 | 10 | ||||||||||||||||
2 | 5 | 9 | 11 | 12 | 6 | 3 | 8 | 4 | 2 | 1 | 7 | 10 | 5 | 9 | ||||||||||||||||
3 | 12 | 8 | 1 | 5 | 12 | 8 | 1 | 5 | 12 | 8 | 1 | 5 | 12 | 8 | ||||||||||||||||
4 | 2 | 3 | 10 | 4 | 6 | 9 | 8 | 1 | 7 | 5 | 2 | 3 | 10 | 4 | ||||||||||||||||
5 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 4 |
Parametros | ||||||||||
m = | 16 | i | Zi | Ui | ||||||
a = | 5 | 0 | 7 | |||||||
c = | 3 | 1 | 6 | 0375 | ||||||
Zo = | 7 | 2 | 1 | 00625 | ||||||
3 | 8 | 05 | ||||||||
4 | 11 | 06875 | ||||||||
5 | 10 | 0625 | ||||||||
6 | 5 | 03125 | ||||||||
7 | 12 | 075 | ||||||||
8 | 15 | 09375 | ||||||||
9 | 14 | 0875 | ||||||||
10 | 9 | 05625 | ||||||||
11 | 0 | 0 | ||||||||
12 | 3 | 01875 | ||||||||
13 | 2 | 0125 | ||||||||
14 | 13 | 08125 | ||||||||
15 | 4 | 025 | ||||||||
16 | 7 | 04375 | ||||||||
17 | 6 | 0375 | ||||||||
18 | 1 | 00625 | ||||||||
19 | 8 | 05 | ||||||||
20 | 11 | 06875 |
Hoja1
Hoja2
Hoja3
image7png
image8png
image1png
image2png
Paraacutemetros | ||||||||||||||||||||||||||||||
Caso | a | b | m | xo | ||||||||||||||||||||||||||
1 | 6 | 0 | 13 | 1 | ||||||||||||||||||||||||||
2 | 7 | 0 | 13 | 10 | ||||||||||||||||||||||||||
3 | 5 | 0 | 13 | 5 | ||||||||||||||||||||||||||
4 | 7 | 0 | 11 | 5 | ||||||||||||||||||||||||||
5 | 6 | 0 | 11 | 3 | ||||||||||||||||||||||||||
Caso | Salidas | |||||||||||||||||||||||||||||
1 | 6 | 10 | 8 | 9 | 2 | 12 | 7 | 3 | 5 | 4 | 11 | 1 | 6 | 10 | ||||||||||||||||
2 | 5 | 9 | 11 | 12 | 6 | 3 | 8 | 4 | 2 | 1 | 7 | 10 | 5 | 9 | ||||||||||||||||
3 | 12 | 8 | 1 | 5 | 12 | 8 | 1 | 5 | 12 | 8 | 1 | 5 | 12 | 8 | ||||||||||||||||
4 | 2 | 3 | 10 | 4 | 6 | 9 | 8 | 1 | 7 | 5 | 2 | 3 | 10 | 4 | ||||||||||||||||
5 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 4 |