You are on page 1of 49

REPBLICABOLIVARIANADEVENEZUELA MINISTERIOPARALADEFENSADELPODERPOPULAR UNIVERSIDADNACIONALEXPERIMENTALPOLITECNICA DELAFUERZAARMADANACIONALUNEFA NCLEOBARINAS

IntegrantesGrupo3: MariaHidalgo YusamriValero Etc...

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 EXPERIMENTAR CON EL SISTEMA CON EL SISTEMA REAL REAL FORMAS FORMAS DE DE ESTUDIAR ESTUDIAR UN UN SISTEMA: SISTEMA SISTEMA: SISTEMA

Modelo fsico

EXPERIMENTAR CON UN EXPERIMENTAR CON UN MODELO DEL SISTEMA MODELO DEL SISTEMA (VALIDACIN) (VALIDACIN)

Solucin Solucin analtica analtica

Modelo matemti co

Simulacin 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

RUTINA DE RUTINA DE INICIALIZACIN INICIALIZACIN

PROGRAMA PROGRAMA PRINCIPAL PRINCIPAL

RUTINA DEL RUTINA DEL TIEMPO TIEMPO Determina el Determina el siguiente tipo de siguiente tipo de suceso suceso Avanza el reloj de Avanza el reloj de simulacin simulacin Librera de Librera de rutinas rutinas Genera Genera nmeros nmeros aleatorios aleatorios

Pone el reloj a cero Llama a la rutina de Pone el reloj a cero Llama a la rutina de Inicializa el estado inicializacin Inicializa el estado inicializacin Llama repetidas veces a del sistema y los Llama repetidas veces a del sistema y los contadores :: contadores Inicializa la lista de rutina de tiempo Inicializa la lista de rutina de tiempo rutina de sucesos sucesos rutina de sucesos sucesos Rutina de sucesos Rutina de sucesos Actualiza el estado del Actualiza el estado del sistema sistema Actualiza los Actualiza los contadores contadores Genera futuros sucesos Genera futuros sucesos y los aade a la lista de y los aade a la lista de sucesos sucesos
TERMIN LA SIMULACIN? TERMIN LA SIMULACIN?

Generador de informes Generador de informes

SI SI Calcula estimaciones Calcula estimaciones de inters de inters Escribe el informe Escribe el informe

NO NO

DIAGRAMA DE FLUJO DE LA RUTINA DE LLEGADA DE UN CLIENTE


SUCESO DE LLEGADA SUCESO DE LLEGADA

Programar siguiente Programar siguiente llegada llegada SI SI SERVIDOR OCUPADO? SERVIDOR OCUPADO?
SI SI

NO NO

COLA LLENA? COLA LLENA?


NO NO

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

Aadir 1 a Aadir 1 a clientes clientes perdidos o perdidos o error si cap. error si cap. finita finita

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

Programar suceso de salida para este Programar suceso de salida para este cliente cliente

DIAGRAMA DE FLUJO DE LA RUTINA DE SALIDA DE UN CLIENTE


SUCESO DE SALIDA SUCESO DE SALIDA

SI SI

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

PONER LIBRE PONER LIBRE EL SERVIDOR EL SERVIDOR DEJAR DE DEJAR DE CONSIDERAR CONSIDERAR EL SUCESO DE EL SUCESO DE SALIDA 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 =

kq k
k=0

, siendo q k = P cola haya k clientes

La estimacin ms razonable para qk es:

Tiempo en que hay k clientes en la cola qk = = T n Tiempo total de simulacin


Tk

5. EJEMPLO DE SIMULACION DE UNA COLA CON UN SERVIDOR


Para estimar Wq , se define Di = tiempo en cola del cliente i-simo. La estimacin para Wq ser:
1 W q = D i , n = n total de clientes simulados n 1
n

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

Variablesdeestado

0 Reloj

0.4 inf

Llegadas Salidas

0
Estadoservidor

0 Nencola

Listasucesos Contadoresestadsticos

0 0 Tiempo suceso anterior Tiemposde llegadas


0 0 0 0

Clientesservidos 0 Tiempototalcola 0 Tiemposervidorocupado

T0 T1 T2 T3

Variablesdeestado

0.4 Reloj

1.6 2.4 Listasucesos

Llegadas Salidas

1
Estadoservidor

0 Nencola

Contadoresestadsticos 1 0.4 0 0 0 T0 T1 T2 T3

0 Tiempo suceso anterior Tiemposde llegadas


Clientesservidos 0 Tiempototalcola 0 Tiemposervidorocupado

Variablesdeestado

1.6 Reloj

2.1 2.4 Listasucesos

Llegadas Salidas

1
Estadoservidor 1.6

1 Nencola

Contadoresestadsticos 1 1.6 0 0 0 T0 T1 T2 T3

0.4 Tiempo suceso anterior

Clientesservidos 0 Tiempototalcola 1.2 Tiemposervidorocupado

Tiemposde llegadas

Variablesdeestado

2.1 Reloj

3.8 2.4 Listasucesos

Llegadas Salidas

1
Estadoservidor 1.6 2.1

2 Nencola

Contadoresestadsticos 1 1.6 0.5 0 0 T0 T1 T2 T3

1.6 Tiempo suceso anterior

Clientesservidos 0 Tiempototalcola 1.7 Tiemposervidorocupado

Tiemposde llegadas

Variablesdeestado

2.4 Reloj

3.8 3.1 Listasucesos

Llegadas Salidas

1
Estadoservidor 2.1

1 Nencola

Contadoresestadsticos 2 1.6 0.5 0.3 0 T0 T1 T2 T3

2.1 Tiempo suceso anterior

Clientesservidos 0.8 Tiempototalcola 2.0 Tiemposervidorocupado

Tiemposde llegadas

Variablesdeestado

3.1 Reloj

3.8 3.3 Listasucesos

Llegadas Salidas

1
Estadoservidor

0 Nencola

Contadoresestadsticos 3 1.6 1.2 0.3 0 T0 T1 T2 T3

2.4 Tiempo suceso anterior Tiemposde llegadas


Clientesservidos 1.8 Tiempototalcola 2.9 Tiemposervidorocupado

Variablesdeestado

3.3 Reloj

3.8 inf Listasucesos

Llegadas Salidas

0
Estadoservidor

0 Nencola

Contadoresestadsticos 3 1.8 1.2 0.3 0 T0 T1 T2 T3

3.1 Clientesservidos Tiempo suceso anterior Tiemposde llegadas


1.8 Tiempototalcola 2.9 Tiemposervidorocupado

Variablesdeestado

3.8 Reloj

4.0 4.9 Listasucesos

Llegadas Salidas

1
Estadoservidor

0 Nencola

Contadoresestadsticos 4 2.3 1.2 0.3 0 2.9 Tiemposervidorocupado

3.3 Tiempo suceso anterior Tiemposde llegadas

Clientesservidos 1.8 Tiempototalcola

T0 T1 T2 T3

Variablesdeestado

4.0 Reloj

5.6 4.9 Listasucesos

Llegadas Salidas

1
Estadoservidor 4.0

1 Nencola 3.8

Contadoresestadsticos 4 Clientesservidos 2.5 1.2 0.3 0 T0 T1 T2 T3

Tiempo suceso anterior Tiemposde llegadas


1.8 Tiempototalcola 3.1 Tiemposervidorocupado

Variablesdeestado

4.9 Reloj

5.6 8.6 Listasucesos

Llegadas Salidas

1
Estadoservidor

0 Nencola

Contadoresestadsticos 5 2.5 2.1 0.3 0 T0 T1 T2 T3

4.0

Clientesservidos 2.7 Tiempototalcola 4.0

Tiempo suceso anterior Tiemposde llegadas

Tiemposervidorocupado

Variablesdeestado

5.6 Reloj

5.8 8.6 Listasucesos

Llegadas Salidas

1
Estadoservidor 5.6

1 Nencola

Contadoresestadsticos 5 3.2 2.1 0.3 0 T0 T1 T2 T3

4.9 Clientesservidos Tiempo suceso anterior 2.7 Tiempototalcola 4.7 Tiemposervidorocupado

Tiemposde llegadas

Variablesdeestado

5.8 Reloj

7.2 8.6 Listasucesos

Llegadas Salidas

1
Estadoservidor 5.6 5.8

2 Nencola

Contadoresestadsticos 5 3.2 2.3 0.3 0 T0 T1 T2 T3

5.6 Tiempo suceso anterior

Clientesservidos 2.7 Tiempototalcola 6.3 Tiemposervidorocupado

Tiemposde llegadas

Variablesdeestado

7.2 Reloj

9.1 8.6 Listasucesos

Llegadas Salidas

1
Estadoservidor 5.6 5.8 7.2

3 Nencola

Contadoresestadsticos 5 3.2 2.3 1.7 0 T0 T1 T2 T3

5.8 Clientesservidos Tiempo suceso anterior 2.7 Tiempototalcola 6.3 Tiemposervidorocupado

Tiemposde llegadas

Variablesdeestado

8.6 Reloj

9.1 9.2 Listasucesos

Llegadas Salidas

1
Estadoservidor 5.8 7.2

2 Nencola 7.2 Tiempo suceso anterior

Contadoresestadsticos 6 Clientesservidos 5.7 Tiempototalcola 7.7

3.2 2.3 1.7 1.4

T0 T1 T2 T3

Tiemposde llegadas

Tiemposervidorocupado

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; Lq = 9.9/8.6 = 1.15 Wq = 5.7/6 = 0.95 = 7.7/8.6 = 0.90
ALGUNAS CONSIDERACIONES:

T(n) = 8.6

( 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

6. ETAPAS MS FRECUENTES DE UN ESTUDIO DE SIMULACIN


1. Formulacin del problema y del plan de estudio 1. Formulacin del problema y del plan de estudio 2. Recogida de datos y definicin del modelo 2. Recogida de datos y definicin del modelo 3. VLIDO? 3. VLIDO? NO

SI 4. Construccin del programa de ordenador y 4. Construccin del programa de ordenador y verificacin verificacin 5. Realizacin de ejecuciones piloto 5. Realizacin de ejecuciones piloto 6. VLIDO? 6. VLIDO? SI 7. Diseo de experimentos 7. Diseo de experimentos 8. Realizacin de ejecuciones 8. Realizacin de ejecuciones 9. Analizar los resultados 9. Analizar los resultados

NO

10. Documentar y presentar resultados 10. Documentar y presentar resultados

6.1.DESCRIPCION GENERAL DE LAS ETAPAS EN UN ESTUDIO DE SIMULACION ETAPA1:Especificar claramente los objetivos del estudio. Indicar las distintas alternativas de diseo a estudiar, y los criterios para evaluar las alternativas ETAPA2: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 ETAPA3: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 ETAPA4: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. ETAPA5: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 ETAPA6: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 sistemaexistente. ETAPA7:Cuando tenemos muchas alternativas de diseo y no se pueden simular todas, hay que decidir cuales se simulan para obtener la ptima ETAPA8:Se obtienen los resultados para tratar de estimar las caractersticas de inters

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

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

6.2.ELECCION DEL LENGUAJE DE PROGRAMACION. SIMULADORES. ANIMACION LENGUAJESGENERALES:C es el ms utilizado


LENGUAJESESPECFICOS:Simscript

II.5, GPSS, Slam,

Simula

VENTAJASDELENGUAJESESPECIFICOSFRENTEA 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 automticaaccesibles

6.2.ELECCION DEL LENGUAJE DE PROGRAMACION. SIMULADORES. ANIMACION


INCONVENIENTESDELENGUAJESESPECIFICOSFRENTEA 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. Los ms ejecuciones son ms lentas Las 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

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

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

You might also like