0% encontró este documento útil (0 votos)
122 vistas62 páginas

Introducción al Modelado y Simulación

El documento presenta una introducción al modelado y simulación. Brevemente describe los conceptos de sistemas, modelado y simulación, y explica por qué se usa la simulación. Luego, provee ejemplos de aplicaciones de simulación y describe informalmente los componentes de un modelo, incluyendo variables, interacciones y ejemplos ilustrativos. Finalmente, incluye referencias bibliográficas sobre el tema.

Cargado por

LeiraNoguera
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
122 vistas62 páginas

Introducción al Modelado y Simulación

El documento presenta una introducción al modelado y simulación. Brevemente describe los conceptos de sistemas, modelado y simulación, y explica por qué se usa la simulación. Luego, provee ejemplos de aplicaciones de simulación y describe informalmente los componentes de un modelo, incluyendo variables, interacciones y ejemplos ilustrativos. Finalmente, incluye referencias bibliográficas sobre el tema.

Cargado por

LeiraNoguera
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Introducción al Modelado y la Simulación

CONTENIDO

• Sistemas, Modelado y Simulación


• ¿Por qué usar la simulación?
• Ejemplos de la aplicación de la simulación
• Descripción informal del modelo
• Terminología
• Tipos de Modelos
• Ejemplo de un modelo de simulación de eventos discretos
– Algoritmo de eventos para avance de tiempo
– Explicación Intuitiva
– Implantación en un lenguaje de programación general

REFERENCIAS

Banks & Carson, 1984. Discrete-Event System Simulation


Law & Kelton, 2000. Simulation Modeling & Analysis

Zeigler, 1976. Theory of Modelling and Simulation

1
Sistemas, Modelado y Simulación(1)

Sistema
Computador
real

Modelado Simulació
n
Modelo

Sistema Real:
• La parte del mundo que nos interesa. Puede ser natural o artificial, existir ahora, en el pasado o el futuro.
• Ejemplos:
- Un biólogo puede estar interesado en el comportamiento de las abejas en una colonia (un sistema existente)
- Un ingeniero puede estar interesado en simular un nuevo sistema de transporte para la ciudad o un nuevo
diseño de computadores (un sistema planeado para el futuro)
• El sistema real es una fuente de datos de comportamiento

2
Sistemas, Modelado y Simulación(2)

T
• Ejemplos
– En el caso de la colonia de abejas X puede ser el
número de abejas de sexo femenino, o el número de
abejas obreras, etc.
– En el caso del computador X pudiese ser el número
de instrucciones procesadas por unidad de tiempo o
el número de operaciones de entrada-salida, etc.

Modelo:
• Conjunto de instrucciones para generar datos del
comportamiento del sistema
• Los modelos se expresan en terminos de ecuaciones
diferenciales, formalismos de descripción de eventos
discretos, etc.
• Modelaje  Validación
• Simulación  Verificación

3
¿Por qué usar la simulación?

• Entender como funciona el sistema real


• Optimizar ciertos aspectos del sistema real
• Estudiar un sistema muy complejo
• Conducir experimentos en el modelo que serían muy
costosos, consumirían demasiado tiempo o serían
moralmente objetables si se realizan en el sistema real
• Educar en el funcionamiento del sistema real
• Prepararse para cambios en el medio ambiente del
sistema real.

4
Métodos de Estudio de un Sistema

Sistema

Experimentar Experimentar
con el sistema con un modelo
mismo del sistema

Modelos
Modelos
matemáticos
físicos

Solución
Simulación
analítica

5
Ventajas y Desventajas de la Simulación

Comparada respecto a la experimentación con el sistema real:


 Existe cierto nivel de incertidumbre acerca de la validez del
modelo (así como al usar cualquier otro tipo de modelo)
 Existe mucha más flexibilidad para probar cosas nuevas en el
modelo
 Se puede controlar lo incontrolable
 Se puede estudiar lo físicamente imposible o lo inexistente

Comparada con técnicas exactas analíticas y métodos de IO:


 No se necesita hacer tantas suposiciones simplificantes por lo
que el modelo que se obtiene es más flexible y más válido
 No se obtienen formulas simples de las cuales se pueden
inferir propiedades interesantes
 No se obtienen soluciones exactas solo estimados sujetos a
incertidumbre por lo que se debe ser en extremo cuidadoso con
el diseño de los experimentos y el análisis de los resultados

6
Ejemplos de Simulación(1)

 Sistemas de manufactura:
- Simulación de sistemas de distribución y control de inventarios a gran escala para mejorar el diseño de estos sistemas
- Simulación de las operaciones de una fábrica de acero para evaluar cambios en las prácticas de operación y en la capacidad y configuración de las maquinarias.
 Sistemas públicos:
- Simulación del tráfico en una intersección con semáforos automáticamente controlados para determinar la mejor secuencia de operación
- Simulación de un sistema telefónico para determinar la capacidad adecuada para atender satisfactoriamente un número determinado de clientes
 Sistemas sociales y económicos:
- Simulación de la dinámica socioeconómica de un país para predecir el efecto de decisiones económicas
- Simulación del mercado de valores para determinar estrategias rentables de inversión

7
Ejemplos de Simulación(2)

 Sistemas de computación:
- Simulación de varios tipos de sistemas para evaluar rendimiento computacional
- Simulación de diseños alternativos de estrategias de multiprocesamiento
• Sistemas ambientales o ecológicos:
– Simulación de la contaminación del aire que se producirá en una población cercana al instalar una nueva planta industrial
– Simulación de los cambios climáticos producidos por aumentos de CO2 en la atmósfera
– Simulación de un bosque para determinar estrategias sustentables de manejo
– Simulación de la dinámica demográfica de una población
– Simulación de los cambios de usos de la tierra en una región de acuerdo a ciertas políticas de uso
– Simulación de la difusión de una enfermedad contagiosa

8
Descripción Informal de un modelo
Un modelo se describe informalmente mediante la
especificación de:
 Componentes: las partes con las cuales el modelo es
construido.
 Variables descriptivas: las herramientas que permiten
describir el estado o condición de los componentes a
través del tiempo (incluyen también los parámetros, que
son las características que permanecen constantes en el
modelo)
 Interacciones entre los componentes: las reglas
mediante las cuales los componentes ejercen una
influencia el uno sobre el otro, alterando sus condiciones
de manera que determinan la evolución del
comportamiento del modelo a través del tiempo.

Componentes

Variables descriptivas

Interacción entre componentes


9
Ejemplo1 descripción Informal(1)

El siguiente ejemplo es un modelo muy simplificado del modelo del mundo


desarrollado por Forrester* en el cual se presenta la interacción entre la industria,
la población y otras variables.
• COMPONENTES: - Población
­ Contaminación
- Industria
• VARIABLES DESCRIPTIVAS
- Población:
• densidad_población: indica el número de personas por metro
cuadrado de la superficie habitable de la tierra. Tiene como rango los
enteros reales positivos
- Contaminación:
• nivel_contaminación: indica el nivel de contaminación en
unidades de una escala determinada. Tiene como rango los números
reales positivos.
- Industria:
• capital_industrial: indica el valor total de los bienes
industriales mundiales. Tiene como rango los números reales positivos.

10
Ejemplo 1 descripción Informal(2)

• INTERACCIONES ENTRE LOS COMPONENTES


– La tasa de crecimiento de densidad_población
incrementa linealmente con la
densidad_población y con
capital_industrial y decrece linealmente al
incrementarse nivel_contaminación.
– La tasa de crecimiento de nivel_contaminación
incrementa linealmente con incrementos en
densidad_población y en
capital_industrial
– La tasa de crecimiento de capital_industrial
se incrementa linealmente con
capital_industrial y decrece linealmente con
nivel_contaminación.

Población Contaminación
+

+
+ + -

+ Industria

11
Ejemplo 2 descripción Informal(1)

Transporte de pasajeros. El modelo hipotético de este ejemplo es un modelo


simple de transporte vía autobuses entre dos estaciones o terminales. En vez de
pagar al chofer, los pasajeros adquieren un boleto en el terminal u otro sitio por el
valor del viaje. Los pasajeros pueden tomar el autobús en cualquiera de las
estaciones y permanecer en él tantos viajes como así lo quieran porque no se
verifica el boleto del pasajero al tomar el autobús. La compañía de transporte,
interesada en saber si debe invertir en equipo o personal para este propósito ha
iniciado el desarrollo del modelo.

• COMPONENTES
- Puerta de entrada 1
- Puerta de entrada 2
- Estación 1
- Estación 2
- Autobús
• VARIABLES DESCRIPTIVAS
– Puerta de entrada i (i =1,2):
• num_entrando_i: indica el número de personas que están entrando en
la estación i en un instante de tiempo. Rango en los enteros positivos

12
Ejemplo 2 descripción Informal(2)

– Estación i (i=1,2):
• num_esperando_i: indica el número de personas que están
esperando en la estación i por el autobús. Rango: enteros positivos
- Autobús:
• num_en_bus: indica el número actual de pasajeros en el autobús.
• tiempo_viaje: tiempo que el autobús toma para ir de una parada a la
otra. Es una variable aleatoria con rango los reales positivos.
• pasajeros_sale: número de pasajeros que se bajan del autobús en
la estación. Una variable aleatoria con rango de enteros no negativos.
- Parámetros:
• capacidad: indica el número máximo de pasajeros que puede llevar el
autobús.
• pi: la probabilidad de que un pasajero se baje del autobús en la estación i
• media y desviación: la media y la desviación estándar de
tiempo_viaje entre las estaciones. (reales positivos)
• Kentra y Ksale: el tiempo que toma para un pasajero entrar y salir del
autobús (reales positivos)

13
Ejemplo 2 descripción Informal(3)

• INTERACCIONES ENTRE LOS COMPONENTES


– El autobús viaja de la estación i a la estación j. El tiempo de llegada
a la estación j está determinado mediante muestreo de tiempo_viaje
(la cual es normalmente distribuida con parámetros media y
desviación)
– Al llegar a la estación j, el autobús:
a) Libera los pasajeros que desean bajarse del autobús (este número
es muestreado de pasajeros_sale (una distribución binomial con
probabilidad pi) y número igual al valor de num_en_bus)
b) Adquiere pasajeros en la estación j hasta que la estación j se
encuentra vacía (es decir num_esperando_j = 0 o hasta que el
autobús se encuentra lleno (num_en_bus = capacidad)
– El tiempo de espera del autobús es el máximo del tiempo que
toman los procesos a y b. El tiempo para estos procesos se calcula
como el número de pasajeros que entran (o se van) multiplicados
por Kentra (o Ksale).

14
Formato para la descripción informal del
modelo (1)
• COMPONENTES
Componente 1
Componente 2
.
.
Componente n
Esta sección debe de llevar una descripción general que enlace los componentes a las partes
conceptuales del sistema real.

• VARIABLES DESCRIPTIVAS
Componente 1
Variable 1.1
Variable 1.2
.
.
Variable 1.m
Componente 2
Variable 2.1
Variable 2.2
.

Variable 2.k

15
Formato para la descripción informal del
modelo (2)
Se debe de especificar el rango de cada variable e indicar el rol de la variable en la
descripción del componente

• PARÁMETROS
Parámetro 1
Parámetro 2
.
.
Parámetro x
Se especifica el rango del parámetro y se indica el rol que tiene en la estructura del modelo

• INTERACCIONES ENTRE COMPONENTES


Se especifica el efecto, influencia o acción de cada uno de los componentes sobre los otros
o la forma en que estos se comunican mediante una descripción que puede incluir reglas,
leyes, postulados, etc.

• DIAGRAMA
Un diagrama donde los componentes se representen como cajas y las interacciones se
representen como flechas indicando la dirección causal.

16
Entendiendo la jerga...

• Existe también especificaciones para hacer una descripción formal del


modelo pero no las veremos en este curso
• La descripción informal del sistema ayuda en el proceso de modelado
• Otro tipo de descripción del sistema que ayuda en el proceso de modelado
es la descripción en término de entidades, actividades y eventos:
 Una entidad es un objeto de interés en el sistema.
 Un atributo es la propiedad de una entidad.
 Una actividad está representada por el período de tiempo que las
entidades se encuentran ocupadas en una tarea específica.
 Las variables de estado del sistema son aquellas variables necesarias
para describir el estado del sistema en cada instante del tiempo.
 Un evento es cualquier acción que ocasiona un cambio en el estado
del sistema
La descripción del sistema depende del objetivo del estudio o simulación.
Las variables de estado pueden diferir en número y tipo si los objetivos de
la simulación cambian

17
Sistema Entidades Atributos Actividades Eventos Variables
de Estado

Banco Clientes Balance de Hacer un Llegada, Número de cajeros ocupados,


la cuenta depósito salida número de clientes esperando.

Tren Pasajeros Origen y Viajar Llegada a Número de pasajeros esperando en la


destino la estación, estación, número de pasajeros en
al destino tránsito
Producción Máquinas Velocidad, Soldar, Avería Estado de las máquinas (ocupada,
capacidad estampar disponible, averiada)

Comunicaciones Mensajes Longitud Transmitir Llegada Número de mensajes


destino a destino esperando ser transmitidos.

Inventario Almacenes Capacidad Retirar Demanda Niveles de inventario,


ordenes atrasadas

18
Tipos de modelos (1)

Tiempo Continuo Tiempo Discreto

Población Número de
estudiantes
en clase los
viernes

tiempo tiempo

El estado del sistema está El estado del sistema está


definido en cada instante definido sólo para instantes
del tiempo particulares del tiempo

19
Tipos de modelos (2)

Estado Continuo Estado Discreto

Nivel de Número de
agua en la trabajos en
represa cola

tiempo tiempo

Las variables de estado Las variables de estado


son continuas son discretas
Modelos Continuos Modelos Discretos

Continuidad de tiempo no implica continuidad de


estado y viceversa 20
Tipos de modelos (3)

Determinísticos Probabilísticos

salida salida

entrada entrada

• Aleatoriedad en la
• Los resultados del
entrada producen
modelo pueden
resultados también
predecirse con certeza
aleatorios en la salida
• Se necesitan una sola
• Se necesita varias
corrida
corridas
• Ejemplo: Regresión
• Ejemplo: Modelo del
lineal
clima 21
Tipos de modelos (4)

Lineal No-Lineal

salida
salida

entrada entrada

Ejemplo: f(x)=a +bx Ejemplo: f(x)=a+bx1/2

22
Tipos de modelos (5)

Estable Inestable

salida salida
promedio promedio

entrada entrada

• Los resultados del modelo • Los resultados del modelo


convergen a un estado estable cambian constantemente
• Ejemplo: crecimiento logístico • Ejemplo: crecimiento exponencial

23
Tipos de modelos (6)

Estáticos Dinámicos

• El tiempo no es una variable • El sistema cambia con el


del modelo tiempo
• Ejemplo: E = mc2 • Ejemplo: concentración
de un químico río abajo del
punto de derrame

Abiertos Cerrados

• La entrada es externa e
• No hay entrada externa
independiente del modelo
• Ejemplo: modelo poblacional
• Ejemplo: modelo
sin inmigración
poblacional
con migración

24
MECANISMO DE AVANCE DEL TIEMPO POR EVENTOS
Inicio
Programa
Inicialización principal
Mecanismo avance tiempo
1. Reloj = 0 0. Rutina de inicialización
2. Inicialice estado 1. Determine el tipo
del sistema y 1. Rutina de avance de tiempo del siguiente evento,
contadores 2. Rutina de eventos por ejemplo, i.
estadísticos i 2. Avance el reloj de
3. Inicialice lista Rutina evento i simulación
de eventos
1. Actualice el estado del sistema
2. Actualice contadores estadísticos Rutinas de librería
3. Genere eventos futuros y añadalos Genere variables
a la lista de eventos aleatorias

¿fin de la no
simulación?
si

25
Generador 1. Calcule estimadores
de Reportes Fin
2. Escriba reporte
Tipos de Simulación: Montecarlo

• Es aquella estática o sin eje de tiempo.


• Se usa para modelar fenómenos probabilísticos que no dependen del tiempo. Ejemplo: El proceso
de regeneración de un árbol en un modelo forestal de claros (depende de condiciones ambientales
y no del tiempo)
• También para evaluar expresiones no probabilísticas con métodos probabilísticos. Ejemplo:
cálculo de ciertas integrales difíciles.
• Muchos autores denominan simulación de Montecarlo a cualquiera que involucre números
aleatorios.
• Ejemplo ( Cálculo de áreas): Considere el cuadrante de un círculo unitario.

• Sean u1,u2 un par de números aleatorios (0,1)


• (u1,u2) son aceptables si satisfacen (2)
• Se genera un gran número de pares aleatorios
• El área bajo la curva está dada por la proporción de números aceptables entre los números
generados

x 2  y 2  1; x,y  0 (1)
y  1  x2 (2)

26
Tipos de Simulación: Continua(1)
• Simulación continua: la de modelos de estado continuos
• Se describen por medio de ecuaciones diferenciales.
– Solución analítica: posible cuando las ecuaciones son
ordinarias, lineales y con coeficientes constantes.
– Solución numérica: Euler, Runge-Kutta, etc.
• Ejemplo: modelo de Lotka-Volterra de predador-presa:
x1= el número de individuos de la población presa
x2 = el número de individuos de la población predador
dx1
 ( r1  a12 x 2 ) x1 Presa
dt
dx2
 (  r2  a21 x1 ) x2 Predador
dt
• Solución numérica usando Euler
x1 (t  dt )  x1 (t )
dx1 
dt
x (t  dt )  x2 (t )
dx2  2
dt
x1 (t  dt )  x1  ( r1 x1  a12 x2 x1 )dt
x2 (t  dt )  x2  (  r2 x1  a21 x2 x1 )dt
27
Tipos de Simulación: Continua(2)

Algoritmo
1. Lea los valores de los parámetros (ri, aij) y los valores
iniciales de las variables de estado (xi(0))
2. Inicialice los parámetros de control de la simulación: el
contador de tiempo de simulación (t), el tamaño del paso
(dt), el tiempo final de simulación (tf) y el intervalo del
tiempo de impresión (tp), los archivos de datos de salida
3. Para t= 0 hasta tf en pasos de dt
3.1 Calcule x1(t+dt) y x2(t+dt)
3.2 Si modulo(t,tp)=0 imprima archivo salida
3.3 t = t +dt
4. fin
En el ejemplo, para r1= 0.1 x1(0) = 100 a12= 0.003
r2= 0.15 x2(0) = 50 a21= 0.002
Modelo simple Predator-Presa

140
120
Población (núm.

100
individuos)

80 X1 (presa)
60 X2 (predador)
40
20
0
0

135
180
225
270
315
360
405
450
495
45
90

tiempo
28
Tipos de Simulación: Discreta

• Es la simulación de modelos de estado discreto, es decir,


aquella donde la variable de estado cambia
instantáneamente en puntos separados en el tiempo
• Cada cambio en el estado del sistema se produce por la
ocurrencia de un evento. Por esto, a este tipo de
simulación se le denomina simulación de eventos
discretos.
• Se usa para modelar sistemas que no tienen una
representación analítica manejable. Las simulaciones son
más diversas y hay menos teoría desarrollada que en los
modelos continuos.
• Mecanismos de avance de tiempo:
– Método de tiempo unitario: incrementa el tiempo
en pequeños pasos y verifica si hay eventos por
ocurrir
– Método de eventos: incrementa el tiempo
automáticamente al tiempo del evento más próximo
de ocurrir
• Es el tipo de simulación más usada en investigación de
operaciones. Ejemplos: modelos de colas, modelos de
inventario.

29
Ejemplo: Modelo de un Cola Simple

• Una cola con un solo servidor: taquilla de un banco, caja


de supermercado, barbería, etc. Se quiere estimar el tiempo
promedio de espera en cola de los clientes
• Descripción del modelo:
Entidades: - Clientes
Variables de estado:
– Estado del servidor (ocupado/disponible)
– Número de clientes en cola
Eventos: - Llegada de un cliente
- Salida de un cliente
• Notación:
ti= tiempo de llegada del cliente i
Ai= ti - ti-1 tiempo entre las llegadas
Si= tiempo de servicio para el cliente i
Di= demora en la cola del cliente i
ci= ti + Di + Si = tiempo en el que el cliente i abandona
el sistema
ei= tiempo de ocurrencia del i-ésimo evento de cualquier
tipo (valor i-ésimo del reloj de simulación)
FA y FS distribución de probabilidad de los Ai y Si 30
Modelo de un Cola Simple: Método de
eventos para el avance del tiempo

e0 e1 e2 e3 e4 e5

tiempo
0 t1 t2 c1 t3 c2

A1 A2 A3

S1 S2

1. e0 = 0, servidor desocupado, t1= A1 generada de FA


2. e1 = t1, D1=0, servidor ocupado, S1 generado de FS,
c1=t1+S1, t2= t1 + A2. Si t2 < c1  e2= t2
3. e2 = t2, servidor ocupado, longitud cola = 1,
t3= t2+A3. Si c1 < t3  e3 = c1.
4. e3= c1, servidor ocupado, D2=c1 - t2, c2= c1+ S2, longitud de
la cola = 0, t3 = A3. Si t3 < c2  e4=t3.
5. e4= t3 ……...

31
Componentes de un modelo de
simulación discreta
• Estado del sistema: la colección de variables de estado
necesarias para describir el estado del sistema
• Reloj de simulación: variable global que representa el
tiempo simulado
• Lista de eventos: una lista que contiene el tiempo
siguiente en el que deberá ocurrir un evento
• Contadores estadísticos: variables usadas para almacenar
información estadística acerca del rendimiento del sistema
• Rutinas de inicialización
• Rutinas de avance del tiempo: determina el próximo
evento de la lista de eventos que habrá de ocurrir y avanza
el reloj de simulación hasta este tiempo
• Rutinas de eventos: subprograma que actualiza el estado
del sistema cuando un tipo particular de evento ocurre
• Rutinas de librería: subprogramas usados para generar
variables aleatorias
• Generador de reportes: calcula estimados de las medidas
de rendimiento del sistema y produce un reporte cuando
culmina la simulación.
• Programa principal: Invoca la rutina de avance del
tiempo para determinar el siguiente evento por ocurrir y
transfiere luego el control a la rutina correspondiente de
eventos para que actualice el estado del sistema
32
Medidas de rendimiento

- Tiempo promedio esperado en cola, d(n)



n
D
1 i
d (n) 
n
- Número promedio esperado de personas en cola, q(n)
Q(t): número de clientes en cola en el tiempo t
T(n): tiempo requerido para observar n retrasos en cola
pi: proporción esperada del tiempo en que Q(t) es igual a i


q (n)   ipi
i 0

Ti: tiempo total de simulación en que la cola es de longitud i


Tn = T(n) = T1 + T2+ T3+……
pi=Ti / Tn

 iT
i 0
i
qˆ ( n ) 
T (n)

33
Ejemplo cálculo de q(n)

llegadas

salidas

T0  (1.6  0.0)  (4.0  3.1)  (5.6  4.9)  3.2


T1  ( 2.1  1.6)  (3.1  2.4)  ( 4.9  4.0)  (5.8  5.6)  2.3
T2  ( )+( ) = 1.7
T3  1.4

 iT
i 0
i  (0 * 3.2)  (1*2.3)  (2 *1.7)  (3 *1.4)  9.9

qˆ (6)  9.9 / 8.6  1.15

 T(n)
En realidad,  iT no es más que :  Q(t)dt
i =0
i
0
T(n)

 Q(t)dt
0
por lo que qˆ (n) 
T ( n)
34
Utilización esperada del servidor, u(n)

Sea B(t), la función de ocupación

1 si el servidor está ocupado


B(t )  
0 si el servidor está disponible

Entonces u(n) es la proporción del tiempo que B(t)


es igual a 1.

Ejemplo del cálculo de u(n) para el mismo ejemplo :

llegadas

salidas

(3.3  0.4)  (8.6  38


. ) 7.7
u(n)    0.90
8.6 8.6
T (n)

 B(t )dt
De nuevo, u(n)  0
T ( n) 35
Explicación intuitiva, ejemplo (1)

• 13 eventos, 8 eventos de llegada y 5 eventos de servicio

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….

Inicialización Estado del Sistema L 0.4


tiempo=0
0
S oo
reloj Lista de
eventos
0 0 0
Contadores Estadísticos
estado # en tiempo
del del 0 0 0 0
cola tiempos
servidor último # retardo Area Area
de sistema total Q(t) B(t)
evento
llegada
sistema Representación en la computadora

# sistema = # espera = # de clientes que han pasado por la


zona de espera

36
Explicación intuitiva, ejemplo(2)

llegada Estado del Sistema L 1.6


tiempo=0.4
0.4 2.4
S
reloj Lista de
eventos
0.4 1 0 0.4
Contadores Estadísticos
estado # en tiempo
del del 1 0 0 0
cola tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
llegada
sistema Representación en la computadora

Inicialización Estado del Sistema L 2.1


tiempo=1.6
1.6 2.4
S
1.6 reloj Lista de
eventos
0.4 1 1 1.6
Contadores Estadísticos
1.6
estado # en tiempo
del del 1 0 0 1.2
cola tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
llegada
sistema Representación en la computadora

37
Explicación intuitiva, ejemplo(3)

llegada Estado del Sistema L 3.8


tiempo=2.1
2.1 2.4
S
1.6 reloj Lista de
2.1 eventos
0.4 1 2 2.1
Contadores Estadísticos
1.6 estado # en tiempo
del del 1 0 0.5 1.7
cola tiempos
2.1 servidor último # retardo Area Area
de espera total Q(t) B(t)
evento
llegada
sistema Representación en la computadora

salida Estado del Sistema L 3.8


tiempo=2.4
2.4 3.1
S
2.1 reloj Lista de
eventos
1.6 1 1 2.4
Contadores Estadísticos
2.1
estado # en tiempo
del del 2 0.8 1.1 2.0
cola tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
llegada
sistema Representación en la computadora

38
Explicación intuitiva, ejemplo(4)

Salida Estado del Sistema L 3.8


tiempo=3.1
3.1 3.3
S
reloj Lista de
eventos
2.1 1 0 3.1
Contadores Estadísticos
estado # en tiempo
del del 3 1.8 1.8 2.7
cola tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
llegada
sistema Representación en la computadora

Salida Estado del Sistema L 3.8


tiempo=3.3
3.3
S
reloj Lista de
eventos
0 0 3.3
Contadores Estadísticos
estado # en tiempo
del del 3 1.8 1.8 2.9
cola tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
llegada
sistema Representación en la computadora

39
Explicación intuitiva, ejemplo(5)

llegada Estado del Sistema L 4.0


tiempo=3.8
3.8 4.9
S
reloj Lista de
eventos
1 0 3.8
3.8 Contadores Estadísticos
estado # en tiempo
del del 4 1.8 1.8 2.9
cola tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
llegada
sistema Representación en la computadora

llegada Estado del Sistema L 5.6


tiempo=4.0
S 4.9
reloj Lista de
eventos
3.8
Contadores Estadísticos
4.0 estado # en tiempo
del cola del
tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
llegada
sistema Representación en la computadora

40
Explicación intuitiva, ejemplo(6)

salida Estado del Sistema L 5.6


tiempo=4.9
S 8.6
reloj Lista de
eventos
4.0
Contadores Estadísticos
estado # en tiempo
del cola del
tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
llegada
sistema Representación en la computadora

llegada Estado del Sistema L 5.8


tiempo=5.6
5.6
S 8.6
5.6 reloj Lista de
eventos
4.0 1 1 5.6
Contadores Estadísticos
5.6 estado # en tiempo
del del 5 2.7 2.7 4.7
cola tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
llegada
sistema Representación en la computadora

41
Explicación intuitiva, ejemplo(7)

llegada Estado del Sistema L 7.2


tiempo=5.8
5.8 8.6
S
5.6 reloj Lista de
5.8 eventos
4.0 1 2 5.8
Contadores Estadísticos
5.6 estado # en tiempo
del del 5 2.72.9 4.9
cola tiempos
5.8 servidor último # retardo Area Area
de espera total Q(t) B(t)
evento
llegada
sistema Representación en la computadora

llegada Estado del Sistema L 9.1


tiempo=7.2
7.2
S 8.6
5.6 reloj Lista de
5.8 eventos
4.0 1 3 7.2
7.2 Contadores Estadísticos
5.6 estado # en tiempo
5 2.7 5.7 6.3
del cola del
5.8 tiempos
servidor
de
último # retardo Area Area
evento espera total Q(t) B(t)
7.2 llegada
sistema Representación en la computadora

42
Explicación intuitiva, ejemplo(8)

salida Estado del Sistema L 9.1


tiempo=8.6
8.6 9.2
S
5.8 reloj Lista de
7.2 eventos
5.6 1 2 8.6
Contadores Estadísticos
5.8 estado # en tiempo
del del 6 5.7 9.9 7.7
cola tiempos
7.2 servidor último # retardo Area Area
de espera total Q(t) B(t)
evento
llegada
sistema Representación en la computadora

43
Implantación(1)

• La simulación finalizará cuando n=1000


• El tiempo entre llegadas ~exponencial (1)
• El tiempo de servicio ~exponencial (0.5)
• x ~ exponencial si

1 x 
f ( x)  e para x  0

• Para generar variables aleatorias distribuidas exponencialmente:
1.- Se invoca un generador de números aleatorios que genera
una variable aleatoria continua, uniforme entre 0 y 1, U(0,1)

1 si 0  x  1
f ( x)  
0 eoc
Esto implica que,

f ([ x , x  x ])  x , [ x , x  x ] [0,1]

2.- F(x): distribución de probabilidad acumulada

F ( x)  P( X  x)
44
Implantación (2)

Si X~exponencial:
x
1 t 
F ( x )   e dt
0

F ( x)  1  e x 
Si F(x) = U ~ U(0,1):

F ( x)  U  1  e x 
1  U  e x 
x
ln(1  U )  

pero como 1-U es tan buena V.A. como U
podemos substituir 1-U por U :
x
ln(U )  

x    ln(U )

45
Programa Principal
Inicio {Simulación cola simple }

1. Inicialice el generador de números aleatorios;

2. Especifique el número de eventos para el procedimiento de


avance del tiempo, NumEventos := 2;

3. Lea los parámetros de entrada: MediaEntreLlegadas,


MediaServicio, NumRetrasoRequerido);

4. Escriba encabezado del reporte y parámetros de entrada

5. Inicialice simulación, Inicializar;

6. Repita mientras NumEspera < NumRetrasoRequerido


6.1. Determine el próximo evento, AvanceReloj;

6.2. Actualice contadores estadísticos,


ActualEstadisticaTemporal;

6.3 Invoque el procedimiento apropiado de acuerdo al evento:


Si TipoProxEvento=1 Llegada si es igual a 2 Salida

fin 6.

7. Invoque el generador de reportes, Reporte y


termine simulación.

fin {Simulación cola simple }

46
Procedimiento Inicializar
Procedimiento Inicializar; {Procedimiento Inicialización }

Comienzo {Inicializar}

1. Inicializar el reloj de simulación: Tiempo:= 0;

2. Inicializar las variables de estado:


EstadoServidor := Desocupado;
NumEnCola := 0;
TiempoUltimoEvento := 0.0;

3. Inicializar contadores estadísticos:


NumEspera := 0;
RetardoTotal := 0.0;
AreaNumEnCola := 0.0;
AreaEstadoServidor := 0.0;

4. Inicializar lista de eventos. Ya que no hay clientes en


el sistema, el evento de salida no debe ser considerado

TiempoProxEvento[1]:= Tiempo + Expon(MediaEntreLlegadas);


TiempoProxEvento[2]:=1.0E+30

fin {Inicializar}

47
Procedimiento Avance de Tiempo
Procedimiento AvanceReloj; {Avance del tiempo }

Comienzo {Avance}

1. MinTiempoProxEvento:= 1.0E+29;
2. TipoProximoEvento:=0;
3. Determine el tipo del próximo evento:
Para I:=1 hasta NumEventos
Si TiempoProxEvento[I]< MinTiempoProxEvento entonces
MinTiempoProxEvento:= TiempoProxEvento[I];
TipoProximoEvento:=I
fin si
fin para

4. Determine si la lista de eventos está vacía


Si TipoProximoEvento=0 entonces
Escriba(“La lista de eventos se encontró vacía en el
tiempo “, Tiempo);
Pare
fin si

5.La lista de eventos no está vacía, avance el reloj de


simulación:
Tiempo:= MinTiempoProxEvento

fin {Avance}

48
Procedimiento Llegada
Procedimiento Llegada; {Procesa los eventos de llegada }

Inicio {Llegada}

1.Planee la próxima llegada:


TiempoProxEvento:=Tiempo + Expon(MediaEntreLlegadas)

2.Verifique si el servidor está ocupado:


2.1. Si EstadoServidor = Ocupa entonces
2.1.1 El servidor está ocupado, incremente el número de clientes
en la cola:
NumEnCola := NumEnCola + 1;

2.1.2 Verifique que el límite máximo de la cola no ha sido


excedido:
Si(NumEnCola > Climit) entonces
Error:
Escriba(“Overflow del arreglo de tiempo entre llegadas
en t= “,Tiempo);
Pare
fin Si

2.1.3. Todavía hay espacio en la cola por lo que puede guardar


el tiempo de llegada del nuevo cliente al final del arreglo
TiempoLLegada
TiempoLLegada[NumEnCola]:= Tiempo

fin si 2.1
de lo contrario

2.1.4. El servidor esta desocupado, por lo que el cliente que


llega tiene un retraso igual a 0
Retraso:= 0.0;
TotalRetrasos :=TotalRetrasos + Retraso;

2.1.5. Incremente el número de clientes que han pasado y coloque


el servidor como ocupado
NumEspera:= NumEspera + 1
EstadoServidor:= ocupa

2.1.6. Planee un evento de salida:


TiempoProxEvento[2]:= Tiempo + Expon(MediaServicio) 49
fin de lo contrario
fin llegadas; {Llegadas}
Procedimiento Salida
Procedimiento Salida; {Procesa los eventos de salida }

Comiezo {Salida}

1. Verifique si la cola está vacía:


Si NumEnCola = 0 entonces
1.1. Ponga el estado del servidor como disponible y elimine la
posibilidad de un próximo evento de salida
EstadoServidor:= desocupado;
TiempoProxEvento[2]:=1.0E+30

de lo contrario

1.2. La cola no está vacía, hay que actualizar el número en cola


NumEnCola:= NumEnCola - 1;

1.3 Calcule el retraso del cliente que está comenzando servicio


y actualice el contador de retraso total
Retraso:= Tiempo -TiempoLlegada[1];
TotalRetrasos := TotalRetrasos + Retrazo;

1.4 Incremente el número de clientes en espera y planee salida


NumEspera := Numespera + 1;
TiempoProxEvento[2]:=Tiempo + Expon(MediaServicio);

1.5 Mueva todos los clientes en la cola un lugar hacia arriba


Para I:= 1 hasta NumEnCola
TiempoLLegada[I]:=TiempoLlegada[I+1]
fin de lo contrario
fin {salida}

50
Procedimiento Reporte
Procedimiento Reporte; {Generador de reportes }

Comienzo {Reporte}

1. Calcule y escriba estimados de las medidas deseadas de


rendimiento:
PromRetrasoCola:= TotalRetrasos/NumEspera;
PromNumCola:= AreaNumEnCola/Tiempo;
UtlizacionServidor:=AreaEstadoServidor/Tiempo;
Escriba(“Demora promedio en cola”, PromRetrasoCola,“
minutos”);
Escriba(“Promedio número en cola”, PromNumCola);
Escriba(“Utilización del servidor ”,UtlizacionServidor);
Escriba(“Tiempo final de la simulación: ”,Tiempo)

fin {Reporte}

51
Procedimiento ActualEstadisticaTemporal
Procedimiento ActualEstadisticaTemporal;
{Actualice sumadores de área para las estadísticas que tienen que ver
con promedios temporales }

Comenzar {Actualizar estadísticas}

1. Calcule el tiempo transcurrido desde el último evento y actualice


marcador del tiempo del último evento:
TiempoDesdeUltimoEvento:= Tiempo - TiempoUltimoEvento;
TiempoUltimoEvento:= Tiempo;

2. Actualice el área del número de clientes en cola:


AreaNumEnCola := AreaNumEnCola +
NumEnCola * TiempoDesdeUltimoEvento;

3. Actualice área bajo la función indicadora de ocupación del


servidor
AreaEstadoServidor := AreaEstadoServidor +
EstadoServidor * TiempoDesdeUltimoEvento

fin; {Actualizar estadísticas}

(* ------------------------------------------------------*)

Función Expon;
{genera variables distribuidas exponencialmente. Se le pasa como
parámetro la Media de la exponencial, de acuerdo a lo declarado }

Comiezo {Expon}

1. Genere una variable U(0,1)


U:= Rand(1);
Expon:= - Media * ln(U)

fin {Expon}

52
Otro ejemplo: Simulación de un
Sistema de Inventario(1)

• A una compañía que vende un solo producto le gustaría saber


cuantos artículos debe de tener en el inventario para cada uno de
los siguientes n meses.
• Los tiempos entre demandas son V.A. exponenciales
independientes idénticamente distribuidas (IID) con una media
de 0.1 por mes.
• El tamaño de las demandas, D, son también V.A. IID con la
siguiente distribución de probabilidad:

1, con probab ilidad 1/6


 2, con probab ilidad 1/3

D
 3, con probab ilidad 1/3

 4, con
Al comienzo decada probab
mes la ilidad
compañía revisa 1/6
su nivel de
inventario y decide cuantos artículos debe de ordenar de su
proveedor.
• Si la compañía ordena Z artículos, incurre en un costo de K+iZ,
donde K=3200 Bs es el costo fijo de ordenar e i=300 Bs es el
costo incrememtal por cada artículo pedido.

53
Simulación de un
Sistema de Inventario(2)

• Cuando se efectua un pedido, la compañía usa una


política estacionaria (s,S) para decidir cuanto ordenar:

S  I , Si I  s
Z 
 0, Si I  s
I es el nivel de inventario al comienzo de cada mes
• La demanda se satisface inmediamentamente si el nivel
de inventario lo permite. Si la demanda excede el nivel
de inventario, lo que resta queda pendiente y se satisface
en el futuro.
• Sea I(t) el nivel de inventario en el tiempo t,
I+ (t) = max{I(t),0}, el número de artículos fisicamente
en el inventario en el tiempo t
I- (t) = max{-I(t),0}, el número de artículos pendientes en
el tiempo t
I(t)
I+(t)
S
I-(t)

pedido llegada 54
pedido pedido
Simulación de un
Sistema de Inventario(3)

• El costo de mantenimeinto del inventario es h= 100 Bs por


artículo por mes. El promedio temporal de artículos por
mes en el inventario duarnte los n meses es :

I 

0
I  (t )dt
n
Así que el costo promedio de manentimiento del inventario
es h*I+
• El costo por pedidos pendientes es de =500 por artículo
pendiente por mes. El promedio temporal de artículos
pendientes por mes durante los n meses es:

I 
 0
I  (t )dt
n
Así que el costo promedio mensual por artículos pendientes
es I-

55
Simulación de un
Sistema de Inventario(4)

• Asumiendo que el inventario inicial es I(0)=60 y que no hay


ordenes pendientes se desea simular el sistema por 120 meses y
usar el costo promedio total por mes para comparar las siguientes
políticas de inventario:

s 20 20 20 20 40 40 40 60 60
S 40 60 80 100 60 80 100 80 100
• Las variables de estado en este caso son el nivel de nventario, la
cantidad pedida y el tiempo desde el último evento
• Los eventos son:
– Llegada de una orden del proveedor (1)
– Demanda del producto por el cliente (2)
– Final de la simulación después de n meses (3)
– Evaluación del inventario (y la posibilidad de hacer un
pedido) a comienzo de cada mes (4)
• Se requieren 3 distribuciones de probabilidad para la simulación:
– Los tiempos entre demandas son exponenciales y se simulan
de la misma manera que en el modelo de cola

56
Simulación de un
Sistema de Inventario(5)

– Para el tamaño de la demanda se ajusta una distribución de probabilidad empírica de


la siguiente manera:

 1, si u  [0,1/6)

 2, si u  [1/6,1/2)
1
D  F (u )  
3, si u  [1/2, 5/6)

 4, si u  [5/6,1 ]

1.00
0.80
0.60
F(D)

0.40
0.20
0.00
1 2 3 4
D

57
Simulación de un
Sistema de Inventario(6)
– El retardo en la entrega de pedidos es uniforme entre 0.5 y 1 mes:
• Se genera un numero U, U(0,1)
• El valor requerido es 0.5 + U x (1-0.5)

• El flujograma del evento llegada de un pedido es como sigue:

Llegada
pedido

Incremente el
nivel de inventario

Elimine este evento


de consideración

Retorne
58
Simulación de un
Sistema de Inventario(7)
• El flujograma de la rutina de demanda:

Evento
demanda

Genere el tamaño
de la demanda

Decremente el nivel
de inventario por
este tamaño

Programe el
siguiente evento
demanda

Retorne
59
Simulación de un
Sistema de Inventario(8)
• El flujograma de la rutina de evaluación del inventario

Evento
Evaluación
Inventario

si no
¿I(t)<s?

Determine cantidad
a pedir [S-I(t)]

Calcule costos de
pedido y
estadísticas

Programe el
evento de llegada
de pedido
Programe el
siguiente evento
de evaluación

60
Retorne
Simulación de un
Sistema de Inventario(9)
• El flujograma de la rutina de actualización de los contadores estadísticos para promedios temporales

Actualización
acumuladores

- ¿Fue I(t) durante +


el intervalo anterior
+,- ó 0?

0
Actualice área I (t) -
Actualice área I+(t)

Retorne

61
Simulación de un
Sistema de Inventario(10)
Algoritmo Progra ma Princi pa l

1. L e a pa rá me tros de e ntra da
2. Pa ra I de sde 1 hast a e l número de pol ít ica s re pita
2. 1. L ea la pol íti ca de inventa ri o (s, S)
2. 2. Asi gne val ore s inic ia le s a la simulac ión
2. 3 Re pit a
2. 3. 1 De t ermine e l ti empo de oc urre nc ia y e l ti po
del sigui ente e vento (Avanc e Reloj)
2. 3. 2. L la me la rut ina de a ct ua l iz ar prome dios
te mpora le s
2. 3. 3. E n c aso de que e l ti po de eve nt o sea :
1: L la me rut ina de e ve nto ll egada de pe di do
2: L la me rut ina de e ve nto de ma nda
3: L la me rut ina de re porte
4: L la me rut ina de e ve nto eva luac ión
hasta que t ipo de e ve nto se a 3
fi n 2
fi n

62

También podría gustarte