INDICE Tema 3: Simulación

1. Introducción
2. Sistemas y modelos
3. Simulación de modelos de sucesos discretos
4. Componentes y organización de un estudio de simulación
4.1 Diagrama de flujo general
4.2 Diagramas de flujo de los sucesos más importantes en sistemas de colas
5. Ejemplo de simulación de una cola con un servidor.
6. Etapas más frecuentes en un estudio de simulación
6.1 Descripción general de todas las etapas
6.2 Elección del lenguaje de programación. Simuladores. Animación.
6.3 Verificación del programa
6.4 Validación del modelo
6.5 Análisis estadístico de resultados (se verá en la pizarra)
7. Ventajas, inconvenientes y errores más frecuentes en los estudios de simulación.
8. Generación de números aleatorios (pizarra)
Técnicas de reducción de varianza (pizarra)
1. INTRODUCCIÓN
Simulación: Técnicas para imitar el funcionamiento de sistemas o procesos reales mediante programas de ordenador. Para estudiar el
sistema suele ser necesario hacer algunas suposiciones sobre su forma de operar. Estas hipótesis constituyen un modelo que no es más que una
representación simplificada de un sistema que se construye para estudiar el comportamiento del mismo.
Si el modelo es suficientemente simple es posible obtener soluciones exactas sobre las cuestiones de interés mediante métodos
matemáticos. A esta solución se le llama analítica.
Sin embargo, la mayoría de los sistemas reales son demasiado complejos para admitir modelos que sean evaluados analíticamente, y
deben ser estudiados mediante simulación. Por tanto, los modelos de simulación suelen ser más complejos y próximos a los sistemas reales que
los modelos analíticos ya que no es necesario hacer tantas simplificaciones para obtener resultados. En simulación se utiliza el ordenador para
evaluar numéricamente el modelo y los resultados que se obtienen se usan para estimar las verdaderas características del modelo.
Como ejemplo de una simulación, supongamos que se está pensando hacer una gran ampliación de un sistema de producción pero no se
está seguro de que la mejora en productividad justifique la inversión. No tendría sentido hacer la extensión para luego darse cuenta de que no
merecía la pena. Sin embargo, un cuidadoso estudio de simulación permitiría estudiar los resultados en la producción porque simularía el
funcionamiento del sistema como si se hubiera realizado la extensión del sistema de producción.
Areas de aplicación:
• Diseño y análisis de sistemas de producción
• Evaluación de requerimientos hardware y software para un sistema de computación
• Determinación de políticas de pedidos para un sistema de inventarios
• Diseño de sistemas de comunicación.
• Diseño y operación de sistemas de transporte como aeropuertos, puertos, metro, etc.
• Evaluación de diseños para la organización de servicios como hospitales u oficinas de correos.
• Análisis de sistemas económicos o financieros.
Dentro de las técnicas de Investigación Operativa la simulación es la más ampliamente utilizada. Sin embargo, ha tardado mucho tiempo
en aceptarse su uso. Las razones son diversas. En primer lugar, los modelos que se utilizan para simular sistemas reales son muy complejos y
escribir programas de ordenador que los desarrollen es una tarea complicada. Estos han cambiado mucho en los últimos años por la aparición en
el mercado de excelente software para tratar problemas de simulación. Segundo, la simulación de sistemas complejos necesita un tiempo de
ordenador muy elevado. Este problema es cada vez de menor importancia conforme el coste del tiempo de computación se hace cada vez menor.
Antes era necesario ejecutar las simulaciones en ordenadores grandes en horas donde no estuvieran trabajando. En la actualidad cualquier
ordenador personal puede ejecutar un programa de simulación en un tiempo razonable.
Por último, está muy extendida la idea de que hacer una simulación es desarrollar un programa de ordenador y considerar como solución
al problema los resultados de la ejecución del programa. Sin embargo, las salidas de una simulación son aleatorias y no se puede evitar en ningún
caso un análisis estadístico de resultados.
2. SISTEMAS Y MODELOS
Sistema: Colección de entidades (Ej. personas ó máquinas) que interactuan entre sí para conseguir un determinado fin. En la práctica el
significado de sistema depende de los objetivos del estudio: la colección de entidades que componen un sistema en un estudio puede ser sólo un
subconjunto de entidades para el estudio de otro sistema.
Estado del sistema: Es la colección de variables necesarias para describir un sistema en un instante dado. Estas variables se llaman
variables de estado.
Tipos de sistemas:
• Discretos: Las variables de estado cambian en puntos separados del tiempo.
• Continuos: Las variables de estado cambian de forma continua a lo largo del tiempo.
Formas de estudiar un sistema:
Experimentar con el sistema real
modelo físico solución analítica
Experimentar con un modelo del sistema modelo matemático simulación
Supuesto que vamos a estudiar un modelo matemático mediante simulación, a lo que nos vamos a referir como un modelo de simulación,
podemos clasificar este tipo de modelos según tres puntos de vista:
1. Modelos estáticos frente a modelos dinámicos: en los primeros, el tiempo no juega ningún papel mientras que en los segundos el sistema
evoluciona con el tiempo.
2. Modelos determinísticos frente a modelo estocásticos: si un modelo de simulación no contiene componentes aleatorias se dice determinístico.
En otro caso se habla de modelos estocásticos. Estos modelos producen resultados aleatorios por lo deben de ser tratados como estimaciones
de las verdaderas características del modelo.
3. Modelos discretos frente a modelos continuos: los modelos discretos se refieren a sistemas en los cuales las variables de estado cambian en
puntos separados en el tiempo. En los modelos continuos, las variables de estado cambian de manera continua a lo largo del tiempo, por
ejemplo, la trayectoria de un avión.
Nos vamos a centrar en el estudio de modelos de simulación DINAMICOS, ESTOCASTICOS Y DISCRETOS.
3. SIMULACIÓN DE MODELOS DE SUCESOS DICRETOS
Se refiere a la modelización de sistemas en los que las variables de estado cambian en puntos separados en el tiempo. Estos puntos son
aquellos en los que ocurre lo que llamamos un suceso. Un suceso se define como una ocurrencia que puede modificar el estado del sistema.
Ej. Un sistema de colas con un sólo servidor (como una peluquería o un mostrador de información de un aeropuerto)
Objetivo: Estimar el tiempo medio en cola de los clientes que llegan.
Variables de estado asociadas a este objetivo: Estado del servidor (libre u ocupado), número de clientes en cola, hora de llegada de cada cliente
(si, por ejemplo, el objetivo fuese estimar el número medio de clientes en el sistema, la hora de llegada de cada cliente no sería variable de
estado).
Sucesos: Llegada de clientes (produce cambios en las variables de estado, por ejemplo, en el estado del servidor), salida de clientes servidos.
Aunque la simulación se aplica a una serie de campos muy diversos, existen una serie de componentes comunes en todo modelo de
simulación y hay una organización lógica de estos componentes lo que da lugar al código del programa de ordenador que servirá para desarrollar
el modelo de simulación.
4. COMPONENTES Y ORGANIZACIÓN DE UN ESTUDIO DE SIMULACIÓN
Estos componentes están en la mayoría de los modelos de simulación de eventos discretos.
• Estado del sistema: Hemos hablado anteriormente de las variables que definen el estado del sistema.
• Reloj de simulación:
Debido a la naturaleza dinámica de una simulación, debemos de conocer el instante de tiempo simulado en el que nos encontramos
mientras se está realizando la simulación. La variable que proporciona el instante actual de tiempo simulado se llama reloj de simulación. La
unidad de tiempo se suele tomar la misma que la de los parámetros de entrada. No tiene relación con el tiempo necesario para correr la
simulación en el ordenador (tiempo de computación o de ejecución).
Para avanzar el reloj de simulación, lo habitual es avanzar el tiempo al ocurrir el siguiente suceso: El reloj de simulación se inicia a cero, y
se avanza hasta el instante en que ocurrirá el próximo suceso. En ese punto se actualizan las variables de estado para ver cómo ha afectado al
sistema la ocurrencia de un suceso. También se actualizan los futuros sucesos a ocurrir. Este proceso se continúa hasta que se satisface alguna
condición de parada.
• Lista de sucesos: la lista que contiene los próximos instantes en los que van a ocurrir los distintos tipos de sucesos.
• Contadores estadísticos: Variables utilizadas para guardar la información estadística sobre el funcionamiento del sistema.
• Rutina de inicialización: subprograma que inicializa el modelo de simulación en el instante cero.
• Rutina del tiempo: subprograma que determina el siguiente suceso de la lista de sucesos, y avanza el reloj hasta el instante en que ese suceso
ocurre.
• Rutinas de sucesos: subprograma que actualiza el estado del sistema y de los contadores cuando ocurre un suceso (una rutina para cada tipo de
suceso)
• Librería de rutinas: Conjunto de subprogramas que generan números aleatorios de las distribuciones utilizadas en el modelo.
• Generador de informes: subprograma que estima (a partir de los contadores estadísticos) las medidas de comportamiento del sistema que nos
interese, y genera un informe con los resultados de la simulación.
• Programa principal: subprograma que llama a la rutina de tiempos para determinar el próximo suceso y transfiere el control a la rutina
correspondiente . También se ocupa de verificar la condición de parada y de llamar al generador de informes cuando la simulación ha terminado.
4.1. DIAGRAMA DE FLUJO GENERAL
Rutina de inicialización Programa principal Rutina del tiempo
Pone el reloj a cero Llama a la rutina de incialización Determina el siguiente tipo de
Inicializa el estado del sistema Llama repetidas veces a: suceso, por ej. i
y los contadores rutina del tiempo y Avanza el reloj de simulación
Inicializa la lista de sucesos rutina de sucesos
Rutina de sucesos Librería de rutinas
Actualiza el estado del sistema Genera números
Actualiza los contadores aleatorios
Genera futuros sucesos y los
añade a la lista de sucesos
¿Terminó la simulación? no


Generador de informes
Calcula estimaciones de interés
Escribe el informe
4.2. DIAGRAMA DE FLUJO DE LOS SUCESOS MÁS IMPORTANTES:
A) RUTINA DE LLEGADA DE UN CLIENTE
Suceso llegada
Programar siguiente llegada

si ¿Servidor no
ocupado?

si
no
Añadir 1 a la cola Poner el servidor
ocupado
Poner espera = 0
Programar el suceso de salida
para este cliente y añadir a la
lista de sucesos
¿ cola
llena?
Error si capacidad
infinita. Si no,
añadir 1 a clientes
perdidos.
Añadir 1 al nº de
clientes servidos
Guardar instante de
llegada de este cliente
B) RUTINA DE SALIDA DE UN CLIENTE
suceso salida

si ¿cola no
vacía?

poner libre Restar 1 al número
el servidor en la cola

Calcular espera del cliente
Dejar de considerar que entra en el servidor y
el suceso salida actualizar estadísticas

Añadir 1 al número de
clientes servidos

Programar suceso salida
para este cliente

Subir un puesto a cada cliente en cola

6. ETAPAS MÁS FRECUENTES EN UN ESTUDIO DE SIMULACIÓN
1. Formulación del problema y del plan de estudio

2. Recogida de datos y definición del modelo

3. ¿Válido?
no
↓ si
4. Construcción del programa de ordenador y verificación

5. Realización de ejecuciones (corridas) piloto

6. ¿Válido?
no
↓ si
7. Diseño de experimentos

8. Realización de ejecuciones

9. Analizar los resultados

10. Documentar y presentar resultados
6.1 DESCRIPCIÓN GENERAL DE LAS DISTINTAS ETAPAS DE UN ESTUDIO DE SIMULACIÓN
1. Especificar claramente los objetivos del estudio.
Indicar las distintas alternativas de diseño a estudiar, y los criterios para evaluar las alternativas.
Estimar nº de personas, coste y tiempo requerido para cada aspecto.
Por ejemplo al estudiar una red de comunicaciones los objetivos podrían ser:
- Determinar el impacto que tiene en el sistema la realización de cambios locales en la red.
- Mejorar el comportamiento del sistema (retrasos, throughput, etc.)
- Identificar los “cuellos de botella” antes de implementar el sistema
- Asegurar que se van a cumplir los objetivos de comportamiento antes de comprar los equipos.
2. Los datos recogidos se utilizan para:
- estudiar la forma de operar el sistema
- obtener las distribuciones de probabilidad de las v.a. del modelo.
- validar el modelo (en el caso de que se puedan recoger datos sobre comportamiento del sistema)
La construcción del modelo es tanto un arte como una ciencia, ya que no hay reglas fijas para construir un modelo. Conviene empezar con un
nivel moderado de detalle, que se puede ampliar después si se considera necesario. El modelo debe captar la esencia del sistema pero no tiene por
qué haber una correspondencia biunívoca entre elementos del sistema y del modelo. Para construir un buen modelo es conveniente:
- Conocer a fondo el sistema que se va a modelar, y tener bien definidos los objetivos que se persiguen.
- Escribir una lista de cuestiones específicas a estudiar, basadas en los objetivos. Priorizar dichas cuestiones, identificar cuales son
claves e intentar cuantificar los beneficios que se derivan de cada una de ellas.
- Definir qué resultados son necesarios en el modelo para contestar a las cuestiones anteriores.
- Documentar las hipótesis y simplificaciones que se han hecho para construir el modelo.
- Identificar las entradas al modelo.
En el ejemplo de la red alguna de esas cuestiones podrían ser:
- ¿Qué impacto tiene el fallo de un nodo?
- ¿Qué ocurre si añadimos una nueva estación de trabajo al área local?
- ¿Con qué protocolos se obtiene mejor comportamiento de la red?
- ¿Se necesita otro servidor para la red?. Etc.
3. Validar es tratar de comprobar si el modelo propuesto se adecua al sistema real y al objetivo perseguido. La validación se debe realizar a lo
largo de todo el estudio. En esta etapa se pueden contrastar la bondad del ajuste de las distribuciones propuestas. Es conveniente que las
personas más familiarizadas con el funcionamiento del sistema opinen sobre el modelo propuesto.
4. Hay que decidir en qué lenguaje se programa: de tipo general o específico de simulación, o bien si se va a utilizar un simulador.
Se utilizan las técnicas habituales para depurarlo, y para verificar que funciona correctamente.
5. Se realizan varias ejecuciones de prueba y los resultados nos servirán para validar el modelo como indicamos en el apartado siguiente.
6. Si existe en la práctica algún sistema similar al que hemos modelado, se pueden comparar los resultados de las simulaciones piloto con los
resultados del sistema existente.
También se puede ver hasta qué punto los datos de salida son sensibles (o robustos) a pequeños cambios en los parámetros de entrada. Si
alguno fuera muy sensible, habría que estimarlo mejor.
7. Cuando tenemos muchas alternativas de diseño y no se pueden simular todas, hay que decidir cuáles se simulan para obtener la óptima. A
veces esa decisión depende de las salidas que se vayan obteniendo. Las técnicas estadísticas de Diseño de Experimentos son muy útiles
cuando hay muchos factores que influyen en los resultados, y resulta prácticamente imposible probar todas las combinaciones entre los
distintos valores que pueden tomar esos factores. Por ejemplo en una red ATM sencilla con 32 clientes, 4 conmutadores a los que llegan los
mensajes y dos conmutadores en la siguiente etapa, los factores que influyen en la probabilidad de pérdida de una celda son: valores de λ y p
de cada cliente, tamaño del buffer de los 6 conmutadores y la capacidad (tasa de servicio) de cada uno de los enlaces. Mediante un diseño de
experimentos adecuado se pueden obtener conclusiones válidas sin tener que probar todas las combinaciones de valores de los factores.
En esta fase hay que decidir también la longitud de la simulación, del periodo transitorio, el número de muestras, etc.
8. Se obtienen los resultados para tratar de estimar las características de interés. Hay que tener en cuenta que los resultados de las simulaciones
son estimaciones, ya que están basados en experimentos aleatorios.
9. Para analizar los resultados y obtener conclusiones fiables se utilizan técnicas estadísticas como por ej. La estimación puntual o los intervalos
de confianza.
10. Es importante documentar el programa, los resultados, las hipótesis del modelo, etc., ya que puede utilizarse en más de una aplicación.
Vamos a ver con más detalle los lenguajes de simulación y simuladores, y la verificación y validación.
Una de las decisiones que el analista debe tomar es la elección del lenguaje. La razón por la que se han desarrollado lenguajes específicos para
simulación es porque la mayoría de las simulaciones de eventos discretos tienen bastantes elementos en común como por ej. generar números
aleatorios, avanzar el reloj de simulación, determinar el próximo suceso de la lista de sucesos, ...
6.2 LENGUAJES ESPECÍFICOS DE SIMULACIÓN
- Simscript II.5 , GPSS, Slam, Simula, . . .
Ventajas frente a los lenguajes de propósito general
• Programas más cortos:
- Están preparados para llevar la contabilidad de los distintos parámetros
- Tienen módulos para generar números aleatorios de las distintas distribuciones
• Al tener menos líneas de código:
- Se reduce el tiempo de programación
- Es más fácil detectar posibles errores
- Es más fácil cambiarlo si queremos introducir alguna variación
Además hay una serie de errores típicos que suelen ser identificados y chequeados de forma automática.

Inconvenientes frente a los lenguajes de propósito general:
• Son menos flexibles, y su sintaxis tiende a ser menos natural
• Las ejecuciones son más lentas (pueden tardar hasta 8 veces más), siempre y cuando el programa de lenguaje general esté diseñado de una
forma eficiente. Esto es debido a que están diseñados para modelizar una amplia variedad de sistemas con un conjunto de bloques ya construidos,
mientras que los de propósito general pueden ir directamente al caso particular que se trate.
• Son menos conocidos por analistas y programadores, y los compiladores son menos accesibles
El lenguaje C es el más utilizado en simulación.
SIMULADORES
Son paquetes que permiten simular algunos tipos de sistemas con poca o ninguna necesidad de programar. Los sistemas se seleccionan a base de
menús y de gráficos.
• Ventaja: Ahorran tiempo de programación
• Incoveniente: Están limitados a modelizar sólamente las configuraciones de sistemas que permite el simulador. Tienen por tanto poca
flexibilidad. Si nuestro sistema real no se adapta a ninguna de las configuraciones que tenga programadas el simulador, no deberíamos
utilizarlo. Las ejecuciones son más lentas por lo comentado en el apartado anterior.
Los más conocidos son:
• Simfactory II.5
• Witness
• Xcells+
• Promodel
• Comnet III (específico para redes de comunicaciones)
• QSIM (incluido en el QSB+)
ANIMACIÓN
Muchos simuladores ofrecen la posibilidad de simular con animación. Es útil para convencer a directivos de empresas para que compren el
simulador. También se puede utilizar en una simulación normal programada en cualquier lenguaje.
Los elementos clave de un sistema se representan mediante iconos que cambian de forma, color o posición cuando se produce un suceso y por
tanto hay un cambio de estado en la simulación.
Modos de operar:
• En directo: Se desarrolla la animación mientras se está corriendo la simulación.
• En diferido: La animación se visualiza una vez completada la simulación.
Ventajas:
• Sirven para comunicar la esencia del modelo de simulación a los directivos.
• Puede ayudar a corregir errores del programa de simulación, o a mostrar que el modelo no es válido.
• Puede ayudar a entender el comportamiento dinámico del sistema.

Inconvenientes:
• No puede sustituir a un cuidadoso análisis estadístico de los resultados.
• Sólo una parte de la lógica del modelo de simulación puede verse en la animación, y no se puede concluir a partir de ese corto periodo de
tiempo que el modelo está bién definido.
• Aumenta el tiempo para desarrollar el programa de simulación.
• Muy lenta la animación en directo.
6.3 VERIFICACIÓN
Consiste en comprobar que el programa de simulación realiza lo que se pretende que haga, es decir, comprobar que se implementa correctamente
en un programa el modelo conceptual de simulación.
Técnicas a utilizar:
• Escribir y depurar los programas en módulos y subprogramas que tengan con estructura sencilla, de forma que se puedan añadir más módulos
si es necesario un mayor nivel de detalle.
• Correr la simulación con distintos conjuntos de parámetros de entrada, y comprobar que la salida es razonable. Para poder evaluar los distintos
caminos del programa, puede ser necesario preparar datos de entrada especiales. Por ejemplo si queremos comprobar que calcula bién la
probabilidad de pérdida de un cliente, tendremos que poner datos de entrada adecuados para que se pierdan clientes.
• Depurar con la técnica de traza: El contenido de la lista de sucesos, variables de estado, ciertos contadores estadísticos, etc. se escriben
después de cada suceso y se compara con los cálculos a mano.
• Correr el modelo con hipótesis simplificadas para las que tenga solución analítica el modelo. La verificación del programa será mayor cuanto
menores sean las simplificaciones necesarias para obtener la solución analítica. Por ej. Si queremos simular una M/E
3
/2/15 se cambiaría la
generación de la Erlang por la exponencial, y se compararían los resultados de la simulación con los analíticos de una M/M/2/15.
• A veces la animación puede ayudar a detectar errores.
6.4 VALIDACIÓN DEL MODELO
Consiste en comprobar si el modelo conceptual de simulación es una adecuada representación del sistema que se está estudiando. Debe llevarse a
cabo a lo largo de todo el estudio de simulación. Es la parte más delicada y compleja del proceso.
Etapas para desarrollar un modelo válido:
1. Proponer un modelo razonable. Para ello es conveniente:
• Tener claros los objetivos, las medidas de evaluación del sistema y las configuraciones alternativas del sistema en estudio.
• Hablar con las personas relacionadas con el sistema y obtener toda la información existente.
• Observar un sistema similar (si existe) y obtener los datos históricos, o recogerlos si no existen.
• Exponer a todos los relacionados con el sistema una explicación detallada y estructurada del modelo conceptual antes de empezar la
codificación.
• Proponer inicialmente un nivel de detalle razonable. El analista debe decidir qué aspectos del sistema son necesarios incluir en el modelo de
simulación y cuales pueden evitarse. En general no es necesario tener una correspondencia uno a uno entre cada elemento del sistema y del
modelo. Modelar todos los aspectos del sistema puede ser innecesario debido a limitaciones de tiempo, dinero o computación.
2. Contrastar empíricamente las hipótesis del modelo:
• Estudiar si los datos de entrada se ajustan al modelo de probabilidad propuesto.
• Realizar análisis de sensibilidad para determinar cuanto cambian los resultados de la simulación al cambiar los parámetros de entrada, las
distribuciones de probabilidad, etc. Las partes más sensibles habrá que programarlas con un nivel de detalle mayor que el propuesto inicialmente.
3. Determinar hasta qué punto son representativos los datos de salida:
• Si existe un sistema similar al propuesto, se comparan los datos de salida del sistema, y los del modelo de simulación. Si son similares, el
modelo es válido. A continuación se modificaría el modelo para representar al sistema que nos interesa estudiar.
• El test definitivo se obtiene comparando los resultados del modelo con los del sistema propuesto, si este llega a construirse. Pero si no es
válido, ya no puede corregirse.
Antes de estudiar los métodos estadísticos que se utilizan para analizar los resultados de la simulación (etapa 9 de un estudio de simulación)
vamos a comentar las ventajas e inconvenientes de la misma, así como de los errores más comunes que suelen producirse al realizar un estudio
de simulación.
7. VENTAJAS DE LA SIMULACIÓN

• Permite estudiar sistemas reales que no se pueden evaluar analíticamente. En la práctica, la mayoría de los sistemas reales se estudian
mediante simulación. De hecho la simulación es la técnica de Investigación Operativa más utilizada.
• Hace posible estimar el comportamiento de un sistema existente si se modifican algunas de las condiciones de funcionamiento actuales.
Además para probar si esos cambios producen mejoras, no es necesario interrumpir el funcionamiento del sistema real.
• Se pueden comparar distintas alternativas de diseño (o de formas de operar de un sistema), antes de construirlo, para ver cual se comporta
mejor.
• Permite estudiar en poco tiempo la evolución de un sistema en un periodo largo de tiempo: se pueden evaluar años de experiencia en el
sistema real en unos pocos minutos de simulación. Alternativamente también permite lo contrario: estudiar los trabajos datallados de un sistema
en un periodo de tiempo extendido.
• Se puede utilizar para validar un modelo analítico: para construir un modelo analítico hemos tenido que hacer diversas hipótesis para que sea
más simple. Si los resultados no difieren mucho de los obtenidos con simulación (con un modelo más cercano al sistema real), se puede utilizar el
modelo analítico porque los resultados no son sensibles a las hipótesis que se han hecho.
DESVENTAJAS DE LA SIMULACIÓN
• No produce resultados exactos, sino estimaciones. Esto hará necesario utilizar las técnicas estadísticas para saber, por ej., cuantas veces hay
que ejecutar la simulación (número de muestras), para cada conjunto de datos de entrada y realizar estimaciones fiables de los parámetros de
interés.
• Desarrollar un modelo de simulación suele ser caro y lleva tiempo.
• Es difícil demostrar la validez del modelo. Si el modelo no es válido, los resultados son poco útiles, ya que la información que estamos
obteniendo del modelo de simulación no es representativa del sistema real que nos interesaba estudiar.
• Es difícil encontrar el óptimo: sólo se puede encontrar el mejor entre varias alternativas. Es habitual que haya muchas alternativas y no se
pueden probar todas. Las técnicas estadísticas de diseño de experimentos que ayudan a solucionar el problema no son conocidas por muchas
personas que hacen simulaciones.
ERRORES FRECUENTES EN LOS ESTUDIOS DE SIMULACIÓN
• No tener bien definidos los objetivos al comienzo del estudio.
• Elegir un nivel de detalle inapropiado.
• Tratar un estudio de simulación como si fuera principalmente un problema de programación.
• Confiar en simuladores que hacen la simulación accesible a “todo el mundo”.
• Analizar los datos de salida a partir de una sola ejecución, tratándola como la solución verdadera.
• Fallar en la comunicación con las personas que conocen realmente el sistema.
• No modelizar correctamente las distintas fuentes de aleatoriedad del sistema real.

S(t)
L
T
3
T
2
T
1
t (time)
A
B
3
C
3
D
3
C
2
B
2
B
2
B
1
B
1
D
2
D
1
D
2
D
1
C
2
C
1
C
1
Fig. 1. Simulación ordinaria
S(t)
t (time)
L
T
3
T
2
T
1
B
3
B
2
B
1
B
3
B
1
D
11
D
12
D
21
D
22
D
31
D
32
D
1l
D
1R
1
D
2R
2
D
3R
3
A
Fig. 2. Simulación con RESTART
TABLA I
Tiempos de Computación con Simulación ordinaria y RESTART
P
Simulación
ordinaria
Simulación con RESTART
Sy=1 Sy=10
10
-4 100 seg. 2 seg. 16 seg.
10
-7 28 horas 5 seg. 48 seg.
10
-10 3 años 9 seg. 93 seg.
10
-100
3x10
90
años
16 min. 160 min.
El tiempo de computación con simulación ordinaria es directamente proporcional a 1/P.
Con RESTART es directamente proporcional a (ln P)
2
.

Sign up to vote on this title
UsefulNot useful