====== Examen Parcial - 75.26. Simulación - 30/11/2005 ====== **Cátedra:** Rocca \\ **Fecha:** Primera Oportunidad - Segundo Cuatrimestre 2005\\ **Día:** 30/11/2005 ===== Enunciado ===== ==== Punto I ==== 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: * Una persona cada X$MEDIA segundos, distribución Poisson (X\$MEDIA es función del horario - ver tabla-, función POISSON al final de la hoja). * Personas que llegan en tren a una estación ubicada en las proximidades del supermercado. Llega un tren cada 360±60 segundos, trayendo X$CANT±5 personas por viaje. Los pasajeros bajan todos juntos demorando 45±15 segundos en llegar a una parada de micros de la propia empresa. Hay cuatro micros, los cuales aparecen a las 8:15, 8:35, 8:50 y 9:10 horas. Solamente un micro por vez recoge pasajeros en la parda (si un micro está recogiendo pasajeros y llega otro micro, este último espera a que el anterior termine para empezar a recoger). Demora 4±1 segundo en hacer subir a un pasajero (sube un por vez) y parte cuando no hay más pasajeros esperando y hace por lo menos cinco minutos que está recogiendo pasajeros en la parada. Demora 15±2 minutos en llegar al supermercado. Allí hace bajar a los pasajeros, de a uno por vez, demorando cada pasajero 4±1 segundo en bajar. Una vez que bajaron todos, se dirige a la parada donde ascienden los pasajeros demorando 25±15 segundos en llegar allí. Sólo un micro por vez recoge pasajeros, comportándose de la misma manera que en la estación (demora 4±1 segundo en hacer subir a un pasajero, sube un por vez y parte cuando no hay más pasajeros y hace por lo menos cinco minutos que recoge pasajeros). Demora 16±2 minutos en llegar a la estación del ferrocarril. Allí hace bajar a los pasajeros, de a uno por vez, demorando cada pasajero 4±1 segundo en bajar. Una vez que bajaron todos, se dirige a la parda donde ascienden los pasajeros demorando 25±15 segundos en llegar allí, donde repite el ciclo aquí descripto indefinidamente. ^ 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: * El tiempo que cada cliente estuvo en el supermercado. * El tiempo que cada cliente, que vuelve en tren estuvo en el sistema, o sea, desde que arribó al sistema hasta que bajó del micro en la estación. Una tabla por cada tipo de cliente (o sea en cuatro tablas distintas). * La cantidad de artículos que llevó cada cliente. * Cada dos minutos la cantidad de gente que hay en el supermercado. ==== Punto II ==== ¿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). ==== Punto III ==== 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. ===== Resolución ===== ==== Punto I ==== ; 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 ==== Punto II ==== No, debido a que es una indicación de que el modelo difiere del sistema en estudio. ==== Punto III ==== Usando el bloque SCAN. SCAN MAX IMPRE,VELOCIDAD,,PRECIO,PrecioMasRapida Donde PrecioMasRapida es un parámetro de la transacción que ejecuta el SCAN. ===== Discusión ===== Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.