SlideShare una empresa de Scribd logo
1 de 321
Descargar para leer sin conexión
SIMULACIÓN
Texto Base de Teorı́a
Alfonso Urquı́a Moraleda
Departamento de Informática y Automática
Escuela Técnica Superior de Ingenierı́a Informática, UNED
Juan del Rosal 16, 28040 Madrid, España
E-mail: aurquia@dia.uned.es
Índice
I Introducción al modelado y la simulación 1
1. Conceptos básicos 3
1.1. Sistemas y modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Tipos de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Modelos matemáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. El marco experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2. Pasos en un estudio de simulación 9
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Definición del problema y planificación del proyecto . . . . . . . . . . . . . . . . 10
2.3. Definición del sistema y formulación del modelo . . . . . . . . . . . . . . . . . . 11
2.4. Diseño de los experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5. Datos de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6. Traducción del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.7. Verificación y validación del modelo . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.8. Experimentación y análisis de los resultados . . . . . . . . . . . . . . . . . . . . 17
2.9. Documentación e implementación . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
II Modelado y simulación 19
3. Método de Monte Carlo 21
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2. Estimación del valor del número π . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3. Probabilidad de ganar un juego “solitario” de cartas . . . . . . . . . . . . . . . . 25
3.4. Cálculo de integrales definidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
ANEXO. Programa de simulación para la estimación del valor de una integral definida 28
4. Modelado de sistemas de eventos discretos 31
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2. Estructura lógica del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
I
II Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
4.3. Elementos del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4. Aspectos matemáticos del modelo y las variables de entrada . . . . . . . . . . . 35
4.5. Medidas del comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.6. Condiciones inicial y final de la simulación . . . . . . . . . . . . . . . . . . . . . 37
4.7. Descripción del funcionamiento del sistema . . . . . . . . . . . . . . . . . . . . 38
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5. Simulación usando un lenguaje de programación 41
5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2. Algoritmo de simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3. Simulación de una cola atendida por un empleado . . . . . . . . . . . . . . . . 44
5.4. Gestión del inventario de un único producto . . . . . . . . . . . . . . . . . . . . 54
5.5. Modelado mediante grafos de eventos . . . . . . . . . . . . . . . . . . . . . . . . 63
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
ANEXO 1. Programa de simulación de una cola atendida por un único empleado . . 69
ANEXO 2. Programa de simulación de la gestión del inventario de un producto . . . 75
6. Simulación usando Arena 81
6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2. Modelado de operaciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.3. Modelado detallado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7. Modelos analı́ticos y simulación 101
7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.2. Modelos analı́ticos frente a modelos de simulación . . . . . . . . . . . . . . . . 102
7.3. Cadenas de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
7.4. Modelos analı́ticos de sistemas de colas . . . . . . . . . . . . . . . . . . . . . . . 108
III Modelado y generación de las entradas aleatorias 115
8. Modelado de las entradas 117
8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.2. Distribuciones de probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
8.3. Independencia y homogeneidad de los datos . . . . . . . . . . . . . . . . . . . . 123
8.4. Tarea I: Selección de la familia de distribuciones . . . . . . . . . . . . . . . . . . 124
8.5. TAREA II: Estimación de los parámetros . . . . . . . . . . . . . . . . . . . . . . 130
8.6. TAREA III: Medida de la bondad del ajuste . . . . . . . . . . . . . . . . . . . . . 136
8.7. Selección de la distribución en ausencia de datos . . . . . . . . . . . . . . . . . 140
8.8. Procesos estocásticos de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.9. Análisis de las entradas usando Arena . . . . . . . . . . . . . . . . . . . . . . . 147
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
ÍNDICE III
9. Generación de números aleatorios 153
9.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
9.2. Generadores fı́sicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.3. Generadores aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9.4. Generadores congruenciales lineales . . . . . . . . . . . . . . . . . . . . . . . . . 161
9.5. Otros generadores congruenciales . . . . . . . . . . . . . . . . . . . . . . . . . . 166
9.6. Generadores combinados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
9.7. Generadores de Tausworthe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.8. Tests empı́ricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
9.9. Tests empı́ricos de uniformidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
9.10. Tests empı́ricos de independencia . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
10. Observaciones de variables aleatorias 187
10.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
10.2. Método de la transformación inversa . . . . . . . . . . . . . . . . . . . . . . . . . 188
10.3. Composición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
10.4. Convolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.5. Método de aceptación/rechazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
10.6. Observaciones de variables aleatorias continuas . . . . . . . . . . . . . . . . . . 193
10.7. Observaciones de variables aleatorias discretas . . . . . . . . . . . . . . . . . . 195
10.8. Generación de procesos de llegada . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
IV Empleo de los modelos de simulación 201
11. Análisis de los resultados de la simulación 203
11.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
11.2. Simulaciones con condición de finalización . . . . . . . . . . . . . . . . . . . . . 208
11.3. Simulaciones en el estacionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
11.4. Intervalos para varias magnitudes . . . . . . . . . . . . . . . . . . . . . . . . . . 214
11.5. Comparación entre dos sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
11.6. Comparación entre más de dos sistemas . . . . . . . . . . . . . . . . . . . . . . 220
11.7. Análisis usando Arena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
12. Reducción de la varianza 233
12.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
12.2. Números seudo aleatorios comunes . . . . . . . . . . . . . . . . . . . . . . . . . 234
12.3. Variables aleatorias antitéticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
13. Diseño de experimentos y optimización 243
IV Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
13.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
13.2. Objetivos, respuestas y factores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
13.3. Diseño experimental factorial completo . . . . . . . . . . . . . . . . . . . . . . . 248
13.4. Diseños experimentales factoriales fraccionales . . . . . . . . . . . . . . . . . . 254
13.5. Optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
13.6. Optimización usando Arena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
V Apéndices 263
A. Conceptos de probabilidad y estadı́stica 265
A.1. ¿Para qué? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
A.2. El significado de “probabilidad” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
A.3. Probabilidad condicionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
A.4. El teorema fundamental de la probabilidad . . . . . . . . . . . . . . . . . . . . . 267
A.5. El concepto de variable aleatoria . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
A.6. Probabilidad acumulada y densidad de probabilidad . . . . . . . . . . . . . . . 269
A.7. Cuantiles y mediana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
A.8. Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
A.9. Varianza y desviación estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
A.10. Estimadores de la media y de la varianza . . . . . . . . . . . . . . . . . . . . . . 271
A.11. Covarianza y coeficiente de correlación . . . . . . . . . . . . . . . . . . . . . . . 272
A.12. Secuencias de variables aleatorias . . . . . . . . . . . . . . . . . . . . . . . . . . 273
A.13. Teorema del lı́mite central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
A.14. Intervalos de confianza para la media . . . . . . . . . . . . . . . . . . . . . . . . 274
A.15. Intervalo de confianza para la varianza . . . . . . . . . . . . . . . . . . . . . . . 277
A.16. Intervalo de una distribución binomial . . . . . . . . . . . . . . . . . . . . . . . 279
A.17. Contraste de hipótesis paramétricas . . . . . . . . . . . . . . . . . . . . . . . . . 280
A.18. Contraste respecto a la media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
A.19. Contraste respecto a la varianza . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
A.20. Contraste respecto a la proporción . . . . . . . . . . . . . . . . . . . . . . . . . . 283
A.21. Boxplot (Box & Whiskers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
B. Distribuciones de probabilidad continuas 285
Uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Exponencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Gamma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Weibull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Lognormal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Beta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
ÍNDICE V
Triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Equivalencias entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Relaciones entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
C. Distribuciones de probabilidad discretas 295
Bernoulli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Uniforme discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Binomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Binomial negativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Equivalencias entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Relaciones entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
VI Tablas 303
T.1. Puntos crı́ticos de la distribución t y de la distribución normal estándar 305
T.2. Puntos crı́ticos de la distribución chi-cuadrado 306
T.3. Puntos crı́ticos del test de Kolmogorov-Smirnov 307
VI Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
Parte I
Introducción al modelado y la
simulación
1
Tema 1
Conceptos básicos del modelado y
la simulación
Objetivos: Una vez estudiado el contenido del tema y realizados los ejercicios
prácticos, deberı́a saber:
• Discutir los conceptos “sistema”, “modelo”, “simulación” y “marco expe-
rimental”.
• Describir y comparar los diferentes tipos de modelos.
• Comparar y reconocer los distintos tipos de modelos matemáticos.
1.1. Sistemas y modelos
En el sentido amplio del término, un modelo es
“una representación de un sistema desarrollada para un propósito especı́fico”.
Puesto que la finalidad de un modelo es ayudarnos a responder preguntas sobre un
determinado sistema, el primer paso en la construcción de un modelo es definir cuál es
el sistema y cuáles son las preguntas.
En este contexto, se entiende por sistema
“cualquier objeto o conjunto de objetos cuyas propiedades se desean estudiar”.
Con una definición tan amplia, cualquier fuente potencial de datos puede considerarse un
sistema. Algunos ejemplos de sistema son:
• Una planta de fabricación con máquinas, personal, dispositivos de transporte y almacén.
• El servicio de emergencias de un hospital, incluyendo al personal, las salas, el equipa-
miento y el transporte de los pacientes.
• Una red de ordenadores con servidores, clientes, dispositivos de disco y de cinta, impre-
soras, etc.
• Un supermercado con control de inventario, cajeros y atención al cliente.
3
4 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
• Un parque temático con atracciones, tiendas, restaurantes, trabajadores, clientes y
aparcamientos.
Un procedimiento para conocer el comportamiento de los sistemas es la experimentación.
De hecho, éste ha sido el método empleado durante siglos para avanzar en el conocimiento:
plantear las preguntas adecuadas acerca del comportamiento de los sistemas y responderlas
mediante experimentación. Un experimento es
“el proceso de extraer datos de un sistema sobre el cual se ha ejercido una acción
externa”.
Por ejemplo, el encargado de un supermercado puede ensayar diferentes procedimientos
de control del inventario y de distribución del personal, para determinar qué combinaciones
demuestran ser más rentables y proporcionan un mejor servicio.
Cuando es posible trabajar directamente con el sistema real, el método experimental
presenta indudables ventajas. Sin embargo, para que los resultados del experimento sean
válidos, debe garantizarse que no existen variables ocultas “confundidas” con las variables
experimentales. Por ejemplo, continuando con el modelo del supermercado, si la afluencia
de público durante el periodo en que se experimenta una estrategia de servicio es significa-
tivamente mayor que durante el periodo en que se experimenta la otra, no podrá extraerse
ninguna conclusión válida sobre el tiempo medio de espera de los clientes en la cola de las
cajas.
El método experimental está basado en sólidos fundamentos cientı́ficos, sin embargo tiene
sus limitaciones, ya que en ocasiones es imposible o desaconsejable experimentar con el
sistema real. En estos casos, el modelado y la simulación son las técnicas adecuadas para el
análisis de sistema, puesto que,
a excepción de la experimentación con el sistema real, la simulación es la única
técnica disponible que permite analizar sistemas arbitrarios de forma precisa, bajo
diferentes condiciones experimentales.
Existen múltiples razones por las cuales la experimentación con el sistema real puede
resultar inviable:
• Quizá la más evidente de ellas es que el sistema aun no exista fı́sicamente. Esta si-
tuación se plantea frecuentemente en la fase de diseño de nuevos sistemas, cuando
el ingeniero necesita predecir el comportamiento de los mismos antes de que sean
construidos.
• Otra posible razón es el elevado coste económico del experimento. Consideremos el caso
de un empresario que planea ampliar las instalaciones de su empresa, pero que no
está seguro de que la ganancia potencial justifique el coste de la ampliación. Ciertamen-
te, no serı́a razonable que, para salir de dudas, realizara la ampliación y luego se volviera
atrás si ésta demostrara no ser rentable. Una alternativa consiste en simular la opera-
ción de la configuración actual de la empresa, simular la operación de la configuración
alternativa y comprar sus productividades.
• El experimento puede producir perjuicio o incomodidad. Por ejemplo, experimentar con
un nuevo sistema de facturación en un aeropuerto puede producir retrasos y problemas
imprevisibles que perjudiquen al viajero.
• En ocasiones el tiempo requerido para la realización del experimento lo hace irrealiza-
ble. Casos extremos pueden encontrarse en los estudios geológicos o cosmológicos, de
evolución de las especies, sociológicos, etc.
• Algunos experimentos son peligrosos, y por tanto es desaconsejable realizarlos. Por
ejemplo, serı́a inapropiado usar el sistema real para adiestrar a los operarios de una
central nuclear acerca de cómo deben reaccionar ante situaciones de emergencia.
• En ocasiones el experimento requiere modificar variables que en el sistema real o bien
no están accesibles o no pueden ser modificadas en el rango requerido. Con un modelo
matemático adecuado, se pueden ensayar condiciones de operación extremas que son
impracticables en el sistema real.
TEMA 1. CONCEPTOS BÁSICOS 5
SISTEMA
EXPERIMENTAR
CON EL SISTEMA
REAL
EXPERIMENTAR CON EL
MODELO DEL SISTEMA
MODELO
MENTAL
MODELO
VERBAL
MODELO
FÍSICO
MODELO
MATEMÁTICO
SOLUCIÓN
ANALÍTICA SIMULACIÓN
Figura 1.1: Formas de estudiar un sistema.
1.2. Tipos de modelos
Los seres humanos, en nuestra vida cotidiana, empleamos continuamente modelos para
comprender y predecir el comportamiento de sistemas (ver la Figura 1.1). Por ejemplo, con-
siderar que alguien es “amable” constituye un modelo del comportamiento de esta persona.
Este modelo nos ayuda a responder, por ejemplo, a la pregunta: “¿cómo reaccionará si le
pedimos un favor?”. También disponemos de modelos de los sistemas técnicos que están
basados en la intuición y en la experiencia. Todos estos se llaman modelos mentales .
Por ejemplo, aprender a conducir un coche consiste parcialmente en desarrollar un modelo
mental de las propiedades de la conducción del coche. Asimismo, un operario trabajando en
determinado proceso industrial sabe cómo el proceso reacciona ante diferentes acciones: el
operario, mediante el entrenamiento y la experiencia, ha desarrollado un modelo mental del
proceso.
Otro tipo de modelos son los modelos verbales, en los cuales el comportamiento del sistema
es descrito mediante palabras: si se aprieta el freno, entonces la velocidad del coche se
reduce. Los sistemas expertos son ejemplos de modelos verbales formalizados. Es importante
diferenciar entre los modelos mentales y los verbales. Por ejemplo, nosotros usamos un
modelo mental de la dinámica de la bicicleta cuando la conducimos, sin embargo no es
sencillo convertirlo a un modelo verbal.
Además de los modelos mentales y verbales, existe otro tipo de modelos que tratan de
imitar al sistema real. Son los modelos fı́sicos, como las maquetas a escala que construyen
los arquitectos, diseñadores de barcos o aeronaves para comprobar las propiedades estéticas,
aerodinámicas, etc.
Finalmente, existe un cuarto tipo de modelos, los modelos matemáticos. En ellos, las rela-
ciones entre las cantidades que pueden ser observadas del sistema (distancias, velocidades,
flujos, etc.) están descritas mediante relaciones matemáticas. En este sentido, la mayorı́a de
las leyes de la naturaleza son modelos matemáticos.
Por ejemplo, para el sistema “masa puntual”, la Ley de Newton del movimiento describe la
relación entre la fuerza y la aceleración. Asimismo, para el sistema “resistencia eléctrica”, la
Ley de Ohm describe la relación entre la caı́da de tensión y el flujo de corriente.
En algunos casos, las relaciones matemáticas que constituyen los modelos son sencillas
y pueden resolverse analı́ticamente. Sin embargo, en la mayorı́a de los casos, los modelos
6 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
no pueden resolverse analı́ticamente y deben estudiarse, con ayuda del ordenador, aplicando
métodos numéricos.
Este experimento numérico realizado sobre el modelo matemático, recibe el nombre
de simulación.
1.3. Modelos matemáticos
La finalidad de un estudio de simulación (es decir, las preguntas que debe responder) con-
diciona las hipótesis empleadas en la construcción del modelo, y éstas a su vez determinan
qué tipo de modelo resulta más adecuado al estudio. De hecho, un mismo sistema puede
ser modelado de múltiples formas, empleando diferentes tipos de modelos, dependiendo de la
finalidad perseguida en cada caso.
Existen diferentes clasificaciones de los modelos matemáticos, atendiendo a diferentes cri-
terios. A continuación se describen algunas de las clasificaciones más comúnmente usadas.
Determinista vs Estocástico
Un modelo matemático es determinista cuando todas sus variables de entrada son deter-
ministas, es decir, el valor de cada una de ellas es conocido en cada instante.
Un ejemplo de modelo determinista es un servicio al cual los clientes acceden ordenada-
mente, cada uno a una hora preestablecida (de acuerdo, por ejemplo, con un libro de citas),
y en el cual el tiempo de servicio a cada cliente está igualmente preestablecido de antemano.
No existe incertidumbre en la hora de inicio o de finalización de cada servicio.
Por el contrario, un modelo es estocástico cuando alguna de sus variables de entrada es
aleatoria. Las variables del modelo calculadas a partir de variables aleatorias son también
aleatorias. Por ello, la evolución de este tipo de sistemas debe estudiarse en términos proba-
bilı́sticos.
Por ejemplo, considérese el modelo de parking, en el cual las entradas y salidas de coches
se producen en instantes de tiempo aleatorios. La aleatoriedad de estas variables se propaga
a través de la lógica del modelo, de modo que las variables dependientes de ellas también
son aleatorias. Este serı́a el caso, por ejemplo, del tiempo que transcurre entre que un cliente
deja aparcado su vehı́culo y lo recoge (tiempo de aparcamiento), el número de vehı́culos que
hay aparcados en un determinado instante, etc.
Es importante tener en cuenta que realizar una única réplica de una simulación estocásti-
ca es equivalente a realizar un experimento fı́sico aleatorio una única vez.
Por ejemplo, si se realiza una simulación del comportamiento del parking durante 24
horas, es equivalente a observar el funcionamiento del parking real durante 24 horas. Si se
repite la observación al dı́a siguiente, seguramente los resultados obtenidos serán diferentes,
y lo mismo sucede con la simulación: si se realiza una segunda réplica independiente de la
primera, seguramente los resultados serán diferentes.
La consecuencia que debe extraerse de ello es que el diseño y el análisis de los experimen-
tos de simulación estocásticos debe hacerse teniendo en cuenta esta incertidumbre en los
resultados, es decir, debe hacerse empleando técnicas estadı́sticas.
Las dificultades asociadas a la simulación de modelos estocásticos pueden invitarnos en
ocasiones a realizar hipótesis adicionales, con el fin de eliminar la incertidumbre en el valor
de las variables de entrada. Un ejemplo tı́pico consiste en sustituir cada variable de entrada
aleatoria por otra determinista, cuyo valor sea la media de la distribución de probabilidad de
aquella. Este modelo determinista, obtenido de eliminar la incertidumbre en el valor de las
variables de entrada, proporcionará resultados no aleatorios. Sin embargo, esta simplificación
hará que probablemente el modelo ya no sea una representación del sistema válida para el
objetivo del estudio.
TEMA 1. CONCEPTOS BÁSICOS 7
Estático vs Dinámico
Un modelo de simulación estático es una representación de un sistema en un instante
de tiempo particular, o bien un modelo que sirve para representar un sistema en el cual el
tiempo no juega ningún papel. Ejemplo de simulaciones estáticas son las simulaciones de
Monte Carlo.
Por otra parte, un modelo de simulación dinámico representa un sistema que evoluciona
con el tiempo.
De tiempo continuo vs De tiempo discreto vs Hı́brido
Un modelo de tiempo continuo está caracterizado por el hecho de que el valor de sus
variables de estado puede cambiar infinitas veces (es decir, de manera continua) en un
intervalo finito de tiempo. Un ejemplo es el nivel de agua en un depósito.
Por el contrario, en un modelo de tiempo discreto los cambios pueden ocurrir únicamente
en instantes separados en el tiempo. Sus variables de estado pueden cambiar de valor sólo
un número finito de veces por unidad de tiempo.
Pueden definirse modelos con algunas de sus variables de estado de tiempo continuo y las
restantes de tiempo discreto. Este tipo de modelos, con parte de tiempo continuo y parte de
tiempo discreto, de llama modelos hı́bridos.
Tal como se ha indicado al comienzo de la sección, la decisión de realizar un modelo conti-
nuo o discreto depende del objetivo especı́fico del estudio y no del sistema en sı́. Un ejemplo de
ello lo constituyen los modelos del flujo de tráfico de vehı́culos. Cuando las caracterı́sticas y el
movimiento de los vehı́culos individuales son relevantes puede realizarse un modelo discreto.
En caso contrario, puede resultar más sencillo realizar un modelo continuo.
En este punto es conveniente realizar una consideración acerca de los modelos de tiempo
continuo y discreto. Al igual que las variables continuas (aquellas que pueden tomar cualquier
valor intermedio en su rango de variación) son una idealización, también lo son los modelos
de tiempo continuo. Cualquiera que sea el procedimiento de medida que se emplee para medir
el valor de una variable, tendrá un lı́mite de precisión. Este lı́mite marca la imposibilidad
de dar una medida continua y supone que, en la práctica, todas las medidas son discretas.
Igualmente, los ordenadores trabajan con un número finito de cifras decimales. Sin embargo,
para los razonamientos teóricos, conviene considerar ciertas variables como continuas.
Al simular mediante un computador digital un modelo de tiempo continuo, debe discre-
tizarse el eje temporal a fin de evitar el problema de los infinitos cambios en el valor de
los estados. Esta discretización constituye una aproximación (con su error asociado) que
transforma el modelo de tiempo continuo en un modelo de tiempo discreto. Por ejemplo, si se
discretiza el eje temporal del modelo de tiempo continuo
dx
dt
= f (x, u, t) (1.1)
con un intervalo de discretización ∆t, se obtiene (empleando el método de Euler explı́cito) el
siguiente modelo de tiempo discreto:
xK+1 − xK
∆t
= f (xK, uK, tK) −→ xK+1 = xK + ∆t · f (xK, uK, tK) (1.2)
1.4. El marco experimental
Al igual que se distingue entre el sistema real y el experimento, es conveniente distinguir
entre la descripción del modelo y la descripción del experimento. Esto es ası́ tanto desde el
punto de vista conceptual como práctico. Sin embargo, en el caso del modelo esta separación
8 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
implica cierto riesgo: su empleo en unas condiciones experimentales para las cuales no es
válido.
Por supuesto, cuando se trabaja con sistemas reales este riesgo nunca existe, ya que un
sistema real es válido para cualquier experimento. Por el contrario, cualquier modelo está fun-
damentado en un determinado conjunto de hipótesis. Cuando las condiciones experimentales
son tales que no se satisfacen las hipótesis del modelo, éste deja de ser válido. Para evitar este
problema, la descripción del modelo debe ir acompañada de la documentación de su marco
experimental. Éste establece el conjunto de experimentos para el cual el modelo es válido.
EJERCICIOS
1.1 Describa cuál serı́a en su opinión la forma más eficaz de estudiar cada uno de los
sistemas siguientes, en términos de las posibilidades mostradas en la Figura 1.1.
1. Un ecosistema compuesto por varias especies animales y vegetales, y por recursos
(agua, luz, etc.).
2. Una glorieta en la que convergen varias calles, y que frecuentemente presenta
atascos.
3. Una presa para el suministro de agua y electricidad, que se planea construir en un
rı́o.
4. El servicio de urgencias de un hospital, que se encuentra en funcionamiento.
5. Un servicio de entrega de pizzas a domicilio.
6. Una determinada secuencia de pasos en el proceso de fabricación de circuitos
integrados, en una fábrica que se encuentra en funcionamiento.
7. El funcionamiento de un autobús, que conecta el punto de devolución de vehı́culos,
de una compañı́a de alquiler de coches, con el aeropuerto.
8. Un circuito eléctrico.
1.2 Para cada uno de los sistemas mencionados en el problema anterior, suponga que se ha
decidido realizar el estudio mediante simulación. Discuta si la simulación deberı́a ser
estática o dinámica, determinista o estocástica, y continua o discreta.
1.3 Sugiera al menos dos estudios de simulación en el ámbito de la fabricación/manufactura,
y otro en el ámbito de los servicios (por ejemplo, servicios de salud, bomberos, etc.). Jus-
tifique el uso de simulación, en oposición al empleo de modelos analı́ticos. ¿Qué aspectos
del análisis mediante simulación son particularmente ventajosos para la aplicación
seleccionada?
Tema 2
Pasos en un estudio de simulación
Objetivos: Una vez estudiado el contenido del tema y realizados los ejercicios
prácticos, deberı́a saber:
• Discutir los pasos de que consta un estudio de simulación.
2.1. Introducción
A grandes rasgos, los pasos que deben seguirse en un estudio de simulación son los
siguientes:
1. Definición del problema. Consiste en definir claramente por qué se estudia el sistema
y qué objetivos se persigue con ello, es decir, cuáles son las preguntas a contestar.
2. Planificación del proyecto. Tiene como objetivo estimar qué recursos son necesarios
para llevar a cabo el estudio: dinero, personal, hardware de computación, recursos
software, etc. Si estos recursos no están disponibles debe replantearse el alcance del
estudio.
3. Definición del sistema. Debe definirse qué aspectos de la realidad constituyen el siste-
ma bajo estudio.
4. Formulación conceptual del modelo. Desarrollo de un modelo preliminar, bien gráfi-
camente (mediante diagramas de bloques) o en seudo código, en el que se definen los
componentes, las variables descriptivas y las interacciones (la lógica) que constituyen el
modelo del sistema.
5. Diseño preliminar del experimento. Consiste en definir qué acción se va a ejercer
sobre el modelo y cómo se va a medir su comportamiento. Se trata, por tanto, de definir
qué variables son las entradas y cuáles las salidas, cómo va a modificarse el valor de las
entradas y cómo van a recogerse los datos de salida.
6. Preparación de los datos de entrada. Debe establecerse el procedimiento a seguir para
asignar valores a cada una de las variables de entrada durante la simulación.
7. Traducción del modelo. Consiste en describir las partes del modelo y su funciona-
miento empleando un lenguaje de simulación. De este modo ya puede ejecutarse la
simulación.
8. Verificación y validación. Se trata de estudiar si el modelo opera como debiera y si la
salida del modelo es creı́ble y representativa del comportamiento del sistema.
9
10 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
9. Diseño experimental final. En este punto se diseña un experimento que proporcione
la información necesaria para poder contestar a las preguntas planteadas en el estudio.
Tı́picamente el experimento consiste en cierto número de réplicas de la simulación
realizadas en condiciones bien definidas.
10. Experimentación. Realización del experimento de simulación diseñado anteriormente.
11. Análisis e interpretación. Consiste en inferir conclusiones a partir de los datos obteni-
dos de la simulación.
12. Implementación y documentación. Una vez obtenidos los resultados, analizados y
extraı́das las conclusiones, éstas deben ser presentadas de la forma más adecuada. El
modelo debe ser documentado y preparado de modo que pueda ser reutilizado para
posteriores estudios. Finalmente, deben tomarse acciones (si ésta era la finalidad del
estudio) a partir de las conclusiones obtenidas.
Respecto a la distribución del esfuerzo, un posible criterio1
es la regla 40-20-40, consis-
tente en:
• Emplear el 40 % del esfuerzo y del tiempo del proyecto en los pasos 1 a 6 (comprensión
del problema, diseño del modelo y del experimento).
• Emplear el 20 % del esfuerzo en el paso 7 (programación del modelo).
• Finalmente, emplear el 40 % restante en los pasos 8 a 12 (verificación, validación, diseño
y realización del experimento, análisis de los resultados, implementación y documenta-
ción).
A continuación se discute en detalle cada uno de estos pasos.
2.2. Definición del problema y planificación del proyecto
Antes de intentar resolver un problema, es esencial formularlo adecuadamente. Ésta es
una afirmación que parece evidente, de sentido común, pero que no siempre se aplica. Para
encontrar una solución a un problema, uno debe conocer primero cuál es el problema. En
particular, el primer paso en todo estudio de simulación es definir explı́citamente cuál es
su objetivo: la construcción del modelo se realiza con el fin de ayudar a responder ciertas
preguntas acerca del sistema real.
El objetivo de un estudio de simulación puede ser de lo más diverso. Algunos ejemplos
son:
• Evaluación del comportamiento de determinado diseño del sistema en términos abso-
lutos frente a determinados criterios especı́ficos.
• Comparación del comportamiento de diferentes diseños alternativos del sistema, o
comparación de diferentes polı́ticas de operación o procedimientos.
• Predicción del comportamiento del sistema bajo cierto conjunto de condiciones.
• Análisis de la sensibilidad, es decir, determinar entre varios factores cuál es el que más
afecta al comportamiento del sistema.
• Optimización, esto es, cálculo de los valores de determinados parámetros del modelo
que producen que el sistema tenga la mejor respuesta (atendiendo a un determinado
criterio).
• Estudio de las relaciones funcionales entre determinadas variables del modelo. Por
ejemplo, la determinación de la relación funcional entre una de las respuestas del
modelo y determinadas variables de entrada.
• Localización y análisis de los cuellos de botella. Consiste en descubrir la localización
de los cuellos de botella del sistema y evaluar propuestas para descongestionar alguno
de ellos.
Estos objetivos pretenden responder preguntas del tipo:
• ¿Funciona el sistema del modo que queremos que lo haga (evaluación y predicción)?
1(Pedgen, Shannon & Sadowsky 1995)
TEMA 2. PASOS EN UN ESTUDIO DE SIMULACIÓN 11
• ¿Por qué no funciona el sistema y qué podemos hacer para que funcione (determinación
de los cuellos de botella y optimización)?
• ¿Cuál es la mejor alternativa (comparación y análisis de sensibilidad)?
El propósito del estudio de simulación tiene implicaciones decisivas en el diseño del
modelo y del experimento. Por ejemplo, si el propósito es evaluar el comportamiento de
un sistema en términos absolutos, deberá existir un alto grado de correspondencia entre
el comportamiento del modelo y del sistema. Por el contrario, si el propósito del estudio es
comparar varios diseños, el modelo puede ser válido en un sentido relativo incluso cuando
sus respuestas en un sentido absoluto difieran considerablemente de las del sistema real.
En consecuencia, el proceso completo de diseño del modelo, validación, diseño de los experi-
mentos y análisis de los resultados debe estar ı́ntimamente relacionado con el propósito del
estudio.
No obstante, el objetivo del estudio debe definirse con más detalle que mediante una simple
pregunta. También es necesario conocer todos los aspectos relevantes que rodean al proyecto
de simulación. Frecuentemente el estudio es realizado por un grupo de ingenieros que deben
recomendar una solución al problema, pero que no son quienes deben tomar la decisión final.
En estos casos, lo resultados del estudio deben servir simultáneamente a dos propósitos:
ayudar a formular la recomendación y ayudar a “vender” la recomendación. Con este fin,
deben considerarse otros factores condicionantes: cuáles son los intereses de la persona que
debe tomar la decisión final, qué aspectos de la situación están bajo su control y cuáles no,
en qué va a consistir el proceso de la toma de decisión, qué otras personas participan en
la toma de la decisión (en especial aquellas que se oponen a que se realicen cambios en el
sistema) y cuáles son sus objetivos más relevantes, etc.
Como parte de la planificación deben considerarse todos aquellos factores que son crı́ticos
para el éxito del proyecto, tales como:
• ¿Están claramente definidos los objetivos del estudio? ¿Por qué se realiza el estudio?
¿Qué se pretende obtener del estudio?
• ¿Se dispone de los recursos adecuados y suficientes para poder realizar el estudio:
tiempo, personal, software, ordenadores, etc.?
• ¿Dispone el estudio del soporte necesario por parte de la dirección? Las partes involu-
cradas se implicarán en mayor medida si son conscientes del respaldo de la dirección.
¿Se les ha informado adecuadamente? ¿Son conscientes de que ese respaldo existe?
• ¿Se han definido las tareas de que consta el proyecto, la vinculación entre ellas, quién
debe realizarlas y en qué fechas?
• ¿Posee cada uno de los miembros del proyecto la formación necesaria para realizar con
éxito su cometido? ¿Está suficientemente capacitado el coordinador del proyecto?
• ¿Se han identificado los usuarios potenciales o clientes de los resultados del estudio?
¿Han sido todos ellos consultados? ¿Se ha establecido el procedimiento para comunicar-
les regularmente el estado en que se encuentra el proyecto y los progresos realizados?
• ¿Se han establecido los adecuados canales de comunicación entre los miembros del
equipo, la dirección y los clientes?
2.3. Definición del sistema y formulación del modelo
La esencia del arte del modelado son la abstracción y la simplificación. Se trata de identi-
ficar el pequeño conjunto de caracterı́sticas o propiedades del sistema suficientes para servir
los objetivos especı́ficos del estudio. A grandes rasgos, la metodologı́a para la construcción
del modelo podrı́a ser la siguiente:
• Escoger las variables de salida, lo cual resulta relativamente sencillo una vez definido el
objetivo del estudio.
• La construcción del modelo se realiza identificando qué componentes del sistema afectan
a estas variables de salida y decidiendo, para cada uno de ellos, si debe ser incluido en
12 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
el modelo o si debe ser considerado parte del entorno del modelo. En este último caso,
el componente es representado mediante entradas al modelo.
• Una vez se ha decidido qué componentes constituyen de modelo y qué variables des-
criben el comportamiento de cada componente, deben determinarse las relaciones fun-
cionales entre los componentes, es decir, la lógica del modelo. Normalmente se usan
gráficos o seudo código para describir el sistema como un diagrama de flujo lógico.
Para diseñar el modelo de simulación conviene disponer de la máxima información posible
acerca del sistema. Existen diversas fuentes de información, por ejemplo:
• La documentación de las especificaciones de diseño del sistema. Aunque posiblemente
esta información no haya sido actualizada desde hace tiempo y esté incompleta, suele
ser un punto de partida razonable para comprender el sistema.
• Entrevistas con operarios e ingenieros que conozcan el sistema o con sus diseñadores
si éste todavı́a no ha sido construido. En efecto, durante el diseño del modelo puede
invitarse a especialistas en el sistema a que examinen datos de salida, procedentes
unos del sistema real y otros del modelo, y que intenten, sin conocer la respuesta,
identificar (razonadamente) cuáles provienen del modelo y cuáles del sistema real. Esta
información puede emplearse para mejorar el modelo.
• Observaciones y medidas realizadas “de primera mano” sobre el sistema. Sin duda ésta
es la fuente de información más fiable: una vez leı́da la documentación y discutida la
operación del sistema con operarios e ingenieros, es recomendable observar el sistema
en operación. De hecho, en los primeros años de la investigación de operaciones se
consideraba un procedimiento habitual que los ingenieros a cargo del modelado partici-
paran durante cierto tiempo en la operación del sistema bajo estudio a fin de conocerlo
mejor.
La tarea de modelado implica la búsqueda de un punto de equilibrio: el modelo debe
representar los aspectos del sistema real con el grado de detalle requerido, pero de modo que
sea lo más sencillo posible. No debe hacerse un modelo demasiado detallado, que incluya
componentes que contribuyan poco o nada a la comprensión del problema. Debe tenerse
presente que el objetivo del modelo es responder a las preguntas planteadas y no imitar de
manera precisa el comportamiento del sistema real. Además, aumentando la complejidad del
modelo, no necesariamente se consigue aumentar su realismo.
Ejemplo 2.3.1. En (Law & Kelton 2000) se describe el siguiente caso real. La dirección de una
fábrica de comida para perros encargó a una consultorı́a la realización de un modelo de su
lı́nea de producción, que producı́a 1 millón de latas de comida al dı́a, a velocidad constante. Al
realizar el modelo, se representó cada lata de comida como una entidad independiente, con lo
cual era extremadamente costoso ejecutar el modelo, y por ello, no fue muy útil. Unos años más
tarde, el modelo fue reescrito, tratando el proceso de fabricación como un “flujo continuo”. El
nuevo modelo produjo resultados precisos, y se ejecutaba en una pequeña fracción del tiempo
necesario para ejecutar el modelo original.
Ejemplo 2.3.2. En (Law & Kelton 2000) se describe otro caso real. En 1985 se realizó un
modelo de una fábrica de grandes dimensiones (medı́a 1.5 millas de largo), con un coste de
$250,000. Sin embargo, el modelo era tan detallado que jamas pudo llegarse a ejecutar, dado
los inmensos recursos de memoria que requerı́a.
Una buena práctica consiste en realizar el modelo de manera iterativa: comenzar con un
modelo muy simple, cuya complejidad puede posteriormente ir aumentándose fácilmente.
Para ello, el modelo debe realizarse de manera modular y jerárquica, dividiendo el sistema
en submodelos y modelando todos ellos con un nivel semejante de complejidad. Este modelo
inicial puede construirse muy rápido y puede servir de punto de discusión sobre posteriores
refinamientos en el modelado (se entiende por “refinamiento” del modelo el aumento en su
nivel de detalle). Añadiendo progresivamente los refinamientos al modelo, y comparando los
resultados obtenidos con los del modelo más sencillo, puede estimarse el impacto de cada
conjunto de refinamientos sobre la respuesta del modelo. En determinado punto de este
proceso de aumento gradual de la complejidad del modelo, los refinamientos añadidos tienen
TEMA 2. PASOS EN UN ESTUDIO DE SIMULACIÓN 13
un efecto pequeño, es decir, influyen despreciablemente en las conclusiones del estudio, con
lo cual se concluirá que no es preciso incorporarlos.
Existen varias técnicas que se pueden aplicar simultáneamente para obtener un modelo
simplificado de un sistema. Algunas de ellas son:
• La omisión de ciertos detalles del modelo. La idea que hay detrás de esta aproximación
es que no todos los factores son igualmente importantes para determinar el comporta-
miento del sistema. Se trata de determinar qué factores son crı́ticos (efectos de primer
orden) y cuáles no (efectos de segundo orden).
Omitir los detalles supone introducir deliberadamente “imperfecciones”, y por tanto
podrı́a considerarse que es una mala práctica. Sin embargo, nada más lejos de la
realidad: solamente omitiendo los factores de segundo orden puede construirse un
modelo útil. El aumento en el nivel de detalle debe hacerse atendiendo al impacto que
la complejidad añadida tiene sobre los resultados del estudio, es decir, debe emplearse
el esfuerzo de modelado en la representación de aquellos aspectos del sistema que más
influencia tienen sobre los resultados del estudio.
• Agregar determinados procesos del sistema en un proceso equivalente. Ejemplos tı́picos
de agregación son:
– Agregación temporal: se trata un intervalo de tiempo como una unidad. Por ejemplo,
se consideran que todos los eventos ocurridos en un dı́a han ocurrido simultánea-
mente en determinado instante (por ejemplo, a las 12 de la mañana).
– Agregación de recursos: se tratan varios recursos como una unidad. Por ejemplo, si
un operario de una cadena de montaje realiza cierto número de trabajos consecu-
tivos, puede modelarse la operación completa como un proceso simple en lugar de
modelar cada una de las tareas individualmente.
El Teorema del Lı́mite Central a menudo ayuda a determinar la distribución de
probabilidad resultante del proceso agrupado. Si la variable aleatoria del proceso
agrupado (por ejemplo, el tiempo en realizar la tarea) es suma de las variables
aleatorias de los subprocesos y si éstas son independientes entre sı́, entonces la
variable del proceso agrupado está aproximadamente distribuida de forma normal
cuando el número de subprocesos es grande (sean cuales sean las distribuciones
de probabilidad de las variables de los subprocesos).
• El tercer tipo de simplificación consiste en sustituir un proceso complejo por un proceso
diferente, más sencillo, que se comporte de manera equivalente al proceso original.
Un ejemplo es la representación de un proceso complejo, cuyo comportamiento no se
comprende o no se desea modelar, por medio de determinada distribución de probabili-
dad. De este modo, se sustituye un componente del sistema por entradas al sistema.
Por ejemplo, para modelar los pedidos realizados por determinado cliente puede, o
bien modelarse toda la estructura de negocio del cliente, o bien considerar que sus
demandas están distribuidas aleatoriamente de acuerdo a determinada distribución de
probabilidad.
Además de la aplicación de las técnicas anteriores, comúnmente se realizan las siguientes
aproximaciones:
• La definición de los “lı́mites” del modelo y de su interacción con el entorno implica la
realización de aproximaciones, entre ellas la decisión de qué factores externos influyen
sobre el funcionamiento del modelo (entradas al modelo) y cuáles son ignorados.
• Los fenómenos de naturaleza aleatoria son modelados mediante funciones de proba-
bilidad (frecuentemente distribuciones teóricas) que los representan sólo de manera
aproximada.
• Al modelar la interacción entre los fenómenos aleatorios, en ocasiones se considera (de
forma aproximada) que dos variables aleatorias son estadı́sticamente independientes
con el fin de simplificar el modelo.
• En ocasiones de considera que la distribución de probabilidad de algunos de los paráme-
tros del modelo no varı́a con el tiempo. Esta aproximación es razonable si la velocidad
de cambio es muy pequeña comparada con el periodo de tiempo de interés.
14 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
El impacto de las aproximaciones de modelado debe estimarse considerando el propósito
especı́fico del estudio de simulación:
• Si el propósito es estimar de manera precisa el comportamiento del sistema, deben
evaluarse las simplificaciones considerando su impacto sobre la medida del comporta-
miento.
• Por otro lado, si el propósito del estudio es comparar diferentes sistemas o procedimien-
tos, debe evaluarse si la simplificación afecta a todos los modelos aproximadamente de
la misma manera (los errores son aproximadamente iguales en magnitud).
Por este motivo, estimar el comportamiento absoluto de un sistema normalmente requiere
modelos considerablemente más detallados que comparar varios sistemas. Una consecuen-
cia práctica de este hecho es que los modelos matemáticos suelen ser más precisos en la
comparación de sistemas alternativos que en la obtención de respuestas absolutas.
2.4. Diseño de los experimentos
El diseño de los experimentos se realiza en dos etapas diferentes del estudio de simulación.
En primer lugar, antes de que el diseño del modelo haya finalizado. Tan pronto como sea
posible deben seleccionarse qué medidas del comportamiento del sistema van a usarse en
el estudio, qué factores van a variarse y qué niveles de cada uno de estos factores van a
investigarse. Una vez que el modelo ha sido desarrollado, verificado y validado, se revisa el
diseño experimental teniendo en cuenta el conocimiento que se ha ganado durante el proceso
de diseño, construcción, verificación y validación del modelo.
El experimento debe diseñarse cuidadosamente, atendiendo a las siguientes dos conside-
raciones:
• El diseño del experimento determina el tipo de análisis estadı́stico que debe aplicarse a
los resultados.
• Los experimentos de simulación deben diseñarse de modo que permitan obtener la
máxima información acerca del comportamiento del sistema al menor costo posible
(tiempo y trabajo del experimentador, y tiempo de computación).
2.5. Datos de entrada
Determinar qué datos emplear como entrada al modelo durante la simulación es una
tarea muy delicada, de la que depende en gran medida el éxito del estudio. De hecho,
frecuentemente la recogida y el análisis de los datos del sistema, y el modelado de las entradas
a partir de estos datos, consume más tiempo que el propio diseño y programación del modelo.
El diseño de un modelo estocástico de simulación siempre implica decidir si determinados
aspectos del sistema son representados de forma estocástica o determinista. Si se opta por
una descripción probabilı́stica de determinado aspecto, puede suceder que:
• Puedan obtenerse datos experimentales del sistema. En este caso, debe decidirse si
durante la simulación se muestrea directamente de los datos experimentales, o bien si
se muestrea de una distribución de probabilidad ajustada a partir de éstos.
• No puedan obtenerse datos experimentales, bien porque el sistema aun no ha sido
construido o porque no es posible recogerlos. En este caso, puede uno basarse en
consideraciones teóricas y en estimaciones de operarios, ingenieros, diseñadores, etc.
familiarizados con el funcionamiento del sistema.
TEMA 2. PASOS EN UN ESTUDIO DE SIMULACIÓN 15
2.6. Traducción del modelo
Durante la década de los 60 las simulaciones se realizaban usando lenguajes de pro-
gramación procedurales, de propósito general, como es el caso de FORTRAN. Como puede
suponerse, la escritura de estos programas resultaba una tarea larga, costosa, tediosa y
propensa a errores, ya que el programador debı́a tener en cuenta hasta el más mı́nimo detalle
de la simulación del modelo. Esta metodologı́a de modelado se denomina modelado orientado
a los eventos.
Con el fin de poder reutilizar parte del código, se desarrollaron bibliotecas de funciones,
que realizaban algunas de las tareas rutinariamente requeridas en una simulación y que
podı́an ser invocadas desde el programa de simulación. Sin embargo, los modelos debı́an ser
programados prácticamente desde el principio cada vez que se introducı́an en ellos modifica-
ciones importantes. En resumen, la simulación era una técnica muy costosa y especializada,
sólo al alcance de empresas capaces de realizar grandes inversiones económicas.
Ante la gran dificultad (algunos autores hablan de imposibilidad) de realizar estudios
complejos de simulación basados en ésta metodologı́a, se desarrolló una nueva metodologı́a
de modelado: el modelado orientado a los procesos. Esta metodologı́a permite describir el
modelo de manera más “natural”, más próxima al razonamiento humano. En la década de
los años 70 aparecieron los lenguajes de simulación de propósito general para modelos de
tiempo discreto, que posibilitaron la práctica de esta nueva metodologı́a. Estos entornos
de simulación traducı́an automáticamente la descripción orientada al proceso del modelo
(realizada por el usuario), a la descripción orientada a los eventos, expresada en un determi-
nado lenguaje de programación, cuya ejecución constituye la realización del experimento de
simulación. Algunos de estos lenguajes de simulación son todavı́a usados en la actualidad:
GPSS, SIMSCRIPT, SLAM, SIMAN, etc..
Durante la década de los 80 los lenguajes de simulación evolucionaron. Aparecieron
nuevas versiones que recogı́an los dos conceptos fundamentales siguientes:
• La separación en actividades distintas de las etapas (funcionalmente distintas) de mo-
delado, especificación del experimento y análisis de las salidas.
• El aprovechamiento de todas las capacidades disponibles en el momento para el manejo
de bases de datos, capacidades gráficas y de verificación del programa.
Los avances experimentados en todos los ámbitos de la computación durante la primera
mitad de la década de los 90, posibilitaron el desarrollo de los entornos de modelado: una
capa software construida sobre el lenguaje de simulación con el fin de facilitarle al usuario la
descripción del modelo. El manejo de cualquier lenguaje de simulación requiere un esfuerzo
previo por parte del usuario en el aprendizaje de sus particularidades sintácticas. Con el fin
de facilitar la descripción del modelo, los entornos de modelado proporcionan interfaces de
usuario muy intuitivas con menús, diálogos, etc. El usuario construye el modelo seleccio-
nando los componentes (pinchando y arrastrando el icono) y conectándolos gráficamente. La
animación y otras capacidades gráficas permiten visualizar la evolución del sistema durante
la simulación. El interfaz gráfico de usuario del entorno de modelado también permite acceder
a los niveles inferiores en la descripción del modelo: a la descripción de partes del modelo
usando el lenguaje de simulación e incluso al lenguaje de programación.
Un ejemplo es el entorno de modelado Arena, que soporta el uso combinado de diferentes
niveles de descripción: elementos de alto nivel parametrizables por el usuario y elementos
de bajo nivel que el usuario puede definir usando el lenguaje de simulación SIMAN o los
lenguajes de programación Visual Basic o C/C++.
2.7. Verificación y validación del modelo
Los procesos de verificación y la validación son conceptualmente distintos:
16 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
• La finalidad de la verificación es comprobar que no se han cometido errores al traducir
el modelo, bien usando un entorno de modelado o mediante un lenguaje de simulación
o de programación.
• La validación consiste en comprobar que el modelo supone una aproximación adecuada
de la realidad para los objetivos particulares del estudio de simulación.
Sin embargo, cuando los resultados de la simulación nos parecen “extraños” o erróneos,
no siempre está claro si es debido a que nos hemos equivocado al traducir el modelo o a que
las hipótesis de modelado no son las adecuadas.
Verificación
Entre otros, pueden usarse los siguientes procedimientos para verificar el modelo:
• Verificación manual de la lógica. Consiste en ejecutar la simulación durante un perio-
do de tiempo corto y comprobar manualmente los resultados obtenidos.
• Comprobación submodelo a submodelo. Se trata de verificar individualmente que cada
submodelo produce los resultados esperados para todos los posibles tipos de entradas.
• Comprobación con soluciones conocidas. Consiste en ajustar el modelo de modo que
represente un sistema de solución conocida y comparar ésta con los resultados de la
simulación.
• Test de sensibilidad. Puede modificarse el valor de un parámetro, dejando los demás
fijos, con el fin de medir la sensibilidad del modelo respecto a ese parámetro. La compa-
ración de la sensibilidad observada en las simulaciones, con la que serı́a de esperar en
el sistema real, puede proporcionar pistas útiles.
Validación
Puede considerarse que la validación del modelo tiene tres vertientes diferentes. Consiste
en determinar:
• Si el modelo representa adecuadamente al sistema real (comprobación de la estructura
del modelo).
• Si los datos generados de la simulación del modelo reproducen de forma adecuada el
comportamiento del sistema real (comprobación del comportamiento del modelo).
• Si el usuario del modelo tiene confianza en los resultados obtenidos de las simulaciones
(comprobación de la confianza del usuario en el modelo). Involucrar al usuario final
en todas las fases del diseño y la construcción del modelo generalmente hace que este
aspecto de la validación del modelo sea mucho más sencillo.
Ejemplo 2.7.1. En (Law & Kelton 2000) se describe el siguiente caso real. Un analı́sta militar
estadounidense trabajó durante 6 meses en un modelo, sin interactuar con el general que
lo habı́a solicitado. En la reunión mantenida en el Pentágono para la presentación de los
resultados del estudio, cuando tan sólo habı́an trancurrido 5 minutos, el general afirmó: “Este
no es el problema en el que yo estoy interesado”.
Puesto que el modelo se construye para un propósito especı́fico, la validez sólo puede
ser evaluada con relación a este propósito. La validación del modelo es un proceso continuo
durante su diseño, desarrollo y uso. Existen diferentes grados de validación: la confianza en
el modelo va acumulándose según el modelo va superando pruebas y se van encontrando
más puntos de coincidencia entre el comportamiento del modelo y el del sistema real. La
verificación y la validación de un modelo son procesos que realmente nunca finalizan.
En todo este proceso de validación, no debe perderse de vista que el objetivo del ingeniero
dedicado al modelado es la realización de modelos útiles, en un tiempo razonable y con un
coste razonable. Por este motivo, más que preguntarse en qué medida se ajusta el compor-
tamiento simulado al comportamiento real del sistema, es más adecuado preguntarse en
qué medida las diferencias entre el modelo y el sistema son lo suficientemente significativas
como para afectar a las conclusiones derivadas del uso del modelo.
TEMA 2. PASOS EN UN ESTUDIO DE SIMULACIÓN 17
2.8. Experimentación y análisis de los resultados
La planificación del experimento y el análisis de los resultados requieren la aplicación
de conocimientos estadı́sticos. El método experimental y el análisis estadı́stico a aplicar
dependen del tipo de simulación: con terminación o sin terminación. El tipo de simulación
(con o sin terminación) depende fundamentalmente del objetivo del estudio, más que de la
naturaleza en sı́ del sistema. A continuación se definen estos conceptos:
• La simulación se dice que tiene terminación cuando existe un evento que señala de forma
natural el final de la misma. La finalidad es estudiar el comportamiento del sistema
cuando éste evoluciona, partiendo se unas determinadas condiciones iniciales, hasta
que se satisface determinada condición de finalización.
• Por el contrario, se dice que la simulación es sin terminación cuando no existe un evento
que de manera natural marque el final de la misma. La finalidad de este tipo de estudios
es analizar el comportamiento del sistema una vez éste ha adquirido un régimen de
funcionamiento independiente de las condiciones iniciales de la simulación, es decir, el
estado estacionario.
Puesto que la salida de un modelo de simulación es una muestra de datos de su comporta-
miento, pueden aplicarse los conceptos de inferencia estadı́stica de muestras. Sin embargo,
la mayorı́a de los tests estadı́sticos requieren que los datos de la muestra sean indepen-
dientes entre sı́, es decir, no estén correlacionados. Frecuentemente los datos obtenidos
de la simulación de los modelos no cumplen esta condición, con lo cual deben aplicarse
ciertos procedimientos antes de poder extraer conclusiones válidas. Respecto al tamaño de la
muestra (duración de la simulación o número de réplicas), éste debe ser lo suficientemente
grande como para proporcionar el nivel de confianza necesario en la estimación de la medida
del comportamiento.
2.9. Documentación e implementación
Llegado este punto, ya se han completado todos los pasos del diseño y desarrollo del
modelo, ejecución de la simulación, ası́ como del análisis de los resultados. Los elementos
finales del estudio de simulación son la implementación y la documentación. No se puede
considerar que un proyecto de simulación se ha completado con éxito hasta que los resultados
obtenidos no han sido entendidos, aceptados y usados. Las conclusiones del estudio deben
ser documentadas de manera clara, concisa y convincente, debiéndose abordar todos aquellos
aspectos que el cliente considera importantes. De otra forma, difı́cilmente serán aplicadas,
con lo cual el proyecto será un fracaso. La presentación de los resultados es una parte del
estudio tan crı́tica como las demás, y merece el mismo cuidado en su planificación y diseño.
Además de los resultados del estudio, debe documentarse el desarrollo y operación del
modelo. Esto puede contribuir a aumentar considerablemente su vida útil, ası́ como au-
mentar la probabilidad de que recomendaciones basadas en él sean aceptadas. Una buena
documentación facilita las modificaciones y asegura que el modelo puede ser usado o algunas
de sus partes reutilizadas, aun si no están presentes sus desarrolladores.
EJERCICIOS
2.1 Plantee un posible estudio de simulación del sistema siguiente: una gasolinera, con va-
rios surtidores, atendida por varios empleados. En particular, responda a las cuestiones
siguientes:
• ¿Cuáles son las preguntas a responder?
• ¿Qué recursos prevé que necesitarı́a para llevar a cabo el estudio? Sugiera un
método adecuado de recogida de datos experimentales, justifı́quelo y describa cómo
lo ejecutarı́a.
18 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
• ¿Qué medidas del comportamiento del sistema son de interés?
• ¿Qué aspectos de la realidad constituyen el sistema bajo estudio?
• ¿Cuáles son las variables de entrada del modelo? ¿De qué tipo es cada una: aleatoria
o determinista?
• Describa las hipótesis de modelado.
• Realice un diseño preliminar del experimento.
2.2 Plantee un posible estudio de simulación del sistema siguiente: la intersección de varias
calles, que se encuentra regulada por semáforos. Conteste a las cuestiones planteadas
en el Problema 2.1.
2.3 Plantee un posible estudio de simulación del sistema siguiente: un servicio de ambulan-
cias de un hospital. Conteste a las cuestiones planteadas en el Problema 2.1.
Parte II
Modelado y simulación
19
Tema 3
Método de Monte Carlo
NOTA IMPORTANTE: Este tema NO SE EXIGIRÁ EN EL EXAMEN durante el presente
curso académico, si bien se recomienda su lectura. Por este motivo, no se
plantean objetivos docentes del tema, ni tampoco se proponen problemas.
3.1. Introducción
Bajo el nombre genérico de “simulaciones de Monte Carlo” suelen englobarse todas las
simulaciones que emplean números aleatorios para resolver problemas estáticos, es decir,
problemas en los cuales el tiempo no juega un papel relevante.
El término “Monte Carlo” proviene del nombre en clave de un trabajo secreto en el que von
Neumann y Ulam emplearon esta técnica matemática (que ya era conocida anteriormente).
Este trabajo se realizó en Los Alamos, durante el conocido proyecto para la fabricación de la
bomba atómica.
En esta técnica se generan artificialmente datos mediante el uso de un generador de núme-
ros aleatorios y la función de probabilidad de interés. El generador de números aleatorios se
emplea para generar variables aleatorias distribuidas uniformemente en el intervalo [0, 1]. La
función de probabilidad a muestrear puede ser una distribución teórica (normal, exponencial,
etc.) o puede ser empı́rica, es decir, puede estar basada en observaciones del sistema real.
La técnica de Monte Carlo se emplea no sólo para simular sistemas estocásticos, sino
también para resolver problemas completamente deterministas (tı́picamente aquellos que no
pueden ser resueltos analı́ticamente).
A continuación se discuten algunos ejemplos de aplicación de la técnica:
• La estimación del valor del número π, mediante la simulación del experimento de la
aguja de Buffon.
• La estimación de la probabilidad que hay de ganar un juego “solitario” de cartas.
• El cálculo de la una integral definida del tipo I =
R b
a g(x) · dx, donde g (x) es una función
real monovaluada. Es conveniente aclarar que, en aquellos casos en que el integrando
g (x) tiene “buen comportamiento” (es decir, ni la función ni sus derivadas presentan
discontinuidades), suele ser preferible emplear otros métodos numéricos de integración
a emplear el método de Monte Carlo.
21
22 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
Figura 3.1: Retrato de G. L. Leclerc, Conde de Buffon, en un sello francés.
3.2. Estimación del valor del número π
Alrededor de 1733, George Louis Leclerc (su retrato se muestra en la Figura 3.1), descri-
bió un experimento para estimar el valor del número π. Si se lanza una aguja de longitud l
sobre una mesa pintada con lı́neas paralelas, con un espaciado entre ellas d (donde d ≥ l),
entonces la probabilidad de que la aguja corte una lı́nea es:
p =
2 · l
π · d
(3.1)
Puede, por tanto, plantearse el siguiente experimento para estimar el número1
π:
1. Conseguir una aguja y pintar las lı́neas sobre la mesa.
2. Decidir cuántas veces va a lanzarse la aguja. Sea N el número de veces.
3. Poner un contador a cero.
4. Repetir N veces las dos acciones siguientes:
a) Lanzar la aguja “aleatoriamente” sobre la mesa.
b) Si la aguja cruza alguna de las lı́neas, incrementar el contador en uno. Si la aguja
no cruza ninguna lı́nea, el contador no varı́a.
5. Calcular la proporción de veces que la aguja ha cruzado alguna lı́nea:
p̂ =
valor final del contador
N
(3.2)
6. Si p̂ > 0, entonces estimar el número π de la forma siguiente:
π̂ =
2 · l
p̂ · d
(3.3)
Como vemos, el experimento de la aguja de Buffon es un ejemplo de método de Monte Car-
lo, ya que se están empleando números aleatorios para estimar el valor de cierta propiedad.
Para simular mediante el ordenador este experimento, debemos ser capaces de situar la
posición de la aguja aleatoriamente entre las lı́neas paralelas. Cuando se realiza el experi-
mento fı́sicamente, esto no constituye un problema, ya que simplemente lanzamos la aguja,
vemos donde a caı́do y anotamos si corta alguna lı́nea o no.
1 Este experimento se conoce como el problema de la aguja de Buffon, ya que G. L. Leclerc fue Conde de Buffon.
TEMA 3. MÉTODO DE MONTE CARLO 23
θ
a
d
m
θ
a
d
m
Figura 3.2: Experimento de la aguja de Buffon.
Para determinar la posición de la aguja de manera unı́voca, basta con conocer dos datos:
la posición en la mesa de algún punto determinado de la aguja, por ejemplo de su centro, m,
y el ángulo que forma la aguja respecto a las lı́neas paralelas, θ.
A partir de las siguientes dos consideraciones, puede obtenerse un procedimiento para
determinar si la aguja corta alguna lı́nea:
• Una vez fijada la posición del punto medio de la aguja, m, debe determinarse cuál de las
dos lı́neas es la más cercana a este punto medio. Sea a la distancia entre el punto medio
de la aguja y la lı́nea más cercana. Esta distancia a es una variable aleatoria distribuida
uniformemente en el intervalo

0, d
2

.
• Debido a la simetrı́a, el ángulo que forma la aguja respecto a las lı́neas paralelas, θ, es
una variable aleatoria distribuida uniformemente en el intervalo [0, π].
Una vez obtenidos los valores de a y θ, puede seguirse el siguiente procedimiento para
decidir si la aguja toca o intersecta la lı́nea más próxima al centro de la aguja (ver Figura 3.2):
• Si a ≤ l
2 · sin (θ), entonces la aguja toca o corta la lı́nea.
• Si a  l
2 · sin (θ), entonces la aguja ni toca ni corta la lı́nea.
Las muestras aleatorias a y θ pueden obtenerse a partir de números seudo aleatorios, u1
y u2, de la forma siguiente:
a =
d
2
· u1 (3.4)
θ = π · u2 (3.5)
donde u1 y u2 son observaciones de una variable aleatoria uniformemente distribuida en el
intervalo [0, 1].
El flujo del programa para simular el problema de la aguja de Buffon es el siguiente:
Paso 1: Inicializar Ncorta = n = 0, contadores del número de veces que la aguja corta o toca
la lı́nea y del número de lanzamientos respectivamente.
Paso 2: Seleccionar l y d. Seleccionar Ntotal , que es el número total de lanzamientos de la
aguja.
Paso 3: Generar dos números seudo aleatorios, u1 y u2.
Paso 4: Calcular a y θ, empleando las Ecuaciones (3.4) y (3.5).
Paso 5: Si a  l
2 · sin (θ) , entonces saltar al Paso 7.
Paso 6: Incrementar Ncorta.
Paso 7: Incrementar n.
24 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
Paso 8: Si n  Ntotal, entonces ir al Paso 9. En caso contrario, ir al Paso 3.
Paso 9: Calcular e imprimir el resultado:
π̂ =
2 · l
Ncorta
Ntotal
· d
(3.6)
Este algoritmo puede programarse usando cualquier lenguaje de programación. Por ejem-
plo, ejecutando el programa con las siguientes entradas: l = 10, d = 20 y Ntotal = 3000,
y empleando una determinada secuencia de números aleatorios, se obtiene la siguiente
estimación de la probabilidad de que la aguja toque o corte una lı́nea :
p̂ =
Ncorta
Ntotal
= 0.3133 (3.7)
Para determinar la precisión de esta estimación, debe construirse un intervalo de con-
fianza. Cada lanzamiento de la aguja es un experimento de Bernoulli. Puede considerarse
que el número de aciertos es Ncorta y el número de intentos es Ntotal. Ası́ pues, p̂ = Ncorta
Ntotal
es
un estimador del parámetro binomial p: la probabilidad de éxito. En el Apéndice A se indica
cómo construir el intervalo de confianza para la proporción de una distribución binomial. Se
obtiene el siguiente intervalo de confianza del 95 %:
Prob



p̂ − z0.975 ·
s
p̂ · (1 − p̂)
Ntotal
≤ p ≤ p̂ + z0.975 ·
s
p̂ · (1 − p̂)
Ntotal



= 0.95 (3.8)
Sustituyendo los valores obtenidos en la simulación, y teniendo en cuenta que z0.975 = 1.96
(ver la última fila de la Tabla T.1, al final del libro), se obtiene:
Prob {0.2967 ≤ p ≤ 0.3299} = 0.95 (3.9)
El intervalo de confianza para π se calcula teniendo en cuenta que:
π̂ =
2 · l
p̂ · d
=
2 · 10
p̂ · 20
=
1
p̂
(3.10)
Se obtiene el siguiente intervalo de confianza del 95 %:
Prob {3.031 ≤ π ≤ 3.3704} = 0.95 (3.11)
Este experimento es muy simple, pero hay algunos aspectos de él que son comunes a la
mayorı́a de las simulaciones:
• El propósito es estimar algo (en este caso, el número π) cuyo valor es difı́cil calcular
exactamente (al menos ası́ era en el año 1733).
• El valor estimado que se obtiene del estudio de simulación no es exactamente correc-
to: existe un cierto error asociado a la estimación y resulta conveniente obtener una
estimación de la magnitud de este error.
• Parece intuitivo que cuantos más lanzamientos de la aguja se hagan, menor será el error
cometido y, por tanto, mejor será la estimación del número π.
• De hecho, en lugar de decidir de antemano el número total de lanzamientos que se van a
realizar, puede procederse de manera iterativa: se sigue lanzando la aguja hasta que se
considere que el error cometido en la estimación (la longitud del intervalo de confianza)
es lo suficientemente pequeño.
TEMA 3. MÉTODO DE MONTE CARLO 25
3.3. Probabilidad de ganar un juego “solitario” de cartas
Supongamos que se desea determinar cuál es la probabilidad de ganar un juego ”solitario”
de cartas. Entendemos por un “solitario” un juego en el cual se emplea una baraja de 52
cartas y que tiene una estrategia fija.
Una aproximación razonable al problema es considerar que las 52! posibles ordenaciones
de las cartas de la baraja son igualmente probables y calcular cuántas de ellas hacen que el
jugador gane la partida.
Dado que no existe un método sistemático de determinar el número de combinaciones
ganadoras más que ir probándolas una a una, y puesto que 52! es un número extraordina-
riamente grande, aparentemente el cálculo de la probabilidad de ganar el solitario parece un
problema matemáticamente intratable.
Un método alternativo de abordar el problema es mediante simulación. Después de jugar
n partidas, si definimos:
Xi =

1 si la partida i resulta en victoria
0 en cualquier otro caso
(3.12)
para i : 1, ..., n, entonces Xi son variables aleatorias independientes de Bernoulli, para las
cuales:
E {Xi} = Prob {Ganar la partida de “solitario”} (3.13)
Por la Ley de los Grandes Números,
n
P
i:1
Xi
n
=
número de partidas ganadas
número de partidas jugadas
(3.14)
convergerá con probabilidad 1 a
Prob {Ganar la partida de “solitario”} (3.15)
Es decir, jugando un número elevado de veces, podemos usar la proporción de partidas
ganadas para estimar la probabilidad de ganar el juego del solitario.
Para estudiar el problema del solitario, necesitamos diseñar un programa para jugar el
juego a partir de una determinada ordenación de las cartas. La ordenación inicial de las
cartas en cada partida debe ser aleatoria, y debemos obtenerla de modo que las 52! posibles
ordenación sean equiprobables. A continuación, se describe un algoritmo que permite obtener
la ordenación inicial aleatoria empleando únicamente números aleatorios. 2
El algoritmo comienza escogiendo aleatoriamente una carta y poniéndola en la posición
n. Seguidamente, escoge aleatoriamente entre las n − 1 cartas restantes y la pone en la
posición n − 1; y ası́ sucesivamente. Una forma eficiente de escoger entre las cartas restantes
es mantener estos elementos en una lista ordenada y escoger la posición en la lista.
Para implementar el algoritmo es preciso generar una variable aleatoria uniforme discreta
con rango {1, 2, ..., k}. Se pueden obtener observaciones de esta variable aleatoria discreta a
partir de números aleatorios u de la forma siguiente:
Nk = ⌊k · u⌋ + 1 (3.16)
donde ⌊k · u⌋ representa el mayor entero ≤ k · u.
2Puede encontrarse un algoritmo más eficiente para generar permutaciones de números enteros en (Ross 1994).
26 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
3.4. Cálculo de integrales definidas
Empleando la técnica de Monte Carlo, se pretende estimar el valor de una integral definida,
I =
R b
a
g(x) · dx , donde g (x) es una función real monovaluada. Para ello, de define una variable
aleatoria Y de la forma siguiente:
Y = (b − a) · g(X) (3.17)
La variable aleatoria X está distribuida uniformemente en el intervalo [a, b] . La densidad
de probabilidad de X es:
fX(x) =
1
b − a
(3.18)
Como se demuestra a continuación, el valor esperado de la variable Y , µY , es igual al valor
de la integral definida que se desea calcular, I:
µY = E {(b − a) · g (X)} (3.19)
= (b − a) · E {g (X)}
= (b − a) ·
Z b
a
g (x) · fX (x) · dx
= (b − a) ·
R b
a
g (x) · dx
(b − a)
= I
Ası́ pues, el problema de evaluar la integral definida I se ha reducido a estimar el valor
esperado de la variable aleatoria Y . En particular, µY puede estimarse calculando la media
de cierto número n de observaciones independientes de Y , y1, . . . , yn, de la manera siguiente:
Ȳ (n) =
n
P
i=1
yi
n
= (b − a) ·
n
P
i=1
g (xi)
n
(3.20)
donde xi son observaciones independientes de una variable aleatoria X, que está distribuida
uniformemente en el intervalo [a, b]. Puede demostrarse que (ver Apéndice A):
E

Ȳ (n) = µY (3.21)
Var

Ȳ (n) =
σ2
Y
n
→ lim
n→∞
Var

Ȳ (n) = 0 (3.22)
La técnica es extensible al cálculo de integrales del tipo:
I =
Z ∞
0
g(x) · dx (3.23)
Para ello, puede realizarse el siguiente cambio de variable:
x1 =
1
x + 1
→ dx1 =
−dx
(x + 1)
2 = −x2
1 · dx (3.24)
TEMA 3. MÉTODO DE MONTE CARLO 27
1.8
1.9
2.0
2.1
2.2
2.3
10 50 100 500 1000
E(Y)(n)
Tamaño de Muestra, n
Figura 3.3: Boxplots de los resultados de la simulación.
Sustituyendo en la integral, se obtiene:
I =
Z ∞
0
g(x) · dx =
Z 1
0
g

1
x1
− 1

x2
1
· dx1 (3.25)
Ejemplo de aplicación
Como ejemplo, para ilustrar la aplicación de la técnica anteriormente descrita, suponga-
mos que se desea estimar el valor de la integral definida siguiente:
I =
Z π
0
sin(x) · dx (3.26)
Se ha escogido una integral que posee primitiva analı́tica, −cos (x), a fin de comparar el
resultado obtenido aplicando la técnica de Monte Carlo con el resultado analı́tico exacto, que
es I = 2.
En el Anexo situado al final de este Tema, se muestra un programa escrito en C que
realiza la simulación. La librerı́a stdlib.h, disponible en el sistema UNIX y en ANSI C, contiene
la función3
, int rand(void), destinada a la generación de números enteros uniformemente
distribuidos en el intervalo

0, 215
− 1

. Dividiendo rand( ) por 32767 se obtiene un número
seudo aleatorio (es decir, una observación de una variable aleatoria distribuida U (0, 1)).
A fin de analizar, por una parte cómo depende el valor estimado de I del tamaño de la
muestra, n , y por otra parte la variabilidad de los resultados obtenidos, se realizan 5 réplicas
3 Según se indica en el manual de referencia de la librerı́a, el algoritmo de la función rand es un generador
de números seudo aleatorios multiplicativo congruente de periodo 232. Da como resultado un número entero
comprendido entre cero y RAND MAX. La constante simbólica RAND MAX, definida en stdlib.h, vale 215 − 1 = 32767.
28 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
independientes de la simulación para cada uno de los siguientes 5 tamaños de muestra: 10,
50, 100, 500 y 1000. Los resultados de la media muestral obtenidos son los siguientes:
n = 10 n = 50 n = 100 n = 500 n = 1000
Réplica 1 1.980 1.832 2.021 1.958 2.001
Réplica 2 2.302 1.845 1.799 1.971 1.993
Réplica 3 2.286 1.926 1.801 1.999 1.998
Réplica 4 2.371 1.867 1.926 1.943 1.937
Réplica 5 2.300 1.968 1.916 1.975 2.004
La comparación visual entre los boxplots de las diferentes alternativas resulta muy ex-
plicativa4
. En la Figura 3.3 se muestra la representación mediante boxplots de las cinco
medias muestrales (una por réplica), para cada uno de los cinco valores de n. Al aumentar
el tamaño de muestra los resultados tienden hacia el valor verdadero y su variabilidad
disminuye. Una conclusión fundamental que debe extraerse de este ejemplo es que deben
establecerse criterios para determinar el tamaño de muestra, n, que permita estimar I con
una determinada precisión.
ANEXO
Programa de simulación para la estimación del
valor de una integral definida
#include stdio.h
#include math.h
#include stdlib.h
#include time.h
#define PI 3.141593
struct intervalo {
float inicio,
fin;
};
float Uniforme_interv_A_B(interv)
struct intervalo interv;
{
/* Generacion de U(A,B) */
float v_unif;
v_unif=rand()/32727.0;
if (v_unif1.0) v_unif=1.0;
return(interv.inicio+(interv.fin-interv.inicio)*v_unif);
}
float Func_integrando(x)
float x;
{
return(sin(x));
}
void Entrada_datos(num_muestras,interv_integ)
unsigned int *num_muestras;
struct intervalo *interv_integ;
{
clrscr();
/* Numero de muestras */
printf(tNumero de muestras (1-65535): );
scanf(%d,num_muestras);
/* Intervalo de integracion */
interv_integ-inicio=0;
interv_integ-fin=PI;
4En el Apéndice A, al final del libro, se explica cómo se construye el boxplot de un conjunto de datos.
TEMA 3. MÉTODO DE MONTE CARLO 29
/* Inicializacion rutina generacion numeros aleatorios */
randomize();
return;
}
void Informe(num_muestras,estima_integ)
unsigned int num_muestras;
float estima_integ;
{
printf(tI N F O R M Ent-------------nn);
printf(Numero de muestras: %dn,num_muestras);
printf(Estima de la integral: %fn,estima_integ);
}
main()
{
unsigned int num_muestras,
contad=0;
float func_acumulada=0,
estima_integ;
struct intervalo interv_integ;
Entrada_datos(num_muestras,interv_integ);
while (contadnum_muestras) {
func_acumulada+=Func_integrando(Uniforme_interv_A_B(interv_integ));
contad++;
}
estima_integ=(interv_integ.fin-interv_integ.inicio)*
func_acumulada/num_muestras;
Informe(num_muestras,estima_integ);
return;
}
30 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
Tema 4
Modelado de sistemas de eventos
discretos
Objetivos: Una vez estudiado el contenido del tema y realizados los ejercicios
prácticos, deberı́a saber:
• Discutir y reconocer de qué partes se compone la especificación del
modelo y del experimento.
• Discutir las diferentes estrategias para la simulación de modelos de
eventos discretos.
• Discutir diferentes formalismos para el modelado de sistemas de eventos
discretos.
4.1. Introducción
Básicamente, la especificación del modelo y del experimento consiste en definir:
MODELO • La estructura lógica y los componentes del modelo.
• Los aspectos matemáticos del modelo.
EXPERIMENTO • Las variables de entrada y de salida.
• Las condiciones iniciales del modelo.
• La condición de finalización de la simulación.
• Los aspectos numéricos de la simulación.
La estructura lógica y los componentes del modelo se definen sobre la base de las hipótesis
de modelado (o aproximaciones de modelado, como se prefiera). En función de la finalidad del
estudio de simulación, se consideran relevantes para ese propósito especı́fico unos aspectos
u otros del comportamiento del sistema, lo cual condiciona las hipótesis de modelado. El
ámbito de validez de las hipótesis de modelado define el marco experimental del modelo.
Las variables de entrada y las condiciones iniciales determinan la forma en que el modelo
es ejercitado durante la simulación. Además, la condición de finalización de la simulación y la
elección de qué variables del modelo desean ser observadas (variables de salida), completan
la definición de qué comportamientos del modelo desean ser estudiados en la simulación.
31
32 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
EL CLIENTE
COMIENZA A
SER ATENDIDO
EVENTO:
LLEGADA DE UN
NUEVO CLIENTE
No Si
EMPLEADO
LIBRE
EL CLIENTE SE
PONE A LA
COLA EL PRIMER CLIENTE DE
LA COLA COMIENZA A
SER ATENDIDO
EVENTO:
FIN DE
SERVICIO
No Si
COLA
VACIA
EL EMPLEADO
QUEDA LIBRE
EL CLIENTE SE
MARCHA
Figura 4.1: Acciones asociadas a cada uno de los dos tipos de evento.
Todo ello forma parte de la especificación del experimento. También es parte del experimento
la especificación de qué métodos numéricos van a emplearse para simular el modelo.
4.2. Estructura lógica del modelo
A continuación se muestra un ejemplo de la definición de la estructura lógica de un modelo.
Consideremos una oficina de atención al cliente en la que trabaja un único empleado:
• Si llega un nuevo cliente y el empleado está ocupado, el cliente se pone al final de una
cola en espera de su turno. Si el empleado está libre, el cliente es atendido inmediata-
mente.
• Si el empleado termina de atender a un cliente, éste se marcha y comienza a ser atendido
el primer cliente de la cola. Si la cola está vacı́a, el empleado permanece desocupado
hasta la llegada de un nuevo cliente.
De su estructura lógica se deduce que en el modelo hay dos tipos de sucesos o eventos
que desencadenan sendas secuencias de acciones (ver Figura 4.1). Estos dos eventos son:
• La llegada de un nuevo cliente a la oficina.
• La finalización de la atención a un cliente.
4.3. Elementos del modelo
Los modelos de tiempo discreto, en el contexto que nos ocupa, constan básicamente de los
siguientes 7 tipos de componentes: las entidades, sus atributos, las variables, los recursos,
las colas, los contadores estadı́sticos y los eventos. A continuación se describen brevemente.
TEMA 4. MODELADO DE SISTEMAS DE EVENTOS DISCRETOS 33
Entidades
Las entidades son objetos dinámicos en la simulación, que son creados y se mueven por
el sistema, cambiando el valor de sus atributos, afectados por otras entidades y por el estado
del sistema. Las entidades pueden abandonar el sistema o bien permanecer indefinidamente
circulando en él.
En el ejemplo anterior de la oficina, existe un único tipo de entidad: “cliente”. Cada cliente
que se encuentra en la oficina es una realización (o instanciación, como se prefiera) de este tipo
de entidad, que es creada a su llegada, circula a través del sistema y es destruida cuando el
cliente abandona la oficina. Si en el modelo se hubieran definido diferentes tipos de clientes,
que requirieran procesos de atención diferentes o a los que se asignara diferente prioridad,
cada tipo de cliente se representarı́a como un tipo diferente de entidad.
Atributos
Los atributos permiten individualizar cada instanciación de una determinada clase de
entidad. Al definir el tipo de entidad, se declaran sus atributos. Se pueden asignar valores
diferentes a los atributos de cada instanciación de la clase de entidad, lo cual permite
especificar las caracterı́sticas particulares de cada uno de ellos.
Por ejemplo, algunos atributos que podrı́an definirse para el tipo de entidad “cliente” son:
la prioridad con que debe ser atendido o determinados datos personales, como son el nombre
y los apellidos, la edad, la nacionalidad, etc. En general, el valor de los atributos diferirá de
un cliente a otro y es lo que permite diferenciarlos.
Variables
Las variables representan caracterı́sticas del sistema que son independientes de los tipos
de entidades o del número de realizaciones existentes en determinado instante. Por tanto,
las variables no están asociadas a entidades en concreto, sino que pertenecen al conjunto
del sistema. Son accesibles desde todas las entidades y pueden ser modificadas por todas las
entidades. Puede considerarse que cada variable es como una pizarra colgada en la pared, en
la que se escribe el valor de la variable. Todas las entidades pueden leer la pizarra, y también
pueden borrar el valor escrito y escribir uno nuevo.
Algunas de las variables son intrı́nsecas a los elementos del modelo y, por ello surgen
en casi todos los modelos de simulación. Algunas de estas son: el número de entidades (en
nuestro caso, clientes) que hay en cada instante en cada cola, el número de recursos (en
nuestro caso, empleados) ocupados, el estado (ocupado o libre) de cada recurso, el valor del
reloj de la simulación (variable que va registrando el tiempo simulado) , etc.
Por el contrario, otras variables surgen debido a necesidades concretas del modelo en
cuestión. Por ejemplo, supóngase que cada cliente tiene que ser atendido consecutivamente
por dos empleados diferentes, situados a cierta distancia, y que el tiempo que emplea la
entidad en ir de un empleado a otro se considera fijo. Entonces, el valor de este tiempo de
“transito” serı́a una variable del modelo.
Las variables permiten parametrizar el modelo, es decir, definir magnitudes que pueden
cambiar para adaptar el modelo a sus diferentes aplicaciones. Por ejemplo, mediante la
modificación del tiempo de tránsito entre los dos puntos de atención, puede adaptarse un
mismo modelo para representar diferentes sistemas.
Asimismo, las variables pueden representar magnitudes cuyo valor cambie durante el
curso de la simulación. Por ejemplo: el número total de clientes que esperan, que están
siendo atendidos y que se encuentran en tránsito entre los dos puntos de atención.
34 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
Recursos
Los recursos pueden ser el personal (en nuestro caso, el empleado), las máquinas (por
ejemplo, si las entidades son piezas que deben ser procesadas), el espacio (por ejemplo, en un
almacén), etc. Una entidad captura un recurso cuando éste está disponible, a fin de obtener
un servicio de él, y lo libera una vez ha terminado.
El recurso puede ser individual o estar compuesto por un grupo de elementos individuales,
cada uno de los cuales se llama una unidad del recurso . Por ejemplo, el caso de varios mos-
tradores paralelos e idénticos de atención al público, puede representarse como un recurso
con tantas unidades como puntos de atención. El número de unidades disponibles de un
recurso puede variar durante el curso de la simulación, representando mostradores que son
cerrados o abiertos.
Colas
Cuando una entidad no puede circular, debido tal vez a que necesita usar una unidad de
un recurso que en ese momento no se encuentra disponible, entonces la entidad necesita un
sitio donde esperar: este es el propósito de la cola .
Acumuladores estadı́sticos
A fin de calcular el valor de las variables de salida, es preciso calcular durante el curso de
la simulación el valor de determinadas variables intermedias. Estas se llaman acumuladores
estadı́sticos . Algunos ejemplos son: el número total de clientes atendidos hasta ese momento,
la suma de los tiempos de espera en cola de los clientes hasta ese momento, el número total
de clientes que han comenzado a ser atendidos hasta ese momento, el mayor tiempo de
espera en cola hasta ese momento, etc. Los contadores son inicializados a cero al comenzar
la simulación. Cuando “algo sucede” en la simulación (es decir, se ejecuta un evento), los
contadores estadı́sticos afectados deben ser convenientemente actualizados.
Eventos
Un evento es un suceso que ocurre en un determinado instante de tiempo (simulado) y
que puede cambiar el valor de los atributos, las variables y los acumuladores estadı́sticos.
Se denomina actividad al estado de una entidad en un determinado intervalo de tiempo.
En los modelos de tiempo discreto, los atributos, las variables y los acumuladores es-
tadı́sticos sólo pueden cambiar a consecuencia de la ejecución de los eventos. Los cambios
en sus valores se producen en los instantes en que son activados los eventos, manteniéndose
constantes durante el intervalo de tiempo entre eventos sucesivos.
En nuestro ejemplo, hay cuatro tipos de eventos:
• Inicio de la simulación.
• Llegada a la oficina de un nuevo cliente.
• Fin de servicio a un cliente.
• Final de la simulación
Cada evento tiene asociado dos tipos de información:
• Su condición de activación, es decir, la condición que hace que el evento pase de estar
desactivado a estar activado.
• Las acciones que deben realizarse en el instante en que el evento es activado.
En función del tipo de su condición de activación, los eventos pueden clasificarse en
eventos en el tiempo y eventos en el estado:
TEMA 4. MODELADO DE SISTEMAS DE EVENTOS DISCRETOS 35
• Los eventos en el tiempo son aquellos cuya condición de activación es que el tiempo de
la simulación alcance un determinado valor. El valor del instante de tiempo simulado se
almacena en una variable del modelo llamada reloj de la simulación.
• La condición de activación de los eventos en el estado no es función exclusiva del tiempo,
sino que también es función de variables del sistema.
En los sistemas de tiempo discreto, dado que las variables y atributos permanecen cons-
tantes entre eventos consecutivos, los cambios en las variables necesarios para activar un
evento en el estado sólo pueden producirse como resultado de la ejecución de un evento en
el tiempo. La planificación de los eventos en el tiempo es muy sencilla, ya que se sabe con
antelación en qué instantes se van a producir. Durante el curso de la simulación se lleva
un registro de los instantes de activación de los eventos en el tiempo. Éste se denomina el
calendario de eventos.
En los sistemas de tiempo discreto los cambios en las propiedades del sistema no se
producen de manera continua en el tiempo. Por tanto, a fin de optimizar la simulación de
este tipo de modelos, se hace avanzar el reloj de la simulación a saltos. Normalmente se usan
dos métodos para ello: avance hasta el siguiente evento y avance a incrementos de tiempo
fijos. Se volverá sobre este tema más adelante, al discutir las diferentes estrategias para la
simulación de modelos de eventos discretos.
4.4. Aspectos matemáticos del modelo y las variables de
entrada
Además de la estructura lógica y los componentes, deben especificarse los aspectos ma-
temáticos del modelo, que están igualmente vinculados a las hipótesis de modelado.
En particular, debe decidirse qué comportamientos del modelo se consideran determinis-
tas y cuáles aleatorios. Esta decisión condiciona qué variables de entrada son deterministas
y cuáles aleatorias. En cada caso, la definición de la variable de entrada comprende:
• La dependencia temporal de las variables de entrada deterministas.
• La distribución de probabilidad de las variables de entrada aleatorias.
Continuando con el ejemplo, se consideran dos variables de entrada aleatorias:
• El tiempo que transcurre entre la llegada de un cliente y la llegada del siguiente cliente.
Este tiempo, A, es una variable aleatoria que obedece a una distribución de probabilidad
exponencial de media 1 minuto.
• El tiempo que tarda el empleado en atender a un cliente. Este tiempo, S, es una variable
aleatoria exponencial con media 0.5 minutos.
En general, las distribuciones de probabilidad de las variables A y S deben determinarse,
o bien estudiando los datos medidos del sistema real, o bien a través de consideraciones
teóricas. En cualquier caso, el decidir que las variables de entrada están distribuidas de
una determinada forma es otra hipótesis de modelado. El que el modelo reproduzca más o
menos adecuadamente los aspectos de interés del sistema depende de lo acertado de estas
aproximaciones.
Obsérvese que, al definir en el ejemplo las variables de entrada, se han realizado las
hipótesis siguientes:
• Tanto la distribución de probabilidad de los intervalos entre llegadas, como la distri-
bución de los tiempos de servicio, son independientes del instante de tiempo simulado.
Serı́a fácil imaginar situaciones en las cuales durante determinadas “hora punta” la
afluencia de clientes fuera mayor que durante las “horas valle”. También serı́a factible
que, según avanza la jornada laboral, aumentara el cansancio del empleado, con lo cual
aumentara el tiempo de servicio (o que disminuyera su paciencia, con lo cual el tiempo
de servicio disminuirı́a). Pues bien, se ha realizado la hipótesis de que ninguno de estos
factores, u otros similares, son relevantes.
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf
teoria_Simulacion.pdf

Más contenido relacionado

Similar a teoria_Simulacion.pdf

Algoritmos y programacion_i_-_con_lengua
Algoritmos y programacion_i_-_con_lenguaAlgoritmos y programacion_i_-_con_lengua
Algoritmos y programacion_i_-_con_lenguaDarío Herrera
 
Libro Fundamentos-de-la-programacion O.O-Ruiz-Rodriguez-Ricardo.pdf
Libro Fundamentos-de-la-programacion O.O-Ruiz-Rodriguez-Ricardo.pdfLibro Fundamentos-de-la-programacion O.O-Ruiz-Rodriguez-Ricardo.pdf
Libro Fundamentos-de-la-programacion O.O-Ruiz-Rodriguez-Ricardo.pdfJavier Perez
 
Algoritmos programacion-python
Algoritmos programacion-pythonAlgoritmos programacion-python
Algoritmos programacion-pythonLUIS COAQUIRA
 
Introduccion a los Sistemas Digitales
Introduccion a los Sistemas DigitalesIntroduccion a los Sistemas Digitales
Introduccion a los Sistemas Digitalesgiov gmb
 
7) Irene (2013). Álgebra e Introducción al Cálculo, Católica de Chile.pdf
7) Irene (2013). Álgebra e Introducción al Cálculo, Católica de Chile.pdf7) Irene (2013). Álgebra e Introducción al Cálculo, Católica de Chile.pdf
7) Irene (2013). Álgebra e Introducción al Cálculo, Católica de Chile.pdfJessALZ
 
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...Juan Báez Leva
 
Matlab adv esp
Matlab adv espMatlab adv esp
Matlab adv espLuis Maury
 
Book el arte de mantener
Book  el arte de mantenerBook  el arte de mantener
Book el arte de mantenerRobert Almeyda
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaVictor Basurto Alonso
 
Libro javacontapa
Libro javacontapaLibro javacontapa
Libro javacontapaRobert Wolf
 
Libro javacontapa
Libro javacontapaLibro javacontapa
Libro javacontapaTabu Carlos
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaFreddy Quina
 
LIBRO DE CONTROL.pdf
LIBRO DE CONTROL.pdfLIBRO DE CONTROL.pdf
LIBRO DE CONTROL.pdfDavidGallo37
 
Manual ingeniero mantenimiento diseñado para estudiantes universitarios
Manual ingeniero mantenimiento diseñado para estudiantes universitariosManual ingeniero mantenimiento diseñado para estudiantes universitarios
Manual ingeniero mantenimiento diseñado para estudiantes universitarioscspeirl2016
 
ApuntesC++.pdf
ApuntesC++.pdfApuntesC++.pdf
ApuntesC++.pdfbilgrado01
 
Metodos
MetodosMetodos
Metodostototl
 

Similar a teoria_Simulacion.pdf (20)

Algoritmos y programacion_i_-_con_lengua
Algoritmos y programacion_i_-_con_lenguaAlgoritmos y programacion_i_-_con_lengua
Algoritmos y programacion_i_-_con_lengua
 
Libro Fundamentos-de-la-programacion O.O-Ruiz-Rodriguez-Ricardo.pdf
Libro Fundamentos-de-la-programacion O.O-Ruiz-Rodriguez-Ricardo.pdfLibro Fundamentos-de-la-programacion O.O-Ruiz-Rodriguez-Ricardo.pdf
Libro Fundamentos-de-la-programacion O.O-Ruiz-Rodriguez-Ricardo.pdf
 
Algoritmos programacion-python
Algoritmos programacion-pythonAlgoritmos programacion-python
Algoritmos programacion-python
 
Introduccion a los Sistemas Digitales
Introduccion a los Sistemas DigitalesIntroduccion a los Sistemas Digitales
Introduccion a los Sistemas Digitales
 
7) Irene (2013). Álgebra e Introducción al Cálculo, Católica de Chile.pdf
7) Irene (2013). Álgebra e Introducción al Cálculo, Católica de Chile.pdf7) Irene (2013). Álgebra e Introducción al Cálculo, Católica de Chile.pdf
7) Irene (2013). Álgebra e Introducción al Cálculo, Católica de Chile.pdf
 
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
 
Matlab adv esp
Matlab adv espMatlab adv esp
Matlab adv esp
 
Book el arte de mantener
Book  el arte de mantenerBook  el arte de mantener
Book el arte de mantener
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-java
 
Libro javacontapa
Libro javacontapaLibro javacontapa
Libro javacontapa
 
Libro javacontapa
Libro javacontapaLibro javacontapa
Libro javacontapa
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-java
 
LIBRO DE CONTROL.pdf
LIBRO DE CONTROL.pdfLIBRO DE CONTROL.pdf
LIBRO DE CONTROL.pdf
 
Manual ingeniero mantenimiento diseñado para estudiantes universitarios
Manual ingeniero mantenimiento diseñado para estudiantes universitariosManual ingeniero mantenimiento diseñado para estudiantes universitarios
Manual ingeniero mantenimiento diseñado para estudiantes universitarios
 
ApuntesC++.pdf
ApuntesC++.pdfApuntesC++.pdf
ApuntesC++.pdf
 
ANALISIS Y DISEÑO DE EXPERIMENTOS.pdf
ANALISIS Y DISEÑO DE EXPERIMENTOS.pdfANALISIS Y DISEÑO DE EXPERIMENTOS.pdf
ANALISIS Y DISEÑO DE EXPERIMENTOS.pdf
 
Scd 13-14 todo
Scd 13-14 todoScd 13-14 todo
Scd 13-14 todo
 
Metodos
MetodosMetodos
Metodos
 
investigacion operativa
investigacion operativainvestigacion operativa
investigacion operativa
 
Teoriapto
TeoriaptoTeoriapto
Teoriapto
 

Más de UGMA

Analizador de datos de Arena.pdf
Analizador de datos de Arena.pdfAnalizador de datos de Arena.pdf
Analizador de datos de Arena.pdfUGMA
 
MODELIZACIÓN DE LA ALEATORIEDAD-UNIDAD II.ppt
MODELIZACIÓN DE LA ALEATORIEDAD-UNIDAD II.pptMODELIZACIÓN DE LA ALEATORIEDAD-UNIDAD II.ppt
MODELIZACIÓN DE LA ALEATORIEDAD-UNIDAD II.pptUGMA
 
Ejemplo de Aplicación Taquilla de Paso Banco de Venezuela.pptx
Ejemplo de Aplicación Taquilla de Paso Banco de Venezuela.pptxEjemplo de Aplicación Taquilla de Paso Banco de Venezuela.pptx
Ejemplo de Aplicación Taquilla de Paso Banco de Venezuela.pptxUGMA
 
problemas_Simulacion.pdf
problemas_Simulacion.pdfproblemas_Simulacion.pdf
problemas_Simulacion.pdfUGMA
 
Simulacion.pdf
Simulacion.pdfSimulacion.pdf
Simulacion.pdfUGMA
 
SIMULACIÓN DE SISTEMAS-UNIDAD I.ppt
SIMULACIÓN DE SISTEMAS-UNIDAD I.pptSIMULACIÓN DE SISTEMAS-UNIDAD I.ppt
SIMULACIÓN DE SISTEMAS-UNIDAD I.pptUGMA
 
Unidad I conceptos-basicos de Simulacion.ppt
Unidad I conceptos-basicos de Simulacion.pptUnidad I conceptos-basicos de Simulacion.ppt
Unidad I conceptos-basicos de Simulacion.pptUGMA
 
Unidad IV: Estudio de Simulacion
Unidad IV: Estudio de SimulacionUnidad IV: Estudio de Simulacion
Unidad IV: Estudio de SimulacionUGMA
 
Unidad iii problema en excel de aleatoriedad
Unidad iii problema en excel de aleatoriedadUnidad iii problema en excel de aleatoriedad
Unidad iii problema en excel de aleatoriedadUGMA
 
Unidad iii programas de aleatoriedad
Unidad iii programas de aleatoriedadUnidad iii programas de aleatoriedad
Unidad iii programas de aleatoriedadUGMA
 
Modelización de la aleatoriedad unidad ii
Modelización de la aleatoriedad unidad iiModelización de la aleatoriedad unidad ii
Modelización de la aleatoriedad unidad iiUGMA
 
Unidad I simulacion de sistemas nuevo
Unidad I simulacion de sistemas nuevoUnidad I simulacion de sistemas nuevo
Unidad I simulacion de sistemas nuevoUGMA
 
cuadro sinoptico escuela de DO
cuadro sinoptico escuela de DOcuadro sinoptico escuela de DO
cuadro sinoptico escuela de DOUGMA
 
Teorias Administrativos o del pensamiento y comportamiento organizaiconal
Teorias Administrativos o del pensamiento y comportamiento organizaiconalTeorias Administrativos o del pensamiento y comportamiento organizaiconal
Teorias Administrativos o del pensamiento y comportamiento organizaiconalUGMA
 
B learning Proyecto de Aula virtual de Postgrado UGMA pfep
B learning Proyecto de Aula virtual de Postgrado UGMA pfepB learning Proyecto de Aula virtual de Postgrado UGMA pfep
B learning Proyecto de Aula virtual de Postgrado UGMA pfepUGMA
 
Capítulo ii power point
Capítulo ii power pointCapítulo ii power point
Capítulo ii power pointUGMA
 
Presentac. capitulo i
Presentac. capitulo iPresentac. capitulo i
Presentac. capitulo iUGMA
 
Capitulo ii marco teorico
Capitulo ii marco teoricoCapitulo ii marco teorico
Capitulo ii marco teoricoUGMA
 
Generalidades para la elaboracion del anteproyecto tg
Generalidades para la elaboracion del anteproyecto tgGeneralidades para la elaboracion del anteproyecto tg
Generalidades para la elaboracion del anteproyecto tgUGMA
 
Decanato de postgrado criterios para la elaboracion de tg
Decanato  de postgrado criterios para la elaboracion de tgDecanato  de postgrado criterios para la elaboracion de tg
Decanato de postgrado criterios para la elaboracion de tgUGMA
 

Más de UGMA (20)

Analizador de datos de Arena.pdf
Analizador de datos de Arena.pdfAnalizador de datos de Arena.pdf
Analizador de datos de Arena.pdf
 
MODELIZACIÓN DE LA ALEATORIEDAD-UNIDAD II.ppt
MODELIZACIÓN DE LA ALEATORIEDAD-UNIDAD II.pptMODELIZACIÓN DE LA ALEATORIEDAD-UNIDAD II.ppt
MODELIZACIÓN DE LA ALEATORIEDAD-UNIDAD II.ppt
 
Ejemplo de Aplicación Taquilla de Paso Banco de Venezuela.pptx
Ejemplo de Aplicación Taquilla de Paso Banco de Venezuela.pptxEjemplo de Aplicación Taquilla de Paso Banco de Venezuela.pptx
Ejemplo de Aplicación Taquilla de Paso Banco de Venezuela.pptx
 
problemas_Simulacion.pdf
problemas_Simulacion.pdfproblemas_Simulacion.pdf
problemas_Simulacion.pdf
 
Simulacion.pdf
Simulacion.pdfSimulacion.pdf
Simulacion.pdf
 
SIMULACIÓN DE SISTEMAS-UNIDAD I.ppt
SIMULACIÓN DE SISTEMAS-UNIDAD I.pptSIMULACIÓN DE SISTEMAS-UNIDAD I.ppt
SIMULACIÓN DE SISTEMAS-UNIDAD I.ppt
 
Unidad I conceptos-basicos de Simulacion.ppt
Unidad I conceptos-basicos de Simulacion.pptUnidad I conceptos-basicos de Simulacion.ppt
Unidad I conceptos-basicos de Simulacion.ppt
 
Unidad IV: Estudio de Simulacion
Unidad IV: Estudio de SimulacionUnidad IV: Estudio de Simulacion
Unidad IV: Estudio de Simulacion
 
Unidad iii problema en excel de aleatoriedad
Unidad iii problema en excel de aleatoriedadUnidad iii problema en excel de aleatoriedad
Unidad iii problema en excel de aleatoriedad
 
Unidad iii programas de aleatoriedad
Unidad iii programas de aleatoriedadUnidad iii programas de aleatoriedad
Unidad iii programas de aleatoriedad
 
Modelización de la aleatoriedad unidad ii
Modelización de la aleatoriedad unidad iiModelización de la aleatoriedad unidad ii
Modelización de la aleatoriedad unidad ii
 
Unidad I simulacion de sistemas nuevo
Unidad I simulacion de sistemas nuevoUnidad I simulacion de sistemas nuevo
Unidad I simulacion de sistemas nuevo
 
cuadro sinoptico escuela de DO
cuadro sinoptico escuela de DOcuadro sinoptico escuela de DO
cuadro sinoptico escuela de DO
 
Teorias Administrativos o del pensamiento y comportamiento organizaiconal
Teorias Administrativos o del pensamiento y comportamiento organizaiconalTeorias Administrativos o del pensamiento y comportamiento organizaiconal
Teorias Administrativos o del pensamiento y comportamiento organizaiconal
 
B learning Proyecto de Aula virtual de Postgrado UGMA pfep
B learning Proyecto de Aula virtual de Postgrado UGMA pfepB learning Proyecto de Aula virtual de Postgrado UGMA pfep
B learning Proyecto de Aula virtual de Postgrado UGMA pfep
 
Capítulo ii power point
Capítulo ii power pointCapítulo ii power point
Capítulo ii power point
 
Presentac. capitulo i
Presentac. capitulo iPresentac. capitulo i
Presentac. capitulo i
 
Capitulo ii marco teorico
Capitulo ii marco teoricoCapitulo ii marco teorico
Capitulo ii marco teorico
 
Generalidades para la elaboracion del anteproyecto tg
Generalidades para la elaboracion del anteproyecto tgGeneralidades para la elaboracion del anteproyecto tg
Generalidades para la elaboracion del anteproyecto tg
 
Decanato de postgrado criterios para la elaboracion de tg
Decanato  de postgrado criterios para la elaboracion de tgDecanato  de postgrado criterios para la elaboracion de tg
Decanato de postgrado criterios para la elaboracion de tg
 

Último

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 

Último (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 

teoria_Simulacion.pdf

  • 1. SIMULACIÓN Texto Base de Teorı́a Alfonso Urquı́a Moraleda Departamento de Informática y Automática Escuela Técnica Superior de Ingenierı́a Informática, UNED Juan del Rosal 16, 28040 Madrid, España E-mail: aurquia@dia.uned.es
  • 2.
  • 3. Índice I Introducción al modelado y la simulación 1 1. Conceptos básicos 3 1.1. Sistemas y modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Tipos de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3. Modelos matemáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4. El marco experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2. Pasos en un estudio de simulación 9 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2. Definición del problema y planificación del proyecto . . . . . . . . . . . . . . . . 10 2.3. Definición del sistema y formulación del modelo . . . . . . . . . . . . . . . . . . 11 2.4. Diseño de los experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5. Datos de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6. Traducción del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.7. Verificación y validación del modelo . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.8. Experimentación y análisis de los resultados . . . . . . . . . . . . . . . . . . . . 17 2.9. Documentación e implementación . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 II Modelado y simulación 19 3. Método de Monte Carlo 21 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2. Estimación del valor del número π . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3. Probabilidad de ganar un juego “solitario” de cartas . . . . . . . . . . . . . . . . 25 3.4. Cálculo de integrales definidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ANEXO. Programa de simulación para la estimación del valor de una integral definida 28 4. Modelado de sistemas de eventos discretos 31 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2. Estructura lógica del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 I
  • 4. II Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a 4.3. Elementos del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4. Aspectos matemáticos del modelo y las variables de entrada . . . . . . . . . . . 35 4.5. Medidas del comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.6. Condiciones inicial y final de la simulación . . . . . . . . . . . . . . . . . . . . . 37 4.7. Descripción del funcionamiento del sistema . . . . . . . . . . . . . . . . . . . . 38 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5. Simulación usando un lenguaje de programación 41 5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2. Algoritmo de simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.3. Simulación de una cola atendida por un empleado . . . . . . . . . . . . . . . . 44 5.4. Gestión del inventario de un único producto . . . . . . . . . . . . . . . . . . . . 54 5.5. Modelado mediante grafos de eventos . . . . . . . . . . . . . . . . . . . . . . . . 63 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 ANEXO 1. Programa de simulación de una cola atendida por un único empleado . . 69 ANEXO 2. Programa de simulación de la gestión del inventario de un producto . . . 75 6. Simulación usando Arena 81 6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6.2. Modelado de operaciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.3. Modelado detallado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7. Modelos analı́ticos y simulación 101 7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.2. Modelos analı́ticos frente a modelos de simulación . . . . . . . . . . . . . . . . 102 7.3. Cadenas de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.4. Modelos analı́ticos de sistemas de colas . . . . . . . . . . . . . . . . . . . . . . . 108 III Modelado y generación de las entradas aleatorias 115 8. Modelado de las entradas 117 8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 8.2. Distribuciones de probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 8.3. Independencia y homogeneidad de los datos . . . . . . . . . . . . . . . . . . . . 123 8.4. Tarea I: Selección de la familia de distribuciones . . . . . . . . . . . . . . . . . . 124 8.5. TAREA II: Estimación de los parámetros . . . . . . . . . . . . . . . . . . . . . . 130 8.6. TAREA III: Medida de la bondad del ajuste . . . . . . . . . . . . . . . . . . . . . 136 8.7. Selección de la distribución en ausencia de datos . . . . . . . . . . . . . . . . . 140 8.8. Procesos estocásticos de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 8.9. Análisis de las entradas usando Arena . . . . . . . . . . . . . . . . . . . . . . . 147 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
  • 5. ÍNDICE III 9. Generación de números aleatorios 153 9.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 9.2. Generadores fı́sicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 9.3. Generadores aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 9.4. Generadores congruenciales lineales . . . . . . . . . . . . . . . . . . . . . . . . . 161 9.5. Otros generadores congruenciales . . . . . . . . . . . . . . . . . . . . . . . . . . 166 9.6. Generadores combinados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 9.7. Generadores de Tausworthe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 9.8. Tests empı́ricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 9.9. Tests empı́ricos de uniformidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 9.10. Tests empı́ricos de independencia . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 10. Observaciones de variables aleatorias 187 10.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 10.2. Método de la transformación inversa . . . . . . . . . . . . . . . . . . . . . . . . . 188 10.3. Composición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 10.4. Convolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 10.5. Método de aceptación/rechazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 10.6. Observaciones de variables aleatorias continuas . . . . . . . . . . . . . . . . . . 193 10.7. Observaciones de variables aleatorias discretas . . . . . . . . . . . . . . . . . . 195 10.8. Generación de procesos de llegada . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 IV Empleo de los modelos de simulación 201 11. Análisis de los resultados de la simulación 203 11.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 11.2. Simulaciones con condición de finalización . . . . . . . . . . . . . . . . . . . . . 208 11.3. Simulaciones en el estacionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 11.4. Intervalos para varias magnitudes . . . . . . . . . . . . . . . . . . . . . . . . . . 214 11.5. Comparación entre dos sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 11.6. Comparación entre más de dos sistemas . . . . . . . . . . . . . . . . . . . . . . 220 11.7. Análisis usando Arena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 12. Reducción de la varianza 233 12.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 12.2. Números seudo aleatorios comunes . . . . . . . . . . . . . . . . . . . . . . . . . 234 12.3. Variables aleatorias antitéticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 13. Diseño de experimentos y optimización 243
  • 6. IV Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a 13.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 13.2. Objetivos, respuestas y factores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 13.3. Diseño experimental factorial completo . . . . . . . . . . . . . . . . . . . . . . . 248 13.4. Diseños experimentales factoriales fraccionales . . . . . . . . . . . . . . . . . . 254 13.5. Optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 13.6. Optimización usando Arena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 V Apéndices 263 A. Conceptos de probabilidad y estadı́stica 265 A.1. ¿Para qué? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 A.2. El significado de “probabilidad” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 A.3. Probabilidad condicionada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 A.4. El teorema fundamental de la probabilidad . . . . . . . . . . . . . . . . . . . . . 267 A.5. El concepto de variable aleatoria . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 A.6. Probabilidad acumulada y densidad de probabilidad . . . . . . . . . . . . . . . 269 A.7. Cuantiles y mediana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 A.8. Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 A.9. Varianza y desviación estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 A.10. Estimadores de la media y de la varianza . . . . . . . . . . . . . . . . . . . . . . 271 A.11. Covarianza y coeficiente de correlación . . . . . . . . . . . . . . . . . . . . . . . 272 A.12. Secuencias de variables aleatorias . . . . . . . . . . . . . . . . . . . . . . . . . . 273 A.13. Teorema del lı́mite central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 A.14. Intervalos de confianza para la media . . . . . . . . . . . . . . . . . . . . . . . . 274 A.15. Intervalo de confianza para la varianza . . . . . . . . . . . . . . . . . . . . . . . 277 A.16. Intervalo de una distribución binomial . . . . . . . . . . . . . . . . . . . . . . . 279 A.17. Contraste de hipótesis paramétricas . . . . . . . . . . . . . . . . . . . . . . . . . 280 A.18. Contraste respecto a la media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 A.19. Contraste respecto a la varianza . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 A.20. Contraste respecto a la proporción . . . . . . . . . . . . . . . . . . . . . . . . . . 283 A.21. Boxplot (Box & Whiskers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 B. Distribuciones de probabilidad continuas 285 Uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Exponencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Gamma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Weibull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Lognormal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Beta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
  • 7. ÍNDICE V Triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Equivalencias entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Relaciones entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 C. Distribuciones de probabilidad discretas 295 Bernoulli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Uniforme discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Binomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Binomial negativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Equivalencias entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Relaciones entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 VI Tablas 303 T.1. Puntos crı́ticos de la distribución t y de la distribución normal estándar 305 T.2. Puntos crı́ticos de la distribución chi-cuadrado 306 T.3. Puntos crı́ticos del test de Kolmogorov-Smirnov 307
  • 8. VI Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
  • 9. Parte I Introducción al modelado y la simulación 1
  • 10.
  • 11. Tema 1 Conceptos básicos del modelado y la simulación Objetivos: Una vez estudiado el contenido del tema y realizados los ejercicios prácticos, deberı́a saber: • Discutir los conceptos “sistema”, “modelo”, “simulación” y “marco expe- rimental”. • Describir y comparar los diferentes tipos de modelos. • Comparar y reconocer los distintos tipos de modelos matemáticos. 1.1. Sistemas y modelos En el sentido amplio del término, un modelo es “una representación de un sistema desarrollada para un propósito especı́fico”. Puesto que la finalidad de un modelo es ayudarnos a responder preguntas sobre un determinado sistema, el primer paso en la construcción de un modelo es definir cuál es el sistema y cuáles son las preguntas. En este contexto, se entiende por sistema “cualquier objeto o conjunto de objetos cuyas propiedades se desean estudiar”. Con una definición tan amplia, cualquier fuente potencial de datos puede considerarse un sistema. Algunos ejemplos de sistema son: • Una planta de fabricación con máquinas, personal, dispositivos de transporte y almacén. • El servicio de emergencias de un hospital, incluyendo al personal, las salas, el equipa- miento y el transporte de los pacientes. • Una red de ordenadores con servidores, clientes, dispositivos de disco y de cinta, impre- soras, etc. • Un supermercado con control de inventario, cajeros y atención al cliente. 3
  • 12. 4 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a • Un parque temático con atracciones, tiendas, restaurantes, trabajadores, clientes y aparcamientos. Un procedimiento para conocer el comportamiento de los sistemas es la experimentación. De hecho, éste ha sido el método empleado durante siglos para avanzar en el conocimiento: plantear las preguntas adecuadas acerca del comportamiento de los sistemas y responderlas mediante experimentación. Un experimento es “el proceso de extraer datos de un sistema sobre el cual se ha ejercido una acción externa”. Por ejemplo, el encargado de un supermercado puede ensayar diferentes procedimientos de control del inventario y de distribución del personal, para determinar qué combinaciones demuestran ser más rentables y proporcionan un mejor servicio. Cuando es posible trabajar directamente con el sistema real, el método experimental presenta indudables ventajas. Sin embargo, para que los resultados del experimento sean válidos, debe garantizarse que no existen variables ocultas “confundidas” con las variables experimentales. Por ejemplo, continuando con el modelo del supermercado, si la afluencia de público durante el periodo en que se experimenta una estrategia de servicio es significa- tivamente mayor que durante el periodo en que se experimenta la otra, no podrá extraerse ninguna conclusión válida sobre el tiempo medio de espera de los clientes en la cola de las cajas. El método experimental está basado en sólidos fundamentos cientı́ficos, sin embargo tiene sus limitaciones, ya que en ocasiones es imposible o desaconsejable experimentar con el sistema real. En estos casos, el modelado y la simulación son las técnicas adecuadas para el análisis de sistema, puesto que, a excepción de la experimentación con el sistema real, la simulación es la única técnica disponible que permite analizar sistemas arbitrarios de forma precisa, bajo diferentes condiciones experimentales. Existen múltiples razones por las cuales la experimentación con el sistema real puede resultar inviable: • Quizá la más evidente de ellas es que el sistema aun no exista fı́sicamente. Esta si- tuación se plantea frecuentemente en la fase de diseño de nuevos sistemas, cuando el ingeniero necesita predecir el comportamiento de los mismos antes de que sean construidos. • Otra posible razón es el elevado coste económico del experimento. Consideremos el caso de un empresario que planea ampliar las instalaciones de su empresa, pero que no está seguro de que la ganancia potencial justifique el coste de la ampliación. Ciertamen- te, no serı́a razonable que, para salir de dudas, realizara la ampliación y luego se volviera atrás si ésta demostrara no ser rentable. Una alternativa consiste en simular la opera- ción de la configuración actual de la empresa, simular la operación de la configuración alternativa y comprar sus productividades. • El experimento puede producir perjuicio o incomodidad. Por ejemplo, experimentar con un nuevo sistema de facturación en un aeropuerto puede producir retrasos y problemas imprevisibles que perjudiquen al viajero. • En ocasiones el tiempo requerido para la realización del experimento lo hace irrealiza- ble. Casos extremos pueden encontrarse en los estudios geológicos o cosmológicos, de evolución de las especies, sociológicos, etc. • Algunos experimentos son peligrosos, y por tanto es desaconsejable realizarlos. Por ejemplo, serı́a inapropiado usar el sistema real para adiestrar a los operarios de una central nuclear acerca de cómo deben reaccionar ante situaciones de emergencia. • En ocasiones el experimento requiere modificar variables que en el sistema real o bien no están accesibles o no pueden ser modificadas en el rango requerido. Con un modelo matemático adecuado, se pueden ensayar condiciones de operación extremas que son impracticables en el sistema real.
  • 13. TEMA 1. CONCEPTOS BÁSICOS 5 SISTEMA EXPERIMENTAR CON EL SISTEMA REAL EXPERIMENTAR CON EL MODELO DEL SISTEMA MODELO MENTAL MODELO VERBAL MODELO FÍSICO MODELO MATEMÁTICO SOLUCIÓN ANALÍTICA SIMULACIÓN Figura 1.1: Formas de estudiar un sistema. 1.2. Tipos de modelos Los seres humanos, en nuestra vida cotidiana, empleamos continuamente modelos para comprender y predecir el comportamiento de sistemas (ver la Figura 1.1). Por ejemplo, con- siderar que alguien es “amable” constituye un modelo del comportamiento de esta persona. Este modelo nos ayuda a responder, por ejemplo, a la pregunta: “¿cómo reaccionará si le pedimos un favor?”. También disponemos de modelos de los sistemas técnicos que están basados en la intuición y en la experiencia. Todos estos se llaman modelos mentales . Por ejemplo, aprender a conducir un coche consiste parcialmente en desarrollar un modelo mental de las propiedades de la conducción del coche. Asimismo, un operario trabajando en determinado proceso industrial sabe cómo el proceso reacciona ante diferentes acciones: el operario, mediante el entrenamiento y la experiencia, ha desarrollado un modelo mental del proceso. Otro tipo de modelos son los modelos verbales, en los cuales el comportamiento del sistema es descrito mediante palabras: si se aprieta el freno, entonces la velocidad del coche se reduce. Los sistemas expertos son ejemplos de modelos verbales formalizados. Es importante diferenciar entre los modelos mentales y los verbales. Por ejemplo, nosotros usamos un modelo mental de la dinámica de la bicicleta cuando la conducimos, sin embargo no es sencillo convertirlo a un modelo verbal. Además de los modelos mentales y verbales, existe otro tipo de modelos que tratan de imitar al sistema real. Son los modelos fı́sicos, como las maquetas a escala que construyen los arquitectos, diseñadores de barcos o aeronaves para comprobar las propiedades estéticas, aerodinámicas, etc. Finalmente, existe un cuarto tipo de modelos, los modelos matemáticos. En ellos, las rela- ciones entre las cantidades que pueden ser observadas del sistema (distancias, velocidades, flujos, etc.) están descritas mediante relaciones matemáticas. En este sentido, la mayorı́a de las leyes de la naturaleza son modelos matemáticos. Por ejemplo, para el sistema “masa puntual”, la Ley de Newton del movimiento describe la relación entre la fuerza y la aceleración. Asimismo, para el sistema “resistencia eléctrica”, la Ley de Ohm describe la relación entre la caı́da de tensión y el flujo de corriente. En algunos casos, las relaciones matemáticas que constituyen los modelos son sencillas y pueden resolverse analı́ticamente. Sin embargo, en la mayorı́a de los casos, los modelos
  • 14. 6 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a no pueden resolverse analı́ticamente y deben estudiarse, con ayuda del ordenador, aplicando métodos numéricos. Este experimento numérico realizado sobre el modelo matemático, recibe el nombre de simulación. 1.3. Modelos matemáticos La finalidad de un estudio de simulación (es decir, las preguntas que debe responder) con- diciona las hipótesis empleadas en la construcción del modelo, y éstas a su vez determinan qué tipo de modelo resulta más adecuado al estudio. De hecho, un mismo sistema puede ser modelado de múltiples formas, empleando diferentes tipos de modelos, dependiendo de la finalidad perseguida en cada caso. Existen diferentes clasificaciones de los modelos matemáticos, atendiendo a diferentes cri- terios. A continuación se describen algunas de las clasificaciones más comúnmente usadas. Determinista vs Estocástico Un modelo matemático es determinista cuando todas sus variables de entrada son deter- ministas, es decir, el valor de cada una de ellas es conocido en cada instante. Un ejemplo de modelo determinista es un servicio al cual los clientes acceden ordenada- mente, cada uno a una hora preestablecida (de acuerdo, por ejemplo, con un libro de citas), y en el cual el tiempo de servicio a cada cliente está igualmente preestablecido de antemano. No existe incertidumbre en la hora de inicio o de finalización de cada servicio. Por el contrario, un modelo es estocástico cuando alguna de sus variables de entrada es aleatoria. Las variables del modelo calculadas a partir de variables aleatorias son también aleatorias. Por ello, la evolución de este tipo de sistemas debe estudiarse en términos proba- bilı́sticos. Por ejemplo, considérese el modelo de parking, en el cual las entradas y salidas de coches se producen en instantes de tiempo aleatorios. La aleatoriedad de estas variables se propaga a través de la lógica del modelo, de modo que las variables dependientes de ellas también son aleatorias. Este serı́a el caso, por ejemplo, del tiempo que transcurre entre que un cliente deja aparcado su vehı́culo y lo recoge (tiempo de aparcamiento), el número de vehı́culos que hay aparcados en un determinado instante, etc. Es importante tener en cuenta que realizar una única réplica de una simulación estocásti- ca es equivalente a realizar un experimento fı́sico aleatorio una única vez. Por ejemplo, si se realiza una simulación del comportamiento del parking durante 24 horas, es equivalente a observar el funcionamiento del parking real durante 24 horas. Si se repite la observación al dı́a siguiente, seguramente los resultados obtenidos serán diferentes, y lo mismo sucede con la simulación: si se realiza una segunda réplica independiente de la primera, seguramente los resultados serán diferentes. La consecuencia que debe extraerse de ello es que el diseño y el análisis de los experimen- tos de simulación estocásticos debe hacerse teniendo en cuenta esta incertidumbre en los resultados, es decir, debe hacerse empleando técnicas estadı́sticas. Las dificultades asociadas a la simulación de modelos estocásticos pueden invitarnos en ocasiones a realizar hipótesis adicionales, con el fin de eliminar la incertidumbre en el valor de las variables de entrada. Un ejemplo tı́pico consiste en sustituir cada variable de entrada aleatoria por otra determinista, cuyo valor sea la media de la distribución de probabilidad de aquella. Este modelo determinista, obtenido de eliminar la incertidumbre en el valor de las variables de entrada, proporcionará resultados no aleatorios. Sin embargo, esta simplificación hará que probablemente el modelo ya no sea una representación del sistema válida para el objetivo del estudio.
  • 15. TEMA 1. CONCEPTOS BÁSICOS 7 Estático vs Dinámico Un modelo de simulación estático es una representación de un sistema en un instante de tiempo particular, o bien un modelo que sirve para representar un sistema en el cual el tiempo no juega ningún papel. Ejemplo de simulaciones estáticas son las simulaciones de Monte Carlo. Por otra parte, un modelo de simulación dinámico representa un sistema que evoluciona con el tiempo. De tiempo continuo vs De tiempo discreto vs Hı́brido Un modelo de tiempo continuo está caracterizado por el hecho de que el valor de sus variables de estado puede cambiar infinitas veces (es decir, de manera continua) en un intervalo finito de tiempo. Un ejemplo es el nivel de agua en un depósito. Por el contrario, en un modelo de tiempo discreto los cambios pueden ocurrir únicamente en instantes separados en el tiempo. Sus variables de estado pueden cambiar de valor sólo un número finito de veces por unidad de tiempo. Pueden definirse modelos con algunas de sus variables de estado de tiempo continuo y las restantes de tiempo discreto. Este tipo de modelos, con parte de tiempo continuo y parte de tiempo discreto, de llama modelos hı́bridos. Tal como se ha indicado al comienzo de la sección, la decisión de realizar un modelo conti- nuo o discreto depende del objetivo especı́fico del estudio y no del sistema en sı́. Un ejemplo de ello lo constituyen los modelos del flujo de tráfico de vehı́culos. Cuando las caracterı́sticas y el movimiento de los vehı́culos individuales son relevantes puede realizarse un modelo discreto. En caso contrario, puede resultar más sencillo realizar un modelo continuo. En este punto es conveniente realizar una consideración acerca de los modelos de tiempo continuo y discreto. Al igual que las variables continuas (aquellas que pueden tomar cualquier valor intermedio en su rango de variación) son una idealización, también lo son los modelos de tiempo continuo. Cualquiera que sea el procedimiento de medida que se emplee para medir el valor de una variable, tendrá un lı́mite de precisión. Este lı́mite marca la imposibilidad de dar una medida continua y supone que, en la práctica, todas las medidas son discretas. Igualmente, los ordenadores trabajan con un número finito de cifras decimales. Sin embargo, para los razonamientos teóricos, conviene considerar ciertas variables como continuas. Al simular mediante un computador digital un modelo de tiempo continuo, debe discre- tizarse el eje temporal a fin de evitar el problema de los infinitos cambios en el valor de los estados. Esta discretización constituye una aproximación (con su error asociado) que transforma el modelo de tiempo continuo en un modelo de tiempo discreto. Por ejemplo, si se discretiza el eje temporal del modelo de tiempo continuo dx dt = f (x, u, t) (1.1) con un intervalo de discretización ∆t, se obtiene (empleando el método de Euler explı́cito) el siguiente modelo de tiempo discreto: xK+1 − xK ∆t = f (xK, uK, tK) −→ xK+1 = xK + ∆t · f (xK, uK, tK) (1.2) 1.4. El marco experimental Al igual que se distingue entre el sistema real y el experimento, es conveniente distinguir entre la descripción del modelo y la descripción del experimento. Esto es ası́ tanto desde el punto de vista conceptual como práctico. Sin embargo, en el caso del modelo esta separación
  • 16. 8 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a implica cierto riesgo: su empleo en unas condiciones experimentales para las cuales no es válido. Por supuesto, cuando se trabaja con sistemas reales este riesgo nunca existe, ya que un sistema real es válido para cualquier experimento. Por el contrario, cualquier modelo está fun- damentado en un determinado conjunto de hipótesis. Cuando las condiciones experimentales son tales que no se satisfacen las hipótesis del modelo, éste deja de ser válido. Para evitar este problema, la descripción del modelo debe ir acompañada de la documentación de su marco experimental. Éste establece el conjunto de experimentos para el cual el modelo es válido. EJERCICIOS 1.1 Describa cuál serı́a en su opinión la forma más eficaz de estudiar cada uno de los sistemas siguientes, en términos de las posibilidades mostradas en la Figura 1.1. 1. Un ecosistema compuesto por varias especies animales y vegetales, y por recursos (agua, luz, etc.). 2. Una glorieta en la que convergen varias calles, y que frecuentemente presenta atascos. 3. Una presa para el suministro de agua y electricidad, que se planea construir en un rı́o. 4. El servicio de urgencias de un hospital, que se encuentra en funcionamiento. 5. Un servicio de entrega de pizzas a domicilio. 6. Una determinada secuencia de pasos en el proceso de fabricación de circuitos integrados, en una fábrica que se encuentra en funcionamiento. 7. El funcionamiento de un autobús, que conecta el punto de devolución de vehı́culos, de una compañı́a de alquiler de coches, con el aeropuerto. 8. Un circuito eléctrico. 1.2 Para cada uno de los sistemas mencionados en el problema anterior, suponga que se ha decidido realizar el estudio mediante simulación. Discuta si la simulación deberı́a ser estática o dinámica, determinista o estocástica, y continua o discreta. 1.3 Sugiera al menos dos estudios de simulación en el ámbito de la fabricación/manufactura, y otro en el ámbito de los servicios (por ejemplo, servicios de salud, bomberos, etc.). Jus- tifique el uso de simulación, en oposición al empleo de modelos analı́ticos. ¿Qué aspectos del análisis mediante simulación son particularmente ventajosos para la aplicación seleccionada?
  • 17. Tema 2 Pasos en un estudio de simulación Objetivos: Una vez estudiado el contenido del tema y realizados los ejercicios prácticos, deberı́a saber: • Discutir los pasos de que consta un estudio de simulación. 2.1. Introducción A grandes rasgos, los pasos que deben seguirse en un estudio de simulación son los siguientes: 1. Definición del problema. Consiste en definir claramente por qué se estudia el sistema y qué objetivos se persigue con ello, es decir, cuáles son las preguntas a contestar. 2. Planificación del proyecto. Tiene como objetivo estimar qué recursos son necesarios para llevar a cabo el estudio: dinero, personal, hardware de computación, recursos software, etc. Si estos recursos no están disponibles debe replantearse el alcance del estudio. 3. Definición del sistema. Debe definirse qué aspectos de la realidad constituyen el siste- ma bajo estudio. 4. Formulación conceptual del modelo. Desarrollo de un modelo preliminar, bien gráfi- camente (mediante diagramas de bloques) o en seudo código, en el que se definen los componentes, las variables descriptivas y las interacciones (la lógica) que constituyen el modelo del sistema. 5. Diseño preliminar del experimento. Consiste en definir qué acción se va a ejercer sobre el modelo y cómo se va a medir su comportamiento. Se trata, por tanto, de definir qué variables son las entradas y cuáles las salidas, cómo va a modificarse el valor de las entradas y cómo van a recogerse los datos de salida. 6. Preparación de los datos de entrada. Debe establecerse el procedimiento a seguir para asignar valores a cada una de las variables de entrada durante la simulación. 7. Traducción del modelo. Consiste en describir las partes del modelo y su funciona- miento empleando un lenguaje de simulación. De este modo ya puede ejecutarse la simulación. 8. Verificación y validación. Se trata de estudiar si el modelo opera como debiera y si la salida del modelo es creı́ble y representativa del comportamiento del sistema. 9
  • 18. 10 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a 9. Diseño experimental final. En este punto se diseña un experimento que proporcione la información necesaria para poder contestar a las preguntas planteadas en el estudio. Tı́picamente el experimento consiste en cierto número de réplicas de la simulación realizadas en condiciones bien definidas. 10. Experimentación. Realización del experimento de simulación diseñado anteriormente. 11. Análisis e interpretación. Consiste en inferir conclusiones a partir de los datos obteni- dos de la simulación. 12. Implementación y documentación. Una vez obtenidos los resultados, analizados y extraı́das las conclusiones, éstas deben ser presentadas de la forma más adecuada. El modelo debe ser documentado y preparado de modo que pueda ser reutilizado para posteriores estudios. Finalmente, deben tomarse acciones (si ésta era la finalidad del estudio) a partir de las conclusiones obtenidas. Respecto a la distribución del esfuerzo, un posible criterio1 es la regla 40-20-40, consis- tente en: • Emplear el 40 % del esfuerzo y del tiempo del proyecto en los pasos 1 a 6 (comprensión del problema, diseño del modelo y del experimento). • Emplear el 20 % del esfuerzo en el paso 7 (programación del modelo). • Finalmente, emplear el 40 % restante en los pasos 8 a 12 (verificación, validación, diseño y realización del experimento, análisis de los resultados, implementación y documenta- ción). A continuación se discute en detalle cada uno de estos pasos. 2.2. Definición del problema y planificación del proyecto Antes de intentar resolver un problema, es esencial formularlo adecuadamente. Ésta es una afirmación que parece evidente, de sentido común, pero que no siempre se aplica. Para encontrar una solución a un problema, uno debe conocer primero cuál es el problema. En particular, el primer paso en todo estudio de simulación es definir explı́citamente cuál es su objetivo: la construcción del modelo se realiza con el fin de ayudar a responder ciertas preguntas acerca del sistema real. El objetivo de un estudio de simulación puede ser de lo más diverso. Algunos ejemplos son: • Evaluación del comportamiento de determinado diseño del sistema en términos abso- lutos frente a determinados criterios especı́ficos. • Comparación del comportamiento de diferentes diseños alternativos del sistema, o comparación de diferentes polı́ticas de operación o procedimientos. • Predicción del comportamiento del sistema bajo cierto conjunto de condiciones. • Análisis de la sensibilidad, es decir, determinar entre varios factores cuál es el que más afecta al comportamiento del sistema. • Optimización, esto es, cálculo de los valores de determinados parámetros del modelo que producen que el sistema tenga la mejor respuesta (atendiendo a un determinado criterio). • Estudio de las relaciones funcionales entre determinadas variables del modelo. Por ejemplo, la determinación de la relación funcional entre una de las respuestas del modelo y determinadas variables de entrada. • Localización y análisis de los cuellos de botella. Consiste en descubrir la localización de los cuellos de botella del sistema y evaluar propuestas para descongestionar alguno de ellos. Estos objetivos pretenden responder preguntas del tipo: • ¿Funciona el sistema del modo que queremos que lo haga (evaluación y predicción)? 1(Pedgen, Shannon & Sadowsky 1995)
  • 19. TEMA 2. PASOS EN UN ESTUDIO DE SIMULACIÓN 11 • ¿Por qué no funciona el sistema y qué podemos hacer para que funcione (determinación de los cuellos de botella y optimización)? • ¿Cuál es la mejor alternativa (comparación y análisis de sensibilidad)? El propósito del estudio de simulación tiene implicaciones decisivas en el diseño del modelo y del experimento. Por ejemplo, si el propósito es evaluar el comportamiento de un sistema en términos absolutos, deberá existir un alto grado de correspondencia entre el comportamiento del modelo y del sistema. Por el contrario, si el propósito del estudio es comparar varios diseños, el modelo puede ser válido en un sentido relativo incluso cuando sus respuestas en un sentido absoluto difieran considerablemente de las del sistema real. En consecuencia, el proceso completo de diseño del modelo, validación, diseño de los experi- mentos y análisis de los resultados debe estar ı́ntimamente relacionado con el propósito del estudio. No obstante, el objetivo del estudio debe definirse con más detalle que mediante una simple pregunta. También es necesario conocer todos los aspectos relevantes que rodean al proyecto de simulación. Frecuentemente el estudio es realizado por un grupo de ingenieros que deben recomendar una solución al problema, pero que no son quienes deben tomar la decisión final. En estos casos, lo resultados del estudio deben servir simultáneamente a dos propósitos: ayudar a formular la recomendación y ayudar a “vender” la recomendación. Con este fin, deben considerarse otros factores condicionantes: cuáles son los intereses de la persona que debe tomar la decisión final, qué aspectos de la situación están bajo su control y cuáles no, en qué va a consistir el proceso de la toma de decisión, qué otras personas participan en la toma de la decisión (en especial aquellas que se oponen a que se realicen cambios en el sistema) y cuáles son sus objetivos más relevantes, etc. Como parte de la planificación deben considerarse todos aquellos factores que son crı́ticos para el éxito del proyecto, tales como: • ¿Están claramente definidos los objetivos del estudio? ¿Por qué se realiza el estudio? ¿Qué se pretende obtener del estudio? • ¿Se dispone de los recursos adecuados y suficientes para poder realizar el estudio: tiempo, personal, software, ordenadores, etc.? • ¿Dispone el estudio del soporte necesario por parte de la dirección? Las partes involu- cradas se implicarán en mayor medida si son conscientes del respaldo de la dirección. ¿Se les ha informado adecuadamente? ¿Son conscientes de que ese respaldo existe? • ¿Se han definido las tareas de que consta el proyecto, la vinculación entre ellas, quién debe realizarlas y en qué fechas? • ¿Posee cada uno de los miembros del proyecto la formación necesaria para realizar con éxito su cometido? ¿Está suficientemente capacitado el coordinador del proyecto? • ¿Se han identificado los usuarios potenciales o clientes de los resultados del estudio? ¿Han sido todos ellos consultados? ¿Se ha establecido el procedimiento para comunicar- les regularmente el estado en que se encuentra el proyecto y los progresos realizados? • ¿Se han establecido los adecuados canales de comunicación entre los miembros del equipo, la dirección y los clientes? 2.3. Definición del sistema y formulación del modelo La esencia del arte del modelado son la abstracción y la simplificación. Se trata de identi- ficar el pequeño conjunto de caracterı́sticas o propiedades del sistema suficientes para servir los objetivos especı́ficos del estudio. A grandes rasgos, la metodologı́a para la construcción del modelo podrı́a ser la siguiente: • Escoger las variables de salida, lo cual resulta relativamente sencillo una vez definido el objetivo del estudio. • La construcción del modelo se realiza identificando qué componentes del sistema afectan a estas variables de salida y decidiendo, para cada uno de ellos, si debe ser incluido en
  • 20. 12 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a el modelo o si debe ser considerado parte del entorno del modelo. En este último caso, el componente es representado mediante entradas al modelo. • Una vez se ha decidido qué componentes constituyen de modelo y qué variables des- criben el comportamiento de cada componente, deben determinarse las relaciones fun- cionales entre los componentes, es decir, la lógica del modelo. Normalmente se usan gráficos o seudo código para describir el sistema como un diagrama de flujo lógico. Para diseñar el modelo de simulación conviene disponer de la máxima información posible acerca del sistema. Existen diversas fuentes de información, por ejemplo: • La documentación de las especificaciones de diseño del sistema. Aunque posiblemente esta información no haya sido actualizada desde hace tiempo y esté incompleta, suele ser un punto de partida razonable para comprender el sistema. • Entrevistas con operarios e ingenieros que conozcan el sistema o con sus diseñadores si éste todavı́a no ha sido construido. En efecto, durante el diseño del modelo puede invitarse a especialistas en el sistema a que examinen datos de salida, procedentes unos del sistema real y otros del modelo, y que intenten, sin conocer la respuesta, identificar (razonadamente) cuáles provienen del modelo y cuáles del sistema real. Esta información puede emplearse para mejorar el modelo. • Observaciones y medidas realizadas “de primera mano” sobre el sistema. Sin duda ésta es la fuente de información más fiable: una vez leı́da la documentación y discutida la operación del sistema con operarios e ingenieros, es recomendable observar el sistema en operación. De hecho, en los primeros años de la investigación de operaciones se consideraba un procedimiento habitual que los ingenieros a cargo del modelado partici- paran durante cierto tiempo en la operación del sistema bajo estudio a fin de conocerlo mejor. La tarea de modelado implica la búsqueda de un punto de equilibrio: el modelo debe representar los aspectos del sistema real con el grado de detalle requerido, pero de modo que sea lo más sencillo posible. No debe hacerse un modelo demasiado detallado, que incluya componentes que contribuyan poco o nada a la comprensión del problema. Debe tenerse presente que el objetivo del modelo es responder a las preguntas planteadas y no imitar de manera precisa el comportamiento del sistema real. Además, aumentando la complejidad del modelo, no necesariamente se consigue aumentar su realismo. Ejemplo 2.3.1. En (Law & Kelton 2000) se describe el siguiente caso real. La dirección de una fábrica de comida para perros encargó a una consultorı́a la realización de un modelo de su lı́nea de producción, que producı́a 1 millón de latas de comida al dı́a, a velocidad constante. Al realizar el modelo, se representó cada lata de comida como una entidad independiente, con lo cual era extremadamente costoso ejecutar el modelo, y por ello, no fue muy útil. Unos años más tarde, el modelo fue reescrito, tratando el proceso de fabricación como un “flujo continuo”. El nuevo modelo produjo resultados precisos, y se ejecutaba en una pequeña fracción del tiempo necesario para ejecutar el modelo original. Ejemplo 2.3.2. En (Law & Kelton 2000) se describe otro caso real. En 1985 se realizó un modelo de una fábrica de grandes dimensiones (medı́a 1.5 millas de largo), con un coste de $250,000. Sin embargo, el modelo era tan detallado que jamas pudo llegarse a ejecutar, dado los inmensos recursos de memoria que requerı́a. Una buena práctica consiste en realizar el modelo de manera iterativa: comenzar con un modelo muy simple, cuya complejidad puede posteriormente ir aumentándose fácilmente. Para ello, el modelo debe realizarse de manera modular y jerárquica, dividiendo el sistema en submodelos y modelando todos ellos con un nivel semejante de complejidad. Este modelo inicial puede construirse muy rápido y puede servir de punto de discusión sobre posteriores refinamientos en el modelado (se entiende por “refinamiento” del modelo el aumento en su nivel de detalle). Añadiendo progresivamente los refinamientos al modelo, y comparando los resultados obtenidos con los del modelo más sencillo, puede estimarse el impacto de cada conjunto de refinamientos sobre la respuesta del modelo. En determinado punto de este proceso de aumento gradual de la complejidad del modelo, los refinamientos añadidos tienen
  • 21. TEMA 2. PASOS EN UN ESTUDIO DE SIMULACIÓN 13 un efecto pequeño, es decir, influyen despreciablemente en las conclusiones del estudio, con lo cual se concluirá que no es preciso incorporarlos. Existen varias técnicas que se pueden aplicar simultáneamente para obtener un modelo simplificado de un sistema. Algunas de ellas son: • La omisión de ciertos detalles del modelo. La idea que hay detrás de esta aproximación es que no todos los factores son igualmente importantes para determinar el comporta- miento del sistema. Se trata de determinar qué factores son crı́ticos (efectos de primer orden) y cuáles no (efectos de segundo orden). Omitir los detalles supone introducir deliberadamente “imperfecciones”, y por tanto podrı́a considerarse que es una mala práctica. Sin embargo, nada más lejos de la realidad: solamente omitiendo los factores de segundo orden puede construirse un modelo útil. El aumento en el nivel de detalle debe hacerse atendiendo al impacto que la complejidad añadida tiene sobre los resultados del estudio, es decir, debe emplearse el esfuerzo de modelado en la representación de aquellos aspectos del sistema que más influencia tienen sobre los resultados del estudio. • Agregar determinados procesos del sistema en un proceso equivalente. Ejemplos tı́picos de agregación son: – Agregación temporal: se trata un intervalo de tiempo como una unidad. Por ejemplo, se consideran que todos los eventos ocurridos en un dı́a han ocurrido simultánea- mente en determinado instante (por ejemplo, a las 12 de la mañana). – Agregación de recursos: se tratan varios recursos como una unidad. Por ejemplo, si un operario de una cadena de montaje realiza cierto número de trabajos consecu- tivos, puede modelarse la operación completa como un proceso simple en lugar de modelar cada una de las tareas individualmente. El Teorema del Lı́mite Central a menudo ayuda a determinar la distribución de probabilidad resultante del proceso agrupado. Si la variable aleatoria del proceso agrupado (por ejemplo, el tiempo en realizar la tarea) es suma de las variables aleatorias de los subprocesos y si éstas son independientes entre sı́, entonces la variable del proceso agrupado está aproximadamente distribuida de forma normal cuando el número de subprocesos es grande (sean cuales sean las distribuciones de probabilidad de las variables de los subprocesos). • El tercer tipo de simplificación consiste en sustituir un proceso complejo por un proceso diferente, más sencillo, que se comporte de manera equivalente al proceso original. Un ejemplo es la representación de un proceso complejo, cuyo comportamiento no se comprende o no se desea modelar, por medio de determinada distribución de probabili- dad. De este modo, se sustituye un componente del sistema por entradas al sistema. Por ejemplo, para modelar los pedidos realizados por determinado cliente puede, o bien modelarse toda la estructura de negocio del cliente, o bien considerar que sus demandas están distribuidas aleatoriamente de acuerdo a determinada distribución de probabilidad. Además de la aplicación de las técnicas anteriores, comúnmente se realizan las siguientes aproximaciones: • La definición de los “lı́mites” del modelo y de su interacción con el entorno implica la realización de aproximaciones, entre ellas la decisión de qué factores externos influyen sobre el funcionamiento del modelo (entradas al modelo) y cuáles son ignorados. • Los fenómenos de naturaleza aleatoria son modelados mediante funciones de proba- bilidad (frecuentemente distribuciones teóricas) que los representan sólo de manera aproximada. • Al modelar la interacción entre los fenómenos aleatorios, en ocasiones se considera (de forma aproximada) que dos variables aleatorias son estadı́sticamente independientes con el fin de simplificar el modelo. • En ocasiones de considera que la distribución de probabilidad de algunos de los paráme- tros del modelo no varı́a con el tiempo. Esta aproximación es razonable si la velocidad de cambio es muy pequeña comparada con el periodo de tiempo de interés.
  • 22. 14 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a El impacto de las aproximaciones de modelado debe estimarse considerando el propósito especı́fico del estudio de simulación: • Si el propósito es estimar de manera precisa el comportamiento del sistema, deben evaluarse las simplificaciones considerando su impacto sobre la medida del comporta- miento. • Por otro lado, si el propósito del estudio es comparar diferentes sistemas o procedimien- tos, debe evaluarse si la simplificación afecta a todos los modelos aproximadamente de la misma manera (los errores son aproximadamente iguales en magnitud). Por este motivo, estimar el comportamiento absoluto de un sistema normalmente requiere modelos considerablemente más detallados que comparar varios sistemas. Una consecuen- cia práctica de este hecho es que los modelos matemáticos suelen ser más precisos en la comparación de sistemas alternativos que en la obtención de respuestas absolutas. 2.4. Diseño de los experimentos El diseño de los experimentos se realiza en dos etapas diferentes del estudio de simulación. En primer lugar, antes de que el diseño del modelo haya finalizado. Tan pronto como sea posible deben seleccionarse qué medidas del comportamiento del sistema van a usarse en el estudio, qué factores van a variarse y qué niveles de cada uno de estos factores van a investigarse. Una vez que el modelo ha sido desarrollado, verificado y validado, se revisa el diseño experimental teniendo en cuenta el conocimiento que se ha ganado durante el proceso de diseño, construcción, verificación y validación del modelo. El experimento debe diseñarse cuidadosamente, atendiendo a las siguientes dos conside- raciones: • El diseño del experimento determina el tipo de análisis estadı́stico que debe aplicarse a los resultados. • Los experimentos de simulación deben diseñarse de modo que permitan obtener la máxima información acerca del comportamiento del sistema al menor costo posible (tiempo y trabajo del experimentador, y tiempo de computación). 2.5. Datos de entrada Determinar qué datos emplear como entrada al modelo durante la simulación es una tarea muy delicada, de la que depende en gran medida el éxito del estudio. De hecho, frecuentemente la recogida y el análisis de los datos del sistema, y el modelado de las entradas a partir de estos datos, consume más tiempo que el propio diseño y programación del modelo. El diseño de un modelo estocástico de simulación siempre implica decidir si determinados aspectos del sistema son representados de forma estocástica o determinista. Si se opta por una descripción probabilı́stica de determinado aspecto, puede suceder que: • Puedan obtenerse datos experimentales del sistema. En este caso, debe decidirse si durante la simulación se muestrea directamente de los datos experimentales, o bien si se muestrea de una distribución de probabilidad ajustada a partir de éstos. • No puedan obtenerse datos experimentales, bien porque el sistema aun no ha sido construido o porque no es posible recogerlos. En este caso, puede uno basarse en consideraciones teóricas y en estimaciones de operarios, ingenieros, diseñadores, etc. familiarizados con el funcionamiento del sistema.
  • 23. TEMA 2. PASOS EN UN ESTUDIO DE SIMULACIÓN 15 2.6. Traducción del modelo Durante la década de los 60 las simulaciones se realizaban usando lenguajes de pro- gramación procedurales, de propósito general, como es el caso de FORTRAN. Como puede suponerse, la escritura de estos programas resultaba una tarea larga, costosa, tediosa y propensa a errores, ya que el programador debı́a tener en cuenta hasta el más mı́nimo detalle de la simulación del modelo. Esta metodologı́a de modelado se denomina modelado orientado a los eventos. Con el fin de poder reutilizar parte del código, se desarrollaron bibliotecas de funciones, que realizaban algunas de las tareas rutinariamente requeridas en una simulación y que podı́an ser invocadas desde el programa de simulación. Sin embargo, los modelos debı́an ser programados prácticamente desde el principio cada vez que se introducı́an en ellos modifica- ciones importantes. En resumen, la simulación era una técnica muy costosa y especializada, sólo al alcance de empresas capaces de realizar grandes inversiones económicas. Ante la gran dificultad (algunos autores hablan de imposibilidad) de realizar estudios complejos de simulación basados en ésta metodologı́a, se desarrolló una nueva metodologı́a de modelado: el modelado orientado a los procesos. Esta metodologı́a permite describir el modelo de manera más “natural”, más próxima al razonamiento humano. En la década de los años 70 aparecieron los lenguajes de simulación de propósito general para modelos de tiempo discreto, que posibilitaron la práctica de esta nueva metodologı́a. Estos entornos de simulación traducı́an automáticamente la descripción orientada al proceso del modelo (realizada por el usuario), a la descripción orientada a los eventos, expresada en un determi- nado lenguaje de programación, cuya ejecución constituye la realización del experimento de simulación. Algunos de estos lenguajes de simulación son todavı́a usados en la actualidad: GPSS, SIMSCRIPT, SLAM, SIMAN, etc.. Durante la década de los 80 los lenguajes de simulación evolucionaron. Aparecieron nuevas versiones que recogı́an los dos conceptos fundamentales siguientes: • La separación en actividades distintas de las etapas (funcionalmente distintas) de mo- delado, especificación del experimento y análisis de las salidas. • El aprovechamiento de todas las capacidades disponibles en el momento para el manejo de bases de datos, capacidades gráficas y de verificación del programa. Los avances experimentados en todos los ámbitos de la computación durante la primera mitad de la década de los 90, posibilitaron el desarrollo de los entornos de modelado: una capa software construida sobre el lenguaje de simulación con el fin de facilitarle al usuario la descripción del modelo. El manejo de cualquier lenguaje de simulación requiere un esfuerzo previo por parte del usuario en el aprendizaje de sus particularidades sintácticas. Con el fin de facilitar la descripción del modelo, los entornos de modelado proporcionan interfaces de usuario muy intuitivas con menús, diálogos, etc. El usuario construye el modelo seleccio- nando los componentes (pinchando y arrastrando el icono) y conectándolos gráficamente. La animación y otras capacidades gráficas permiten visualizar la evolución del sistema durante la simulación. El interfaz gráfico de usuario del entorno de modelado también permite acceder a los niveles inferiores en la descripción del modelo: a la descripción de partes del modelo usando el lenguaje de simulación e incluso al lenguaje de programación. Un ejemplo es el entorno de modelado Arena, que soporta el uso combinado de diferentes niveles de descripción: elementos de alto nivel parametrizables por el usuario y elementos de bajo nivel que el usuario puede definir usando el lenguaje de simulación SIMAN o los lenguajes de programación Visual Basic o C/C++. 2.7. Verificación y validación del modelo Los procesos de verificación y la validación son conceptualmente distintos:
  • 24. 16 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a • La finalidad de la verificación es comprobar que no se han cometido errores al traducir el modelo, bien usando un entorno de modelado o mediante un lenguaje de simulación o de programación. • La validación consiste en comprobar que el modelo supone una aproximación adecuada de la realidad para los objetivos particulares del estudio de simulación. Sin embargo, cuando los resultados de la simulación nos parecen “extraños” o erróneos, no siempre está claro si es debido a que nos hemos equivocado al traducir el modelo o a que las hipótesis de modelado no son las adecuadas. Verificación Entre otros, pueden usarse los siguientes procedimientos para verificar el modelo: • Verificación manual de la lógica. Consiste en ejecutar la simulación durante un perio- do de tiempo corto y comprobar manualmente los resultados obtenidos. • Comprobación submodelo a submodelo. Se trata de verificar individualmente que cada submodelo produce los resultados esperados para todos los posibles tipos de entradas. • Comprobación con soluciones conocidas. Consiste en ajustar el modelo de modo que represente un sistema de solución conocida y comparar ésta con los resultados de la simulación. • Test de sensibilidad. Puede modificarse el valor de un parámetro, dejando los demás fijos, con el fin de medir la sensibilidad del modelo respecto a ese parámetro. La compa- ración de la sensibilidad observada en las simulaciones, con la que serı́a de esperar en el sistema real, puede proporcionar pistas útiles. Validación Puede considerarse que la validación del modelo tiene tres vertientes diferentes. Consiste en determinar: • Si el modelo representa adecuadamente al sistema real (comprobación de la estructura del modelo). • Si los datos generados de la simulación del modelo reproducen de forma adecuada el comportamiento del sistema real (comprobación del comportamiento del modelo). • Si el usuario del modelo tiene confianza en los resultados obtenidos de las simulaciones (comprobación de la confianza del usuario en el modelo). Involucrar al usuario final en todas las fases del diseño y la construcción del modelo generalmente hace que este aspecto de la validación del modelo sea mucho más sencillo. Ejemplo 2.7.1. En (Law & Kelton 2000) se describe el siguiente caso real. Un analı́sta militar estadounidense trabajó durante 6 meses en un modelo, sin interactuar con el general que lo habı́a solicitado. En la reunión mantenida en el Pentágono para la presentación de los resultados del estudio, cuando tan sólo habı́an trancurrido 5 minutos, el general afirmó: “Este no es el problema en el que yo estoy interesado”. Puesto que el modelo se construye para un propósito especı́fico, la validez sólo puede ser evaluada con relación a este propósito. La validación del modelo es un proceso continuo durante su diseño, desarrollo y uso. Existen diferentes grados de validación: la confianza en el modelo va acumulándose según el modelo va superando pruebas y se van encontrando más puntos de coincidencia entre el comportamiento del modelo y el del sistema real. La verificación y la validación de un modelo son procesos que realmente nunca finalizan. En todo este proceso de validación, no debe perderse de vista que el objetivo del ingeniero dedicado al modelado es la realización de modelos útiles, en un tiempo razonable y con un coste razonable. Por este motivo, más que preguntarse en qué medida se ajusta el compor- tamiento simulado al comportamiento real del sistema, es más adecuado preguntarse en qué medida las diferencias entre el modelo y el sistema son lo suficientemente significativas como para afectar a las conclusiones derivadas del uso del modelo.
  • 25. TEMA 2. PASOS EN UN ESTUDIO DE SIMULACIÓN 17 2.8. Experimentación y análisis de los resultados La planificación del experimento y el análisis de los resultados requieren la aplicación de conocimientos estadı́sticos. El método experimental y el análisis estadı́stico a aplicar dependen del tipo de simulación: con terminación o sin terminación. El tipo de simulación (con o sin terminación) depende fundamentalmente del objetivo del estudio, más que de la naturaleza en sı́ del sistema. A continuación se definen estos conceptos: • La simulación se dice que tiene terminación cuando existe un evento que señala de forma natural el final de la misma. La finalidad es estudiar el comportamiento del sistema cuando éste evoluciona, partiendo se unas determinadas condiciones iniciales, hasta que se satisface determinada condición de finalización. • Por el contrario, se dice que la simulación es sin terminación cuando no existe un evento que de manera natural marque el final de la misma. La finalidad de este tipo de estudios es analizar el comportamiento del sistema una vez éste ha adquirido un régimen de funcionamiento independiente de las condiciones iniciales de la simulación, es decir, el estado estacionario. Puesto que la salida de un modelo de simulación es una muestra de datos de su comporta- miento, pueden aplicarse los conceptos de inferencia estadı́stica de muestras. Sin embargo, la mayorı́a de los tests estadı́sticos requieren que los datos de la muestra sean indepen- dientes entre sı́, es decir, no estén correlacionados. Frecuentemente los datos obtenidos de la simulación de los modelos no cumplen esta condición, con lo cual deben aplicarse ciertos procedimientos antes de poder extraer conclusiones válidas. Respecto al tamaño de la muestra (duración de la simulación o número de réplicas), éste debe ser lo suficientemente grande como para proporcionar el nivel de confianza necesario en la estimación de la medida del comportamiento. 2.9. Documentación e implementación Llegado este punto, ya se han completado todos los pasos del diseño y desarrollo del modelo, ejecución de la simulación, ası́ como del análisis de los resultados. Los elementos finales del estudio de simulación son la implementación y la documentación. No se puede considerar que un proyecto de simulación se ha completado con éxito hasta que los resultados obtenidos no han sido entendidos, aceptados y usados. Las conclusiones del estudio deben ser documentadas de manera clara, concisa y convincente, debiéndose abordar todos aquellos aspectos que el cliente considera importantes. De otra forma, difı́cilmente serán aplicadas, con lo cual el proyecto será un fracaso. La presentación de los resultados es una parte del estudio tan crı́tica como las demás, y merece el mismo cuidado en su planificación y diseño. Además de los resultados del estudio, debe documentarse el desarrollo y operación del modelo. Esto puede contribuir a aumentar considerablemente su vida útil, ası́ como au- mentar la probabilidad de que recomendaciones basadas en él sean aceptadas. Una buena documentación facilita las modificaciones y asegura que el modelo puede ser usado o algunas de sus partes reutilizadas, aun si no están presentes sus desarrolladores. EJERCICIOS 2.1 Plantee un posible estudio de simulación del sistema siguiente: una gasolinera, con va- rios surtidores, atendida por varios empleados. En particular, responda a las cuestiones siguientes: • ¿Cuáles son las preguntas a responder? • ¿Qué recursos prevé que necesitarı́a para llevar a cabo el estudio? Sugiera un método adecuado de recogida de datos experimentales, justifı́quelo y describa cómo lo ejecutarı́a.
  • 26. 18 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a • ¿Qué medidas del comportamiento del sistema son de interés? • ¿Qué aspectos de la realidad constituyen el sistema bajo estudio? • ¿Cuáles son las variables de entrada del modelo? ¿De qué tipo es cada una: aleatoria o determinista? • Describa las hipótesis de modelado. • Realice un diseño preliminar del experimento. 2.2 Plantee un posible estudio de simulación del sistema siguiente: la intersección de varias calles, que se encuentra regulada por semáforos. Conteste a las cuestiones planteadas en el Problema 2.1. 2.3 Plantee un posible estudio de simulación del sistema siguiente: un servicio de ambulan- cias de un hospital. Conteste a las cuestiones planteadas en el Problema 2.1.
  • 27. Parte II Modelado y simulación 19
  • 28.
  • 29. Tema 3 Método de Monte Carlo NOTA IMPORTANTE: Este tema NO SE EXIGIRÁ EN EL EXAMEN durante el presente curso académico, si bien se recomienda su lectura. Por este motivo, no se plantean objetivos docentes del tema, ni tampoco se proponen problemas. 3.1. Introducción Bajo el nombre genérico de “simulaciones de Monte Carlo” suelen englobarse todas las simulaciones que emplean números aleatorios para resolver problemas estáticos, es decir, problemas en los cuales el tiempo no juega un papel relevante. El término “Monte Carlo” proviene del nombre en clave de un trabajo secreto en el que von Neumann y Ulam emplearon esta técnica matemática (que ya era conocida anteriormente). Este trabajo se realizó en Los Alamos, durante el conocido proyecto para la fabricación de la bomba atómica. En esta técnica se generan artificialmente datos mediante el uso de un generador de núme- ros aleatorios y la función de probabilidad de interés. El generador de números aleatorios se emplea para generar variables aleatorias distribuidas uniformemente en el intervalo [0, 1]. La función de probabilidad a muestrear puede ser una distribución teórica (normal, exponencial, etc.) o puede ser empı́rica, es decir, puede estar basada en observaciones del sistema real. La técnica de Monte Carlo se emplea no sólo para simular sistemas estocásticos, sino también para resolver problemas completamente deterministas (tı́picamente aquellos que no pueden ser resueltos analı́ticamente). A continuación se discuten algunos ejemplos de aplicación de la técnica: • La estimación del valor del número π, mediante la simulación del experimento de la aguja de Buffon. • La estimación de la probabilidad que hay de ganar un juego “solitario” de cartas. • El cálculo de la una integral definida del tipo I = R b a g(x) · dx, donde g (x) es una función real monovaluada. Es conveniente aclarar que, en aquellos casos en que el integrando g (x) tiene “buen comportamiento” (es decir, ni la función ni sus derivadas presentan discontinuidades), suele ser preferible emplear otros métodos numéricos de integración a emplear el método de Monte Carlo. 21
  • 30. 22 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a Figura 3.1: Retrato de G. L. Leclerc, Conde de Buffon, en un sello francés. 3.2. Estimación del valor del número π Alrededor de 1733, George Louis Leclerc (su retrato se muestra en la Figura 3.1), descri- bió un experimento para estimar el valor del número π. Si se lanza una aguja de longitud l sobre una mesa pintada con lı́neas paralelas, con un espaciado entre ellas d (donde d ≥ l), entonces la probabilidad de que la aguja corte una lı́nea es: p = 2 · l π · d (3.1) Puede, por tanto, plantearse el siguiente experimento para estimar el número1 π: 1. Conseguir una aguja y pintar las lı́neas sobre la mesa. 2. Decidir cuántas veces va a lanzarse la aguja. Sea N el número de veces. 3. Poner un contador a cero. 4. Repetir N veces las dos acciones siguientes: a) Lanzar la aguja “aleatoriamente” sobre la mesa. b) Si la aguja cruza alguna de las lı́neas, incrementar el contador en uno. Si la aguja no cruza ninguna lı́nea, el contador no varı́a. 5. Calcular la proporción de veces que la aguja ha cruzado alguna lı́nea: p̂ = valor final del contador N (3.2) 6. Si p̂ > 0, entonces estimar el número π de la forma siguiente: π̂ = 2 · l p̂ · d (3.3) Como vemos, el experimento de la aguja de Buffon es un ejemplo de método de Monte Car- lo, ya que se están empleando números aleatorios para estimar el valor de cierta propiedad. Para simular mediante el ordenador este experimento, debemos ser capaces de situar la posición de la aguja aleatoriamente entre las lı́neas paralelas. Cuando se realiza el experi- mento fı́sicamente, esto no constituye un problema, ya que simplemente lanzamos la aguja, vemos donde a caı́do y anotamos si corta alguna lı́nea o no. 1 Este experimento se conoce como el problema de la aguja de Buffon, ya que G. L. Leclerc fue Conde de Buffon.
  • 31. TEMA 3. MÉTODO DE MONTE CARLO 23 θ a d m θ a d m Figura 3.2: Experimento de la aguja de Buffon. Para determinar la posición de la aguja de manera unı́voca, basta con conocer dos datos: la posición en la mesa de algún punto determinado de la aguja, por ejemplo de su centro, m, y el ángulo que forma la aguja respecto a las lı́neas paralelas, θ. A partir de las siguientes dos consideraciones, puede obtenerse un procedimiento para determinar si la aguja corta alguna lı́nea: • Una vez fijada la posición del punto medio de la aguja, m, debe determinarse cuál de las dos lı́neas es la más cercana a este punto medio. Sea a la distancia entre el punto medio de la aguja y la lı́nea más cercana. Esta distancia a es una variable aleatoria distribuida uniformemente en el intervalo 0, d 2 . • Debido a la simetrı́a, el ángulo que forma la aguja respecto a las lı́neas paralelas, θ, es una variable aleatoria distribuida uniformemente en el intervalo [0, π]. Una vez obtenidos los valores de a y θ, puede seguirse el siguiente procedimiento para decidir si la aguja toca o intersecta la lı́nea más próxima al centro de la aguja (ver Figura 3.2): • Si a ≤ l 2 · sin (θ), entonces la aguja toca o corta la lı́nea. • Si a l 2 · sin (θ), entonces la aguja ni toca ni corta la lı́nea. Las muestras aleatorias a y θ pueden obtenerse a partir de números seudo aleatorios, u1 y u2, de la forma siguiente: a = d 2 · u1 (3.4) θ = π · u2 (3.5) donde u1 y u2 son observaciones de una variable aleatoria uniformemente distribuida en el intervalo [0, 1]. El flujo del programa para simular el problema de la aguja de Buffon es el siguiente: Paso 1: Inicializar Ncorta = n = 0, contadores del número de veces que la aguja corta o toca la lı́nea y del número de lanzamientos respectivamente. Paso 2: Seleccionar l y d. Seleccionar Ntotal , que es el número total de lanzamientos de la aguja. Paso 3: Generar dos números seudo aleatorios, u1 y u2. Paso 4: Calcular a y θ, empleando las Ecuaciones (3.4) y (3.5). Paso 5: Si a l 2 · sin (θ) , entonces saltar al Paso 7. Paso 6: Incrementar Ncorta. Paso 7: Incrementar n.
  • 32. 24 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a Paso 8: Si n Ntotal, entonces ir al Paso 9. En caso contrario, ir al Paso 3. Paso 9: Calcular e imprimir el resultado: π̂ = 2 · l Ncorta Ntotal · d (3.6) Este algoritmo puede programarse usando cualquier lenguaje de programación. Por ejem- plo, ejecutando el programa con las siguientes entradas: l = 10, d = 20 y Ntotal = 3000, y empleando una determinada secuencia de números aleatorios, se obtiene la siguiente estimación de la probabilidad de que la aguja toque o corte una lı́nea : p̂ = Ncorta Ntotal = 0.3133 (3.7) Para determinar la precisión de esta estimación, debe construirse un intervalo de con- fianza. Cada lanzamiento de la aguja es un experimento de Bernoulli. Puede considerarse que el número de aciertos es Ncorta y el número de intentos es Ntotal. Ası́ pues, p̂ = Ncorta Ntotal es un estimador del parámetro binomial p: la probabilidad de éxito. En el Apéndice A se indica cómo construir el intervalo de confianza para la proporción de una distribución binomial. Se obtiene el siguiente intervalo de confianza del 95 %: Prob    p̂ − z0.975 · s p̂ · (1 − p̂) Ntotal ≤ p ≤ p̂ + z0.975 · s p̂ · (1 − p̂) Ntotal    = 0.95 (3.8) Sustituyendo los valores obtenidos en la simulación, y teniendo en cuenta que z0.975 = 1.96 (ver la última fila de la Tabla T.1, al final del libro), se obtiene: Prob {0.2967 ≤ p ≤ 0.3299} = 0.95 (3.9) El intervalo de confianza para π se calcula teniendo en cuenta que: π̂ = 2 · l p̂ · d = 2 · 10 p̂ · 20 = 1 p̂ (3.10) Se obtiene el siguiente intervalo de confianza del 95 %: Prob {3.031 ≤ π ≤ 3.3704} = 0.95 (3.11) Este experimento es muy simple, pero hay algunos aspectos de él que son comunes a la mayorı́a de las simulaciones: • El propósito es estimar algo (en este caso, el número π) cuyo valor es difı́cil calcular exactamente (al menos ası́ era en el año 1733). • El valor estimado que se obtiene del estudio de simulación no es exactamente correc- to: existe un cierto error asociado a la estimación y resulta conveniente obtener una estimación de la magnitud de este error. • Parece intuitivo que cuantos más lanzamientos de la aguja se hagan, menor será el error cometido y, por tanto, mejor será la estimación del número π. • De hecho, en lugar de decidir de antemano el número total de lanzamientos que se van a realizar, puede procederse de manera iterativa: se sigue lanzando la aguja hasta que se considere que el error cometido en la estimación (la longitud del intervalo de confianza) es lo suficientemente pequeño.
  • 33. TEMA 3. MÉTODO DE MONTE CARLO 25 3.3. Probabilidad de ganar un juego “solitario” de cartas Supongamos que se desea determinar cuál es la probabilidad de ganar un juego ”solitario” de cartas. Entendemos por un “solitario” un juego en el cual se emplea una baraja de 52 cartas y que tiene una estrategia fija. Una aproximación razonable al problema es considerar que las 52! posibles ordenaciones de las cartas de la baraja son igualmente probables y calcular cuántas de ellas hacen que el jugador gane la partida. Dado que no existe un método sistemático de determinar el número de combinaciones ganadoras más que ir probándolas una a una, y puesto que 52! es un número extraordina- riamente grande, aparentemente el cálculo de la probabilidad de ganar el solitario parece un problema matemáticamente intratable. Un método alternativo de abordar el problema es mediante simulación. Después de jugar n partidas, si definimos: Xi = 1 si la partida i resulta en victoria 0 en cualquier otro caso (3.12) para i : 1, ..., n, entonces Xi son variables aleatorias independientes de Bernoulli, para las cuales: E {Xi} = Prob {Ganar la partida de “solitario”} (3.13) Por la Ley de los Grandes Números, n P i:1 Xi n = número de partidas ganadas número de partidas jugadas (3.14) convergerá con probabilidad 1 a Prob {Ganar la partida de “solitario”} (3.15) Es decir, jugando un número elevado de veces, podemos usar la proporción de partidas ganadas para estimar la probabilidad de ganar el juego del solitario. Para estudiar el problema del solitario, necesitamos diseñar un programa para jugar el juego a partir de una determinada ordenación de las cartas. La ordenación inicial de las cartas en cada partida debe ser aleatoria, y debemos obtenerla de modo que las 52! posibles ordenación sean equiprobables. A continuación, se describe un algoritmo que permite obtener la ordenación inicial aleatoria empleando únicamente números aleatorios. 2 El algoritmo comienza escogiendo aleatoriamente una carta y poniéndola en la posición n. Seguidamente, escoge aleatoriamente entre las n − 1 cartas restantes y la pone en la posición n − 1; y ası́ sucesivamente. Una forma eficiente de escoger entre las cartas restantes es mantener estos elementos en una lista ordenada y escoger la posición en la lista. Para implementar el algoritmo es preciso generar una variable aleatoria uniforme discreta con rango {1, 2, ..., k}. Se pueden obtener observaciones de esta variable aleatoria discreta a partir de números aleatorios u de la forma siguiente: Nk = ⌊k · u⌋ + 1 (3.16) donde ⌊k · u⌋ representa el mayor entero ≤ k · u. 2Puede encontrarse un algoritmo más eficiente para generar permutaciones de números enteros en (Ross 1994).
  • 34. 26 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a 3.4. Cálculo de integrales definidas Empleando la técnica de Monte Carlo, se pretende estimar el valor de una integral definida, I = R b a g(x) · dx , donde g (x) es una función real monovaluada. Para ello, de define una variable aleatoria Y de la forma siguiente: Y = (b − a) · g(X) (3.17) La variable aleatoria X está distribuida uniformemente en el intervalo [a, b] . La densidad de probabilidad de X es: fX(x) = 1 b − a (3.18) Como se demuestra a continuación, el valor esperado de la variable Y , µY , es igual al valor de la integral definida que se desea calcular, I: µY = E {(b − a) · g (X)} (3.19) = (b − a) · E {g (X)} = (b − a) · Z b a g (x) · fX (x) · dx = (b − a) · R b a g (x) · dx (b − a) = I Ası́ pues, el problema de evaluar la integral definida I se ha reducido a estimar el valor esperado de la variable aleatoria Y . En particular, µY puede estimarse calculando la media de cierto número n de observaciones independientes de Y , y1, . . . , yn, de la manera siguiente: Ȳ (n) = n P i=1 yi n = (b − a) · n P i=1 g (xi) n (3.20) donde xi son observaciones independientes de una variable aleatoria X, que está distribuida uniformemente en el intervalo [a, b]. Puede demostrarse que (ver Apéndice A): E Ȳ (n) = µY (3.21) Var Ȳ (n) = σ2 Y n → lim n→∞ Var Ȳ (n) = 0 (3.22) La técnica es extensible al cálculo de integrales del tipo: I = Z ∞ 0 g(x) · dx (3.23) Para ello, puede realizarse el siguiente cambio de variable: x1 = 1 x + 1 → dx1 = −dx (x + 1) 2 = −x2 1 · dx (3.24)
  • 35. TEMA 3. MÉTODO DE MONTE CARLO 27 1.8 1.9 2.0 2.1 2.2 2.3 10 50 100 500 1000 E(Y)(n) Tamaño de Muestra, n Figura 3.3: Boxplots de los resultados de la simulación. Sustituyendo en la integral, se obtiene: I = Z ∞ 0 g(x) · dx = Z 1 0 g 1 x1 − 1 x2 1 · dx1 (3.25) Ejemplo de aplicación Como ejemplo, para ilustrar la aplicación de la técnica anteriormente descrita, suponga- mos que se desea estimar el valor de la integral definida siguiente: I = Z π 0 sin(x) · dx (3.26) Se ha escogido una integral que posee primitiva analı́tica, −cos (x), a fin de comparar el resultado obtenido aplicando la técnica de Monte Carlo con el resultado analı́tico exacto, que es I = 2. En el Anexo situado al final de este Tema, se muestra un programa escrito en C que realiza la simulación. La librerı́a stdlib.h, disponible en el sistema UNIX y en ANSI C, contiene la función3 , int rand(void), destinada a la generación de números enteros uniformemente distribuidos en el intervalo 0, 215 − 1 . Dividiendo rand( ) por 32767 se obtiene un número seudo aleatorio (es decir, una observación de una variable aleatoria distribuida U (0, 1)). A fin de analizar, por una parte cómo depende el valor estimado de I del tamaño de la muestra, n , y por otra parte la variabilidad de los resultados obtenidos, se realizan 5 réplicas 3 Según se indica en el manual de referencia de la librerı́a, el algoritmo de la función rand es un generador de números seudo aleatorios multiplicativo congruente de periodo 232. Da como resultado un número entero comprendido entre cero y RAND MAX. La constante simbólica RAND MAX, definida en stdlib.h, vale 215 − 1 = 32767.
  • 36. 28 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a independientes de la simulación para cada uno de los siguientes 5 tamaños de muestra: 10, 50, 100, 500 y 1000. Los resultados de la media muestral obtenidos son los siguientes: n = 10 n = 50 n = 100 n = 500 n = 1000 Réplica 1 1.980 1.832 2.021 1.958 2.001 Réplica 2 2.302 1.845 1.799 1.971 1.993 Réplica 3 2.286 1.926 1.801 1.999 1.998 Réplica 4 2.371 1.867 1.926 1.943 1.937 Réplica 5 2.300 1.968 1.916 1.975 2.004 La comparación visual entre los boxplots de las diferentes alternativas resulta muy ex- plicativa4 . En la Figura 3.3 se muestra la representación mediante boxplots de las cinco medias muestrales (una por réplica), para cada uno de los cinco valores de n. Al aumentar el tamaño de muestra los resultados tienden hacia el valor verdadero y su variabilidad disminuye. Una conclusión fundamental que debe extraerse de este ejemplo es que deben establecerse criterios para determinar el tamaño de muestra, n, que permita estimar I con una determinada precisión. ANEXO Programa de simulación para la estimación del valor de una integral definida #include stdio.h #include math.h #include stdlib.h #include time.h #define PI 3.141593 struct intervalo { float inicio, fin; }; float Uniforme_interv_A_B(interv) struct intervalo interv; { /* Generacion de U(A,B) */ float v_unif; v_unif=rand()/32727.0; if (v_unif1.0) v_unif=1.0; return(interv.inicio+(interv.fin-interv.inicio)*v_unif); } float Func_integrando(x) float x; { return(sin(x)); } void Entrada_datos(num_muestras,interv_integ) unsigned int *num_muestras; struct intervalo *interv_integ; { clrscr(); /* Numero de muestras */ printf(tNumero de muestras (1-65535): ); scanf(%d,num_muestras); /* Intervalo de integracion */ interv_integ-inicio=0; interv_integ-fin=PI; 4En el Apéndice A, al final del libro, se explica cómo se construye el boxplot de un conjunto de datos.
  • 37. TEMA 3. MÉTODO DE MONTE CARLO 29 /* Inicializacion rutina generacion numeros aleatorios */ randomize(); return; } void Informe(num_muestras,estima_integ) unsigned int num_muestras; float estima_integ; { printf(tI N F O R M Ent-------------nn); printf(Numero de muestras: %dn,num_muestras); printf(Estima de la integral: %fn,estima_integ); } main() { unsigned int num_muestras, contad=0; float func_acumulada=0, estima_integ; struct intervalo interv_integ; Entrada_datos(num_muestras,interv_integ); while (contadnum_muestras) { func_acumulada+=Func_integrando(Uniforme_interv_A_B(interv_integ)); contad++; } estima_integ=(interv_integ.fin-interv_integ.inicio)* func_acumulada/num_muestras; Informe(num_muestras,estima_integ); return; }
  • 38. 30 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a
  • 39. Tema 4 Modelado de sistemas de eventos discretos Objetivos: Una vez estudiado el contenido del tema y realizados los ejercicios prácticos, deberı́a saber: • Discutir y reconocer de qué partes se compone la especificación del modelo y del experimento. • Discutir las diferentes estrategias para la simulación de modelos de eventos discretos. • Discutir diferentes formalismos para el modelado de sistemas de eventos discretos. 4.1. Introducción Básicamente, la especificación del modelo y del experimento consiste en definir: MODELO • La estructura lógica y los componentes del modelo. • Los aspectos matemáticos del modelo. EXPERIMENTO • Las variables de entrada y de salida. • Las condiciones iniciales del modelo. • La condición de finalización de la simulación. • Los aspectos numéricos de la simulación. La estructura lógica y los componentes del modelo se definen sobre la base de las hipótesis de modelado (o aproximaciones de modelado, como se prefiera). En función de la finalidad del estudio de simulación, se consideran relevantes para ese propósito especı́fico unos aspectos u otros del comportamiento del sistema, lo cual condiciona las hipótesis de modelado. El ámbito de validez de las hipótesis de modelado define el marco experimental del modelo. Las variables de entrada y las condiciones iniciales determinan la forma en que el modelo es ejercitado durante la simulación. Además, la condición de finalización de la simulación y la elección de qué variables del modelo desean ser observadas (variables de salida), completan la definición de qué comportamientos del modelo desean ser estudiados en la simulación. 31
  • 40. 32 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a EL CLIENTE COMIENZA A SER ATENDIDO EVENTO: LLEGADA DE UN NUEVO CLIENTE No Si EMPLEADO LIBRE EL CLIENTE SE PONE A LA COLA EL PRIMER CLIENTE DE LA COLA COMIENZA A SER ATENDIDO EVENTO: FIN DE SERVICIO No Si COLA VACIA EL EMPLEADO QUEDA LIBRE EL CLIENTE SE MARCHA Figura 4.1: Acciones asociadas a cada uno de los dos tipos de evento. Todo ello forma parte de la especificación del experimento. También es parte del experimento la especificación de qué métodos numéricos van a emplearse para simular el modelo. 4.2. Estructura lógica del modelo A continuación se muestra un ejemplo de la definición de la estructura lógica de un modelo. Consideremos una oficina de atención al cliente en la que trabaja un único empleado: • Si llega un nuevo cliente y el empleado está ocupado, el cliente se pone al final de una cola en espera de su turno. Si el empleado está libre, el cliente es atendido inmediata- mente. • Si el empleado termina de atender a un cliente, éste se marcha y comienza a ser atendido el primer cliente de la cola. Si la cola está vacı́a, el empleado permanece desocupado hasta la llegada de un nuevo cliente. De su estructura lógica se deduce que en el modelo hay dos tipos de sucesos o eventos que desencadenan sendas secuencias de acciones (ver Figura 4.1). Estos dos eventos son: • La llegada de un nuevo cliente a la oficina. • La finalización de la atención a un cliente. 4.3. Elementos del modelo Los modelos de tiempo discreto, en el contexto que nos ocupa, constan básicamente de los siguientes 7 tipos de componentes: las entidades, sus atributos, las variables, los recursos, las colas, los contadores estadı́sticos y los eventos. A continuación se describen brevemente.
  • 41. TEMA 4. MODELADO DE SISTEMAS DE EVENTOS DISCRETOS 33 Entidades Las entidades son objetos dinámicos en la simulación, que son creados y se mueven por el sistema, cambiando el valor de sus atributos, afectados por otras entidades y por el estado del sistema. Las entidades pueden abandonar el sistema o bien permanecer indefinidamente circulando en él. En el ejemplo anterior de la oficina, existe un único tipo de entidad: “cliente”. Cada cliente que se encuentra en la oficina es una realización (o instanciación, como se prefiera) de este tipo de entidad, que es creada a su llegada, circula a través del sistema y es destruida cuando el cliente abandona la oficina. Si en el modelo se hubieran definido diferentes tipos de clientes, que requirieran procesos de atención diferentes o a los que se asignara diferente prioridad, cada tipo de cliente se representarı́a como un tipo diferente de entidad. Atributos Los atributos permiten individualizar cada instanciación de una determinada clase de entidad. Al definir el tipo de entidad, se declaran sus atributos. Se pueden asignar valores diferentes a los atributos de cada instanciación de la clase de entidad, lo cual permite especificar las caracterı́sticas particulares de cada uno de ellos. Por ejemplo, algunos atributos que podrı́an definirse para el tipo de entidad “cliente” son: la prioridad con que debe ser atendido o determinados datos personales, como son el nombre y los apellidos, la edad, la nacionalidad, etc. En general, el valor de los atributos diferirá de un cliente a otro y es lo que permite diferenciarlos. Variables Las variables representan caracterı́sticas del sistema que son independientes de los tipos de entidades o del número de realizaciones existentes en determinado instante. Por tanto, las variables no están asociadas a entidades en concreto, sino que pertenecen al conjunto del sistema. Son accesibles desde todas las entidades y pueden ser modificadas por todas las entidades. Puede considerarse que cada variable es como una pizarra colgada en la pared, en la que se escribe el valor de la variable. Todas las entidades pueden leer la pizarra, y también pueden borrar el valor escrito y escribir uno nuevo. Algunas de las variables son intrı́nsecas a los elementos del modelo y, por ello surgen en casi todos los modelos de simulación. Algunas de estas son: el número de entidades (en nuestro caso, clientes) que hay en cada instante en cada cola, el número de recursos (en nuestro caso, empleados) ocupados, el estado (ocupado o libre) de cada recurso, el valor del reloj de la simulación (variable que va registrando el tiempo simulado) , etc. Por el contrario, otras variables surgen debido a necesidades concretas del modelo en cuestión. Por ejemplo, supóngase que cada cliente tiene que ser atendido consecutivamente por dos empleados diferentes, situados a cierta distancia, y que el tiempo que emplea la entidad en ir de un empleado a otro se considera fijo. Entonces, el valor de este tiempo de “transito” serı́a una variable del modelo. Las variables permiten parametrizar el modelo, es decir, definir magnitudes que pueden cambiar para adaptar el modelo a sus diferentes aplicaciones. Por ejemplo, mediante la modificación del tiempo de tránsito entre los dos puntos de atención, puede adaptarse un mismo modelo para representar diferentes sistemas. Asimismo, las variables pueden representar magnitudes cuyo valor cambie durante el curso de la simulación. Por ejemplo: el número total de clientes que esperan, que están siendo atendidos y que se encuentran en tránsito entre los dos puntos de atención.
  • 42. 34 Alfonso Urquı́a SIMULACIÓN - Texto Base de Teorı́a Recursos Los recursos pueden ser el personal (en nuestro caso, el empleado), las máquinas (por ejemplo, si las entidades son piezas que deben ser procesadas), el espacio (por ejemplo, en un almacén), etc. Una entidad captura un recurso cuando éste está disponible, a fin de obtener un servicio de él, y lo libera una vez ha terminado. El recurso puede ser individual o estar compuesto por un grupo de elementos individuales, cada uno de los cuales se llama una unidad del recurso . Por ejemplo, el caso de varios mos- tradores paralelos e idénticos de atención al público, puede representarse como un recurso con tantas unidades como puntos de atención. El número de unidades disponibles de un recurso puede variar durante el curso de la simulación, representando mostradores que son cerrados o abiertos. Colas Cuando una entidad no puede circular, debido tal vez a que necesita usar una unidad de un recurso que en ese momento no se encuentra disponible, entonces la entidad necesita un sitio donde esperar: este es el propósito de la cola . Acumuladores estadı́sticos A fin de calcular el valor de las variables de salida, es preciso calcular durante el curso de la simulación el valor de determinadas variables intermedias. Estas se llaman acumuladores estadı́sticos . Algunos ejemplos son: el número total de clientes atendidos hasta ese momento, la suma de los tiempos de espera en cola de los clientes hasta ese momento, el número total de clientes que han comenzado a ser atendidos hasta ese momento, el mayor tiempo de espera en cola hasta ese momento, etc. Los contadores son inicializados a cero al comenzar la simulación. Cuando “algo sucede” en la simulación (es decir, se ejecuta un evento), los contadores estadı́sticos afectados deben ser convenientemente actualizados. Eventos Un evento es un suceso que ocurre en un determinado instante de tiempo (simulado) y que puede cambiar el valor de los atributos, las variables y los acumuladores estadı́sticos. Se denomina actividad al estado de una entidad en un determinado intervalo de tiempo. En los modelos de tiempo discreto, los atributos, las variables y los acumuladores es- tadı́sticos sólo pueden cambiar a consecuencia de la ejecución de los eventos. Los cambios en sus valores se producen en los instantes en que son activados los eventos, manteniéndose constantes durante el intervalo de tiempo entre eventos sucesivos. En nuestro ejemplo, hay cuatro tipos de eventos: • Inicio de la simulación. • Llegada a la oficina de un nuevo cliente. • Fin de servicio a un cliente. • Final de la simulación Cada evento tiene asociado dos tipos de información: • Su condición de activación, es decir, la condición que hace que el evento pase de estar desactivado a estar activado. • Las acciones que deben realizarse en el instante en que el evento es activado. En función del tipo de su condición de activación, los eventos pueden clasificarse en eventos en el tiempo y eventos en el estado:
  • 43. TEMA 4. MODELADO DE SISTEMAS DE EVENTOS DISCRETOS 35 • Los eventos en el tiempo son aquellos cuya condición de activación es que el tiempo de la simulación alcance un determinado valor. El valor del instante de tiempo simulado se almacena en una variable del modelo llamada reloj de la simulación. • La condición de activación de los eventos en el estado no es función exclusiva del tiempo, sino que también es función de variables del sistema. En los sistemas de tiempo discreto, dado que las variables y atributos permanecen cons- tantes entre eventos consecutivos, los cambios en las variables necesarios para activar un evento en el estado sólo pueden producirse como resultado de la ejecución de un evento en el tiempo. La planificación de los eventos en el tiempo es muy sencilla, ya que se sabe con antelación en qué instantes se van a producir. Durante el curso de la simulación se lleva un registro de los instantes de activación de los eventos en el tiempo. Éste se denomina el calendario de eventos. En los sistemas de tiempo discreto los cambios en las propiedades del sistema no se producen de manera continua en el tiempo. Por tanto, a fin de optimizar la simulación de este tipo de modelos, se hace avanzar el reloj de la simulación a saltos. Normalmente se usan dos métodos para ello: avance hasta el siguiente evento y avance a incrementos de tiempo fijos. Se volverá sobre este tema más adelante, al discutir las diferentes estrategias para la simulación de modelos de eventos discretos. 4.4. Aspectos matemáticos del modelo y las variables de entrada Además de la estructura lógica y los componentes, deben especificarse los aspectos ma- temáticos del modelo, que están igualmente vinculados a las hipótesis de modelado. En particular, debe decidirse qué comportamientos del modelo se consideran determinis- tas y cuáles aleatorios. Esta decisión condiciona qué variables de entrada son deterministas y cuáles aleatorias. En cada caso, la definición de la variable de entrada comprende: • La dependencia temporal de las variables de entrada deterministas. • La distribución de probabilidad de las variables de entrada aleatorias. Continuando con el ejemplo, se consideran dos variables de entrada aleatorias: • El tiempo que transcurre entre la llegada de un cliente y la llegada del siguiente cliente. Este tiempo, A, es una variable aleatoria que obedece a una distribución de probabilidad exponencial de media 1 minuto. • El tiempo que tarda el empleado en atender a un cliente. Este tiempo, S, es una variable aleatoria exponencial con media 0.5 minutos. En general, las distribuciones de probabilidad de las variables A y S deben determinarse, o bien estudiando los datos medidos del sistema real, o bien a través de consideraciones teóricas. En cualquier caso, el decidir que las variables de entrada están distribuidas de una determinada forma es otra hipótesis de modelado. El que el modelo reproduzca más o menos adecuadamente los aspectos de interés del sistema depende de lo acertado de estas aproximaciones. Obsérvese que, al definir en el ejemplo las variables de entrada, se han realizado las hipótesis siguientes: • Tanto la distribución de probabilidad de los intervalos entre llegadas, como la distri- bución de los tiempos de servicio, son independientes del instante de tiempo simulado. Serı́a fácil imaginar situaciones en las cuales durante determinadas “hora punta” la afluencia de clientes fuera mayor que durante las “horas valle”. También serı́a factible que, según avanza la jornada laboral, aumentara el cansancio del empleado, con lo cual aumentara el tiempo de servicio (o que disminuyera su paciencia, con lo cual el tiempo de servicio disminuirı́a). Pues bien, se ha realizado la hipótesis de que ninguno de estos factores, u otros similares, son relevantes.