You are on page 1of 22

# 1.

## 3 Modelo a eventos discretos

Un ejemplo de L & K

## Considere un sistema tipo M/M/1.

Asuma que los tiempos de llegada y servicio
para los primeros clientes son conocidos:

0.4

1.2

0.5

1.7

0.2

1.6

0.2

1.4

1.9

0.4

1.6

2.1

3.8

5.6

5.8

7.2

9.1

Tpo. de servicio

0.7

0.2

1.1

3.7

0.6

Tiempo = 0

A1-0.4

0
# en la
cola

Status del
servidor

RELOJ

LISTA de EVENTOS

Cola
Suma de

Tpo. de
ltimo
evento

esperas

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

rea
bajo Q(t)

rea
bajo B(t)

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0

10

12

10

## Status del Servidor (B(t))

12

Time = .4
1-0.4

Scheduled
Arrivals

A-2 1.6
0

Num in
Queue

Server
Status

0.4

D-1- 2.4

CLOCK

EVENTS

Total
Delay

Area
Under
Q(t)

Area
Under
B(t)

Queue

Time of
Last Event

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0

Queue Size

10

12

Server Status

10

12

Time = 1.6
1-0.4

Scheduled
Arrivals

A-3 2.1
1

3
Num in
Queue

2-1.6

Server
Status

0.4

1.6

D-1 2.4

CLOCK

EVENTS

1.2

Total
Delay

Area
Under
Q(t)

Area
Under
B(t)

Queue

Time of
Last Event

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0

Queue Size

10

12

Server Status

10

12

Time = 2.1
1-0.4

Scheduled
Arrivals

D-1 2.4

Num in
Queue

Server
Status

2-1.6

2.1

A-4- 3.8

3-2.1

EVENTS
CLOCK

1.6

.5

1.7

Total
Delay

Area
Under
Q(t)

Area
Under
B(t)

Queue

Time of
Last Event

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0

Queue Size

10

12

Server Status

10

12

Time = 2.4
2-1.6

Scheduled
Arrivals

D-2 3.1

Num in
Queue

3-2.1

2.4

Server
Status

A-4 3.8
EVENTS

CLOCK

2.1

0.8

1.1

2.0

Total
Delay

Area
Under
Q(t)

Area
Under
B(t)

Queue

Time of
Last Event

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0

Queue Size

10

12

Server Status

10

12

Time = 3.1
Scheduled
Arrivals

3-2.1
D-3 3.3

Num in
Queue

Server
Status

2.4

3.1

A-43.8

CLOCK

EVENTS

1.8

1.8

2.7

Total
Delay

Area
Under
Q(t)

Area
Under
B(t)

Queue

Time of
Last Event

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0

Queue Size

10

12

Server Status

10

12

Time = 3.3
Scheduled
Arrivals

A-4 3.8

Num in
Queue

Server
Status

3.3
EVENTS

CLOCK

3.1

1.8

1.8

2.9

Total
Delay

Area
Under
Q(t)

Area
Under
B(t)

Queue

Time of
Last Event

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

Queue Size

10

12

Server Status

10

12

Time = 3.8
4-3.8

Scheduled
Arrivals

A-5 4.0

Num in
Queue

Server
Status

3.3

3.8

D-4 4.9

CLOCK

EVENTS

1.8

1.8

2.9

Total
Delay

Area
Under
Q(t)

Area
Under
B(t)

Queue

Time of
Last Event

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0

5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0

Queue Size

10

12

Server Status

10

12

Medidas de Desempeo
Considere que en el ejemplo anterior se est interesado en las
siguientes medidas de desempeo, despus que n clientes han
1.
2.
3.

## Demora promedio en la cola Wq(n).

Longutid medio de la cola Lq(n).
Tasa media de utilizacin del servidor - .

## Nota: Si bien estas medidas son estocsticas, en cada corrida de

una simulacin se calcula un valor exacto (ya que es posible saber
exactamente lo que pas). Sin embargo, una corrida de
simulacin es un experimento
aleatorio, as, la simulacin provee

## slo de un estimador (ej. Wq ) del verdadero valor de la variable

aleatoria.

10

Medidas de Desempeo:
Demora promedio en la cola:

Wq

0.45
# Clientes
4
Longitud media de la cola:

Lq

0.47
Tiempo simulacin
3.8
Tasa media de utilizacin del servidor

11

0.71
Tiempo simulacin
3.8

## Diagrama de Flujo de un Programa de Simulacin a

Eventos Discretos
INICIO
Inicializar:
Reloj =0
LISTA_DE_EVENTOS

Encontrar PROXIMO_EVENTO
Avanzar reloj a TIEMPO_ PROXIMO_EVENTO

## EVENTO TIPO 1: Actualizar ESTADO DEL SISTEMA

Generar EVENTOS FUTUROS y
agregarlos a LISTA_DE_EVENTOS

Generar Reportes
FIN

...
FIN ?

## EVENTO TIPO N: Actualizar ESTADO DEL SISTEMA

Generar EVENTOS FUTUROS y
agregarlos a LISTA_DE_EVENTOS

no

## Modelo a eventos discretos

En una simulacin a eventos discretos se
requiere definir:
Eventos
Medidas de desempeo (informes)

13

## Modelo a eventos discretos

La ruta asociada a un evento tiene las siguientes
instrucciones:
- Actualizar reloj al tiempo de ocurrencia del evento.
- Generar momento de un evento futuro.
- Programar el evento futuro (agregar tipo de evento y
momento en la Lista de Eventos).
Las dos primeras son obligatorias, las dems
dependen del tipo de evento.

14

## Ejemplo de programa de simulacin a

eventos discretos (seudo lenguaje)
Considere una lnea de produccin con dos procesos en lnea. Las piezas a
una distribucin aproximadamente uniforme entre 3 y 6 minutos. El primer
proceso tarda exactamente 4 minutos, pero en el segundo el 70% de las
piezas demoran 2 minutos y el 30% restante demoran 6 minutos en ser

## El objetivo del estudio es determinar:

Cunto tiempo pasan en promedio las piezas en la lnea.
Cul es la cantidad promedio de piezas esperando por el primer proceso.
Cul es la cantidad promedio de piezas esperando por el segundo proceso.

## Ejemplo de programa de simulacin a

eventos discretos (seudo lenguaje)
Supuestos
Antes de construir el modelo se deben hacer ciertos supuestos y
simplificaciones de la naturaleza del sistema. La validez de los resultados
obtenidos estar supeditada a la validez de dichos supuestos.
La lnea funciona sin interrupciones.
Existe espacio de almacenamiento intermedio suficiente antes de cada

## Las piezas no requieren reprocesamiento.

Las tasas de llegada y de servicio son constantes e independientes.
Las piezas se transportan de manera instantnea.

## Ejemplo de programa de simulacin a

eventos discretos (seudo lenguaje)
Qi(Li,Vi) : cola uno. Contiene un vector (Vi) con el momento de llegada de
cada pieza que espera por el proceso i (i=1,2), y la cantidad de ellas (Li).
Si: estatus del servidor i (i=1,2). Toma el valor 1 si el servidor i est
ocupado y 0 en caso contrario.
Eventos
A: llegada de una pieza a la lnea.
Ti: trmino del proceso en la pieza que se encontraba en el servidor i
(i=1,2).
Ni: nmero total de piezas que han empezado su proceso i (i=1,2).
WTi: tiempo total que han esperado las piezas en la cola i (i=1,2).

## Evento Tipo A (seudo lenguaje)

Si S1 = 1
Actualizar Q1: (L1=L1+1; Incorporar el valor de Reloj al final de V1)
Sino

S1 1
Programar _evento (T1, Reloj + 4)
N1 N1 + 1
Programar_evento (A, Reloj + 3*Random + 3)
Fin Evento

Si L1 = 0
S1 0
Sino

## Espera Reloj Primer_Valor_en_V1

Actualizar Q1: (L1=L1-1; borrar primera entrada de V1)
N1 N1 + 1
WT1 WT1 + Espera
Programar_evento (T1, Reloj + 4)

## Evento Tipo T1 (continuacin)

Si S2 = 1
Actualizar Q2: (L2 =L2 +1; Incorporar el valor de Reloj al final de V2)
Sino
S2 1
Generar_duracin_de_servicio_2 (serv2)
Programar _evento (T2, Reloj + serv2)
N2 N2 + 1
Fin Evento
Funcin Generar_duracin_de_servicio_2 (serv2)

## Si (Random < 0.7)

serv2 2
Sino
serv2 6

Medidas de Desempeo:
Tiempo medio de las piezas en el sistema:

donde

Wqi

WT i
Ni

WT i
Lqi
Tiempo simulacin

21