Vous êtes sur la page 1sur 49

0.

NDICE
1.-Introduccin 2.-Sistemas y modelos 3.-Simulacin de modelos de sucesos discretos 4.-Componentes y organizacin de un estudio de simulacin 5.-Ejemplo de simulacin de una cola con un servidor 6.-Etapas ms frecuentes en un estudio de simulacin 7.-Ventajas, inconvenientes y errores ms frecuentes en los estudios de simulacin 8.-Generacin de nmeros aleatorios (pizarra) 9.-Anlisis estadstico de los resultados de la simulacin (pizarra) 10.-Tcnicas de reduccin de varianza (pizarra)

1. INTRODUCCIN
SIMULACIN: Tcnicas para imitar el funcionamiento de sistemas o procesos reales mediante programas de ordenador. MODELO: Representacin simplificada de un sistema que se utiliza para estudiar su comportamiento.

HIPTESIS SOBRE EL SISTEMA: Sencillas: posible obtener soluciones exactas o analticas Complejas: es lo ms usual. Deben ser estudiados mediante simulacin. Se obtienen soluciones aproximadas.

REAS DE APLICACIN
Diseo y anlisis de sistemas de produccin Evaluacin de requerimientos hardware y software para un sistema de computacin Diseo de sistemas de comunicacin Diseo y operacin de sistemas de transporte como aeropuertos, puertos o metro Evaluacin de diseos para la organizacin de servicios como hospitales u oficinas de correos Determinacin de polticas de pedidos para un sistema de inventarios Anlisis de sistemas econmicos o financieros

2. SISTEMAS Y MODELOS
SISTEMA: Coleccin de entidades que interactan entre s para conseguir un determinado fin.
ESTADO DEL SISTEMA: Coleccin de variables necesarias para describir un sistema en un instante dado. 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.

EXPERIMENTAR CON EL SISTEMA REAL FORMAS DE ESTUDIAR UN SISTEMA:

Modelo fsico

EXPERIMENTAR CON UN MODELO DEL SISTEMA (VALIDACIN)

Solucin analtica

Modelo matemtico Simulacin

TIPOS DE MODELOS DE SIMULACIN


Modelos estticos frente a modelos dinmicos. Modelos determinsticos frente a modelos estocsticos Modelos discretos frente a modelos continuos
Estudiaremos modelos de simulacin DINMICOS, ESTOCSTICOS Y DISCRETOS

3. SIMULACIN DE MODELOS DE SUCESOS DISCRETOS


Modelizacin de sistemas en los que las variables de estado cambian en puntos separados en el tiempo SUCESO: ocurrencia que puede modificar el estado del sistema EJEMPLO: Sistema de colas con un servidor OBJETIVO: Estimar tiempo medio en cola de los clientes servidos VARIABLES DE ESTADO: Estado del servidor, n de clientes en cola, hora de llegada de cada cliente SUCESOS: Llegadas de clientes, salidas de clientes servidos

4. COMPONENTES Y ORGANIZACIN DE UN ESTUDIO DE SIMULACION


ESTADO DEL SISTEMA: coleccin de variables necesarias para describir el sistema RELOJ DE SIMULACION : variable que proporciona el instante actual de tiempo simulado. Se actualiza cuando ocurre un suceso. LISTA DE SUCESOS: la lista que contiene los prximos instantes en los que van a ocurrir los distintos tipos de sucesos. CONTADORES ESTADISTICOS: Variables utilizadas para guardar la informacin estadstica sobre el funcionamiento del sistema.

SUBRUTINAS MAS IMPORTANTES


RUTINA DE INICIALIZACION: subprograma que inicializa el modelo de simulacin en el instante cero RUTINA DE TIEMPOS: 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 las variables de estado y los contadores cuando ocurre un suceso (una rutina para cada tipo de suceso)

SUBRUTINAS MAS IMPORTANTES


BIBLIOTECA DE RUTINAS: conjunto de subprogramas que generan nmeros aleatorios de las distribuciones utilizadas en el modelo GENERADOR DE INFORMES: Subprograma que estima las medidas de comportamiento del sistema y da un informe con los resultados de la simulacin. PROGRAMA PRINCIPAL: Llama a la rutina de tiempos para determinar el prximo suceso y transfiere el control a la rutina correspondiente . Verifica la condicin de parada y llama al generador de informes cuando la simulacin ha terminado.

RUTINA DE INICIALIZACIN

PROGRAMA PRINCIPAL

RUTINA DEL TIEMPO Determina el siguiente tipo de suceso Avanza el reloj de simulacin

Pone el reloj a cero Llama a la rutina de Inicializa el estado inicializacin del sistema y los Llama repetidas veces a : contadores rutina de tiempo Inicializa la lista de rutina de sucesos sucesos Rutina de sucesos

Librera de rutinas Actualiza el estado del sistema Genera Actualiza los contadores nmeros Genera futuros sucesos aleatorios y los aade a la lista de sucesos
TERMIN LA SIMULACIN?

Generador de informes

SI

NO

Calcula estimaciones de inters Escribe el informe

DIAGRAMA DE FLUJO DE LA RUTINA DE LLEGADA DE UN CLIENTE


SUCESO DE LLEGADA

Programar siguiente llegada


SI SERVIDOR OCUPADO?
COLA LLENA?
NO SI

NO

Aadir 1 a la cola Guardar instante de llegada de este cliente

Aadir 1 a clientes perdidos o error si cap. finita

Poner espera = 0 Aadir 1 al nmero de clientes servidos Poner el servidor ocupado

Programar suceso de salida para este cliente

DIAGRAMA DE FLUJO DE LA RUTINA DE SALIDA DE UN CLIENTE


SUCESO DE SALIDA

SI

NO
COLA VACA? Restar 1 al nmero en la cola y subir un puesto a cada cliente en la cola Calcular espera del cliente Aadir 1 al nmero de clientes servidos Programar el suceso de salida para el cliente que entra al servidor

PONER LIBRE EL SERVIDOR DEJAR DE CONSIDERAR EL SUCESO DE SALIDA

5. EJEMPLO DE SIMULACION DE UNA COLA CON UN SERVIDOR


Disponemos de los valores Ai = Tiempo ente llegadas del cliente i-1 e i-simo y de Si = Tiempo de servicio del cliente i-simo. A1=0.4, A2=1.2, A3=0.5, A4=1.7, A5=0.2, A6=1.6, A7 =0.2, A8=1.4, A9=1.9 S1=2.0, S2=0.7, S3=0.2, S4=1.1, S5=3.7, S6=0.6 OBJETIVO: Tratamos de estimar Lq , Wq y

Lq

k 0

kqk

, siendo qk P (cola haya k clientes)

La estimacin ms razonable para qk es:

qk

Tk Tiempo en que hay k clientes en la cola T ( n) Tiempo total de simulacin

5. EJEMPLO DE SIMULACION DE UNA COLA CON UN SERVIDOR


Para estimar Wq , se define Di = tiempo en cola del cliente isimo. La estimacin para Wq ser:
1 n Wq Di , n n total de clientes simulados n 1

En cada instante, se almacena la suma de los tiempos en cola de todos los clientes (Tiempo total en cola) Para estimar , se observa el estado del servidor en cada instante (0 si est libre, 1 si est ocupado) y se almacena el tiempo en que el servidor est ocupado. La estimacin para

Tiempo en que el servidor est ocupado T ( n)

El criterio de parada: instante en que entra al servidor el sexto cliente

Variables de estado

0 Reloj

0.4
inf

Llegadas Salidas

0
Estado servidor

0 N en cola

Lista sucesos
Contadores estadsticos

0
0

0 Clientes servidos
0

T0 T1 T2

Tiempo suceso anterior Tiempos de llegadas

0
Tiempo total cola 0 0 Tiempo servidor ocupado

T3

Variables de estado

0.4 Reloj

1.6 2.4 Lista sucesos

Llegadas Salidas

1
Estado servidor

0 N en cola

Contadores estadsticos 1 0.4 0 0 0

0 Clientes servidos Tiempo suceso anterior Tiempos de llegadas 0

T0 T1

T2 T3

Tiempo total cola 0


Tiempo servidor ocupado

Variables de estado

1.6 Reloj

2.1 2.4 Lista sucesos

Llegadas Salidas

1
Estado servidor 1.6

1 N en cola

Contadores estadsticos 1 1.6 0 0 0

0.4 Clientes servidos Tiempo suceso anterior 0 Tiempo total cola 1.2 Tiempo servidor ocupado

T0 T1

T2
T3

Tiempos de llegadas

Variables de estado

2.1
Reloj

3.8

2.4

Llegadas Salidas

1
Estado servidor 1.6 2.1

2 N en cola

Lista sucesos Contadores estadsticos

1 1.6 Clientes servidos Tiempo suceso anterior 0

1.6 0.5 0

T0 T1 T2 T3

Tiempo total cola 0 1.7 Tiempo servidor ocupado

Tiempos de llegadas

Variables de estado

2.4 Reloj

3.8 3.1 Lista sucesos

Llegadas Salidas

1
Estado servidor 2.1

1 N en cola

Contadores estadsticos 2

2.1 Clientes servidos Tiempo suceso anterior 0.8 Tiempo total cola

1.6
0.5 0.3 0

T0 T1 T2 T3

Tiempos de llegadas

2.0
Tiempo servidor ocupado

Variables de estado

3.1 Reloj

3.8 3.3 Lista sucesos

Llegadas Salidas

1
Estado servidor

0 N en cola

Contadores estadsticos 3 1.6 1.2 0.3 0

2.4 Clientes servidos Tiempo suceso anterior Tiempos de llegadas 1.8

T0 T1

T2 T3

Tiempo total cola


2.9 Tiempo servidor ocupado

Variables de estado

3.3 Reloj

3.8 inf Lista sucesos

Llegadas
Salidas

0
Estado servidor

0 N en cola

Contadores estadsticos 3

3.1 Clientes servidos Tiempo suceso anterior Tiempos de llegadas

1.8
1.2 0.3 0

T0 T1 T2 T3

1.8 Tiempo total cola


2.9 Tiempo servidor ocupado

Variables de estado

3.8 Reloj

4.0 4.9 Lista sucesos

Llegadas Salidas

1
Estado servidor

0 N en cola

Contadores estadsticos 4 2.3 Clientes servidos 1.2 1.8 0.3 Tiempo total cola 0

3.3

T0 T1

Tiempo suceso anterior Tiempos de llegadas

T2 T3

2.9
Tiempo servidor ocupado

Variables de estado

4.0 Reloj

5.6

Llegadas Salidas

4.9

1
Estado servidor 4.0

1 N en cola

Lista sucesos Contadores estadsticos

4 3.8 Clientes servidos Tiempo suceso anterior Tiempos de llegadas 1.8

2.5 1.2 0.3

T0 T1 T2 T3

Tiempo total cola 0


3.1 Tiempo servidor ocupado

Variables de estado

4.9 Reloj

5.6 8.6 Lista sucesos

Llegadas Salidas

1
Estado servidor

0 N en cola

Contadores estadsticos 5 2.5 2.1 0.3 0

4.0 Clientes servidos Tiempo suceso anterior Tiempos de llegadas 2.7 Tiempo total cola 4.0 Tiempo servidor ocupado

T0 T1

T2
T3

Variables de estado

5.6
Reloj

5.8

8.6

Llegadas Salidas

1
Estado servidor 5.6

1 N en cola

Lista sucesos Contadores estadsticos

5 4.9 Clientes servidos Tiempo suceso anterior

3.2 2.1 0.3 0

T0 T1 T2 T3

2.7 Tiempo total cola


4.7 Tiempo servidor ocupado

Tiempos de llegadas

Variables de estado

5.8 Reloj

7.2 8.6 Lista sucesos

Llegadas Salidas

1
Estado servidor 5.6 5.8

2 N en cola

Contadores estadsticos 5 3.2 2.3 0.3 0

5.6 Clientes servidos Tiempo suceso anterior 2.7

T0 T1

T2 T3

Tiempo total cola


6.3 Tiempo servidor ocupado

Tiempos de llegadas

Variables de estado

7.2
Reloj

9.1

8.6

Llegadas Salidas

1
Estado servidor 5.6 5.8 7.2

3 N en cola

Lista sucesos Contadores estadsticos

5 5.8 Clientes servidos Tiempo suceso anterior

3.2 2.3 1.7 0

T0 T1 T2 T3

2.7 Tiempo total cola


6.3 Tiempo servidor ocupado

Tiempos de llegadas

Variables de estado

8.6 Reloj

9.1 9.2 Lista sucesos

Llegadas Salidas

1
Estado servidor 5.8 7.2

2 N en cola

Contadores estadsticos 6 3.2 2.3 1.7 1.4

7.2 Clientes servidos Tiempo suceso anterior 5.7 Tiempo total cola 7.7 Tiempo servidor ocupado

T0 T1

T2
T3

Tiempos de llegadas

5. EJEMPLO DE SIMULACION DE UNA COLA CON UN SERVIDOR


Como estimadores se obtienen: T0 = 3.3, T1 = 2.3, T2 = 1.7, T3 = 1.4; T(n) = 8.6

Lq = 9.9/8.6 = 1.15
Wq = 5.7/6 = 0.95 = 7.7/8.6 = 0.90
ALGUNAS CONSIDERACIONES:

( n =6)

Este ejemplo a mano muestra la lgica de programas ms complejos. Observar que se habran obtenido resultados diferentes si se repitiese la simulacin con otros valores aleatorios: la salida un un programa de simulacin es aleatoria lo que hace necesario el uso de tcnicas estadsticas para interpretar los resultados del modelo de simulacin.

6. ETAPAS MS FRECUENTES DE UN ESTUDIO DE SIMULACIN


1. Formulacin del problema y del plan de estudio 2. Recogida de datos y definicin del modelo

3. VLIDO?
SI

NO

4. Construccin del programa de ordenador y verificacin 5. Realizacin de ejecuciones piloto 6. VLIDO? SI 7. Diseo de experimentos NO

8. Realizacin de ejecuciones
9. Analizar los resultados 10. Documentar y presentar resultados

6.1.DESCRIPCION GENERAL DE LAS ETAPAS EN UN ESTUDIO DE SIMULACION

ETAPA 1: Especificar claramente los objetivos del estudio. Indicar las distintas alternativas de diseo a estudiar, y los criterios para evaluar las alternativas ETAPA 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 o validar el modelo. El modelo debe captar la esencia del sistema. No existen reglas fijas para construir un modelo.

6.1.DESCRIPCION GENERAL DE LAS ETAPAS EN UN ESTUDIO DE SIMULACION ETAPA 3: Validar es tratar de comprobar si el modelo propuesto se adecua al sistema real y al objetivo perseguido. La validacin debe de realizarse a lo largo de todo el estudio

ETAPA 4: Hay que decidir en qu lenguaje se programa: de tipo general, especfico o si se va a utilizar un simulador. Se utilizan las tcnicas habituales de depuracin y verificacin de programas.
ETAPA 5: Se realizan varias ejecuciones de prueba y los resultados nos servirn para validar el modelo

6.1.DESCRIPCION GENERAL DE LAS ETAPAS EN UN ESTUDIO DE SIMULACION ETAPA 6: Si existe en la prctica algn sistema similar al que hemos modelado, se pueden comparar los resultados de las simulaciones piloto con los resultados del sistema existente.

ETAPA 7: Cuando tenemos muchas alternativas de diseo y no se pueden simular todas, hay que decidir cuales se simulan para obtener la ptima ETAPA 8: Se obtienen los resultados para tratar de estimar las caractersticas de inters

6.1.DESCRIPCION GENERAL DE LAS ETAPAS EN UN ESTUDIO DE SIMULACION

ETAPA 9: Para analizar los resultados y obtener conclusiones fiables se utilizan tcnicas estadsticas ETAPA 10: Es importante documentar tanto el programa como las hiptesis hechas y los resultados obtenidos

6.2.ELECCION DEL LENGUAJE DE PROGRAMACION. SIMULADORES. ANIMACION


LENGUAJES GENERALES: C es el ms utilizado LENGUAJES ESPECFICOS: Simscript II.5, GPSS, Slam,

Simula

VENTAJAS DE LENGUAJES ESPECIFICOS FRENTE A GENERALES:

Programas ms cortos: - Estn preparados para llevar la contabilidad de los distintos parmetros - Tienen mdulos para generar nmeros aleatorios de las distintas distribuciones, reloj, etc

6.2.ELECCION DEL LENGUAJE DE PROGRAMACION. SIMULADORES. ANIMACION

Al tener menos lneas de cdigo: - Es ms fcil detectar posibles errores - Se reduce el tiempo de programacin - Es ms fcil cambiarlo si queremos introducir alguna variacin Existen una serie de errores tpicos que suelen ser identificados y chequeados de forma automtica accesibles

6.2.ELECCION DEL LENGUAJE DE PROGRAMACION. SIMULADORES. ANIMACION


INCONVENIENTES DE LENGUAJES ESPECIFICOS FRENTE A GENERALES:

Son menos flexibles, y su sintaxis tiende a ser menos natural Las ejecuciones son ms lentas Son menos conocidos por analistas y programadores, y los compiladores son menos accesibles

SIMULADORES
Son paquetes que permiten simular algunos tipos de sistemas con poca o ninguna necesidad de programar. Los sistemas se seleccionan a base de mens y de grficos. Ventaja: Ahorran tiempo de programacin Inconvenientes: Estn limitados a modelizar slamente las configuraciones de sistemas que permite el simulador. Las ejecuciones son ms lentas
Los ms conocidos son: Simfactory II.5 Witness Comnet III (especfico redes de comunicaciones) QSIM (incluido en QSB) Xcells+ Promodel

ANIMACION
Los elementos clave de un sistema se representan mediante iconos que cambian de forma, color o posicin cuando hay un cambio de estado en la simulacin. Modos de operar:

En directo: Se desarrolla la animacin mientras se est corriendo la simulacin. Esto hace que la ejecucin sea ms lenta.
En diferido: La animacin se visualiza una vez completada la simulacin.

VENTAJAS E INCONVENIENTES DE LA ANIMACION Ventajas:


Sirven para comunicar la esencia del modelo de simulacin a los directivos. Puede ayuda a corregir errores del programa de simulacin o a mostrar que el modelo no es vlido. Puede ayudar a entender el comportamiento dinmico del sistema.
Aumenta el tiempo para desarrollar el programa de simulacin. Slo una parte de la lgica del modelo de simulacin puede verse en la animacin, y no se puede concluir a partir de ese corto periodo de tiempo que el modelo est bien definido. No puede sustituir a un cuidadoso anlisis estadstico de los resultados.

Inconvenientes:

6.3. VERIFICACION DEL PROGRAMA Consiste en comprobar que el programa de simulacin implementa correctamente el modelo conceptual de simulacin. Tcnicas a utilizar:
Escribir y depurar los programas en mdulos y subprogramas Correr la simulacin con distintos conjuntos de parmetros de entrada, y comprobar que la salida es razonable Depurar con la tcnica de traza Correr el modelo con hiptesis simplificadas para las que el modelo tenga solucin analtica La animacin puede ayudar a detectar errores

6.4. VALIDACION DEL MODELO Consiste en comprobar si el modelo conceptual de simulacin es una adecuada representacin del sistema que se est estudiando. Debe llevarse a cabo a lo largo de todo el estudio de simulacin.
Etapas para desarrollar un modelo vlido: 1.- Proponer un modelo razonable 2.- Contrastar empricamente las hiptesis del modelo 3.- Determinar hasta que punto son representativos los datos de salida

ETAPA 1: PROPUESTA DE UN MODELO RAZONABLE


Tener claros los objetivos, las medidas de evaluacin del sistema y las configuraciones alternativas del sistema
Hablar con las personas relacionadas con el sistema y obtener toda la informacin existente Observar un sistema similar (si existe) y obtener los datos histricos, o recogerlos si no existen Exponer a todos los relacionados con el sistema una explicacin detallada y estructurada del modelo conceptual antes de empezar la codificacin Proponer inicialmente un nivel de detalle razonable

ETAPA 2: CONTRASTAR EMPIRICAMENTE LAS HIPOTESIS DEL MODELO Estudiar si los datos de entrada se ajustan al modelo propuesto.
Realizar anlisis de sensibilidad para estudiar cuanto cambian los resultados de la simulacin al cambiar los parmetros de entrada o las distribuciones de probabilidad. Las partes ms sensibles habr que programarlas con un mayor nivel de detalle

ETAPA 3: DETERMINAR HASTA QUE 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 simulacin. Si son similares, el modelo es vlido. A continuacin se modificara el modelo para representar al sistema que nos interesa estudiar
Si no existe un sistema similar, se intenta simplificar el modelo de forma que tenga solucin analtica, y se comparan los resultados. La validez del modelo ser mayor cuanto menores sean las simplificaciones para obtener la solucin analtica. El test definitivo se obtiene comparando los resultados del modelo con los del sistema propuesto, si este llega a construirse. Pero si no es vlido, ya no puede corregirse.

7. VENTAJAS DE LA SIMULACION
Permite estudiar sistemas reales que no se pueden evaluar analticamente Hace posible estimar el comportamiento de un sistema existente si se modifican algunas de las condiciones de funcionamiento actuales Se pueden comparar distintas alternativas de diseo (o de formas de operar de un sistema), para ver cual se comporta mejor

Permite estudiar en poco tiempo la evolucin de un sistema en un periodo largo de tiempo y al revs
Se puede utilizar para validar un modelo analtico

7. DESVENTAJAS DE LA SIMULACION

No produce resultados exactos, sino estimaciones. Esto hace necesario el uso de tcnicas estadsticas
Desarrollar un modelo de simulacin suele ser caro y lleva tiempo Es difcil demostrar la validez del modelo. Si el modelo no es vlido, los resultados son poco tiles Es difcil encontrar el ptimo: slo se puede encontrar el mejor entre varias alternativas

7. ERRORES MAS FRECUENTES EN LOS ESTUDIOS DE SIMULACION


No tener bien definidos los objetivos al comienzo del estudio Elegir un nivel de detalle inapropiado Tratar un estudio de simulacin como si fuera principalmente un problema de programacin Confiar en simuladores que hacen la simulacin accesible a todo el mundo Analizar los datos de salida a partir de una sola ejecucin, tratndola como la solucin verdadera Fallar en la comunicacin con las personas que conocen realmente el sistema No modelizar correctamente las distintas fuentes de aleatoriedad del sistema real

Vous aimerez peut-être aussi