S.E.P.
S.N.E.S.T.
D.G.E.S.T.
S.E.V.
INSTITUTO TECNOLÓGICO SUSPERIOR DE LAS CHOAPAS.
INGENIERÍA INDUSTRIAL NOMBRE DE LA MATERIA:
Simulación CATEDRATICO:
Ing. Raúl Ramos Urgell
NOMBRE DEL ALUMNO(A):
Nelsi De La Cruz Jiménez INVESTIGACIÓN
Unidad 3.- Construcción de modelos de simulación. 6° “A“
FECHA DE ENTREGA: Abril ,24 de2017
Índice Introducción ....................................................................................................................................... 1 Unidad 3.- Construcción de modelos de simulación................................................................... 2 3.1.- Metodología general de la simulación. ............................................................................ 2 3.2.- Ejemplo de una simulación tipo Montecarlo, en hoja de cálculo. ................................ 4 3.2.1.- Descripción y conceptualización de la simulación, establecer el problema, especificación del objetivo (s), definición de indicadores, simulación y determinación de la muestra. ......................................................................................................................... 18 3.2.2.- Caracterización de cada indicador: Agrupamiento de datos, gráficos y estimación de parámetros. .................................................................................................... 27 3.2.4.- Establecer el efecto sobre la variabilidad de un estimador tiene el tamaño de la simulación. ............................................................................................................................... 28 3.3.- Definiciones: Replica, corrida, estado transitorio, estado estable, condiciones iniciales, reloj de la simulación. ................................................................................................ 30 3.4.- Inicio del proyecto final de simulación. Formación de equipos de estudiantes para proyecto final de simulación; atendiendo a los lineamientos: guía para la elaboración de la monografía del proyecto. ...................................................................................................... 36 Conclusión ....................................................................................................................................... 37 Bibliografía ....................................................................................................................................... 37
Introducción
En el presente trabajo trataremos sobre las etapas que son útiles para la elaboración de un modelo de simulación, con base a esto conoceremos conceptos fundamentales a cerca del tema y cómo podemos aplicarlas como ingenieros. Conoceremos diversos tipos de indicadores y como estos se componen, esto para poder hacer un análisis sobre lo estudiado y llegar al mejor resultado.
1
Unidad 3.- Construcción de modelos de simulación. 3.1.- Metodología general de la simulación.
Formulación del modelo
Una vez definidos con exactitud los resultados que se esperan obtener del estudio, se define y construye el modelo con el cual se obtendrán los resultados deseados. En la formulación del modelo es necesario definir todas las variables que forman parte de él, sus relaciones lógicas y los diagramas de flujo que describan en forma completa el modelo.
Colección de datos
Es importante que se definan con claridad y exactitud los datos que el modelo va a requerir para producir los resultados deseados.
Implementación del modelo con la computadora
Con el modelo definido, el siguiente paso es decidir si se utiliza algún lenguaje como el fortran,lisp,etc..., o se utiliza algun paquete como Vensim,Stella e iThink, GPSS,Simula,Simscript,Rockwell Arena, etc..., para procesarlo en la computadora y obtener los resultados deseados.
Validación
A través de esta etapa es posible detallar deficiencias en la formulación del modelo o en los datos alimentados al modelo. Las formas más comunes de validar un modelo son:
1. La opinión de expertos sobre los resultados de la simulación. 2. La exactitud con que se predicen datos históricos. 3. La exactitud en la predicción del futuro. 4. La comprobación de falla del modelo de simulación al utilizar datos que hacen fallar al sistema real. 5. La aceptación y confianza en el modelo de la persona que hará uso de los resultados que arroje el experimento de simulación.
2
Experimentación
Se realiza después de que el modelo haya sido validado, consiste en generar los datos deseados y en realizar un análisis de sensibilidad de los índices requeridos.
Interpretación
Se interpretan los resultados que arroja la simulación y con base a esto se toma una decisión. Es obvio que los resultados que se obtienen de un estudio de simulación ayudan a soportar decisiones del tipo semi-estructurado.
Documentación
Dos tipos de documentación son requeridos para hacer un mejor uso del modelo de simulación. La primera se refiere a la documentación del tipo técnico y la segunda se refiere al manual del usuario, con el cual se facilita la interacción y el uso del modelo desarrollado.
3
3.2.- Ejemplo de una simulación tipo Montecarlo, en hoja de cálculo. La simulación de Monte Carlo es una técnica que combina conceptos estadísticos (muestreo aleatorio) con la capacidad que tienen los ordenadores para generar números pseudo-aleatorios y automatizar cálculos. Los orígenes de esta técnica están ligados al trabajo desarrollado por Stan Ulam y John Von Neumann a finales de los 40 en el laboratorio de Los Alamos, cuando investigaban el movimiento aleatorio de los neutrones [W1]. En años posteriores, la simulación de Monte Carlo se ha venido aplicando a una infinidad de ámbitos como alternativa a los modelos matemáticos exactos o incluso como único medio de estimar soluciones para problemas complejos. Así, en la actualidad es posible encontrar modelos que hacen uso de simulación Monte Carlo en las áreas informática, empresarial, económica, industrial e incluso social [5, 8]. En otras palabras, la simulación de Monte Carlo está presente en todos aquellos ámbitos en los que el comportamiento aleatorio o probabilístico desempeña un papel fundamental -precisamente, el nombre de Monte Carlo proviene de la famosa ciudad de Mónaco, donde abundan los casinos de juego y donde el azar, la probabilidad y el comportamiento aleatorio conforman todo un estilo de vida. Son muchos los autores que han apostado por utilizar hojas de cálculo para realizar simulación Monte Carlo [1, 6, 7]. La potencia de las hojas de cálculo reside en su universalidad, en su facilidad de uso, en su capacidad para recalcular valores y, sobre todo, en las posibilidades que ofrece con respecto al análisis de escenarios (“what-if anaylisis”). Las últimas versiones de Excel incorporan, además, un lenguaje de programación propio, el Visual Basic for Applications, con el cual es posible crear auténticas aplicaciones de simulación destinadas al usuario final. En el mercado existen de hecho varios complementos de Excel (AddIns) específicamente diseñados para realizar simulación Monte Carlo, siendo los más conocidos: @Risk, Crystall Ball, Insight.xla, SimTools.xla, etc. [W2 – W5].
4
Conceptos fundamentales La función ALEATORIO () de Excel Las hojas de cálculo como Excel (y cualquier lenguaje de programación estándar) son capaces de generar números pseudo-aleatorios provenientes de una distribución uniforme entre el 0 y el 1. Este tipo de números pseudo-aleatorios son los elementos básicos a partir de los cuales se desarrolla cualquier simulación por ordenador. En Excel, es posible obtener un número pseudo-aleatorio -proveniente de una distribución uniforme entre el 0 y el 1- usando la función ALEATORIO:
Los números generados mediante la función ALEATORIO tienen dos propiedades que los hacen equiparables a números completamente aleatorios: 1. Cada vez que se usa la función ALEATORIO, cualquier número real entre 0 y 1 tiene la misma probabilidad de ser generado (de ahí el nombre de distribución uniforme). 2. Los diferentes números generados son estadísticamente independientes unos de otros (es decir, el valor del número generado en un momento dado no depende de los generados con anterioridad). La función ALEATORIO es una función volátil de Excel. Esto significa que cada vez que pulsamos la tecla F9 o cambiemos alguno de los inputs del modelo, todas las celdas donde aparezca la función ALEATORIO serán recalculadas de forma automática. Se pueden encontrar ejemplos del uso de ALEATORIO en el propio menú de ayuda de Excel. ¿Qué es la simulación de Monte Carlo? La simulación de Monte Carlo es una técnica cuantitativa que hace uso de la estadística y los ordenadores para imitar, mediante modelos matemáticos, el comportamiento aleatorio de sistemas reales no dinámicos (por lo general, cuando
5
se trata de sistemas cuyo estado va cambiando con el paso del tiempo, se recurre bien a la simulación de eventos discretos o bien a la simulación de sistemas continuos). La clave de la simulación Monte Carlo consiste en crear un modelo matemático del sistema, proceso o actividad que se quiere analizar, identificando aquellas variables (inputs del modelo) cuyo comportamiento aleatorio determina el comportamiento global del sistema. Una vez identificados dichos inputs o variables aleatorias, se lleva a cabo un experimento consistente en (1) generar – con ayuda del ordenador-muestra aleatorio (valores concretos) para dichos inputs, y (2) analizar el comportamiento del sistema ante los valores generados. Tras repetir n veces este experimento, dispondremos de n observaciones sobre el comportamiento del sistema, lo cual nos será de utilidad para entender el funcionamiento del mismo –obviamente, nuestro análisis será tanto más preciso cuanto mayor sea el número n de experimentos que llevemos a cabo. Veamos un ejemplo sencillo: En la imagen inferior se muestra un análisis histórico de 200 días sobre el número de consultas diarias realizadas a un sistema de información empresarial (EIS) residente en un servidor central. La tabla incluye el número de consultas diarias (0 a 5) junto con las frecuencias absolutas (número de días que se producen 0, 1, ..., 5 consultas), las frecuencias relativas (10/200 = 0,05, ...), y las frecuencias relativas acumuladas.
Podemos interpretar la frecuencia relativa como la probabilidad de que ocurra el suceso asociado, en este caso, la probabilidad de un determinado número de consultas (así, p.e., la probabilidad de que se den 3 consultas en un día sería de 0,30), por lo que la tabla anterior nos proporciona la distribución de probabilidad
6
asociada a una variable aleatoria discreta (la variable aleatoria es el número de consultas al EIS, que sólo puede tomar valores enteros entre 0 y 5). Supongamos que queremos conocer el número esperado (o medio) de consultas por día. La respuesta a esta pregunta es fácil si recurrimos a la teoría de la probabilidad: Denotando por X a la variable aleatoria que representa el número diario de consultas al EIS, sabemos que:
Por otra parte, también podemos usar simulación de Monte Carlo para estimar el número esperado de consultas diarias (en este caso se ha podido obtener el valor exacto usando teoría de probabilidad, pero ello no siempre será factible). Veamos cómo: Cuando se conozca la distribución de probabilidad asociada a una variable aleatoria discreta, será posible usar la columna de frecuencias relativas acumuladas para obtener los llamados intervalos de números aleatorios asociados a cada suceso. En este caso, los intervalos obtenidos son: • [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 El gráfico siguiente nos muestra cada una de las probabilidades sobre el número de consultas. En él, se aprecia claramente la relación existente entre probabilidad de cada suceso y el área que éste ocupa.
7
Esto significa que, al generar un número pseudo-aleatorio con el ordenador (proveniente de una distribución uniforme entre 0 y 1), estaremos llevando a cabo un experimento cuyo resultado, obtenido de forma aleatoria y según la distribución de probabilidad anterior, estará asociado a un suceso. Así por ejemplo, si el ordenador nos proporciona el número pseudo-aleatorio 0,2567, podremos suponer que ese día se han producido 2 consultas al EIS. Asignamos pues la función ALEATORIO a una casilla (la G1 en el caso de la imagen):
A continuación, podemos usar la función SI de Excel para asignar un suceso a cada uno de los números pseudo-aleatorios generados (como veremos, otra forma de hacer esta asignación será usando la función BUSCARV):
8
Repitiendo el proceso de seleccionar y “arrastrar” obtendremos algo similar a:
Finalmente, usando la función PROMEDIO será posible calcular la media de los valores de la columna H:
En este caso, hemos obtenido un valor estimado que corresponde exactamente con el valor real anteriormente calculado vía la definición teórica de la media. Sin embargo, debido a la componente aleatoria intrínseca al modelo, normalmente obtendremos valores “cercanos” al valor real, siendo dichos valores diferentes unos de otros (cada simulación proporcionará sus propios resultados). Se puede comprobar este hecho pulsando repetidamente sobre la función F9 (cada vez que se pulsa dicha tecla, Excel genera nuevos valores aleatorios y, por tanto, nuevos valores para la columna H y la casilla I1). Si en lugar de usar una muestra aleatoria formada por 100 observaciones hubiésemos usado una formada por 10, los valores que obtendríamos al pulsar repetidamente F9 no serían estimaciones tan buenas al valor real. Por el contrario, es de esperar que si hubiésemos usado 1.000 (o mejor aún 10.000) observaciones, los valores que obtendríamos en la casilla I1 estarían todos muy cercanos al valor real.
9
Casos prácticos con software Monte Carlo con variables discretas Veamos un ejemplo algo más complejo del uso de Excel para construir modelos de simulación Monte Carlo cuando las variables aleatorias sean discretas: Supongamos que trabajamos en un gran almacén informático, y que nos piden consejo para decidir sobre el número de licencias de un determinado sistema operativo que conviene adquirir – las licencias se suministrarán con los ordenadores que se vendan durante el próximo trimestre, y es lógico pensar que en pocos meses habrá un nuevo sistema operativo en el mercado de características superiores. Cada licencia de sistema operativo le cuesta al almacén un total de 75 Euros, mientras que el precio al que la vende es de 100 Euros. Cuando salga al mercado la nueva versión del sistema operativo, el almacén podrá devolver al distribuidor las licencias sobrantes, obteniendo a cambio un total del 25 Euros por cada una. Basándose en los datos históricos de los últimos meses, los responsables del almacén han sido capaces de determinar la siguiente distribución de probabilidades por lo que a las ventas de licencias del nuevo sistema operativo se refiere:
Construimos nuestro modelo usando las fórmulas que se muestran en la figura inferior. En la casilla H2 usaremos la función ALEATORIO para generar el valor pseudo-aleatorio que determinará el suceso resultante; en la celda I2 usamos la función BUSCARV para determinar el suceso correspondiente asociado al valor pseudo-aleatorio obtenido –notar que usamos también la función MIN, ya que en ningún caso podremos vender más licencias que las disponibles. El resto de fórmulas son bastante claras:
10
En la imagen anterior se muestra cómo construir el modelo con una observación (iteración). A fin de generar nuevas observaciones, deberemos seleccionar el rango H2:N2 y "arrastrar" hacia abajo (tantas casillas como iteraciones deseemos realizar):
Finalmente, es posible estimar el valor esperado de la variable aleatoria que proporciona los beneficios sin más que hallar la media de las 100 observaciones que acabamos de realizar. Asimismo, usaremos las funciones DESVEST e INTERVALO.CONFIANZA para hallar, respectivamente, la desviación estándar de la muestra obtenida y el intervalo de confianza (a un nivel del 95%) para el valor esperado:
11
A partir del modelo anterior es posible también realizar “what-if” análisis (análisis de escenarios o preguntas del tipo “¿qué pasaría si cambiamos tal o cual input?”). Para ello es suficiente con ir cambiando los valores de las celdas con fondo amarillo o rojo (inputs del modelo en este ejemplo). Asimismo, podemos ampliar fácilmente el número de iteraciones (observaciones muestrales) sin más que repetir los procesos de seleccionar y “arrastrar”. En el caso actual, hemos optado por tomar 1.000 iteraciones para cada una de los posibles inputs asociados a la cantidad de pedido (estos posibles inputs son: 100, 150, 200, 250, y 300). Si se realizase el experimento, se obtendrían unos resultados similares a los que se muestran a continuación (ya que 1.000 es un número ya bastante considerable para este ejemplo):
12
A partir de los resultados, parece claro que la decisión óptima es hacer un pedido de 150 unidades, ya que con ello se consigue el beneficio máximo. Generación de números aleatorios provenientes de otras distribuciones Las últimas versiones de Excel incorporan un Add-In llamado Análisis de datos. Este complemento proporciona nuevas funcionalidades estadísticas a la hoja de cálculo. Entre ellas, nos interesa destacar la de Generación de números aleatorios:
13
Con esta opción, es posible generar fácilmente observaciones provenientes de diversas distribuciones de variable discreta (Bernoulli, Binomial, Poisson, Frecuencia relativa, y Discreta) o de variable continua (Uniforme y Normal). Independientemente del complemento Análisis de datos, es posible usar un resultado muy conocido de la teoría estadística, llamado método de la transformada inversa, para derivar las fórmulas que permiten obtener valores pseudo-aleatorios provenientes de distribuciones como la Weibull o la Lognormal. En la tabla siguiente se muestran algunas fórmulas que, implementadas en celdas de Excel, nos permiten obtener valores pseudo-aleatorios de algunas de las distribuciones continuas más usadas:
14
Añadir, finalmente, que es relativamente sencillo implementar funciones VBA que, haciendo uso del método de la transformada inversa o de otros métodos similares, permitan la generación de valores provenientes de casi cualquier distribución teórica. Simulación Monte Carlo con variables continuas Como hemos comentado, es posible usar las fórmulas anteriores para generar, a partir de la función ALEATORIO(), valores pseudo-aleatorios provenientes de otras distribuciones continuas. En las páginas siguientes, veremos dos ejemplos de modelos que hacen uso de la distribución normal (la distribución estadística más importante y utilizada): Ejemplo 1: Tiempo de consultas a servidores en paralelo Supongamos que desde un ordenador cliente se realiza consultas SQL a bases de datos situadas en dos servidores distintos. Nuestro objetivo será estimar el tiempo esperado (tiempo medio) que deberemos esperar para recibir la respuesta de ambos servidores. Dada la complejidad de la consulta que queremos realizar, y basándonos en experiencias anteriores, se calcula que el tiempo necesario para que cada uno de los servidores responda a la misma sigue una distribución normal con los parámetros (media y desviación estándar, en minutos) que se indican a continuación:
Pediremos a Excel que genere valores pseudo-aleatorios provenientes de dichas distribuciones. Asimismo, usaremos la función MAX para obtener el tiempo de respuesta (que será el máximo de los tiempos de respuesta de cada servidor), y la función SI para determinar qué servidor ha sido el más rápido en responder:
15
Usaremos también las funciones CONTAR y CONTAR.SI para contar el número de iteraciones y el número de veces que un servidor es más rápido que el otro:
Finalmente, las funciones PROMEDIO, DESVEST, e INTERVALO.CONFIANZA nos servirán para obtener, respectivamente, el tiempo muestral medio (esperado) de respuesta, la desviación estándar de la muestra (observaciones que generaremos), y un intervalo de confianza, a un nivel del 95%, para el tiempo medio (este intervalo nos permitirá saber si nuestra estimación es buena o si, por el contrario, necesitaremos más iteraciones). Una vez introducidas las fórmulas anteriores, bastará con seleccionar y “arrastrar” hacia abajo el rango de celdas G3:J3, con lo que se generarán nuevas iteraciones. En la imagen siguiente se muestra el resultado obtenido al generar 2.077 iteraciones. Observar que el tiempo medio estimado de respuesta es de 22,9 minutos, y podemos asegurar, con un nivel de confianza del 95%, que dicho tiempo medio estará entre 22,8 y 23,0 minutos.
16
Finalmente, se observa también que el servidor 1 ha respuesto más rápido que el servidor 2 en el 67% de las iteraciones. Ejemplo 2: Inversión inicial y flujo de caja Consideremos ahora un nuevo problema: supongamos que disponemos de un capital inicial de 250 Euros que deseamos invertir en una pequeña empresa. Supondremos también que los flujos de caja -tanto los de entrada como los de salida- son aleatorios, siguiendo éstos una distribución normal.
Para el primer mes, el valor esperado del flujo de entrada es de 500 Euros, mientras que el valor esperado para el flujo de salida es de 400 Euros. En meses posteriores, el valor esperado será el valor obtenido para en el mes anterior. Por su parte, las desviaciones estándar valdrán, en todos los casos, un 25% del valor medio (esperado) asociado. En base a lo anterior, podemos construir un modelo como se muestra en las siguientes imágenes:
17
Seleccionando y “arrastrando” hacia abajo el rango G3:O3, hemos obtenido los siguientes resultados para 5.859 iteraciones:
Observamos que el valor esperado para el capital final es de unos 544 Euros, y que podemos afirmar, con un nivel de confianza del 95%, que dicho valor estará entre 528 y 560 Euros.
3.2.1.- Descripción y conceptualización de la simulación, establecer el problema, especificación del objetivo (s), definición de indicadores, simulación y determinación de la muestra.
Simulación Es la construcción de modelos informáticos que describen la parte esencial del comportamiento de un sistema de interés, así como diseñar y realizar experimentos con el modelo y extraer conclusiones de sus resultados para apoyar la toma de decisiones. Se usa como un paradigma para analizar sistemas complejos. La idea es obtener una representación simplificada de algún aspecto de interés de la realidad. Permite experimentar con sistemas (reales o propuestos) en casos en los que de otra manera esto sería imposible o impráctico.
18
El sistema simulado imita la operación del sistema actual sobre el tiempo. La historia artificial del sistema puede ser generado, observado y analizado. La escala de tiempo puede ser alterado según la necesidad. Las conclusiones acerca de las características del sistema actual pueden ser inferidos. Estructura de un modelo de simulación
ci: variable exógena controlable ni: variable exógena no controlable ei: variable endógena (estado del sistema) si: variable endógena (salida del sistema)
19
La formulación de los modelos de simulación requiere de la cuantificación de los parámetros de las variables. Cuando se dispone de datos históricos el proceso inicia con la recolección de datos a los cuales se les denomina datos en bruto (raw data) y posteriormente se les organiza en histogramas los que sirven de base para formular los modelos matemáticos que describen su comportamiento. Es necesario estimar los valores de los parámetros de dichos modelos y probar su significación estadística con respecto a la bondad de ajuste de las distribuciones de probabilidad. La estimación de parámetros de los modelos estocásticos cae dentro del dominio de la estadística. Estas acciones son lo que se conoce como evaluación del modelo. La etapa final del estudio de simulación consiste en validar el modelo a través del análisis de los datos simulados y debemos responder a las preguntas ¿qué tan bien coinciden los valores simulados de las variables endógenas con datos históricos conocidos, si es que éstos están disponibles? y ¿qué tan exactas son las predicciones del comportamiento del sistema real hechas por el modelo de simulación, para períodos futuros?. El análisis se lleva a cabo en tres pasos: 1. Recolección y procesamiento de 2. Cálculo de la estadística 3. Interpretación de los resultados.
los de
datos las
simulados. pruebas.
Como se puede inferir, nuevamente tendremos que aplicar los conceptos estadísticos que se utilizaron en la formulación del modelo. Obtener las entradas y las salidas, relaciones cuantitativas y cualitativas. Los datos deben ser convenientemente tratados para que se puedan realizar predicciones del comportamiento del sistema. Si nos quedamos con los datos como los obtenemos del sistema real, podemos caer en la mera simulación del pasado. Si basados en ellos hallamos una función del comportamiento, estaremos en condiciones de repetir el comportamiento del sistema en el modelo y poder aplicarlo para realizar estudios sobre el mismo. Con el modelo definido, el siguiente paso es decir si utiliza algún lenguaje como el FROTAN, ALGOL, LIPS, etc., o se utiliza algún simulador como PROMODEL, VENSIM; STELLA, ITHINK, GPSS, SIMULA, SIMSCRIP, ROKCWELL, ARENA, FLEXSIM, etc. para el procesarlo en la computadora y obtener resultados deseados.
20
EL PROBLEMA Formulación y definición del sistema Se inicia en la administración de la empresa. Quién sabe que tiene un problema, pero no sabe definirlo. 1. La formulación del problema no se hace una sola vez, se hace a través de todo el proyecto. 2.
Se define los objetivos del estudio (objetivos y metas).
3.
Se define el sistema a estudiar.
4. Se define los límites del sistemas , sus alcances y limitaciones (restricciones de la abstracción). 5.
Se especifica el diagrama de flujo lógico.
Problemas, Objetivos y Metas Problema. • Alguna amenaza, incremento de costos, información desconocida, riesgos o contradicciones. Se plantea como un conjunto de síntomas, aún no se conoce las causas. Objetivo. •
Resolver el problema o cómo resolver el problema.
• El objetivo no es conocer las causas del problema. Se orienta a la solución del problema. Meta •
Conjunto de actividades para lograr el objetivo planteado.
Por lo general se puede medir
21
2.
RECOLECCIÓN DE DATOS
Recolección de datos • Se recopila datos de la realidad con la finalidad de estimar las variables y parámetros de entrada. •
Se debe decidir:
–
Cómo recopilar la información
–
Qué datos se necesita y si son importantes.
•
En caso de tener variables aleatorias:
–
Identificar la distribución de frecuencias.
–
Verificar si la distribución no cambia en el tiempo.
– Validar la sensibilidad del modelo ante diferentes distribuciones de probabilidad.
3.
EL MODELO
Formulación del modelo • Es la reducción o abstracción del sistema real a un diagrama de flujo lógico, donde se identifican los elementos, las variables y los eventos importantes para cumplir el objetivo del estudio. •
Se define el nivel de detalle del estudio (o nivel de simplificación).
–
Un modelo detallado puede implicar mucho tiempo en su implementación.
–
Un modelo simplificado no le va ha permitir lograr el objetivo planteado.
22
Estructura del Sistema
•
Gráfico del Sistema.
•
Elementos del Sistema.
–
Entidades.
–
Atributos.
–
Actividades.
•
Análisis del Sistema
–
Eventos.
–
Eventos Principales
–
DRE
•
Variables
–
Tiempo.
–
Contadores
–
Estado del Sistema
•
Diagrama de Flujo
–
Programa Principal
–
Eventos Principales
•
Variables Aleatorias
–
Distribución Frecuencia
Traslación del modelo •
Se decide el lenguaje de programación o el software de simulación a usar.
•
Software de Simulación
23
–
GPSS, Arena, Simscript, Simula, Promodel.
–
Dynamo, Powersim
•
Lenguajes de Propósito General
–
Java, C, Pascal, Delphi, Visual Basic, etc
4.
VERIFICACION
Verificación y Validación • Es el proceso de llevar a un nivel de confianza del usuario referente a cualquier inferencia acerca de un sistema es correcta. •
Pero no se puede probar si un simulador es correcto o “verdadero”.
• Lo que importa es la utilidad operativa del modelo y no la verdad de su estructura. •
No existe la “prueba” de validación de un modelo.
•
Se hacen pruebas a lo largo de su desarrollo:
–
Validar la sensibilidad del modelo.
–
Prueba de las suposiciones.
–
Prueba de transformaciones E-S
Verificación • Para asegurar que el modelo se comporta de la manera que el experimentador desea. •
Se verificar si el modelo está correctamente construido.
•
Se verifica si el modelo se ha construido de acuerdo a las especificaciones.
•
Se realiza por inspección a lo largo del proyecto.
24
5.
VALIDACION
Validación • Prueba la concordancia entre el desempeño del modelo y el desempeño del sistema real. •
Examina el ajuste del modelo a cierta dato empírica.
• Un bueno modelo es aquel que se ajusta mejor a los datos y por lo tanto se puede usar para predecir la realidad. • Todos los modelos de simulación corresponden a hipótesis sujeta a validación.
6.
EXPERIMENTACION
Experimentación • Una vez validado el modelo se realiza la experimentación que consiste en generar los datos deseados y realizar el análisis de sensibilidad de los índices requeridos. • El análisis de sensibilidad consiste en variar los parámetros del sistema y la observación del efecto en la variable de interés
Planeación Estratégica • Se relaciona a cómo diseñar y experimentar con el modelo de simulación, con la finalidad de: –
Reducir el número de pruebas experimentales.
– Proporcionar una estructura investigador. •
para el proceso de aprendizaje
del
Los objetivos de la experimentación son:
– Encontrar la combinación valores de parámetros que optimizan la variable de interés. –
Explicar la relación entre la variable de interés y las variables controlables.
25
•
7.
La experimentación ayuda a conocer el sistema materia de la simulación.
RESULTADOS
Interpretación • En esta etapa se realiza la interpretación de los resultados que arroja la simulación y basándose en esto se toma una decisión. • Se determina si el modelo de simulación es útil para resolver el problema planteado al inicio de la investigación. • Posiblemente ahora con más conocimiento de causa se puede determinar con mayor precisión ¿cuál es el problema a resolver?
8.
DOCUMENTACIÓN
Documentación •
Ayuda a incrementar la vida útil del modelo.
• Se relaciona al proceso de desarrollo, operación e implantación del modelo de simulación. • Ayuda al modelador a reconocer sus propios errores y mejorar para un siguiente proyecto de simulación Modelo de Informe Final
9. IMPLANTACION Implantación • Para que un proyecto de simulación sea exitoso se deben dar 3 condiciones: •
Sea aceptado, entendido y usado.
26
3.2.2.- Caracterización de cada indicador: Agrupamiento de datos, gráficos y estimación de parámetros.
Método Secuencial Indicador • Desarrollado por Alabert (1987b) y Journel (1989). Es el caso correspondiente a la simulación de indicadores anidados usando el método secuencial. • En particular si se considera un solo indicador debido a que toma valores sólo de 0 y 1, la distribución condicional se reduce su valor esperado condicional, que en general es no conocido. • Alabert y Journel propusieron usar en su lugar la estimación mediante kriging simple del indicador, la cual preserva la media y la covarianza de la FA que comparado con el método de condicionamiento estándar tiene la ventaja de producir simulaciones binarias que reproducen el histograma de la FA. • Un nuevo valor simulado se obtiene a partir de la FDP estimada usando los valores observados (datos) y los valores previamente simulados en una vecindad del punto. • En dependencia de cómo se estime la función distribución de probabilidad, existen dos métodos secuenciales: • Secuencial Indicador • Secuencial Gaussiano. • Usa el Kriging indicador para estimar la función distribución de probabilidad local. • Requiere del modelo del semivariograma para cada valor de corte especificado por el usuario o como alternativa más eficiente pero menos precisa del semivariograma obtenido para el valor de corte correspondiente a la mediana. Permite mezclar fácilmente datos duros con suaves. Es un algoritmo muy eficiente Su principal dificultad estriba en los problemas de relación de orden del Kriging de los indicadores. Como alternativa se toma en cuenta la correlación cruzada de los indicadores (co-simulación de los indicadores). Otro problema es que la calidad de la simulación es sensible al tamaño de la vecindad empleada por el kriging, usualmente demasiado pequeña.
27
3.2.4.- Establecer el efecto sobre la variabilidad de un estimador tiene el tamaño de la simulación. Concepto Monte Carlo La Simulación de Monte Carlo es una técnica que permite llevar a cabo la valoración de los proyectos de inversión considerando que una, o varias, de las variables que se utilizan para la determinación de los flujos netos de caja no son variables ciertas, sino que pueden tomar varios valores. 1. La estimación de las variables Aplicación: En primer lugar hay que seleccionar el modelo matemático que se va a utilizar. Valor Actual Neto (VAN) Tasa Interna de Rentabilidad (TIR) Según el valor obtenido para estos métodos de valoración se tomará la decisión de si el proyecto es rentable y se lleva a cabo, o no. identificar las variables cuyo comportamiento se va a simular (X) Es decir, aquellas que se consideran que no van a tomar un valor fijo, sino que pueden tomar un rango de valores por no tratarse de variables ciertas Si no se tuvieran en cuenta dichas interrelaciones, y se simularan las variables de forma independiente, se estaría incurriendo en un error en los resultados obtenidos, y se reduciría la variabilidad de los resultados al tener lugar el efecto de compensación en la interacción de las variables. 2. Estimación del tamaño de la muestra Para determinar el tamaño de la muestra, se empezará utilizando un número no demasiado elevado de simulaciones, que se sustituirán en el modelo matemático seleccionado, y se calculará la media y la desviación típica correspondiente al mismo. Metodología de cálculo La aplicación del método de Monte Carlo para valorar inversiones plantea dos aspectos fundamentales; la estimación de las variables y la determinación del tamaño de la muestra. Simular la realidad a través del estudio de una muestra, que se ha generado de forma totalmente aleatoria. Resulta, por tanto, de gran utilidad en los casos en los
28
que no es posible obtener información sobre la realidad a analizar, o cuando la experimentación no es posible, o es muy costosa. -Una vez identificadas las variables que se van a simular, hay que determinar la función de densidad de probabilidad f(x) asociada a cada una de ellas. - Posteriormente, se obtendrán las funciones de distribución asociadas a las variables (o variable). Z = f(x), donde "x" es la variable desconocida a simular - A continuación, se sustituyen los valores simulados en el modelo matemático para ver el resultado obtenido para las simulaciones realizadas.
- Posteriormente, se agrupan y clasifican los resultados. Se comparan los casos favorables, con los casos posibles, y se agrupan por categorías de resultados. - Para finalizar, se lleva a cabo el análisis estadístico y de inferencia sobre el comportamiento de la realidad, siendo interesante calcular la media, la varianza y la desviación típica. - Procedimiento aditivo: se parte de un número inicial de simulaciones (n), y se calcula la media y la desviación típica del modelo matemático utilizado. -Se calcula la media y la desviación típica del modelo matemático utilizando para ello un número de simulaciones que asciende a "2n". Ejemplo: Paso 1: Tamaño del bloque de simulaciones "n". Paso 2: Tamaño del bloque de simulaciones "n+n = 2n". Si no hay convergencia, entonces paso 3, sino finalizar.
Paso 3: Tamaño del bloque de simulaciones "2n+n = 3n". Si no hay convergencia, entonces paso 4, sino finalizar. Y así, sucesivamente hasta alcanzar la convergencia. - Procedimiento multiplicativo: se parte de un número inicial de simulaciones (n), y se calcula la media y la desviación típica del modelo matemático utilizado. A continuación se procede a añadir un número de nuevas simulaciones equivalente a las acumuladas hasta ese momento, de tal forma que ahora se calcula la media y la desviación típica del modelo matemático utilizando.
29
Obtenemos la variabilidad del nuevo bloque de simulaciones tiene el mismo peso sobre el total que la del bloque anterior, siendo por tanto en un método más perfecto. Ejemplo: Paso 1: Tamaño del bloque de simulaciones "n".
Paso 2: Tamaño del bloque de simulaciones "2xn = 2n". Si no hay convergencia, entonces paso 3, sino finalizar.
Paso 3: Tamaño del bloque de simulaciones "2x2n = 4n". Si no hay convergencia, entonces paso 4, sino finalizar.
3.3.- Definiciones: Replica, corrida, estado transitorio, estado estable, condiciones iniciales, reloj de la simulación. Estado estable Una variable está en estado estacionario (estable) si su valor esperado es el mismo durante el perıodo de tiempo que estamos considerando. Una simulación está en estado estacionario si todas sus colas lo están. El estado estacionario es alcanzado luego de un perıodo de tiempo llamado perıodo transitorio inicial (run-in). Reloj de Simulación: Es el contador de tiempo de la simulación, y su función consiste en responder preguntas tales como cuánto tiempo se ha utilizado el modelo de la simulación, y cuanto tiempo en total se requiere que dure esta última. Existen dos tipos de reloj de simulación: el reloj de simulación absoluto, que parte del cero y termina en un tiempo total disimulación definido, el reloj de simulación relativo, que solo consiste en el lapso de tiempo que transcurre entre dos eventos. Ejemplo El tiempo de proceso de una pieza es relativo, mientras que el tiempo absoluto seria el global: desde que la pieza entro a ser procesada hasta el momento que terminó su proceso.
30
Estado estacionario, Condiciones y Sesgo inicial Para obtener resultados confiables: Durante todo el tiempo en que se toman las medidas (cuando se registran los datos de la simulación) el sistema debe estar en estado estacionario. Condiciones iniciales: son los valores iniciales de los parámetros para una simulación en estado estacionario. Las condiciones iniciales determinan un sesgo inicial que influye en el tiempo que lleva alcanzar la estabilidad, en los resultados y en las estimaciones calculadas. Este sesgo se puede anular realizando simulaciones durante un período de tiempo muy largo. Cómo obtener resultados confiables Existen 3 maneras: 1. Comenzar en estado estacionario con información del "sistema real". Cantidad y tipo de entidades en actividad y en colas, organizadas en el calendario según información anterior y de acuerdo a sus distribuciones 2. La simulación se corre hasta alcanzar estado estacionario y se toma “ese” estado del sistema como punto de partida para las siguientes corridas. 3. Se corre la simulación desde el “sistema vacío” hasta el “estado estable”, allí se comienzan a recolectar datos. Se desprecian las medidas del período “run-in”. El tercer método es el más “seguro”. En los dos primeros se corre el riesgo de obtener datos sesgados; cuando se alcanza el estado estacionario puede variar dependiendo a veces de los distintos valores de las variables de decisión. ¿Qué es una réplica? Copia exacta o muy similar. Función de las réplicas las réplicas; se presentan con la finalidad de obtener estadísticas de intervalo que nos den una mejor ubicación del verdadero valor de la variable bajo los diferentes escenarios que se presentan al modificar los números pseudo aleatorios en cada oportunidad. Disminuir el error de la simulación Importancia de las réplicas en simulación. De esta manera se obtiene una relación entre el número de réplicas y la precisión de la estimación, de manera que entre más replicas se tengas más preciso será el modelo. Tipos de réplicas Muestreo antitético: es inducir una correlación negativa entre los elementos correspondientes en las series de números aleatorios utilizados para generar variaciones de entrada en réplicas diferentes.
31
Corridas comunes: El objetivo principal es iniciar nuevas corridas de simulación utilizando siempre los datos almacenados; de esta forma, el uso de las corridas comunes afecta a todas las alternativas de igual forma. Se debe aplicar cuando el problema consiste en la comparación de dos o más alternativas. Muestreo Clasificado: Esta técnica se apoya en un resultado parcial de una corrida, clasificándolo como interesante o no interesante, en caso de ser interesante se continúa con la corrida en caso contrario se detiene la corrida. Variaciones de control: Este método utiliza aproximaciones de modelos analíticos para reducir la varianza. Muestreo estratificado: En esta técnica la función de distribución se divide en varias partes, lo más homogéneas posibles que se resuelven o ejecutan por separado; los resultados obtenidos se combinan para lograr una sola estimación del parámetro a analizar. Muestreo sesgado: Consiste en distorsionar las probabilidades físicas del sistema real, de tal forma que los eventos de interés ocurran más frecuentemente. Los resultados obtenidos presentarán también una distorsión que debe corregirse mediante factores probabilísticos de ajuste. ¿Cómo estimar en simulación el número de réplicas Replicas en Promodel? Para estimar el número de corridas necesarias debe realizarse un número de corridas de manera preliminar, por ejemplo de 30 a 50. Esto se hace a través del menú de ProModel SIMULATION/OPTIONS lo que dará lugar a que se despliegue un cuadro de diálogo en el cual se agregará el número de corridas elegido en el campo"number of replications". Ahora bien, antes de emplear la fórmula para estimar el número de corridas debes elegir la variable de respuesta sobre la cual realizarás este análisis. Puede ser el contenido de alguna fila (average content), o el total de piezas producidas (current value), el tiempo en el sistema (averaged minutes in system), la utilización de máquinas o estaciones de trabajo (% utilization), etc. Todo depende del objetivo del estudio que se está realizando y en función de lo que se desea mejorar. A partir de que se elige la(s) variable(s) de referencia para el análisis se recabará del reporte general ponderado la media y desviación estándar obtenida en esa variable en particular, los cuales serán respectivamente los valores de X (la media) y σ (la desviación estándar) a sustituir en la siguiente fórmula: Si el número de corridas obtenido de la fórmula se cubrió con el número de corridas preliminares significa que ya no es necesario hacer más corridas; pero si el número de corridas calculado es superior al que se consideró de manera preliminar entonces deberán realizarse las corridas que sean necesarias.
32
PRUEBA DE CORRIDAS ARRIBA Y ABAJO
Si tenemos una secuencia de números de tal manera que a cada uno de los números siga otro mayor la secuencia dada será ascendente (arriba).
Si cada número va seguido por otro menor, la secuencia será descendente (abajo) PROPIEDADES Las dos propiedades más importantes esperadas en los números aleatorios son uniformidad e independencia. La prueba de uniformidad puede ser realizada usando las pruebas de ajuste de bondad disponibles Los números pueden estar uniformemente distribuidos y aun no ser independientes uno del otro.
Por ejemplo, una secuencia de números monótonamente se incrementa dentro del rango de cero a uno esta uniformemente distribuida si la cantidad incremental es constante para todos. (0, 0.1, 0.2, 0.3,......,0.9) . PRUEBA DE CORRIDAS
Una prueba de Corridas es un método que nos ayuda a evaluar el carácter de aleatoriedad de una secuencia de números estadísticamente independientes y números uniformemente distribuidos. Es decir dado una serie de números determinar si son o no aleatorios.
PRUEBAS DE CORRIDA ARRIBA Y ABAJO
Ahora procedemos a calcular el total de corridas que resulta de la suma de suma de corrida ascendente con la descendente.
33
Existen algunos métodos disponibles para verificar varios aspectos de la calidad de los números pseudoaleatorios. Si no existiera un generador particular de números aleatorios disponible, se le recomienda al analista usar estos métodos cuando se realice una simulación. Uno de estos métodos es el método de prueba de corridas.
Pasos para evaluar una prueba de corridas:
Ejemplo Paso 1:
Se tienen los siguientes números aleatorios
59,12,19,05,59,58,83,18,36,00,61,47,24,41,42,98,23,67,84,43,29,71,88,74,60,10,4 6,23,15,11,78,3 1,11,91,99,57,28,18,32,21,12,95,38,76,07,96,33,63,10,05 De acuerdo al método (prueba de corridas arriba y abajo) se evaluará 59<12, como no lo es se le signará un signo -. Seguiremos comparando 12<19, ya que si lo es se le asigna un signo +.
-+-+-+-+-+--+++-++--++---+---+--++---+--+-+-+-+-Una corrida se define como una sucesión de eventos similares, precedidos y seguidos por un evento diferente.
En el ejemplo tendíamos un total de corridas de 33.+
Para el paso 2 se utiliza la siguiente formula donde N número de datos generados
34
Paso 3
Se define µ = 0.05, entonces
Como µ=0.05 entonces se valida en la fórmula
1-µ/2 el resultado en las tablas de distribución
La validación de rechazo será
Z calculada =0.00 < Z0.475 =0.68
Ejemplo Ejemplo Números Aleatorios – NETBEANS
2
Paso 1 :Evaluar los números y asignarles un signo
Procedemos a realizar los cálculos Decisión: Se rechaza Conclusión: De acuerdo a la evidencia presentada no aceptamos los números pseudoaleatorios Si el valor absoluto de Z calculada es mayor o igual a la Z de las tablas se rechazará la hipótesis
Como 0.00<0.6808 no es mayor, la hipótesis se aprueba Condiciones iniciales: valores iniciales de las variables de estado.
35
3.4.- Inicio del proyecto final de simulación. Formación de equipos de estudiantes para proyecto final de simulación; atendiendo a los lineamientos: guía para la elaboración de la monografía del proyecto.
36
Conclusión El desarrollo de los modelos y su amplia difusión al mundo de los negocios fue resultado fundamentalmente de la utilización de las computadoras digitales. Debido a la gran carga de datos que se necesita para experimentar el "mundo real" con un modelo matemático, resultaría sumamente ineficaz e inapropiado efectuar una "corrida" de simulación sin el auxilio de un sistema de computación. Los métodos cuantitativos utilizados ampliamente por la Investigación de Operaciones para resolver problemas, por el contrario, resuelven analíticamente el modelo para sacar entonces conclusiones y/o tomar decisiones con respecto a dicho sistema o proceso. En la actualidad la Simulación constituye una de las más poderosas técnicas de resolución de problemas y es ampliamente utilizada en las Ciencias de la Administración y de la Ingeniería.
Bibliografía
37
http://simu-iti.blogspot.mx/2011/03/13-metodologia-de-la-simulacion.html [1] Seila, A.F. (2001): Spreadsheet Simulation. Proceedings of the 2001 Winter Simulation Conference, pp. 74 – 78. [2] Savage, S.L. (1998): "Insight.xla: Business Analysis Software for Microsoft Excel". Duxbury Press. [3] Camm, J.D.; Evans, J.R. (1996): "Management Science: Modelling, Analysis and Interpretation". South – Western College Publishing. [4] Winston, W.L.; Albright, S.C. (1997): "Practical Management Science: Spreadsheet Modeling and Applications". Duxbury Press. [5] Gedam, S.G.; Beaudet, S.T. (2000): Monte Carlo Simulation using Excel Spreadsheet for Predicting Reliability of a Complex System. Proceedings Annual Reliability and Maintainability Symposium. [6] Evans, J.R. (2000): Spreadsheets as a Tool for Teaching Simulation<. Informs Transactions On Education Volume 1, Number 1. http://ite.informs.org/Vol1No1/evans/evans.html [7] Eckstein, J; Riedmueller, S.T. (2002): YASAI: Yet Another Add-in for Teaching Elementary Monte Carlo Simulation in Excel. Informs Transactions On Education. Volume 2, Number 2. http://ite.informs.org/vol2no2/EcksteinRiedmueller/ [8] Judge, G. (1999):Simple Monte Carlo studies on a spreadsheet. Computers in Higher Education Economics Review (CHEER). Volume 13, Issue 2. http://www.economics.ltsn.ac.uk/cheer/ch13_2/ch13_2p12.htm [9] Hwarng, H.B. (2001): A Modern Simulation Course for Business Students. Interfaces, 31:3, Part 1 of 2, May-June 2001, pp. 66-75. [10] Nance, R.E., Sargent, R.G. (2002): Perspectives on the Evolution of Simulation. Operations Research, Vol. 50, No. 1, January-February 2002, pp. 161-172. https://es.slideshare.net/solartime/modelo-de-simulacion http://simulacionsystem11.es.tl/1-.-6-.-_-ETAPAS-DE-UN-PROYECTO-DESIMULACION.htm http://simulaciontsistemcompu.blogspot.mx/2012/01/reloj-de-es-el-contador-de-tiempo-dela.html https://www.fing.edu.uy/inco/cursos/simulacion/archivos/clases/clase07web.pdf http://documents.mx/documents/replicas-en-simulacion-presentacion.html
38
39