TEMARIO SIMULACION

70
Unidad 1 Introduccion Simulacion Eventos Discretos 1.1 Introducción 1.2 Definiciones Aplicaciones Simulacion Eventos Discretos 1.3.Estructura Característica Simulacion Eventos Discretos 1.4 Sistemas Modelos y Control 1.5. Mecanismos de Tiempo Fijo y tiempo variable 1.6 Etapas Proyecto Simulacion 1.6.1. Formulacion del problema 1.6.2. Analisis y recoleccion de datos 1.6.3. Desarrollo del modelo 1.6.4. Verificacion y validacion 1.6.5. Experimentacion y optimizacion 1.6.6. Experimentacion de resultados Unidad 2 Numeros Aleatorios y Pseudoaleatorios 2.1 Numeros Aleatorios Definicion Propiedades generadores y tablas 2.2. Numeros Pseudoaleatorios propiedades 2.2.1 Tecnicas para generar numeros Pseudoaleatorios 2.2.1.1 Metodos de centros al cuadrado 2.2.1.2 Metodos de congruencia multiplicativo y mixto 2.3 Pruebas de Aleatoriedad 2.4 Metodo de MonteCarlo 2.4.1 Simulacion Procesos Aleatorios (usando números ) manuales y usando Lenguajes de propósito general como C, C++, Delphi,

Transcript of TEMARIO SIMULACION

Page 1: TEMARIO SIMULACION

Unidad 1 Introduccion Simulacion Eventos Discretos

1.1 Introducción

1.2 Definiciones Aplicaciones Simulacion Eventos Discretos

1.3.Estructura Característica Simulacion Eventos Discretos

1.4 Sistemas Modelos y Control

1.5. Mecanismos de Tiempo Fijo y tiempo variable

1.6 Etapas Proyecto Simulacion

1.6.1. Formulacion del problema

1.6.2. Analisis y recoleccion de datos

1.6.3. Desarrollo del modelo

1.6.4. Verificacion y validacion

1.6.5. Experimentacion y optimizacion

1.6.6. Experimentacion de resultados

Unidad 2 Numeros Aleatorios y Pseudoaleatorios

2.1 Numeros Aleatorios Definicion Propiedades generadores y tablas

2.2. Numeros Pseudoaleatorios propiedades

2.2.1 Tecnicas para generar numeros Pseudoaleatorios

2.2.1.1 Metodos de centros al cuadrado

2.2.1.2 Metodos de congruencia multiplicativo y mixto

2.3 Pruebas de Aleatoriedad

2.4 Metodo de MonteCarlo

2.4.1 Simulacion Procesos Aleatorios (usando números ) manuales y usando Lenguajes de propósito general como C, C++, Delphi, Visual,etc. de problemas aplicados a servicios, sistemas productivos, de calidad, de inventarios, económicos, etc.

Unidad 3 Generacion De Variables Aleatorias Introduccion

3.2. Metodos para generar Variables Aleatorias

Page 2: TEMARIO SIMULACION

3.2.1 Transformada Inversa, aceptación - rechazo, convolución, directos.

3.2.1.1 Generacion Variables Aleatorias Discretas : distribuciones poisson, binomial, y geométrica

3.2.1.2 Generacion Variables Aleatorias Continuas : distribuciones uniforme, exponencial, normal, Erlang, Gamma, Beta, y Triangular

3.2.2. Distribuciones Empiricas de probabilidad

3.2.3 Simulacion de procesos Aleatorios manuales y usando Variables Aleatorias usando lenguajes de propósito general: C, C++, Delphi, Visual´s, de problemas aplicados a servicios, sistemas productivos, de calidad, de inventarios, económicos, etc.

Unidad 4 Lenguajes de Simulación y Simuladores de Eventos Discretos

4.1 Lenguajesde Simulacion y Simuladores

4.1.1 Caracteristicas aplicacion y uso lenguajes Slam Ecsl Siman Gpss

4.1.2 Simuladores Promodel Taylor Ed Arena WITNESS , etc

4.2 Aprendizaje y Uso de un Simulador

4.2.1 Caracteristicas del software

4.2.2 Elementos del modelo

4.2.3 Menus principales

4.2.4 Construccion del modelo

4.2.5 Practicas usando el simulador de problemas aplicados a servicios, sistemas productivos, de calidad, de inventarios, económicos, etc.

Unidad 5 Proyecto de Aplicacion

UNIDAD 1. INTRODUCCIÓN SIMULACIÓN EVENTOS DISCRETOS

1.1 INTRODUCCIÓN

Page 3: TEMARIO SIMULACION

Las primeras referencias sobre simulación se encuentran hacia el año 1940, cuando Von Neumann y Ullman trabajaron sobre la simulación del flujo de neutrones para la construcción de la bomba atómica en el proyecto “Montecarlo”. Desde entonces se conocían las técnicas de simulación como procesos Montecarlo, aunque en la actualidad se diferencian ambas cosas, siendo los segundos un tipo particular de simulación. También se realizó un proceso de simulación para el proyecto APOLLO dentro del plan espacial de la N.A.S.A, acerca del movimiento dentro de la atmósfera de la luna.

Actualmente, la simulación es una poderosa técnica para la resolución de problemas. Sus orígenes están en la teoría de muestreo estadístico y análisis de sistemas físicos probabilísticas complejos. El aspecto común de ambos es el uso de números y muestras aleatorias para aproximar soluciones.

Una de las más famosas aplicaciones de muestras aleatorias, ocurre durante la segunda guerra mundial, cuando la simulación se utilizó para estudiar el flujo de neutrones dentro del desarrollo de la bomba atómica. Esta investigación era secreta y le dieron un nombre en código: MonteCarlo. Este nombre se mantiene, y durante mucho tiempo se usaba para hacer referencia a algunos esfuerzos en simulación. Pero el término métodos MonteCarlo, se refiere actualmente a una rama de las matemáticas experimentales que trata con experimentos de números aleatorios, mientras que el término simulación, o simulación de sistemas, cubre una técnica de análisis más práctico.

Vamos a ver técnicas que utilizan los computadores para imitar, o simular, el comportamiento de sistemas del mundo real. Para estudiar científicamente estos sistemas, a menudo se han de hacer una serie de suposiciones acerca de cómo trabaja éste. Estas suposiciones que usualmente toman la forma de relaciones matemáticas o lógicas, constituyen un modelo que va a ser usado para intentar comprender el comportamiento del sistema correspondiente.

Si las relaciones que componen el modelo son suficientemente simples, es posible usar métodos matemáticos (tales como álgebra, cálculo o teoría de la probabilidad) para obtener una información exacta de las cuestiones de interés; a esto se le llama solución analítica. Sin embargo, la mayoría de los sistemas del mundo real son demasiado complejos y normalmente los modelos realistas de los mismos, no pueden evaluarse analíticamente. Lo que se puede hacer es estudiar dichos modelos mediante simulación.

1.2 DEFINICIONES APLICACIONES SIMULACION EVENTOS DISCRETOS

Enfoque de sistemas.

El enfoque de sistemas establece que "el mundo y cualquiera de sus partes puede visualizarse como un conjunto de sistemas en interacción dinámica". Es un punto de vista, una forma de pensar, que en la confrontación de una situación problemática, busca no ser reduccionista. Es decir visualizar la situación desde un punto en donde se consideren todos los elementos que intervienen en un problema.

Page 4: TEMARIO SIMULACION

Sistema.

Por sistema; se entiende una colección de entidades relacionadas, cada una de las cuales se caracteriza por atributos o características que pueden estar relacionados entre sí. Los objetivos que se persiguen al estudiar uno o varios fenómenos en función de un sistema son aprender cómo cambian los estados, predecir el cambio y controlarlo. Todo sistema consta de tres características. Tienen fronteras, existe dentro de un medio ambiente y tiene subsistemas. El medio ambiente es el conjunto de circunstancias dentro de las cuales está una situación problemática, mientras que las fronteras distinguen las entidades dentro de un sistema de las entidades que constituyen su medio ambiente. Por lo tanto podemos definir a un sistema como: “una estructura dinámica de personas, objetos y procedimientos organizados para el propósito de lograr ciertas funciones".

El conjunto de elementos que forman un sistema tiene las siguientes tres propiedades:

Las propiedades o el comportamiento de cada elemento del conjunto tienen un efecto en las propiedades o el comportamiento del conjunto como un todo.

Las propiedades y comportamiento de cada elemento y la forma en que se afectan al todo, dependen de las propiedades y comportamiento al menos de otro elemento en el conjunto. En consecuencia, no hay parte alguna que tenga un efecto independiente en el todo y cada una está afectada al menos por alguna otra.

Cada subgrupo posible de elementos del conjunto tienen las dos primeras propiedades: cada uno tiene efecto no interdependiente en el total. En consecuencia no se puede descomponer el total en subconjuntos independientes. No se puede subdividir un sistema en subsistemas independientes.

Entidad.

Una entidad es algo que tiene realidad física u objetiva y distinción de ser o de carácter. Las entidades tienen ciertas propiedades que las distinguen a unas de otras.

Relación.

Relación es la manera en la cual dos o más entidades dependen entre sí. Relación es la unión que hay entre las propiedades de una o más entidades; por consiguiente, el cambio en alguna propiedad de una entidad ocasiona un cambio en una propiedad de otra entidad.

Estructura.

Una estructura es un conjunto de relaciones entre las entidades en la que cada entidad tiene una posición, en relación a las otras, dentro del sistema como un todo

Estado.

Page 5: TEMARIO SIMULACION

El estado de un sistema en un momento del tiempo, es el conjunto de propiedades relevantes que el sistema tiene en este momento. Cuando se habla del estado de un sistema, se entiendes los valores de los atributos de sus entidades. Analizar un sistema supone estudiar sus cambios de estado conforme transcurre el tiempo.

Jerarquía De Sistemas.

Subsistemas. Un subsistema es "Un elemento o componente funcional de un sistema mayor que tiene las condiciones de un sistema en sí mismo, pero que también tiene un papel en la operación de un sistema mayor”

Suprasistema. El suprasistema es un sistema mayor a cuya función global el sistema está contribuyendo y del cual forma parte.

Definición de sistema en Simulación

Colección de entradas que pasan a través de las fases de cierto proceso,

produciendo respuestas. Por ejemplo:

MATERIA PRIMAPRESUPUESTOINFORMACIÓN

FACILIDADESSISTEMA DE

TRANSFORMACIÓN(distribución y asignación)

PRODUCTOTERMINADO

SISTEMA DE MANUFACTURAENTRADA PROCESO SALIDA EVALUACIÓN

1. EFICIENCIA2. COSTOS DE TRANSFORMACIÓN3.INVENTARIO EN PROCESO4.TIEMPO DE PROCESO5.PRODUCCIÓN/HORA6.AREA OCUPADA

CLIENTES

SISTEMA DE SERVICIO:SERVIDORES

DISCIPLINA DEL SERVICIOESPACIO DISPONIBLE

CLIENTE SATISFECHO

SISTEMA DE SERVICIOENTRADA PROCESO SALIDA EVALUACIÓN

1. COSTO DEL SISTEMA2. TIEMPO EN LA COLA 3.TIEMPO EN EL SISTEMA4.LONGITUD DE COLA5. OCUPACIÓN DE LOS SERVIDORES

Page 6: TEMARIO SIMULACION

Definiciones de simulación.

Simulación es una técnica numérica para conducir experimentos en una computadora digital. Estos experimentos comprenden ciertos tipos de relaciones matemáticas y lógicas, las cuales son necesarias para describir el comportamiento y la estructura de sistemas complejos del mundo real a través de largos periodos de tiempo. (THOMAS H. NAYLOR)

Modelo

Un modelo es una representación de un objeto, sistema o idea, de forma diferente al de la

entidad misma. el propósito de los modelos es ayudarnos a explicar, entender o mejorar un sistema.

un modelo de un objeto puede ser una réplica exacta de éste o una abstracción de las propiedades

dominantes del objeto.

1.3.ESTRUCTURA CARACTERÍSTICA SIMULACION EVENTOS DISCRETOS

Modelo de simulación de eventos discretos (MSED)

MSED y técnicas de simulación

Los MSED se utilizan para estudiar sistemas y procesos cuyo estado va cambiando con el tiempo de forma discreta, por lo que permiten conceptualizar el curso de una enfermedad y su manejo en términos de los eventos que pueden suceder durante el modelado, y cuyo impacto afecta tanto a los pacientes como a otros componentes del sistema (p. ej., el uso de recursos).

Estos modelos representan procesos y situaciones complejas, en función de los eventos que puedan ocurrir, por lo que pueden representar tanto situaciones clínicas (agudización de un proceso, descompensación patológica, aparición de una nueva situación clínica), como una determinada utilización de recursos sanitarios relacionados con dichas situaciones. Asimismo, las probabilidades de que ocurran cada uno de los eventos según se asocian con las características personales de los pacientes. Todos estos elementos, en conjunto, simulan la evolución natural de la enfermedad o proceso analizado, así como la historia de los pacientes cuya simulación se realiza en el modelo.

Por todo ello, y dado que en el mundo real es frecuente encontrarse con procesos y sistemas cuyo análisis, mediante métodos matemáticos, resulta extraordinariamente complejo o incluso imposible de llevar a cabo, el uso de MSED permite resolver problemas de esta índole. En tales circunstancias, la alternativa más eficaz para afrontar este tipo de estudios consiste en construir unos modelos lógico-matemáticos de forma que permitan imitar o simular el comportamiento del mundo real. Como resultado de repetir dicha simulación un número suficiente de veces, se obtendrá un

Page 7: TEMARIO SIMULACION

histórico artificial de observaciones sobre el comportamiento del sistema o proceso. A partir de dichas observaciones, y utilizando técnicas de análisis estadístico, será posible extraer conclusiones sobre el funcionamiento de dicho sistema.

Etapas de los MSED

El diseño, el desarrollo y el análisis de resultados de una simulación es un proceso sofisticado, que requiere del analista unos mínimos conocimientos sobre programación, matemáticas, estadística, gestión de proyectos y también sobre el propio sistema estudiado.

La principal característica de un sistema de eventos discretos es que el sistema está determinado por una secuencia de eventos que ocurren en momentos aleatorios de tiempo t1, t2... y el cambio de estado del sistema tiene lugar en esos instantes. Los pacientes son las entidades del sistema y los diferentes eventos serán las visitas y cambios de estado de salud (respuesta) desde un nivel basal al final, tras la toma de un tratamiento farmacológico que modificará la fisiología del paciente o la aplicación de una tecnología sanitaria.

Cuando se escribe un programa de simulación para MSED se puede realizar una aproximación del esquema temporal de funcionamiento de las entidades en el sistema. Así, deberá describirse la secuencia de eventos y actividades que realizarán las entidades durante su estancia en el sistema y cómo se modificarán. Algunos de los sistemas más estudiados son los problemas de colas que se aplican en determinadas situaciones, como la espera que deben tener los pacientes entre visita y visita, si los centros donde son tratados no pueden absorber toda su demanda (p. ej., en un centro e instante de tiempo sólo puede ser tratado un paciente a la vez).

A modo de resumen, para llevar a cabo la simulación del sistema se deben seguir una serie de etapas, ampliamente identificadas y discutidas en la literatura científica (Figura):

1. Formulación de la problemática y determinación de los objetivos: consiste en establecer de forma clara, cuál es el problema que se pretende abordar, qué

Page 8: TEMARIO SIMULACION

objetivos globales se desean alcanzar y con qué recursos será necesario contar para lograrlos en el tiempo previsto.

2. Modelado del sistema: se trata de crear el diseño del sistema que permita su simulación por ordenador. El modelo deberá reflejar convenientemente la estructura interna del sistema y sus características, de modo que los resultados que se deriven sean extrapolables al sistema real. Por ejemplo, resultará fundamental modelar los fenómenos aleatorios del sistema mediante distribuciones estadísticas, como la interrupción del tratamiento, la hospitalización por urgencias u otro evento. Para llevar esto a cabo, sería interesante disponer de una serie histórica de observaciones sobre el comportamiento de dichos fenómenos aleatorios, como los resultados de un ensayo clínico, un metaanálisis o un registro de pacientes.

3. Implementación del modelo en el ordenador. El modelo desarrollado desde el punto de vista teórico ha de ser implementado en el ordenador a través de algún software específico. Más adelante, se describen las principales características de cada una de las herramientas informáticas disponibles.

4. Verificación del programa: comprobación de la correcta implementación del modelo en el ordenador. Para ello, debemos comprobar que el programa resultante se comporta según lo deseado, es decir, que los resultados deben ser coherentes para las diversas combinaciones de variables de entrada(inputs) del modelo, y no ha habido ningún error sintáctico a la hora de programar las diferentes instrucciones.

5. Validación del modelo. Consiste en comprobar que el modelo refleja convenientemente el mundo real. Para ello, se procede a comparar, para distintas combinaciones de variables de entrada, los resultados que produce el modelo con los observables en el sistema real. En dicho proceso de validación es frecuente el uso de técnicas estadísticas que permitan comparar dos conjuntos de datos.

6. Diseño de la simulación y pruebas piloto. Una vez aceptado el modelo como válido, el siguiente paso es diseñar las características del experimento o experimentos de simulación que se van a llevar a cabo, es decir, responder a preguntas como cuál será el número de iteraciones, las variables de entrada empleadas, la conveniencia de usar técnicas de reducción de la varianza. Suele ser de gran utilidad la realización de pruebas piloto (simulaciones cortas) que proporcionen orientaciones sobre cómo conviene afrontar el estudio y calcular el número de réplicas necesarias.

7. Ejecución de la simulación. Se procede a llevar a cabo la simulación establecida en el paso anterior.

8. Análisis de resultados. Los resultados procedentes de un experimento de simulación suelen requerir un análisis estadístico no trivial que permita obtener información útil sobre el comportamiento analizado.

9. Documentación del experimento. Una vez finalizado el experimento, éste debe ser convenientemente documentado, de modo que se fomente su credibilidad y la validez de las conclusiones obtenidas.

Page 9: TEMARIO SIMULACION

1.4 SISTEMAS MODELOS Y CONTROL

Un Sistema se define como una colección de entidades (por ejemplo, personas, máquinas, etc.) que actúan e interactúan juntas para lograr un fin común. En la práctica, ¿qué se entiende por sistema?, depende de los objetivos del estudio particular que se pretenda hacer. El conjunto de entidades que componen el sistema para un estudio puede ser sólo un conjunto de todas las entidades utilizadas para otro estudio.

Se puede definir el estado de un sistema con un conjunto de variables necesarias para describir el sistema en un punto particular de tiempo, relativo a los objetivos del estudio. Los sistemas se pueden clasificar en dos tipos, discretos y continuos. Un sistema discreto es aquel en el que las variables de estado cambian instantáneamente en puntos separados en el tiempo. Un sistema continuo es aquel en el que las variables de estado cambian continuamente con respecto al tiempo. En la práctica muchos sistemas no son completamente discretos o continuos, usualmente es posible clasificarlos en base al tipo de cambios que predominen en el mismo.

Los modelos deben contener sólo los aspectos esenciales del sistema real que representan. Aquellos aspectos del sistema que no contribuyen significativamente en su comportamiento no se deben incluir, ya que lo que harían sería obscurecer las relaciones entre las entradas y las salidas. ¿En qué punto se debe parar de incluir realismo en el modelo? Esto depende del propósito para el cual el modelo se haya desarrollado.

Características que deben presentar los modelos:

Deben ser fáciles de entender y manejar.

Page 10: TEMARIO SIMULACION

Deben ser simples y de costo no excesivo. Deben ser una buena aproximación del sistema real, que controle el mayor

número posible de aspectos del mismo y que éstos contribuyan de forma significativa al sistema (hay relaciones en el sistema que no son significativas y pueden obviarse en el modelo).

El diseño y control de modelos de modelos obliga a tener conocimientos de cuatro áreas de conocimiento distintas:

Modelización: necesarios para diseñar el modelo que permita dar respuestas válidas del sistema real que represente. El diseño es una fase muy importante, ya que los errores proporcionarán modelos falsos.

Programación: ya que el modelo se ha de implantar con un lenguaje de programación.

Probabilidad y Estadística: la probabilidad es necesaria para definir y estudiar las variables aleatorias de las entradas, y la estadística para permitir el diseño y análisis de los experimentos.

Métodos Heurísticos: para permitir llegar a una solución buena del problema planteado.

Clasificación de los modelos

Nos vamos a centrar en los modelos matemáticos y su estudio por medio de simulación. Los modelos se pueden clasificar en:

Estáticos frente a Dinámicos: Un modelo estático es una representación de un sistema en un punto particular del tiempo, o uno que representa un sistema en el cual el tiempo no juega ningún papel; ejemplos de simulaciones estáticas son los modelos MonteCarlo. De otro lado, los modelos dinámicos representan sistemas que evolucionan con el tiempo.

Determinísticos frente a Probabilísticos: Si un modelo no contiene ningún componente probabilístico se conoce como determinístico (ej. un complicado sistema de ecuaciones diferenciales que describen una sustancia química). En un modelo determinístico la salida es determinada una vez que se especifican las relaciones, cantidades y entradas. Sin embargo muchos sistemas tienen ciertos componentes aleatorios de entrada y éstos se representan mediante modelos probabilísticos (por ejemplo la mayoría de los sistemas de colas e inventarios). Los modelos de simulación probabilísticos producen salidas que son aleatorias y deben ser tratadas como tales, es decir como una estimación de las verdaderas características del modelo; esta es una de las desventajas de la simulación.

Continuos frente a Discretos: Los modelos de simulación continuos y los discretos se definen de forma análoga a la de los sistemas. Sólo decir que no siempre es

Page 11: TEMARIO SIMULACION

usado para modelar un sistema discreto y viceversa. La decisión de utilizar un modelo discreto o continuo para un sistema particular depende de los objetivos del estudio. Por ejemplo un modelo del flujo de tráfico en una autovía podría ser discreto si son importantes las características y movimientos de los coches individuales. Alternativamente, si los coches se tratan en conjunto el flujo de tráfico se puede describir mediante ecuaciones diferenciales en un modelo continuo.

Prescriptivos frente a Descriptivos: Los primeros pretenden tomar decisiones sobre el sistema; se utilizan cuando se desea responder y optimizar una cuestión acerca del sistema, tratan de dar la mejor solución. Los segundos se limitan a describir el comportamiento del sistema y dejan la totalidad del proceso de optimización en manos del analista.

De Ciclo Abierto frente a de Ciclo Cerrado: En los primeros no hay realimentación, es decir, las salidas no afectan a las entradas. En los segundos las salidas sí afectan a las entradas (ej. un sistema de calefacción).

1.5. MECANISMOS DE TIEMPO FIJO Y TIEMPO VARIABLE

Parte de la construcción de modelos es el mecanismo de avance de tiempo. Este dependerá de la aproximación elegida para describir el comportamiento del sistema. Si se eligió la aproximación de flujo físico, este diagrama de flujo podría refinarse para convertirse en el diagrama de flujo del programa. Si se siguió la aproximación de cambio de estado, el diagrama de flujo desarrollado debería describir el procedimiento que efectúa los cambios de estado en el tiempo.

Otros dos factores inciden en la construcción del diagrama de flujo del programa: elegir un mecanismo de avance del tiempo y el lenguaje de programación que se seleccione.

Page 12: TEMARIO SIMULACION

Hay fundamentalmente dos formas de considerar el avance del tiempo en un modelo de simulación:

Incrementos fijos de tiempo: se considera un intervalo fijo de tiempo y el estado del modelo se comprueba después de transcurrido cada uno de estos incrementos constantes.

Incrementos por los eventos (N.E.T.A., Next Event Time Advance): las comprobaciones y modificaciones de las variables afectadas se realizan sólo después de la ocurrencia de un evento. Aquí el incremento de tiempo es variable, va desde la ocurrencia de un evento a otro.

El avance del tiempo de simulación depende de cuál de las aproximaciones se elija. Si se elige el incremento por eventos, el reloj se inicializa a 0, y se incrementa al siguiente tiempo en que vaya a ocurrir un suceso, en ese momento, en este momento de actualización del reloj se modifican las variables que se vean afectadas por la ocurrencia del suceso. Si por el contrario se elige un incremento de tiempo fijo, el reloj se inicia a 0 y se va actualizando cada vez que pase el incremento de tiempo fijado. En esos instantes se observará el sistema para realizar los cambios.

En ese momento puede ocurrir que no haya sucedido ningún cambio o que por el contrario que hayan ocurrido más de un suceso con lo cual se tendrá que decidir cuál atender antes (por ejemplo dando prioridad a los sucesos).

En esta aproximación pueden ocurrir “errores de redondeo”, que hacen referencia a la diferencia de tiempo que pasa desde que sucede un suceso hasta que éste se computa (cuando el reloj se incrementa).

Hay que tener cuidado en la elección del incremento de tiempo. Si éste es demasiado pequeño se realizará trabajo inútil, ya que se comprobarán cambios cuando en realidad no ha ocurrido ningún suceso. Por el contrario si es demasiado grande se producirán muchos errores de redondeo y la dinámica del modelo será ineficiente.

Avance del reloj de simulación según los sucesos.

Avance del reloj de simulación en incrementos fijos.

Page 13: TEMARIO SIMULACION

1.6 ETAPAS PROYECTO SIMULACION: 1.6.1. FORMULACION DEL PROBLEMA

Aunque se van a presentar una serie de pasos de forma secuencial, realmente es un proceso iterativo, tal y como se muestra en la figura

En la formulación del problema se definen las cuestiones para las que se buscan las respuestas, las variables implicadas y las medidas de ejecución que se van a usar. Esta fase es muy importante para poder alcanzar un modelo válido, se puede dividir a su vez en 5 fases:

Identificación del Problema

Se hace una abstracción del tipo de problema que se va a tratar. Se identifican los recursos a utilizar, los requisitos que se van a exigir (relaciones a establecer).

Reconocer las variables del sistema

Page 14: TEMARIO SIMULACION

Se han de identificar las variables que interviene en el sistema y que son de interés para nuestro modelo, éstas se pueden clasificar en:

Variables exógenas: son variables externas al modelo y existen con independencia de él. Se consideran variables de entrada. Éstas a su vez se pueden dividir en dos grupos:

o Variables controlables o de decisión (factores): son aquellas sobre las que el analista puede decidir su valor dentro de ciertos límites.

o Variables incontrolables o parámetros: sus valores no se pueden decidir sino que vienen fijados. Las variables serán controlables o incontrolables dependiendo de quién las defina.

Variables endógenas: son variables internas y las variables de salida del modelo. Son función de las variables exógenas y de la estructura del modelo.

Especificación de las restricciones de las variables de decisión

Incluso en el caso de que las variables sean controlables, están limitadas o restringidas a ciertos límites dentro de los cuales se pueden modificar. Es importante considerar cuidadosamente las restricciones sobre las variables de decisión, ya que definen el posible espacio de soluciones dentro del cual se buscará una buena solución o la óptima usando el modelo de simulación.

Desarrollar una estructura preliminar del modelo que interrelacione las variables del sistema y las medidas de ejecución.

Para evaluar la efectividad de un sistema, se debe identificar una medida o medidas de comportamiento (o ejecución) para juzgarlo. Estas medidas se seleccionan del conjunto de variables endógenas. La medida o medidas que se pretenden optimizar se conocen como función objetivo.

Desarrollo de un modelo apropiado

Los modelos son abstracciones de las partes esenciales del sistema. Se ha de intentar ver si con las variables que se han especificado se tiene suficiente para describir estos aspectos importantes del sistema (si no se tienen suficientes entonces el modelo no será una buena representación del sistema), o por el contrario se han definido más de las necesarias (esto puede oscurecer las relaciones entre las variables realmente importantes). En resumen, lo que se tiene que fijar en este paso es el nivel de detalle al que se debe llegar en el modelo. El nivel de detalle depende de:

Propósito del modelo. Contribución de las variables al modelo.

Page 15: TEMARIO SIMULACION

No es igual si lo que se desea hacer es un modelo para una previsión a largo plazo, en cuyo caso la precisión puede ser menor, debido a que al transcurrir el tiempo las variables van a cambiar e incluso podrán aparecer otras nuevas, que si se desea una previsión a corto plazo, entonces se deberá profundizar más en el nivel de detalle.

1.6.2. ANALISIS Y RECOLECCION DE DATOS

Aunque la recogida de datos se va a ver como el segundo paso, es bastante posible que se hayan tenido que recoger datos para la formulación del problema. Sin embargo, durante este paso se recoge el mayor volumen de datos, se reduce y se analiza.

Los métodos de recogida de datos son tan variados como los problemas a los que éstos se pueden aplicar. Si se clasifican por su sencillez, se puede ir desde las aproximaciones manuales hasta las técnicas más sofisticadas de alta tecnología. En la selección de un método se pueden tener en cuenta los siguientes factores:

Capacidad de quien recoja los datos.

El impacto que pueda producir el proceso de recolección sobre el comportamiento del sistema real. Puede producir perturbaciones reales o físicas en el sistema o psicológicas.

La facilidad de conversión de los datos a una representación procesable por el ordenador.

El coste del método.

En muchas situaciones es suficiente con la observación directa y la recogida manual de los atributos de interés. Pero si la medida que se quiere observar depende de una persona, su comportamiento se puede ver afectado por estar siendo observada. Otras veces puede ocurrir que la acción que se quiere observar sea muy rápida y que no sea posible realizar una observación humana.

Para decidir el número de muestras necesarias, se ha de establecer una relación costo-exactitud y hacer una optimización de dicha relación.

Una vez realizado el muestreo, los datos se han de analizar e introducir en el modelo. Los datos usados para definir el modelo pueden ser de dos tipos:

Page 16: TEMARIO SIMULACION

Deteminísticos: son datos conocidos con certeza. Éstos se pueden introducir fácilmente en el modelo.

Probabilísticos: hay dos formas de incluirlos en el modelo: o Usar la muestra de datos recogida para representar la distribución de

probabilidades.

o Determinar una distribución probabilística teórica que se comporte como la muestra y usar ésta en el modelo. Esto permite tener una mejor comprensión (generalización) del modelo.

1.6.3. DESARROLLO DEL MODELO

Incluye la construcción y depuración del modelo del sistema real, incluyendo la selección de un lenguaje de programación, codificación del modelo. Esta etapa se va a dividir en dos partes:

Comprensión del sistema y Construcción del modelo.

Una de las tareas más difíciles en el análisis de simulación es adquirir el suficiente conocimiento del sistema para poder desarrollar un modelo apropiado, es decir, conocer el comportamiento del sistema. Dos técnicas comúnmente usadas son la aproximación de flujo físico y la aproximación de cambio de estado.

Aproximación de Flujo Físico. Se ha de identificar las entidades cuyo procesamiento o transformación constituye el propósito principal del sistema. Estas entidades pueden tomar diferentes caminos en el sistema, las rutas que siguen se determinan mediante reglas de decisión. La representación del sistema vendrá dada mediante un diagrama de flujo de entidad y los elementos de procesamiento del sistema.

Aproximación de Cambio de Estado. Para describir esta aproximación, se debe definir unas variables endógenas adicionales que son las variables de estado e introducir un nuevo concepto, el de suceso o evento. Las variables de estado describen el estado del sistema en cada momento. Dados los valores actuales de las variables de estado, las variables exógenas y la estructura del modelo, se puede determinar el estado futuro del sistema. Un evento es un instante particular en el tiempo en el que el sistema cambia de estado. La evolución del sistema se puede representar mediante un grafo de sucesos.

Construcción del modelo. Las tareas principales en la construcción de un modelo son:

1. Elección del Mecanismo de avance de tiempo (visto anteriormente)

2. Elección de un lenguaje de programación

Hay un creciente número de lenguajes de programación disponibles para la implementación de modelos de simulación. Entre los lenguajes de simulación destacan: GPSS (General Purpose Simulation System), SLAM (Simulation Language

Page 17: TEMARIO SIMULACION

for Alternative Modeling), SIMAN (Simulation Analysis), y SIMSCRIPT. Muchos lenguajes de propósito general son completamente adecuados para la simulación, por ejemplo, FORTRAM, PASCAL,…, pero los lenguajes de simulación proporcionan una serie de características que hacen la programación, depuración y experimentación más eficientes en tiempo y esfuerzo, aunque consuman más tiempo en la ejecución. Quizás la más importante ventaja de los lenguajes de simulación es la correspondencia entre los elementos del sistema y los elementos del lenguaje.

Por ejemplo, en GPSS hay bloques de diagramas de flujo y conjuntos de sentencias de programa llamados QUEUE que procesan entidades a través de una cola de espera y acumulan datos de variables de salida tales como tiempo de espera en la cola.

El lenguaje seleccionado puede influir en la forma exacta del diagrama de flujo del programa de computador.

3. Generación de números y variables aleatorias

Se van a necesitar muestras aleatorias para representar valores de variables de entrada probabilísticas. Utilizando estos números aleatorios podemos obtener valores de variables aleatorias que sigan ciertas distribuciones de probabilidad.

4. Implementación y depuración del modelo.

La facilidad o dificultad en esta etapa dependen en gran medida del lenguaje de programación que se haya elegido.

Page 18: TEMARIO SIMULACION

1.6.4. VERIFICACION Y VALIDACION

La Verificación del modelo consiste en ver cuál es la consistencia interna del modelo.

La Validación consiste en asegurar que existe la una correspondencia entre el sistema real y el modelo. Un buen método para la validación es hacer un test para ver cómo el modelo predice el comportamiento del sistema ante determinadas entradas.

La verificación y validación del modelo se realiza en todas los niveles de modelización: modelo conceptual, modelo lógico y un modelo de ordenador. La verificación se centra en la consistencia interna del modelo, mientras que la validación se interesa por la correspondencia entre el modelo y la realidad.

Se dice que un modelo es válido si sus medidas de salida tienen una correspondencia apropiada con las mismas medidas en el sistema real. La comprobación última para la validez de un modelo es ver cómo el modelo puede predecir un comportamiento futuro del sistema ante unas determinadas entradas.

1.6.5. EXPERIMENTACION Y OPTIMIZACION

Se han de diseñar los experimentos que se van a llevar a cabo sobre el modelo y luego analizar las salidas obtenidas, de forma que podamos responder a las cuestiones que se plantearon.

Page 19: TEMARIO SIMULACION

Experimentación con el modelo El propósito último de la experimentación con el modelo es obtener información acerca del comportamiento del sistema para que esto nos ayude en la toma de decisiones. Cuando consideramos la ejecución de un sistema se puede desear conocer cómo se comporta dicho sistema en sentido absoluto, o comparativamente, para poder contrastar varias configuraciones alternativas del sistema. O se podrían considerar dos medidas simultáneamente.

Es evidente que el número de exploraciones que se tendrían que realizar es extremadamente largo. Hasta para los diseños de experimentos más modestos, la exploración de todas las posibles soluciones en la búsqueda de la mejor solución, no es algo factible. Se necesita una aproximación estructurada más directa para encontrar una solución que merezca la pena. Podemos considerar dos aproximaciones diferentes para abordar este problema: conjunto predeterminado de experimentos y técnicas de búsqueda de óptimos.

Conjunto de experimentos predeterminado

Esta aproximación impone identificar factores que podrían afectar a la medida de salida y ejecutar los experimentos con los factores puestos a determinados valores. Una vez realizados los experimentos se aplicarían unas técnicas estadísticas denominadas análisis de la varianza (ANOVA), para decidir cuál o cuáles de los factores seleccionados tiene realmente algún impacto en la medida de salida. Las medidas de salida se pueden adaptar de forma que las suposiciones estadísticas de esta técnica se satisfagan de forma razonable y puedan ser aplicadas en la experimentación del modelo.

Un diseño experimental particularmente general es el diseño factorial. Se consideran dos o más factores pudiendo estar cada uno a dos o más niveles. El uso de un conjunto predeterminado de experimentos es efectivo para encontrar buenas soluciones si se puede aproximar una región de optimalidad con experimentos previos o con la experiencia que se tenga sobre el problema. Sin embargo esta técnica no puede conducir a la mejor solución global, ni siquiera puede garantizar un óptimo local.

Técnicas de búsqueda de óptimos

Un conjunto de estas técnicas se conoce como Metodología de Superficie de Respuesta (RSM). La superficie de respuesta es la función que describe las relaciones de las medidas de ejecución con los factores o variables de decisión. Dos factores definen una superficie de 3 dimensiones, la cual puede ser vista como un terreno en donde se puede escalar. De hecho, la representación en 2 dimensiones de la respuesta de superficie es como las líneas de contorno de un mapa topográfico (Figura).

Page 20: TEMARIO SIMULACION

Usando varias estrategias se pueden alcanzar puntos altos en el terreno, y quizás llegar a la cumbre. Una estrategia es el método de escalado ascendente. Esta requiere que el modelo se ejecute suficientemente para hacer que se pueda determinar qué dirección (qué cambios en los valores de los factores) parece conducir a un incremento en la altitud (incremento en la medida de salida).

Análisis de la salida

En la interpretación de las salidas del modelo, hay algunos aspectos que son únicos de la simulación. Mientras que los modelos analíticos proporcionan soluciones con medidas de ejecución completamente definidas, los modelos de simulación producen estimaciones de las medidas que están sujetas a error.

Las salidas del modelo de simulación se consideran muestras. Los principales cuestiones en la obtención de estimaciones útiles a partir de muestras son: que la muestra sea representativa del comportamiento del sistema, y que el tamaño de la muestra sea lo suficientemente grande para que las estimaciones de las medidas de ejecución alcancen un buen nivel de precisión. El tamaño de la muestra es algo que está bien definido, pero la representatividad del comportamiento del sistema depende de la naturaleza de las cuestiones que tienen que ser contestadas por el modelo.

1.6.6. EXPERIMENTACION DE RESULTADOS

Se ha de asegurar que los resultados son aceptados por el usuario.

Este paso final es uno de los más importantes y el que más se descuida de todo el proceso. Parece obvio que los beneficios de un largo y costoso análisis no se realizarán sin una implementación apropiada y una aceptación por parte de los usuarios.

Entre las razones por las que los esfuerzos de implantación son a menudo inútiles, se incluyen las siguientes:

Page 21: TEMARIO SIMULACION

Existe un vacío de comunicación entre el analista de la simulación y los encargados y usuarios del sistema.

Falta de entendimientos por parte de los encargados del sistema debido a los tecnicismos utilizados.

El compromiso de implementación es tardío. Resistencia al cambio. Falta de coincidencia entre el personal disponible y los objetivos marcados

por el modelo.

Hay aproximaciones que tratan estos obstáculos potenciales. Estas aproximaciones requieren que los usuarios y los analistas estén implicados desde el comienzo en el proyecto simulación.

UNIDAD 2 NÚMEROS ALEATORIOS Y PSEUDOALEATORIOS

2.1 NÚMEROS ALEATORIOS DEFINICIÓN PROPIEDADES GENERADORES Y TABLAS

Los números aleatorios son números que deben de cumplir los requisitos de espacio equiprobable, es decir, que todo elemento tenga la misma probabilidad de ser elegido y que la elección de uno no dependa de la elección del otro. Son generados por medio de una función determinista (no aleatoria) y que aparentan ser aleatorios.

Generadores de números aleatorios

Page 22: TEMARIO SIMULACION

Los métodos para generar números aleatorios involucran algún proceso físico cuasi aleatorio, que genera sucesiones de números aleatorios de determinada longitud. El requisito general para las sucesiones es la independencia estadística. Para esto, existen varios métodos:

Métodos manuales: Dispositivos mecánicos o electrónicos, lanzamientos de monedas o dados, empleo de barajas, ruletas. Son menos prácticos pero simples, lentos, atractivos, pedagógico. Pero no pueden reproducirse.

Tablas de bibliotecas: Generados por los métodos anteriores. Están en tablas. Siempre pueden reproducirse, pero es un sistema lento. Determinados problemas requieren más números aleatorios que los publicados.

Métodos de computación analógica: Dependen de procesos físicos aleatorios, por ejemplo: el ruido térmico de un circuito con semiconductores, que convertido en un número binario, representa un valor numérico aleatorio. Se considera que conducen a verdaderos números aleatorios.

Métodos de computación digital: Se han sugerido tres métodos para producir números aleatorios cuando se usan computadoras digitales; provisión externa, generación interna, relación de recurrencia.

Existen en la actualidad técnicas para generar con una computadora, variables aleatorias uniformemente distribuidas, r (en donde r ≥ 0 y 1 ≥ r). Los números generados por estas subrutinas de computadora se denominan números pseudoaleatorios, porque se generan a partir de una fórmula totalmente determinística mediante la computación. Sus propiedades estadísticas, coinciden con las de los números generados a través de un dispositivo fortuito idealizado que selecciona números de un intervalo unitario (0,1) de un modo independiente en donde son igualmente probables todos los números.

A condición de que estos números pseudo aleatorios puedan pasar el conjunto de pruebas estadísticas (las de frecuencia, auto correlación, producto rezagado, corridas, de distancia y así sucesivamente) implicadas por un dispositivo fortuito idealizado, tales números pseudo aleatorios se pueden tratar corno si "en realidad lo fueran" a pesar de que no lo son.

Comparativa de métodos de generación

MÉTODOS VENTAJAS DESVENTAJAS

Manuales Facil generaciónLentos, simples y

poco prácticos

Tablas Fácil implementaciónLentos y no

reproduciblesComp Analógica Rápidos “ verdaderos” No reproducibles

Comp Digital Rápidos No son verdaderos

Requisitos para un buen generador de números pseudo aleatorios con distribución uniforme:

Page 23: TEMARIO SIMULACION

La distribución de los números debe ser uniforme en todo el intervalo [0,1]. Los números deben ser independientes dentro de toda la serie generada. El ciclo del generador debe ser lo suficientemente grande. La serie debe volverse a repetir. Capaz de generar números pseudo aleatorios a altas velocidades. Requerir una mínima cantidad de la capacidad de memoria de Computadora.

Ejemplos de aplicación

Simulación: La reproducción de fenómenos naturales necesita números aleatorios. En Física los ejemplos clásicos: Física Estadística, Física de Partículas

Muestreo: Muchas veces es poco práctico examinar todos los casos posibles. Un muestreo aleatorio puede revelar un comportamiento típico.

Análisis Numérico: Técnicas numéricas necesitan números aleatorios Programación de ordenadores: Tests de efectividad de algoritmos Toma de decisiones: Se rumorea que algunos ejecutivos tiran monedas al aire

para tomar decisiones. Estética: Un toque de aleatoriedad puede resultar agradable Juegos: De aquí proviene el propio método para generación de números

aleatorios

2.2 NÚMEROS PSEUDOALEATORIOS PROPIEDADES

1) Distribución Uniforme.Cualquier número que pertenezca al rango de interés debe tener la misma probabilidad de resultar sorteado.

2) NO Correlación Serial.La aparición de un número en la secuencia, no afecta la probabilidad de sortear otro (o el mismo) número.

2.2.1 TÉCNICAS PARA GENERAR NÚMEROS PSEUDOALEATORIOS

1. Utilización de tablas.2. Dispositivos especiales.3. Procedimientos, funciones que generan números pseudoaleatorios.

2.2.1.1 MÉTODOS DE CENTROS AL CUADRADO

Se llama números pseudoaleatorios a una sucesión determinística de números en el intervalo [0,1] que tiene las mismas propiedades estadísticas que una sucesión de números aleatorios. Una forma general de obtener números pseudoaleatorios es

partir de una semilla de p números y aplicar una función d de

Page 24: TEMARIO SIMULACION

modo que

Por ejemplo, el fallido método del cuadrado medio es como sigue: se parte de un número de cuatro cifras y se eleva al cuadrado. De este número de ocho cifras que se obtiene, nos quedamos con las cuatro centrales y repetimos el proceso las veces que necesitemos. El problema de este método es que puede dar ciclos muy cortos (en cualquier caso, aspiramos a lo sumo a una longitud de diez mil):

A partir de aquí siempre se obtiene el valor cero. A la vista de este ejemplo, nos planteamos unas propiedades mínimas que deberán satisfacer los números pseudoaleatorios:

Ajustarse a una distribución U(0,1). Ser estadísticamente independientes (no debe deducirse un número

conociendo otros ya generados). Ser reproducibles (la misma semilla debe dar la misma sucesión). Ciclo repetitivo muy largo. Facilidad de obtención. Ocupar poca memoria.

2.2.1.2 MÉTODOS DE CONGRUENCIA MULTIPLICATIVO Y MIXTO

Hacia 1949, Lehmer introduce un método de generación de números aleatorios mediante el cual un término de la serie se obtiene como función del término inmediatamente anterior (xn=f(xn-1)).

La función aplicada es la siguiente:

En el generador distinguimos cuatro elementos:· x0, es el valor inicial o semilla.· a, multiplicador, siendo 0 <= a < m.· c, incremento, siendo 0 <= a < m.· m, módulo.

Page 25: TEMARIO SIMULACION

Se llama periodo a la subcadena, dentro de la serie generada, en la que no hay repeticiones de números y longitud de periodo al número de elementos de dicha subcadena.

La repetición de números en la serie puede ser aleatoria, pero dado el método utilizado para la generación de las mismas, en el momento en el que se repite un valor ya empieza a repetirse todo el periodo, por lo que interesan métodos que garanticen longitudes de periodo grandes.

Tipos de generadores congruenciales lineales

Podemos distinguir dos tipos de estos generadores que se diferencian en el valor del incremento.

G.C. Multiplicativos. En ellos el incremento, c, es 0. Este tipo de generadores fueron los introducidos por Lehmer, aunque mencionó como posibilidad la idea de tomar c≠0.

G.C. Mixtos. En ellos el incremento es distinto de 0. Fueron introducidos por Thomson hacia 1958.

Los primeros presentan la ventaja de ser más rápidos, al tener que realizar menos operaciones en el cálculo de los elementos. Sin embargo, la longitud de periodo que se alcanza en las series generadas por ellos son menores que la alcanzadas en las series generadas por los segundos.

Los valores de a=0 y a=1, producen series no aleatorias.

Supongamos a=0, nos quedaría el generador de la forma xn+1 = c mod n, es decir, que siempre saldría la constante c.

Si a=1, el generador es . Desarrollando algunos de los elementos que se van obteniendo, tenemos:

y así para todos los términos. Vamos obteniendo que un término es siempre la semilla más un múltiplo de c y todo módulo m, y esta serie no es aleatoria.

Page 26: TEMARIO SIMULACION

2.3 PRUEBAS DE ALEATORIEDAD

Para comprobar si los números aleatorios obtenidos cumplen las propiedades deseadas de uniformidad e independencia se deben realizar una serie de pruebas.

Prueba de frecuencia. Pruebas de series. Prueba de autocorrelación. Prueba de saltos. Prueba de poker.

Cuando se prueba la uniformidad las hipótesis son:

H0: Ri ~ U[0,1] H1: Ri ≠ U[0,1]

La hipótesis nula supone que la secuencia de números obtenidos está distribuida uniformemente en el intervalo [0,1].

Prueba de frecuencia (Kolmogorov)

La prueba básica a la que se debiera someter cualquier nuevo generador de números aleatorios es la de uniformidad. Existen dos métodos para realizar esta prueba:

Prueba de Kolmogorv-Smirnov. Prueba de chi-cuadrado.

Kolmogorov-Smirnov compara la función de distribución acumulada F(x) de la distribución uniforme con la empírica, SN(x), de la muestra de N observaciones. Por definición: F(x) = x para 0 ≤ x ≤ 1

Para una muestra de R1, R2, ...,RN la función de distribución acumulada, SN(x), está definida por: SN(x) = (número de R1, R2, ...,RN que son ≤ 1)/N

D = max |F(x) - SN(x)|

La forma de obtenerlo es de la siguiente manera:

Se ordenan los datos de menor a mayor R(1) ≤ R(2) ≤ ... ≤ R(N)

Page 27: TEMARIO SIMULACION

Se calcula: D+ = max 1 ≤ i ≤ N {i/N - R(N)} D- = max 1 ≤ i ≤ N {R(N) - (i-1)/N } Se obtiene D = max(D+,D-) Se compara con el valor de la tabla para un α dado.

Ejemplo de prueba Kolmogorov-Smirnov

Sean 5 números 0,44, 0,81, 0,14, 0,05, 0,93 generados por algún método.

D+ = max 1 ≤ i ≤ N {i/N - R(N)} = 0,26

D- = max 1 ≤ i ≤ N {R(N) - (i-1)/N}= 0,21

Page 28: TEMARIO SIMULACION

Por tanto D = 0,26. Para α = 0,05 y N = 5 el valor de la tabla es 0,565 por tanto no se puede rechazar la hipótesis nula.

Prueba de frecuencia (Chi Cuadrada)

Se necesita un conjunto mínimo de 50 datos generados que se organizarán en un histograma que cumpla lo siguiente:

La cantidad de aleatorios esperados en cada una de las clases del histograma será de cinco datos como mínimo.

Para aplicar esta prueba se necesita un conjunto de (N) aleatorios que sean calculados con el generador que se desea probar, y ejecutar los siguientes pasos: (N >= 50)

1.- Organizar los datos en un histograma (con n clases).

2.- Calcular el número de datos esperados en cada clase del histograma suponiendo aleatorios idealmente uniformes.

3.- Calcular el estadístico Chi-cero cuadrado con las diferencias entre las cantidades de aleatorios esperados (Ei) y los observados realmente (Oi) en cada una de las (n) clases del histograma, según la muestra que se inspecciona.

4.- Se establece el nivel máximo de variación del estadístico que se calcula (ji-cero) cuando los grados de libertad son iguales al número de clases menos uno; y la significación de la prueba es alfa. Estos valores se encuentran tabulados para la prueba de la Chi-cuadrada.

5.- Se compara el estadístico calculado con el máximo permitido que leyó de tablas; si es menor entonces se concluye que no hay evidencia estadística para afirmar que los aleatorios de la muestra no tienen una distribución uniforme. Si es mayor no se acepta la hipótesis de uniformidad en los aleatorios generados.

Page 29: TEMARIO SIMULACION

2.4 MÉTODO DE MONTECARLO

El método de Monte Carlo es un método no determinístico o estadístico numérico usado para aproximar expresiones matemáticas complejas y costosas de evaluar con exactitud. El método se llamó así en referencia al Casino de Montecarlo (Principado de Mónaco) por ser “la capital del juego de azar”, al ser la ruleta un generador simple de números aleatorios. El nombre y el desarrollo sistemático de los métodos de Monte Carlo datan aproximadamente de 1944 y se mejoraron enormemente con el desarrollo de la computadora.

El uso de los métodos de Monte Carlo como herramienta de investigación, proviene del trabajo realizado en el desarrollo de la bomba atómica durante la segunda guerra mundial en el Laboratorio Nacional de Los Álamos en EE.UU. Este trabajo conllevaba la simulación de problemas probabilísticos de hidrodinámica concernientes a la difusión de neutrones en el material de fusión, la cual posee un comportamiento eminentemente aleatorio. En la actualidad es parte fundamental de los algoritmos de trazado de rayos para la generación de imágenes sintéticas.

El método de Monte Carlo proporciona soluciones aproximadas a una gran variedad de problemas matemáticos posibilitando la realización de experimentos con muestreos de números pseudoaleatorios en una computadora. El método es aplicable a cualquier tipo de problema, ya sea estocástico o determinista. A diferencia de los métodos numéricos que se basan en evaluaciones en N puntos en un espacio M-dimensional para producir una solución aproximada, el método de Monte Carlo tiene un error absoluto de la estimación que decrece como en virtud del teorema del límite central.

Aplicaciones del método

Bajo el nombre de Método Monte Carlo o Simulación Monte Carlo se agrupan una serie de procedimientos que analizan distribuciones de variables aleatorias usando simulación de números aleatorios.

El Método de Monte Carlo da solución a una gran variedad de problemas matemáticos haciendo experimentos con muestreos estadísticos en una computadora. El método es aplicable a cualquier tipo de problema, ya sea estocástico o determinístico. Generalmente en estadística los modelos aleatorios se usan para simular fenómenos que poseen algún componente aleatorio. Pero en el método Monte Carlo, por otro lado, el objeto de la investigación es el objeto en sí mismo, un suceso aleatorio o pseudo-aleatorio se usa para estudiar el modelo.

A veces la aplicación del método Monte Carlo se usa para analizar problemas que no tienen un componente aleatorio explícito; en estos casos un parámetro determinista del problema se expresa como una distribución aleatoria y se simula dicha distribución. Un ejemplo sería el famoso problema de las Agujas de Bufón.

La simulación de Monte Carlo también fue creada para resolver integrales que no se pueden resolver por métodos analíticos, para solucionar estas integrales se usaron números aleatorios. Posteriormente se utilizó para cualquier esquema que emplee números aleatorios, usando variables aleatorias con distribuciones de probabilidad

Page 30: TEMARIO SIMULACION

conocidas, el cual es usado para resolver ciertos problemas estocásticos y determinísticos, donde el tiempo no juega un papel importante.

Algoritmos

El algoritmo de Simulación Monte Carlo Crudo o Puro está fundamentado en la

Generación de números aleatorios por el método de Transformación Inversa, el cual se basa en las distribuciones acumuladas de frecuencias:

Otra opción para trabajar con Monte Carlo, cuando la variable aleatoria no es directamente el resultado de la simulación o tenemos relaciones entre variables es la siguiente:

Las principales características a tener en cuenta para la implementación o utilización del algoritmo son:

El sistema debe ser descripto por 1 o más funciones de distribución de probabilidad (fdp)

Generador de números aleatorios: como se generan los números aleatorios es importante para evitar que se produzca correlación entre los valores muestrales.

Page 31: TEMARIO SIMULACION

Establecer límites y reglas de muestreo para las fdp: conocemos que valores pueden adoptar las variables.

Definir Scoring: Cuando un valor aleatorio tiene o no sentido para el modelo a simular.

Estimación Error: Con que error trabajamos, cuanto error podemos aceptar para que una corrida sea válida?

Técnicas de reducción de varianza.

Paralelización y vectorización: En aplicaciones con muchas variables se estudia trabajar con varios procesadores paralelos para realizar la simulación.

2.4.1 SIMULACIÓN PROCESOS ALEATORIOS (USANDO NÚMEROS ) MANUALES Y USANDO LENGUAJES DE PROPÓSITO GENERAL COMO C, C++, DELPHI, VISUAL,ETC. DE PROBLEMAS APLICADOS A SERVICIOS, SISTEMAS

PRODUCTIVOS, DE CALIDAD, DE INVENTARIOS, ECONÓMICOS, ETC.

Existe una gran cantidad de áreas donde la técnica de simulación puede ser aplicada. Algunos ejemplos podrían ser los siguientes:

Simulación de un sistemas de colas. Con la técnica de simulación es posible estudiar y analizar sistemas de colas cuya representación matemática sería demasiado complicada de analizar. Ejemplos de estos sistemas serían aquellos donde es posible la llegada al sistema en grupo, la salida de la cola del sistema, el rehusar entrar al sistema cuando la cola es excesivamente grande, etc.

Page 32: TEMARIO SIMULACION

Simulación de sistemas de inventarios. A través de simulación se puede analizar más fácilmente sistemas de inventarios donde todos sus parámetros(tiempo de entrega, demanda, costo de llevar inventario, etc.), son estocásticos.

Simulación de un proyecto de inversión. Existen en la práctica una gran cantidad de proyectos de inversión donde la incertidumbre con respecto a los flujos de efectivo que el proyecto genera a las tasas de interés, a las tasas e inflación, etc., hacen difícil y a veces imposible manejar analíticamente este tipo de problemas. Para este tipo de situaciones el uso de simulación es ampliamente recomendado.

Simulación de sistemas económicos. La técnica de simulación puede ser utilizada para evaluar el efecto de cierto tipo de decisiones (devaluación de la moneda, el impuesto al valor agregado, etc.), en las demás variables macroeconómicas como: producto nacional bruto, balanza comercial, inflación, oferta monetaria, circulante, etc.

Simulación de estados financieros. La expansión y diversificación de una organización a través de la adquisición y establecimiento de nuevas empresas, repercuten significativamente en su posición y estructura financiera. Por consiguiente, el uso de simulación permite analizar cuál de las estrategias de crecimiento son las que llevaran a la organización al logro de sus objetivos y metas de corto, mediano y largo plazo.

Simulación de juegos de azar. Se pueden hacer predicciones sobre los resultados de un juego en particular, por ejemplo mélate, tris, etc. donde las variables involucradas son estocásticas.

UNIDAD 4 LENGUAJES DE SIMULACIÓN Y SIMULADORES DE EVENTOS DISCRETOS

4.1 LENGUAJES DE SIMULACIÓN Y SIMULADORES

CLASIFICACIÓN DE LOS SOTWARE PARA SIMULACIÓN

Existen en el mercado dos grandes clases de software para simulación: los lenguajes y los simuladores. Un lenguaje de simulación es un software de simulación de naturaleza general y posee algunas características especiales para ciertas aplicaciones, tal como ocurre con SLAM 11 y SIMAN con sus módulos de manufactura. El modelo es desarrollado usando las instrucciones adecuadas del lenguaje y permitiendo al analista un gran control para cualquier clase de sistema.

Un simulador (o de propósitos especiales) es un paquete de computadoras que permite realizar la simulación para un ambiente específico, no requiriendo esfuerzo en programación. Hoy en día existen simuladores para ambientes de manufactura y

Page 33: TEMARIO SIMULACION

sistemas de comunicación permitiendo un menor tiempo en el desarrollo del modelo, así como también contar con el personal sin experiencia en simulación.

Los simuladores son actualmente muy utilizados para análisis en alto nivel, requiriéndose únicamente agregar detalles en un cierto nivel, puesto que lo demás es estándar.

CACI Products Company autor de SIMSCRIPT 11.5 es también autor de los simuladores SIMFACTORY 11.5, NETWORK 11.5 y COMNET 11.5, muy utilizados en estos últimos tiempos para simulaciones de sistemas de manufacturas, redes de computadoras y redes de telecomunicaciones.

Para procesar transacciones en espera de un ordenamiento, un lenguaje de simulación debe proporcionar un medio automático de almacenamiento y recuperación de estas entidades. Atendiendo a la orientación del modelamiento de una simulación discreta, existen tres formas: 1. Programación de eventos. 2. Procesos. 3. Examinación de actividades. Una programación al evento es modelada, identificando las características del evento y luego se escriben un juego de rutinas para los eventos con la finalidad de describir detalladamente los cambios que ocurren en el tiempo en cada evento. Lenguajes como SIMSCRIPT 11.5 y SLAM 11 están orientados al evento.

Una interacción al proceso es una secuencia de tiempos interrelacionados, describiendo la experiencia de una entidad a través del sistema. Por ejemplo, en un modelo de colas esta “historia” se traduce en el paso del tiempo del ingreso a la cola, ingreso al servidor, paso del tiempo en el servicio y fin del servicio. GPSS, SIMAN y SIMNET son orientados al proceso.

GASP IV

Es una colección de subrutinas FORTRAN, diseñadas para facilitar la simulación de secuencia de eventos. Cerca de 30 subrutinas y funciones que proveen numerosas facilidades, incluyendo: • Rutinas de avance del tiempo, • Gestión de listas de eventos futuros, • Adición y remoción de entidades. • Colección de estadísticas.

• Generadores de variables aleatorias. • Reporte estándar.

El programador únicamente provee un programa main, una rutina de actualización, rutinas de eventos, generadores de reportes personalizados y una subrutina denominada EVNTS. El programa main debe incluir la sentencia CALL GASP; siendo GASP una subrutina que determina el eminente evento, invocando a EVNTS escrita por el usuario y obtiene el índice NEXT.

GASP IV es un lenguaje de simulación desarrollado por Alan B. Pristker y N. Hurst en 1973. Es un lenguaje híbrido porque puede ser usado para programadores de simulación discretos, continuos y combinados; siendo el primero en integrar completamente estos dos ambientes de función del tiempo. GASP IV es un derivado del GASP II, y se diferencia por la definición del evento espacio-estado (state space event). SIMSCRIPT II.5 Desarrollado en la RAND Corporation por H. Markowtz en los inicios de los sesenta. SIMSCRIPT 11.5. Es un lenguaje de simulación con

Page 34: TEMARIO SIMULACION

orientación al evento y al proceso, es híbrido porque posee facilidades para simulación de sistemas discretos y continuos. Un programador SIMSCRIPT 11.5 consiste de las siguientes partes: • Preamble • Main program • Rutinas de eventos. • Rutinas ordinarias.

SIMSCRIPT 11.5, producido por CACI Products Company (La Jolla, California), fue utilizado en el pasado en grandes y complejas simulaciones, como es el caso de los modelos no orientados a colas; por ejemplo modelos de combates militares. Se encuentra disponible en versión PC destacando su ambiente de S 11 VIGRAPHICS.

SIMSCRIPT 11.5 está basado en entidades, atributos y conjuntos. Visualiza el mundo a ser simulado como un conjunto de entidades que pueden ser descritas a través de sus atributos y los eventos que aparecen en el tiempo. SIMAN/Cinema

La versión original del SIMAN (Simulation and Analysis) fue desarrollada por Dennis Pegden, en la Universidad de Alabama, cuando era líder del grupo de desarrollo de la versión original de SLAM (basada en los software de GASP y Q~GER-r de Pristker and Associates). Más tarde, Pegden inicia su trabajo en el Pennisylvania State University donde lo diseña como un lenguaje de modelamiento para propósitos generales, incluyendo facilidades de manufactura muy útiles en modelamiento de sistemas complejos de manufactura.

Desde su implementación inicial en 1984, ha sido continuamente refinado por System Modeling Corporation, y en 1998 y 1989 el lenguaje fue completamente rediseñado dando origen a SIMAN/Cinema.

El ambiente de modelamiento en SIMAN se desarrolla entre el Modeling y el Experiment; en el primero se describe las componentes del sistema y sus interacciones y en el segundo se definen las condiciones del experimento (longitud de la corrida, condiciones iniciales).

SIMAN modela un sistema discreto usando la orientación al proceso; es decir, en un modelo de sistema particular, se estudian las entidades que se mueven a través del sistema. Una entidad para SIMAN es un cliente, un objeto que se mueve en la simulación y que posee características únicas conocidas como atributos. Los procesos denotan la secuencia de operaciones o actividades a través del que se mueven las entidades, siendo modeladas por el diagrama de bloques.

Page 35: TEMARIO SIMULACION

4.1.1 CARACTERÍSTICAS APLICACIÓN Y USO LENGUAJES SLAM ECSL SIMAN GPSS

Lenguajes de propósito especial

• GPSS ( General Purpose Somulation Sistem): Ensamblador.• SIMSCRIPT ( No tiene significado): Fortran y ensamblador.• GASP ( General Activity Simulation Program): Fortran.• SLAM (Simulation Language for Alternative Modeling): Fortran.• SIMNETT II: Fortran, insertos de C (archivos).

Selección del lenguaje de simulación.

• Manuales disponibles. Entender e interpretarlos.• Compilador compatible.• Eficiencia: tiempo de organizar, programar , compilar y ejecutar.• Costos : Adquisición del paquete, instalación, mantenimiento y actualización.• Conocimiento del lenguaje.• Justificación económica: Inversión.

GPSS/H (GENERAL PURPOSE SIMULATION SYSTEM)

• Lenguaje de simulación discreta• Fue diseñado con un lenguajes emsamblador• Diseñado por geofrey gordon en la decada de los 80’as• Existen diferentes presentaciones• Considera los procesos como entidades que se mueven dentro del sistema estos

procesos se conocen como transacciones

DESCRIPCION GENERAL• Un bloque representa una accion o evento que puede afectar a una o mas

transacciones y cambiar el estado del sistema

• La colección de bloques representa al sistema total llamado diagrama de bloques

• Cada bloque en el diagrama de bloque representa una linea en el programa fuente

• No es un lenguaje estructurado

Page 36: TEMARIO SIMULACION

FUNCIONES y VARIABLES, PARAMETROS y SAVEVALUES. Utilizando el lenguaje GPSS

VARIABLESCuando es necesario realizar un cálculo se define una variable (expresión aritmética que devuelve un valor). Es decir, en GPSS, una variable devuelve un valor cada vez que se la invoca. A diferencia de otros lenguajes, no es posible asignar valor a una variable, ya que esta define una expresión aritmética, la cual se evalúa cada vez que una transacción hace referencia a la variable así definida.SINTAXIS DEL BLOQUE VARIABLELa sintaxis de este bloque es la siguiente:nombr VARIABLE operandos y operadoresnumer VARIABLE operandos y operadoresnombr : es el nombre de la variablenumer : es el número de la variable (Sólo en main frames)operadores: # para multiplicar (* en main frames)/ para dividir@ para obtener el resto de la división+ para sumar- para restar^ para colocar el exponente (sólo para PC)operandos: cualquier atributo numérico estandar (SNA).

SIMNET El diseño de simnet se basa en la idea general de los modelos de simulación discreta pueden crearse de una u otra manera como sistemas de líneas de espera.

Los nodos en sinnet II estan conectados por ramas. Conforme las transacciones recorren las ramas estas ejecutan importantes funciones en las entre las que se encuentran.

• Controlar el flujo de transacciones en cualquier parte de la red• Recolectar estadísticas pertinentes• Efectuar cálculos aritméticos

OTRAS CAPACIDADES DE SIMNET II

• Ambiente interactivo de depuración y ejecución

• Estimación del periodo fe transmisión usando graficas interactivas

• Implementación interactiva de los métodos del subintervalo y de replica para recolectar estadísticas globales

• Lectura y escritura de desde archivos externos durante la ejecución

• Uso de indexación para presentar segmentos de modelación repetitiva

• Simnet se basa en el uso de cuatro nodos solamente lo que hace muy fácil de aprender y usar a pesar de la simplicidad el lenguaje es simplemente poderoso para abordar las situaciones mas complejas

• Simnet es total mente interactivo tanto como para depurar así como parar también obtener resultados estadísticos globales, permite la estimación del periodo de

Page 37: TEMARIO SIMULACION

transmisión y luego la implementación del método estadístico global del subintervalo o de replica siempre sin salir del método interactivo de ejecución.

4.1.2 SIMULADORES PROMODEL TAYLOR ED ARENA WITNESS, ETC.

 ProModel es un simulador con animación para computadoras personales. Permite simular cualquier tipo de sistemas de manufactura, logística, manejo de materiales,etc. Puedes simular bandas de transporte, grúas viajeras, ensamble, corte, talleres, logística, etc.

ProModel es un paquete de simulación que no requiere programación, aunque sí lo permite. Corre en equipos 486 en adelante y utiliza la plataforma Windows®. Tiene la combinación perfecta entre facilidad de uso y flexibilidad para aplicaciones complejas.

Puedes simular Justo a Tiempo, Teoría de Restricciones, Sistemas de Empujar, Jalar, Logística, etc. Prácticamente, cualquier sistema pueder ser modelado.

Una vez hecho el modelo, éste puede ser optimizado para encontrar los valores óptimos de los parámetros claves del modelo. Algunos ejemplos incluyen determinar la mejor combinación de factores para maximizar producción minimizando costo, minimizar el número de camiones sin penzliar el servicio, etc.

El módulo de optimización nos ayuda a encontrar rápidamente la solución óptima, en lugar de solamente hacer prueba y error. ProModel cuenta con 2 optimizadores disponibles y permite de esta manera explotar los modelos de forma rápida y confiable.

Beneficios Clave

Único software de simulación con Optimización plenamente intregrada

Creación de modelos rápida, sencilla y flexible.

Modelos optimizables.

Elementos de Logística, Manejo de Materiales, y Operaciones incluídas. (Bandas de transporte, Grúas Viajeras, Operadores).

Entrenamiento en Español.

Resultados probados.

Importación del Layout de Autocad, y cualquier herramienta de CAD / CAE / Diseño, así como de fotografías digitales.

Page 38: TEMARIO SIMULACION

Soporte Técnico 24 horas al día, 365 días del Año.

Integración a Excel, Lotus, Visual Basic y herramientas de Microsoft.

Genera en automático las gráficas en 3 dimensiones para visualización en el espacio tridimensional.

Software Inc., WITNESS de ATT & Istel , o FACTOR/AIM de Pritsker Corporation , FIX DEMACS de Intellution (Fisher-Rosemount). Todos ellos son productos orientados primordialmente a la utilización de la simulación para la resolución de problemas en el ámbito de la producción. Utilizables desde entorno Windows, y ejecutables sobre computadoras personales o sobre plataformas mas potentes como Estaciones de trabajo (Workstations).

Estos permiten construir modelos complejos de manera incremental, a partir de la selección de componentes del sistema de entre un repertorio limitado a la extensión de las librerías que contienen unas entidades predefinidas, si bien las ultimas tendencias añaden a estos paquetes editores para crear nuevas plantillas con características a gusto del consumidor, introduciendo además utilidades de todo tipo incluidas las gestiones de configuración y control de las comunicaciones con un sistema de control real al que se puede conectar el equipo.

Ventajas:

Sirven para comunicar la esencia del modelo de simulación a los directivos.

Puede ayudar a corregir errores del programa de simulación, o a mostrar que el modelo no es válido.

Puede ayudar a entender el comportamiento dinámico del sistema. Inconvenientes:

No puede sustituir a un cuidadoso análisis estadístico de los resultados. Sólo una parte de la lógica del modelo de simulación puede verse en la

animación, y no se puede concluir a partir de ese corto periodo de tiempo que el modelo está bien definido. Aumenta el tiempo para desarrollar el programa de simulación.

Muy lenta la animación en directo.

Otro enfoque se puede derivar de los lenguajes de simulación y de los simuladores es el de los Sistemas Híbridos que combinan la flexibilidad de un lenguaje de simulación con la facilidad de uso de un simulador como lo son el ARENA y el QUEST.

Page 39: TEMARIO SIMULACION

4.2 APRENDIZAJE Y USO DE UN SIMULADOR

Simulador Taylor Ed.

El Taylor Ed es un paquete de software desarrollado por la compañía fabricante de software FLEXIM. El precursor del Taylor Ed fue el Taylor II, pero los desarrolladores hicieron la nueva versión partiendo de desperdicio. A pesar de esto, existen similitudes entre los dos paquetes, tales como la visión del usuario y la arquitectura del software. El precio del Taylor ED es la mitad del precio del WITNESS y cinco veces mas que el SIMUL8 y el EXTEND.

La integración del Taylor Ed con otro software es manejado por un encadenamiento DDE, el cual distribuye la información hacia y desde el EXCEL, por ejemplo, u otro software para el manejo de datos estructurados. Este DDE usa diferentes formatos de ases de datos, tales como SQL o XML. Esto es continuo las conexiones pueden tomar lugar antes o después que la simulación es realizada.

El concepto de modelación en el Taylor ED es el mismo que el desarrollador uso en el Taylor II. Este concepto es diferente de otros softwares. En el Taylor ED, todo es un átomo (producto, máquina, el modelo mismo, la aplicación del software), comparado con el SIMUL8, el cual consiste de cinco bloques de construcción, y el EXTEND el cual consiste de más de 100 bloques de construcción. El flujo de conexiones entre los átomos en Taylor ED esta determinado a través de canales, que es lo mismo que los encadenamientos en otros softwares.Los objetos desarrollados para un modelo pueden rápidamente ser almacenados en librerías para ser usadas en otros modelos, reduciendo el consumo de tiempo, y la duplicidad de esfuerzo.

El FLEXSIM viene con una extensa librería de objetos robustos listos para usarse. Los usuarios pueden rápidamente modificarlos usando el editor de objetos integrado, o puede crear el propio partiendo de la nada usando el C++ o el poderoso Flexscript una librería precompilada del código C++ que puede controlar virtualmente cada aspecto del programa.

La característica de la arquitectura del FLEXSIM son su apertura e interconectividad. El FLEXSIM esta totalmente integrado con el C++, tal que los usuarios puedan rápidamente modificar el FLEXSIM para reunir las necesidades específicas sin tener que aprender el código apropiado.

Page 40: TEMARIO SIMULACION

Toda la animación es OpenGL y todas las gráficas son del estándar industrial de objetos 3DS, DXF, WRL, o STL. Los resultados pueden ser exportados vía DDE, ODBC, y conectores Windows. Otras aplicaciones complementarias como Expert Fit, OptQuesy, y VISIO™ están también compiladas para agregar flexibilidad y facilidad de uso.

4.2.1 CARACTERÍSTICAS DEL SOFTWARE

1. El software se desarrolla o construye; no se manufactura en el sentido clásico.

A pesar de que existen similitudes entre el desarrollo del software y la manufactura del hardware, las dos actividades serian diferentes en lo fundamental. En ambas la

Page 41: TEMARIO SIMULACION

alta calidad se alcanza por medio del buen diseño, la fase de manufactura del hardware puede incluir problemas de calidad existentes en el software.

2. El software no se desgasta.

El software es inmune a los males ambientales que desgasten el hardware. Por lo tanto la curva de tasas de fallas para el software debería tener la forma de la “curva idealizada”. Los defectos sin descubrir causan tasas de fallas altas en las primeras etapas de vida de un programa. Sin embargo, los errores se corrigen y la curva se aplana: el software no se desgasta, pero si se deteriora.

3. A pesar de que la industria tiene una tendencia hacia la construcción por componentes, la mayoría del software aun se construye a la medida.

Un componente de software se debe diseñar e implementar de forma que puede utilizarse en muchos programas diferentes.

Los componentes reutilizables modernos encapsulan tanto los datos como el proceso se aplican a estos, lo que permite al ingeniero de software crear nuevas aplicaciones nuevas a partir de partes reutilizables.

Animación de Entidades en Arena

Definición: Consiste en asignarle una figura o dibujo a la entidad que se mueve dentro del modelo

Para cualquier modelo en general, la figura inicial que adoptan las entidades que ingresan al sistema se define en la hoja de de trabajo de la entidad (Entity). Si se requiere un posterior cambio de figura, éste se puede realizar mediante el módulo Assign.

Las diferentes figuras que se van emplear en el modelo se pueden definir y editar en la ventana de remplazo de figuras (Entity picture placement). Se accede a esta ventana desde la barra de menús mediante las instrucciones Edit/Entity pictures.

Animación de un recurso

Consiste en asignar una figura específica a cada estado que el recurso pueda adoptar, por ejemplo, ocupado, ocioso, en reparación, etc. Para esto se cuenta con la barra Animate, la cual contiene el icono que permite acceder a la ventana de animación de recursos.

Animación del valor de una variable en el modelo

Page 42: TEMARIO SIMULACION

Consiste en mostrar de manera numérica o gráfica el valor actual en tiempo simulado de una variable, con el fin de verificar el funcionamiento de la lógica empleada, estudiar su comportamiento en el tiempo o, simplemente, por razones estéticas.

Gráficas

Es un recurso de animación de variables en forma de gráfico en un plano coordenado cuyo eje X es el tiempo y el eje Y, el valor de una variable. En otras palabras, se trata de un recurso que grafica el valor de la variable de interés en el tiempo.

4.2.2 ELEMENTOS DEL MODELO

El modelo en promodel debe contener al menos los siguientes elementos: Locaciones, Entidades, Arribos y proceso.

•Promodel utiliza un enfoque gráfico•Cada elemento tiene una ventana de gráficas•Al dar click en la gráfica, y después click en el layout, se crea un elemento.•Cada elemento que se crea tiene asociado un registro en la tabla.

Page 43: TEMARIO SIMULACION

1.- LOCACIONES.- Estos representan las máquinas o personas que atienden, procesan, transforman, etc. a las entidades. Consiguientemente, son estáticas dentro del sistema, ya que no es de esperarse que una máquina se mueva de un lugar a otro.

CONSTRUCCIÓN DE LOCACIONES

Para construir locaciones:

•Clickizquierdo en el icono de locación deseado en la ventana de herramientas gráficas, después clickizquierdo en la ventana del layout donde se desea que aparezca la locación.

•Se crea automáticamente un registro para la locación en la tabla de edición de locaciones.

•El nombre, unidades, capacidad, et. Pueden entonces ser modificados al dar click en el cuadro apropiado y tecleando los cambios.

Recomendación: evite acentos, Ñs, puntos, comas y demás caracteres.

2.- EDTIDADES.- Que son aquellas cosas que son procesadas dentro del sistema, es decir, son aquellas personas, partes, insumos, documentos, productos, etc. que ingresan al sistema para ser transformados en productos finales o clientes atendidos. Como es de esperarse, estas entidades son altamente dinámicas, ya que pasan de una estación de servicio o máquina, a otra.

PARA CONSTRUIR ENTIDADES:

• Clickizquierdo en la gráfica deseada en la ventana de herramientas de gráficas de entidades.

• Se crea automáticamente un registro en la tabla de edición de entidades

• Puede entonces modificarse el nombre, y el tamaño de la entidad y puede ajustarse al moverse la barra deslizable.

Recomendación: evite acentos, Ñs, puntos, comas y demás caracteres

3.- ARRIBOS.- Este componente define cómo será alimentado el sistema con entidades; es decir define parámetros tales como la cantidad, tipo, frecuencia y lugar de arribo de las entidades.

PARA CREAR LLEGADAS:

o Clickizquierdo en el nombre de la entidad en la ventana de herramientas, y

clickizquierdo en la locación a donde se quieren que llegue las entidades.

o Entity: La entidad que llega.

Page 44: TEMARIO SIMULACION

o Location: La locación a donde llega la entidad

o QtyEach: Cantidad por ocasión. El número de entidades en un grupo que

llegarán en un tiempo especificado.

o FirstTime: La primera vez (en el tiempo reloj de la simulación) que comenzará

el patrón de llegadas.

o Occurrences: Ocurrencias. El número de veces que llegarán los grupos de

entidades.

o Frequency: Frecuencia. El tiempo entre ocurrencias.

4.- PROCESO.- Define la forma cómo se moverán las entidades entre las locaciones, más aún, se encarga de proveer las reglas que determinan cómo procesará cada máquina una entidad y el tiempo de ese procesamiento.

El menú de proceso define las rutas y las operaciones que se llevan a cabo en las locaciones para las entidades en su viaje por el sistema. También puede decirse que generalmente se conocen o hacen parte de la información recolectada del sistema, los diagramas de proceso u operación, estos se transcribirán al computador para formar el proceso. Antes de crear el proceso es necesario definir entidades, locaciones, recursos y path networks.

Además de los componentes básicos, ProModel permite asignar recursos como personal de mantenimiento, electricidad, agua, gas, etc. a cada operación realizada en una locación. Es posible asignar costos para todos los componentes, de forma que no sólo se pueda determinar el tiempo de producción, sino también el costo de cada producto terminado o cliente atendido.

PARA CREAR LLEGADAS Ó ARRIBOS:

Clickizquierdo en el nombre de la entidad en la barra de herramientas, y después clickizquierdo en la locación de inicio.

Clickizquierdo en la locación destino.

Se crea un registro de proceso automáticamente.

Para añadir más líneas de rutas al mismo registro, clickizquierdo en el botón AddRouting(añadir rutas) en la ventana de herramientas.

Para enviar la entidad a Exit(que salga del sistema), simplemente dar clickizquierdo en el botón RoutetoExit(enviar a salida) en la ventana de herramientas.

Page 45: TEMARIO SIMULACION

5.- RECURSOS: Además de los componentes básicos, ProModel permite asignar recursos como personal de mantenimiento, electricidad, agua, gas, etc. a cada operación realizada en una locación.

Es posible asignar costos para todos los componentes, de forma que no sólo se pueda determinar el tiempo de producción, sino también el costo de cada producto terminado o cliente atendido.

PARA CREAR RECURSOS:

o Ir a Build/Resources y dar click en la gráfica deseada en la caja de herramientas

de los recursos. Automáticamente se crea un registro en la tabla de edición de recursos.

En el registro se puede modificar el nombre del recurso, el número de unidades y las especificaciones.

o Las especificaciones permiten definir la red física por la que viaja el recurso, los

nodos sobre los cuales se estaciona y el movimiento del recurso.

4.2.4 CONSTRUCCIÓN DEL MODELO

Generación y análisis de reportes

Luego de la construcción de simulación se deben fijar los parámetros necesarios para la corrida de éste. En ARENA se pueden incluir, como parámetros del proyecto, y según el modelo, la información del modelo, el nombre del analista y el tipo de estadísticas que se va a recolectar. Por otra parte, el número de réplicas, el período de estabilización, la longitud de la corrida y las unidades básicas de tiempo, entre otros aspectos, se incluyen como parámetros de la corrida.

El control de corridas se hace desde la barra de menús y mediante las instrucciones Run/Setup.

Page 46: TEMARIO SIMULACION

Manejo de reportes

El reporte que aparece es el que se señala como predeterminado. Si se escoje el resumen general (Category overview), la siguiente será la primera hoja que se verá.

Interpretación de resultados

Page 47: TEMARIO SIMULACION

A continuación se explica el contenido de cada reporte; además se dan las pautas que permiten su correcta interpretación para las funciones del panel de procesos básicos.

4.2.5 PRACTICAS USANDO EL SIMULADOR DE PROBLEMAS APLICADOS A SERVICIOS, SISTEMAS

PRODUCTIVOS, DE CALIDAD, DE INVENTARIOS, ECONÓMICOS, ETC.

Ejemplos

Para simular una ruleta (números al azar entre 0 y 36):

RULA FUNCTION RN2,C2 (RN2 nunca alcanza el valor 1, por 0,0/1,37 lo que nunca puede salir el 37)

Para simular un dado (números al azar entre 1 y 6):

DADO FUNCTION RN2,C2 Mínimo valor es 1; Máximo valor es 6.999... 0,1/1,7 Recordar que trunca los decimales

Ambas funciones son continuas. El sistema interpola linealmente entre los dos puntos definidos, entregando un valor entero (trunca los decimales). Un hecho común es tener arribos de transacciones en forma totalmente al azar ("random"). El arribo puede ocurrir en cualquier momento; la probabilidad de arribo aumenta con el tiempo. Es decir la probabilidad p de un arribo se define:

p = valor medio x t

Page 48: TEMARIO SIMULACION

Se demuestra que la distribución es exponencial:

f(t)=valor medio . e -valor medio.t

La probabilidad acumulada y=F(t) se obtiene integrando la función f(t) entre 0 y t.

y=1-e-valor medio.t

-valor medio . t = ln(1-y)

Para valor medio igual a uno:

t = -ln(1-y)

Se puede definir la función POISS basándose en lo anterior:

POISS FUNCTION RN4,C24

0.0,0.0/0.1,0.104/0.2,0.222/0.3,0.355/0.4,0.509/0.5,0.690.6,0.915/0.7,1.2/0.75,1.38/0.8,1.6/0.84,1.83/0.88,2.120.9,2.3/0.92,2.52/0.94,2.81/0.95,2.99/0.96,3.2/0.97,3.50.98,3.9/0.99,4.6/0.995,5.3/0.998,6.2/0.999,7.0/0.9997,8.0

Si se quiere generar arribos de personas con un valor medio igual a 60 y distribución exponencial, basta con representar este arribo con el bloque:

GENERATE 60,FN$POISS

Si se quiere bifurcar en un 20% al rótulo CAJA

en un 30% al rótulo BARen un 40% al rótulo INFen un 10% al rótulo CHAU

se define la función UNO, con la probabilidad acumulada:

UNO FUNCTION RN2,D4, 2,CAJA/.5,BAR/.9,INF/1,CHAU

y se representa la bifurcación a las cuatro opciones propuestas:

TRANSFER ,FN$UNO

En un sistema en dónde se comienza a simular partir de las 8 de la mañana, si se quiere simular que:

Page 49: TEMARIO SIMULACION

hasta las 10 de la mañana bifurca el 50% al rótulo BARentre las 10 y las 12 hrs bifurca el 70% al rótulo BARa partir de las 12 horas bifurca el 100% al rótulo BAR

BIF FUNCTION AC1,D3 se supone que la unidad de tiempo es 7200,500/14400,700/28800,1000 el segundo; AC1 es el reloj (cero al comenzar la simulación; vuelve a cero con CLEAR).

Para representar la bifurcación propuesta, se debe colocar:

TRANSFER FN$BIF,,BAR (en PC)TRANSFER .FN$BIF,,BAR (en "main frame")

Parámetros y Savevalues

Los atributos de las entidades de un sistema pueden variar a lo largo de una simulación. Por ejemplo, la cantidad de cajas habilitadas en un lugar de atención al público ó la cola que elige cada persona a la salida de un supermercado.

En GPSS existen casilleros de memoria donde se pueden almacenar estos valores. Existen dos tipos bien diferenciados:

- Pertenecientes a las transacciones (parámetros): cada transacción tiene sus casilleros de memoria que le son propios (Al nacer la transacción se inicializan en cero; al morir son destruidos, liberándose la memoria utilizada). Son como "bolsillos" de la transacción; cada transacción tiene acceso a sus propios parámetros. En "main frame" la cantidad de parámetros que tiene una transacción es fija y es igual a 12 (aunque se puede modificar utilizando el sexto operando del

GENERATE). En PC arma una lista con el nombre/número de cada parámetro utilizado.

- Comunes al sistema (Savevalues): Es como un vector con casilleros de carácter público a los que todas las transacciones tienen acceso. Son como carteles con valores numéricos que todas las transacciones tienen a su alcance. Se inicializan en cero antes de comenzar la simulación (salvo indicación en contrario en el bloque INITIAL).

Parámetros, asignación de valores:

Mediante el bloque ASSIGN se modifica el valor de los parámetros.

SINTAXIS DEL BLOQUE ASSIGN

La sintaxis de este bloque es la siguiente:

ASSIGN A,B

Page 50: TEMARIO SIMULACION

ASSIGN A+,BASSIGN A-,B

· A: es el número del parámetro a asignar; sumar; restar

· B: valor a asignar; sumar; restar del parámetro A.

NOTA: En PC, el operando A puede ser un nombre.

UNIDAD 5 PROYECTO DE APLICACIÓN

Aviones de Carga

Considere el servicio terminal de una compañía de carga aérea que tiene muchos aviones de carga. Los aviones de carga son programados llegar a la terminal uno al principio del día, para una posible operación de mantenimiento. Cada avión es inspeccionado conforme arriba. Asuma que la duración de la inspección es mínima. Una vez que es inspeccionado, la probabilidad de encontrar un avión con necesidad de servicio de mantenimiento es de 0.5; que es, un promedio del 50% de los aviones tienen necesidad del servicio de mantenimiento. Sí un avión necesita servicio, la operación de mantenimiento puede tomar ya sea 0.5, 1, 1.5, 2, 2.5, o 3 días. La posibilidad de que un avión requiera cualquiera de estos servicios es de 1/6.

La compañía de carga generalmente utiliza una instalación de mantenimiento en la terminal. Cada avión en tierra le cuesta a la compañía $5000 por día. El administrador de la compañía esta interesado en investigar el atractivo económico de utilizar una instalación adicional de servicio en la terminal. Cada instalación le cuesta a la compañía $2500 por día rentarla y operarla.

Se elabora la tabla de donde se generará la información relativa a la duración del servicio

ProbabilidadAcumuladaDuración

1/6 0 0.5

1/6 0.166670 1

1/6 0.333340 1.5

1/6 0.500010 2

1/6 0.666680 2.5

1/6 0.833350 3

Page 51: TEMARIO SIMULACION

Para determinar si un avión al aterrizar requiere o no servicio, se considera por existir dos posibilidades; que existe un 50% de probabilidad de que requiera servicio y un 50% de que no requiera. Se analiza en la tabla siguiente el comportamiento de este sistema para una y dos instalaciones de servicio para 100 días de operación.

Una Instalaciónde Servicio Dos Instalaciones

Numero Requiere NumeroDíaAleatorio Manto. Aleatorio DDS DIS DTS NDO DIS DTS1DTS2 NDO IN

1 0.2928 Si 0.5678 2.00 1.00 3 2.00 1.00 3 0 2.00 1

2 0.0314 Si 0.8073 2.50 3.00 5.5 3.50 2.00 3 4.50 1.00 2

3 0.0043 Si 0.9722 3.00 5.50 8.5 5.50 3.00 6 4.50 3.00 1

4 0.2567 Si 0.4721 1.50 8.50 10 6.00 4.50 6 4.50 2.00 2

5 0.5709 No 0.0000 0.00 0.00 10 0.00 0.00 6 4.50 0.00

6 0.3235 Si 0.1473 0.50 10.00 11 4.50 6.00 6.5 4.50 0.50 1

7 0.8838 No 0.0000 0.00 0.00 11 0.00 0.00 6.5 4.50 0.00

8 0.3805 Si 0.1980 1.00 10.50 12 3.50 8.00 9 4.50 1.00 1

9 0.7669 No 0.0000 0.00 0.00 12 0.00 0.00 9 4.50 0.00

10 0.5615 No 0.0000 0.00 0.00 12 0.00 0.00 9 4.50 0.00

91 0.4309 Si 0.1180 0.50 94.50 95 4.00 91.50 92 93.00 1.00 1

92 0.3604 Si 0.2066 1.00 95.00 96 4.00 92.00 93 93.00 1.00 1

93 0.0181 Si 0.2703 1.00 96.00 97 4.00 93.00 94 93.00 1.00 1

94 0.9460 No 0.0000 0.00 0.00 97 0.00 0.00 94 93.00 0.00

95 0.2206 Si 0.6068 2.00 97.00 99 4.00 95.00 97 93.00 2.00 1

Page 52: TEMARIO SIMULACION

96 0.8654 No 0.0000 0.00 0.00 99 0.00 0.00 97 93.00 0.00

97 0.2081 Si 0.2103 1.00 99.00 100 3.00 97.00 98 93.00 1.00

98 0.1012 Si 0.2152 1.00 100.00 101 3.00 98.00 99 93.00 1.00

99 0.8101 No 0.0000 0.00 0.00 101 0.00 0.00 99 93.00 0.00

100 0.6454 No 0.0000 0.00 0.00 101 0.00 0.00 99 93.00 0.00

Tiempo TotalOcioso 251.00 78.00

TiempoPromedioOcioso 2.510 0.780

Costo PromedioTotal $15,050.00 $8,900.00

DDS=Duración de los días de servicio, DIS=Día que inicio del servicio, DTS=Día que termina el servicio, NDO= Numero de días ociosos, DTS1,DTS2=DTS para la instalación 1 o 2.

A continuación se muestran 10 corridas del sistema y el promedio del análisis del costo con una y dos instalaciones, resultando más conveniente tener dos instalaciones

Una Instalación Dos Instalaciones

No. de Corridas$11,025.00 No. de Corridas $8,750.00

1 14625 1 9175

2 10150 2 9050

4 29950 4 9600

5 16350 5 8325

6 7550 6 8375

7 18075 7 9225

8 8450 8 9025

9 14175 9 9725

10 19375 10 8925

Promedio $14,972.50Promedio $9,017.50

Page 53: TEMARIO SIMULACION

CONCLUSIONES

REFERENCIAS

Http://fis.unab.edu.co/docentes/gbarrera/introduccion_simulacion.pdf www.itson.mx/dii/atorres/Introd.doc http://es.wikipedia.org/wiki/Simulaci%C3%B3n_por_eventos_discretos http://fis.unab.edu.co/docentes/gbarrera/Introduccion_Simulacion.pdf http://scielo.isciii.es/scielo.php?pid=S0213-91112008000200012&script=sci_arttext http://fis.unab.edu.co/docentes/gbarrera/Introduccion_Simulacion.pdf http://www.material_simulacion.ucv.cl/en%20PDF/aleator11.pdf http://teorica.fis.ucm.es/programas/MonteCarlo.pdf http://docencia.udea.edu.co/ingenieria/isi-494/contenido/exposicion.html http://www.um.es/or/ampliacion/node16.html http://www.exa.unicen.edu.ar/catedras/inv_op/apuntes/Apunte_Teorico_MC_2005.pdf http://www.investigacion-operaciones.com/conceptos_modelos.htm http://www.promodel.com.mx/promodel.php http://www.foroswebgratis.com/mensaje-elementos_basicos_de_un_modelo_en_promodel-143351-1656199-1-

5660941.htm http://unitecnicasjenny01.files.wordpress.com/2011/04/promodel.pdf http://es.scribd.com/doc/72312861/2/COMO-CREAR-ELEMENTOS-DEL-MODELO-EN-PROMODEL ? http://www.promodel.com.mx/promodel.php

Simulación y análisis de sistemas con ProModelEduardo García Dunna, Heriberto García Reyes.Pearson Educación, 2006 - 270 páginas

Simulation Using ProModelCharles Harrell, Biman K. GhoshMcGraw-Hill Companies,Inc., - 704 páginas

ProModel: manufacturing simulation software : user's guidePROMODEL CorporationPROMODEL Corp., 2002 - 696 páginas

Page 55: TEMARIO SIMULACION

we