Institución Certificada Norma ISO 9001:2000

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA
Academia de Informática y Sistemas Computacionales Antología SCB-9310 SIMULACIÓN Presenta ROCÍO DE LA CRUZ HERNÁNDEZ Revisado por los integrantes de la academia de Informática y Sistemas Computacionales
Material compilado con fines académicos

Fecha elaboración: Junio 2009.

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Contenido
INTRODUCCIÓN................................ ........................................................................................................................... 4 ........................... UNIDAD 1 ................................ ................................................................................................................................ 5 ..................................... INTRODUCCIÓN A LA SIMULACIÓN SIMULACIÓN........................................................................................... 5 ........................... 1.1 Definición ................................ ............................................................................................................................ 5 ............................ 1.2 Conceptos básicos de modelación ................................................................ .................................................... 10 1.3. Metodología de la Simulación Simulación......................................................................................... 15 ......................... 1.4. Sistemas, modelos y simulación simulación................................................................ ...................................................... 23 1.5 Estructura y etapa de un modelo de simulación simulación............................................................... 35 ............................... 1.6. Etapas de un proyecto de Simulación ................................................................ .............................................. 36 UNIDAD 2 ................................ ................................................................................................................................ 37 ................................... NUMEROS PSEUDOALEATORIOS ............................................................................................... 37 ............................... 2.1 Generación de números pseudoaleatorios pseudoaleatorios................................................................ ....................................... 37 Características de los números pseudoaleatorios ................................................................ 40 .................................. Métodos que utilizan ecuaciones de recurrencia para generar números pseudoaleatorios. ................................................................ ................................................................................................ ................................................. 40 Métodos de generación de números pseudoaleatorios pseudoaleatorios......................................................... 41 ......................... 2.2 Pruebas estadísticas de aleatoriedad aleatoriedad................................................................ ................................................ 46 Ejemplo 4 ................................ ............................................................................................................................ 52 ............................ UNIDAD 3 ................................ ................................................................................................................................ 57 ................................... GENERACIÓN DE VARIABLES ALEATORIAS ................................................................ ............................................... 57 3.1 Introducción ................................ ................................................................................................ ...................................................... 57 3.2 Variables aleatorias discretas discretas............................................................................................ 58 ............................ 3.2 Variables aleatorias continuas .......................................................................................... 61 .......................... UNIDAD 4 ................................ ................................................................................................................................ 63 ................................... LENGUAJES DE SIMULACIÓN ................................................................................................ ...................................... 63

4.3 Casos prácticos de simulación simulación........................................................................................... 68 ........................... UNIDAD 5 ................................ ................................................................................................................................ 71 ...................................

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

4.2 Aprendizaje y uso de un simulador ................................................................ ................................................... 68

2

4.1 Lenguajes de simulación y simuladores. ................................................................ ........................................... 63

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

UNIDAD INTEGRADORA ................................ ................................................................................................ ............................................ 71 5.1. CASO DE ESTUDIO ................................ ................................................................................................ ............................................ 71 5.2. Validación del sistema de simulación. ................................................................ ............................................. 72

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

3

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

INTRODUCCIÓN
La creciente capacidad de las computadoras y la inmensa investigación en el campo de la Ciencia de la Computación oto otorgan nuevas herramientas para apoyar el proceso de la toma de decisiones en diversas disciplinas y áreas de diseño y manejo de la industria. La Simulación es una de las herramientas más importantes y más interdisciplinarias. En pocas palabras podemos decir, que la simulación realiza cuando la computadora cir, finge ser una tienda, un avión o un mercado de abarrotes. El usuario define la estructura del sistema que quiere simular. Una corrida del programa de simulación correspondiente le dice cual será el comportamiento dinámico de su empresa o de la maquina que está portamiento diseñando. Así podemos ver los pronósticos para la demanda y utilidad de nuestro producto, o ver cuando un mecanismo pueda fallar en las condiciones adversas del ambiente donde funcionará. Las aplicaciones de la simulación parecen no tener límites. s Actualmente se simulan los comportamientos hasta las partes más pequeñas de un mecanismo, el desarrollo de las epidemias, el sistema inmunológico humano, las plantas productivas, sucursales bancarias, el sistema de bancarias, repartición de pizzas en la Ciudad de México, crecimiento de poblaciones de especies de animales, partidos y torneos de fútbol, movimiento de los planetas y la evolución del universo, para mencionar unos pocos ejemplos de las aplicaciones de esta herramienta. Cabe mencionar la creciente importancia de la Simulación en la Investigación de operaciones y en sus aplicaciones industriales. En los países altamente desarrollados la simulación es una herramienta principal de en los procesos de toma de decisiones, en el manejo de empresas y el e planeación de la producción. Además, la Simulación es cada vez más “amigable” para el usuario, que no tiene que ser un especialista en computación.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

4

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

UNIDAD 1 INTRODUCCIÓN A LA SIMULACIÓN
1.1 De Definición La simulación consiste básicamente en construir modelos informáticos que describen la parte esencial del comportamiento de un sistema de interés, así como en diseñar y realizar experimentos con el modelo y extraer conclusiones de sus resultados para apoyar la toma de decisiones. Típicamente, se utiliza en el análisis de sistemas tan complejos que no es posible su tratamiento analítico o mediante métodos de análisis numéricos. Sus orígenes están en los trabajos de Student para aproximar la distribución que lleva su nombre, y los métodos que Von Neumann y Ulam introdujeron para resolver ecuaciones integrales. Desde entonces, la Simulación ha crecido como una metodología de experimentación fundamental en campos tan diversos como la Economía, la estadística, la , Informática o la Física y con enormes aplicaciones industriales y Física, comerciales, como los simuladores de vuelo, los juegos de simulación o la omerciales, simulación, predicción bursátil o meteorológica meteorológica. También se considera a la simulación como un proceso para desc describir la esencia de la realidad, el cual incluye la construcción, experimentación y manipulación de un modelo complejo en un computador. El uso de la metodología de simulación ofrece ventajas y desventajas, entre las cuales podemos mencionar las siguient siguientes:

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

5

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Ventajas: 1. La simulación hace posible estudiar y experimentar con las interacciones complejas de un sistema dado (sin importar cual). 2. A través de la simulación podemos estudiar el efecto de cambios ambientales, organizacionales de cierta información, en la operación del , sistema. 3. La observación detallada del sistema simulado nos permite tener una mejor comprensión del mismo. 4. La experiencia al diseñar un modelo de simulación para computadora es más valiosa que la simulación en sí. La simulación es una técnica muy poderosa y ampliamente usada en ación las ciencias para analizar y estudiar sistemas complejos. En Investigaciones se formularon modelos que se resolvían en forma analítica. En casi todos estos modelos la meta era determinar soluciones óptimas. Sin embargo, óptimas. debido a la complejidad, las relaciones estocásticas, etc., no todos los problemas del mundo real se pueden representar adecuadamente en forma de modelo. Cuando se intenta utilizar modelos analíticos para sistemas como éstos, en general necesitan de tantas hipótesis de simplificación que es ral probable que las soluciones no sean buenas, o bien, sean inadecuadas para su realización. En eso caso, con frecuencia la única opción de modelado y análisis de que dispone quien toma decisiones es la simulación. Simular, es reproducir artificialmente un fenómeno o las relaciones entrada entrada-salida de un sistema. Esto ocurre siempre cuando la operación de un sistema o la experimentación en él son imposibles, costosas, peligrosas o poco prácticas, como en el entrenamiento de personal de operación, pilotos de aviones, etc.

Simulación es una técnica numérica para conducir experimentos e una en computadora digital. estos experimentos comprenden ciertos tipos de relaciones matemáticas y lógicas las cuales son necesarias para describir el
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

6

¿Qué es la SIMULACIÓN? Existen innumerables definiciones de ué simulación, aquí se presentan algunas de las mas aceptadas:

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

comportamiento y la estructura de sistemas complejos del mundo real a través de largos periodos de tiempo tiempo. Thomas h. Naylor Simulación es el desarrollo de un modelo lógico matemático de un sistema, de tal forma que se tiene una imitación de la operación de un proceso de la vida real o de un sistema a través del tiempo. La simulación involucra la generación de una historia artificial de un sistema, la ación observación de esta historia mediante la manipulación experimental, nos ayuda a inferir las características operacionales de tal sistema. JERRY BANKS Simulación es una técnica numérica para realizar experimentos en una imulación experimentos computadora digital. estos experimentos involucran ciertos tipos de modelos matemáticos y lógicos que describen el comportamiento de sistemas de negocios, económicos, sociales, biológicos, físicos o químicos a través de largos periodos de tiempo. H. MAISEL Y G. GNUGNOLI Simulación es el proceso de diseñar y desarrollar un modelo de un sistema o proceso real y conducir experimentos con el propósito de entender el comportamiento del sistema o evaluar varias estrategias (dentro de límites impuestos por un criterio o conjunto de criterios) para la operación del sistema. Robert. Shannon Se describe comúnmente como un arte, o una ciencia sofisticada, debido a que la utilidad de los resultados dependerá de la destreza del grupo que realiza y analiza el modelo. actualmente no existe una teoría científica para garantizar la validez de un proceso de simulación antes de que el experimento sea realizado, en su lugar, la confiabilidad de un modelo es evaluada por la correspondencia de los resultados del modelo resultados con los obtenidos por otros sistemas comparables con el que se está examinando. ¿COMO SE DEFINE UN SISTEMA EN SIMULACIÓN COMO SIMULACIÓN?

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

7

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Colección de entradas que pasan a través de las fases de cierto proceso, produciendo respuestas. Por ejemplo:

SISTEMA DE MANUFACTURA
ENTRADA PROCESO SALIDA EVALUACIÓN

MATERIA PRIMA PRESUPUESTO INFORMACIÓN

FACILIDADES SISTEMA DE TRANSFORMACIÓN (distribución y asignación)

PRODUCTO TERMINADO

1. EFICIENCIA 2. COSTOS DE TRANSFORMACIÓN 3.INVENTARIO EN PROCESO 4.TIEMPO DE PROCESO 5.PRODUCCIÓN/HORA 6.AREA OCUPADA

SISTEMA DE SERVICIO
ENTRADA PROCESO SALIDA EVALUACIÓN

CLIENTES

SISTEMA DE SERVICIO: SERVIDORES DISCIPLINA DEL SERVICIO ESPACIO DISPONIBLE

CLIENTE SATISFECHO

1. COSTO DEL SISTEMA 2. TIEMPO EN LA COLA 3.TIEMPO EN EL SISTEMA 4.LONGITUD DE COLA 5. OCUPACIÓN DE LOS SERVIDORES

Tipos de simulación:

Simulación predectiva

Simulación Investigativa

Simulación comparativa

Simulación Visual Interactiva

Simulación de caja negra

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

8

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Simulación predictiva: En la simulación predictiva nos interesamos por los resultados absolutos finales, no por las comparaciones. Determinamos promedios e intervalos de confianza de una corrida de simulación con valores específicos simulación en las variables de decisión (varias corridas, mejores resultados). Este tipo de simulación se puede utilizar para realizar pronósticos, por lo que es necesario contar con datos históricos de entrada confiables, se utiliza en procesos de decisiones que se repiten, por lo tanto debiera estar ocesos integrada en un DSS. Ejemplo: predecir el número de pacientes que necesitan transplante de riñon). Simulación comparativa comparativa: En la simulación comparativa determinamos cuando una opción es mejor que otra. (1 cola vs 4 colas). Se debe especificar detalladamente r que significado tiene la palabra "mejor", para definir cuales serán los datos de salida a comparar. Mejor significa mantener las colas lo mas cortas posibles o es un compromiso entre tiempo de servicio, largo de cola y tiempo costo por servidor? Se puede usar para tomar decisiones casuales o repetitivas, utilizar datos de entrada y salidas confiables Si los objetivos no son claros,(*) se confiables. proveerá de un rango variado de resultados, que le permita al usuario permitan definir a posteriori la importancia relativa de cada uno de ellos. Si los resultados o los datos de salida son claros se puede usar técnicas de hipótesis estadística de los resultados Simulación Investigativa: La simulación investigativa indica factores que afectan el flujo de indica entidades en el sistema pero no requiere de respuestas precisas, por lo que la calidad de los datos de entrada no son críticos. Simulación visual interectiva: La técnica de simulación visual interactiva es adecuada para apoyar la toma de decisiones.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

9

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Simulación de caja negra negra: Pensando al modelo como parte de un proceso de toma de decisiones, es conveniente, a veces, considerar el modelo como una caja negra, de donde salen flechas con datos, derivados directame directamente de los objetivos (y que difieren de un problema a otro) y a donde ingresan flechas con datos relacionados estrechamente con las hipótesis de trabajo del modelo. 1.2 Conceptos básicos de modelación La simulación es un tema muy amplio y mal definido q es muy que importante para los responsables del diseño de sistemas, así como para los responsables de su operación. Se entiende que el proceso de simulación incluye tanto la construcción e del modelo como su uso analítico para estudiar un problema. Un modelo de simulación comúnmente toma la forma de un conjunto de hipótesis acerca del funcionamiento del sistema, expresado con relaciones matemáticas o lógicas entre los objetos de interés del sistema. En contraste con las soluciones matemáticas exactas disponibles en la mayoría de los modelos disponibles analíticos, el proceso de simulación incluye la ejecución del modelo a través del tiempo, en general en una computadora, para generar nuestras representativas de las mediciones del desempeño o funcionamiento. El primer paso a dar para estudiar un sistema es elaborar un modelo, o el cual puede ser una representación formal de la teoría o una explicación formal de la observación empírica. Sin embargo, a menudo es una combinación de ambas. Los propósitos de usar un modelo son l siguientes: los  Hace posible que un investigador organice sus conocimientos teóricos y sus observaciones empíricas sobre un sistema y deduzca las consecuencias lógicas de esta organización.  Favorece una mejor comprensión del sistema.  Acelera análisis.  Constituye un sistema de referencia para probar la aceptación de tituye las modificaciones del sistema.  Es más fácil de manipular que el sistema mismo.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

10

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

 Hace posible controlar más fuentes de variación que lo que permitiría el estudio directo de un sistema.  Suele ser menos costoso. enos Al analizar un sistema podemos observar, que al cambiar un aspecto del mismo, se producen cambios o alteraciones en otros. Es en estos casos en los que la simulación, representa una buena alternativa para analizar el diseño y operación de co complejos procesos o sistemas. La modelación de sistemas es una metodología aplicada y experimental que pretende: 1. Describir el comportamiento de sistemas. 2. Hipótesis que problemática. expliquen el comportamiento de situaciones

3. Predecir un comportamiento futuro, es decir, los efectos que se producirán mediante cambios en el sistema o en su método de operación.

Definición de 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.

El uso de modelos no es algo nuevo. El hombre siempre ha tratado de representar y expresar ideas y objetos para tratar de entender y epresentar manipular su medio. Un requerimiento básico para cualquier modelo, es que debe describir al sistema con suficiente detalle para hacer predicciones válidas sobre el comportamiento del sistema. Más generalmente, las características del modelo deben corresponder a algunas características del sistema modelado. La figura siguiente muestra el concepto de un modelo de simulación:
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

11

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

ENTRADA X

ENTRADA

CORRESPONDENCIA

PARÁMETROS característica o atributos del sistema

CORRESPONDENCIA SISTEMA

MODELO

PARÁMETROS característica o atributos de modelo

INFERENCIA

SALIDA Y

SALIDA

Un modelo se utiliza como ayuda para el pensamiento al organizar y clasificar conceptos confusos e inconsistentes. Al realizar un análisis de sistemas, se crea un modelo del sistema que muestre las entidades, las interrelaciones, etc. La adecuada construcción de un modelo ayuda a organizar, evaluar y examinar la validez de pensamientos. Estructura de los modelos de simulación. Los componentes son las partes constituyentes del sistema. También se les denomina elementos o subsistemas. Las variables son aquellos valores que cambian dentro de la simulación y forman parte de funciones del modelo o de una función orman objetivo. Los parámetros son cantidades a las cuales se les asignar valores, una vez establecidos los parámetros, son constantes y no varían dentro de la simulación. "Las relaciones funcionales muestran el comportamiento de las n variables y parámetros dentro de un componente o entre componentes de un sistema. Estas características operativas pueden ser de naturaleza determinística o estocástica. Las relaciones determinísticas son identidades o definiciones que relacionan ciertas variables o parámetros, donde una es salida de proceso es singularmente determinada por una entrada dada. Las relaciones estocásticas son aquellas en las que el proceso tiene de
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

12

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

manera característica determinada.

una

salida

indefinida

para

una

e entrada

Las restricciones son limitaciones impuestas a los valores de las variables o la manera en la cual los recursos pueden asignarse o consumirse.

En las funciones de objetivos se definen explícitamente los objetivos del sistema y cómo se evaluarán, es una medida de la eficiencia del sistema. El porque de los modelos se debe a las siguientes condiciones:  Complejidad de la interrelación entre factores que definen un sistema.  Preparación del tomador de decisiones.  Incapacidad de clasificar los hechos relevantes e irrelevantes y cómo clasificar pueden afectarse al implementar decisiones.  Diseño o modificación de sistemas evaluando diferentes alternativas.  Menor costo que en sistemas reales la toma de decisiones.  La inexistencia del sistema re real.  Implementar sistemas para tomar decisiones genera grandes atrasos y se incurre en la posibilidad que el sistema implementado sea insatisfactorio.

   

Que sea completo Adaptabilidad Credibilidad Simplicidad (menor número de parámetros) cidad
Asignatura: Simulación

Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

13

Características deseables de un modelo de simulación

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

 Factible tanto en Información como en recursos  Económico (EL COSTO MÁXIMO DEL MODELO DEBE SER EL MÍNIMO BENEFICIO QUE SE OBTIENE)
$
COSTO DEL MODELO

COSTO DEL ERROR COMPLEJO DEL MODELO Y ERRORES (COMPLETO, EXACTO, ETC)

Clasificación de los modelos Los modelos pueden clasificarse de diversas maneras. Existen muchos modelos físicos tales como el modelo de un avión o, más generalmente, una réplica a escala de un sistema. Existen modelos esquemáticos que abarcan dibujos, mapas y diagramas. existen modelos simbólicos, de los cuales los que están basados en las matemáticas o en un código de computadora son simbólicos desempeñan funciones importantes en el diseño de los estudios de simulación de sistemas por medio de computadora. Algunos modelos son estáticos; otros, dinámicos. Un modelo estático omite ya sea un reconocimiento del tiempo o describe un instante del estado mite de un sistema en determinado momento. En contraste, un modelo dinámico reconoce explícitamente el transcurso del tiempo. Además de proporcionar una secuencia de instantes del sistema en el transcurso del tiempo, algunos sistema modelos dinámicos especifican relaciones entre los estados de un sistema en diferentes momentos. Otra distinción es la referente a los modelos deterministas contra modelos estocásticos. En los primeros, todas las entidades establecen entidades relaciones matemáticas o lógicas constantes. Como consecuencia, estas relaciones determinan soluciones. En un modelo estocástico, por lo menos una parte de la variación tienen una naturaleza casual. Por tanto, un investigador puede, a lo sumo, obtener soluciones promedio mediante
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

14

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

modelos estocásticos para resolver los problemas. El presente libro se concentra exclusivamente en modelos estocásticos. 1.3. Metodología de la Simulación La experiencia sugiere que la planeación de experimentos de simulación requiera de un procedimiento que consta de las etapas siguientes: 1. Formulación del problema. 2. Recolección y procedimiento de datos tomados en realidad. 3. Formulación de un modelo matemático. 4. Estimación de los parámetros de las características operacionales a partir de los datos reales. eracionales 5. Evaluación del modelo y de los parámetros estimados. 6. Formulación de un programa para la computadora. 7. Validación. 8. Diseño de los experimentos de simulación. 9. Análisis de los datos se simulación. Aunque el orden en que se implantan esos nueve pasos permanece que abierto a discusión, la figura 3.1 los muestra bajo una ordenación basada en los resultados de experiencias [Naylor, 1977]. Con toda seguridad, cualquier procedimiento de este tipo resulta sumamente arbitrario en su naturaleza y la posibilidad de juzgarlo sólo existe en un plano puramente pragmático.
(1) FOMULACIÓN DEL PROBLEMA

(2) RECOLECCIÓN Y PROCESAMIENTO DE DATOS (3) FORMULACIÓN DEL MODELO MATEMATICO

(4)

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

15

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

ESTIMACIÓN DELOS PARAMETROS

MODELO RECHAZADO EVALUACIÓN DEL MODELO (5)

MODELO ACEPTADO FORMULACIÓN DEL PROGRAMA PARA LA COMPUTADORA

(6)

(7) VERIFICACIÓN

(8) DISEÑO DE EXPERIMENTOS (9) ANALISIS DE DATOS DE LA SIMULACIÓN Fig. 3.1 Diagrama de flujo para la planeación de experimentos de simulación

FORMULACIÓN DEL PROBLEMA Es necesario en primer lugar definir claramente los objetivos de nuestra investigación, antes de hacer cualquier intento encaminado a planear la realización de un experimento en simulación. Encontraremos que la exposición original del problema varía considerablemente de su versión final, ya que la formulación del problema es un proceso secuencial que generalmente requiere de una formulación continua y progresiva de refinamiento de los objetivos de experimento durante su realización. Los objetivos de la investigación, tanto en la empresa y la economía, como también en la mayoría de las ciencias sociales, toma generalmente la sociales,
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

16

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

forma ya sea de: (1) preguntas que deben contestarse, (2) hipótesis que se deben probarse y (3) efectos por estimarse. RECOLECCIÓN Y PROCESAMIENTO DE DATOS TOMADOS DE LA REALIDAD. Necesitaríamos colectar y procesar una cierta cantidad de datos antes de que exista la posibilidad de definir algún problema. Para nuestros propósitos, resulta completamente irrelevante que los requerimientos para el procesamiento de datos procedan la formulación del problema o viceversa; si hemos de dirigir experimentos de simulación, es importante que ambas funciones se lleven a cabo. Existen, por lo menos, cinco razones por las cuales es necesario de disponer de un sistema eficiente para el procesamiento de datos, que permita alcanzar el éxito al realizar los experimentos de simulación. realizar En primer instancia la información descriptiva y cuantitativa. En segundo, los datos puedan sugerir hipótesis de cierta validez. Como tercer punto, los datos también pueden sugerir y mejoras o refinamientos en los modelos matemáticos. Cuarto; es necesario que los datos, reducidos a una forma final, se utilicen para estimar los parámetros de las características disponibles de operación relativas a las variables endógenas, exógenas y de estado del sistema. Finalmente, cabe considerar que sin tales datos, Finalmente, serían imposibles probar la validez de un modelo para la simulación. La recolección de datos es el proceso de capacitación de los hechos disponibles, con los cuales pueden ser procesados posteriormente, cuando sean necesarios. El proceso de recolección y el almacenamiento de an datos ocurre simultáneamente. FORMULACIÓN DE LOS MODELOS MATEMÁTICOS La formulación de los modelos matemáticos consiste en tres pasos: i. Especificación de los componentes ii. Especificación de las variables y los parámetros ecificación iii. Especificación de las relaciones funcionales.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

17

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Una de las primeras consideraciones que se toman en cuanta en la formulación de un modelo matemático reside en saber cuántas variables se deben incluir en el modelo. r La segunda consideración importante en la formulación del modelo matemático se refiere a la complejidad de los mismos. Por lo general, estamos interesados en al formulación de modelos matemáticos que produzcan descripciones o predicciones, razonablemente exactas, predicciones, referentes al comportamiento de un sistema dado y reduzca a la vez, el tiempo de computación y programación. Sin embargo, no es posible establecer con exactitud, la interdependencia de las características en los titud, modelos matemáticos, ya que tanto él numero de variables en un modelo, os, como su complejidad, se encuentran directamente relacionadas con los tiempos de programación, cómputo y validez. Si alteramos cualquiera de las citadas características, alteramos a su vez el resto de ellas. ellas. Una tercera consideración en la formulación de modelo matemáticos modelos para simulación en computadora estriba en el área de la eficiencia de computación, es decir, la complejidad del algiritmo1. Entendemos por ello, la cantidad de tiempo de cómputo re requerida para lograr algún objetivo experimental específico. El tiempo consumido para la programación de la computadora, constituye una cuarta consideración al formular modelos para simulación. ESTIMACIÓN DE LOS PARÁMETROS DE LAS CARACTERISTICAS OPERACIONALES A PARTIR DE LOS DATOS REALES NALES Una vez que hemos recolectado los datos apropiados del sistema y formulando varios modelos matemáticos que describen su comportamiento es necesario estimar sus valores de los parámetros de dichos modelos y probar su significación estadística. nificación Ejemplo. La estimación de parámetros de los modelos económicos cae dentro del dominio de la econométria econométria.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

18

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Entre los métodos importantes de estimación econométrica descritos por Goldber y Johnston [Naylor, 1977], y que se comparan sobre la base de sus propiedades estadísticas y de computación, se encuentran: 1.- Métodos de una sola ecuación. Mínimos cuadrados ordinarios. Mínimos cuadrados indirectos (Generalizados). Ecuación única con información limitada. Mínimos cuadrados de dos etapas. 2.- Métodos de ecuaciones simultáneas. Máxima probabilidad con información completa. Mínimos cuadrados de tres etapas. EVALUACIÓN DEL MODELO Y DE LOS PARAMETROS ESTIMADOS Es necesario hacer un juicio del valor inicial de la suficiencia de nuestro modelo, para probarlo. Esto se logra haciendo una comparación o de las mediciones iniciales obtenidas por nuestro modelo de simulación con las obtenidas de la realidad. Este paso representa sólo la primera etapa en la prueba de un modelo de simulación previa a las corridas reales en la computadora, por previa lo que en este punto nuestro interés reside en probar las suposiciones o entradas que se programarán en la computadora. En caso de que las características operacionales tomen la forma de distribuciones de probabilidad, será necesario aplicar pruebas de bondad de ajuste que determinen qué también se ajusta una distribución hipotética de probabilidad a los datos del mundo real. Deseamos también probar la importancia estadística de nuestras estimaciones de los valores esperados, los variancias y otros parámetros de estas distribuciones de probabilidad. Estas pruebas podrían comprender: 1.- Prueba referente a las medidas. Prueba de una muestra relativa a las medidas Diferencias entre medias 2.- Prueba referente a las variancias referentes
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

19

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

ji cuadrada Prueba F 3.- Pruebas basadas sobre el conteo de datos. Prueba referente a las proporciones Diferencias entre K proporciones Tablas de contingencia Pruebas de bondad de ajuste 4.- Pruebas no paramétricas Las pruebas de sig signo Pruebas basadas en suma de rangos Pruebas de la mediana La prueba U (Tchebychev) Pruebas de corridas Prueba de correlación en serie En caso de que las características operacionales tomen la forma de los modelos econométricos, requerimos probar la importancia estadística de importancia cada uno de los parámetros estimados en tales modelos, mediante el uso de las pruebas estándar t, y F. También desearemos aplicar pruebas que nos permitiran las violaciones en las suposiciones fundamentales de nuestros modelos econométricos; estas podrían comprender las pruebas para: étricos;      Errores en las variables Colinearidad múltiple Heterosedasticidad Autocorrelación Identificación

De entre las preguntas que nos interesa formular durante esta etapa del procedimiento, se encuentran las siguientes: ¿Incluimos algunas variables que no sean pertinentes, en el sentido de que contribuyen muy poco a nuestra capacidad para predecir el comportamiento de las variables endógenas de nuestro sistema?

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

20

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

¿Omitimos la inclusión de una o más variables e exógenas que pudieran afectar el comportamiento de las variables endógenas en nuestro sistema? ¿Formulamos incorrectamente una o más relaciones funcionales entre las variables endógenas y exógenas de nuestro sistema? ¿Apreciamos debidamente las estimaciones de los parámetros de las estimaciones características operacionales de nuestro sistema? ¿Cómo se comportan los valores teóricos de las variables endógenas de nuestro sistema con los valores históricos o reales basados en cálculos manuales? (ya que aún no formulamos un programa para computadora). Sólo si es posibles contestar satisfactoriamente las seis preguntas, procederemos al paso 6: la formulación de un programa para computadora. De otro, repetiremos los pasos del 1 al 5 hasta que sea posible responder satisfa satisfactoriamente las preguntas. FORMULACIÓN DE UN PROGRAMA PARA LA COMPUTADORA. La formulación de un programa para computadoras, cuyo propósito sea dirigir los experimentos de simulación con nuestros modelos del sistema bajo estudio, requiere que se considere especialmente las considere siguientes actividades:         Diagrama de flujo Lenguaje de computadora Compiladores de propósito general Lenguajes de simulación de propósitos especiales Búsqueda de errores Datos de entrada y condiciones iniciales Generación de datos Reportes de salida rtes

Al escribir un programa de simulación para computadora la primera etapa requiere la formulación de un diagrama de flujo que bosqueje la secuencia lógica de los eventos que realizará la computadora, al generar los tiempos planificados para las variables endógenas de nuestro modelo. las
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

21

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Podemos escribir nuestro programa en un lenguaje de propósitos generales como FORTRAN, BASIC, PASCAL , C++ o sus visuales o bien emplear un lenguaje de simulación como . SIMPAC, DINAMO, PROGRAM SIMULATE, GPSS, o nuevos como GPSSH, SLAM, PROMODEL, SINFACTORY, MICLROMANAGER, entre otros. Dependerá de la aplicación, el uso del lenguaje adecuado. En un capítulo posterior se describirán alguno de estos lenguajes y su aplicación particular. VALIDACIÓN Ciertamente, el problema de validar modelos de simulación es difícil l ya que implica un sinnúmero de complejidades de tipo práctico, teórico, estadístico e inclusive filosófico. La validación de experimentos de simulación forma parte de un problema mucho más general, es decir, el de la validación de cualquier clase de modelo o hipótesis. Las preguntas básicas son: “¿Qué significa validar una hipótesis?” y “¿Cuáles criterios deberán utilizarse para establecer la validez de una hipótesis?”. Aún así parece que por lo general sólo dos pruebas se consideran general apropiadas para validar los modelos simulación. Primeramente, ¿Qué tan bien coinciden los valores simulados de las variables endógenas con los datos históricos conocidos, si es que estos están disponibles?. En segundo lugar, ¿Qué tan exactas son las predicciones del comportamiento del sistema real hechas por el modelo de simulación, para períodos futuros (de tiempo)?. Asociada con cada una de estas pruebas, existe una gran variedad de pruebas estadísticas, tanto como clásicas como recientes. clásicas DISEÑO DE LOS EXPERIMENTOS DE SIMULACIÓN Una vez que estemos satisfechos con la validez de nuestro modelo para la computadora, estaremos en posibilidad de considerar su uso para dirigir efectivamente, los experimentos de simulación. De hecho, como ya simulación. hemos definido nuestro problema experimental, las variables endógenas y lo factores (variables exógenas y parámetros), deberemos interesarnos ahora por los detalles de diseño experimental. En esta fase, es posible identificar dos metas importantes: en primer metas lugar, seleccionaremos los niveles de los factores y las combinaciones de
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

22

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

niveles, así como el orden de experimentos; en seguida y una vez que seleccionaremos nuestras combinaciones de factores, deberemos esforzarnos por asegurar que los resultados queden libres de errores asegurar fortuitos. ANALISIS DE LOS DATOS SIMULADOS La etapa final en el procesamiento requiere un análisis de los datos generados por la computadora, a partir del modelo que simular. Tal análisis consiste de tres pa pasos: 1.- Recolección y procesamiento de los datos simulados. 2.- Cálculo de la estadística de las pruebas. 3.- Interpretación de los resultados. Aunque el análisis de los datos simulados es de hecho semejante al análisis de los datos del mundo real (Véanse los pasos 2, 3 y 4 de la figura (Véanse 3.1) existen algunas diferencias importantes. El análisis de los datos de simulación en computadora es, según los expertos, considerablemente más difícil que el análisis de los datos del mundo real. 1.4. Sistemas, modelos y simulación os En el mundo actual, tanto en el área de los negocios, como en la industria y el gobierno, los proyectos en gran escala y de gran complejidad son la regla y no la excepción. Estos proyectos complejos requieren estudios previos a su construcción o modificación, denominados estudios pilotos. cción Tales estudios pilotos se realizan utilizando la técnica llamada modelización, es decir, construcción de modelos donde se realiza el estudio con el fin de obtener conclusiones aplicables al sistema real. Construido el modelo, el proceso de ensayar en él una alternativa se llama simular. El conjunto de alternativas que se definen para su ensayo constituye la estrategia de la simulación. Los objetivos del proyecto definen cuál es el sistema y cuál el medi medio ambiente que lo rodea.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

23

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

El sistema procura satisfacer las necesidades cambiantes de ese medio ambiente en el que está insertado. Cada nuevo sistema lo modifica y crea en él nuevas necesidades. El sistema para poder subsistir debe adaptarse a los cambios Uno cambios. de los objetivos de la simulación es realizar ensayos de cambios en el sistema probándolos en el modelo, con el fin de elegir la mejor alternativa, y así enfrentar mejor a una realidad que varía día a día. En esta breve introducción se destacan tres conceptos fundamentales, tres que constituyen el eje de esta publicación y sobre los cuales se da a continuación una primera aproximación. Son los conceptos de: sistema, modelo y simulación. Sistema Pueden darse varias definiciones de sistema: • "Conjunto de elementos cuya interacción interesa estudiar" • "Conjunto de elementos que interactúan entre sí, con un fin común, que se aísla del universo para su estudio." • "Conjunto de partes organizado funcionalmente de manera tal de constituir una unidad interconectada terconectada” Existen otras definiciones sobre sistemas más complejas que estas, tales como: • “El estudio de las interacciones conduce lógicamente al concepto de organización sistemática.” (KHAILOV) • "Totalidad arbitraria de variables que el investigador escoge de un investigador gran número de variables que pertenecen al sistema real.” (ASHBY) • “Complejo de elementos que actúan recíprocamente”ó “la totalidad de elementos en interacción recíproca” (BERTALANFFY). Acentúa la relación, la influencia recíproca de los elementos que forman el sistema. Un único elemento los no puede constituir un sistema ni tampoco varios componentes aislados. • Unidad consistente en partes mutuamente interactuantes” (ACKOFF)

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

24

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

• “la totalidad de objetos junto con su mutua interacción” (HAL y (HALL FAGEN) • La esencia de estas definiciones, concluye KHAILOV, es el acoplamiento entre los componentes, y la organización como sistema resultante de este acoplamiento. • “Entidad que consiste en dos o más elementos y un conjunto no vacío de relaciones entre los elementos” (Francisco SAGASTI) • “La palabra sistema se refiere a una colección de procesos o eventos interrelacionados, abarcados por una frontera reconocible” (F. K. BERRIEN) BERRIEN). • “Un sistema puede ser definido como una reunión de componentes dotados de propiedades identificables y entre los cuales se perciben relaciones. El exterior de un sistema es su controno” (Charles A. McCLELLAND) • SADOWSKIJ nombra tres tipos básicos de sistema: • de cosas • de objetos • de conocimientos Como componentes específicos del concepto de sistema enumera: ntes • al conjunto de elementos • a la existencia de relaciones entre ellos • al carácter de totalidad del conjunto dado Nota: En todas estas definiciones se observa que para que constituyan un sistema los elementos deben ser varios y deben estar relacionados. entos SUBSISTEMA: Es un conjunto que se aísla dentro del sistema. El sistema puede verse como un subsistema del Universo. Cada subsistema puede ser tratado dentro del sistema o estudiado en forma aislada.

1) El comportamiento de cada subsistema. 2) Las relaciones entre los subsistemas. 3) Las relaciones con el mundo exterior, o sea con el medio ambiente que lo circunda.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

25

El comportamiento del sistema total depende de:

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

El sistema en estudio, puede subdividirse en subsistemas subdividirse interconectados, cada uno de los cuales está compuesto por elementos interconectados entre sí. El comportamiento del sistema dependerá del comportamiento de cada subsistema, de sus relaciones y del medio ambiente donde se lo , inserta. Los elementos y las relaciones que los ligan entre sí definen los subsistemas. Los subsistemas y las relaciones entre sí definen al sistema en estudio. Las relaciones entre los elementos del sistema constituyen la estructura del sistema. Estas ideas son fundamentales para la resolución de problemas que on implican la construcción de modelos modelos. Modelo: La simulación de sistemas implica la construcción de modelos. El objetivo es averiguar qué pasaría en el sistema si acontecieran determinadas hipótesis. Desde muy antiguo la humanidad ha intentado adivinar el futuro. Ha sde querido conocer qué va a pasar cuando suceda un determinado hecho histórico. La simulación ofrece, sobre bases ciertas, esa predicción del futuro, condicionada a supuestos previos. Para ello se construyen los modelos, normalmente una simplificación , de la realidad. Surgen de un análisis de todas las variables intervinientes en el sistema y de las relaciones que se descubren existen entre ellas. A medida que avanza el estudio del sistema se in incrementa el entendimiento que el analista tiene del modelo y ayuda a crear modelos más cercanos a la realidad. En el modelo se estudian los hechos salientes del sistema o proyecto. Se hace una abstracción de la realidad, representándose el realidad, sistema/proyecto, en un modelo. o, El modelo que se construye debe tener en cuenta todos los detalles que interesan en el estudio para que realmente represente al sistema real (Modelo válido). Por razones de simplicidad deben eliminarse aquellos detalles que no interesan y que lo complicarían innecesariamente.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

26

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Se requiere pues, que el modelo sea una fiel representación del sistema real. No obstante, el modelo no tiene porqué ser una réplica de aquél. Consiste en una descripción del sistema, junto con un conjunto de reglas que lo gobiernan. La descripción del sistema puede ser abstracta, física o simplemente verbal. Las reglas definen el aspecto dinámico del modelo. Se utilizan para estudiar el comportamiento del sistema real. Como ejemplo de modelo físico se pueden citar los túneles de viento donde se ensayan los aviones, los simuladores de vuelo, los canales de experiencia donde se ensayan los barcos, etc. Como ejemplo de modelo abstracto, se pueden citar los modelos econométricos donde, entre otras cosas, se pueden ens ensayar las consecuencias de medidas económicas antes de aplicarlas. Dado un sistema, son muchas las representaciones que se pueden hacer de él. Depende de las facetas del sistema que interesan en el estudio, de la herramienta que se utiliza en el mismo e in incluso de la modalidad personal del que lo construye. En los modelos deben estar identificadas perfectamente las entidades intervinientes y sus atributos. Las mismas pueden ser permanentes . (Ej.: empleados atendiendo) o transitorias (Ej. clientes). Las acciones . provocan cambios de estado, es decir, se modifican los atributos de las estado, entidades; se producen los eventos. C. WEST CHURCHMAN en su obra “The Systems Approach” nos resalta que “Todo diseño de sistema se orienta hacia el futuro, especialmente hacia u futuro cercano. Los diseños y modelos que un habitualmente se consideran versan sobre la etapa siguiente a la actual.” Por otro lado existe un Axioma: “el futuro es menos cierto que el presente”. También nos hace una aguda observación: “el pasado es tan d difícil de conocer con certeza como el futuro, cosa digna de reflexión en cuanto nos fundamos en datos del pretérito para averiguar el porvenir” porvenir”. El Planeamiento estático comprende una sola etapa. El planeamiento dinámico contempla múltiples etapas. Para predecir el futuro se postula lo siguiente:

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

27

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

• La actividad de estimar lo sucedido en lo pasado es separable de la actividad a estimar de lo que ha de suceder en lo futuro. Es decir, el análisis del futuro es separable del análisis del pasado. • Cualquier estimación específica de lo ocurrido en el pasado puede r ser evaluada conforme a una escala que va desde valores negativos pasando por cero a valores positivos (hay hechos que inciden negativamente, otros que no inciden y otros que inciden positivamente p para que ocurra algo). • El conocimiento del futuro es posible Se habla de causa causa-efecto bidireccional. Se dice que la variable X se usa para predecir Y (No se dice: “X es causa de Y”). En forma general para predecir Y en función del conjunto Xi de variables independientes: Y = g(X1,X2,...,Xn) Surgen dos errores para realizar la predicción de Y: • Error de ecuación: mal expresada la relación • Error de medida: mal evaluada las variables independientes. También debería tenerse en cuenta la libertad del comportamiento comportamiento humano, el cual: • No se comporta siempre de la misma manera • Sabe lo que tiene que hacer pero no sabe que es lo que haría si realmente tuviera que actuar. John W. SUTHERLAND señala que prácticamente todos los fenómenos del mundo real pueden ser modelizados según cuatro direcciones de pueden análisis: • El nivel de las variables de estado, donde se trata de investigar los principales aspectos estructurales o cualitativos del sistema sistema. • El nivel paramétrico, que implica la asignación de valores n numéricos específicos a las variables de estado estado.
Página

• El nivel de las relaciones, que implica establecer la naturaleza de las relaciones entre las variables de estado, y • El nivel de los coeficientes en que se asignan valores numéricos específicos a los conjuntos de las variables de estado. njuntos

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

28

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

El que va a tomar la decisión percibe en forma real, o aparente, una identidad efectiva entre el estado real del sistema y el postulado. Al percibirla toma la decisión, de lo contrario comienza el análisis para lograr esa identidad A posteriori se hace un análisis de informaciones comparando lo previsto con lo real para el instante t y el instante t 1. Mientras perciba una t-1. diferencia entre lo postulado y lo real continuará el proceso de análisis. Cuando logre la identidad procederá a tomar su decisión. dad Tenemos un planteo teórico general que nos permite inferir el futuro en base al conocimiento del presente y la influencia del pasado en un modelo válido (identificación entre lo real y lo postulado). En las decisiones e existen sistemas donde prima: • El determinismo. La base de datos y las relaciones causales son determinismo. altamente específicas y precisas respecto del fenómeno contemplado. Sólo se espera que haya uno y sólo un acontecimiento probable, que repetirá situaciones anteriores. Se tiene una identidad efectiva entre los estados a riores. priori y los que realmente se producen. Los instrumentos de análisis correspondientes son: modelos de análisis de estados de los sistemas finitos; programación lineal y modelos de máx. Y mín.; aná análisis de la regresión, de la correlación, análisis de series temporales y espectrales, con tratamiento exógeno del error, si es que lo hay. • Una Estocasticidad moderada: la variación de las variables y parámetros. El ser humano tiene restricciones de tiempo que muchas veces le obligan a decidir sin percibir esta identidad, es decir, sin tener elementos de juicio que le indiquen con certeza cuál es la mejor decisión. El modelo es una representación o abstracción de una situación u objetos reales, que muestra las relaciones (directas e indirectas) y las muestra relaciones de la acción y la reacción en términos de causa efecto. Como un modelo es una abstracción de la realidad, puede parecer menos complicado que la misma. Para que sea completo, el modelo debe se ser representativo de aquellos aspectos de la realidad que están investigándose.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

29

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Debido a que la simulación es solamente un tipo de modelación, aunque muy importante, preparemos el escenario para un comentario sobre modelación de simulación considerando primero la modelación en términos primero generales. Una de las razones básicas para el desarrollo de modelos es la de descubrir cuáles son las variables importantes o pertinentes. El descubrimiento de las variables pertinentes está estrechamente asociado con la investigación de las estadísticas y la simulación para investigar las estigación relaciones que hay entre las muchas variables de un modelo. FUNCIÓN DE LOS MODELOS El concepto de la representación de algún objeto, sistema o idea, con un modelo, es tan general que es difícil clasificar todas las funciones que satisfagan los modelos. La mayoría de los autores de libros de simulación, reconocen por lo menos cinco usos comunes: 1. 2. 3. 4. 5. Una ayuda para el pensamiento. Una ayuda para la comunicación. Para entretenimiento e instruc instrucción. Una herramienta de predicción. Una ayuda para la experimentación.

La utilidad de modelo como ayuda para el pensamiento es evidente. Los modelos pueden ayudarnos a organizar y clasificar conceptos confusos e inconsistencias. Por ejemplo, la construcción de un modelo de construcción representación de una red con el método PERT (evaluación de programas y técnicas de revisión) para un trabajo de diseño de sistemas complejos, obliga a pensar sobre qué pasos son necesarios y su consecuencia. Si es adecuada, la construcción de modelos obliga a organizar, evaluar y trucción experimentar la validez de pensamientos. Los modelos han sido, y continúan teniendo un uso generalizado como ayudas para el entretenimiento e instrucción. A menudo los modelos son ideales para entrenar a una persona, para que aprenda nuevas habilidades y pueda afrontar varias eventualidades antes de que ocurran. Un muñeco de tamaño natural es utilizado en ocasiones para enseñar
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

30

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

técnicas de primeros auxilios, modelos de vehículos espaciales se usan para entrenar astronautas, modelos para enseñar a conducir automóviles, y simulación de negocios para entrenar ejecutivos, son algunos ejemplos de modelos de entrenamiento. Quizás, uno de los usos más importantes de los modelos, práctica e históricamente, es la predicción de las características del comportamiento de la entidad modelada. No es económicamente factible construir un jet supersónico para determinar sus características de vuelo bajo condiciones extremas, sin embargo, su comportamiento se puede predecir mediante la predecir simulación Mediante simulación se verificaron las disposiciones de emergencia del Apolo 13, antes de implantarlas; éstas les permitieron a los astronautas regresar a salvo después de la explosión del tanque de oxigeno. La mayoría de los modelos que se tratan en os libros de simulación son herramientas de predicción. Finalmente, el uso de los modelos hace posible la experimentación controlada en situaciones en que los experimentos directos serían imprácticos o prohibitivos por su costo. CLASIFICACIÓN DE LOS MODELOS DE SIMULACIÓN SIFICACIÓN Las diferentes clasificaciones de los modelos dan una idea adicional de sus características esenciales, porque pueden describirse de muchos modos. Los modelos pueden clasificarse por sus dimensiones, funciones, propósitos, temas o grado de abstracción. La base más común es la de tipos de modelos, que incluye los tipos básicos: icónico, analógico y simbólico o matemático. Los modelos pueden clasificarse de manera general y los modelos de simulación de manera particular, de diversas formas. Por desgracia, particular, ninguna es completamente satisfactoria, a pesar de que cada una sirve a un propósito particular. Algunos de estos esquemas de clasificación son los siguientes:     Estático (de corte seccional) vs. Dinámico (series de tiempo) (series Determinantico vs Estocástico. Discreto vs Continuo. Icónico o físico vs Analógico vs Simbólico.
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

31

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

MODELOS ICONICOS O FÍSICOS Un modelo icónico es una representación física de algunos objetos, ya sea en forma idealizada o en escala distinta. Para expresarlo de otro distinta. modo, una representación es un modelo icónico hasta el grado en que sus propiedades sean las mismas que tiene lo que representa. Los modelos icónicos son muy adecuados para la descripción de acontecimientos en un momento específico del tiempo. Por ejemplo, una maqueta es una buena ico imagen de una fábrica, mientras que las operaciones reales de una fabrica construid en términos de un pequeño modelo que funcione, pueden ser demasiado costosas para construir y modificar a fin de estudiar sus posibles estudiar mejoras. Otra característica de un modelo icónico la constituyen sus dimensiones, dos dimensiones (fotografía, plano y mapa), o tres dimensiones , (maqueta, globo, automóvil y avión), llamados generalmente modelos escala. Cuando un modelo sobrepasa la tercera dimensión, como ocurre en muchos problemas de investigación de operaciones y simulación, es imposible construirlo físicamente, y entonces pertenece a otra categoría de modelos llamados simbólicos o matemáticos.

MODELOS ANALOGICOS Los modelos analógicos pueden representar situaciones dinámicas y se usan más que los icónicos, porque pueden mostrar las características del acontecimiento que se estudia. Las curvas de demanda, las curvas de distribución de frecuencia en las estadísticas y los diagramas de flujo, son estadísticas ejemplos de modelos analógicos. A menudo un modelo analógico es muy adecuado para representar relaciones cuantitativas entre las propiedades de los objetos de varias clases. Al transformar las propiedades en propiedades analógicas, con frecuencia podemos incrementar nuestra capacidad de hacer cambios. Otra ventaja de los modelos analógico sobre los icónicos es que ordinariamente puede hacerse que los primeros representen muchos procesos del mismo tipo, lo que se hace evidente en el flujo de trabajos en evidente procesos y productos terminados de una fabrica.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

32

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

No podría usarse eficazmente un modelo icónico para estudiar los efectos de ciertos cambios en el control de calidad. Un diagrama de flujo es un modelo analógico muy sencillo y eficaz en esas condiciones. sencillo MODELOS SIMBOLICOS (MATEMATICOS) Nos interesan principalmente los modelos simbólicos que son verdaderas representaciones de la realidad y toma la forma de cifras, símbolos y ecuaciones matemáticas. Comienzan como mode abstractos modelos que formamos en nuestra mente y luego se registran como modelos simbólico o matemático que se usa comúnmente en la investigación en general, es la ecuación. Una ecuación es concisa y fácil de comprender. Sus símbolos no sólo son más fáciles de manipular que las palabras, sino fáciles que se escriben más rápidamente. Además de estos atributos, los modelos simbólicos se prestan a las manipulaciones de las computadora, a través de lenguajes de programación de propósito partículas o general, los cuale cuales trataremos en un capítulo posterior. Los modelos simbólicos los hemos descrito hasta ahora en un sentido muy amplio. Las ecuaciones no sólo son ejemplos de modelos, sino que modelos comunes de negocios incluyen además, declaraciones de ingresos, tablas de organización de empresas, etc. Hay que tener en cuenta que pueden representarse problemas para los que las analogías son más eficientes que los modelos simbólicos. Por ejemplo, un sistema puede ser tan complicado que la cantidad de trabajo requerida para construir un para modelo simbólico sea demasiado costosa si se relaciona con ganancias posibles. A menudo es difícil asignar tan sólo un modelo a una clase, y esto es especialmente cierto con respecto a los modelos de simulación, que son modelos analógicos y que se describen con símbolos matemáticos. TIPOS DE MODELOS MATEMÁTICOS Como los modelos matemáticos son los que más interesan principalmente, los separaremos por categorías, lo que nos dará un soporte lógico para clasificarlos. Sin que esta clasificación pretenda estar clasificación completa; la podemos a disposición del lector, para que éste tenga una mejor comprensión de las diferencias esenciales entre los modelos. CUANTITATIVOS Y CUALITATIVOS
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

33

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Cuando construimos un modelo matemático e insertamos símbolos para representar constantes y variables (en gran parte números), Llamamos a esto un modelo cuantitativo. Se considera que una ecuación matemática es un modelo de este tipo, porque representa una abstracción de las relaciones o condiciones entre constantes y variables. Las fórmulas, matrices, diagramas o series de valores que se obtienen mediante procesos algebraicos son ejemplos comunes de los modelos matemáticos. Los modelos que se ocupan de las cualidades de los componentes se llaman cualitativos. Hay muchos problemas en los que no pueden muchos cuantificarse exactamente debido a uno o más de los siguientes motivos: técnicas inadecuadas de medición, necesidad de muchas variables, algunas variables desconocidas, relaciones especiales desconocidas, relaciones demasiado complejas para expresarse en forma cuantitativa. siado Sin embargo, mediante el empleo del análisis lógico, sistemas de clasificación, métodos de ordenamiento, teoría de conjuntos, análisis dimensional, investigación de operaciones, análisis de decisiones y simulación se pueden obtener ciertos valores representativos del sistema bajo análisis. ESTANDAR Y HECHOS A LA MEDIDA Se usan modelos estándar para describir las técnicas que han llegado a asociarse con la investigación de operaciones (I. O.). Para usar esas técnicas se insertan los valores (números) apropiados de un problema específico de negocios en el modelo estándar para obtener una respuesta. Se obtiene un modelo hecho a la medida cuando se usan los conceptos básicos de diversas disciplinas, y especialmente las matemáticas, para construir un modelo de ajuste al problema de que se trata. Un ejemplo de este caso es el Análisis Veture [Thierauf, 1995], utilizado en investigación de operaciones, que reúnen varios métodos estándar de la I. O.
Página
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

34

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

1.5 Estructura y etapa de un modelo de simulación DEFINICIÓN DEL SISTEMA Cada estudio debe de comenzar con SISTEMA. tudio una descripción del problema o del sistema. Debe determinarse los límites o fronteras, restricciones, y medidas de efectividad que se usarán. FORMULACIÓN DEL MODELO. Reducción o abstracción del sistema RMULACIÓN MODELO. real a un diagrama de flujo lógico. PREPARACIÓN DE DATOS Identificación de los datos que el DATOS. modelo requiere y reducción de estos a una forma adecuada. SELECCIÓN DEL LENGUAJE LENGUAJE: De la selección d del lenguaje dependerá el tiempo de desarrollo del modelo de simulación, es importante utilizar el lenguaje que mejor se adecué a las necesidades de simulación que se requieran. La selección puede ser desde usar un lenguaje general como lo es BASIC, PASCAL o FORTRAN hasta hacer uso de un paquete específicamente para simular sistemas de manufactura como el SIMFACTORY o el PROMODEL, o lenguajes de Simulación como: GPSS, SLAM, SIMAN, SIMSCRIPT, etc. TRANSLACIÓN DEL MODELO Consiste en generar las instruccio MODELO. instrucciones o código computacional o necesario para lograr que el modelo pueda ser ejecutado en la computadora. VALIDACIÓN DEL MODELO Es el proceso que tiene como objetivo MODELO. determinar la habilidad que tiene un modelo para representar la realidad. La validación se lleva a cabo mediante la comparación estadística de los e resultados del modelo y los resultados reales. PLANEACION ESTRATÉGICA Diseño del un experimento que ESTRATÉGICA. producirá la información deseada. PLANEACIÓN TÁCTICA Determinación de cómo se realizará cada TÁCTICA. una de las corridas de prueba EXPERIMENTACIÓN. EXPERIMENTACIÓN. Corrida de la simulación para generar los datos deseados y efectuar análisis de sensibilidad.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

35

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

INTERPRETACIÓN. INTERPRETACIÓN Obtención de inferencias con base en datos generados por la simulación IMPLANTACIÓN. Una vez seleccionada la mejor alternativa es leccionada importante llevarla a la práctica, en muchas ocasiones este último caso es el más difícil ya que se tiene que convencer a la alta dirección y al personal de las ventajas de esta puesta en marcha. Al implantar hay que tener cuidado con las diferencias que pueda haber con respecto a los resultados simulados, ya que estos últimos se obtienen, si bien de un modelo representativo, a partir de una suposiciones. MONITOREO Y CONTROL No hay que olvidar que los sistemas son CONTROL: dinámicos y con el transcurso del tiempo es necesario modificar el modelo de simulación, ante los nuevos cambios del sistema real, con el fin de llevar a cabo actualizaciones periódicas que permitan que el modelo siga siendo una representación del sistema sistema. 1.6. Etapas de un proyecto de Simulación Etapa Formulación del problema. Diseño del modelo conceptual. Recogida de datos. Construcción del modelo. Verificación y validación. Análisis. Documentación. Implementación. Descripción Define el problema que se pretende estudiar. Incluye por escrito sus objetivos. Especificación del modelo a partir de las características de los elementos del sistema que se rísticas quiere estudiar y sus interacciones teniendo en cuenta los objetivos del problema. Identificar, recoger y analizar los datos necesarios para el estudio. Construcción del modelo de simulación partiendo del ción modelo conceptual y de los datos. Comprobar que el modelo se comporta como es de esperar y que existe la correspondencia adecuada entre el sistema real y el modelo. Analizar los resultados de la simulación con la izar finalidad de detectar problemas y recomendar mejoras o soluciones. Proporcionar documentación sobre el trabajo efectuado. Poner en práctica las decisiones efectuadas con el apoyo del estudio de simulación.
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

36

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

UNIDAD 2 NUMEROS PSEUDOALEATORIOS

2.1 Generación de números pseudoaleatorios En principio definiremos la función de distribución acumulada para la distribución uniforme estandarizada como: ( )= 0 1 x<0 0<x<1 x>1

En la práctica, se requieren sucesiones de números aleatorios para la generación de los datos de entrada para el proceso de simulación. Se tienen cuatro métodos alternativos para generar o proveer sucesiones de números aleatorios: 1. Métodos manuales {lanzamiento de monedas, dados, cartas, {lanzamiento ruleta, etc.} 2. Tablas {corporación rand} 3. Métodos analógicos de computación 4. Métodos de computación digitales Los métodos analógicos comprenden el uso de procesos físicos aleatorios (comportamiento de corriente eléctrica), se considera que ), producen verdaderos números aleatorios.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

37

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

En el caso de los métodos digitales hay 3 formas para proveerse de números aleatorios: provisión externa, generación interna por medio de un proceso físico al azar, generación interna por medio de una relación de edio recurrencia. En el caso de provisión externa, lo que se hace es, grabar las tablas de números aleatorios en una cinta del sistema de la computadora digital. La segunda alternativa utiliza un aditamento de la computadora que puede registrar los resultados de algún proceso aleatorio y que los traduzca a sucesiones de dígitos, tales procesos pueden ser el decaimiento radiactivo, el ruido térmico entre otros. térmico, El defecto de estos procedimientos analógicos es el de que las sucesiones así generadas no pueden reproducirse. í La generación interna por medio de una relación de recurrencia, comprende la generación por medio de una “transformación transformación indefinidamente continuada aplicada a un grupo de números elegidos en ndefinidamente continuada” forma arbitraria. El primer método conocido para generar números aleatorios de r manera recurrente se considera que es de los “cuadrados centrales”, en el que cada número de la sucesión se obtiene tomando los dígitos centrales del cuadrado del número precedente. En la actualidad se prefiere el uso del método de “congruencias” para generar números aleatorios satisfactorios. Cualquiera que sea el método para generar números aleatorios debe satisfacer las siguientes condiciones: Deben ser: 1. Uniformemente distribuidos 2. Estadísticamente independientes mente 3. Reproducibles 4. Sin repetición dentro de una longitud determinada de la sucesión 5. Generación a grandes velocidades 6. Requerir el mínimo de capacidad de almacenamiento
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

38

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Método de Congruencias: e Estos métodos se basan en una relación fundamental de congruencias relación que se expresa como: ni+1 = a ni + c (mod m) → 1 donde: ni, a, c y m : para i= 0,1,2,... n1= a n0 + c (mod m) n2= a n1 c= a(an0 + c) + c º a2 n0 + (a +1)c (mod m) n3= a3n0 (a2-a+1)c = a3n0 + c (a2 (mod m) a+1)c (a2-1) . (a-1) . . ni= aino + c(ai-1) (mod m) → 2 1) (a-1) n0 = constante inicial c = constante aditiva a = constante multiplicativa Los términos de la sucesión {ni} forman una sucesión de residuos modulo m, es decir, ni < m " ni; a partir de los números enteros de la sucesión {ni} se pueden obtener números racionales en el intervalo (0,1) con ni} solo formar la sucesión: {ri} = {ni / m} Respecto a la pregunta de que si existe un mínimo valor positivo para i, i=h tal que nh = n0 donde h es el período de la sucesión {ni}; si h existe, cabe preguntarse que condiciones se pueden imponer sobre n0, a, c e, y m de manera que el periodo de {ni} sea lo más largo posible.
Página

son enteros no negativos al desarrollar la ecuación

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

39

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Se tienen 3 versiones del método de congruencias para generar números pseudoaleatorios: Características de los números pse pseudoaleatorios a) b) c) d) Uniformemente distribuidos Estadísticamente independientes Reproducibles Sin repetición dentro de una longitud determinada

Métodos que utilizan ecuaciones de recurrencia para generar números étodos pseudoaleatorios. Aquí describiremos los métodos de generación de números métodos pseudoaleatorios, usando ecuaciones de recurrencia. Método de cuadrados centrales. étodo Históricamente, el primer método aritmético para generar números pseudoaleatorios, fue el de los cuadrados centrales, en el que cada número de la sucesión se obtiene tomando los dígitos centrales del cuadro del número precedente. El modelo matemático que los describe es: n0 = semilla entera (entero positivo) ni = dígitos centrales de n2i-1 xi = dígitos centrales de x2i-1 para i = 1, 2, 3,… ejemplo: a) ENTERO sea: n0 = 83, n1 = d. c. (6889) = 88 n2 = d. c. (7744) = 74 n3 = d. c. (5476) = 47 n4 = d. c. (2209) = 20 n5 = d. c. (0400) = 40 n6 = d. c. (1600) = 60
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

40

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

b) FRACCIONARIO (Semilla impar y primo) n0 = 0.528 n1 = 0.278784 n2 = 0.619369 n3 = 0.037249 n4 = 0.138124 n5 = 0.146689 n6 = 0.217151 n7 = 0.029241 n8 = 0.085264 n9 = 0.725904 n10 = 0.067021 n11 = 0.4489 4489 n12 = 0.239121 n13 = 0.152881 n14 = 0.278784 = 0.787 = 0.193 = 0.372 = 0.383 = 0.466 = 0.171 = 0.292 = 0.852 = 0.259 = 0.670 = 0.489 = 0.391 = 0.528 = 0.787

P = 13

n14 = 0.278784 = 0.787 Métodos de generación de números pseudoaleatorios -Métodos congruenciales “69” Métodos Reglas:  C debe ser un entero impar, no divisible ni por 3 ni por 5  a usualmente puede ser cualquier constante sin embargo para asegurar buenos resultados, seleccione a de tal forma que (a) mod 8= 5 para una computadora binario a o (a) mod 200 = 21 para una computadora una decimal.  M debe ser el número entero más grande que la computadora acepte De acuerdo con Hull y Debell, los mejores resultados generador congruencial mixto en una computadora binaria son:     a = 8 * c3 c = cualquier entero r0 = cualquier entero impar (ni) m =2b donde b>2 y que m sea aceptado por la computadora par un para

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

41

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

METODO DE CONGRUENCIAS PARA GENERAR NÚMEROS PSEUDOALEATORIOS
Fórmulas generales de congruencias. MIXTO ni+1 = (ani +c)mod m MULTIPLICATIVO MU ni+1 = (a*ni )mod m

Para i = 0, 1, 2, …,m 1, donde a, c, m son enteros positivos. A n0 se le llama …,m-1, semilla inicial. i a 1 i n  a n  c mod m 0 a 1 donde i = 0, 1, 2,…,m-1 a, c, n0 < m h = máximo periodo

Método multiplicativo c =0
BASE 2 h = 2b-2 ; m= 2b donde a impar n0 impar positivo (a,m) =1 b<2

Método mixto c  0
h = m = 2b ; donde b > 2

a m

a  2 2 1 a  2 s  1; s  2
b

c = impar positivo y n0 entero positivo

b  b  par b 2  b 1 2 b  b  impar 2 a  22  1 ;
válida para

b4

si b = 3 poner a = 5. BASE 10 h = 5 * 10d-2; d>3 m = 10d h = m 10d; d  3

t= cualquier entero positivo tero

si d = 3, poner a = 101 para d  4

p  3 mod 8  0
p = {3,11,13,19,21,27,29,

a  10

d 2

1

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

a  200t  p

a  10 2  1 a  10s  1; s  1
d

42

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

53,59,61,77,83,91 etc} mod 200 n0 impar positivo y (a,5)01

c= impar positivo y (c,5) = 1 n0 entero positivo

METODO MIXTO BASE 2 Genera tantos números igual al modulo para b> 2 METODO MULTIPLICATIVO BASE 10 m>h Mínimo del modulo sería 10,000 p= 3 mod 8 residuo 3 p < mod m (a,5) = 1 significa que a no debe ser múltiplo de 5 METODO MIXTO BASE 10 Se genera un periodo igual al modulo

h  m  10  d  3  a  a  10 2  1
a  10s  1;
s= 1, 2, 3,…
d

d 2

caso particular c que no sea múltiplo de 5 c= 1, 3, 7, 9, 11, 13, 117, 19, ….(m = ….(m-1) n0 = cualquier entero positivo…(m positivo…(m-1) ejemplo: h = m = 103 d=3 3/2 + 1 = 32.62 a  10 posibles de a s a
3 4 2 1001 10001 101 el que más se acerca a 32.62 es 101, a = 101 acerca

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

43

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

d 3 4 5 6 7 8 9

 a
32.62 101 317.22 1001 3163.27 10001 31623.77

d 3 4 más cercano al valor de a. 5 6 7 8 9

a 101 1 101 101 1001 1001 10001

 Cuando d = 3, a = 32.62 en los valores de 5 a 9 cualquier valor que más se acerque a 32.62 es s = 2 y a = 101
d  d  par d 2  d 1 2  d  impar 2
d= 4 d= 5 a=104/2 + 1 = 102 + 1 a=105/2 + 1 = 101

Ejemplo: Base 2 MUL MULTIPLICATIVO h = 27 b -2 = 7 de donde b= 7 + 2 , 2 n = 2b-2, b > 2. M = 2b m = 29 , m = 512.

b =9

a  m  a  impar

a  512  22.63
a  8t  3 ,
t 0 1 a t = 0, 1, 2, 3, 4, 5, …

3
5 11
Página
Asignatura: Simulación

2

13 19

Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

44

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

3

21 27

4

29 35

n0 = 1, 3, 5, 7, 9,… 511, impar menor que m. (a , m) = 1 primo relativo, divisibles entre 1, máximo común divisor lativo, (5 , 15) = 1 No son primos relativos (8 , 9) = 1 son primos relativos porque no tienen factores primos comunes que los puedan dividir. Ni+1 = 21ni mod 512 i =0, 1, 2, 3, 4, 5, 6, …127 127 + n0 = 128 h = 27 = 128. NOTA: Con estos parámetros genero 128 datos. on Método aditivo de congruencias

ni1  ni  ni k mod m

con k = 1, 2, 3, 4, 5, …

n0 , n1 , n2 ,... nk semillas
Se presupone k valores iniciales dados, con k un númer entero número positivo. Si k = 1, la ecuación de recurrencia genera la conocida sucesión de Fibonacci. Esta sucesión se comporta como las sucesión que se genera con el método multiplicativo de congruencias, con el factor factor:

a  1  5 2. .
Las propiedades estadísticas de este método tienden a mejorarse ropiedades cuando k se incremente. Además, este método genera períodos mayores que el módulo m.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

45

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

2.2 Pruebas estadísticas de aleatoriedad

Los métodos analógicos comprenden el uso de procesos físicos aleatorios (comportamiento de corriente eléctrica), se considera que producen verdaderos números aleatorios. En el caso de los métodos digitales hay 3 formas para proveerse de números aleatorios: provisión externa, generación interna por medio de un proceso físico al azar, generación interna por medio de una relación de recurrencia. En el caso de provisión externa, lo que se hace es, grabar las tablas de números aleatorios en una cinta del sistema de la computadora digital. La segunda alternativa utiliza un aditamento de la computadora que aditamento puede registrar los resultados de algún proceso aleatorio y que los traduzca a sucesiones de dígitos, tales procesos pueden ser el decaimiento radiactivo, el ruido térmico entre otros. térmico, El defecto de estos procedimientos analógicos es el de que las sucesiones así generadas no pueden reproducirse. La generación interna por medio de una relación de recurrencia, comprende la generación por medio de una “transformación transformación indefinidamente continuada aplicada a un grupo de números e continuada” elegidos en forma arbitraria. Además se discutirán pruebas de independencia de dos variables aleatorias en las cuales la evidencia maestral se obtiene mediante la clasificación de cada variable aleatoria en un cierto número de categorías. Este tipo de prueba recibe el nombre de bondad de ajuste. Para un ba tamaño específico del error de tipo I, la hipótesis nula será rechazada si existe una diferencia suficiente entre las frecuencias observadas y las esperadas. La hipótesis alternativa es compuesta y a veces no suele estar identificada. El resultado es que la función potencia es difícil de obtener.
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

46

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

En consecuencia, una prueba de bondad de ajuste no debe usarse por sí misma para aceptar la afirmación de la hipótesis nula. 2.
dada Considérese una muestra aleatoria de tamaño n de la distribución de una variable aleatoria X dividida en k clases exhaustivas e incompatibles, y sea N i i = 1, 2, …, k. el número de observaciones en la i ésima clase. Considérese la hipótesis nula i-ésima H0: F(x)=F0(x) en donde el modelo de probabilidad propuesto F0(x) se encuentra especificado de manera completa, con respecto a todos los parámetros. Es posible, pues, calc calcular pi: probabilidad de obtener una observación en la i iésima clase, bajo H0. Es obvio, también, que

Prueba de bondad de ajuste chi chi-cuadrado

Se utiliza para decidir cuando un conjunto de datos se ajusta a una distribución

Sea ni la realización de Ni para i = 1,2,…, k de manera que

La probabilidad de obtener de manera exacta ni observaciones en la i i-ésima clase es

Dado que existen k categorías mutuamente excluyentes con probabilidades p1, p2, …, pk; entonces bajo la hipótesis nula la probabilidad de la muestra agrupada es igual a la función de probabilidad de una distribución multinomial determinada.

Para deducir una prueba estadística para H0, considérese el caso de k = 2. Este es el caso de la distribución binomial con x = n1, p = p1, n-x =n2 y 1 =p2. Sea la 1-p variable aleatoria estandarizada:

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

47

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

para n grande, esta variable aleatoria se distribuye según una N(0;1). Además sabemos que el cuadrado de una variable aleatoria N(0,1) se distribuye según una chi chicuadrado con un grado de libertad. Entonces el estadístico

Si se sigue este razonamiento, puede demostrarse que para k demostrarse k≥2 categorías distintas

Nótese que Ni es la frecuencia observada en la i ésima clase y npi la esperada i-ésima bajo la hipótesis nula. Esta estadística recibe el nombre de prueba de bondad de ajuste chi chi-cuadrada de Pearson. Si existe una concordancia perfecta entre las frecuencias observadas y las concordancia esperadas, el estadístico tendrá un valor igual a cero; por otra parte si las discrepancias entre estas frecuencias son grandes, el estadístico tomará un valor, también muy grande. Por ello se desprende que para un valor dado del error de tipo I, desprende la región crítica estará en el extremo superior la distribución chi cuadrada con k-1 chi-cuadrada grado de libertad. Una ventaja de la prueba de bondad de ajuste chi cuadrada es que para chi-cuadrada valores grandes de n, la distribució límite chi-cuadrada de la estadística, es distribución cuadrada independiente de la forma que tenga la distribución F0(x) propuesta en la hipótesis H0. Como consecuencia de esto se tiene que la prueba de bondad se utiliza también para distribuciones de probabilidad en las que F0(x) es continua. Sin embargo, debe insistirse en que la prueba de bondad es discreta, en el sentido de que ésta compara frecuencias que se observan y se esperan para un número finito de categorías. De acuerdo con lo anterior, si F0(x) es continua, la prueba no compara las ueba frecuencias que se observan aisladas con la función de densidad propuesta tal y como implica la hipótesis nula; sino, más bien, la comparación se lleva a cabo aproximando la distribución continua bajo H0 con un número finito de intervalos de clase.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

48

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

No obstante, esta prueba es un procedimiento razonablemente adecuado para probar suposiciones de normalidad siempre y cuando el tamaño de la muestra sea suficientemente grande. ¿Qué tan grande debe ser el tamaño de la muestra? Se ha encontrado que con n igual a 5 veces el número de clases, los resultados son aceptables. Una regla conservadora es que ninguna clase tenga una frecuencia inferior a 5; si esto sucediera, se agruparían clases vecinas. A menos que se especifique una hipótesis alternativa que consista en un modelo alternativa alternativo particular F1(x), la potencia de la prueba (probabilidad de que un valor se encuentre en la región crítica cuando H0 es falsa) es muy difícil de determinar. Por otra parte, puede demostrarse que la potencia tiende a 1 cuando n tiende a infinito. Esto implica que cuando n es muy grande es casi seguro que se rechaza H0, pues es muy difícil especificar una F0(x) lo suficientemente cercana a la distribución. Por tanto esta prueba es cuestionable para muestras muy grand grandes. Recuérdese que el modelo de probabilidad propuesto F0(x) se especificó completamente. Por regla general, solo se conoce la normalidad de F0(x), necesitándose estimar la media y la varianza, en consecuencia las frecuencias esperadas npi; i =1,2,…,k no pueden determinarse. Sea T el estadístico del parámetro desconocido θ de F0(x). Tanto Ni (frecuencias observadas) como npi(T) frecuencias esperadas son variables aleatorias, donde pi(T) indica que la probabilidad bajo la hipótesis nula es función del estadístico T de θ. estadístico Puede demostrarse que si T es el estimador de máxima verosimilitud de θ, entonces:

en donde r es el número de parámetros que se está intentando estimar. Ejemplo 1 El gerente de una planta industrial pretende determinar si el número de empleados que asisten al consultorio médico de la planta se encuentran distribuido en eados forma equitativa durante los 5 días de trabajo de la semana. Con base en una muestra aleatoria de 4 semanas completas de trabajo, se observó el siguiente número de consultas:
Lunes 49 Martes 35 Miércoles 32 Jueves 39 Viernes 45

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

49

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Con a=0,05, ¿existe alguna razón para creer que el número de empleados que asisten al consultorio médico, no se encuentra distribuido de forma equitativa durante los días de la semana? Solución Una distribución uniforme lleva consigo que la probabilidad sería la misma para cada día de la semana. Por tanto pi=0,2 para i = 1, 2, 3, 4, 5. La hipótesis nula H0: pi=0,2 para i = 1, 2, 3, 4, 5. Dado que n=200, la frecuencia esperada para cada día de la semana es 200*0,2=40. Luego, el valor del de estadístico es:
Días Lunes Martes Miércoles Jueves Viernes Frecuencias Observadas 49 35 32 39 45 Suma Frecuencias teóricas 40 40 40 40 40 (Ni2 npi) /npi 2,025 0,625 1,6 0,025 0,625 4,9

El estadístico sigue una chi chi-cuadrada con k-1 grado de libertad, con k=5. Luego 1

Por otro lado PRUEBA.CHI.INV(0,05;4)= 9,48772846. Como 4,9<9,48772846, no puede rechazarse la hipótesis nula. Ejemplo 2 En la tabla siguiente se dan las calificaciones obtenidas en la prueba de calificaciones matemáticas SAT por los estudiantes de tercer año preparatorio

De ….a.…. 200 250 300 350 400 450 500 550 600 249 299 349 399 449 499 549 599 649

Número de exámenes 3423 18434 39913 51603 61691 72186 72804 58304 46910

Frecuencia relativa 0,00716 0,03855 0,08347 0,10791 0,12901 0,15096 0,15225 0,12193 0,09810

Intervalo normal estándar -2,425 -2,008 -1,592 -1,175 -0,758 -0,342 0,075 0,492 0,908 -2,017 -1,600 -1,183 -0,767 -0,350 0,067 0,483 0,900 1,317

Probabilidad del intervalo 0,0142 0,0325 0,0626 0,1016 0,1390 0,1603 0,1557 0,1274 0,0879

Número esperado 6795,55 15539,08 29939,08 48604,67 66489,75 76642,67 74444,01 60930,11 42021,58

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

50

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia
1,325 1,742 2,158 1,733 2,150 2,575 0,0511 0,0250 0,0104 0,9678 24420,10 11957,60 4991,80 462776,00

650 700 750

699 749 800

30265 16246 6414 478193

0,06329 0,03397 0,01341 1,00000

los datos están ajustados a una normal de media 491 y desviación típica 120. Con base en la prueba de bondad de ajuste chi cuadrado, ¿existe alguna razón para chi-cuadrado, creer que el número de respuestas correctas no se encuentra distribuidas según una N(491; 120) a un nivel =0,05? =0,05? Solución Nótese que la sumas de las probabilidades no es la unidad y por tanto la clasificación en clases no es exhaustiva; sin embargo, mediante un reajuste esto puede lograrse, haciendo que la primera clase no tenga límite inferior ni la última s superior. La P(X ≤250)= 0,02230387 y la P(X P(X≥750)= 0,01545091. Sustituyendo estos valores y calculando
De …...…..a...……. Número de exámenes 3423 18434 39913 51603 61691 72186 72804 58304 46910 30265 16246 6414 478193 Probabilidad del intervalo 0,0223 0,0334 0,0643 0,1041 0,1422 0,1636 0,1586 0,1296 0,0893 0,0518 0,0253 0,0155 1 Número esperado 10665,55 15984,05 30732,32 49793,4 67987,23 78228,44 75855,65 61986,47 42686,09 24771,49 12113,8 7388,52 478193 (Ninpi)2/npi 4918,1271 375,515279 2742,54873 65,7647833 583,087621 466,723881 122,766962 218,766858 417,967907 1218,28167 1409,55578 128,535787 535787 12667,6424

200 250 300 350 400 450 500 550 600 650 700 750

250 300 350 400 450 500 550 600 650 700 750 800

Se obtiene que el valor de χ2 con 12 clases es igual a 12.667,64. Por otro lado el valor crítico

Por tanto la hipótesis nula debe rechazarse. Este ejemplo ilustra el comentario formulado anteriormente con respecto a muestras muy grandes, en las cuales con casi toda seguridad la hipótesis nula será rechazada.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

51

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

EL ESTADÍSTICO DE KOLMOGOROV KOLMOGOROV-SMIRNOV
La prueba de bondad de ajuste de Pearson se encuentra limitada cuando F0(x) es continua y la muestra aleatoria disponible es de tamaño pequeño. Una prueba de disponible bondad cuando F0(x) es continua es la de Kolmogorov Smirnov. No necesita que los Kolmogorov-Smirnov. datos esten agrupados en intervalos y es aplicable cuando la muestra es pequeña. Ésta se basa en una comparación entre las funciones de distribución acumulativas que se funciones observan en la muestra ordenada y en la distribución propuesta bajo la hipótesis nula. Consideremos la hipótesis nula H0: F(x)=F0(x), en donde F0(x) se especifica de forma completa. Denótese por x(1), x(2), …, x(n) a las observaciones ordenadas de una muestra aleatoria de tamaño n; y defínase la función de distribución acumulativa muestral como

Si la hipótesis nula es correcta las diferencias entre Sn(x) y F0(x) serán pequeñas. El estadístico de Kolmogorov Kolmogorov-Smirnov se define como

El estadístico Dn tiene una distribución que es independiente del modelo propuesto bajo la hipótesis nula, y depende tan solo del tamaño de la muestra. En la tabla adjunta en la hoja de cálculo, se proporcionan valores cuantiles superiores de Dn para varios tamaños de la muestra. Para un error de tipo I de tamaño , la región crítica es de la forma ,

Ejemplo 4
A continuación se dan los valores ordenados de una muestra aleatoria con las respuestas correctas de los estudiantes que ingresaron en la universidad en la prueba del SAT: 852, 875, 910, 933, 957, 963, 981, 998, 1010, 1015, 1018, 1023, 1035, 998, 1048, 1063. En años anteriores el número de respuestas correctas estaba representado por una N(985; 50). Con base en la muestra, ¿existe alguna razón para creer que ha ocurrido un cambio en la distribución de respuestas correctas en las pruebas del SAT? correctas Empléese un nivel =0,05. Solución
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

52

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia
F0(x) 0,0039 0,0139 0,0668 0,1492 0,2877 0,3300 0,4681 0,6026 0,6700 0,6915 0,7257 0,7454 0,7764 0,8413 0,8962 0,9406 |Sn(x)-F0(x)| 0,0586 0,1111 0,1207 0,1008 0,0248 0,0450 0,0306 0,1026 0,1075 0,0665 0,0382 0,0046 0,0361 0,0337 0,0413 0,0594

Valores ordenados 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 852 875 910 933 957 963 981 998 1007 1010 1015 1018 1023 1035 1048 1063

Sn(x) 0,0625 0,1250 0,1875 0,2500 0,3125 0,3750 0,4375 0,5000 0,5625 0,6250 0,6875 0,7500 0,8125 0,8750 0,9375 1,0000

La máxima desviación es 0,1207. El valor crítico para =0,05 para D16 es =0,05 0,328 como puede obtenerse en la hoja adjunta de Excel, como 0,1207<0,328 no puede rechazarse la hipótesis nula.

Prueba de chi-cuadrado para el análisis de tablas de contingencia cuadrado con dos criterios de clasificación
Muchas veces surge la necesidad de determinar si existe alguna relación entre necesidad dos rasgos diferentes en los que una población ha sido clasificada y en donde cada rasgo ha sido subdividido en cierto número de categorías. Cuando una muestra se clasifica de esta manera recibe el nombre de tabla de contingencia de 2 criterios de nombre clasificación. Es posible analizar tablas que contengan más de dos clasificaciones. El análisis de una tabla de este tipo supone que las dos clasificaciones son independientes. Esto es, bajo la hipótesis nula de independencia se desea saber si existe una diferencia entre las frecuencias que se observan y las correspondientes frecuencias que se esperan. La prueba chi chi-cuadrada da los medios apropiados. Sea n una muestra que se clasifica según A y B, cada uno de los cuales tiene r y c categorías. Además, sea Nij el número de observaciones de las categorías i, j de A y B. Se pueden tabular los datos en una matriz de r x c. El total del i-ésimo renglón es la ésimo frecuencia de la i-ésima categoría de A, de manera similar para las columnas. Sea ésima

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

53

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Sea pij la probabilidad de que un objeto seleccionado al azar se encuentre en la categoría (i, j), sea pi. la marginal de i de A y p.j la marginal de j de B. Si las características son independientes, la probabilidad conjunta es igual al producto de las marginales

bajo la hipótesis nula, el estadístico

cuando n es grande. Sin embargo, la mayoría de las veces no se conocen las probabilidades marginales, y de esta forma se estiman con base en una muestra. Afortunadamente, la prueba de bondad de ajuste de la chi prueba chi-cuadrado permanece como la estadística apropiada siempre que se empleen los estimados de máxima verosimilitud y se reste un grado de libertad del total para cada parámetro que se esté estimando. Dado que

existen r-1 parámetros de filas y c 1 de columnas a ser estimados. ámetros c-1 De esta forma el número de grados de libertad será rc-1-(r-1)-(c-1)=rc-r-c+1=r(c-1)-(c-1)=(r-1)(c-1) Puede demostrarse que los estimadores de máxima verosimilitud son

al sustituir se obtiene
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

54

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Ejercicio 5 Una compañía evalúa una propuesta para fusionarse con una corporación. El consejo de directores desea muestrear la opinión de los accionistas para determinar si esta es independiente del número de acciones que posee cada uno. Una muestra aleatoria de 250 accionistas da los siguientes resultados: e
Número de acciones Menos de 200 200-1000 Más de 1000 Totales Opinión En contra Indecisos 29 42 59 130 9 7 4 20

A favor 38 30 32 100

Totales 76 79 95 250

Con base en esta información, ¿existe alguna razón para dudar de que la opinión con respecto a la propuesta es independiente del número de acciones que posee el accionista? Úsese =0,1. Solución Formulamos la hipótesis nula de independencia de los dos caracteres; es decir: caracteres;

H0: pij = pi.p.j i=1,2,3; j=1,2,3.
Como las probabilidades marginales no se conocen, hay que estimarlas de la muestra, en consecuencia, el estadístico

Número de Acciones Menos de 200 200-1000 Más de 1000

A favor 38 30 32

Opinión En contra 29 42 59

Indecisos 9 7 4

Totales 76 79 95

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

55

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Totales

100

130

20

250 Sumas 6,10273279 0,17478092 4,51821862 10,7957323

1,9 0,08101266 0,94736842

2,80036437 1,40236842 0,0206037 0,07316456 1,86558704 1,70526316 Suma Total

El valor obtenido de la muestra para χ2=10,7957323. El valor crítico que se obtiene en la distribución chi chi-cuadrado es χ0,9;4= PRUEBA.CHI.INV(0,1;4)= 7,77943396. Como 10,795 > 7,779 el estadístico de prueba se encuentra dentro de la región crítica y por tanto la hipótesis nula debe rechazarse.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

56

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

UNIDAD 3 GENERACIÓN DE VARIABLES ALEATORIAS

3.1 Introducción La generación de cualquier variable aleatoria se va a basar en la generación previa de una distribución uniforme (0,1), visto en el tema ración anterior. En este capítulo vamos a estudiar ciertas transformaciones o algoritmos que nos van a transformar dichos números generados en valores de otras distribuciones. Buscamos métodos que nos permitan obtener valores de variables que aleatorias que sigan determinadas distribuciones de probabilidad a partir de los números aleatorios generados, que siguen la distribución Uniforme en el intervalo (0,1). Hay cuatro métodos generales de generación de variables aleatorias generación y una serie de métodos particulares de las distintas distribuciones. La facilidad de aplicación de dichos métodos, así como el coste computacional asociado a los mismos, varía mucho según la familia de variables aleatorias a las que se apliquen. Normalmente existen varios algoritmos que se pueden utilizar para generar valores de una determinada distribución, y diferentes factores que se pueden considerar para determinar qué algoritmo utilizar en un caso particular. Desafortunadamente dichos factores suelen entrar en conflicto Desafortunadamente unos con otros y a veces se ha de llegar a una solución de compromiso.
Página

Algunos de estos factores son los siguientes:  Exactitud: se han de obtener valores de una variable con una precisión dada. A veces se tiene suficiente con obtener una iene aproximación y otras no.
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

57

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

 Eficiencia: el algoritmo que implementa el método de generación tiene asociado un tiempo de ejecución y un gasto de memoria. Elegiremos un método que sea eficiente en cuando al tiempo y a la cantidad de memoria requeridos. d  Complejidad: Buscamos métodos que tengan complejidad mínima, siempre y cuando se garantice cierta exactitud.  Robusted: el método tiene que ser eficiente para cualquier valor que tomen los parámetros de la distribución que siga la variable aleatoria.  Facilidad de implementación. Vea Anexo: Generación de variables aleatorias. 3.2 Variables aleatorias discretas Muchas veces se desea resumir con un número el resultado de un experimento aleatorio. En muchos de los ejemplos relativos a experimentos relativos aleatorios que han sido considerados hasta ahora, el espacio muestral es sólo una descripción de los posibles resultados. En algunos casos tales descripciones son suficientes, pero en otros se hace útil asociar un número con cada resultado del espacio muestral. Es así como se llega a la definición de variable aleatoria aleatoria. Una variable aleatoria X es una función que asigna un número real a cada resultado en el espacio muestral  de un experimento aleatorio. El conjunto de los posibles valo valores de la variable aleatoria X se denomina rango. Diremos que la variable aleatoria es discreta si su rango es finito (o infinito contable). A menudo el interés recae en la probabilidad de que una variable aleatoria X tome un valor particular x, esto se denota P( se P(X=x). La distribución de probabilidad de X será entonces la descripción del conjunto de valores posibles de X (rango de X), junto con la probabilidad asociada ), con cada uno de estos valores. La distribución de probabilidad de una
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

58

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

variable aleatoria es a menudo el resumen más útil de un experimento ia aleatorio. Diremos que la función p(x)=P(X=x) que va del conjunto de valores =x) posibles de la variable aleatoria X al intervalo [0, 1] es la función distribución de probabilidad para X si y sólo si se satisfacen las siguientes propiedades: 0  p(x)  1 para todo x

px 1
x

Se define la distribución acumulada F(x) para la variable aleatoria (x) X como
F(x) = P(X

x) =

tx

 p t 

Ejemplo 1 Experimento aleatorio: se lanza una moneda 3 veces  = {ccc, ccs, csc, css, scc, scs, ssc, sss } Sea X : # caras observadas
x p(x) 0 1 2 3

1 8

3

8

3

8

1 8

La distribución anterior es una distribución de probabilidades para la variable aleatoria X en efecto 0  p(x)  1 para todo x (x = 0, 1, 2 y X, 3) y además  p x  1. Para determinar la distribución a acumulada de
x

probabilidad observe que

P(X P(X

 

1) = P(X = 0) + P(X = 1) =

1 +3 = 1 8 8 2 1 +3 +3 =7 8 8 8 8
Asignatura: Simulación

2) = P(X = 0) + P(X = 1) + P(X = 2) =

Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

59

P(X

0) = P(X = 0) =

1 8

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

P(X  3) = P(X= 0) + P(X= 1) + P(X= 2) + P(X= 3) =

1 + 3 + 3 + 1 =1 8 8 8 8

Se tiene entonces,
x F(x) 0 1 2

1 8

1 2

7

8

3 1

Si X es una variable aleatoria, y el experimento aleatorio que determina el valor de X se repite muchas veces, entonces se obtiene una secuencia de valores para X. A partir de esta secuencia de valores se . puede identificar el valor promedio o valor esperado de la variable aleatoria X, que denotamos E X , y se define en la forma siguiente: ,  n
EX =

 xp x
x

Propiedades: E(k)=k E(kX)=kE(X) E(XY)=E(X)E(Y) E(Y) E(g(X))=g(x)p(x) g(x)p(x) e) Si X y Y son independientes entonces E(XY)=E(X)E(Y)= XY E(XY)=E(X)E(Y)= Para el ejemplo dado, E X =  xp x = 0 p0   1 1  2p2  3p3  p 
=

1 3 3 1 12 3 0 .  1  2.  3 .   . 8 8 8 8 8 2

x

A veces, el interés es determinar la variabilidad de la variable aleatoria. Definimos entonces la varianza de la variable aleatoria X, denotada VX , ó σ2 mediante la siguiente ecuación:

VX = E X2  EX2

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

 

60

V(X) = E[(X-E(X))2] y su forma reducida es:

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

donde, E X2 =

 

 x2 p x
x

2 Para el ejemplo dado, E X2 = 0 2 p0   1 p1  22 p2  32 p3 

 
2

=

1 3 3 1 24 0 .  1  4.  9.   3 . 8 8 8 8 8

  3  12 9 3  Entonces, VX = 3     4 4  2 V(k)=0 V(kX)=k2V(X) V(XY)=V(X)+V(Y) si X y Y son independientes Y)=V(X)+V(Y) V(aX+bY)= a2V(X)+b2V(Y)+2abCov(XY) donde Cov(XY) = E((X X)(Y-Y)) = E(XY)-XY E((X-
La desviación estándar de la variable aleatoria X es la raíz cuadrada positiva de la varianza, es decir, σ = VX . 3.2 Variables aleatorias continuas Una variable aleatoria X es continua si su función de distribución es una función continua. En la práctica, se corresponden con variables asociadas con experimentos en los cuales la variable medida puede tomar cualquier valor en un intervalo: mediciones biométricas, intervalos de tiempo, áreas, etc. Ejemplos: Resultado de un generador de números aleatorios entre 0 y 1. Es el ejemplo más sencillo que podemos considerar, es un caso particular de una familia de variables aleatorias que tienen una distribución uniforme en un intervalo [a, b]. Se corresponde con la elección al azar de cualquier valor ]. entre a y b. Estatura de una persona elegida al azar en una población. El valor que se obtenga será una medición en cualquier unidad de longitud (m, cm, rá etc.) dentro de unos límites condicionados por la naturaleza de la variable.
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

61

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

El resultado es impredecible con antelación, pero existen intervalos de valores más probables que otros debido a la distribución de alturas en la distribución población. Más adelante veremos que, generalmente, variables biométricas como la altura se adaptan un modelo de distribución denominado distribución Normal y representado por una campana de Gauss. Dentro de las variables aleatorias continuas tenemos las variables aleatorias absolutamente continuas continuas. Diremos que una variable aleatoria X continua tiene una distribución absolutamente continua si existe una función real f, positiva e integrable en , el conjunto de números reales, tal que la función de distribución F de X se la puede expresar como

Una variable aleatoria con distribución absolutamente continua, por extensión, se clasifica como variable aleatoria absolutamente continua. En el presente manual, todas las variables aleatorias co continuas con las que trabajemos pertenecen al grupo de las variables absolutamente continuas, en particular, los ejemplos y casos expuestos , expuestos. Vea archivo Unidad 3

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

62

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

UNIDAD 4 LENGUAJES DE SIMULACIÓN
4.1 Lenguajes de simulación y sim simuladores. Muchas propiedades en programación de modelos de simulación discreta, tales como:       Generadores de números aleatorios. Generadores de variables aleatorias. Rutinas del siguiente evento. Avance de tiempo. Recopilación de estadísticas. Reportes, et etc,

Han sido desarrolladas en lenguajes especiales orientados a simulación, dejando la ardua labor de programación en FORTRAN, C o PASCAL a lenguajes de simulación, los que incluyen facilidades de animación. Actualmente, existen cerca de 100 software de s simulación, disponibles en una variedad de computadores computadores. LENGUAJES DE SIMULACIÓN Y LENGUAJES DE PROPÓSITOS GENERALES La importancia de escribir modelos de simulación en lenguajes de modelos propósitos generales como FORTRAN radica en:  Permite conocer los detalles íntimos de la simulación.  Es imprescindible, cuando no se dispone de software de simulación.  Algunos modelos en lenguajes de simulación permiten i interfaces con lenguajes generales, específicamente FORTRAN (ocurre con SLAM ll, SIMAN, GPSS). Por otra parte, los lenguajes de simulación ofrecen mayores ventajas, porque:
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

63

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

 Automáticamente proveen muchas de las facilidades necesarias en la simulación del modelo.  Proveen un natural ambiente para modelamiento de la simulación.  Son fáciles de usar.  Proveen una gran interacción entre edición, depuración y ejecución. Alcanzando algunos de ellos implantación de la ingeniería de software. CLASIFICACIÓN DE LOS SOFTWARE PARA SIMULACIÓN TWARE Existen en el mercado dos grandes clases de software para simulación: los lenguajes y los simuladores. Un lenguaje de sim 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 adecuadas 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 programación. para ambientes de manufactura y 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, actualmente 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 11.5 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 proporcionar

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

64

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

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 gramación 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 SIMSCRIP 11.5 y SIMSCRIPT 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 o en el servicio y fin del servicio GPSS, SIMAN y SIMNET son orientados al servicio. proceso. En el examen de actividades, el modelador define las condiciones necesarias al empezar y finalizar cada actividad en el sistema. El tiempo es avanzado en iguales incrementos de tiempo y en cada incremento de tiempo, las condiciones son evaluadas para determinar si alguna actividad puede estar empezando o terminando. El ESCL, es un lenguaje de simulación muy popular en Europa y fue desarrollado en FORTRAN. 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 ecuencia 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.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

65

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

El programador únicamente provee un program 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 P; 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 pued ser usado puede 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). espacio-estado 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 Es 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 ev 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 ilitares. ambiente de S11VIGRAPHICS. 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. us 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
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

66

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

en los software de GASP y Q~GER r de Pristker and Associates). Más Q~GER-r tarde, Pegden inicia su trabajo en el Pennisylvania State Unive 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 refinad 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 s 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 estudian 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. Usted construye un diagrama de bloque en un flowchart gráfico, seleccionando y combinando bloques. Después, interactivamente, usando un editor especial se activa el generador automático de las sentencias del generador modelo desde el ambiente gráfico. Los bloques de SIMAN se clasi clasifican en 10 tipos básicos. SLAM II El SIMPSCRIPT y el GASP IV son los lenguajes de programación de eventos más destacados. SLAM es un descendiente de GASP IV que ofrece también recursos de simulación de redes y continuos, estando ambos codificados en FORTRAN. Desde los lenguajes orientados a los procesos, existen representación de modelos en bloques como GPSS y SIMAN y los basados en redes como Q QGERT y SLAM.
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

67

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Con la llegada del PERT, se plantearon situaciones de redes complejas, en tanto a ramificación por efecto de una decisión y loop para conseguir que varias actividades se realicen de modo repetitivo, trayendo consigo el desarrollo del GERT (Graphical Evaluation and Review Technique), por Pritoker y Elaghraby; quienes lo aplicaron para el programa Apolo. El lenguaje Q-GERT significó la respuesta al cálculo de estimación de GERT probabilidades de terminación en cada nodo y la distribución de tiempos y costos para la realización de cualquier nodo, la estructura básica de un modelo de simulación Q GERT es una red compuesta de nodos y Q-GERT actividades (bifurcaciones). SLAM es una variante de QGERT que ofrece recursos de eventos de redes y discretos (y también simulación continua). SLAM II (Simulation Languaje for Alternative Modeling) es un lenguaje de simulación por el cual se pueden construir modelos con orientación al modelos proceso o al evento. SLAM fue desarrollado en 1979 por Dennis Pedge y Alan Pritsker y es distribuido por Pritsker Corporation (indianapolis, Indiana). La parte de SLAM que se orienta a los procesos emplea una estructura reticular compuesta por símbolos de nodos y ramas tales como compuesta colas, servidores y puntos de decisión. Modelamiento significa incorporar esos símbolos a un modelo de red que representa el sistema y en donde las entidades (ítems) pasan a través de la red. SLAM contiene un p procesador que convierte la representación visual del sistema a un conjunto de sentencias. 4.2 Aprendizaje y uso de un simulador

Vea manual de prácticas de la asignatura Simulación. 4.3 Casos prácticos de simulación A partir de la problemática propia del aprendizaje a distancia, se del exponen las Ventajas del uso de herramientas de simulación por una parte, y de las herramientas multimedia como elemento de transmisión en el proceso enseñanza-aprendizaje. En este trabajo se propone la integración aprendizaje. de las herramientas de simulación y multimedia para la enseñanza a amientas
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

68

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

distancia de la Ingeniería de Sistemas y Automática. Para que esta integración sea efectiva, es conveniente seguir una determinada metodología de diseño y desarrollo tanto de la parte multimedia como de los contenidos que se apoyan en la simulación. Como caso práctico se propone el desarrollo de una aplicación multimedia para su distribución en Internet de un ejercicio guiado apoyado en herramientas de simulación y diseño de sistemas asistido por orden ordenador, cuyo objetivo principal es que el alumno aprenda las técnicas basadas en la respuesta en frecuencia para el análisis de la estabilidad de sistemas realimentados. Las herramientas de simulación En el ámbito de la enseñanza de la Ingeniería de Sistem y Sistemas Automática, las herramientas de simulación pueden ser aplicadas desde el enfoque constructivista del “aprendizaje por descubrimiento guiado” para conseguir un “aprendizaje significativo”. 4.3.1 Modelos de inventarios. odelos Modelos de inventario. Comúnmente los inventarios están relacionados con la mantención de cantidades suficientes de bienes suficientes (insumos, repuestos, etc.), que garanticen una operación fluida en un sistema o actividad comercial. La forma efectiva de manejar los inventarios es minimizando su impacto adverso, encontrando un punto medio entre la poca reserva y el exceso de reserva. Está actitud prevaleció en los países ceso industrializados de Occidente, incluso después de la segunda guerra mundial, cuando Japón instauró con gran éxito el sistema (famoso ahora) "Just in time", ambiente que requiere un sistema de producció (casi) sin producción inventario. En la mayoría de las situaciones del mundo real, el manejo de inventario involucra un número apreciable de productos que varían en número precio, desde aquellos relativamente económicos hasta los muy costosos. El inventario representa realmente el capital ocioso, es natural que se ejerza un control en aquellos artículos que sean responsables en el incremento en el incremento costo de capital. Empíricamente se ha comprobado que un pequeño número de productos del inventario son los que suelen incurrir en parte importante del costo del capital, por ende, son los que deben estar sujetos a control más estricto.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

69

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

4.3.2 Modelos de líneas de espera. Las colas (líneas de espera) son parte de la vida diaria. Todos esperamos en colas para comprar un boleto para el cine, hacer un depósito en el banco, pagar en el supermercado, enviar un paquete por correo, subir a un juego en la feria, etc. Nos hemos acostumbrado a esperas largas, pero todavía nos molesta cuando lo son demasiado. os Sin embargo, tener que esperar no sólo es una molestia personal. El tiempo que la población de un país pierde en colas es un factor importante tanto en la calidad de vida como en la eficiencia de su economía. Por ejemplo, antes de su disolución, la Unión Soviética era notoria por las lo, excesivas colas que sus ciudadanos solían tener que soportar solo para comprar artículos básicos. Hoy en Estados Unidos se estima que las personas pasan 37 mil millones de horas al año en líneas de espera. Si este líneas tiempo se usara de manera productiva significaría cerca de 20 millones de personas-años de trabajo útil cada año. años Incluso estas asombrosas cifras no cuentan toda la historia del impacto que causa la espera excesiva. También ocurr ocurren grandes ineficiencias debido a otros tipos de espera que no son personas en una Cola. La Teoría de Colas es el estudio de la espera en las distintas modalidades. Usa los modelos de colas para representar los tipos de sistemas de líneas de espera (sistemas que involucran colas de algún tipo) (sistemas que surgen en la práctica. Las fórmulas para cada modelo indican cuál debe ser el desempeño del sistema correspondiente y señalan la cantidad promedio de espera que ocurrirá, en una gama de circunstancias. Por lo tanto, estos modelos de líneas de espera son muy útiles para determinar cómo operar un sistema de colas de la manera más efectiva. Proporcionar demasiada capacidad de servicios para operar el sistema implica costos excesivos; pero al no contar con suficiente capacidad de suficiente servicio la espera aumenta con todas sus desafortunadas consecuencias. Los modelos permiten encontrar un balance adecuado entre el costo de servicio y la cantidad de espera.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

70

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

UNIDAD 5 UNIDAD INTEGRADORA
5.1. CASO DE ESTUDIO La experiencia sugiere que el proyecto de Simulación consta de las ia siguientes etapas:  Debe comprenderse que el orden en que se realizan estas 10 etapas permanece abierto a discusión.  La estructura de la secuencia de etapas que se presenta obedece a los resultados de la experiencia.  Con toda seguridad, cualquier procedimiento de este tipo resulta sumamente arbitrario en su naturaleza y la posibilidad de juzgarlo sólo existe en un plano puramente pragmático.

Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

Página

71

INSTITUTO TECNOLÓGICO SUPERIOR DE CENTLA

Academia de Informática y Sistemas Computacionales mia

Vea Archivo Unidad 5.

5.2. Validación del sistema d simulación. de A través de esta etapa es valorar las diferencias entre el funcionamiento del simulador y el sistema real que se está tratando de simular. Las formas más comunes de validar un modelo son: 1. 2. 3. 4. La opinión de expertos sobre los resultados de la simulación. la La exactitud con que se predicen datos históricos. La exactitud en la predicción del futuro. La comprobación de falla del modelo de simulación al utilizar datos que hacen fallar al sistema real. 5. La aceptación y confianza en el modelo de la persona que hará uso la de los resultados que arroje el experimento de simulación.

Vea Archivo Unidad 5.
Página
Asignatura: Simulación
Material compilado con fines académicos, se prohíbe su reproducción total o parcial sin autorización de cada autor.

72

SIMULACIÓN
TEMA 12.- CONCEPTOS BÁSICOS. 12.1. Introducción. 12.2. Clasificación de sistemas. 12.3. Clasificación de modelos. 12.4. Modelos de simulación de eventos discretos. 12.5. El proyecto de simulación. 12.6. Ventajas y desventajas de la simulación. 12.7. Aplicaciones empresariales de la simulación. 12.8. El Programa de Simulación “ARENA”.

12.1. Introducción.
La simulación digital es una técnica que permite imitar (o simular) en un ordenador el comportamiento de un sistema físico o teórico según ciertas condiciones particulares de operación. El uso de la simulación como metodología de trabajo es una actividad muy antigua, y podría decirse que inherente al proceso de aprendizaje del ser humano. Para poder comprender la realidad y toda la complejidad que un sistema puede conllevar, ha sido necesario construir artificialmente objetos y experimentar con ellos dinámicamente antes de interactuar con el sistema real. La simulación digital puede verse como el equivalente electrónico a este tipo de experimentación.

12.2. Clasificación de sistemas.
Un sistema puede definirse como una colección de objetos o entidades que interactúan entre sí para alcanzar un cierto objetivo. Estado de un sistema: conjunto mínimo de variables necesarias para caracterizar o describir todos aquellos aspectos de interés del sistema en un cierto instante de tiempo. A estas variables las denominaremos variables de estado. Atendiendo a la relación entre la evolución de las propiedades de interés y la variable independiente tiempo, los sistemas se clasifican en: . • Sistemas Continuos: Las variables del estado del sistema evolucionan de modo continuo a lo largo del tiempo.

Figura 12.1. Ejemplo de sistema continuo.

Figura 12.2. Evolución de una variable de un sistema continuo.

• Sistemas Discretos. Se caracterizan porque las propiedades de interés del sistema cambian únicamente en un cierto instante o secuencia de instantes, y permanecen constantes el resto del tiempo. La secuencia de instantes en los cuales el estado del sistema puede presentar un cambio, obedece normalmente a un patrón periódico (figura 12.3).

Figura 12.3. Evolución de una variable de un sistema discreto.

• Sistemas orientados a eventos discretos. Al igual que los sistemas discretos, se caracterizan porque las propiedades de interés del sistema cambian únicamente en una secuencia de instantes de tiempo permaneciendo constantes el resto del tiempo. La secuencia de instantes en los cuales el estado del sistema puede presentar un cambio, obedece a un patrón aleatorio (figura 12.4).

Figura 12.4. Evolución de una variable de un sistema orientado a eventos discretos.

• Sistemas combinados. Aquellos que combinan subsistemas que siguen filosofías continuas o discretas, respectivamente. Es el caso de los sistemas que poseen componentes que deben ser necesariamente modelados según alguno de dichos enfoques específicos.

12.3. Clasificación de modelos.
La descripción de las características de interés de un sistema se conoce como modelo del sistema, y el proceso de abstracción para obtener esta descripción se conoce como modelado. Existen muchos tipos de modelos (modelos físicos, modelos mentales, modelos simbólicos) para representar los sistemas en estudio. Utilizaremos modelos simbólicos matemáticos como herramienta para representar las dinámicas de interés de cualquier sistema en un entorno de simulación digital. Los modelos simbólicos matemáticos mapean las relaciones existentes entre las propiedades físicas del sistema que se pretende modelar en las correspondientes estructuras matemáticas. El tipo de formalización matemática que se utilice va a depender de las características intrínsecas de las dinámicas de interés que se quieran representar. La descripción en términos matemáticos de un sistema real no es una metodología de trabajo propia de la simulación digital, sino que es inherente a la mayoría de las técnicas que se utilizan para solventar cualquier tipo de problema, las cuales suelen seguir unas pautas que, de modo general, se pueden resumir en: • • • • Reconocimiento del problema. Formulación del modelo matemático. Solución del problema matemático. Interpretación de los resultados matemáticos en el contexto del problema real.

Consideraciones que se deben tener en cuenta para garantizar una representación eficiente del sistema real: • Un modelo se desarrolla siempre a partir de una serie de aproximaciones e hipótesis y, consecuentemente, representa tan sólo parcialmente la realidad. • Un modelo se construye para una finalidad específica y debe ser formulado para que sea útil a dicho fin. • Un modelo tiene que ser por necesidad un compromiso entre la simplicidad y la necesidad de recoger todos los aspectos esenciales del sistema en estudio. Un buen modelo debe: • Representar adecuadamente aquellas características del sistema que son de nuestro interés. • Ser una representación abstracta de la realidad lo suficientemente sencilla como para facilitar su mantenimiento, adaptación y reutilización. Modelos Estáticos frente a Modelos Dinámicos Los Modelos Estáticos suelen utilizarse para representar el sistema en un cierto instante de tiempo; por tanto, en su formulación no se considera el avance del tiempo. STOCK = Stock inicial + Material entrada – Material consumido Los Modelos Dinámicos permiten deducir cómo las variables de interés del sistema en estudio evolucionan con el tiempo. Evolución del STOCK = Flujo de entrada – Flujo de salida

S( k + 1 ) = S( k ) + Fi ( k ) − Fo ( k )

dS = Fi ( t ) − Fo ( t ) dt

Modelos Deterministas respecto a Modelos Estocásticos. Un modelo se denomina Determinista si su nuevo estado puede ser completamente definido a partir del estado previo y de sus entradas. Es decir, ofrece un único conjunto de valores de salida para un conjunto de entradas conocidas. Los Modelos Estocásticos requieren de una o más variables aleatorias para formalizar las dinámicas de interés. En consecuencia, el modelo no genera un único conjunto de salidas cuando es utilizado para realizar un experimento, sino que los resultados son utilizados para estimar el comportamiento real del sistema.

Modelos Continuos frente a Modelos Discretos. Los Modelos Continuos se caracterizan por representar la evolución de las variables de interés de forma continua. En general suelen utilizarse ecuaciones diferenciales ordinarias si se considera simplemente la evolución de una propiedad respecto al tiempo, o bien ecuaciones en derivadas parciales si se considera también la evolución respecto a otras variables adicionales. De modo análogo a la definición de los modelos continuos, los Modelos Discretos se caracterizan por representar la evolución de las variables de interés de forma discreta.

12.4. Modelos de simulación de eventos discretos.
Los Modelos de Eventos Discretos son modelos dinámicos, estocásticos y discretos en los que las variables de estado cambian de valor en instantes no periódicos del tiempo. Estos instantes de tiempo se corresponden con la ocurrencia de un evento. Un evento se define como una acción instantánea que puede cambiar el estado de un modelo.
RECEPCIÓN DE ÓRDENES
En promedio se reciben 10 órdenes al día: - Ordinarias (40%) - Prioritarias (60%)

PROCESADO DE ÓRDENES

EXPEDICIÓN

Tiempo de proceso: - Ordinarias (2 horas) - Prioritarias (4 horas)

Figura 12.5. Esquema del procesado de órdenes.

Los parámetros más significativos del sistema son: • Hay 4 trabajadores por cada turno diario de 8 horas. • Se trabaja desde las 9 de la mañana hasta las 5 de la tarde. No obstante, la jornada laboral se alarga si no ha sido posible expedir todas las órdenes recibidas a lo largo del día. • Sólo se aceptan órdenes hasta las 13 horas. • En promedio, se reciben 10 órdenes cada día. • Hay dos tipos de órdenes, las ordinarias (el 40%) y las prioritarias (el 60% restante). • En promedio, una orden prioritaria requiere 4 horas de proceso, mientras que una ordinaria sólo 2 horas.

12.4.1. Simulación del Modelo Estático.

órdenes horas horas ×2 =8 día orden día órdenes horas horas ×4 = 24 órdenes prioritarias = 6 día orden día órdenes ordinarias = 4 horas día trabajador es horas horas ×8 = 32 capacidad disponible = 4 día trabajador día capacidad necesaria = 8 + 24 = 32
porcentaje de utilización = capacidad necesaria 32 × 100 = × 100 = 100% capacidad disponible 32

12.4.2. Simulación Manual del Modelo Orientado a Eventos Discretos.

Orden es expedida llegada de una orden

NO NO
Se inicia el proceso de la orden 4 trabajadores ocupados

Hay órdenes En la cola

SI
Quitar una orden de la cola

SI
Trabajador en espera de órdenes La orden entra en cola

Figura 12.6. Diagrama de flujo del evento de llegada de una orden.

Se inicia el proceso de la orden

Figura 12.7. Diagrama de flujo del evento de expedición de una orden.

Órdenes / Hora 1 2 3 4

Tabla 12.1. Distribución de probabilidades. Probabilidad Probabilidad Números (%) Acumulada Aleatorios 40 40 00 – 39 30 70 40 – 69 20 90 70 – 89 10 100 90 – 99 Tabla 12.2. Distribución de probabilidades. Probabilidad Probabilidad Números (%) Acumulada Aleatorios 40 40 00 – 39 60 100 40 – 99

Tipo de Orden Ordinaria Prioritaria

Tabla 12.3. Resumen de la simulación del proceso de llegada de órdenes. Número Número de Numero Tipo de Hora Aleatorio llegadas Aleatorio orden 9 horas 54 2 02 Ordinaria 38 Ordinaria 10 horas 12 1 11 Ordinaria 11 horas 36 1 78 Prioritaria 12 horas 60 2 21 Ordinaria 47 Prioritaria 13 horas 90 4 92 Prioritaria 50 Prioritaria 82 Prioritaria 44 Prioritaria

9

10

11

12

13

14

15

16

17

18

19

20

Figura 12.8. Diagrama de la simulación manual.

Tabla 12.4. Tabla de la simulación manual del procesado de órdenes. Número Tipo de Tipo de Número Número en Tiempo Tiempo en Hora de orden orden evento en cola sistema en cola el sistema 9 1 Ordinaria Llegada 0 1 9 2 Ordinaria Llegada 0 2 10 3 Ordinaria Llegada 0 3 11 1 Ordinaria Expedición 0 2 2 h. 11 2 Ordinaria Expedición 0 1 2 h. 11 4 Prioritaria Llegada 0 2 12 3 Ordinaria Expedición 0 1 2 h. 12 5 Ordinaria Llegada 0 2 12 6 Prioritaria Llegada 0 3 13 7 Prioritaria Llegada 0 4 13 8 Prioritaria Llegada 1 5 13 9 Prioritaria Llegada 2 6 13 10 Prioritaria Llegada 3 7 14 5 Ordinaria Expedición 2 6 2 h. 15 4 Prioritaria Expedición 1 5 4 h. 16 6 Prioritaria Expedición 0 4 4 h. 17 7 Prioritaria Expedición 0 3 4 h. 19 8 Prioritaria Expedición 0 2 1 h. 5 h. 19 9 Prioritaria Expedición 0 1 2 h. 6 h. 20 10 Prioritaria Expedición 0 0 3 h. 7 h.

tiempo de ciclo promedio para órdenes ordinarias =

2 + 2 + 2 + 2 horas horas =2 4 órdenes orden

tiempo de ciclo promedio para órdenes prioritarias =

4 + 4 + 4 + 5 + 6 + 7 horas horas =5 6 órdenes orden

tiempo promedio en la cola =

0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 3 horas horas = 0 ,6 10 órdenes orden

tiempo máximo en la cola = 3 horas

nivel de servicio promedio =

7 órdenes a tiempo × 100 = 70% 10 órdenes

3 trabajadores han tenido que trabajar un total de 6 horas extras para completar las órdenes

12.4.3. Simulación digital mediante un lenguaje de propósito general.

12.4.4. Simulación mediante un Entorno de Simulación.

Figura 12.9. Interfaz gráfico de modelado en el simulador Arena.

12.5. El proyecto de simulación.

Tabla 12.5. Etapas de un proyecto de simulación. Etapa Descripción Formulación del problema. Define el problema que se pretende estudiar. Incluye por escrito sus objetivos. Diseño del modelo Especificación del modelo a partir de las características de conceptual. los elementos del sistema que se quiere estudiar y sus interacciones teniendo en cuenta los objetivos del problema. Recogida de datos. Identificar, recoger y analizar los datos necesarios para el estudio. Construcción del modelo. Construcción del modelo de simulación partiendo del modelo conceptual y de los datos. Verificación y validación. Comprobar que el modelo se comporta como es de esperar y que existe la correspondencia adecuada entre el sistema real y el modelo. Análisis. Analizar los resultados de la simulación con la finalidad de detectar problemas y recomendar mejoras o soluciones. Documentación. Proporcionar documentación sobre el trabajo efectuado. Implementación. Poner en práctica las decisiones efectuadas con el apoyo del estudio de simulación.

12.6. Ventajas y desventajas de la simulación.

• Permite analizar el efecto sobre el rendimiento global de un sistema, de pequeños cambios realizados en una o varias de sus componentes • A partir de la experimentación con un modelo, es posible analizar los efectos sobre el sistema real de cambios organizativos, o de cambios en la gestión de la información. • El análisis del modelo del sistema puede permitir la sugerencia de posibles mejoras del sistema real, así como detectar las variables más influyentes en el rendimiento del mismo. • Permite la experimentación en condiciones que podrían ser peligrosas o de elevado coste económico en el sistema real. • La simulación suele ser utilizada también con una perspectiva pedagógica para ilustrar y facilitar la comprensión de los resultados que se obtienen mediante la técnicas analíticas.

En resumen: • Permite responder muy satisfactoriamente a preguntas del tipo “qué ocurriría si realizamos este cambio en ...” • Contribuye a la reducción del riesgo inherente a la toma de decisiones. Inconvenientes: 1. Soluciones no exactas. 2. Existe el riesgo de tomar malas decisiones basadas en modelos de simulación que no han sido validados y verificados adecuadamente.

12.7. Aplicaciones empresariales de la simulación.
Procesos de fabricación. Fue una de las primeras áreas beneficiadas por estas técnicas. La simulación se emplea tanto para el diseño como para la ayuda a la toma de decisiones operacionales.

Figura 12.10. Ejemplos de modelos de simulación para el análisis y mejora de procesos productivos.

Logística. La simulación contribuye de forma significativa a la mejora de los procesos logísticos en general. Dentro de esta área, se incluye tanto una cadena completa de suministros, como la gestión de inventarios de un almacén.

Figura 12.11. Ejemplos de aplicación de la simulación a procesos logísticos.

Transporte.

Figura 12.12. Aplicación de la simulación en el campo del transporte.

Sanidad. Se emplea tanto para la mejora de un departamento hospitalario, como en la logística asociada a los transplantes o a la coordinación médica de una región.

Figura 12.13. Aplicación al servicio de emergencias de un hospital.

Negocios (Business Processing). Simulación de los procesos administrativos y de negocio de una empresa. En esta área están teniendo mucho éxito los juegos de empresa en los que a través de la simulación de los efectos de las decisiones que se van tomando se puede entrenar a los directivos.

Figura 12.14. Aplicaciones en el campo de la simulación de negocios.

Servicios en general. Servicios públicos, gestión de restaurantes, banca, empresas de seguros, etc.

Figura 12.15. Simulación de un banco y de un pequeño supermercado.

12.8. El Programa de Simulación “ARENA”.
En este apartado se hará un breve resumen de los métodos de modelado de sistemas aplicando el programa de simulación ARENA (de Systems Modeling Corporation, www.sm.com). Utilizando ejemplos sencillos, se irá haciendo un recorrido por las posibilidades del programa para simular cualquier tipo de sistema. Elementos de un modelo de ARENA. Entidades. La mayoría de las simulaciones incluyen “entidades” que se mueven a través del modelo, cambian de estado, afectan y son afectadas por otras entidades y por el estado del sistema, y afectan a las medidas de eficiencia. Son los elementos dinámicos del modelo, habitual mente se crean, se mueven por el modelo durante un tiempo y finalmente abandonan el modelo. En un proceso sencillo de fabricación, como el que analizamos en el primer ejemplo, las entidades serán las piezas que son creadas, pasan a la cola si la máquina que debe procesarlas está ocupada, entran en la máquina cuando ésta queda libre, y abandonan el sistema cuando salen de la máquina. En este caso sólo habrá un tipo de entidades (aunque puede haber simultáneamente varias “copias” de la entidad circulando por el diagrama), pero en un caso general podría haber muchos tipos de entidades distintas (y muchas copias de cada una de ellas), que representarían distintos tipos de piezas, de diferentes características, prioridades, rutas, etc. Atributos. Para individualizar cada entidad, se le pueden unir distintos “atributos”. Un atributo es una característica de todas las entidades, pero con un valor específico que puede diferir de una entidad a otra. Por ejemplo, en el primer ejemplo, nuestras entidades (piezas), podrían tener unos atributos denominados Hora de Llegada, Fecha de Entrega, Prioridad y Color para indicar esas características para cada entidad individual. Arena hace un seguimiento de algunos atributos de manera automática, pero será

necesario definir, asignar valores, cambiar y usar atributos específicos, en cada sistema que se desee simular. Variables (Globales). Una variable es un fragmento de información que refleja alguna característica del sistema, independientemente de las entidades que se muevan por el modelo. Se pueden tener muy diferentes variables en un modelo, pero cada una es única. Existen dos tipos de variables: las variables prefijadas de Arena (número de unidades en una cola, número de unidades ocupadas de un recurso, tiempo de simulación, etc.) y las variables definibles por en usuario (número de unidades en el sistema, turno de trabajo, etc.) Contrariamente a los atributos, las variables no están unidas a ninguna entidad en particular, sino que pertenecen al sistema en su conjunto. Las entidades pueden variar el valor de las variables en algún momento, por ejemplo, la variable Número de Unidades en el Sistema cambiará de valor cuando se crea o se elimina una entidad. Recursos. Las entidades compiten por ser servidas por recursos que representan cosas como personal, equipo, espacio en un almacén de tamaño limitado, etc. Una o varias unidades de un recurso libre son asignadas a una entidad, y son liberadas cuando terminan su trabajo. Una entidad podría recibir simultáneamente servicio de varios recursos (por ejemplo una máquina y un operario) Colas. Cuando una entidad no puede continuar su movimiento a través del modelo, a menudo porque necesita un recurso que está ocupado, necesita un espacio donde esperar que le recurso quede libre, ésta es la función de las colas. En Arena, cada cola tendrá un nombre y podría tener una capacidad para representar, por ejemplo, un espacio limitado de almacenamiento. Acumuladores de estadísticas. Para obtener las medidas de eficiencia finales, podría ser conveniente hacer un seguimiento de algunas variables intermedias en las que se calculan estadísticas, por ejemplo: el número total de piezas producidas, el tiempo total consumido en la cola, el número de unidades que han pasado por la

cola (necesitaremos este valor para calcular el tiempo medio en cola), el mayor tiempo invertido en la cola por una entidad, el tiempo total en el sistema (en cola más procesado), el mayor tiempo consumido en el sistema por una entidad, etc. Todos estos acumuladores deberían ser inicializados a 0, y cuando sucede algún hecho en el sistema, se tendrán que actualizar los acumuladores afectados. Eventos. Un evento es algo que sucede en un instante determinado de tiempo en la simulación, que podría hacer cambiar los atributos, variables, o acumuladores de estadísticas. En nuestro ejemplo sencillo, sólo hay tres tipos de eventos: Llegada de una nueva pieza al sistema, Salida de una pieza del sistema cuando finaliza el tiempo de procesado en la máquina, y Final de la simulación, cuando se cumple el tiempo previsto. Reloj de la Simulación. El valor del tiempo transcurrido, se almacena en una variable denominada Reloj de Simulación. Este reloj irá avanzando de evento en evento, ya que al no cambiar nada entre eventos, no es necesario gastar tiempo llegando de uno a otro.

Ejemplo de modelado de un sistema sencillo Para introducir los conceptos fundamentales de la metodología de simulación con Arena, vamos a modelar un sistema simple: Se trata de un sencillo sistema de atención al público. Los clientes llegan a la instalación, si el servidor está ocupado atendiendo a otro cliente, el que acaba de llegar se une a la cola. Si, por el contrario, el servidor está libre, el cliente pasa inmediatamente a ser atendido. Cuando el servidor acaba la atención a un cliente, comenzará a servir al que estuviera en la primera posición de la cola, y si un hubiera nadie, quedaría desocupado.

Servidor

Clientes en Cola Cliente atendido

Vamos a suponer que los clientes llegan al sistema según una distribución exponencial de media 5 minutos; el tiempo que el servidor emplea en atender a un cliente se distribuye según una función triangular de tiempo mínimo 1 minuto, modal 4 y máximo 8 minutos. Haremos una simulación de 15 minutos y calcularemos: • El número total de clientes atendidos • El valor medio del tiempo de espera en la cola. Si Di es el tiempo que pasó en la cola el i-ésimo cliente, y N es el número de clientes que pasaron por la cola, el valor medio buscado será:

∑D
i =1

N

i

N

En Arena, este tipo de estadísticas se denominan Tally Statistics, debido a que el valor de la estadística se va calculando al mismo tiempo que las entidades van pasando por el punto donde se calcula. • El valor más alto del tiempo de espera en la cola. • El número medio de clientes esperando en la cola. Este valor se calcula como la media ponderada de las posibles longitudes de la cola (0, 1, 2, ... ), ponderada por la proporción de tiempo de simulación que en la cola había ese número de clientes. Si llamamos Q(t) al número de clientes en la cola en cualquier momento t, el valor medio buscado será el área bajo la curva, dividido por la longitud de la simulación 15.

15

∫ Q(t )
0

15 15

Este tipo de estadísticas persistentes en el tiempo (TimePersistent Variable) son comunes en simulación. Ésta indica el número medio en la cola, lo que puede ser interesante para asignar el espacio adecuado. • El máximo número de clientes que ha habido en la cola en un momento determinado. • Los valores medio y máximo del tiempo que un cliente permanece en el sistema (en la cola más siendo atendido). El valor medio será una estadística de tipo Tally. • La utilización del servidor, definida como el porcentaje del tiempo en que el servidor está ocupado. Se trata de otra estadística persistente en el tiempo, en este caso la función B(t) solo puede tomar dos valores 0, cuando el servidor está libre y 1 cuando está ocupado.
15

∫ B(t )
0

15

15

Para modelar el sistema con Arena, se irán arrastrando los módulos adecuados al diagrama. En primer lugar se cogerá el modulo “Arrive” con el que se modelará el proceso de llegada de los clientes al sistema. Haciendo “doble clic” sobre el dibujo del módulo aparecerá una ventana en la que se introducirán los datos relativos a la llegada de los clientes al sistema:
Enter Data Station Arrival Data Time Between Mark Time Attribute Llegada

EXPO(5) Tiempo de llegada

Leave Data Connect

Seleccionar

Para similar el proceso de servicio, se arrastrará el módulo “Server” al diagrama (si se seleccionó la opción “Connect” en el módulo anterior, el servidor aparecerá ya conectado al módulo de llegada). Haciendo doble clic en el símbolo del servidor se podrán introducir las características del proceso de atención a los clientes:
Enter Data Station

Atención al cliente

Arrival Data Process Time TRIA(1,4,8) Leave Data Connect

Seleccionar

Para modelar el proceso de salida del sistema se escogerá el módulo “Depart”, en el que se introducirán los datos relativos al proceso de salida de los clientes de la instalación, además de algunas de las estadísticas que se recopilarán:

Enter Data Station

Salida

Count Individual Counter Counter Clientes atendidos Tally Individual Tally Tally Tiempo en Sistema Attribute Tiempo de llegada

Las características de la simulación se introducen en el módulo “Simulate”:

Project Title Analyst Date Replicate Length of Replication Sistema Sencillo Yo 10-10-1962

15

Utilizando dos módulos “Animate” añadiremos dos gráficos, que nos proporcionarán información sobre el número de clientes en la cola y la ocupación del servidor.

Por último, se puede añadir el título “SISTEMA SENCILLO”, para identificar el modelo. De esta manera, el modelo esta listo para ser ejecutado.

EJEMPLO 1: SIMULACIÓN DE PROCESOS DE SERVICIO CON ARENA
El Banco Nacional de Occidente piensa abrir una ventanilla de servicio en automóvil para servicio a los clientes. La gerencia estima que los clientes llegarán a una tasa de 15 por hora. El cajero que estará en la ventanilla puede atender clientes a una tasa de uno cada tres minutos. Suponiendo que las llegadas son de Poisson y que el servicio es exponencial, encuentre: 1. La utilización del cajero. 2. El número promedio en cola. 3. Número promedio en el sistema. 4. Tiempo promedio de espera en cola. 5. Tiempo promedio de espera en el sistema (incluyendo el servicio). Por la disponibilidad limitada de espacio y el deseo de proporcionar un nivel de servicio aceptable, el gerente del banco quisiera asegurar, con un 95% de certeza que los clientes no tengan que esperar y sean atendidos inmediatamente. Para ello

tiene dos opciones: conseguir que el empleado de la ventanilla trabaje más rápido, o poner más empleados conservando la misma tasa de servicio. Evaluar las dos posibilidades.

EJEMPLO 2: SIMULACIÓN DE PROCESOS DE FABRICACIÓN CON ARENA
Se trata de simular el proceso de fabricación de un producto que está compuesto por 3 elementos: 2 tapas (la superior y la inferior, y el interior). Las tapas llegan a la línea de fabricación según un proceso de Poisson de media 5 tapas/hora. El 50% son tapas superiores y el otro 50% inferiores. Una vez recibidas, es necesario pintarlas, para lo que pasan de una en una; por un proceso de pintura cuya duración es independiente de la clase de tapa que se trate; se ha comprobado que se distribuye según una triangular de tiempo mínimo 6, medio 9 y máximo 12 minutos. Hay un control de calidad del proceso de pintura que separa las tapas correctamente pintadas (el 95%) de las defectuosas, las cuales vuelven al proceso de pintura de nuevo. Por otra parte, el elemento interior del producto final, llega a la línea de fabricación empaquetado en cajas de 3 unidades, siguiendo una distribución exponencial de media 64 minutos. El proceso de desempaquetado lo realiza una máquina que tarda en realizar el trabajo un tiempo que se distribuye según una uniforme entre 30 y 50 minutos. Además, esta misma máquina separa las unidades defectuosas (el 10%) y las envía a chatarra. Posteriormente, se tiene una máquina que hace el ensamblaje de una tapa superior, una inferior y un elemento interior para constituir el producto final. El tiempo de ensamblado se distribuye según una normal de media 15 minutos y varianza 10 minutos. Se trata de simular el proceso para calcular cuantas unidades del producto final es posible fabricar en 1 mes (30 días) con jornadas de 8 horas.

EJEMPLO 3: SIMULACIÓN DE DISTINTOS TRANSPORTES CON ARENA
Las piezas llegan al primer proceso de una en una, con una media de 10 unidades/hora (Poisson); la mitad son de color ROJO y la otra mitad AZULES. En el primer proceso se dispone de 2 máquinas iguales que realizar el trabajo tardando un tiempo que se distribuye según una triangular de tiempos mínimo, modal y máximo, de 5, 8 y 10 minutos respectivamente. Cuando finaliza este primer trabajo, se mandan las piezas al departamento 2 utilizando un transporte directo (“ROUTE”) que tarda 12 minutos. En el departamento 2, se agrupan las piezas en cajas de 6 unidades del mismo color. Las cajas son mandadas al departamento 3 a través de una cinta transportadora (“CONVEYOR”), de 100 metros de longitud y que se mueve a una velocidad constante de 200 metros/hora. En el departamento 3 se sacan las unidades de las cajas, y se procesan de una en una en una máquina que tarda un tiempo que se distribuye uniformemente entre 4 y 8 minutos. El producto ya finalizado se mete otra vez en cajas de 10 unidades del mismo color que se llevarán al almacén 1 si son rojas, y al almacén 2 si son azules. Para ello se utilizará una carretilla eléctrica (“TRANSPORTER”), que se moverá a una velocidad de 30 km/hora si va vacía, y 10 km/hora cuando va llena. La distancia hasta el almacén 1 es de 6 km, y de 10 km al almacén 2.

Tabla de Números Aleatorios.
27767 13025 80217 10875 54127 60311 49739 78626 66692 44071 59820 25704 22304 17710 25852 46780 59849 47670 94304 08105 64281 66847 72461 21032 95362 49712 58275 89514 15472 12120 95294 66986 80620 55411 95083 90726 68984 36421 92638 21036 13173 86716 92581 12470 01016 34030 50259 73959 46874 60883 43584 14338 36292 62004 57326 42824 71484 51594 13986 28091 96163 91035 90314 59621 58905 56487 96169 07654 71803 59987 61826 70495 33230 91050 67011 97380 61764 11788 50669 86124 00566 34099 51790 85667 06783 57166 83620 16489 40333 82808 33365 38746 02262 56500 00857 60726 46345 76145 37088 52109 85301 54066 98525 90391 26629 37301 92003 16453 99837 07362 78851 26313 78438 15292 55018 75211 87195 30342 73465 21437 18555 32350 21529 13058 06651 10404 97586 68224 48139 51247 70481 74474 11436 77535 28102 98884 89747 18059 67054 77501 41468 94559 41615 50273 41396 25807 06170 60808 80940 19516 88977 15243 24335 61105 19087 42678 98086 94614 00582 97703 16499 77463 66276 76139 56374 10271 46092 40277 09819 36786 64937 02985 53424 16218 16136 55452 54716 23417 36732 44302 06905 20740 38072 99892 57816 08583 98882 51061 16067 97427 85149 37559 70360 93113 80504 24260 97965 54444 44893 90120 29490 47724 24432 57411 24472 45990 76668 39014 81232 76447 87064 55387 18396 59526 35824 36633 26787 11049 58869 49226 64654 01755 72877 06554 57216 09971 61459 46376 26823 87112 21785 47458 40405 71209 85561 93889 92613 67667 24700 76479 49554 49678 64114 41794 90670 71529 88302 74412 10408 46759 69714 66733 24896 06368 88779 43242 73209 97066 44987 42537 13075 72681 73538 52113 71708 68424 60939 72049 35220 77837 25843 14750 17334 07850 39618 59481 21647 25366 05511 21476 41101 64809 68032 92061 29671 57067 89719 60631 71594 68562 17994 53119 56861 86861 08289 78920 98041 81105 36222 71643 94015 74108 62880 11748 17944 66067 54244 30945 69170 08345 73035 47431 43277 53856 30540 17374 59202 83012 09504 98524 41145 48968 39283 73950 49856 37006 87417 94746 12459 14713 49386 06312 60942 92329 77936 38101 39641 84054 47468 43321 91178 98189 96717 39448 58137 47648 11947 69181 14004 62342 64874 88222 87873 12102 05600 42792 91030 57589 37403 88975 41207 43905 58874 30743 27886 52003 11973 09832 96412 97831 42820 38603 04149 79552 99326 22186 17198 49580 91314 71181 54480 88940 00307 98932 63574 77756 69457 40455 03577 31370 10174 81851 54244 93136 17820 13885 56203 96845 23153 07589 32444 88570 95160 80580 60478 95043 45547 31732 86995 35841 74699 31048 11446 08670 61732 70707 02902 25571 90193 65704 14924 70312 90850 24781 40902 72682 21443 01176 80582 13177 23604 15995 11897 78284 31384 11657 91339 99396 57649 28977 29420 29651 10701 25722 22751 70669 19324 38525 69249 08899 48277 74015 59221 41867 03343 52680 70818 57260 90307 85771 09310 56699 16082 84741 75454 70214 33250 77628 79568 09514 39650 05682 64618 89483 05069 07385 41808 28838 71944 55292 23554 69321 92674 46347 51924 13897 22502 63680 63266 23896 90438 84215 41393 08564 36518 93406 20504 11600 05747 05985

APLICACIONES DE LA SIMULACIÓN
1. DISEÑO DE LAS INSTALACIONES. ESTA APLICACIÓN EVALÚA EL TAMAÑO DE LAS INSTALACIONES O EL NÚMERO DE EMPLEADOS QUE SE REQUIEREN. 2. PLANIFICACIÓN AGREGADA. EVALUACIÓN DEL COSTE DE PLANES ALTERNATIVOS. 3. PROGRAMACIÓN. SECUENCIACIÓN DE TAREAS EN TODO TIPO DE PROCESOS. 4. GESTIÓN DE INVENTARIO. SE SIMULAN LAS REGLAS DE DECISIÓN PROPUESTAS PARA CALCULAR COSTES Y EFECTO EN EL SERVICIO AL CLIENTE. 5. PLANIFICACIÓN DE REQUERIMIENTOS DE MATERIALES. EVALUAR EL EFECTO DE LOS CAMBIOS PROPUESTOS EN EL PLAN DE PRODUCCIÓN. 6. SIMULACIÓN DE SISTEMAS ECONÓMICOS. EVALUAR EL EFECTO DE DECISIONES (DEVALUACIÓN DE LA MONEDA, EL IMPUESTO AL VALOR AÑADIDO, ETC.) EN LAS DEMÁS VARIABLES MACROECÓMICAS. 7. SIMULACIÓN DE ESTADOS FINANCIEROS. PERMITE ANALIZAR ESTRATEGIAS QUE LLEVARÁN A LA ORGANIZACIÓN AL LOGRO DE SUS OBJETIVOS Y METAS DE CORTO, MEDIO Y LARGO PLAZO.
SIMULACIÓN - 1 ..

METODOLOGÍA DE SIMULACIÓN (1)
• PREGUNTAS QUE DEBEN CONTESTARSE. • HIPÓTESIS QUE DEBEN PROBARSE. • EFECTOS QUE SE DESEAN ESTIMAR.

1

FORMULACIÓN DEL PROBLEMA Y PLANIFICACIÓN DEL ESTUDIO

2

DISEÑO Y VALIDACIÓN DE UN MODELO CONCEPTUAL

• LÍMITES DEL MODELO (EXTENSIÓN Y AMPLITUD DEL MISMO). • ELEMENTOS QUE CONSTITUYEN EL MODELO (RECURSOS, MATERIA PRIMA, PRODUCTOS, ...) • ESCENARIOS OPERACIONALES A EXAMINAR. • REGLAS DE TRABAJO. • CRITERIOS SOBRE EL MANEJO DE LOS RECURSOS. • DISEÑO O LAYOUT DEL SISTEMA.
SIMULACIÓN - 2 ..

METODOLOGÍA DE SIMULACIÓN (2)

3

RECOPILACIÓN Y ORGANIZACIÓN DE LOS DATOS

4

CREACIÓN DEL MODELO MEDIANTE EL SOFTWARE ADECUADO

• RUTAS DE LAS PIEZAS Y POSIBLES ALTERNATIVAS. • SECUENCIACIÓN DE OPERACIONES. • TIEMPOS DE OPERACIÓN. • CICLOS DE MÁQUINA Y TIEMPOS DE PREPARACIÓN. • EFICIENCIA DE LOS TRABAJADORES. • TURNOS DE TRABAJO. • LÓGICA DE PROCESAMIENTO (PRIORIDADES ETC.) • ...

5

VALIDACIÓN DEL MODELO FRENTE AL SISTEMA REAL

6

EJECUCIÓN DEL MODELO Y ANÁLISIS DE LOS RESULTADOS OBTENIDOS
SIMULACIÓN - 3 ..

MÉTODO DE SIMULACIÓN DE MONTECARLO: EJEMPLO DE SIMULACIÓN DINÁMICA CON INCREMENTOS DE TIEMPO FIJOS. GESTIÓN DE LOS PEDIDOS A PROVEEDORES EN UN NEGOCIO DE VENTA DE LECHE • ESTUDIO DE LA DEMANDA EN LOS ÚLTIMOS 100 DÍAS:
Demanda (Unidades del producto) 20-24 25-29 30-34 35-39 40-44 45-49 50-54 Punto medio 22 27 32 37 42 47 52 Frecuencia 0.05 0.10 0.20 0.30 0.20 0.10 0.05

• VENTA MEDIA DIARIA: VENTA MEDIA = 0.05·(22) + 0.10·(27) + 0.20·(32) + 0.30·(37) + + 0.20·(42) + 0.10·(47) + 0.05·(52) = 37
SIMULACIÓN - 4 ..

DOS REGLAS DE DECISIÓN POSIBLES:

REGLA 1:

PEDIR UN NÚMERO DE UNIDADES DE LECHE IGUAL A LA DEMANDA DEL DÍA ANTERIOR PEDIR UNA CANTIDAD FIJA (37 UNIDADES) SIN TENER EN CUENTA LA DEMANDA DEL DÍA ANTERIOR.

REGLA 2:

SE SIMULARÁ LA DEMANDA PARA LOS PRÓXIMOS 15 DÍAS, Y SE CALCULARÁN LOS BENEFICIOS DERIVADOS DE LA ADOPCIÓN DE CADA UNA DE LAS ALTERNATIVAS. SE ELEGIRÁ LA REGLA DE DECISIÓN QUE DE MAYORES BENEFICIOS PRECIO DE VENTA = 50 u.m./unidad PRECIO DE COMPRA = 25 u.m./unidad
SIMULACIÓN - 5 ..

MÉTODO DE MONTECARLO DE SIMULACIÓN

ASIGNACIÓN DE NÚMEROS ALEATORIOS
Punto medio de la demanda 22 27 32 37 42 47 52 Frecuencia 0.05 0.10 0.20 0.30 0.20 0.10 0.05 Números aleatorios 00 - 04 05 - 14 15 - 34 35 - 64 65 - 84 85 - 94 95 - 99

UTILIZACIÓN DE UNA TABLA DE NÚMEROS ALEATORIOS
SIMULACIÓN - 6 ..

Día 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Número aleatorio 27 43 85 88 29 69 94 84 32 48 13 14 54 15 47

Demanda 37 32 37 47 47 32 42 47 37 32 37 27 27 37 32 37 587

REGLA 1 Cantidad Ventas ordenada 37 32 37 47 47 32 42 47 37 32 37 27 27 37 32 550 32 32 37 47 32 32 42 37 32 32 27 27 27 32 32 500

REGLA 2 Cantidad Ventas ordenada 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 555 32 37 37 37 32 37 37 37 32 37 27 27 37 37 37 515

Regla 1: Beneficio = 50(500) - 25(550) = 11.250 u.m. Regla 2: Beneficio = 50(515) - 25(555) = 11.875 u.m.
SIMULACIÓN - 7 ..

0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 22 27 32 37 42

Demanda Real Demanda Simulada

47

52

Figura 8. Lechería: demanda real versus demanda simulada.
9 Utilidad por Período 35 Ventas por Período

8 Utilidad Ventas 7 0 25 50 75 100 125 150 Número de días simulados

34

33

Figura 9. Resultados obtenidos versus longitud de la simulación.

SIMULACIÓN - 8 ..

RESULTADOS DE LA SIMULACIÓN DE 100 DÍAS REGLA 1 Beneficios: 749 Ventas: 1.687 VARIACIÓN EN EL PRECIO DE COMPRA C=20 Regla 1 Regla 2 936 995 Beneficio

REGLA 2 810 1.735

C=30 Regla 1 561 Regla 2 625

ANÁLISIS DE SENSIBILIDAD RESPECTO A LA CANTIDAD FIJA PEDIDA
800

600

400

200

0 0 10 20 30 40 50 60

Figura 10. Análisis de sensibilidad respecto a la cantidad pedida. SIMULACIÓN - 9 ..

MÉTODO DE SIMULACIÓN DE MONTECARLO: EJEMPLO DE SIMULACIÓN DINÁMICA CON INCREMENTOS DE TIEMPO VARIABLES. • PROCESO DE LLEGADA: EXPONENCIAL DE MEDIA 6 DÍAS • TASA DE SERVICIO: CONSTANTE (5 DÍAS)
t=− 1

λ

ln (1 − NA)

P ( x ≤ t ) = 1 − e − λt

0. 2 0. 15 0. 1 0. 05 0 01 12 23 34 45 56 67 78 89 910

Probabilidad Acumulada

1-EXP(-lambda*t) 0.7

0 0 7.22 (b) Intervalo entre cada llegada, t

( I er o ente cada legada a) nt val r l

Figura 11. Distribución de los intervalos de llegada.

SIMULACIÓN - 10 ..

Nº de NA llegada 1 2 3 4 5 6 7 8 9 10 44 18 45 52 14 91 63 70 72 57

Intervalo Tiempo Entrada entre de al puerto llegadas llegada 3.5 3.5 3.5 1.2 4.7 8.5 3.6 8.3 13.5 4.5 12.8 18.5 0.9 13.7 23.5 15 28.7 28.7 6 34.7 34.7 7.4 52.1 52.1 7.8 59.9 59.9 5.1 65.0 65.0

Tiempo en servicio 5 5 5 5 5 5 5 5 5 5

Salida Tiempo Tiempo de del de espera servicio puerto del barco ocioso 8.5 0 3.5 13.5 3.8 0 18.5 5.2 0 23.5 5.7 0 28.5 9.8 0 33.7 0 0.2 39.7 0 1.0 57.1 0 12.4 64.9 0 2.8 70.0 0 0.1 Total 24.5 20

llegadas TMEspera = salidas

24,5 = 2,45 días 10

SIMULACIÓN - 11 ..

Generación de variables  aleatorias

20 de Febrero de 2007

1

ÍNDICE
Definición de simulación. Generación de variables aleatorias: ✔ Generación de número aleatorios ✔ Método de la función inversa ✔ Otros métodos: ✔ Composición ✔ Convolución ✔ Transformaciones conocidas ✔ Generación de secuencias Comprobación de resultados Bibliografía 

20 de Febrero de 2007

2

DEFINICIÓN DE SIMULACIÓN
SIMULACIÓN:  "Experimentar  con  modelos  matemáticos  en  un  computador". Esquema general de la simulación: Experimentación/Medida Sistema Generación de  señales de entrada Análisis de  resultados Modelo matemático  del sistema Simulación Análisis de  resultados

En este curso cubriremos los tres aspectos Notar  que,  al  trabajar  en  computador,  siempre  trabajaremos  con  secuencias discretas (muestras, en todo caso, de señales continuas)
20 de Febrero de 2007 3

GENERACIÓN DE VARIABLES ALEATORIAS
Muchos  modelos  de  sistemas  reales  contienen  elementos  que  precisan o admiten un modelado estadístico: ✔ Sistemas de comunicaciones: ruido, desvanecimiento, ... ✔ Sistemas  de  conmutación:  llegadas  de  usuarios  al  sistema,  duración de servicios, ... ✔ Sistemas sensores: proceso de detección, proceso de medida, ... ✔ ... Modelado toma forma definiendo: ✔ Variables  aleatorias  que  rigen  ciertos  comportamientos  del  sistema ✔ Procesos  estocásticos  para  modelar  variación  de  entradas  en  el  tiempo. Se  deben  definir  métodos  para  generar  muestras  de  variables  aleatorias y muestras de procesos estocásticos.
20 de Febrero de 2007 4

GENERACIÓN DE VARIABLES ALEATORIAS (II)

Esquema general de generación de variables aleatorias y muestras  de procesos estocásticos: Generación de  números  pseudoaleatorios {Ui} Transformación  X=f(U) {xi}

{Ui}:  Conjunto  de  números  generados  en  el  computador,  que  siguen una distribución uniforme entre 0 y 1, independientes. {xi}: Conjunto de números que pueden verse como: ✔ Muestras de una determinada variable aleatoria ✔ Muestras  de  un  proceso  estocástico  en  distintos  instantes  de  tiempo
20 de Febrero de 2007 5

GENERACIÓN DE NUMEROS ALEATORIOS

Números  aleatorios:  los  que  generan  variables  aleatorias  con  distribución uniforme entre 0 y 1. Importante: Poder reproducir exactamente el mismo experimento: ✔ Detectar casos singulares ✔ Comparar sistemas similares bajo condiciones idénticas. Objetivo:   ✔ U(0,1) ✔ Secuencia de números independientes linealmente: Incorrelados ✔ Secuencia reproducible a partir de pocos datos ✔ Coste computacional reducido

20 de Febrero de 2007

6

GENERACIÓN DE NUMEROS ALEATORIOS (II)
Existen  varias  familias  de  métodos  de  generación  de  números  aleatorios. Aquí  explicaremos  el  funcionamiento  de  los  más  usuales:  tipo  congruencial lineal. Fórmula: Genera una secuencia de enteros {zi} como: zi=(a zi­1 + c) mod m m es el módulo ✔ a es el multiplicador ✔ c es el incremento ✔ m>0 , m>a , m>c  El número aleatorio entre 0 y 1 se obtiene como: Ui=zi/m

20 de Febrero de 2007

7

GENERACIÓN DE NUMEROS ALEATORIOS (III)
Propiedades: ✔ Ecuación  recursiva:  con  un  valor  inicial  (z )  se  define  la  o secuencia  completa.  A  este  valor  se  el  denomina  semilla  aleatoria.  ✔ Como  máximo  se  pueden  conseguir  m  números  aleatorios  distintos. ✔ Tiene comportamiento cíclico. Longitud del ciclo como máximo  m, depende de z0.  ✔ ¿Que pasa si z =0? Selección de z  puede ser importante. 0 0 ✔ No puede salir cualquier número, solo los de la forma z/m. ✔ Dependencia fuertemente no lineal   Ejemplo: función rand de MATLAB 4: zi=(77 zi­1) mod(231­1)
20 de Febrero de 2007 8

GENERACIÓN DE NUMEROS ALEATORIOS (IV)

Otros métodos, con carácter general, mantienen misma estructura:  ✔ Ecuación  recursivas,  reproducibles  a  partir  de  valor  inicial  seleccionable.  ✔ Dependencias no lineales => lineales implican correlación entre  muestras. ✔ Tienen comportamiento cíclico. 

20 de Febrero de 2007

9

GENERACIÓN DE VARIABLES ALEATORIAS
Sabemos  generar  U(0,1).  Aquí  generalizaremos  para  conseguir  muestras que: ✔ Sigan una distribución deseada (función de distribución F (x) o  X densidad de probabilidad fX(x)).  ✔ Sean independientes (linealmente).  Generación de  números  pseudoaleatorios {Ui} Transformación  X=f(U) {xi}

Como debe ser f(U) para conseguir la distribución deseada

20 de Febrero de 2007

10

MÉTODO DE LA FUNCIÓN INVERSA
Método para funciones continuas: f(U)=FX­1(U) Demostración de su validez: ✔ Definimos Y=f(U)  ✔ Queremos calcular F (y)=P(Y≤y) Y ✔ F (.) es monótona creciente => P(Y≤y)=P(F (Y)≤F (y)) X X X ✔ F (y)=P(F (f(U))≤F (y)) Y X X ­1 ✔ F (y)=P(F (F (U))≤FX(y)) Y X X ✔ F (y)=P(U≤F (y)) Y X ✔ Como  U  es  una  variable  aleatoria  uniforme,  si  0<p<1  P(U≤p)=p. ✔ Por tanto F (y)=F (y) Y X
20 de Febrero de 2007 11

MÉTODO DE LA FUNCIÓN INVERSA (II)

U 1 fU(U)

FX(X)

0 fX(X) X
20 de Febrero de 2007 12

MÉTODO DE LA FUNCIÓN INVERSA (III)

Generación completa de una muestra de una variable aleatoria:  ✔ Se genera un numero aleatorio u  con un generador de números  i aleatorios. ­1 ✔ Se transforma utilizando x =F (ui)  i X Propiedades del método: ✔ Si  podemos  asumir  que  los  números  aleatorios  son  independientes,  las  muestras  de  las  variables  aleatorias  transformadas también serán independientes ✔ General, vale para cualquier distribución. ­1 ✔ Problema: Generar F (U)  X

20 de Febrero de 2007

13

MÉTODO DE LA FUNCIÓN INVERSA (IV)

Extensión a variables aleatorias discretas:  ✔ Solo  los  puntos  x  tienen  una  cierta  probabilidad  de  aparecer  k (p(xk)).

F X  x=P X≤ x= ∑ p  x i 
x i≤ x

Al fin y al cabo, son distribuciones como cualquier otra Veamos gráficamente 

20 de Febrero de 2007

14

MÉTODO DE LA FUNCIÓN INVERSA (V)

U 1 fU(U) 0 fX(X) X

FX(X)

20 de Febrero de 2007

15

MÉTODO DE LA FUNCIÓN INVERSA (VI)

Lo que cambia es el método de generación: Generación  completa  de  una  muestra  de  una  variable  aleatoria  discreta:  ✔ Se genera un numero aleatorio u  con un generador de números  i aleatorios. ✔ Se transforma seleccionando el menor x  tal que u <F(x ). k i k Implementación  práctica:  Ordenar  xk,  ir  recorriendo  hasta  que  se  cumpla la anterior condición, devolver xi=xk.  Generalización a distribuciones mixtas es inmediata.

20 de Febrero de 2007

16

EJEMPLOS
Generación  de  muestras  que  siguen  una  distribución  exponencial: ✔ f (x)=1/c exp(­x/c) para valores positivos de x.  X ✔ F (x)=1­exp(­x/c)   X ­1 ✔ f(u)=F (u)= ­ c ln(1­u) X ✔ MATLAB: >>x=­c*log(1­rand(1,1)); Generación de muestras que siguen una distribución discreta: ✔ p(1)=1/3, p(2)=1/2, p(4)=1/6  ✔ MATLAB: >>u=rand(1,1) >>if(u<1/3) x=1; >>else if(u<5/3) x=2; >>else x=4;
20 de Febrero de 2007 17

OTROS MÉTODOS 

Problema del método anterior es sintetizar FX­1(U). En ocasiones, mas sencillo emplear propiedades de distribuciones.  Ejemplos: ✔ Composición ✔ Convolución ✔ Transformaciones conocidas

20 de Febrero de 2007

18

COMPOSICIÓN 

Método típico para generar distribuciones multimodales: fX(X)=p1fX1(X)+p2fX2(X)+p3fX3(X)+ ...+pNfXN(X) Si una distribución es mezcla estadística de otras, por que no: ✔ Generar  una  variable  aleatoria  discreta  coherente  con  la  probabilidad de cada modo ✔ Seleccionar el modo resultante ✔ Generar  la  variable  aleatoria  con  la  distribución  asociada  al  modo.

20 de Febrero de 2007

19

COMPOSICIÓN (II)
Ejemplo: distribución de Laplace fX(X)=1/(2c) exp(­|x|/c)  ✔ Puede  verse  como  composición  de  dos  exponenciales,  una  positiva y otra negativa ✔ Generando  dos  números  aleatorios  u  y  u  se  puede  calcular  1 2 decidiendo  con  el  primero  el  signo  (equiprobable)  y  con  el  segundo el módulo (exponencial). ✔ MATLAB: if rand(1,1)<0.5 x=c*log(1­rand(1,1)); else x=­c*log(1­rand(1,1));
20 de Febrero de 2007 20

CONVOLUCIÓN

En otras ocasiones, se sabe que una variable aleatoria es resultado  de la suma de varias otras variables.  Si dos variables aleatorias (X e Y) son independientes, la función  densidad  de  probabilidad  se  la  suma  Z=X+Y  puede  demostrarse  (ISA) que es: fZ(z)=fX(z)*fY(z) => de hay el nombre del método. Si sabemos que Z cumple esta propiedad, por que no: ✔ Generar  muestras  (en  el  ejemplo  x e  yi)  de  las  variables  i  aleatorias originales (X e Y en el ejemplo) utilizando el método  que sea preciso. ✔ Sumarlas (en el ejemplo, z =x +y ) i i i

20 de Febrero de 2007

21

CONVOLUCIÓN (II)

Ejemplo 1: m­Erlang que es la suma de m exponenciales. ✔ MATLAB: x=0; for i=1:m x=x­c/m *log(1­rand(1,1)); end

20 de Febrero de 2007

22

CONVOLUCIÓN (III)
Ejemplo 2: Síntesis de gaussianas como suma de uniformes  ✔ Teorema de límite central. ✔ Sumando suficientes uniformes, tenderemos a una gaussiana. ✔ Método clásico usa 12 => resultado: N(6,1)

20 de Febrero de 2007

23

TRANSFORMACIONES CONOCIDAS 
En ocasiones, se conocen relaciones entre variables aleatorias que  permiten transformar unas en otras. Ejemplo clásico: Generación de variables aleatorias gaussianas  ✔ Propiedad  conocida:  Si  tenemos  dos  variables  aleatorias  gaussianas X e Y (media nula y varianza igual): ✔ ¿Cual es la distribución de |X+jY|? ✔ ¿La de M=|X+jY|2 ?  ✔ ¿Y la de F=arg(X+jY)? ✔ ¿Hay dependencia entre M y F?  ✔ Generar  variables  aleatorias  exponencial  y  uniforme  no  es  complicado => ya hemos visto como

20 de Febrero de 2007

24

TRANSFORMACIONES CONOCIDAS (II)
A partir de dos variables aleatorias, una exponencial (M) y la otra  uniforme  entre  0  y  1  (F),  se  pueden  generar  dos  gaussianas  independientes utilizando las siguientes transformaciones:
X = M cos2  F Y = M sen 2  F

El método completo quedará: ✔ Generar dos variables aleatorias uniformes (u  y u ). 1 2 ✔ Utilizar la siguiente transformación: x=  −2 lnu 1 cos2  u2 Y = −2 ln u 1 sen 2  u2 Resultado:  pareja  de  dos  muestras  de  una  gaussiana  (N(0,1))),  independientes entre si
20 de Febrero de 2007 25

TRANSFORMACIONES CONOCIDAS (III)
Ejemplo  2:  ¿Como  modificar  media  y  varianza  de    una  variable  aleatoria? ✔ Traslación  de  la  media:  Y=X+m  =>  aplicar  sobre  muestras  generadas de X (comprobar que E{Y}=E{X}+m):  yi=xi+m   ✔ Modificación de la varianza: Recordar que Y= a X implica que  Var(Y)=a2  Var(X). Aplicar de forma equivalente a las muestras  generadas de X:  yi=a xi  ✔ Traslación de la media y modificación de la varianza conjuntas:  ¿Que pasa con media y varianza si Y=a X+m? Pensar antes  de ir a la práctica.
20 de Febrero de 2007 26

GENERACIÓN DE SECUENCIAS
De entre todos los procesos aleatorios, nos vamos a quedar con los  estacionarios. Existen métodos para otras familias, pero no son de  interés en este curso. OBJETIVO:  Generar  un  proceso  estocástico  (discreto)  con  función densidad de probabilidad ( o distribución) y correlación (o  espectro) arbitrarias. ✔ Problema sin solución general. ✔ En general, incluso cuando es posible, sintetizar adecuadamente  el proceso es difícil ✔ Vamos  a  exponer  un  método  de  generación  lo  más  genérico  posible 

20 de Febrero de 2007

27

GENERACIÓN DE SECUENCIAS (II)
¿Como generar procesos gaussianos con una cierta correlación? Recordar de ISA: ✔ Si tenemos un ruido blanco gaussiano ✔ Pasamos por un filtro con respuesta en frecuencia H(f) ✔ Espectro del ruido coloreado: |H(f)|2 ✔ Distribución sigue siendo gaussiana. Este es el fundamento de la generación de secuencias correladas:  Generación de x[n] gaussianas SY(f)=|H(f)|2 RY[n]=ℱ­1{|H(f)|2}
20 de Febrero de 2007 28

 H(f)

y[n]

GENERACIÓN DE SECUENCIAS (III)

Tratemos de generalizar ahora a otras distribuciones: ¿Que pasa si:  Generación de variables aleatorias ?
✔ ✔

x[n]

 H(f)

y[n]

Espectro: |H(f)|2 Pero distribución se modifica: cada salida es resultado de sumas  ponderadas de entradas  Efecto sumamente difícil de controlar
20 de Febrero de 2007 29

GENERACIÓN DE SECUENCIAS (IV)
Cambiemos ahora el método: ¿Que pasa si :  Generación de x[n] gaussianas ?
✔ ✔

 H(f)

y[n]

 f(Y)

z[n]=f(y[n])

Z=f(Y): No linealidad sin memoria. Distribución  es  una  gaussiana  tras  pasar  por  la  transformación  f(Y)  =>  predecible  =>  controlando  f(Y)  podemos  generar  la  distribución deseada. Espectro,  al  pasar  por  no  linealidad,  se  distorsiona  (y  por  tanto  correlación).  También  es  predecible  esta  distorsión  =>  controlando  H(f),  para  una  f(Y)  dada,  se  puede  controlar  espectro de la salida.
20 de Febrero de 2007 30

GENERACIÓN DE SECUENCIAS (V)

¿Como calcular f(Y)?: Puede hacerse en dos etapas: ­1 ✔ Convertir  gaussiana  en  uniforme:  al  igual  que  F (.)  sirve  para  X transformar  una  uniforme  en  una  distribución,  FX(.)  sirve  para  transformar esa distribución en uniforme. ✔ Convertir  uniforme  en  la  distribución  deseada  (método  de  la  función inversa): ­1 ✔ f(Y)=F (FY(Y)) Z

20 de Febrero de 2007

31

GENERACIÓN DE SECUENCIAS (VI)
¿Como calcular H(f)?:  ✔ Autocorrelación antes de pasar por no linealidad: R'(n) ✔ Función densidad de probabilidad conjunta de dos muestras (u y  v) de la variable aleatoria y[n] separadas n muestras:
g  u , v , R ' n=

1 1 2 2 exp −  u v −2R ' n  uv 2 2π  1−R ' n

Autocorrelación a la salida (z[n]):
∞ ∞

R n = ∫

∫ f  u ⋅f  v ⋅g  u , v , R '  n  ⋅du⋅dv

−∞ −∞

A  partir  de  autocorrelación  =>|H(f)|2=ℱ{R'[n]}.  Usar  métodos  de diseño de filtros digitales. 
20 de Febrero de 2007 32

GENERACIÓN DE SECUENCIAS (V)

Relación  R'(n)=función(R(n))  complicada  de  resolver  en  general.  En  introducción  teórica  a  la  práctica  se  da  resuelta  para  algunos  casos de distribuciones. En introducción teórica también se propone un método de síntesis  de filtros a partir de R(n) (usando la DFT).

20 de Febrero de 2007

33

COMPROBACIÓN DE RESULTADOS

En  la  práctica  se  van  a  generar  un  conjunto  de  muestras  de  variables aleatorias y de procesos estocásticos. Hay que validar los resultados. Para  ello  utilizaremos  un  conjunto  de  funciones  de  MATLAB,  aplicándolas  sobre  los  resultados  obtenidos  para  estimar  parámetros  de  las  variable  aleatorias  y  procesos  estocásticos  generados. En prácticas posteriores veremos que es lo que hacen internamente  estas funciones.

20 de Febrero de 2007

34

COMPROBACIÓN DE RESULTADOS (II)

Habrá que utilizar las siguientes funciones de MATLAB: ✔ mean: media ✔ std: desviación típica (raiz cuadrada de la varianza) ✔ xcorr:  correlación  cruzada  (¿como  la  usaría  para  calcular  autocorrelación?) ✔ psd: densidad espectral de potencia de una señal  ✔ hist: Histograma (recordar de LSCM)

20 de Febrero de 2007

35

RESUMEN

Generación de  números  pseudoaleatorios

{Ui} Transformaciones  X=f(U)

{xi}

Análisis de  resultados

Requisitos: ­Distribución ­Espectro/Autocorrelación

20 de Febrero de 2007

36

SIMULACIÓN
Simulación implica crear un modelo que aproxima cierto aspecto de un sistema del mundo real y que puede ser usado para generar historias artificiales del sistema, de forma tal que nos permite predecir cierto aspecto del comportamiento del sistema. En particular, usaremos computadores para imitar comportamientos del sistemas evaluando numericamente un modelo del mismo. Estas evaluaciones numericas son las que nos permiten generar las historias artificiales que no son mas que experimentos. Modelo Un modelo es una representación de un objeto, idea, o sistema en una forma diferente a la entidad misma. En nuestro caso el modelo es un conjunto de relaciones matemáticas o lógicas derivadas de supuestos sobre el comportamiento del sistema. ¿Para que? Simulamos para explicar, entender o mejorar el sistema. Ejemplo: El diseño de un procesador involucra miles o millones de compuertas lógicas interconectadas. El proceso de crear el primer chip es sumamente costoso y no es posible darse el lujo de construir varios chips y luego verificar su funcionamiento. Lo que se hace es modelar el procesador y verificar su funcionamiento usando simulación. ¿Cuando? a) El sistema real no existe. Es costoso, peligroso, consume mucho tiempo, o imposible de construir y experimentar con prototipos (nuevo computador o procesador, reactor nuclear). b) Experimentar con el sistema real es complicado, costoso, peligroso, o puede causar serios desajustes (sistema de transporte, sistema de manufactura, reactor nuclear). c) Necesidad de estudiar el pasado, presente, o futuro del sistema en tiempo real, tiempo expandido, o tiempo comprimido (sistemas de control a tiempo real, estudios en cámara lenta, crecimiento poblacional). d) Es sistema es tan complejo que su evaluación analítica es prohibitiva, bien sea porque el modelado matemático es imposible, o porque el modelado matemático no tiene solución analítica o numérica simple y practica (colas de espera, ecuaciones diferenciales no lineales, problemas estocásticos). e) Se puede validar satisfactoriamente el modelo de simulación.

Prof. Herbert Hoeger

Simulación

I-1

Se podría decir “Simular cuando todo lo demás falla”, pero esto no es excusa para usar simulación inadecuadamente.

Sistema

Experimentar con el sistema mismo

Experimentar con un modelo del sistema

Modelos físicos

Modelos Matemáticos

Solución analítica

Simulación

Figura 1. La simulación en el estudio de sistemas. Las areas de aplicacion de la simulacion son numerosas y entre ellas estan: • Diseño y analisis de sistemas de produccion. • Analisis de sistemas finacieros o economicos. • Evaluacion de software y hardware. • Evaluacion de sistemas de armamaneto militar o sistemas tacticos. • Determinacion de politicas de inventario. • Manejo de bosques. • Diseño de sistemas de comunicacion y protocolos • Diseño de sistemas de transporte. • Evaluacion de diseños de organizaciones como hospitales, comedores, servicios de correo, etc. I. ERRORES COMUNES EN SIMULACIÓN

1. Nivel de detalle inapropiado Un modelo analítico es menos detallado que un modelo de simulación. Análisis requiere de muchos supuestos y simplificaciones. El detalle en un modelo de simulación esta limitado por el tiempo disponible para desarrollarlo. Prof. Herbert Hoeger Simulación I-2

Mas detalle

⇒ ⇒ ⇒

mas tiempo incrementa la posibilidad de errores y es mas difícil detectarlos incrementa el tiempo de corrida del modelo

¡Mas detalle no necesariamente es mejor! Mas detalle requiere mas conocimiento de los parámetros de entrada, que si no están disponibles pueden hacer el modelo mas inexacto. Ejemplo: Supongamos que en la simulación de un sistema de tiempo compartido (timesharing) debemos simular el tiempo requerido para satisfacer accesos a disco. Una opción es generarlos usando una distribución exponencial. Una alternativa mas detallada seria simular el movimiento de los cabezales y la rotación del disco. En la segunda alternativa se pueden tener mejores resultados solo si conocemos las referencias a sectores y pistas. Sin embargo, si esta información no esta disponible a la hora de la entrada de datos, hay que terminar generándolos exponencialmente y hubiese sido menos costoso irse por la primera alternativa. Es mejor partir de un modelo sencillo, obtener resultados, estudiar la sensibilidad, e introducir mas detalles en las áreas que impactan mas los resultados. 2. Lenguaje inapropiado Lenguajes de simulación de propósito especial requieren menos tiempo para implementar el modelo y facilitan actividades como verificación (mediante el uso de opciones de trazado) y de análisis estadístico. Lenguajes de propósito general son mas portables y proveen mejor control sobre la eficiencia y el tiempo de corrida de la simulación. 3. Modelos no verificados Los modelos de simulación son generalmente programas grandes, que si no se tienen las precauciones respectivas, es posible tener errores de programación que hagan las conclusiones sin sentido. 4. Modelos inválidos Aun cuando no hayan errores de programación, puede que el modelo no represente al sistema real adecuadamente por supuestos incorrectos en su formulación. Es esencial que el modelo sea validado para asegurar que las conclusiones a las que se pueda llegar sean las mismas que se obtendrían del sistema real. Todo modelo de simulación debe estar bajo sospecha hasta que se pruebe lo contrario por modelos analíticos, mediciones, o intuición. Prof. Herbert Hoeger Simulación I-3

5. Tratamiento incorrecto de las condiciones iniciales Generalmente la parte inicial de una corrida de simulación no es representativa del comportamiento de un sistema en estado estable, por lo tanto debe ser descartada. 6. Simulaciones muy cortas Por tratar de ahorrar tiempo de análisis y de computación, las corridas de simulación pueden ser muy cortas. Los resultados en estos casos dependen fuertemente de las condiciones iniciales y pueden no representar al sistema real. El tiempo de corrida adecuado depende de la exactitud deseada (intervalos de confianza) y de la varianza de las cantidades observadas. 7. Generadores de números aleatorios inadecuados Las simulaciones requieren de cantidades aleatorias que son producidas por procedimientos llamados generadores de números aleatorios. Es mejor usar generadores que han sido bien analizados a usar los de uno mismo. Aun buenos generadores presentan problemas. 8. Selección de semillas inadecuadas Los generadores de números aleatorios son procedimientos que dado un numero aleatorio generan otro. El primer numero aleatorio de la secuencia es llamado la semilla y debe ser proporcionada por el analista. Las semillas para diferentes secuencias deben ser cuidadosamente seleccionadas para mantener independencia entre las secuencias. Los analistas usualmente usan una misma secuencia para diferentes procesos o usan la misma semilla para todas las secuencias. Esto introduce correlación entre los procesos y puede llevar a conclusiones erróneas. II. OTRAS CAUSAS DEL FRACASO DE LOS ANÁLISIS DE SIMULACIÓN

1. Estimación inadecuada del tiempo para desarrollar el proyecto Es común subestimar el tiempo y el esfuerzo requerido para desarrollar modelos de simulación. Si la simulación es exitosa y produce información útil, sus usuarios quieren incorporar mas funciones, parámetros y detalles. Por el contrario, si no provee de información útil, usualmente se espera que al añadir elementos la puedan hacer útil. En ambos casos el proyecto se extiende mas allá de las proyecciones iniciales. Para proyectos grandes se deben hacer previsiones para incorporara cambios que son inevitables sobre largos periodos de tiempo.

Prof. Herbert Hoeger

Simulación

I-4

2. Metas inalcanzables La simulación es un proceso largo y complejo y se debe tener claramente definido un conjunto de metas que sean especificas, minuciosas, medibles, y alcanzables. Un ejemplo común de una meta inalcanzable es "modelemos X." Es posible modelar muchas características diferentes de X a muchos niveles de detalle. 3. Mezcla incompleta de habilidades Un proyecto de simulación requiere por lo menos: a. Liderazgo: Habilidad para motivar, guiar y manejar a los miembros del equipo de simulación. b. Modelaje y estadísticas: Habilidad para identificar las características claves del sistema y modelarlas al nivel de detalle requerido. c. Programación: Habilidad para escribir código entendible y verificable que implemente el modelo correctamente. d. Conocimiento del sistema modelado: Habilidad para entender el sistema, explicarlo al equipo de modelaje, e interpretar los resultados del modelo en términos de su impacto en el diseño del sistema. 4. Nivel inadecuado de participación de los usuarios Es esencial que el equipo de simulación y los usuarios de la organización estén en constante contacto para intercambiar y discutir ideas. La mayoría de los sistemas evolucionan y cambian con el tiempo y un modelo desarrollado sin la participación de los usuarios raramente resulta exitoso. 5. Documentación inexistente u obsoleta La mayoría de los modelos de simulación se desarrollan en largos periodos de tiempo y continuamente son modificados a medida que el sistema cambia o es mejor comprendido. Su documentación muchas veces es desatendida y rápidamente se vuelve obsoleta. Es recomendable documentar los programas y usar lenguajes que sean fáciles de leer. 6. Inhabilidad para gerenciar el desarrollo de programas de computación grandes Hay muchas herramientas de ingeniería de la programación que permiten vigilar los objetivos del diseño, los requerimientos funcionales, las estructuras de datos y los estimados de progreso. También hay un conjunto de principios de diseño, como diseño de arriba abajo y programación estructurada, para desarrollar grandes proyectos en forma ordenada . Sin el uso de estas herramientas y técnicas es imposible desarrollar exitosamente un modelo de simulación grande.

Prof. Herbert Hoeger

Simulación

I-5

7. Resultados misteriosos Resultados misteriosos generalmente son debido a errores de programación, supuestos incorrectos en el modelo, o falta de entendimiento del sistema real. Nunca deben ser obviados. III. TERMINOLOGÍA

1. Variables de Estado El estado del sistema esta caracterizado por el valor que tengan las variables de estado en un instante de tiempo dado. El conjunto de variables de estado debe ser suficiente para el propósito de estudio, y puede diferir en el número y tipo de variables si los objetivos de la simulación cambian. Si la simulación es detenida, puede ser continuada después si y solo si los valores de las variables de estado son conocidos. 2. Evento Un evento es un suceso, un hecho, una ocurrencia que genera un cambio en el estado del sistema. Una llegada, una salida, etc. 3. Modelos de Tiempo Continuo y de Tiempo Discreto Modelo de Tiempo Continuo Cuando el estado del sistema esta definido para cada instante de tiempo. Modelo de Tiempo Discreto Cuando el estado del sistema esta definido solo para particulares instantes de tiempo.

Tiempo Continuo
Numero de trabajos en cola

Tiempo Discreto
Numero de estudiantes en clase los viernes

tiempo

tiempo (viernes)

Figura 2. Modelos de tiempo continuo y discreto.

Prof. Herbert Hoeger

Simulación

I-6

4. Modelos de Estado Continuo y de Estado Discreto El modelo es de estado continuo o discreto dependiendo de si las variables de estado son continuas o discretas. Modelo de Estado Discreto → Modelo de Eventos Discretos Modelo de Estado Continuo → Modelo de Eventos Continuos Continuidad de tiempo no implica continuidad de estado y viceversa.

Estado Continuo

Estado Discreto
Numero de trabajos en cola

Nivel de agua

tiempo

tiempo

Figura 3. Modelos de estado continuo y discreto.

5. Modelos Determinísticos y Probabilísticos Si los resultados de un modelo pueden predecirse con certeza, el modelo es determinístico; un simulador de contratos colectivos. Si repeticiones con la misma entrada pueden producir resultados distintos entonces el modelo es probabilístico; un simulador de colas.

Deterministico

Probabilistico

salida

salida

entrada

entrada

Figura 4. Modelos deterministicos y probabilisticos. Prof. Herbert Hoeger Simulación I-7

6. Modelos Estáticos y Dinámicos Un modelo en el que el tiempo no es una variable es estático. Si el sistema cambia con el tiempo el modelo es dinámico.

E = m c2
Numero de trabajos en cola en un computador. 7. Modelos Lineales y No-Lineales

→ →

Modelo Estático (materia en energía) Modelo Dinámico

Si la salida es una función lineal de la entrada, el modelo es lineal, de lo contrario es no-lineal. Ejemplo: f ( x ) = a + bx vs. f ( x ) = a + b x

Lineal

No-Lineal

salida

salida

entrada

entrada

Figura 5. Modelos lineales y no lineales.

8. Modelos Cerrados y Abiertos Si la entrada es externa al modelo e independiente de el, el modelo es abierto. Si el modelo es cerrado no hay entrada externa. Puede depender de los objetivos de la simulación, como se enfoque el problema y los supuestos que se hagan. Por ejemplo: podemos simular el trafico en una ciudad como un sistema cerrado si asumimos que el numero de vehículos permanece constante (no hay arribos ni salidas o arribos = salidas), o como un sistema abierto generando arribos y salidas al exterior.
Abierto

Cerrado

Figura 6. Modelos abiertos y cerrados. Prof. Herbert Hoeger Simulación I-8

9. Modelo Estables e Inestables Si el comportamiento del sistema converge a un estado estable (independientemente del tiempo) el modelo es estable. Un modelo cuyo comportamiento cambia constantemente es inestable. Por ejemplo: en un sistema de taquilla simple tenemos: Intervalo entre llegadas > tiempo de servicio → modelo estable Intervalo entre llegadas ≤ tiempo de servicio → modelo inestable.

Estable

Inestable

salida promedio

salida promedio

entrada

entrada

Figura 7. Modelos estables e inestables.

Ejemplo Modelos de sistema de computación generalmente son de tiempo continuo, estado discreto, probabilísticos, dinámicos y no-lineales. Algunos son abiertos y otros cerrados. También pueden ser estables o inestables. IV. SELECCIÓN DEL LENGUAJE DE SIMULACIÓN

1. Importante La selección incorrecta del lenguaje de simulación puede extender considerablemente el tiempo de ejecución del proyecto, producir estudios incompletos o hacer fracasar el proyecto. 2. Lenguaje de Simulación Lenguajes como SIMULA y SIMSCRIPT ahorran tiempo de desarrollo: tienen facilidades para generar estadísticas, reportes, etc. Permiten al analista concentrarse en aspectos específicos del sistema y no preocuparse por aspectos generales a todas las simulaciones. El código es modular, fácil de leer y proveen buena detección de errores.

Prof. Herbert Hoeger

Simulación

I-9

3. Lenguaje de Propósito General C, Pascal, Fortran. Se usan cuando el analista esta familiarizado con el lenguaje, no hay tiempo de aprender un lenguaje de simulación o no esta disponible. Proveen flexibilidad, eficiencia y portabilidad. 4. Extensiones a Lenguajes de Propósito General Lenguajes de propósito general extendidos con un conjunto de rutinas comúnmente requeridas en simulación. Ejemplo: GASP para FORTRAN. 5. Paquetes de Simulación QNET4 y RESQ permiten definir el modelo usando un dialogo. Pueden ahorrar mucho tiempo pero son muy inflexibles. Proveen solo cosas que fueron previstas por los desarrolladores.

Continuos
CSMP DYNAMO

Discretos
SIMULA GPSS

Mixtos
SIMSCRIPT GASP GLIDER

V. TIPOS DE SIMULACIÓN

1. Monte Carlo Simulación estática o sin eje de tiempo. Se usa para modelar fenómenos probabilísticos que no dependen del tiempo o para evaluar expresiones no-probabilísticas con métodos probabilísticos. Esta definición es mas restrictiva que la que dan otros autores para los cuales simulación Monte Carlo es cualquier simulación que use números aleatorios. Ejemplo 1:

I = ∫ e − x dx
2

2

0

Para evaluar esta integral (para este ejemplo es mejor usar métodos numéricos y usar Monte Carlo en integrales múltiples con integrandos con comportamiento inusual) podemos generar números aleatorios con distribución uniforme x y para cada numero calcular la siguiente función y: x ~ Unif(0,2) función de densidad f(x) = ½ si 0 ≤ x ≤ 2

Prof. Herbert Hoeger

Simulación

I-10

y = 2e− x
El valor esperado de y es:

2

E ( y ) = ∫ 2e
0

2

−x2

f ( x )dx = ∫ 2 e
0

2

−x2

1 dx = e − x 2 dx = I ∫ 2
0

2

Y podemos evaluar la integral generando xi, calculando yi, y promediando de la siguiente forma: xi ~ Unif(0,2)

yi = 2e − x
I = E ( y) =

2

1 n ∑ yi n 1

Programa y Corridas 1
program calcula_integral; var suma,n,x,y: extended; begin randomize; n := 0; suma := 0; while n < 1000000 do begin x := 2 * random; y := 2 * exp( -x * x ); suma := suma + y; n := n + 1; end; writeln('Resultado: ',suma/n:6:4); end.

n 10.000 100.000 1.000.000

Resultado 0.8855 0.8807 0.8822

Notese que la funcion random genera números uniformes entre 0 y 1.

Ejemplo 2: Para calcular π podemos basarnos en el hecho de que la relación entre el área del circulo y del π .r 2 π .12 π = = . Por lo tanto podemos generar pares de cuadrado que se muestra a continuación es 2.2 4 a.b números aleatorios (x, y) entre -1 y 1 (en realidad es suficiente con generarlos entre 0 y 1 dada la simetría que presenta el problema y por lo tanto los resultados serán los mismos si consideramos solo el primer cuadrante), y calcular la relación entre los números dentro del circulo d ( x2 + y2 = 1) con respecto a los números generados n. Esta relación multiplicada por 4 debe aproximarse más π a d medida que el número de pares generados sea mayor, es decir, lim 4 = π n n →∞

1

Todos los códigos en Pascal fueron probados usando Delphi 5

Prof. Herbert Hoeger

Simulación

I-11

1

-1

1

-1 Programa y Corridas
program calcula_pi; const limit = 10000000; var x, y, dentro, contador: extended; begin randomize; dentro := 0; contador := 0; while (contador < limit) do begin x := random; y := random; if (x*x + y*y) <= 1 then dentro := dentro + 1; contador := contador + 1; end; writeln('PI: ',4.0*dentro/limit:10:8);

n 10.000 1.000.000 100.000.000

Resultado 3.15560000 3.14124800 3.14139356

end.

2. Simulación por trazas Una traza es un registro de eventos ordenados por tiempo de un sistema real. Son muy usadas para analizar diferentes alternativas. Las trazas deben ser independientes del sistema bajo estudio. Ejemplo Para comparar diferentes esquemas de administración de memoria en un computador, se puede obtener del sistema una traza de paginas referenciadas por programas claves. Esta traza puede ser usada para ajustar los parámetros (tamaño de pagina) de un algoritmo de administración particular o para comparar diferentes algoritmos (FIFO, aleatorio, menos usada recientemente, etc.). Ventajas a) Credibilidad: Una traza tiene mas credibilidad que una generación aleatoria. b) Facilidad para validar: Para obtener la traza hay que monitorear al sistema. Durante este monitoreo se pueden observar otras características del sistema que luego pueden usarse para validar la simulación. c) Menos aleatoriedad: Una traza es una entrada determinística. Si la simulación se repite, la traza es la misma pero la salida puede diferir por aleatoriedad en otros componentes del modelo. Hay

Prof. Herbert Hoeger

Simulación

I-12

menos varianza en las salidas y por lo tanto se requieren menos repeticiones para obtener la confianza estadística deseada. d) Comparaciones mas justas: Una traza permite comparar diferentes alternativas con la misma entrada. Desventajas a) Complejidad y detalle: Puede requerir una simulación mas detallada del sistema. Por ejemplo: en la simulación de un sistema de disco podemos asumir tiempo de acceso exponencial a sectores, o tomar trazas de los sectores accesados e incluir cómputos del tiempo de rotación del disco y movimiento de cabezales ⇒ ¡mas cómputos y detalle! b) Trazas finitas y representatividad: En pocos minutos se puede obtener una traza detallada larga que puede no ser representativa en todos los momentos. c) Validación: Las trazas pueden producir diferentes resultados en diferentes alternativas. Deben usarse varias trazas distintas para validar los resultados. d) Cambios de trazas: Si se desea estudiar un sistema bajo condiciones distintas, no es posible modificar las trazas, y hay que tener trazas características para cada caso. 3. Simulación por Eventos Discretos Una simulación que usa un modelo de estado discreto del sistema es llamada una simulación por eventos discretos. En este tipo de simulaciones el estado del sistema cambia solo en momentos específicos del tiempo: cuando ocurre un evento. Consideremos un sistema de taquilla simple:
Taquilla
Clientes en cola

Aquí podemos considerar que la variable de estado (la única en este caso) es una variable entera, que podemos llamar cola, que indica cuantos clientes están frente a la taquilla con las siguientes consideraciones: Caso No hay clientes en el sistema El primer cliente es atendido y los otros esperan Valor de cola 0 ≥1

En este tipo de sistema tenemos dos tipos de eventos, llegadas y salidas. Cuando un cliente arriba, la longitud de cola se incrementa (cambia el estado del sistema), y cuando un cliente termina de ser atendido este abandona el sistema y la longitud de cola se decrementa (vuelve a cambia el estado del sistema). Es claro que el estado del sistema no cambia constantemente y solo lo hace al ocurrir un evento: una llegada o una salida.

Prof. Herbert Hoeger

Simulación

I-13

El esquema secuencial clásico de los simuladores por eventos discretos se muestra a continuación, en donde por lo general la simulación termina cuando el tiempo del próximo evento a simular es mayor que el tiempo que se estipulo para la simulación.
Lista de eventos pendientes

Variables de estado

Lazo de simulación: Lazo • obtenga próximo evento • tiempo = tiempo del evento • procesa el evento: actualiza variables de estado y estadísticas y posiblemente genera nuevos eventos Fin del lazo

El simulador debe garantizar la causalidad, es decir, que todo evento sea simulado después de todos los eventos que él dependa. Para entender mejor esto, suponga una habitación con una puerta que esta cerrada y con una persona dentro. Si se tienen dos eventos: abrir puerta y persona sale, evidentemente no se puede simular la salida de la persona antes de simular la apertura de la puerta: el evento persona sale depende del evento abrir puerta. En un simulador en el que solo se permite que el tiempo avance (nunca retroceda) y en el que los eventos se simulen en estricto orden cronológico (los eventos más próximos en el tiempo primero), la causalidad esta garantizada. Si la causalidad no se garantiza se puede generar un caos y la simulación carecería de sentido alguno. Todas las simulaciones de eventos discretos tienen una estructura común e incluyen los siguientes componentes: a) Manejador de eventos: Mantiene los eventos que esperan por suceder. Es de uno de los componentes de simulación más usados. Es ejecutado antes de la simulación de cada evento y posiblemente durante la simulación de un evento para programar nuevos eventos. Su implementación debe ser cuidadosa ya que tiene un fuerte impacto sobre la eficiencia del simulador. b) Reloj de simulación y mecanismo de avance de tiempo: Toda simulación tiene una variable global que representa el tiempo simulado. El manejador es el encargado de avanzar este tiempo. Hay dos formas de hacer esto: Método de tiempo unitario: Incrementa el tiempo en pequeños pasos y se chequea si hay eventos que pueden ocurrir. Generalmente no se usa. Método por eventos: Incrementa el tiempo automáticamente al tiempo de evento más próximo a ocurrir. Prof. Herbert Hoeger Simulación I-14

c) Variables de estado del sistema: Son variables globales que describen el estado del sistema. d) Rutinas de eventos: Cada tipo de evento es simulado por su rutina. Estas rutinas actualizan las variables de estado y generan nuevos eventos. e) Rutinas de entrada: Son para obtener los parámetros del modelo como tiempo promedio entre llegadas, tiempo promedio de servicio, etc. Deben ejecutarse al comienzo de la simulación para liberar al usuario ya que generalmente las simulaciones consumen tiempo. Permiten variar los parámetros. Cada conjunto de valores de entrada define una iteración que quizás deba ser repetida varias veces con diferentes semillas. Cada ejecución de la simulación consiste de varias iteraciones, y cada iteración consiste de varias repeticiones. f) Generador de reportes: Rutinas para producir las salidas al final de la simulación. g) Rutinas de inicialización: Fijan el estado inicial del sistema e inicializan los generadores de secuencias de números aleatorios. h) Rutinas de trazado: Imprimen resultados intermedios durante la simulación. Sirven para depurar el simulador. i) Manejo dinámico de memoria: Durante la simulación se crean nuevas entidades y las viejas son destruidas. Esto requiere una periódica colección de basura. Si esto no lo provee el lenguaje, el programador debe escribir código para manejo dinámico de memoria. j) Programa principal: Agrupa todas las rutinas. 4. Simulación Continua Los modelos de simulación continua, donde las variables de estado son continuas, usualmente son descritos mediante ecuaciones diferenciales y algebraicas. Estas variables de estado por lo general cambian en forma continua a medida que la simulación avanza, por ejemplo, el contenido de agua en un embalse cambia continuamente con la afluencia y salida de agua del mismo y no en solo en instantes específicos del tiempo como si estuviéramos agregando o sacando baldados de agua. Muchas simulaciones por eventos discretos incluyen subsistemas continuos y viceversa. Se puede hacer en computadores analógicos o en computadores digitales. Computadores analógicos son maquinas de propósito especial: a) operan continuamente sobre todas las variables en tiempo real b) son dispositivos paralelos c) incluyen circuiteria para sumatorias, multiplicación, integración, y generación de funciones d) no tienen capacidades de almacenamiento o son muy limitadas e) dan resultados inmediatamente f) no pueden manejar variables muy grandes o muy pequeñas requiriendo cambio de escala g) las variables de entrada son continuas y esto requiere conversión de voltajes analógicos a números y viceversa.

Prof. Herbert Hoeger

Simulación

I-15

Computadoras digitales son maquinas de propósito general: a) operaciones aritméticas y lógicas son efectuadas secuencialemente b) variables de entrada son discreteas c) pueden manejar números muy grandes o muy pequeños d) integración matemática directa no es posible y se hace usando métodos numéricos (ver el ejemplo siguiente) e) pueden almacenar gran cantidad de datos f) son relativamente lentas. Ejemplo de integración numérica usando el método del trapecio

I = ∫ e − x dx
2

2

0

Programa y Corridas El siguiente programa calcula el área bajo la curva usando trapecios como los mostrados en la figura 8.
program calcula_integral; var suma,x,x1,x2,fx2,tria,paso: extended; begin paso := 0.1; x1 := 0; x2 := paso; suma := 0; while x2 <= 2 do begin fx2 := exp(-x2 * x2); tria := (exp(-x1 * x1) - fx2)*paso/2; suma := suma + tria + xf2 * paso; x1 := x2; x2 := x2 + paso; end; writeln('Resultado: ',suma:10:8); end.

paso 0.1 0.01

Resultado 0.87985 0.88208

f( x1 )

f(x 2 )

x1

x2

Figura 8. Integración numérica.

Prof. Herbert Hoeger

Simulación

I-16

Ejemplo de un programa en CSMP y GLIDER La distancia x , en metros, recorrida entre paradas por un ascensor en una mina esta dada por la siguiente ecuación diferencial: x ' ' = −1.7 ( t − 2 ) 3 donde t = tiempo en segundos, x ' ( 0) = x ( 0) = 0 y 0 ≤ t ≤ 4. Calcular el valor de x como función del tiempo. En CSMP, Y =
t

∫ Xdt + CI ; Y (0) = CI , tiene el siguiente formato Y=INTGRL(IC,X).
0

Programa
TITLE PROGRAMA EJEMPLO * SIMULA LA DISTANCIA RECORRIDA POR UN ASCENSOR CONSTANT K = -1.7 X2 = K*(TIME-2.0)**3 X1 = INTGRL(0.0,X2) X = INTGRL(0.0,X1) TIMER FINTIM = 4.0,PRDEL = 0.4, DELT = 0.01 PRINT X,X1,X2 END STOP ENDJOB PRDEL DELT

Comentarios
FINTIME tiempo de simulacion intervalo entre impresiones intervalo de integracion

En GLIDER (Gate, Line, Input, Decision, Exit, Resource), se escriben directamente las ecuaciones diferenciales. Como no hay segunda derivada, se usa una variable auxiliar para especificarla. Programa
TITLE Distancia recorrida por un ascensor NETWORK C :: X' := Z; Z' := Y; Y := -1.7*(TIME - 2.0)*(TIME - 2.0)*(TIME - 2.0); IF (TRUNC(TIME*100) MOD 40 = 0) THEN ACT(IMP,0); ENC(A) :: WRITELN(F,' TIEMPO X X1 X2'); WRITELN(F,'---------- ---------- ---------- ----------'); IMP(A) :: WRITELN(F,TIME:10:6,' ',X:10:6,' ',Z:10:6,' ',Y:10:6); FIN(A) :: CLOSE(F); INIT ASSIGN(F,'ELEV.OUT'); REWRITE(F); ACT(ENC,0); ACT(IMP,0); ACT(FIN,4.001); ACT(C,0); Z := 0.0; X := 0.0; Y := 13.6; TSIM := 4.001; DT_C := 0.01; DECL VAR X,Y,Z: CONT; F: TEXT; END.

Prof. Herbert Hoeger

Simulación

I-17

Salida: ELEV.OUT
TIEMPO ---------0.000000 0.400000 0.800000 1.200000 1.600000 2.000000 2.400000 2.800000 3.200000 3.600000 4.000000 X ---------0.000000 0.898373 2.956270 5.516312 8.235768 10.982108 13.728557 16.449645 19.016759 21.093697 22.032218 X1 ---------0.000000 4.047964 5.972140 6.689709 6.856738 6.868169 6.857826 6.698413 6.001516 4.117596 0.136000 X2 ---------13.600000 6.963200 2.937600 0.870400 0.108800 -0.000000 -0.108800 -0.870400 -2.937600 -6.963200 -13.600000

Prof. Herbert Hoeger

Simulación

I-18

Sign up to vote on this title
UsefulNot useful