Investigación Operativa I Facultad Ciencias Exactas. UNICEN Introducción a la Simulación Método Montecarlo Cursada 2015
Agenda Números aleatorios y pseudo-aleatorios Modelos Simulaciones Montecarlo Caso Práctico Aplicaciones Conclusiones
Números aleatorios Deben tener igual probabilidad de salir elegidos. No debe existir correlación serial Se generan por tablas (Rand 1955), o por dispositivos especiales: ruleta. En la práctica se utilizan algoritmos aritméticos, generándose números pseudoaleatorios.
Números Pseudo-aleatorios Sustituyen a los números aleatorios. Se generan por algoritmos o fórmulas. Se debe asegurar la existencia de secuencias uniformes, largas y densas. Los números generados deben ser estadísticamente independientes.
Números Pseudo aleatorios: Generación Centros cuadrados: 44 2 = 1936 93 Métodos Congruenciales: x n =(ax n-1 + c) (mod m Mersenne twister, 32 o 64 bits. Transformación Inversa: x=f -1 (x) siendo F(x)=Prob(X<=x) Distribución uniforme R x = F -1 (R) F(x) x
Sistema, Modelos y Simulación Inicio: Simulación: 1949 Metodo Montecarlo (Von Newmann y Ulam) Simulación (Shannon, 1975) Proceso de diseñar y desarrollar un modelo computarizado de un sistema o proceso y conducir experimentos con este modelo con el propósito de entender el comportamiento del sistema o evaluar varias estrategias con las cuales se puede operar el sistema Sistema Conjunto de objetos o de ideas que están relacionados entre si como una unidad para la consecución de un objetivo. Modelo Representación simplificada de un sistema SISTEMA OBSERVACIÓN MODELO
Modelo? Es una abstracción de la realidad. Es una representación de la realidad que ayuda a entender cómo funciona. Es una construcción intelectual y descriptiva de un sistema en el cual un observador tiene interés. Se construyen para ser transmitidos. Se emplean supuestos simples para capturar el comportamiento importante.
Modelo Un modelo es una abstracción de un sistema desarrollada para entender la realidad y en consecuencia modificarla. No es posible modificar la realidad, en cierta dirección, si es que no se dispone de un modelo que la interprete. Construir modelos es una ciencia y un arte!!
Para qué sirve un modelo? el modelo o la realidad? Ayuda para el pensamiento Herramienta de predicción Para entrenamiento e instrucción Ayuda para la experimentación Ayuda para la comunicación
Tipos de Modelos estocástico determinístico tiempo-continuo tiempo-discreto estático dinámico Estocástico. Uno o más parámetros aleatorios. Entradas fijas produce salidas diferentes Determinístico. Entradas fijas producen salidas fijas Estático. Estado del sistema como un punto en el tiempo Dinámico. Estado del sistema como cambios en el tiempo Tiempo-continuo. El modelo permite que los estados del sistema cambien en cualquier momento. Tiempo-discreto. Los cambios de estado del sistema se dan en momentos discretos del tiempo.
Simulación: Modelo y Proceso Modelo de simulación: conjunto de hipótesis acerca del funcionamiento del sistema expresado como relaciones matemáticas y/o lógicas entre los elementos del sistema. Proceso de simulación: ejecución computacional del modelo a través del tiempo para generar muestras representativas del comportamiento del sistema.
Simulación Sistema Actual salida(t) entrada(t) parámetros =?? entrada(t) Sistema Simulado salida(t)
Cuándo usamos Simulación? Se requiere analizar diferentes cambios en la información y su efecto. Se desea experimentar con diferentes diseños o políticas. Se desea verificar soluciones analíticas. Un modelo analítico es imposible o difícil de construir. Se desea estudiar un sistema real y resulta peligroso o costoso hacerlo en el propio sistema real. El sistema a estudiar no existe. En Gestión para los casos dewhat-if.
Terminología para la Simulación Entidad: objeto de interés en el sistema. Atributos. descriptor de las características de una entidad. Estado de un sistema colección de variables que define el sistema en cualquier tiempo. Actividad: conjunto predefinido de acciones en un tiempo determinado. Evento: cambio instantáneo que puede ser asociada con modificación en el estado del sistema. Ambiente del sistema: región del sistema que se está estudiando.
Terminología de Simulación (Cont.) El valor de un atributo puede variar o no en el tiempo: atributos variables o no variables.. Ejemplos de atributos variables son: El número de ensambles en una cola El estado de una máquina (su utilización) El tiempo de término de un ensamble Si el doctor está ocupado o no Ejemplos de atributos no variables son: La ruta de una pieza La secuencia de procedimientos a ejecutar en un paciente con un conjunto particular de síntomas.
Sistema Línea de Ensamble Entidades 1.Trabajadores 2. Máquinas 3. Estaciones 4. Ensambles Atributos a. Estado [Ocioso(0) o Ocupado(1)] b. Asignada a estación (1,2,3,...) a. Estado [Ocioso(0), ocupado(1), espera reparación(2), reparación(3), en preparación(4)] b. Edad c. Tiempo de procesamiento a. Número en la cola (0,1,2,...) a. Fecha programada b. Ubicación
Sistema Hospital Entidades 1. Doctores 2.Enfermeras 3. Recursos 4. Pacientes Atributos a. Ubicación b. Estado c. Especialidad a. Ubicación b. Estado c. Especialidad a. Estado b. Tipo a. Ubicación b. Condiciones c. Tratamiento proyectado
Algunos Métodos desimulación Eventos discretos Se define el modelo cuyo comportamiento varía en instantes del tiempo dados. Los momentos en los que se producen los cambios son los que se identifican como los eventos del sistema o simulación. Montecarlo o simulación estadística Está basada en el muestreo sistemático de variables aleatorias. Continuas: Los estados del sistema cambian continuamente su valor. Estas simulaciones se modelan generalmente con ecuaciones diferenciales. Autómatascelulares: Se aplica a casos complejos, en los que se divide al comportamiento del sistema en subsistemas más pequeños denominadas células. El resultado de la simulación está dado por la interacción de las diversas células.
Sub-áreas de una Simulación Diseño del Modelo Modelos declarativos Modelos Funcionales Modelos de restricciones Modelos espaciales Algoritmos Aplicaciones Verificación Ejecución del Modelo Análisis de la ejecución Análisis inputoutput Diseño experimental Técnicas respuesta sup Visualización datos Validación
Proceso de Simulación : Etapas Definición, descripción del problema. Plan. Formulación del modelo. Programación. Validación del modelo. Diseño de experimentos y plan de corridas. Análisis de resultados
Etapas de la simulación Formular el problema NO Reunir datos y elaborar el modelo Programar el modelo CREACION DEL MODELO O SIMULADOR NO Está validada? SI SI Está verificada? Diseñar el experimento Desarrollar corridas Analizar los datos obtenidos NO Está completa? SI Documentar y poner en práctica USO DEL MODELO O SIMULA DOR
Simulación: Ventajas Es un proceso relativamente eficiente y flexible. Puede ser usada para analizar y sintetizar una situación real compleja y extensa. En algunos casos la simulación es el único método disponible. Los directivos requieren conocer como se avanza y que opciones son atractivas; el directivo con la ayuda la simulación puede obtener varias opciones de decisión. La simulación no interfiere en sistemas del mundo real. La simulación permite estudiar los efectos interactivos de los componentes individuales o variables para determinar las más importantes. La simulación permite la inclusión de complicaciones del mundo real y realizar comparaciones entre distintos escenarios y/ alternativas posibles.
Simulación: Desventajas Un buen modelo de simulación puede resultar bastante costoso; a menudo el proceso de desarrollar un modelo es largo y complicado. La simulación no genera soluciones óptimas a problemas de análisis cuantitativos, en técnicas como cantidad económica de pedido, programación lineal o PERT. Por ensayo y error se producen diferentes resultados en repetidas corridas en el computador. Los directivos generan todas las condiciones y restricciones para analizar las soluciones. El modelo de simulación no produce respuestas por si mismo. Cada modelo de simulación es único. Las soluciones e inferencias no son usualmente transferibles a otros problemas. Siempre quedarán variables por fuera y esas variables (si hay mala suerte) pueden cambiar completamente los resultados en la vida real que la simulación no previó... en ingeniería se "minimizan riesgos, no se evitan".
Lenguajes de Simulación Simulación Continua: 1130/CSMP, 360 CSMP y DYNAMO, MISTRAL Simulación a Eventos Discretos: GPSS, SIMSCRIPT, SDL/SIM. Para casos simples podemos recurrir a la utilización de planillas de cálculo. También podemos implementar aplicaciones en los lenguajes Fortran, C++, Java, Dephi,...
Lenguajes de Simulación vs lenguajes de Programación?
Por qué Simulación en Investigación Operativa? Los responsables de la toma de decisiones necesitan información cuantificable, sobre en diferentes hechos que puedan ocurrir. La simulación constituye una técnica económica que permite ofrecer varios escenarios posibles de un modelo del negocio. La simulación es una rama experimental dentro de la Investigación Operativa.
Método Montecarlo Surge en 1940, para verificar el comportamiento de los electrones y su difusión. El primer trabajo con el nombre Montecarlo method es de Von Neumann y Ulam, en 1949. Metodología para realizar simulaciones basada en muestras aleatorias. Se aplica a casos probabilísticos o determinísticos.
Algoritmo Montecarlo Determinar la/s V.A. y sus distribuciones acumuladas(f) Generar un número aleatorio uniforme (0,1). Determinar el valor de la V.A. para el número aleatorio generado. Iterar N veces o hasta converger. Calcular media y desviación estándar La convergencia se logra cuando el error e e = Media real - Media simulada α, α es parámetro
Algoritmo Montecarlo II Diseñar el modelo lógico de decisión Especificar distribuciones de probabilidad para las variables aleatorias relevantes. Incluir posibles dependencias entre variables. Muestrear valores de las variables aleatorias Calcular el resultado del modelo según los valores del muestreo (iteración) y registrar el resultado Repetir el proceso hasta tener una muestra estadísticamente representativa( o converger) Obtener la distribución de frecuencias del resultado de las iteraciones Calcular media, desvío
Ejemplo Número de consultas a un servidor de EIS
Ejemplo continuación La VA es la cantidad de consultas al servidor [0,00, 0,05) para el suceso 0 [0,05, 0,15) para el suceso 1 [0,15, 0,35) para el suceso 2 [0,35, 0,65) para el suceso 3 [0,65, 0,85) para el suceso 4 [0,85, 1,00) para el suceso 5
Ejemplo continuación
Ejemplo continuación ALEATORIO() BUSCARV
Ejemplo continuación PROMEDIO(H1:Hn) Analíticamente, si quisiéramos saber el número promedio de visitas calcularíamos:
Cálculo aproximado de π Inscribir un circulo en un cuadrado de lado 2. El radio del circulo será 1. El área del cuarto de círculo inscrito en el cuadrante positivo es igual a π /4. -1 Y 1 1 X Contaremos los puntos que caen en este cuarto del circulo -1
Cálculo aproximado de π Sorteamos un par de puntos (x, y) entre 0 y 1. Contamos cuantos puntos caen dentro del área del cuarto de círculo (In). Sabemos que six 2 +y 2 1el punto está adentro Repetimos ese procedimiento N veces. El valor estimado del área que queremos hallar es In/N ~ π /4 π~4*in/n. Para este caso Montecarlo es lento y poco preciso, es simplemente es un ejemplo del procedimiento.
Caso Práctico Utilizaremos Montecarlo Puro. Supongamos la siguiente distribución de probabilidades para la V.A. Demanda Frecuencia Acumulada Unidades 0,10 0,10 42,00 0,20 0,30 45,00 0,40 0,70 48,00 0,20 0,90 51,00 0,10 1,00 54,00 Realizaremos varias iteraciones, calcularemos media, desviación y error.también histograma.
Caso Práctico Transformación del N Aleatorio generado en el valor de la V.A.
Caso Práctico Resumen de las iteraciones Cantidad de simulaciones Media Desvio Error 10 48,60 3,41 1,08 100 48,12 3,16 0,32 1000 47,87 3,28 0,10 10000 47,87 3,30 0,03
Áreas de Aplicación Diseño de reactores nucleares Evolución estelar Física de materiales Métodos cuantitativos de organización industrial Teoría de Colas Criptografía Diseño de VLSI Ecología Econometría Pronóstico del índice de la Bolsa de valores Inventarios
Para recordar!!! Puntos importantes del método Montecarlo: Orden de aparición de los elementos en la simulación Cantidad de iteraciones para lograr la convergencia Método económico con buenos resultados para realizar simulaciones, de fácil comprensión. Es una técnica para generar distintos escenarios. No es una técnica de Optimización
Preguntas???
Referencias 1) A brief overview of what the Monte-Carlo method is and does. http://www.physics.gla.ac.uk/~donnelly/files/montecarlo/ 2) Arsham H. System Simulation: The Shortest Route to Applications. http://home.ubalt.edu/ntsbarsh/business-stat/simulation/sim.htm. 3) Barreto H. and Howland F. Introductory Econometrics via Monte Carlo Simulation with Microsoft Excel. http://www.wabash.edu/econometrics 4) Bong D. Monte Carlo Simulation. http://www.visionengineer.com/mech/monte_carlo_simulation.shtml. 5) Bustamante A. Evaluación de riesgos mediante simulación Monte Carlo. http://www.cema.edu.ar/~alebus/riesgo/montecarlo.ppt 6) Deutsch, Leuangthong, Nguyen, Norrena, Ortiz, Oz, Pyrcz, and Zanon. Principles of Monte Carlo Simulation. http://www.ualberta.ca/~cdeutsch/mcs-course.htm 7) Eppen G., Gould F., Schmidt C., Mootre J., y Weatetherford L. Investigación de Operaciones en la Ciencia Administrativa. Editorial Prentice Hall. 5 Edición. 2000. 8) Hillier F, Lieberman G. Introducción a la Investigación de Operaciones. McGraw-Hill Editores. 1997. 9) Impact of Monte Carlo methods on scientific research. http://www.csm.ornl.gov/ssiexpo/mchist.html 10) Introduction to Monte Carlo Methods. http://csep1.phy.ornl.gov/mc/mc.html
Referencias 11) Monte Carlo Simulation of Stochastic Processes. http://www.pucrio.br/marco.ind/sim_stoc_proc.html 12) Padilla Shannon Ho. Monte Carlo Method. http://www.ccs.uky.edu/~douglas/classes/cs521-01/montecarlo/montecarlomethod2.ppt 13) Quasi Monte Carlo Simulation. http://www.puc-rio.br/marco.ind/quasi_mc.html 14) Real options with Monte Carlo Simulations. http://www.puc-rio.br/marco.ind/montecarlo.html 15) Silvestre, Moreno, Toscana y Luis. Curso de Simulación Monte Carlo. III Encuentro Nacional de docentes de Investigación Operativa. Facultad de Cs. Económicas. Universidad Nacional delcentrodelaprovinciadebuenosaires.1990 16) Simulación. Introducción a la investigación de Operaciones. Facultad de Ingeniería. UDELAR. http://www.fing.edu.uy/inco/cursos/io/archivos/teorico/simulacion.pdf 17) H. Investigación de Operaciones una introducción. Editorial Prentice Hall. 6 edición. 1998. 18) Técnicas de Monte Carlo. http://mural.uv.es/juanama/astronomia/montecarlo.htm 19) WWW VIRTUAL LIBRARY: RANDOM NUMBERS and MONTE CARLO METHODS SUBSECTION: MONTE CARLO METHODS. http://random.mat.sbg.ac.at/links/monte.html 20) Woller J. Basics of Monte Carlo Simulations. Univ. of Nebraska-Lincoln http://www.chem.unl.edu/zeng/joy/mclab/mcintro.html.