SIMULACION DE EVENTOS - cursos.aiu.educursos.aiu.edu/Simulacion de Eventos/PDF/Tema 2.pdf ·...

21
Simulación de Eventos LII 210 1 SIMULACION DE EVENTOS CLAVE : LII 210 PROFESOR: MTRO. ALEJANDRO SALAZAR GUERRERO

Transcript of SIMULACION DE EVENTOS - cursos.aiu.educursos.aiu.edu/Simulacion de Eventos/PDF/Tema 2.pdf ·...

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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

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 EventosLII 210

SIMULACION DE EVENTOS

CLAVE LII 210

PROFESOR MTRO ALEJANDRO SALAZAR GUERRERO

1 LA SIMULACIOgraveN DE EVENTOS DISCRETOS

11 Definicioacuten de Eventos Discretos

12 Estructura de la simulacioacuten de eventos discretos

13 Caracteriacutestica de la simulacioacuten de eventos discretos

14 Sistemas

15 Modelos

16 Control

17 Mecanismos de tiempo fijo

18 Metodologiacutea

181 Formulacioacuten del Problema

182 Recoleccioacuten de datos

183 Desarrollo del modelo

184 Verificacioacuten

185 Validacioacuten

186 Experimentacioacuten de resultados

187 Optimizacioacuten de resultados

2 NUgraveMEROS ALEATORIOS Y PSEUDOALEATORIOS

21 Nuacutemeros aleatorios definicioacuten propiedades

211 Generadores

212 Tablas

22 Nuacutemeros pseudoaleatorios propiedades

221 Teacutecnicas para generar nuacutemeros pseudoaleatorios

2211 Meacutetodos de centros al cuadrado

2212 Meacutetodos de congruencia

2213 Multiplicativo

2214 Mixto

23 Pruebas de aleatoriedad

24 Meacutetodo de Montecarlo

241 Simulacioacuten de procesos aleatorios

242 Usando nuacutemeros

243 Manuales

244 Lenguajes de propoacutesito general como

2441 C C++

2442 Delphi

2443 Visual

245 Sistemas productivos

246 Calidad

247 Inventarios

248 Econoacutemicos

3 VARIABLES ALEATORIAS

31 Meacutetodos para generar variables aleatorias

311 Transformadas Inversas

312 Aceptacioacuten rechazo

313 Convoluciograven

314 Directos

3141 Generacioacuten de variables aleatorias discretas

3142 Distribuciones Poisson

3143 Binomial

3144 Geomeacutetrica

3145 Generacioacuten de variables aleatorias continuas

3146 Distribucioacuten uniforme

3147 Exponencial

3148 Normal

3149 Erlang

31410 Gamma

31411 Beta

31412 Triangular

315 Distribuciones empiacutericas de probabilidad

316 Simulacioacuten de procesos aleatorios manuales

317 Sistemas productivos

318 Calidad

319 Inventarios

3110 Econoacutemicos

4 LENGUAJES DE SIMULACIOgraveN Y SIMULADORES DE EVENTOS DISCRETOS

41 Lenguajes de simulacioacuten y simuladores

411 Caracteriacutesticas

412 Aplicacioacuten y uso lenguajes

4121 SLAM

4122 ECSL

4123 SIMAN

4124 GPSS

413 Simuladores

4131 PROMODEL

4132 TAYLOR ED

4133 ARENA

4134 WITNESS

42 Aprendizaje y uso de un simulador

421 Caracteriacutesticas del Software

422 Elementos del modelo

423 Menuacutes principales

424 Construccioacuten del modelo

425 El uso del simulador de problemas aplicados a servicios

426 Sistemas productivos

427 Calidad

428 Inventarios

429 Econoacutemicos

CAP 2 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 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 publicadas (libros internet)

ii) Observar un proceso fiacutesico tal como la desintegracioacuten radiactiva el ruido eleacutectrico

iii) Los lenguajes de programacioacuten y las hojas electroacutenicas incluyen una funcioacuten para generarlos

iv) Mediante algoritmos de generacioacuten de nuacutemeros aleatorios

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 operaciones deterministas 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 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 traveacutes de un meacutetodo raacutepido 7 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 da valores reales en el intervalo [01) En general los algoritmos utilizan relaciones de recurrencia del tipo

$displaystyle

En el caso de recurrencia simple o bien

$displaystyle

Para el caso de una recurrencia de orden $

Se necesitaraacute dar un valor inicial para comenzar el algoritmo ( $ valores para recurrencias de orden $)

Generadores

Un Generador de nuacutemeros aleatorios es un componente o funcionalidad que crea nuacutemeros o siacutembolos para un programa en una forma que carezca de un patroacuten evidente y que asiacute parezcan ser nuacutemeros

La mayor parte de los generadores de nuacutemeros aleatorios son en realidad pseudoaleatorios se calcula (o introduce internamente) un valor X0 que llamaremos semilla y a partir de eacutel se van generando X1 X2 X3

Siempre que se parta de la misma semilla se obtendraacute la misma secuencia de valores

El baacutesico es el meacutetodo congruencial 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) donde AX+B (mod N) es el resto de la divisioacuten entera de AX+B entre N Por ejemplo 16 (mod 7) 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 individuos de una poblacioacuten conocida 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-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

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 09802

980296| 0792 | 04 00792

792 6 | 2726 | 4 02726

2726

Problemas

middot Tendencia a degenerar a cero

Meacutetodos de congruencia

middot Una secuencia de nuacutemeros enteros Z1 Z2 Z3hellip es definido por la foacutermula recursiva

Zi = (a Zi-1 + b) (mod m)

middot m = modulo

middot a= multiplicador

middot b = sesgo

middot Zc = semilla o valor inicial

Todos enteros no negativos

Ademaacutes 0 lt m a lt m b lt m Z0 lt m

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 multiplicativo

2- Cuando b0 el generador se denomina Generador congruencial mixto

3- 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

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

middot Para comprobar si los nuacutemeros aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas

middot Prueba de frecuencia

middot Pruebas de series

middot Prueba de autocorrelacioacuten

middot Prueba de saltos

middot Prueba de poacuteker

middot Cuando se prueba la uniformidad las hipoacutetesis son

middot H0 Ri ~ U[01]

middot H1 Ri ne U[01]

middot 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

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 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 y 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 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 frac1sqrtNen 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 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 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 problema

b) Recoleccioacuten y procesamiento de la informacioacuten requerida

c) Formulacioacuten del modelo matemaacutetico

d) Evaluacioacuten de las caracteriacutesticas de la informacioacuten procesada

e) Formulacioacuten de un programa de computadora

f) Validacioacuten del programa de computadora

g) Disentildeo de experimentos de simulacioacuten

h) 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

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

middot Identificar las componentes controlables de un sistema

middot Identificar posibles rutas de accioacuten dadas por las componentes controlables

middot Definir el marco de referencia dado por las componentes no controlables

middot Definir los objetivos que se persiguen y clasificarlos por su orden de importancia

middot 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

El disentildeo de sistemas se lleva a cabo de la siguiente manera

middot Se ubica al sistema considerando dentro de sistemas maacutes grandes

middot Se determinan las componentes del sistema

middot 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

middot 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

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

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

middot C debe ser un entero impar no divisible ni por 3 ni por 5

1 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

1 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

1 a = 8 c

Lenguajes de propoacutesito general como

C 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 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 las funciones a ocupar al principio del programa se logra que la funcioacuten principal esteacute antes que el 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 pantalla

include ltstdiohgt

define ROL 9274002-1

despliega_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 Object Pascal 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 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 creacioacuten graacutefica de modelos de simulacioacuten permite mostrar por pantalla dinaacutemicamente el sistema simulado asiacute como la interaccioacuten entre el usuario y el programa en ejecucioacuten La interaccioacuten implica que o bien se detiene la simulacioacuten y solicita informacioacuten al usuario o bien que eacuteste puede parar la simulacioacuten a su voluntad e interaccionar con el mencionado programa esto uacuteltimo se puede realizar rdquooff-linerdquo o ldquoon-linerdquo es decir sin interrumpir la simulacioacuten e introduciendo las variaciones oportunas tanto en los modelos como en los valores de las variables en el siguiente ciclo de scan del proceso de ejecucioacuten del programa en la computadora que para esto debe tener una estructura multitarea que permita este tipo de operaciones Algunos productos del mercado son SIMFACTORY DE CACI Inc PROMODEL de ProModel Corporation ARENA de Rockwell Software Inc WITNESS de ATT amp Istel o FACTORAIM de Pritsker Corporation FIX DEMACS de Intellution (Fisher-Rosemount) Todos ellos son productos orientados primordialmente a la utilizacioacuten de la simulacioacuten para la resolucioacuten de problemas en el aacutembito de la produccioacuten

Utilizables desde entorno Windows y ejecutables sobre computadoras personales o sobre plataformas 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 incluidas las gestiones de configuracioacuten y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo

Ventajas

middot Sirven para comunicar la esencia del modelo de simulacioacuten a los directivos

middot Puede ayudar a corregir errores del programa de simulacioacuten o a mostrar que el modelo no es vaacutelido

middot Puede ayudar a entender el comportamiento dinaacutemico del sistema

Inconvenientes

middot No puede sustituir a un cuidadoso anaacutelisis estadiacutestico de los resultados

middot Soacutelo una parte de la loacutegica del modelo de simulacioacuten puede verse en la animacioacuten y no se puede concluir a partir de ese corto periodo de tiempo que el modelo estaacute bien definido

middot Aumenta el tiempo para desarrollar el programa de simulacioacuten

middot Muy lenta la animacioacuten en directo

Otro enfoque se puede derivar de los lenguajes de simulacioacuten y de los simuladores es el de los Sistemas 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 QUEST

Los simuladores y lenguajes de simulacioacuten pueden adoptar uno de los diferentes meacutetodos o estrategias Existen tres estrategias que son generalmente reconocidas

middot Enfoque de modelado basado en eventos La orientacioacuten basada en Eventos (ES) es gobernada por un calendario y ejecucioacuten de subrutinas (eventos) que como consecuencia programa 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

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 los protocolos 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 simulacioacuten Monte Carlo de factores de correccioacuten por calidad de haz (para distintas calidades y caacutemaras de ionizcioacuten) 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)

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

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

2

image3png

image4png

image5wmf

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

Hoja_de_c_lculo_de_Microsoft_Office_Excel_97-20031xls

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-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

Hoja2

Hoja3

image7png

image8png

image1png

image2png

Hoja3

image7png

image8png

image1png

image2png