Sunteți pe pagina 1din 19

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 Experimentación
con el Sistema con un Modelo
del Sistema

Modelo Modelo
Físico 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 2 3 4
2. Cliente selecciona caja.
3. Cajero empieza.
4. Cajero termina.
7
5 6 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

S-ar putea să vă placă și