Solución del caso Práctico 2
Caso Practico 2 Representación gráfica del Sistema Proveedor
Tema: Simulación de Sistemas de Inventarios.
El banco de sangre de cierto hospital funciona como sigue: siempre que la posición de inventario LT~EXPO(12) horas
de la sangre disminuye debajo de PTOREP, se hacen pedidos de CPED unidades hasta que la Demanda
POSINV >= PTOREP. Banco de Sangre Donante
El tiempo de espera para esos pedidos está distribuido exponencialmente con una media de 12
TELL~ EXPO(60) TLLD ~EXPO(32)
horas.
El número de personas que necesitan sangre tiene una distribución de Poisson con una media de CDEM ~ DISC(1/9,1,2/9,2,3/9,3,4/9,4,5/9,5,6/9,6,7/9,7,8/9,8,1,9) Proveedor Urgentes
ocho personas al día.
El número de unidades de sangre requeridas por persona sigue una distribución uniforme LTUrg~EXPO(30)
discreta con un mínimo de 1 unidad y un máximo de 9 unidades de sangre.
Representación en tabla del Sistema
Si una persona necesita sangre que no es posible darle del banco, se puede enviar un pedido de Actividades
Entidades Atributos
urgencia, que llega con un tiempo distribuido exponencialmente con una media 30 minutos. Banco de sangre - Satisfacer la demanda.
- Stock
Además de las unidades recibidas por procedimientos de pedido normales y de urgencia, el - Incrementar Urgentes
- Pedidos Pendientes
hospital recibe sangre por medio de donaciones. Cada donante contribuye con una unidad. - Pedidos Urgentes - Emitir Pedidos Urgentes
El número de donantes de sangre al día tiene una distribución de Poisson con una media de 15 - Revisar Posición de Inventarios.
donantes al día. - Hacer pedidos por Unidades de sangre.
El sistema de inventario tiene que funcionar de tal modo que la probabilidad de que se tengan - Recepcionar pedidos de unidades de sangre.
que hacerse 10 o más pedidos de urgencia al año es de menos de 0.05. - Recepcionar pedidos urgentes.
- Recepcionar donaciones.
- Satisfacer la demanda Pendiente
Diseñe el simulador del sistema de inventarios antes descrito, que nos permita calcular los
Demanda - Patrón de demanda - Demandar unidades de sangre.
valores del punto de repedido (PTOREP) y el tamaño de pedido (CPED), suponer que se trabaja - Satisfacer pedidos del banco por unidades de sangre.
Proveedor - Tiempo de espera (LT)
8 horas al día. Donante - TELL Donante - Donar 1 unidad de sangre.
- Unidad a donar
Proveedor Urgentes - Tiempo Espera URG(LT Urg) - Atender Pedidos Urgentes
Solución del caso Práctico 2 Solución del caso Práctico 2
Análisis del sistema
Eventos
Diagramas relacionales de eventos
1 Arribo de la demanda 1 Arribo de la demanda
2 Satisfacer la demanda
3 Incrementar Urgentes 2
4 Emitir Pedidos Urgentes 1 5 6 7
5 Revisar Posición de Inventarios
6 Hacer pedidos por Unidades de Sangre 3
Eventos
7 Recepcionar pedidos de Unidades de Sangre. 1 Arribo de la demanda
2 Satisfacer la demanda
8 Recepcionar pedidos urgentes de Unidades de Sangre. 1 3 Incrementar Urgentes
4 8 4 Emitir Pedidos Urgentes
9 Recepcionar donaciones 5 Revisar Posición de Inventarios
6 Hacer pedidos por Unidades de sangre
10 Satisfacer Pedidos Urgentes 7 Recepcionar pedidos de unidades de sangre.
Si POSINV < PTOREP 8 Recepcionar pedidos urgentes de unidades de sangre.
Eventos principales 9 Recepcionar donaciones
10 Satisfacer Pedidos Urgentes
1 Arribo de la demanda 7 Recepción de unidades de sangre
7 Recepción de pedidos de unidades de sangre
8 Recepción de pedidos urgentes de unidades de sangre 7 10
9 Recepcionar donaciones
Si solo si existe Pedidos Urgentes
Solución del caso Práctico 2
Solución del caso Práctico 2
PROGRAMA PRINCIPAL Inicio
Diagramas relacionales de eventos
Inicializar el Simulador
8 Recepcionar pedidos urgentes de unidades de sangre.
Hallar el siguiente:
Evento(J) a ejecutar
8 10
Evento (J)
J=1,2,3 J=4
Eventos Recepción(i) Demanda
Si solo si existe Urgentes 1 Arribo de la demanda
2 Satisfacer la demanda
3 Incrementar Urgentes NO
4 Emitir Pedidos Urgentes Fin de Corrida
5 Revisar Posición de Inventarios
6 Hacer pedidos por Unidades de sangre SI
7 Recepcionar pedidos de unidades de sangre. J = TE (tipo de evento)
8 Recepcionar pedidos urgentes de unidades de sangre. Reinicializar Simulador
Donde:
9 Recepcionar donaciones
9 Recepcionar donaciones 10 Satisfacer Pedidos Urgentes NO
1. Recepción Unidades de Sangre Fin de Simulación
2. Recepción Unidades de Sangre Urgentes
9 10 J=
3. Recepción de Donaciones
SI
4. Demanda por unidades de Sangre Cálculos finales
RM = TPREV (tiempo del próximo evento) Reporte Final
9 Si solo si existe Pedidos Urgentes
Fin
Solución del caso Práctico 2 Solución del caso Práctico 2
Demanda
Diagrama de flujo del evento:
Inicialización Reinicialización Demanda del Unidades de Sangre
Generar la cantidad
Inicializar Simulador Reinicializar Simulador demandada: CDEM
SI NO
Stock > CDEM
PtoRep, CPED, Inicializar:
N= # DE REPLICACIONES, TMS - Variables Stock = Stock – CDEM Urgentes = CDEM -Stock
- Arreglos
PosInv = PosInv – CDEM PosInv = PosInv – Stock
Inicializar:
- Variables Programar Recepción Urgentes
- Arreglos Programar la primera Demanda
Stock = 0
- Estadísticos
CONTURG = CONTURG +1
NC = NC + 1
Programar la primera Demanda Programar siguiente Demanda
Return SI
PosInv > PtoRep
CONTURG = 0 NO
NumPedidos = 0
PedPen = PedPen + CPED
Return
Return PosInv = PosInv + CPED
Programar recepción de CPED
Solución del caso Práctico 2 Solución del caso Práctico 2
Diagrama de flujo del evento: Recepción del Producto Diagrama de flujo del evento: Recepción de Urgentes
RECEPCIÓN UNIDADES
RECEPCIÓN URGENTES
PEDPEN = PEDPEN-CPED PEDURG = PEDURG-CURG
NO POSINV= POSINV + CURG
URGENTES > 0
SI
SI NO
URGENTES > 0
STOCK+CPED >=URGENTES
NO SI
STOCK = STOCK+CPED -URGENTES STOCK = STOCK + CPED SI
STOCK+CURG >=URGENTES
URGENTES = URGENTES – (CPED+STOCK)
URGENTES =0 STOCK = STOCK+CURG -URGENTES NO STOCK = STOCK + CURG
URGENTES = URGENTES – CURG- STOCK
URGENTES =0
Return
Return
Solución del caso Práctico 2
Diagrama de flujo del evento: Recepción de Donaciones
RECEPCIÓN DONACIONES
PROGRAMAR SIGUIENTE ARRIBO DONANTE
POSINV= POSINV + 1
NO
URGENTES > 0
SI
SI
STOCK + 1 >=URGENTES
NO STOCK = STOCK + 1
STOCK = STOCK+1 -URGENTES
URGENTES = URGENTES - 1
URGENTES =0
Return