Manual del estudiante de Ingeniería en Sistemas de UTN/Simulación/Software de simulación de eventos discretos/Ejercicio 11 GPSS

De Wikilibros, la colección de libros de texto de contenido libre.

Problema 11[editar]

Una empresa fabrica un producto en forma continua. Los materiales se transportan de una estación a otra mediante una cinta transportadora con una velocidad constante (25 cm/min). Los materiales arriban a la máquina M1 en forma exponencial con una media de 2 min. Luego, son procesados en la máquina M1 con un tiempo uniforme de 8±2 minutos, de allí pasan a la máquina M2 donde deben ser procesados durante un tiempo de 9±3 minutos. El producto requiere de la inspección de la estación I, lo cual se realiza con una distribución normal con media 4±1, de esta inspección se descarta el 8.3% del material. La cinta tiene paradas inesperadas o roturas en tiempos distribuidos en forma exponencial con una media de 20 minutos y se repara en un tiempo que depende del tipo de rotura, el cual está distribuido uniformemente en 5±1 minutos. Cuando la cinta se para, se produce la detención de la producción de todos los equipos, la cual se reinicia luego de la finalización de la reparación. Las piezas arriban a M1 con la distribución indicada, pero no pueden acumularse indefinidamente. Problemas de espacio hacen que sólo puedan admitirse hasta 50 piezas en el buffer de entrada; si este buffer se llena no se producen más arribos hasta que la cantidad de material sea menor al 50% del buffer. Finalizado el proceso de inspección, el producto pasa a un buffer de Producto Terminado, el cual tiene un límite de 30 unidades. Cuando este tope es alcanzado se detiene la producción de las estaciones de trabajo (M1,M2,I) hasta que el buffer desciende a la tercera parte. Las piezas del buffer de salida son retiradas por un camión cada 60±5 minutos, de a 10 piezas como máximo. El descarte no ocupa lugar en el buffer de salida. Se quiere modelar el sistema y simularlo con el objeto de conocer:

  • Cantidad de producto elaborado durante un mes, con jornadas de 8 horas de trabajo.
  • Utilización de las máquinas.
  • Número de veces que se detiene la producción a causa de las limitaciones de espacio.
  • Cantidad de productos rechazados.
bufferE          STORAGE 50
bufferS          STORAGE 30
 
                 GENERATE (EXPONENTIAL(1,0,2))
                 TEST E SF$bufferE,0,bloquear
                 TEST E X$detenerArribos,1,entrar
                 TEST LE SR$bufferE,500,detenidos
                                                   ;si estaban detenidos pero bajo al 50%
                 SAVEVALUE detenerArribos,0

entrar           ENTER bufferE
                 SEIZE Maq1
                 LEAVE bufferE
                 ADVANCE 8,2
                 TEST E X$prodDetenida,0
                                                   ;hasta que la producción no esté detenida
                 SEIZE cinta
                 RELEASE Maq1
                 RELEASE cinta

                 ADVANCE (EXPONENTIAL(2,0,0.5))
                                                   ;tiempo de transito por la cinta
aMaq2            SEIZE Maq2
                 ADVANCE 9,3
                 TEST E X$prodDetenida,0
                 SEIZE cinta
                 RELEASE Maq2
                 RELEASE cinta
                 ADVANCE (EXPONENTIAL(2,0,0.5))
                                                   ;tiempo de transito por la cinta
                 SEIZE inspector
                 ADVANCE 4,1
                 TEST E X$prodDetenida,0
                 RELEASE inspector
                 TRANSFER 0.083,termina,descartar
termina          TEST E SF$bufferS,0,bloquearProd
                 SAVEVALUE prodDetenida,0

aSalida          ENTER bufferS
                 TEST G X$camion,0
                 LEAVE bufferS
                 SAVEVALUE camion-,1
                                                   ;tomamos un token -espacio en el camion
                 TERMINATE
 
                 GENERATE 60,5
                 SAVEVALUE camion,S$bufferS
                                                   ;nos llevamos lo que haya
                 TEST E X$prodDetenida,1,partir
                 TEST LE SR$bufferS,300,partir
                               ;si estaba detenido pero bajo al 30%
                 SAVEVALUE prodDetenida,1
partir           TERMINATE

bloquear         SAVEVALUE detenerArribos,1
                 TERMINATE

descartar        TERMINATE
detenidos        TERMINATE

bloquearProd     SAVEVALUE prodDetenida,1
                 TRANSFER ,aSalida
 
                 GENERATE EXPONENTIAL(4,0,20)
                 PREEMPT Maq1,PR,entrar,,RE
                 PREEMPT Maq2,PR,aMaq2,,RE
                 ADVANCE 5,1
                 RETURN Maq1
                 RETURN Maq2
                 TERMINATE

                 GENERATE 480
                                                   ;si al final del día se vaciaran las máquinas
                                                   ;y la cinta, debería hacerse aquí
                 TERMINATE

                 GENERATE 14400
                 TERMINATE 1