Sie sind auf Seite 1von 2

Ejemplo 2

Sea una farmacia donde arriban clientes cada 63 minutos. Luego que el cliente ingresa
es atendido por alguno de los dos farmacuticos disponibles con un tiempo de atencin
de 168 minutos. Si ambos estuvieran ocupados los clientes deben sacar un nmero y
esperar su turno. Una vez que el cliente realiza la compra de los medicamentos debe
pasar por caja para abonarlos donde demora 43 minutos.
Simular la llegada de 1000 clientes a la farmacia, obteniendo el tiempo promedio de
atencin de los clientes (considerando los farmacuticos y el cajero). Se utiliza la tcnica
de programacin temporal de eventos.

Eventos incondicionales:
Arribo de un cliente a la farmacia
Fin de atencin de alguno de los farmacuticos
Fin de atencin de la caja

Evento incondicional: arribo de un cliente.


Programar el siguiente arribo
NCLI = NCLI + 1 Archivar tiempo de ingreso a la farmacia (TI = TS)
Si CANT-FARM = 0
Crear registro del cliente
Archivarlo en cola de espera del farmacutico
Colaf = colaf + 1
Sino CANT-FARM = CANT-FARM - 1
Determinar tiempo de servicio del farmacutico
Programar fin de atencin del farmacutico (en base a evaluacin tiempo de
servicio) a tabla de eventos
Finsi
Seleccionar el evento siguiente.

Evento incondicional: fin de atencin del farmacutico


Si colaf > 0
Seleccionar un cliente de la cola de espera del farmacutico
Sacar cliente seleccionado de la cola de espera
Determinar tiempo de servicio del farmacutico
Programar fin de atencin del farmacutico (en base a evaluacin tiempo de servicio) a
tabla de eventos
Colaf = colaf - 1
Sino
CANT-FARM = CANT-FARM + 1
Finsi
Si cajero = ocupado
Archivar en cola de espera del cajero
Colac = colac + 1
Sino
Cajero = ocupado
Determinar tiempo de servicio del cajero
Programar fin de atencin del cajero (en base a evaluacin tiempo de servicio) a tabla
de eventos
Finsi
Seleccionar el evento siguiente.

Evento incondicional: fin de atencin del cajero


NATEN = NATEN + 1 TTATEN = TTATEN + (TS - TI)
Si colac > 0
Seleccionar un cliente de la cola de espera del cajero
Sacar cliente seleccionado de la cola de espera
Determinar tiempo de servicio del cajero
Programar fin de atencin del cajero (en base a evaluacin tiempo de servicio) a tabla
de eventos
Colac = colac - 1
Sino
Cajero = desocupado
Finsi
Seleccionar el evento siguiente.

Programa principal:
Se considera que la variable TS corresponde al tiempo de simulacin.
NCLI = 0 * Nmero de clientes que arribaron
NATEN = 0 * Nmero de clientes atendidos
TTATEN = 0 * Tiempo total de atencin
NATEN = 0 * Nmero de clientes atendidos
Colac = 0 * Cola del cajero
Colaf = 0 * Cola de los farmacuticos
Cajero = desocupado
CANT-FARM = 2

Programar el primer arribo a tabla de eventos

Mientras (NCLI < 1000)


Consultar tabla eventos
Actualizar reloj
Ejecutar el evento
Finmientras
Imprimir tiempo de atencin promedio de clientes (TTATEN / NATEN)

Das könnte Ihnen auch gefallen