+ All Categories
Home > Documents > Teoria_Simulacion Con Notas

Teoria_Simulacion Con Notas

Date post: 28-Oct-2015
Category:
Upload: alexander-cespedes
View: 32 times
Download: 0 times
Share this document with a friend

of 321

Transcript
  • SIMULACION

    Texto Base de Teora

    Alfonso Urqua Moraleda

    Departamento de Informatica y Automatica

    Escuela Tecnica Superior de Ingeniera Informatica, UNED

    Juan del Rosal 16, 28040 Madrid, Espana

    E-mail: [email protected]

  • Indice

    I Introduccion al modelado y la simulacion 1

    1. Conceptos basicos 3

    1.1. Sistemas y modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.2. Tipos de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.3. Modelos matematicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.4. El marco experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2. Pasos en un estudio de simulacion 9

    2.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.2. Definicion del problema y planificacion del proyecto . . . . . . . . . . . . . . . . 10

    2.3. Definicion del sistema y formulacion del modelo . . . . . . . . . . . . . . . . . . 11

    2.4. Diseno de los experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.5. Datos de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.6. Traduccion del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.7. Verificacion y validacion del modelo . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.8. Experimentacion y analisis de los resultados . . . . . . . . . . . . . . . . . . . . 17

    2.9. Documentacion e implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    II Modelado y simulacion 19

    3. Metodo de Monte Carlo 21

    3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3.2. Estimacion del valor del numero pi . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3.3. Probabilidad de ganar un juego solitario de cartas . . . . . . . . . . . . . . . . 25

    3.4. Calculo de integrales definidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    ANEXO. Programa de simulacion para la estimacion del valor de una integral definida 28

    4. Modelado de sistemas de eventos discretos 31

    4.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.2. Estructura logica del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    I

  • II Alfonso Urqua SIMULACION - Texto Base de Teora

    4.3. Elementos del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    4.4. Aspectos matematicos del modelo y las variables de entrada . . . . . . . . . . . 35

    4.5. Medidas del comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    4.6. Condiciones inicial y final de la simulacion . . . . . . . . . . . . . . . . . . . . . 37

    4.7. Descripcion del funcionamiento del sistema . . . . . . . . . . . . . . . . . . . . 38

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    5. Simulacion usando un lenguaje de programacion 41

    5.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    5.2. Algoritmo de simulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    5.3. Simulacion de una cola atendida por un empleado . . . . . . . . . . . . . . . . 44

    5.4. Gestion del inventario de un unico producto . . . . . . . . . . . . . . . . . . . . 54

    5.5. Modelado mediante grafos de eventos . . . . . . . . . . . . . . . . . . . . . . . . 63

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

    ANEXO 1. Programa de simulacion de una cola atendida por un unico empleado . . 69

    ANEXO 2. Programa de simulacion de la gestion del inventario de un producto . . . 75

    6. Simulacion usando Arena 81

    6.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    6.2. Modelado de operaciones basicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    6.3. Modelado detallado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    7. Modelos analticos y simulacion 101

    7.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    7.2. Modelos analticos frente a modelos de simulacion . . . . . . . . . . . . . . . . 102

    7.3. Cadenas de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    7.4. Modelos analticos de sistemas de colas . . . . . . . . . . . . . . . . . . . . . . . 108

    III Modelado y generacion de las entradas aleatorias 115

    8. Modelado de las entradas 117

    8.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

    8.2. Distribuciones de probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

    8.3. Independencia y homogeneidad de los datos . . . . . . . . . . . . . . . . . . . . 123

    8.4. Tarea I: Seleccion de la familia de distribuciones . . . . . . . . . . . . . . . . . . 124

    8.5. TAREA II: Estimacion de los parametros . . . . . . . . . . . . . . . . . . . . . . 130

    8.6. TAREA III: Medida de la bondad del ajuste . . . . . . . . . . . . . . . . . . . . . 136

    8.7. Seleccion de la distribucion en ausencia de datos . . . . . . . . . . . . . . . . . 140

    8.8. Procesos estocasticos de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

    8.9. Analisis de las entradas usando Arena . . . . . . . . . . . . . . . . . . . . . . . 147

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

  • INDICE III

    9. Generacion de numeros aleatorios 153

    9.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

    9.2. Generadores fsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

    9.3. Generadores aritmeticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 empricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

    9.9. Tests empricos de uniformidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

    9.10. Tests empricos de independencia . . . . . . . . . . . . . . . . . . . . . . . . . . 175

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

    10. Observaciones de variables aleatorias 187

    10.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

    10.2. Metodo de la transformacion inversa . . . . . . . . . . . . . . . . . . . . . . . . . 188

    10.3. Composicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    10.4. Convolucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

    10.5. Metodo de aceptacion/rechazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

    10.6. Observaciones de variables aleatorias continuas . . . . . . . . . . . . . . . . . . 193

    10.7. Observaciones de variables aleatorias discretas . . . . . . . . . . . . . . . . . . 195

    10.8. Generacion de procesos de llegada . . . . . . . . . . . . . . . . . . . . . . . . . . 196

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

    IV Empleo de los modelos de simulacion 201

    11. Analisis de los resultados de la simulacion 203

    11.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

    11.2. Simulaciones con condicion de finalizacion . . . . . . . . . . . . . . . . . . . . . 208

    11.3. Simulaciones en el estacionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

    11.4. Intervalos para varias magnitudes . . . . . . . . . . . . . . . . . . . . . . . . . . 214

    11.5. Comparacion entre dos sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

    11.6. Comparacion entre mas de dos sistemas . . . . . . . . . . . . . . . . . . . . . . 220

    11.7. Analisis usando Arena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    12. Reduccion de la varianza 233

    12.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

    12.2. Numeros seudo aleatorios comunes . . . . . . . . . . . . . . . . . . . . . . . . . 234

    12.3. Variables aleatorias antiteticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

    13. Diseno de experimentos y optimizacion 243

  • IV Alfonso Urqua SIMULACION - Texto Base de Teora

    13.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

    13.2. Objetivos, respuestas y factores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

    13.3. Diseno experimental factorial completo . . . . . . . . . . . . . . . . . . . . . . . 248

    13.4. Disenos experimentales factoriales fraccionales . . . . . . . . . . . . . . . . . . 254

    13.5. Optimizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

    13.6. Optimizacion usando Arena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

    Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

    V Apendices 263

    A. Conceptos de probabilidad y estadstica 265

    A.1. Para que? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 desviacion estandar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

    A.10. Estimadores de la media y de la varianza . . . . . . . . . . . . . . . . . . . . . . 271

    A.11. Covarianza y coeficiente de correlacion . . . . . . . . . . . . . . . . . . . . . . . 272

    A.12. Secuencias de variables aleatorias . . . . . . . . . . . . . . . . . . . . . . . . . . 273

    A.13. Teorema del lmite 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 distribucion binomial . . . . . . . . . . . . . . . . . . . . . . . 279

    A.17. Contraste de hipotesis parametricas . . . . . . . . . . . . . . . . . . . . . . . . . 280

    A.18. Contraste respecto a la media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

    A.19. Contraste respecto a la varianza . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

    A.20. Contraste respecto a la proporcion . . . . . . . . . . . . . . . . . . . . . . . . . . 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

  • INDICE V

    Triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

    Equivalencias entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

    Relaciones entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

    C. Distribuciones de probabilidad discretas 295

    Bernoulli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

    Uniforme discreta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

    Binomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

    Geometrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

    Binomial negativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

    Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

    Equivalencias entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

    Relaciones entre distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302

    VI Tablas 303

    T.1. Puntos crticos de la distribucion t y de la distribucion normal estandar 305

    T.2. Puntos crticos de la distribucion chi-cuadrado 306

    T.3. Puntos crticos del test de Kolmogorov-Smirnov 307

  • VI Alfonso Urqua SIMULACION - Texto Base de Teora

  • Parte I

    Introduccion al modelado y lasimulacion

    1

  • Tema 1

    Conceptos basicos del modelado yla simulacion

    Objetivos: Una vez estudiado el contenido del tema y realizados los ejerciciospracticos, debera saber:

    Discutir los conceptos sistema, modelo, simulacion y marco expe-rimental.

    Describir y comparar los diferentes tipos de modelos. Comparar y reconocer los distintos tipos de modelos matematicos.

    1.1. Sistemas y modelos

    En el sentido amplio del termino, un modelo es

    una representacion de un sistema desarrollada para un proposito especfico.

    Puesto que la finalidad de un modelo es ayudarnos a responder preguntas sobre undeterminado sistema, el primer paso en la construccion de un modelo es definir cual esel sistema y cuales son las preguntas.

    En este contexto, se entiende por sistema

    cualquier objeto o conjunto de objetos cuyas propiedades se desean estudiar.

    Con una definicion tan amplia, cualquier fuente potencial de datos puede considerarse unsistema. Algunos ejemplos de sistema son:

    Una planta de fabricacion con maquinas, personal, dispositivos de transporte y almacen. 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 atencion al cliente.

    3

  • 4 Alfonso Urqua SIMULACION - Texto Base de Teora

    Un parque tematico con atracciones, tiendas, restaurantes, trabajadores, clientes yaparcamientos.

    Un procedimiento para conocer el comportamiento de los sistemas es la experimentacion.De hecho, este ha sido el metodo empleado durante siglos para avanzar en el conocimiento:plantear las preguntas adecuadas acerca del comportamiento de los sistemas y responderlasmediante experimentacion. Un experimento es

    el proceso de extraer datos de un sistema sobre el cual se ha ejercido una accionexterna.

    Por ejemplo, el encargado de un supermercado puede ensayar diferentes procedimientosde control del inventario y de distribucion del personal, para determinar que combinacionesdemuestran ser mas rentables y proporcionan un mejor servicio.

    Cuando es posible trabajar directamente con el sistema real, el metodo experimentalpresenta indudables ventajas. Sin embargo, para que los resultados del experimento seanvalidos, debe garantizarse que no existen variables ocultas confundidas con las variablesexperimentales. Por ejemplo, continuando con el modelo del supermercado, si la afluenciade publico 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 podra extraerseninguna conclusion valida sobre el tiempo medio de espera de los clientes en la cola de lascajas.

    El metodo experimental esta basado en solidos fundamentos cientficos, sin embargo tienesus limitaciones, ya que en ocasiones es imposible o desaconsejable experimentar con elsistema real. En estos casos, el modelado y la simulacion son las tecnicas adecuadas para elanalisis de sistema, puesto que,

    a excepcion de la experimentacion con el sistema real, la simulacion es la unicatecnica disponible que permite analizar sistemas arbitrarios de forma precisa, bajodiferentes condiciones experimentales.

    Existen multiples razones por las cuales la experimentacion con el sistema real puederesultar inviable:

    Quiza la mas evidente de ellas es que el sistema aun no exista fsicamente. Esta si-tuacion se plantea frecuentemente en la fase de diseno de nuevos sistemas, cuandoel ingeniero necesita predecir el comportamiento de los mismos antes de que seanconstruidos.

    Otra posible razon es el elevado coste economico del experimento. Consideremos el casode un empresario que planea ampliar las instalaciones de su empresa, pero que noesta seguro de que la ganancia potencial justifique el coste de la ampliacion. Ciertamen-te, no sera razonable que, para salir de dudas, realizara la ampliacion y luego se volvieraatras si esta demostrara no ser rentable. Una alternativa consiste en simular la opera-cion de la configuracion actual de la empresa, simular la operacion de la configuracionalternativa y comprar sus productividades.

    El experimento puede producir perjuicio o incomodidad. Por ejemplo, experimentar conun nuevo sistema de facturacion en un aeropuerto puede producir retrasos y problemasimprevisibles que perjudiquen al viajero.

    En ocasiones el tiempo requerido para la realizacion del experimento lo hace irrealiza-ble. Casos extremos pueden encontrarse en los estudios geologicos o cosmologicos, deevolucion de las especies, sociologicos, etc.

    Algunos experimentos son peligrosos, y por tanto es desaconsejable realizarlos. Porejemplo, sera inapropiado usar el sistema real para adiestrar a los operarios de unacentral nuclear acerca de como deben reaccionar ante situaciones de emergencia.

    En ocasiones el experimento requiere modificar variables que en el sistema real o bienno estan accesibles o no pueden ser modificadas en el rango requerido. Con un modelomatematico adecuado, se pueden ensayar condiciones de operacion extremas que sonimpracticables en el sistema real.

  • TEMA 1. CONCEPTOS BASICOS 5

    SISTEMA

    EXPERIMENTAR CON EL SISTEMA

    REAL

    EXPERIMENTAR CON EL MODELO DEL SISTEMA

    MODELO MENTAL

    MODELO VERBAL

    MODELO FSICO

    MODELO MATEMTICO

    SOLUCIN ANALTICA SIMULACIN

    Figura 1.1: Formas de estudiar un sistema.

    1.2. Tipos de modelos

    Los seres humanos, en nuestra vida cotidiana, empleamos continuamente modelos paracomprender 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: como reaccionara si lepedimos un favor?. Tambien disponemos de modelos de los sistemas tecnicos que estanbasados en la intuicion y en la experiencia. Todos estos se llaman modelos mentales .

    Por ejemplo, aprender a conducir un coche consiste parcialmente en desarrollar un modelomental de las propiedades de la conduccion del coche. Asimismo, un operario trabajando endeterminado proceso industrial sabe como el proceso reacciona ante diferentes acciones: eloperario, mediante el entrenamiento y la experiencia, ha desarrollado un modelo mental delproceso.

    Otro tipo de modelos son losmodelos verbales, en los cuales el comportamiento del sistemaes descrito mediante palabras: si se aprieta el freno, entonces la velocidad del coche sereduce. Los sistemas expertos son ejemplos de modelos verbales formalizados. Es importantediferenciar entre los modelos mentales y los verbales. Por ejemplo, nosotros usamos unmodelo mental de la dinamica de la bicicleta cuando la conducimos, sin embargo no essencillo convertirlo a un modelo verbal.

    Ademas de los modelos mentales y verbales, existe otro tipo de modelos que tratan deimitar al sistema real. Son los modelos fsicos, como las maquetas a escala que construyenlos arquitectos, disenadores de barcos o aeronaves para comprobar las propiedades esteticas,aerodinamicas, etc.

    Finalmente, existe un cuarto tipo de modelos, los modelos matematicos. En ellos, las rela-ciones entre las cantidades que pueden ser observadas del sistema (distancias, velocidades,flujos, etc.) estan descritas mediante relaciones matematicas. En este sentido, la mayora delas leyes de la naturaleza son modelos matematicos.

    Por ejemplo, para el sistema masa puntual, la Ley de Newton del movimiento describe larelacion entre la fuerza y la aceleracion. Asimismo, para el sistema resistencia electrica, laLey de Ohm describe la relacion entre la cada de tension y el flujo de corriente.

    En algunos casos, las relaciones matematicas que constituyen los modelos son sencillasy pueden resolverse analticamente. Sin embargo, en la mayora de los casos, los modelos

  • 6 Alfonso Urqua SIMULACION - Texto Base de Teora

    no pueden resolverse analticamente y deben estudiarse, con ayuda del ordenador, aplicandometodos numericos.

    Este experimento numerico realizado sobre el modelo matematico, recibe el nombrede simulacion.

    1.3. Modelos matematicos

    La finalidad de un estudio de simulacion (es decir, las preguntas que debe responder) con-diciona las hipotesis empleadas en la construccion del modelo, y estas a su vez determinanque tipo de modelo resulta mas adecuado al estudio. De hecho, un mismo sistema puedeser modelado de multiples formas, empleando diferentes tipos de modelos, dependiendo de lafinalidad perseguida en cada caso.

    Existen diferentes clasificaciones de los modelos matematicos, atendiendo a diferentes cri-terios. A continuacion se describen algunas de las clasificaciones mas comunmente usadas.

    Determinista vs Estocastico

    Un modelo matematico 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 esta igualmente preestablecido de antemano.No existe incertidumbre en la hora de inicio o de finalizacion de cada servicio.

    Por el contrario, un modelo es estocastico cuando alguna de sus variables de entrada esaleatoria. Las variables del modelo calculadas a partir de variables aleatorias son tambienaleatorias. Por ello, la evolucion de este tipo de sistemas debe estudiarse en terminos proba-bilsticos.

    Por ejemplo, considerese el modelo de parking, en el cual las entradas y salidas de cochesse producen en instantes de tiempo aleatorios. La aleatoriedad de estas variables se propagaa traves de la logica del modelo, de modo que las variables dependientes de ellas tambienson aleatorias. Este sera el caso, por ejemplo, del tiempo que transcurre entre que un clientedeja aparcado su vehculo y lo recoge (tiempo de aparcamiento), el numero de vehculos quehay aparcados en un determinado instante, etc.

    Es importante tener en cuenta que realizar una unica replica de una simulacion estocasti-ca es equivalente a realizar un experimento fsico aleatorio una unica vez.

    Por ejemplo, si se realiza una simulacion del comportamiento del parking durante 24horas, es equivalente a observar el funcionamiento del parking real durante 24 horas. Si serepite la observacion al da siguiente, seguramente los resultados obtenidos seran diferentes,y lo mismo sucede con la simulacion: si se realiza una segunda replica independiente de laprimera, seguramente los resultados seran diferentes.

    La consecuencia que debe extraerse de ello es que el diseno y el analisis de los experimen-tos de simulacion estocasticos debe hacerse teniendo en cuenta esta incertidumbre en losresultados, es decir, debe hacerse empleando tecnicas estadsticas.

    Las dificultades asociadas a la simulacion de modelos estocasticos pueden invitarnos enocasiones a realizar hipotesis adicionales, con el fin de eliminar la incertidumbre en el valorde las variables de entrada. Un ejemplo tpico consiste en sustituir cada variable de entradaaleatoria por otra determinista, cuyo valor sea la media de la distribucion de probabilidad deaquella. Este modelo determinista, obtenido de eliminar la incertidumbre en el valor de lasvariables de entrada, proporcionara resultados no aleatorios. Sin embargo, esta simplificacionhara que probablemente el modelo ya no sea una representacion del sistema valida para elobjetivo del estudio.

  • TEMA 1. CONCEPTOS BASICOS 7

    Estatico vs Dinamico

    Un modelo de simulacion estatico es una representacion de un sistema en un instantede tiempo particular, o bien un modelo que sirve para representar un sistema en el cual eltiempo no juega ningun papel. Ejemplo de simulaciones estaticas son las simulaciones deMonte Carlo.

    Por otra parte, un modelo de simulacion dinamico representa un sistema que evolucionacon el tiempo.

    De tiempo continuo vs De tiempo discreto vs Hbrido

    Un modelo de tiempo continuo esta caracterizado por el hecho de que el valor de susvariables de estado puede cambiar infinitas veces (es decir, de manera continua) en unintervalo finito de tiempo. Un ejemplo es el nivel de agua en un deposito.

    Por el contrario, en un modelo de tiempo discreto los cambios pueden ocurrir unicamenteen instantes separados en el tiempo. Sus variables de estado pueden cambiar de valor soloun numero finito de veces por unidad de tiempo.

    Pueden definirse modelos con algunas de sus variables de estado de tiempo continuo y lasrestantes de tiempo discreto. Este tipo de modelos, con parte de tiempo continuo y parte detiempo discreto, de llama modelos hbridos.

    Tal como se ha indicado al comienzo de la seccion, la decision de realizar un modelo conti-nuo o discreto depende del objetivo especfico del estudio y no del sistema en s. Un ejemplo deello lo constituyen los modelos del flujo de trafico de vehculos. Cuando las caractersticas y elmovimiento de los vehculos individuales son relevantes puede realizarse un modelo discreto.En caso contrario, puede resultar mas sencillo realizar un modelo continuo.

    En este punto es conveniente realizar una consideracion acerca de los modelos de tiempocontinuo y discreto. Al igual que las variables continuas (aquellas que pueden tomar cualquiervalor intermedio en su rango de variacion) son una idealizacion, tambien lo son los modelosde tiempo continuo. Cualquiera que sea el procedimiento de medida que se emplee para medirel valor de una variable, tendra un lmite de precision. Este lmite marca la imposibilidadde dar una medida continua y supone que, en la practica, todas las medidas son discretas.Igualmente, los ordenadores trabajan con un numero finito de cifras decimales. Sin embargo,para los razonamientos teoricos, 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 delos estados. Esta discretizacion constituye una aproximacion (con su error asociado) quetransforma el modelo de tiempo continuo en un modelo de tiempo discreto. Por ejemplo, si sediscretiza el eje temporal del modelo de tiempo continuo

    dx

    dt= f (x, u, t) (1.1)

    con un intervalo de discretizacion t, se obtiene (empleando el metodo de Euler explcito) elsiguiente modelo de tiempo discreto:

    xK+1 xKt

    = 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 distinguirentre la descripcion del modelo y la descripcion del experimento. Esto es as tanto desde elpunto de vista conceptual como practico. Sin embargo, en el caso del modelo esta separacion

  • 8 Alfonso Urqua SIMULACION - Texto Base de Teora

    implica cierto riesgo: su empleo en unas condiciones experimentales para las cuales no esvalido.

    Por supuesto, cuando se trabaja con sistemas reales este riesgo nunca existe, ya que unsistema real es valido para cualquier experimento. Por el contrario, cualquier modelo esta fun-damentado en un determinado conjunto de hipotesis. Cuando las condiciones experimentalesson tales que no se satisfacen las hipotesis del modelo, este deja de ser valido. Para evitar esteproblema, la descripcion del modelo debe ir acompanada de la documentacion de su marcoexperimental. Este establece el conjunto de experimentos para el cual el modelo es valido.

    EJERCICIOS

    1.1 Describa cual sera en su opinion la forma mas eficaz de estudiar cada uno de lossistemas siguientes, en terminos 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 presentaatascos.

    3. Una presa para el suministro de agua y electricidad, que se planea construir en unro.

    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 fabricacion de circuitos

    integrados, en una fabrica que se encuentra en funcionamiento.7. El funcionamiento de un autobus, que conecta el punto de devolucion de vehculos,

    de una compana de alquiler de coches, con el aeropuerto.8. Un circuito electrico.

    1.2 Para cada uno de los sistemas mencionados en el problema anterior, suponga que se hadecidido realizar el estudio mediante simulacion. Discuta si la simulacion debera serestatica o dinamica, determinista o estocastica, y continua o discreta.

    1.3 Sugiera al menos dos estudios de simulacion en el ambito de la fabricacion/manufactura,y otro en el ambito de los servicios (por ejemplo, servicios de salud, bomberos, etc.). Jus-tifique el uso de simulacion, en oposicion al empleo de modelos analticos. Que aspectosdel analisis mediante simulacion son particularmente ventajosos para la aplicacionseleccionada?

  • Tema 2

    Pasos en un estudio de simulacion

    Objetivos: Una vez estudiado el contenido del tema y realizados los ejerciciospracticos, debera saber:

    Discutir los pasos de que consta un estudio de simulacion.

    2.1. Introduccion

    A grandes rasgos, los pasos que deben seguirse en un estudio de simulacion son lossiguientes:

    1. Definicion del problema. Consiste en definir claramente por que se estudia el sistemay que objetivos se persigue con ello, es decir, cuales son las preguntas a contestar.

    2. Planificacion del proyecto. Tiene como objetivo estimar que recursos son necesariospara llevar a cabo el estudio: dinero, personal, hardware de computacion, recursossoftware, etc. Si estos recursos no estan disponibles debe replantearse el alcance delestudio.

    3. Definicion del sistema. Debe definirse que aspectos de la realidad constituyen el siste-ma bajo estudio.

    4. Formulacion conceptual del modelo. Desarrollo de un modelo preliminar, bien grafi-camente (mediante diagramas de bloques) o en seudo codigo, en el que se definen loscomponentes, las variables descriptivas y las interacciones (la logica) que constituyen elmodelo del sistema.

    5. Diseno preliminar del experimento. Consiste en definir que accion se va a ejercersobre el modelo y como se va a medir su comportamiento. Se trata, por tanto, de definirque variables son las entradas y cuales las salidas, como va a modificarse el valor de lasentradas y como van a recogerse los datos de salida.

    6. Preparacion de los datos de entrada. Debe establecerse el procedimiento a seguir paraasignar valores a cada una de las variables de entrada durante la simulacion.

    7. Traduccion del modelo. Consiste en describir las partes del modelo y su funciona-miento empleando un lenguaje de simulacion. De este modo ya puede ejecutarse lasimulacion.

    8. Verificacion y validacion. Se trata de estudiar si el modelo opera como debiera y si lasalida del modelo es creble y representativa del comportamiento del sistema.

    9

  • 10 Alfonso Urqua SIMULACION - Texto Base de Teora

    9. Diseno experimental final. En este punto se disena un experimento que proporcionela informacion necesaria para poder contestar a las preguntas planteadas en el estudio.Tpicamente el experimento consiste en cierto numero de replicas de la simulacionrealizadas en condiciones bien definidas.

    10. Experimentacion. Realizacion del experimento de simulacion disenado anteriormente.

    11. Analisis e interpretacion. Consiste en inferir conclusiones a partir de los datos obteni-dos de la simulacion.

    12. Implementacion y documentacion. Una vez obtenidos los resultados, analizados yextradas las conclusiones, estas deben ser presentadas de la forma mas adecuada. Elmodelo debe ser documentado y preparado de modo que pueda ser reutilizado paraposteriores estudios. Finalmente, deben tomarse acciones (si esta era la finalidad delestudio) a partir de las conclusiones obtenidas.

    Respecto a la distribucion 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 (comprensiondel problema, diseno del modelo y del experimento).

    Emplear el 20% del esfuerzo en el paso 7 (programacion del modelo). Finalmente, emplear el 40% restante en los pasos 8 a 12 (verificacion, validacion, disenoy realizacion del experimento, analisis de los resultados, implementacion y documenta-cion).

    A continuacion se discute en detalle cada uno de estos pasos.

    2.2. Definicion del problema y planificacion del proyecto

    Antes de intentar resolver un problema, es esencial formularlo adecuadamente. Esta esuna afirmacion que parece evidente, de sentido comun, pero que no siempre se aplica. Paraencontrar una solucion a un problema, uno debe conocer primero cual es el problema. Enparticular, el primer paso en todo estudio de simulacion es definir explcitamente cual essu objetivo: la construccion del modelo se realiza con el fin de ayudar a responder ciertaspreguntas acerca del sistema real.

    El objetivo de un estudio de simulacion puede ser de lo mas diverso. Algunos ejemplosson:

    Evaluacion del comportamiento de determinado diseno del sistema en terminos abso-lutos frente a determinados criterios especficos.

    Comparacion del comportamiento de diferentes disenos alternativos del sistema, ocomparacion de diferentes polticas de operacion o procedimientos.

    Prediccion del comportamiento del sistema bajo cierto conjunto de condiciones. Analisis de la sensibilidad, es decir, determinar entre varios factores cual es el que masafecta al comportamiento del sistema.

    Optimizacion, esto es, calculo de los valores de determinados parametros del modeloque producen que el sistema tenga la mejor respuesta (atendiendo a un determinadocriterio).

    Estudio de las relaciones funcionales entre determinadas variables del modelo. Porejemplo, la determinacion de la relacion funcional entre una de las respuestas delmodelo y determinadas variables de entrada.

    Localizacion y analisis de los cuellos de botella. Consiste en descubrir la localizacionde los cuellos de botella del sistema y evaluar propuestas para descongestionar algunode ellos.

    Estos objetivos pretenden responder preguntas del tipo:

    Funciona el sistema del modo que queremos que lo haga (evaluacion y prediccion)?1(Pedgen, Shannon & Sadowsky 1995)

  • TEMA 2. PASOS EN UN ESTUDIO DE SIMULACION 11

    Por que no funciona el sistema y que podemos hacer para que funcione (determinacionde los cuellos de botella y optimizacion)?

    Cual es la mejor alternativa (comparacion y analisis de sensibilidad)?El proposito del estudio de simulacion tiene implicaciones decisivas en el diseno del

    modelo y del experimento. Por ejemplo, si el proposito es evaluar el comportamiento deun sistema en terminos absolutos, debera existir un alto grado de correspondencia entreel comportamiento del modelo y del sistema. Por el contrario, si el proposito del estudio escomparar varios disenos, el modelo puede ser valido en un sentido relativo incluso cuandosus respuestas en un sentido absoluto difieran considerablemente de las del sistema real.En consecuencia, el proceso completo de diseno del modelo, validacion, diseno de los experi-mentos y analisis de los resultados debe estar ntimamente relacionado con el proposito delestudio.

    No obstante, el objetivo del estudio debe definirse con mas detalle que mediante una simplepregunta. Tambien es necesario conocer todos los aspectos relevantes que rodean al proyectode simulacion. Frecuentemente el estudio es realizado por un grupo de ingenieros que debenrecomendar una solucion al problema, pero que no son quienes deben tomar la decision final.En estos casos, lo resultados del estudio deben servir simultaneamente a dos propositos:ayudar a formular la recomendacion y ayudar a vender la recomendacion. Con este fin,deben considerarse otros factores condicionantes: cuales son los intereses de la persona quedebe tomar la decision final, que aspectos de la situacion estan bajo su control y cuales no,en que va a consistir el proceso de la toma de decision, que otras personas participan enla toma de la decision (en especial aquellas que se oponen a que se realicen cambios en elsistema) y cuales son sus objetivos mas relevantes, etc.

    Como parte de la planificacion deben considerarse todos aquellos factores que son crticospara el exito del proyecto, tales como:

    Estan claramente definidos los objetivos del estudio? Por que se realiza el estudio?Que 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 direccion? Las partes involu-cradas se implicaran en mayor medida si son conscientes del respaldo de la direccion.Se les ha informado adecuadamente? Son conscientes de que ese respaldo existe?

    Se han definido las tareas de que consta el proyecto, la vinculacion entre ellas, quiendebe realizarlas y en que fechas?

    Posee cada uno de los miembros del proyecto la formacion necesaria para realizar conexito su cometido? Esta 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 comunicacion entre los miembros delequipo, la direccion y los clientes?

    2.3. Definicion del sistema y formulacion del modelo

    La esencia del arte del modelado son la abstraccion y la simplificacion. Se trata de identi-ficar el pequeno conjunto de caractersticas o propiedades del sistema suficientes para servirlos objetivos especficos del estudio. A grandes rasgos, la metodologa para la construcciondel modelo podra ser la siguiente:

    Escoger las variables de salida, lo cual resulta relativamente sencillo una vez definido elobjetivo del estudio.

    La construccion del modelo se realiza identificando que componentes del sistema afectana estas variables de salida y decidiendo, para cada uno de ellos, si debe ser incluido en

  • 12 Alfonso Urqua SIMULACION - Texto Base de Teora

    el modelo o si debe ser considerado parte del entorno del modelo. En este ultimo caso,el componente es representado mediante entradas al modelo.

    Una vez se ha decidido que componentes constituyen de modelo y que variables des-criben el comportamiento de cada componente, deben determinarse las relaciones fun-cionales entre los componentes, es decir, la logica del modelo. Normalmente se usangraficos o seudo codigo para describir el sistema como un diagrama de flujo logico.

    Para disenar el modelo de simulacion conviene disponer de la maxima informacion posibleacerca del sistema. Existen diversas fuentes de informacion, por ejemplo:

    La documentacion de las especificaciones de diseno del sistema. Aunque posiblementeesta informacion no haya sido actualizada desde hace tiempo y este incompleta, sueleser un punto de partida razonable para comprender el sistema.

    Entrevistas con operarios e ingenieros que conozcan el sistema o con sus disenadoressi este todava no ha sido construido. En efecto, durante el diseno del modelo puedeinvitarse a especialistas en el sistema a que examinen datos de salida, procedentesunos del sistema real y otros del modelo, y que intenten, sin conocer la respuesta,identificar (razonadamente) cuales provienen del modelo y cuales del sistema real. Estainformacion puede emplearse para mejorar el modelo.

    Observaciones y medidas realizadas de primera mano sobre el sistema. Sin duda estaes la fuente de informacion mas fiable: una vez leda la documentacion y discutida laoperacion del sistema con operarios e ingenieros, es recomendable observar el sistemaen operacion. De hecho, en los primeros anos de la investigacion de operaciones seconsideraba un procedimiento habitual que los ingenieros a cargo del modelado partici-paran durante cierto tiempo en la operacion del sistema bajo estudio a fin de conocerlomejor.

    La tarea de modelado implica la busqueda de un punto de equilibrio: el modelo deberepresentar los aspectos del sistema real con el grado de detalle requerido, pero de modo quesea lo mas sencillo posible. No debe hacerse un modelo demasiado detallado, que incluyacomponentes que contribuyan poco o nada a la comprension del problema. Debe tenersepresente que el objetivo del modelo es responder a las preguntas planteadas y no imitar demanera precisa el comportamiento del sistema real. Ademas, aumentando la complejidad delmodelo, no necesariamente se consigue aumentar su realismo.

    Ejemplo 2.3.1. En (Law & Kelton 2000) se describe el siguiente caso real. La direccion de unafabrica de comida para perros encargo a una consultora la realizacion de un modelo de su

    lnea de produccion, que produca 1 millon de latas de comida al da, a velocidad constante. Al

    realizar el modelo, se represento cada lata de comida como una entidad independiente, con lo

    cual era extremadamente costoso ejecutar el modelo, y por ello, no fue muy util. Unos anos mas

    tarde, el modelo fue reescrito, tratando el proceso de fabricacion como un flujo continuo. El

    nuevo modelo produjo resultados precisos, y se ejecutaba en una pequena fraccion del tiempo

    necesario para ejecutar el modelo original.

    Ejemplo 2.3.2. En (Law & Kelton 2000) se describe otro caso real. En 1985 se realizo unmodelo de una fabrica de grandes dimensiones (meda 1.5 millas de largo), con un coste de

    $250,000. Sin embargo, el modelo era tan detallado que jamas pudo llegarse a ejecutar, dadolos inmensos recursos de memoria que requera.

    Una buena practica consiste en realizar el modelo de manera iterativa: comenzar con unmodelo muy simple, cuya complejidad puede posteriormente ir aumentandose facilmente.Para ello, el modelo debe realizarse de manera modular y jerarquica, dividiendo el sistemaen submodelos y modelando todos ellos con un nivel semejante de complejidad. Este modeloinicial puede construirse muy rapido y puede servir de punto de discusion sobre posterioresrefinamientos en el modelado (se entiende por refinamiento del modelo el aumento en sunivel de detalle). Anadiendo progresivamente los refinamientos al modelo, y comparando losresultados obtenidos con los del modelo mas sencillo, puede estimarse el impacto de cadaconjunto de refinamientos sobre la respuesta del modelo. En determinado punto de esteproceso de aumento gradual de la complejidad del modelo, los refinamientos anadidos tienen

    jose contrerasResaltado

  • TEMA 2. PASOS EN UN ESTUDIO DE SIMULACION 13

    un efecto pequeno, es decir, influyen despreciablemente en las conclusiones del estudio, conlo cual se concluira que no es preciso incorporarlos.

    Existen varias tecnicas que se pueden aplicar simultaneamente para obtener un modelosimplificado de un sistema. Algunas de ellas son:

    La omision de ciertos detalles del modelo. La idea que hay detras de esta aproximaciones que no todos los factores son igualmente importantes para determinar el comporta-miento del sistema. Se trata de determinar que factores son crticos (efectos de primerorden) y cuales no (efectos de segundo orden).

    Omitir los detalles supone introducir deliberadamente imperfecciones, y por tantopodra considerarse que es una mala practica. Sin embargo, nada mas lejos de larealidad: solamente omitiendo los factores de segundo orden puede construirse unmodelo util. El aumento en el nivel de detalle debe hacerse atendiendo al impacto quela complejidad anadida tiene sobre los resultados del estudio, es decir, debe emplearseel esfuerzo de modelado en la representacion de aquellos aspectos del sistema que masinfluencia tienen sobre los resultados del estudio.

    Agregar determinados procesos del sistema en un proceso equivalente. Ejemplos tpicosde agregacion son:

    Agregacion temporal: se trata un intervalo de tiempo como una unidad. Por ejemplo,se consideran que todos los eventos ocurridos en un da han ocurrido simultanea-mente en determinado instante (por ejemplo, a las 12 de la manana).

    Agregacion de recursos: se tratan varios recursos como una unidad. Por ejemplo, siun operario de una cadena de montaje realiza cierto numero de trabajos consecu-tivos, puede modelarse la operacion completa como un proceso simple en lugar demodelar cada una de las tareas individualmente.

    El Teorema del Lmite Central a menudo ayuda a determinar la distribucion deprobabilidad resultante del proceso agrupado. Si la variable aleatoria del procesoagrupado (por ejemplo, el tiempo en realizar la tarea) es suma de las variablesaleatorias de los subprocesos y si estas son independientes entre s, entonces lavariable del proceso agrupado esta aproximadamente distribuida de forma normalcuando el numero de subprocesos es grande (sean cuales sean las distribucionesde probabilidad de las variables de los subprocesos).

    El tercer tipo de simplificacion consiste en sustituir un proceso complejo por un procesodiferente, mas sencillo, que se comporte de manera equivalente al proceso original.Un ejemplo es la representacion de un proceso complejo, cuyo comportamiento no secomprende o no se desea modelar, por medio de determinada distribucion 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, obien modelarse toda la estructura de negocio del cliente, o bien considerar que susdemandas estan distribuidas aleatoriamente de acuerdo a determinada distribucion deprobabilidad.

    Ademas de la aplicacion de las tecnicas anteriores, comunmente se realizan las siguientesaproximaciones:

    La definicion de los lmites del modelo y de su interaccion con el entorno implica larealizacion de aproximaciones, entre ellas la decision de que factores externos influyensobre el funcionamiento del modelo (entradas al modelo) y cuales son ignorados.

    Los fenomenos de naturaleza aleatoria son modelados mediante funciones de proba-bilidad (frecuentemente distribuciones teoricas) que los representan solo de maneraaproximada.

    Al modelar la interaccion entre los fenomenos aleatorios, en ocasiones se considera (deforma aproximada) que dos variables aleatorias son estadsticamente independientescon el fin de simplificar el modelo.

    En ocasiones de considera que la distribucion de probabilidad de algunos de los parame-tros del modelo no vara con el tiempo. Esta aproximacion es razonable si la velocidadde cambio es muy pequena comparada con el periodo de tiempo de interes.

    jose contrerasResaltado

    jose contrerasResaltado

    jose contrerasResaltado

    jose contrerasResaltado

    jose contrerasResaltado

    jose contrerasResaltado

    jose contrerasResaltado

  • 14 Alfonso Urqua SIMULACION - Texto Base de Teora

    El impacto de las aproximaciones de modelado debe estimarse considerando el propositoespecfico del estudio de simulacion:

    Si el proposito es estimar de manera precisa el comportamiento del sistema, debenevaluarse las simplificaciones considerando su impacto sobre la medida del comporta-miento.

    Por otro lado, si el proposito del estudio es comparar diferentes sistemas o procedimien-tos, debe evaluarse si la simplificacion afecta a todos los modelos aproximadamente dela misma manera (los errores son aproximadamente iguales en magnitud).

    Por este motivo, estimar el comportamiento absoluto de un sistema normalmente requieremodelos considerablemente mas detallados que comparar varios sistemas. Una consecuen-cia practica de este hecho es que los modelos matematicos suelen ser mas precisos en lacomparacion de sistemas alternativos que en la obtencion de respuestas absolutas.

    2.4. Diseno de los experimentos

    El diseno de los experimentos se realiza en dos etapas diferentes del estudio de simulacion.En primer lugar, antes de que el diseno del modelo haya finalizado. Tan pronto como seaposible deben seleccionarse que medidas del comportamiento del sistema van a usarse enel estudio, que factores van a variarse y que niveles de cada uno de estos factores van ainvestigarse. Una vez que el modelo ha sido desarrollado, verificado y validado, se revisa eldiseno experimental teniendo en cuenta el conocimiento que se ha ganado durante el procesode diseno, construccion, verificacion y validacion del modelo.

    El experimento debe disenarse cuidadosamente, atendiendo a las siguientes dos conside-raciones:

    El diseno del experimento determina el tipo de analisis estadstico que debe aplicarse alos resultados.

    Los experimentos de simulacion deben disenarse de modo que permitan obtener lamaxima informacion acerca del comportamiento del sistema al menor costo posible(tiempo y trabajo del experimentador, y tiempo de computacion).

    2.5. Datos de entrada

    Determinar que datos emplear como entrada al modelo durante la simulacion es unatarea muy delicada, de la que depende en gran medida el exito del estudio. De hecho,frecuentemente la recogida y el analisis de los datos del sistema, y el modelado de las entradasa partir de estos datos, consume mas tiempo que el propio diseno y programacion del modelo.

    El diseno de un modelo estocastico de simulacion siempre implica decidir si determinadosaspectos del sistema son representados de forma estocastica o determinista. Si se opta poruna descripcion probabilstica de determinado aspecto, puede suceder que:

    Puedan obtenerse datos experimentales del sistema. En este caso, debe decidirse sidurante la simulacion se muestrea directamente de los datos experimentales, o bien sise muestrea de una distribucion de probabilidad ajustada a partir de estos.

    No puedan obtenerse datos experimentales, bien porque el sistema aun no ha sidoconstruido o porque no es posible recogerlos. En este caso, puede uno basarse enconsideraciones teoricas y en estimaciones de operarios, ingenieros, disenadores, etc.familiarizados con el funcionamiento del sistema.

    jose contrerasResaltado

    jose contrerasResaltado

    jose contrerasResaltado

  • TEMA 2. PASOS EN UN ESTUDIO DE SIMULACION 15

    2.6. Traduccion del modelo

    Durante la decada de los 60 las simulaciones se realizaban usando lenguajes de pro-gramacion procedurales, de proposito general, como es el caso de FORTRAN. Como puedesuponerse, la escritura de estos programas resultaba una tarea larga, costosa, tediosa ypropensa a errores, ya que el programador deba tener en cuenta hasta el mas mnimo detallede la simulacion del modelo. Esta metodologa de modelado se denomina modelado orientadoa los eventos.

    Con el fin de poder reutilizar parte del codigo, se desarrollaron bibliotecas de funciones,que realizaban algunas de las tareas rutinariamente requeridas en una simulacion y quepodan ser invocadas desde el programa de simulacion. Sin embargo, los modelos deban serprogramados practicamente desde el principio cada vez que se introducan en ellos modifica-ciones importantes. En resumen, la simulacion era una tecnica muy costosa y especializada,solo al alcance de empresas capaces de realizar grandes inversiones economicas.

    Ante la gran dificultad (algunos autores hablan de imposibilidad) de realizar estudioscomplejos de simulacion basados en esta metodologa, se desarrollo una nueva metodologade modelado: el modelado orientado a los procesos. Esta metodologa permite describir elmodelo de manera mas natural, mas proxima al razonamiento humano. En la decada delos anos 70 aparecieron los lenguajes de simulacion de proposito general para modelos detiempo discreto, que posibilitaron la practica de esta nueva metodologa. Estos entornosde simulacion traducan automaticamente la descripcion orientada al proceso del modelo(realizada por el usuario), a la descripcion orientada a los eventos, expresada en un determi-nado lenguaje de programacion, cuya ejecucion constituye la realizacion del experimento desimulacion. Algunos de estos lenguajes de simulacion son todava usados en la actualidad:GPSS, SIMSCRIPT, SLAM, SIMAN, etc..

    Durante la decada de los 80 los lenguajes de simulacion evolucionaron. Aparecieronnuevas versiones que recogan los dos conceptos fundamentales siguientes:

    La separacion en actividades distintas de las etapas (funcionalmente distintas) de mo-delado, especificacion del experimento y analisis de las salidas.

    El aprovechamiento de todas las capacidades disponibles en el momento para el manejode bases de datos, capacidades graficas y de verificacion del programa.

    Los avances experimentados en todos los ambitos de la computacion durante la primeramitad de la decada de los 90, posibilitaron el desarrollo de los entornos de modelado: unacapa software construida sobre el lenguaje de simulacion con el fin de facilitarle al usuario ladescripcion del modelo. El manejo de cualquier lenguaje de simulacion requiere un esfuerzoprevio por parte del usuario en el aprendizaje de sus particularidades sintacticas. Con el finde facilitar la descripcion del modelo, los entornos de modelado proporcionan interfaces deusuario muy intuitivas con menus, dialogos, etc. El usuario construye el modelo seleccio-nando los componentes (pinchando y arrastrando el icono) y conectandolos graficamente. Laanimacion y otras capacidades graficas permiten visualizar la evolucion del sistema durantela simulacion. El interfaz grafico de usuario del entorno de modelado tambien permite accedera los niveles inferiores en la descripcion del modelo: a la descripcion de partes del modelousando el lenguaje de simulacion e incluso al lenguaje de programacion.

    Un ejemplo es el entorno de modelado Arena, que soporta el uso combinado de diferentesniveles de descripcion: elementos de alto nivel parametrizables por el usuario y elementosde bajo nivel que el usuario puede definir usando el lenguaje de simulacion SIMAN o loslenguajes de programacion Visual Basic o C/C++.

    2.7. Verificacion y validacion del modelo

    Los procesos de verificacion y la validacion son conceptualmente distintos:

    jose contrerasResaltado

  • 16 Alfonso Urqua SIMULACION - Texto Base de Teora

    La finalidad de la verificacion es comprobar que no se han cometido errores al traducirel modelo, bien usando un entorno de modelado o mediante un lenguaje de simulaciono de programacion.

    La validacion consiste en comprobar que el modelo supone una aproximacion adecuadade la realidad para los objetivos particulares del estudio de simulacion.

    Sin embargo, cuando los resultados de la simulacion nos parecen extranos o erroneos,no siempre esta claro si es debido a que nos hemos equivocado al traducir el modelo o a quelas hipotesis de modelado no son las adecuadas.

    Verificacion

    Entre otros, pueden usarse los siguientes procedimientos para verificar el modelo:

    Verificacion manual de la logica. Consiste en ejecutar la simulacion durante un perio-do de tiempo corto y comprobar manualmente los resultados obtenidos.

    Comprobacion submodelo a submodelo. Se trata de verificar individualmente que cadasubmodelo produce los resultados esperados para todos los posibles tipos de entradas.

    Comprobacion con soluciones conocidas. Consiste en ajustar el modelo de modo querepresente un sistema de solucion conocida y comparar esta con los resultados de lasimulacion.

    Test de sensibilidad. Puede modificarse el valor de un parametro, dejando los demasfijos, con el fin de medir la sensibilidad del modelo respecto a ese parametro. La compa-racion de la sensibilidad observada en las simulaciones, con la que sera de esperar enel sistema real, puede proporcionar pistas utiles.

    Validacion

    Puede considerarse que la validacion del modelo tiene tres vertientes diferentes. Consisteen determinar:

    Si el modelo representa adecuadamente al sistema real (comprobacion de la estructuradel modelo).

    Si los datos generados de la simulacion del modelo reproducen de forma adecuada elcomportamiento del sistema real (comprobacion del comportamiento del modelo).

    Si el usuario del modelo tiene confianza en los resultados obtenidos de las simulaciones(comprobacion de la confianza del usuario en el modelo). Involucrar al usuario finalen todas las fases del diseno y la construccion del modelo generalmente hace que esteaspecto de la validacion del modelo sea mucho mas sencillo.

    Ejemplo 2.7.1. En (Law & Kelton 2000) se describe el siguiente caso real. Un analsta militarestadounidense trabajo durante 6 meses en un modelo, sin interactuar con el general que

    lo haba solicitado. En la reunion mantenida en el Pentagono para la presentacion de los

    resultados del estudio, cuando tan solo haban trancurrido 5 minutos, el general afirmo: Este

    no es el problema en el que yo estoy interesado.

    Puesto que el modelo se construye para un proposito especfico, la validez solo puedeser evaluada con relacion a este proposito. La validacion del modelo es un proceso continuodurante su diseno, desarrollo y uso. Existen diferentes grados de validacion: la confianza enel modelo va acumulandose segun el modelo va superando pruebas y se van encontrandomas puntos de coincidencia entre el comportamiento del modelo y el del sistema real. Laverificacion y la validacion de un modelo son procesos que realmente nunca finalizan.

    En todo este proceso de validacion, no debe perderse de vista que el objetivo del ingenierodedicado al modelado es la realizacion de modelos utiles, en un tiempo razonable y con uncoste razonable. Por este motivo, mas que preguntarse en que medida se ajusta el compor-tamiento simulado al comportamiento real del sistema, es mas adecuado preguntarse enque medida las diferencias entre el modelo y el sistema son lo suficientemente significativascomo para afectar a las conclusiones derivadas del uso del modelo.

    jose contrerasResaltado

    jose contrerasResaltado

  • TEMA 2. PASOS EN UN ESTUDIO DE SIMULACION 17

    2.8. Experimentacion y analisis de los resultados

    La planificacion del experimento y el analisis de los resultados requieren la aplicacionde conocimientos estadsticos. El metodo experimental y el analisis estadstico a aplicardependen del tipo de simulacion: con terminacion o sin terminacion. El tipo de simulacion(con o sin terminacion) depende fundamentalmente del objetivo del estudio, mas que de lanaturaleza en s del sistema. A continuacion se definen estos conceptos:

    La simulacion se dice que tiene terminacion cuando existe un evento que senala de formanatural el final de la misma. La finalidad es estudiar el comportamiento del sistemacuando este evoluciona, partiendo se unas determinadas condiciones iniciales, hastaque se satisface determinada condicion de finalizacion.

    Por el contrario, se dice que la simulacion es sin terminacion cuando no existe un eventoque de manera natural marque el final de la misma. La finalidad de este tipo de estudioses analizar el comportamiento del sistema una vez este ha adquirido un regimen defuncionamiento independiente de las condiciones iniciales de la simulacion, es decir, elestado estacionario.

    Puesto que la salida de un modelo de simulacion es una muestra de datos de su comporta-miento, pueden aplicarse los conceptos de inferencia estadstica de muestras. Sin embargo,la mayora de los tests estadsticos requieren que los datos de la muestra sean indepen-dientes entre s, es decir, no esten correlacionados. Frecuentemente los datos obtenidosde la simulacion de los modelos no cumplen esta condicion, con lo cual deben aplicarseciertos procedimientos antes de poder extraer conclusiones validas. Respecto al tamano de lamuestra (duracion de la simulacion o numero de replicas), este debe ser lo suficientementegrande como para proporcionar el nivel de confianza necesario en la estimacion de la medidadel comportamiento.

    2.9. Documentacion e implementacion

    Llegado este punto, ya se han completado todos los pasos del diseno y desarrollo delmodelo, ejecucion de la simulacion, as como del analisis de los resultados. Los elementosfinales del estudio de simulacion son la implementacion y la documentacion. No se puedeconsiderar que un proyecto de simulacion se ha completado con exito hasta que los resultadosobtenidos no han sido entendidos, aceptados y usados. Las conclusiones del estudio debenser documentadas de manera clara, concisa y convincente, debiendose abordar todos aquellosaspectos que el cliente considera importantes. De otra forma, difcilmente seran aplicadas,con lo cual el proyecto sera un fracaso. La presentacion de los resultados es una parte delestudio tan crtica como las demas, y merece el mismo cuidado en su planificacion y diseno.

    Ademas de los resultados del estudio, debe documentarse el desarrollo y operacion delmodelo. Esto puede contribuir a aumentar considerablemente su vida util, as como au-mentar la probabilidad de que recomendaciones basadas en el sean aceptadas. Una buenadocumentacion facilita las modificaciones y asegura que el modelo puede ser usado o algunasde sus partes reutilizadas, aun si no estan presentes sus desarrolladores.

    EJERCICIOS

    2.1 Plantee un posible estudio de simulacion del sistema siguiente: una gasolinera, con va-rios surtidores, atendida por varios empleados. En particular, responda a las cuestionessiguientes:

    Cuales son las preguntas a responder? Que recursos preve que necesitara para llevar a cabo el estudio? Sugiera unmetodo adecuado de recogida de datos experimentales, justifquelo y describa comolo ejecutara.

    jose contrerasResaltado

    jose contrerasResaltado

    jose contrerasResaltado

    jose contrerasResaltado

  • 18 Alfonso Urqua SIMULACION - Texto Base de Teora

    Que medidas del comportamiento del sistema son de interes? Que aspectos de la realidad constituyen el sistema bajo estudio? Cuales son las variables de entrada del modelo? De que tipo es cada una: aleatoriao determinista?

    Describa las hipotesis de modelado. Realice un diseno preliminar del experimento.

    2.2 Plantee un posible estudio de simulacion del sistema siguiente: la interseccion de variascalles, que se encuentra regulada por semaforos. Conteste a las cuestiones planteadasen el Problema 2.1.

    2.3 Plantee un posible estudio de simulacion 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 simulacion

    19

  • Tema 3

    Metodo de Monte Carlo

    NOTA IMPORTANTE: Este temaNO SE EXIGIRA EN EL EXAMEN durante el presente

    curso academico, si bien se recomienda su lectura. Por este motivo, no se

    plantean objetivos docentes del tema, ni tampoco se proponen problemas.

    3.1. Introduccion

    Bajo el nombre generico de simulaciones de Monte Carlo suelen englobarse todas lassimulaciones que emplean numeros aleatorios para resolver problemas estaticos, es decir,problemas en los cuales el tiempo no juega un papel relevante.

    El termino Monte Carlo proviene del nombre en clave de un trabajo secreto en el que vonNeumann y Ulam emplearon esta tecnica matematica (que ya era conocida anteriormente).Este trabajo se realizo en Los Alamos, durante el conocido proyecto para la fabricacion de labomba atomica.

    En esta tecnica se generan artificialmente datos mediante el uso de un generador de nume-ros aleatorios y la funcion de probabilidad de interes. El generador de numeros aleatorios seemplea para generar variables aleatorias distribuidas uniformemente en el intervalo [0, 1]. Lafuncion de probabilidad a muestrear puede ser una distribucion teorica (normal, exponencial,etc.) o puede ser emprica, es decir, puede estar basada en observaciones del sistema real.

    La tecnica de Monte Carlo se emplea no solo para simular sistemas estocasticos, sinotambien para resolver problemas completamente deterministas (tpicamente aquellos que nopueden ser resueltos analticamente).

    A continuacion se discuten algunos ejemplos de aplicacion de la tecnica:

    La estimacion del valor del numero pi, mediante la simulacion del experimento de laaguja de Buffon.

    La estimacion de la probabilidad que hay de ganar un juego solitario de cartas. El calculo de la una integral definida del tipo I = ba g(x) dx, donde g (x) es una funcionreal monovaluada. Es conveniente aclarar que, en aquellos casos en que el integrandog (x) tiene buen comportamiento (es decir, ni la funcion ni sus derivadas presentandiscontinuidades), suele ser preferible emplear otros metodos numericos de integraciona emplear el metodo de Monte Carlo.

    21

  • 22 Alfonso Urqua SIMULACION - Texto Base de Teora

    Figura 3.1: Retrato de G. L. Leclerc, Conde de Buffon, en un sello frances.

    3.2. Estimacion del valor del numero pi

    Alrededor de 1733, George Louis Leclerc (su retrato se muestra en la Figura 3.1), descri-bio un experimento para estimar el valor del numero pi. Si se lanza una aguja de longitud lsobre una mesa pintada con lneas paralelas, con un espaciado entre ellas d (donde d l),entonces la probabilidad de que la aguja corte una lnea es:

    p =2 lpi d (3.1)

    Puede, por tanto, plantearse el siguiente experimento para estimar el numero1 pi:

    1. Conseguir una aguja y pintar las lneas sobre la mesa.

    2. Decidir cuantas veces va a lanzarse la aguja. Sea N el numero 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 lneas, incrementar el contador en uno. Si la aguja

    no cruza ninguna lnea, el contador no vara.

    5. Calcular la proporcion de veces que la aguja ha cruzado alguna lnea:

    p =valor final del contador

    N(3.2)

    6. Si p > 0, entonces estimar el numero pi de la forma siguiente:

    pi =2 lp d (3.3)

    Como vemos, el experimento de la aguja de Buffon es un ejemplo de metodo de Monte Car-lo, ya que se estan empleando numeros aleatorios para estimar el valor de cierta propiedad.

    Para simular mediante el ordenador este experimento, debemos ser capaces de situar laposicion de la aguja aleatoriamente entre las lneas paralelas. Cuando se realiza el experi-mento fsicamente, esto no constituye un problema, ya que simplemente lanzamos la aguja,vemos donde a cado y anotamos si corta alguna lnea 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. METODO DE MONTE CARLO 23

    a

    dm

    a

    dm

    Figura 3.2: Experimento de la aguja de Buffon.

    Para determinar la posicion de la aguja de manera unvoca, basta con conocer dos datos:la posicion en la mesa de algun punto determinado de la aguja, por ejemplo de su centro, m,y el angulo que forma la aguja respecto a las lneas paralelas, .

    A partir de las siguientes dos consideraciones, puede obtenerse un procedimiento paradeterminar si la aguja corta alguna lnea:

    Una vez fijada la posicion del punto medio de la aguja, m, debe determinarse cual de lasdos lneas es la mas cercana a este punto medio. Sea a la distancia entre el punto mediode la aguja y la lnea mas cercana. Esta distancia a es una variable aleatoria distribuidauniformemente en el intervalo

    [0, d2

    ].

    Debido a la simetra, el angulo que forma la aguja respecto a las lneas paralelas, , esuna variable aleatoria distribuida uniformemente en el intervalo [0, pi].

    Una vez obtenidos los valores de a y , puede seguirse el siguiente procedimiento paradecidir si la aguja toca o intersecta la lnea mas proxima al centro de la aguja (ver Figura 3.2):

    Si a l2 sin (), entonces la aguja toca o corta la lnea. Si a > l2 sin (), entonces la aguja ni toca ni corta la lnea.Las muestras aleatorias a y pueden obtenerse a partir de numeros seudo aleatorios, u1

    y u2, de la forma siguiente:

    a =d

    2 u1 (3.4)

    = pi u2 (3.5)

    donde u1 y u2 son observaciones de una variable aleatoria uniformemente distribuida en elintervalo [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 numero de veces que la aguja corta o tocala lnea y del numero de lanzamientos respectivamente.

    Paso 2: Seleccionar l y d. Seleccionar Ntotal , que es el numero total de lanzamientos de laaguja.

    Paso 3: Generar dos numeros seudo aleatorios, u1 y u2.

    Paso 4: Calcular a y , empleando las Ecuaciones (3.4) y (3.5).

    Paso 5: Si a > l2 sin () , entonces saltar al Paso 7.Paso 6: Incrementar Ncorta.

    Paso 7: Incrementar n.

  • 24 Alfonso Urqua SIMULACION - Texto Base de Teora

    Paso 8: Si n > Ntotal, entonces ir al Paso 9. En caso contrario, ir al Paso 3.

    Paso 9: Calcular e imprimir el resultado:

    pi =2 l

    NcortaNtotal

    d (3.6)

    Este algoritmo puede programarse usando cualquier lenguaje de programacion. Por ejem-plo, ejecutando el programa con las siguientes entradas: l = 10, d = 20 y Ntotal = 3000,y empleando una determinada secuencia de numeros aleatorios, se obtiene la siguienteestimacion de la probabilidad de que la aguja toque o corte una lnea :

    p =NcortaNtotal

    = 0.3133 (3.7)

    Para determinar la precision de esta estimacion, debe construirse un intervalo de con-fianza. Cada lanzamiento de la aguja es un experimento de Bernoulli. Puede considerarseque el numero de aciertos es Ncorta y el numero de intentos es Ntotal. As pues, p =

    NcortaNtotal

    esun estimador del parametro binomial p: la probabilidad de exito. En el Apendice A se indicacomo construir el intervalo de confianza para la proporcion de una distribucion binomial. Seobtiene el siguiente intervalo de confianza del 95%:

    Prob

    p z0.975

    p (1 p)Ntotal

    p p+ z0.975 p (1 p)Ntotal

    = 0.95 (3.8)

    Sustituyendo los valores obtenidos en la simulacion, y teniendo en cuenta que z0.975 = 1.96(ver la ultima 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 pi se calcula teniendo en cuenta que:

    pi =2 lp d =

    2 10p 20 =

    1

    p(3.10)

    Se obtiene el siguiente intervalo de confianza del 95%:

    Prob {3.031 pi 3.3704} = 0.95 (3.11)

    Este experimento es muy simple, pero hay algunos aspectos de el que son comunes a lamayora de las simulaciones:

    El proposito es estimar algo (en este caso, el numero pi) cuyo valor es difcil calcularexactamente (al menos as era en el ano 1733).

    El valor estimado que se obtiene del estudio de simulacion no es exactamente correc-to: existe un cierto error asociado a la estimacion y resulta conveniente obtener unaestimacion de la magnitud de este error.

    Parece intuitivo que cuantos mas lanzamientos de la aguja se hagan, menor sera el errorcometido y, por tanto, mejor sera la estimacion del numero pi.

    De hecho, en lugar de decidir de antemano el numero total de lanzamientos que se van arealizar, puede procederse de manera iterativa: se sigue lanzando la aguja hasta que seconsidere que el error cometido en la estimacion (la longitud del intervalo de confianza)es lo suficientemente pequeno.

  • TEMA 3. METODO DE MONTE CARLO 25

    3.3. Probabilidad de ganar un juego solitario de cartas

    Supongamos que se desea determinar cual es la probabilidad de ganar un juego solitariode cartas. Entendemos por un solitario un juego en el cual se emplea una baraja de 52cartas y que tiene una estrategia fija.

    Una aproximacion razonable al problema es considerar que las 52! posibles ordenacionesde las cartas de la baraja son igualmente probables y calcular cuantas de ellas hacen que eljugador gane la partida.

    Dado que no existe un metodo sistematico de determinar el numero de combinacionesganadoras mas que ir probandolas una a una, y puesto que 52! es un numero extraordina-riamente grande, aparentemente el calculo de la probabilidad de ganar el solitario parece unproblema matematicamente intratable.

    Un metodo alternativo de abordar el problema es mediante simulacion. Despues de jugarn partidas, si definimos:

    Xi =

    {1 si la partida i resulta en victoria0 en cualquier otro caso

    (3.12)

    para i : 1, ..., n, entonces Xi son variables aleatorias independientes de Bernoulli, para lascuales:

    E {Xi} = Prob {Ganar la partida de solitario} (3.13)

    Por la Ley de los Grandes Numeros,

    ni:1

    Xi

    n=

    numero de partidas ganadas

    numero de partidas jugadas(3.14)

    convergera con probabilidad 1 a

    Prob {Ganar la partida de solitario} (3.15)

    Es decir, jugando un numero elevado de veces, podemos usar la proporcion de partidasganadas para estimar la probabilidad de ganar el juego del solitario.

    Para estudiar el problema del solitario, necesitamos disenar un programa para jugar eljuego a partir de una determinada ordenacion de las cartas. La ordenacion inicial de lascartas en cada partida debe ser aleatoria, y debemos obtenerla de modo que las 52! posiblesordenacion sean equiprobables. A continuacion, se describe un algoritmo que permite obtenerla ordenacion inicial aleatoria empleando unicamente numeros aleatorios. 2

    El algoritmo comienza escogiendo aleatoriamente una carta y poniendola en la posicionn. Seguidamente, escoge aleatoriamente entre las n 1 cartas restantes y la pone en laposicion n 1; y as sucesivamente. Una forma eficiente de escoger entre las cartas restanteses mantener estos elementos en una lista ordenada y escoger la posicion en la lista.

    Para implementar el algoritmo es preciso generar una variable aleatoria uniforme discretacon rango {1, 2, ..., k}. Se pueden obtener observaciones de esta variable aleatoria discreta apartir de numeros 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 mas eficiente para generar permutaciones de numeros enteros en (Ross 1994).

  • 26 Alfonso Urqua SIMULACION - Texto Base de Teora

    3.4. Calculo de integrales definidas

    Empleando la tecnica de Monte Carlo, se pretende estimar el valor de una integral definida,

    I = bag(x) dx , donde g (x) es una funcion 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 esta distribuida uniformemente en el intervalo [a, b] . La densidadde probabilidad de X es:

    fX(x) =1

    b a (3.18)

    Como se demuestra a continuacion, el valor esperado de la variable Y , Y , es igual al valorde la integral definida que se desea calcular, I:

    Y = E {(b a) g (X)} (3.19)= (b a) E {g (X)}

    = (b a) ba

    g (x) fX (x) dx

    = (b a) bag (x) dx(b a)

    = I

    As pues, el problema de evaluar la integral definida I se ha reducido a estimar el valoresperado de la variable aleatoria Y . En particular, Y puede estimarse calculando la mediade cierto numero n de observaciones independientes de Y , y1, . . . , yn, de la manera siguiente:

    Y (n) =

    ni=1

    yi

    n= (b a)

    ni=1

    g (xi)

    n(3.20)

    donde xi son observaciones independientes de una variable aleatoria X, que esta distribuidauniformemente en el intervalo [a, b]. Puede demostrarse que (ver Apendice A):

    E{Y (n)

    }= Y (3.21)

    Var{Y (n)

    }=2Yn

    limn

    Var{Y (n)

    }= 0 (3.22)

    La tecnica es extensible al calculo de integrales del tipo:

    I =

    0

    g(x) dx (3.23)

    Para ello, puede realizarse el siguiente cambio de variable:

    x1 =1

    x+ 1 dx1 = dx

    (x+ 1)2 = x21 dx (3.24)

  • TEMA 3. METODO DE MONTE CARLO 27

    1.8

    1.9

    2.0

    2.1

    2.2

    2.3

    10 50 100 500 1000

    E(Y

    )(n)

    Tamao de Muestra, n

    Figura 3.3: Boxplots de los resultados de la simulacion.

    Sustituyendo en la integral, se obtiene:

    I =

    0

    g(x) dx = 10

    g(

    1x1 1

    )x21

    dx1 (3.25)

    Ejemplo de aplicacion

    Como ejemplo, para ilustrar la aplicacion de la tecnica anteriormente descrita, suponga-mos que se desea estimar el valor de la integral definida siguiente:

    I =

    pi0

    sin(x) dx (3.26)

    Se ha escogido una integral que posee primitiva analtica, cos (x), a fin de comparar elresultado obtenido aplicando la tecnica de Monte Carlo con el resultado analtico exacto, quees I = 2.

    En el Anexo situado al final de este Tema, se muestra un programa escrito en C querealiza la simulacion. La librera stdlib.h, disponible en el sistema UNIX y en ANSI C, contienela funcion3 , int rand(void), destinada a la generacion de numeros enteros uniformementedistribuidos en el intervalo

    [0, 215 1]. Dividiendo rand( ) por 32767 se obtiene un numero

    seudo aleatorio (es decir, una observacion de una variable aleatoria distribuida U (0, 1)).

    A fin de analizar, por una parte como depende el valor estimado de I del tamano de lamuestra, n , y por otra parte la variabilidad de los resultados obtenidos, se realizan 5 replicas

    3 Segun se indica en el manual de referencia de la librera, el algoritmo de la funcion rand es un generadorde numeros seudo aleatorios multiplicativo congruente de periodo 232. Da como resultado un numero enterocomprendido entre cero y RAND MAX. La constante simbolica RAND MAX, definida en stdlib.h, vale 215 1 = 32767.

  • 28 Alfonso Urqua SIMULACION - Texto Base de Teora

    independientes de la simulacion para cada uno de los siguientes 5 tamanos 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 = 1000Replica 1 1.980 1.832 2.021 1.958 2.001Replica 2 2.302 1.845 1.799 1.971 1.993Replica 3 2.286 1.926 1.801 1.999 1.998Replica 4 2.371 1.867 1.926 1.943 1.937Replica 5 2.300 1.968 1.916 1.975 2.004

    La comparacion visual entre los boxplots de las diferentes alternativas resulta muy ex-plicativa4. En la Figura 3.3 se muestra la representacion mediante boxplots de las cincomedias muestrales (una por replica), para cada uno de los cinco valores de n. Al aumentarel tamano de muestra los resultados tienden hacia el valor verdadero y su variabilidaddisminuye. Una conclusion fundamental que debe extraerse de este ejemplo es que debenestablecerse criterios para determinar el tamano de muestra, n, que permita estimar I conuna determinada precision.

    ANEXO

    Programa de simulacion para la estimacion del

    valor de una integral definida

    #include #include #include #include #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_unif>1.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 Apendice A, al final del libro, se explica como se construye el boxplot de un conjunto de datos.

  • TEMA 3. METODO 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 E\n\t-------------\n\n");printf("Numero de muestras: %d\n",num_muestras);printf("Estima de la integral: %f\n",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 (contad

  • 30 Alfonso Urqua SIMULACION - Texto Base de Teora

  • Tema 4

    Modelado de sistemas de eventosdiscretos

    Objetivos: Una vez estudiado el contenido del tema y realizados los ejerciciospracticos, debera saber:

    Discutir y reconocer de que partes se compone la especificacion delmodelo y del experimento.

    Discutir las diferentes estrategias para la simulacion de modelos deeventos discretos.

    Discutir diferentes formalismos para el modelado de sistemas de eventosdiscretos.

    4.1. Introduccion

    Basicamente, la especificacion del modelo y del experimento consiste en definir:

    MODELO La estructura logica y los componentes del modelo. Los aspectos matematicos del modelo.

    EXPERIMENTO Las variables de entrada y de salida. Las condiciones iniciales del modelo. La condicion de finalizacion de la simulacion. Los aspectos numericos de la simulacion.

    La estructura logica y los componentes del modelo se definen sobre la base de las hipotesisde modelado (o aproximaciones de modelado, como se prefiera). En funcion de la finalidad delestudio de simulacion, se consideran relevantes para ese proposito especfico unos aspectosu otros del comportamiento del sistema, lo cual condiciona las hipotesis de modelado. Elambito de validez de las hipotesis de modelado define el marco experimental del modelo.

    Las variables de entrada y las condiciones iniciales determinan la forma en que el modeloes ejercitado durante la simulacion. Ademas, la condicion de finalizacion de la simulacion y laeleccion de que variables del modelo desean ser observadas (variables de salida), completanla definicion de que comportamientos del modelo desean ser estudiados en la simulacion.

    31

  • 32 Alfonso Urqua SIMULACION - Texto Base de Teora

    EL CLIENTE COMIENZA A

    SER ATENDIDO

    EVENTO: LLEGADA DE UN NUEVO CLIENTE

    No SiEMPLEADO LIBRE

    EL CLIENTE SE PONE A LA

    COLA EL PRIMER CLIENTE DE LA COLA COMIENZA A

    SER ATENDIDO

    EVENTO: FIN DE

    SERVICIO

    No SiCOLA 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 especificacion del experimento. Tambien es parte del experimentola especificacion de que metodos numericos van a emplearse para simular el modelo.

    4.2. Estructura logica del modelo

    A continuacion se muestra un ejemplo de la definicion de la estructura logica de un modelo.Consideremos una oficina de atencion al cliente en la que trabaja un unico empleado:

    Si llega un nuevo cliente y el empleado esta ocupado, el cliente se pone al final de unacola en espera de su turno. Si el empleado esta libre, el cliente es atendido inmediata-mente.

    Si el empleado termina de atender a un cliente, este se marcha y comienza a ser atendidoel primer cliente de la cola. Si la cola esta vaca, el empleado permanece desocupadohasta la llegada de un nuevo cliente.

    De su estructura logica se deduce que en el modelo hay dos tipos de sucesos o eventosque desencadenan sendas secuencias de acciones (ver Figura 4.1). Estos dos eventos son:

    La llegada de un nuevo cliente a la oficina. La finalizacion de la atencion a un cliente.

    4.3. Elementos del modelo

    Los modelos de tiempo discreto, en el contexto que nos ocupa, constan basicamente de lossiguientes 7 tipos de componentes: las entidades, sus atributos, las variables, los recursos,las colas, los contadores estadsticos y los eventos. A continuacion se describen brevemente.

  • TEMA 4. MODELADO DE SISTEMAS DE EVENTOS DISCRETOS 33

    Entidades

    Las entidades son objetos dinamicos en la simulacion, que son creados y se mueven porel sistema, cambiando el valor de sus atributos, afectados por otras entidades y por el estadodel sistema. Las entidades pueden abandonar el sistema o bien permanecer indefinidamentecirculando en el.

    En el ejemplo anterior de la oficina, existe un unico tipo de entidad: cliente. Cada clienteque se encuentra en la oficina es una realizacion (o instanciacion, como se prefiera) de este tipode entidad, que es creada a su llegada, circula a traves del sistema y es destruida cuando elcliente abandona la oficina. Si en el modelo se hubieran definido diferentes tipos de clientes,que requirieran procesos de atencion diferentes o a los que se asignara diferente prioridad,cada tipo de cliente se representara como un tipo diferente de entidad.

    Atributos

    Los atributos permiten individualizar cada instanciacion de una determinada clase deentidad. Al definir el tipo de entidad, se declaran sus atributos. Se pueden asignar valoresdiferentes a los atributos de cada instanciacion de la clase de entidad, lo cual permiteespecificar las caractersticas particulares de cada uno de ellos.

    Por ejemplo, algunos atributos que podran definirse para el tipo de entidad cliente son:la prioridad con que debe ser atendido o determinados datos personales, como son el nombrey los apellidos, la edad, la nacionalidad, etc. En general, el valor de los atributos diferira


Recommended