Cátedra: Rocca
Fecha: Primera Oportunidad - Segundo Cuatrimestre 2005
Día: 30/11/2005
Construir un modelo utilizando el lenguaje GPSS que simule lo que sucede en un supermercado de acuerdo a la siguiente descripción:
A partir de las 8 horas, hora en que abre el supermercado, arriban:
Horario(hs.) | X$MEDIA (seg.) | X$CANT (personas) | Cantidad de cajas habilitadas (X1) |
---|---|---|---|
8-9 | 180 | 7 | 6 |
9-10 | 150 | 9 | 7 |
10-12 | 90 | 13 | 8 |
12-13 | 60 | 15 | 9 |
13-15 | 75 | 8 | 6 |
15-18 | 90 | 12 | 7 |
18-Fin | 120 | 10 | 8 |
Los clientes pertenecen a cuatro tipos según la siguiente tabla:
Tipo | Probabilidad | Tiempo en información | Tiempo en zona de AutoServicio | Cantidad de artículos | Y% |
---|---|---|---|---|---|
1 | 15% | 60±30 seg. | 20±4 minutos | 12 a 24 | 40% |
2 | 40% | 30±15 seg. | 12±4 minutos | 5 a 10 | 25% |
3 | 20% | 90±30 seg. | 25±4 minutos | 15 a 36 | 60% |
4 | 25% | 45±15 seg. | 8±4 minutos | 2 a 10 | 35% |
El Y% pasa por informes (Y es función del tipo de cliente). Allí hay dos personas que atienden en forma indistinta (la cola es única). El tiempo que demoran en informes es función del tipo de cliente (Ver tabla anterior). Todos los clientes pasan por la zona de autoservicio, quedándose allí un tiempo que es función del tipo de cliente. La cantidad de artículos que compran también es función del tipo de cliente, con distribución equiprobable en el rango especificado. (ver tabla anterior).
Los clientes seleccionan al cajero con cola mínima entre los X1 que atienden (ver X1 en la primera tabla). En caja se demoran 4±2 segundos en registrar cada artículo y, en un 30% de los casos, 20±5 segundos en pagar. En el 70% restante de los casos la demora es de 45±10 segundos en pagar con tarjeta (en un 3% de los casos de estos pagos con tarjeta, hay una demora adicional porque el pago es rechazado. Un 85% de estos clientes soluciona el problema demorando 60±20 segundos en hacerlo, pero el 15% restante no puede solucionar el problema y se debe realizar una devolución que obliga a que un supervisor venga a solucionarlo). Hay un único supervisor que, cuando se produce una devolución se dirige a la caja donde se produjo la misma demorando 30±10 segundos en llegar, 40±20 segundos en solucionar el problema. En este momento se fija si existe otro problema y en caso de haberlo se dirige a solucionarlo de la manera ya descripta (demora 30±10 segundos en llegar, 40±20 segundos en solucionar el problema). En caso de haber más de una devolución que atender elige la caja cuyo número es menor.
Todos los clientes que vinieron en micro vuelven a tomarlo y un 35% de los que no vinieron en micro también lo toma, para lo cual demoran 45±15 segundos en llegar a la parada del micro, donde aguardan que un micro los recoja, El resto sale de nuestro sistema en estudio en el momento en que termina de ser atendido en caja.
A las 20 horas se cierra el supermercado (se sigue atendiendo hasta que se va el último cliente).
Simular un día completo de atención al público de este supermercado, o sea hasta que se retira el último cliente del supermercado (aunque queden clientes en la parada esperando el micro y/o viajando en él.
Tabular:
¿Se conformaría con que la mayoría de los casos que usted simula concuerdan con los datos reales? (los resultados obtenidos en la simulación en la mayoría de los casos concuerdan con los obtenidos en el sistema real).
Describa como haría, utilizando el lenguaje GPSS para, en un subsistema de compras, averiguar el precio de una impresora cuya velocidad sea máxima, suponiendo que las impresoras pertenecen al grupo IMPRE, que el precio está en el parámetro PRECIO y que la velocidad está en el parámetro VELOCIDAD.
; Segundo parcial Simulación (75.26) de la fecha 30 de Noviembre del 2005. POISSON FUNCTION RN4,C24 0.0,0.0/0.1,0.104/0.2,0.222/0.3,0.355/0.4,0.509/0.5,0.69 0.6,0.915/0.7,1.2/0.75,1.38/0.8,1.6/0.84,1.83/0.88,2.12 0.9,2.3/0.92,2.52/0.94,2.81/0.95,2.99/0.96,3.2/0.97,3.5 0.98,3.9/0.99,4.6/0.995,5.3/0.998,6.2/0.999,7.0/0.9997,8.0 Media FUNCTION AC1,D7 3600,180/7200,150/14400,90/18000,60/25200,75/36000,90/36001,120 Cant FUNCTION AC1,D7 3600,7/7200,9/14400,13/18000,15/25200,8/36000,12/36001,10 3600,6/7200,7/14400,8/18000,9/25200,6/36000,7/36001,8 TiempoInfo FUNCTION P$Tipo,D4 1,60/2,30/3,90/4,45 DesvInfo FUNCTION P$Tipo,D4 1,30/2,15/3,30/4,15 TiempoAutoServ FUNCTION P$Tipo,D4 1,1200/2,720/3,1500/4,480 Articulos FUNCTION P$Tipo,E4 1,V1/2,V2/3,V3/4,V4 AInfo FUNCTION P$Tipo,D4 1,400/2,250/3,600/4,350 APie FUNCTION P$Vino,D2 1,650/2,0 Cant VARIABLE (FN$Cant-5)+RN6@11 Tipo VARIABLE RN5,D4 .15,1/.55,2/.75,3/1,4 DesvInfo VARIABLE FN$DesvInfo 1 VARIABLE 12+RN11@13 2 VARIABLE 5+RN12@6 3 VARIABLE 15+RN13@22 4 VARIABLE 2+RN14@9 AutoServicio STORAGE 999999; Infinito Info STORAGE 2 EnSuper TABLE M3,600,60,20 1 TABLE M1,1800,90,20 2 TABLE M1,1800,90,20 3 TABLE M1,1800,90,20 4 TABLE M1,1800,90,20 Articulos TABLE P$Productos,0,1,37 GenteSup TABLE S$AutoServicio,0,5,40 [Trenes] GENERATE 360,60 ASSIGN Pasajeros,V$Cant ASSIGN Vino,2;Vino=2, el cliente vino en tren. SPLIT P$Cajero,ParadaEst TERMINATE [Micros] GENERATE 1200,,90,2 NuevoMicro SAVEVALUE 2+,1 ASSIGN Interno,X2 MARK 2 ;SPLIT 1,EsperaEst SEIZE ParadaEstSub OtroSubeEst ALTER ParadaEst,Colectivo,P$Interno,Colectivo,0,NoHayEst UNLINK ParadaEst,Sube,1,Colectivo,P$Interno,0 ADVANCE 4,1 TRANSFER ,OtroSubeEst NoHayEst TEST L M2,300,AlSuper ADVANCE 1 ;CODIGO PARA CHEQUEAR 5 MINUTOS. TRANSFER ,OtroSubeEst AlSuper RELEASE ParaEstSub ADVANCE 900,120 OtroBAjaSup UNLINK P$Colectivo,EntraSup,1,,,NoBajanSup ADVANCE 4,1 TRANSFER ,OtroBajaSup NoBajanSup ADVANCE 25,15 SEIZE ParadaSupSub OtroSubSup ALTER ParadaSupSub,Colectivo,P$Interno,Colectivo,0,NoHaySup UNLINK ParadaSupSub,SubeSup,1,Colectivo,P$Interno ADVANCE 4,1 TRANSFER ,OtroSubSup NoHaySup TEST L M2,300,ALaEst ADVANCE 1 TRANSFER ,OtroSubSup ALaEst RELEASE ParadaSupSub ADVANCE 960,120 OtroBajaEst UNLINK P$Colectivo,EntrarEst,1,,,NoBajanEst ADVANCE 4,1 TRANSFER ,OtroBajaEst NoBajanEst ADVANCE 25,15 TRANSFER ,OtroSubEst [OtroMicro] GENERATE 1200,3000,2 TRANSFER NuevoMicro [Clientes] ParadaEst ASSIGN Colectivo,0 JOIN ParadaEst QUEUE ParadaEst LINK ParadaEst,FIFO SubeEst REMOVE ParadaEst DEPART ParadaEst LINK P$Colectivo,FIFO GENERATE FN$Media,FN$Poisson ASSIGN Vino,1; Vino=1, el cliente vino caminando. EntraSup ASSIGN Tipo,V$Tipo TEST G AC1,43200,Fin ENTER AutoServicio TRANSFER FN$AInfo,AutoServicio QUEUE Informes ENTER Informes DEPART Informes ADVANCE FN$TiempoInfo,V$DesvInfo LEAVE Informes AutoServicio ADVANCE FN$TiempoAutoServ,240 ASSIGN Productos,FN$Articulos SELECT MIN Caja,1,FN$Caja,,Q ASSIGN Aux,P$Productos QUEUE P$Caja SEIZE P$Caja DEPART P$Caja OtroProd ADVANCE 4,2 LOOP Aux,OtroProd TRANSFER .30,Efectivo ADVANCE 45,10 TRANSFER .03,OKTarjeta TRANSFER .15,Soluciona LINK Errores,P$Caja Efectivo ADVANCE 20,5 OKTarjeta TRANSFER ,Irse Soluciona ADVANCE 60,20 Irse TABULATE Articulos RELEASE P$Caja LEAVE AutoServicio TABULATE EnSuper TRANSFER FN$APie,,Fin ADVANCE 45,15 QUEUE ParadaSupSub JOIN ParadaSupSub LINK ParadaSupSub SubeSup REMOVE ParadaSupSub DEPART ParadaSupSub LINK P$Colectivo,FIFO EntrarEst TABULATE P$Tipo Fin TERMINATE IrseSinComprar ASSIGN Productos,0 TRANSFER Irse [Supervisor] ; << que error hay en la simulación del supervisor? GENERATE ,,,,1 Ver TEST G CH$Errores,0 ADVANCE 30,10 ADVANCE 40,20 UNLINK ERRORES,IrseSinComprar,1 TRANSFER ,Ver [Control] ; << el control esta mal... por que? GENERATE 120 TABULATE GenteSup TERMINATE
No, debido a que es una indicación de que el modelo difiere del sistema en estudio.
Usando el bloque SCAN.
SCAN MAX IMPRE,VELOCIDAD,,PRECIO,PrecioMasRapida
Donde PrecioMasRapida es un parámetro de la transacción que ejecuta el SCAN.