Introducción a la Simulación

September 23, 2017 | Autor: Lucas Lucano | Categoría: Estadistica, Simulacion
Share Embed


Descripción

1.- Introducción a la Simulación

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

1.1.- Introducción Actualmente, la simulación es una poderosa técnica para la resolución de problemas. Sus orígenes están en la teoría de muestreo estadístico y análisis de sistemas físicos probabilísticos complejos. El aspecto común de ambos es el uso de números y muestras aleatorias para aproximar soluciones. Una de las más famosas aplicaciones de muestras aleatoria s, ocurre durante la segunda guerra mundial, cuando la simulación se utilizó para estudiar el flujo de neutrones dentro del desarrollo de la bomba atómica. Esta investigación era secreta y le dieron un nombre en código: Monte Carlo. Este nombre se mantiene, y durante mucho tiempo se usaba para hacer referencia a algunos esfuerzos en simulación. Pero el término métodos Monte Carlo, se refiere actualmente a una rama de las matemáticas experimentales que trata con experimentos de números aleatorios, mientras que el término simulación, o simulación de sistemas, cubre una técnica de análisis más práctico, y es lo que vamos a estudiar.

Introducción a la Simulación

Vamos a ver técnicas que utilizan los computadores para imitar, o simular, el comportamiento de sistemas del mundo real. Para estudiar científicamente estos sistemas, a menudo se han de hacer una serie de suposiciones acerca de cómo trabaja éste. Estas suposiciones que usualmente toman la forma de relaciones matemáticas o lógicas, constituyen un modelo que va a ser usado para intentar comprender el comportamiento del sistema correspondiente. Si las relaciones que componen el modelo son suficientemente simples, es posible usar métodos matemáticos (tales como álgebra, cálculo o teoría de la probabilidad) para obtener una información exacta de las cuestiones de interés; a esto se le llama solución analítica. Sin embargo, la mayoría de los sistemas del mundo real son demasiado complejos y normalmente los modelos realistas de los mismos, no pueden evaluarse analíticamente. Lo que se puede hacer es estudiar dichos modelos mediante simulación. En una simulación se utiliza el ordenador para experimentar con un modelo numéricamente, de forma que con los resultados obtenidos se haga una estimación de las características del sistema.

1.2.- Sistemas, Modelos y Simulación Un Sistema se define como una colección de entidades (por ejemplo, personas, máquinas, ...) que actúan e interactúan juntas para lograr un fin común. En la práctica qué se entiende por sistema depende de los objetivos del estudio particular que se pretenda hacer. El conjunto de entidades que componen el sistema para un estudio puede ser sólo un conjunto de todas las entidades utilizadas para otro estudio. Se puede definir el estado de un sistema con un conjunto de variables necesarias para describir el sistema en un punto particular de tiempo, relativo a los objetivos del estudio. Los sistemas se pueden clasificar en dos tipos, discretos y continuos. Un sistema discreto es aquel en el que las variables de estado cambian instantáneamente en puntos separados en el tiempo. Un sistema continuo es aquel en el que las variables de estado cambian continuamente con respecto al tiempo. En la práctica muchos sistemas no son completamente discretos o continuos, usualmente es posible clasificarlos en base al tipo de cambios que predominen en el mismo. En algunos momentos en la vida de un sistema es necesario estudiar el mismo para entender las relaciones entre sus componentes o predecir su comportamiento bajo nuevas condiciones que se consideran. Existen diferentes formas de estudiar un sistema (Figura 1.1): •

Experimentar sobre el sistema actual frente a experimentar con un modelo del sistema. Lo primero es preferible siempre y cuando se pueda alterar el sistema con las nuevas condiciones y no sea muy costoso. Sin embargo es muy raro que esto se pueda llevar a cabo, ya que normalmente estos experimentos suelen ser muy costosos o muy destructivos para el sistema. Incluso puede ocurrir que el sistema no exista pero se quiera estudiar posibles alternativas de construcción del mismo (sistemas de fabricación, armas nucleares, etc.). Por estas razones es necesario construir un modelo

2

Introducción a la Simulación

que represente al sistema y estudiar éste para poder responder a las cuestiones planteadas sobre el sistema. •

Modelo físico frente a modelo matemático: Para muchos la palabra modelo, evoca imágenes de miniaturas, cabinas separadas de los aviones para el entrenamiento de los pilotos, etc. Estos son ejemplos de modelos físicos (también conocidos como modelos icónicos). Sin embargo la mayoría de los modelos construidos para estudiar los sistemas son matemáticos, los cuales representan un sistema en términos de relaciones cuantitativas y lógicas que pueden ser cambiadas para ver cómo el modelo reacciona y ver así como debería comportarse el sistema, si el modelo es válido.



Solución Analítica frente a Simulación: Una vez que se ha construido un modelo matemático, éste debe examinarse para poder concluir el comportamiento del sistema y así responder a las cuestiones planteadas sobre el mismo. Si el modelo es simple , es posible trabajar con estas cantidades y relaciones y obtener una solución analítica exacta. Sin embargo hay veces en las que obtener una solución analítica resulta complejo y necesita muchos recursos de computación. En estos casos el modelo puede ser estudiado por medio de simulación, es decir, se ejercita el modelo numéricamente por medio de entradas para ver cómo éstas afectan a las medidas de salida o ejecución.

Sistema

Experimentación con el Sistema

Experimentación con un Modelo del Sistema

Modelo Físico

Modelo Matemático

Solución Analítica

Simulación

Figura 1.1. Formas de estudiar un Sistema

Por tanto podemos definir la simulación como “la técnica de resolución de problemas siguiendo en el tiempo los cambios de un modelo de un sistema” (Gordon, 1969), o como “el proceso de diseñar un modelo de un sistema real y realizar experimentos con dicho modelo con el propósito de

3

Introducción a la Simulación

comprender el funcionamiento del sistema o de evaluar diferentes estrategias (dentro de los límites impuestos por un criterio o conjunto de criterios) para la operación del sistema (Shannon, 1975)“, para este último autor , simulación incluye tanto la modelización como el uso del modelo para estudiar el sistema. Otra posible definición es entender la simulación como “el proceso de diseñar un modelo matemático o lógico de un sistema real y realizar una serie de experimentos con el ordenador sobre él para describir, explicar y predecir el comportamiento del sistema real” (Naylor y otros). Por modelo entendemos la representación de un sistema, desarrollado con el propósito de estudiar dicho sistema. Los modelos deben contener sólo los aspectos esenciales del sistema real que representan. Aquellos aspectos del sistema que no contribuyen significativamente en su comportamiento no se deben incluir, ya que lo que harían sería obscurecer las relaciones entre las entradas y las salidas. ¿En qué punto se debe parar de incluir realismo en el modelo? Esto depende del propósito para el cual el modelo se haya desarrollado. Características que deben presentar los modelos: •

Deben ser fáciles de entender y manejar.



Deben ser simples y de costo no excesivo.



Deben ser una buena aproximación del sistema real, que controle el mayor número posible de aspectos del mismo y que éstos contribuyan de forma significativa al sistema (hay relaciones en el sistema que no son significativas y pueden obviarse en el modelo).

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

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



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



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



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

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

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

4

Introducción a la Simulación

Carlo. De otro lado, los modelos dinámicos representan sistemas que evolucionan con el tiempo. •

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



Continuos frente a Discretos: Los modelos de simulación continuos y los discretos se definen de forma análoga a la de los sistemas. Sólo decir que no siempre es usado para modelar un sistema discreto y viceversa. La decisión de utilizar un modelo discreto o continuo para un sistema particular depende de los objetivos del estudio. Por ejemplo un modelo del flujo de tráfico en una autovía podría ser discreto si son importantes las características y movimientos de los coches individuales. Alternativamente, si los coches se tratan en conjunto el flujo de tráfico se puede describir mediante ecuaciones diferenciales en un modelo continuo.



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



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

1.3.- Aplicaciones de la simulación La simulación tiene numerosas aplicaciones por ejemplo (dadas por Hussey, 1972; Shannon, 1975): Experimentación: Hay dos situaciones que requieren un modelo, cuando la experimentación directa sobre el sistema real es muy costosa o imposible; la otra es la del diseño de un nuevo sistema, así el modelo puede ir modificándose fácilmente hasta obtener el comportamiento deseado. Predicción: El modelo se puede usar para predecir el comportamiento del objeto real bajo ciertos estímulos. Se puede hacer así una evaluación de diferentes estrategias de acción.

5

Introducción a la Simulación

Enseñanza y “training”: así se puede utilizar para el adiestramiento de astronautas, en los juegos de negocios, etc. Las áreas de aplicación de la simulación son diversas y muy numerosas. Debajo hay un listado de algunas clases de problemas para los que la simulación constituye una poderosa herramienta: •

Diseño y análisis en los sistemas de manufactura.



Evaluación de los requerimientos hardware y software en un computador.



Evaluación de nuevas armas o tácticas militares.



Determinación de distintas políticas para sistemas de inventario.



Diseños de sistemas de comunicación y protocolos de mensajes para ellos.



Diseño y operación de sistemas de transporte tales como autopistas, aeropuertos, puertos, ferrocarriles, etc.



Evaluación de diferentes diseños para organizaciones de servicios tales como hospitales, oficinas de correos, restaurantes de comida rápida, etc.



Análisis financieros o sistemas económicos.



Análisis medioambientales.

Aunque la simulación está ampliamente utilizada también presenta una serie de problemas. Por un lado, los modelos usados para estudiar sistemas de la rga escala de tiempo suelen ser muy complicados y además necesitan utilizar muchos recursos de computación, aunque en la actualidad y gracias al desarrollo de paquetes software que ofrecen automáticamente muchas de las características necesarias para codif icar los modelos y al abaratamiento del costo de computación, estos inconvenientes están disminuyendo.

1.4.- Ventajas y desventajas de la simulación frente solución analítica 1.4.1.- Modelo analítico Ventajas: •

Conciso en la descripción del problema.



Conjunto de soluciones cerrado.



Permiten evaluar fácilmente el impacto producido por cambios en las entradas sobre las medidas de salida.



Posibilidad de llegar a una solución óptima.

Inconvenientes: •

Las suposiciones hechas para describir el sistema puede ser poco realistas.

6

Introducción a la Simulación



Las fórmulas matemáticas pueden ser muy complicadas impidiendo llegar a una solución.

1.4.2.- Modelos de Simulación Ventajas: •

Pueden describir sistemas que sean muy complejos.



Pueden ser usados para experimentar con sistemas que todavía no existan, o para experimentar con sistemas existentes sin que éstos se alteren. (Esto también los pueden hacer los métodos analíticos siempre y cuando el sistema no sea muy complejo).

Inconvenientes: •

No existe un conjunto de soluciones cerrado.



Cada cambio en las variables de entrada requiere una solución separada o conjunto de ejecuciones.



Los modelos de simulación complejos pueden requerir mucho tiempo para construirlos y ejecutarlos.



Puede resultar dificultoso establecer la validez del modelo (es decir, la correspondencia con el sistema real).

1.5.- Cuándo utilizar simulación Después de ver estas ventajas e inconvenientes del uso de la simulación puede no haber quedado muy claro cuándo se debe utilizar. El estudio de un sistema se va a realizar mediante simulación cuando se de una o varias de las condiciones siguientes (Shannon, 1975): •

No existe una formulación matemática del problema.



Existe un modelo matemático, pero no métodos analíticos de resolución del mismo.



Existen el modelo y los métodos, pero los procedimientos son tediosos, por lo que resulta más sencilla y menos costosa la simulación.



Se desea observar en el tiempo una historia simulada del sistema.



Se desea experimentar con un modelo antes de construir el sistema (Ej: un avión en un túnel aerodinámico).



Es imposible experimentar sobre el sistema real (Ej: sistema solar).



Puede experimentarse sobre el sistema, pero motivos éticos lo impiden (Ej: sistemas biológicos humanos).



Se quiere observar un sistema de evolución muy lenta, reduciendo la escala del tiempo (Ej: análisis de sistemas ecológicos).

7

Introducción a la Simulación

Hasta ahora se ha presentado la simulación y los métodos analíticos como métodos alternativos, sin embargo, hay veces en que resulta fructífero el uso conjunto de ambos métodos. Un estudio de planificación de un ambulatorio usa una simulación recursiva, primero un modelo de programación genera planificaciones y asignación de personal óptimas y entonces un modelo de simulación evalúa su efectividad basándose en medidas tales como tiempo de espera de los pacientes y utilización de los servicios del personal. Si las medidas no son satisfactorias, se alteran las condiciones o se desarrolla un modelo de programación matemático usando el análisis de regresión, y éste se incorpora para una segunda ronda de optimización. El proceso continúa hasta que la solución alcanzada sea aceptable. Esta aproximación mixta tiene la ventaja de los modelos analíticos de producir soluciones óptimas, mientras que con los modelos de simulación refleja el grado apropiado de realismo y precisión en la descripción del sistema. Sin embargo, esta combinación presenta la desventaja de requerir un mayor nivel de familiaridad con los modelos analíticos y más ingenio que si se usan sólo modelos de simulación.

1.6.- Pasos en la simulación Aunque se van a presentar una serie de pasos de forma secuencial, realmente es un proceso iterativo, tal y como se muestra en

Figura 1.2

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

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

8

Introducción a la Simulación

Formulación del problema

Recolección de datos y análisis

Desarrollo del modelo

Verificación y Validación del modelo

Experimentación y Análisis de las Salidas

Implantación de los resultados de la Simulación

Figura 1.2. Pasos en la Simulación

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



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

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



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

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

9

Introducción a la Simulación

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

1.6.1.4.- Desarrollar una estructura preliminar del modelo que interrelacione las variables del sistema y las medidas de ejecución. Para evaluar la efectividad de un sistema, se debe identificar una medida o medidas de comportamiento (o ejecución) para juzgarlo. Estas medidas se seleccionan del conjunto de variables endógenas. La medida o medidas que se pretenden optimizar se conocen como función objetivo. Hay veces en las que existe una única función objetivo dominante y entonces se intenta optimizar ésta sin tener en cuenta las otras variables, aunque siempre considerando las restricciones. En otras ocasiones existe más de una función dominante, en este caso, hay que estudiar las distintas funciones objetivo e intentar encontrar valores para los cuales las funciones son óptimas. Cuando se quiere tener en cuenta varias medidas de comportamiento, a menudo no se podrán optimizar simultáneamente. Lo ideal sería hacer mínimas ambas medidas, el tiempo de espera y el costo de tener los empleados, pero si se minimiza una de ellas la otra aumenta. Se tienen tres formas de abordar este problema: •

Establecer compromisos implícitos entre las medidas. Esta aproximación es muy subjetiva y no se va a considerar. Se dan los resultados a quién tenga que tomar la decisión y él será quien establezca la relación entre las variables conflictivas.



Establecer compromisos explícitos, realizando una combinación de todas las medidas usando una dimensión común tal como el costo. A estas técnicas se les suele conocer como análisis de toma de decisiones multiatributo o multiobjetivo. Para realizar esta técnica se tiene que decidir una dimensión común para todas las medidas, factores pesos, y formar una función que las combine.



Restricción y corte: seleccionar una medida como la que más interesa optimizar y hacer que las otras estén dentro de un rango de valores aceptable. Esto reduce la posibilidad de encontrar un óptimo, o al menos las mejores soluciones.

1.6.1.5.- Desarrollo de un modelo apropiado Los modelos son abstracciones de las partes esenciales del sistema. Se ha de intentar ver si con las variables que se han especificado se tiene suficiente para describir estos aspectos importantes del sistema (si no se tienen suficientes entonces el modelo no será una buena representación del sistema), o por el contrario se han definido más de las necesarias (esto puede oscurecer las relaciones entre las

10

Introducción a la Simulación

variables realmente importantes). En resumen, lo que se tiene que fijar en este paso es el nivel de detalle al que se debe llegar en el modelo. El nivel de detalle depende de: •

Propósito del modelo.



Contribución de las variables al modelo.

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

1.6.2.- Colección de datos y Análisis Aunque la recogida de datos se va a ver como el segundo paso, es bastante posible que se hayan tenido que recoger datos para la formulación del problema. Sin embargo, durante este paso se recoge el mayor volumen de datos, se reduce y se analiza. Los métodos de recogida de datos son tan variados como los problemas a los que éstos se pueden aplicar. Si se clasifican por su sencillez, se puede ir desde las aproximaciones manuales hasta las técnicas más sofisticadas de alta tecnología. En la selección de un método se pueden tener en cuenta los siguientes factores: •

Capacidad de quien recoja los datos.



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



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



El coste del método.

En muchas situaciones es suficie nte con la observación directa y la recogida manual de los atributos de interés. Pero si la medida que se quiere observar depende de una persona, su comportamiento se puede ver afectado por estar siendo observada. Otras veces puede ocurrir que la acción que se quiere observar sea muy rápida y que no sea posible realizar una observación humana. Para decidir el número de muestras necesarias, se ha de establecer una relación costo-exactitud y hacer una optimización de dicha relación. Una vez realizado el muestreo, los datos se han de analizar e introducir en el modelo. Los datos usados para definir el modelo pueden ser de dos tipos: •

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



Probabilísticos: hay dos formas de incluirlos en el modelo: •

Usar la muestra de datos recogida para representar la distribución de probabilidades.

11

Introducción a la Simulación



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

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

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

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



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

En el ejemplo del supermercado, si se sigue la primera aproximación, hay dos posibilidades para la traza de entidades: clientes y cajas. Sin embargo los clientes son el interés principal, mientras que las cajas tienen una importancia secundaria. Comienza la traza de un cliente cuando éste se aproxima a la caja. En este instante el cliente decide en qué cola se situará, basándose en algo como en elegir la más corta. Esta decisión determina la ruta que va a seguir por el sistema. El cliente queda esperando en la cola hasta que sea atendido (hasta que se le asigne el elemento cajero). Aquí ocurren tres procesos: se hace la cuenta de los productos comprados, se paga por ellos, se embolsan. Entonces, el cliente abandona el sistema. En la Figura 1.3 se muestra el diagrama de flujo.

12

Introducción a la Simulación

Cajero y empaquetador

Cliente en cola

Recuento compra

Pago

Embolsar

Elección de Cola

Cajero y empaquetador

Cliente en cola

Recuento compra

Pago

Embolsar

Figura 1.3. Diagrama de flujo de las entidades.

En la segunda aproximación, se pueden considerar como variables de estado el número de clientes en cola o el número de clientes que están siendo servidos actualmente. Tales variables se pueden utilizar para calcular medidas de comportamiento, tales como el tiempo de espera de los clientes. Cuando un cliente llega a una de las colas en el supermercado, el estado varía ya que se ve alterado el número de clientes en dicha cola, con lo que la llegada se considera un evento. Se puede describir completamente el comportamiento del sistema incorporando al modelo la capacidad de modificar las variables de estado conforme van ocurriendo los eventos. Para el ejemplo del supermercado la atención se puede fijar en una caja particular, pues la operación es idéntica en todas. La principal variable de estado es el número de clientes en el supermercado y el número de clientes en cada una de las colas. Otras variables de estado son las que indican los estados de los cajeros y empaquetadores, si el están ocupados o no. Algunos eventos que cambian el estado del sistema, y por tanto las variables de estado, son una llegada al sistema, la selección de una cola y el añadirse a ella, salida del sistema una vez que ha pagado los productos. Ej: Suponemos una sola caja en el supermercado Variables de estado: Número de consumidores en el sistema (N). Número de consumidores en cola (M). Sucesos: Llegada de un consumidor a la cola. Consumidor empieza a ser servido. Consumidor sale de caja. Cambios provocados en las variables por estos sucesos: Suceso 1: N ßN+1, M ßM+1

13

Introducción a la Simulación

Suceso 2: N ßN, MßM-1 Suceso 3: NßN-1, MßM Resulta útil representar esto de forma gráfica mediante el grafo de sucesos. Los eventos se representan mediante nodos y la progresión de los eventos mediante flechas (Figura 1.4).

Sucesos 1. Llegada del Cliente.

1

4

3

2

2. Cliente selecciona caja. 3. Cajero empieza.

5

7

6

4. Cajero termina. 5. Empaquetador empieza. 6. Empaquetador termina. 7. Salida del Cliente. ~ =Enlace condicional.

Figura 1.4. Grafo de sucesos.

1.6.3.2.- Construcción del Modelo Las tareas principales en la construcción de un modelo son: Elección Mecanismo de avance del tiempo. Este dependerá de la aproximación elegida para describir el comportamiento del sistema. Si se eligió la aproximación de flujo físico, este diagrama de flujo podría refinarse para convertirse en el diagrama de flujo del programa. Si se siguió la aproximación de cambio de estado, el diagrama de flujo desarrollado debería describir el procedimiento que efectúa los cambios de estado en el tiempo. Otros dos factores inciden en la construcción del diagrama de flujo del programa: elegir un mecanismo de avance del tiempo y el lenguaje de programación que se seleccione. Hay fundamentalmente dos formas de considerar el avance del tiempo en un modelo de simulación: •

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



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

El avance del tiempo de simulación depende de cuál de las aproximaciones se elija. Si se elige el incremento por eventos, el reloj se inicializa a 0, y se incrementa al siguiente tiempo en que vaya a ocurrir un suceso, en ese momento, en este momento de actualización del reloj se modifican las variables que se vean afectadas por la ocurrencia del suceso. Si por el contrario se elige un incremento 14

Introducción a la Simulación

de tiempo fijo, el reloj se inicia a 0 y se va actualizando cada vez que pase el incremento de tiempo fijado. En esos instantes se observará el sistema para realizar los cambios. En ese momento puede ocurrir que no haya sucedido ningún cambio o que por el contrario que hayan ocurrido más de un suceso con lo cual se tendrá que decidir cuál atender antes (por ejemplo dando prioridad a los sucesos). En esta aproximación pueden ocurrir “errores de redondeo”, que hacen referencia a la diferencia de tiempo que pasa desde que sucede un suceso hasta que éste se computa (cuando el reloj se incrementa). Hay que tener cuidado en la elección del incremento de tiempo. Si éste es demasiado pequeño se realizará trabajo inútil, ya que se comprobarán cambios cuando en realidad no ha ocurrido ningún suceso. Por el contrario si es demasiado grande se producirán muchos errores de redondeo y la dinámica del modelo será ineficiente.

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

Figura 1.6. Avance del reloj de simulación en incrementos fijos.

Elección de un Lenguaje de programación. Hay un creciente número de lenguajes de programación disponibles para la implementación de modelos de simulación. Entre los lenguajes de simulación destacan: GPSS (General Purpose Simulation System), SLAM (Simulation Language for Alternative Modeling), SIMAN (Simulation Analysis), y SIMSCRIPT. Muchos lenguajes de propósito general son completamente adecuados para la simulación, por ejemplo, FORTRAM, PASCAL,…, pero los lenguajes de simulación proporcionan una serie de características que hacen la programación, depuración y experimentación más eficientes en tiempo y esfuerzo, aunque consuman más tiempo en la ejecución. Quizás la más importante ventaja de los lenguajes de simulación es la correspondencia entre los elementos del sistema y los elementos del lenguaje. Por ejemplo, en GPSS hay bloques de diagramas de flujo y conjuntos de sentencias de programa llamados QUEUE que procesan entidades a través de una cola de espera y acumulan datos de variables de salida tales como tiempo de espera en la cola. El lenguaje seleccionado puede influir en la forma exacta del diagrama de flujo del programa de computador. Generación de números y variables aleatorias. Se van a necesitar muestras aleatorias para representar valores de variables de entrada probabilísticas. Utilizando estos números aleatorios podemos obtener valores de variables aleatorias que sigan ciertas distribuciones de probabilidad. 15

Introducción a la Simulación

Aunque se ha hecho referencia a que los números usados en simulación son aleatorios, no lo son totalmente, ya que se producen a partir de algoritmos determinísticos. Sin embargo las propiedades de los números producidos se pueden hacer lo suficientemente cerradas de forma que éstos sean completamente utilizables para la simulación. Si el modelo se implementa con un lenguaje de propósito general, se puede seleccionar e incluir algoritmos necesarios para generar las variables aleatorias requeridas. Pero si se utiliza un lenguaje de simulación estos algoritmos están incluidos y pueden ser fácilmente accesibles por el usuario. Implementación y depuración del modelo. La facilidad o dificultad en esta etapa dependen en gran medida del lenguaje de programación que se haya elegido.

1.6.4.- Verificación y Validación del modelo La Verificación del modelo consiste en ver cuál es la consistencia interna del modelo. La Validación consiste en asegurar que existe la una correspondencia entre el sistema real y el modelo. Un buen método para la validación es hacer un test para ver cómo el modelo predice el comportamiento del sistema ante determinadas entradas. La verificación y validación del modelo se realiza en todas los niveles de modelización: modelo conceptual, modelo lógico y un modelo de ordenador. La verificación se centra en la consistencia interna del modelo, mientras que la validación se interesa por la correspondencia entre el modelo y la realidad. Se dice que un modelo es válido si sus medidas de salida tie nen una correspondencia apropiada con las mismas medidas en el sistema real. La comprobación última para la validez de un modelo es ver cómo el modelo puede predecir un comportamiento futuro del sistema ante unas determinadas entradas.

1.6.5.- Experimentación y Análisis de las salidas Se han de diseñar los experimentos que se van a llevar a cabo sobre el modelo y luego analizar las salidas obtenidas, de forma que podamos responder a las cuestiones que se plantearon.

1.6.5.1.- Experimentación con el modelo El propósito último de la experimentación con el modelo es obtener información acerca del comportamiento del sistema para que esto nos ayude en la toma de decisiones. Cuando consideramos la ejecución de un sistema se puede desear conocer cómo se comporta dicho sistema en sentido absoluto, o comparativamente, para poder contrastar varias configuraciones alternativas del sistema. O se podrían considerar dos medidas simultáneamente. Es evidente que el número de exploraciones que se tendrían que realizar es extremadamente largo. Hasta para los diseños de experimentos más modestos, la exploración de todas las posibles soluciones en la búsqueda de la mejor solución, no es algo factible. Se necesita una aproximación estructurada más directa para encontrar una solución que merezca la pena. Podemos considerar dos 16

Introducción a la Simulación

aproximaciones diferentes para abordar este problema: conjunto predeterminado de experimentos y técnicas de búsqueda de óptimos. Conjunto de experimentos predeterminado: esta aproximación impone identificar factores que podrían afectar a la medida de salida y ejecutar los experimentos con los factores puestos a determinados valores. Una vez realizados los experimentos se aplicarían unas técnicas estadísticas denominadas análisis de la varianza (ANOVA), para decidir cuál o cuáles de los factores seleccionados tiene realmente algún impacto en la medida de salida. Las medidas de salida se pueden adaptar de forma que las suposiciones estadísticas de esta técnica se satisfagan de forma razonable y puedan ser aplicadas en la experimentación del modelo. Un diseño experimental particularmente general es el diseño factorial. Se consideran dos o más factores pudiendo estar cada uno a dos o más niveles. El uso de un conjunto predeterminado de experimentos es efectivo para encontrar buenas soluciones si se puede aproximar una región de optimalidad con experimentos previos o con la experiencia que se tenga sobre el problema. Sin embargo esta técnica no puede conducir a la mejor solución global, ni siquiera puede garantizar un óptimo local. Técnicas de búsqueda de óptimos: un conjunto de estas técnicas se conoce como Metodología de Superficie de Respuesta (RSM). La superficie de respuesta es la función que describe las relaciones de las medidas de ejecución con los factores o variables de decisión. Dos factores definen una superficie de 3 dimensiones, la cual puede ser vista como un terreno en donde se puede escalar. De hecho, la representación en 2 dimensiones de la respuesta de superficie es como las líneas de contorno de un mapa topográfic o (Figura 1.7). Usando varias estrategias se pueden alcanzar puntos altos en el terreno, y quizás llegar a la cumbre. Una estrategia es el método de escalado ascendente. Esta requiere que el modelo se ejecute suficientemente para hacer que se pueda determinar qué dirección (qué cambios en los valores de los factores) parece conducir a un incremento en la altitud (incremento en la medida de salida). Las variables de decisión se van cambiando de esta forma y el proceso continúa hasta que ya no se puede llegar más alto, en ese momento se ha alcanzado un óptimo local o global.

Medida de ejecución

Variable de decisión 2

Variable de decisión 1

Figura 1.7. Respuesta en Superficie para dos variables de decisión.

17

Introducción a la Simulación

1.6.5.2.- Análisis de las salidas En la interpretación de las salidas del modelo, hay algunos aspectos que son únicos de la simulación. Mientras que los modelos analíticos proporcionan soluciones con medidas de ejecución completamente definidas, los modelos de simulación producen estimaciones de las medidas que están sujetas a error. Las salidas del modelo de simulación se consideran muestras. Los principales cuestiones en la obtención de estimaciones útiles a partir de muestras son: que la muestra sea representativa del comportamiento del sistema, y que el tamaño de la muestra sea lo suficientemente grande para que las estimaciones de las medidas de ejecución alcancen un buen nivel de precisión. El tamaño de la muestra es algo que está bien definido, pero la representatividad del comportamiento del sistema depende de la naturaleza de las cuestiones que tienen que ser contestadas por el modelo. Se pueden realizar dos tipos de análisis con un modelo de simulación: Análisis para sistemas con final definido: la ejecución del modelo finaliza cuando ocurre un evento específico. Se tomaría una muestra por ejecución. Análisis para sistemas con final no definido (sistemas en estado de equilibrio o estacionario): el interés está en medias de las medidas de comportamiento de ejecuciones largas, después de que el sistema ha pasado por algún periodo de comportamiento transitorio. Las medidas en estado estacionario se pueden definir como el valor de la s medidas en el límite, cuando la longitud de la ejecución tiende a infinito. En ambos casos, las condiciones inicia les (estado del sistema el empezar la ejecución) pueden influir en la estimación de las medidas de comportamiento. El tamaño de la muestra es importante ya que la precisión de las estimaciones depende de la varianza de la media de la muestra, y la varianza cambia de forma inversamente proporcional al tamaño de la muestra (si se cuadriplica el tamaño de la muestra la desviación estándar se reduce a la mitad). La definición de tamaño de muestra para simulación depende del tipo de análisis que se haya hecho. Para el análisis de un sistema con final definido se podría reproducir el periodo de interés, con las condiciones iniciales apropiadas, un determinado número de veces hasta conseguir la precisión deseada de la estimación. En cada ejecución de obtendrá un elemento de la muestra. Con un análisis en estado estacionario el tamaño de la muestra está estrechamente enlazado con el tamaño de la ejecución del modelo o cantidad de tiempo de simulación.

1.6.6.- Implantación de los resultados de la Simulación Se ha de asegurar que los resultados son aceptados por el usuario. Este paso final es uno de los más importantes y el que más se descuida de todo el proceso. Parece obvio que los beneficios de un largo y costoso análisis no se realizarán sin una implementación apropiada y una aceptación por parte de los usuarios.

18

Introducción a la Simulación

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

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



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



El compromiso de implementación es tardío.



Resistencia al cambio.



Falta de coincidencia entre el personal disponible y los objetivos marcados por el modelo.

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

19

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.