Beruflich Dokumente
Kultur Dokumente
Solucin:
80%
Llegan 52 Audiologa Exmenes 31 20% Procedimientos 21
Prxima Fase
50% 50%
Eventos. 1. Llegada. 2. Salida a Prxima Fase 3. Salida a Procedimiento 4. Salida de Procedimiento. 5. Llegada de Procedimiento. Inicializacin. While Simulacin no termine. Avanzar tiempo(Event,Clock) Case i: 1. Llegada. 2. Salida a Prxima Fase 3. Salida a Procedimiento 4. Salida de Procedimiento. 5. Llegada de Procedimiento. End Case. End While
Pgina 1
Generacin de Reportes. Avanzar Tiempo. #Buscar Lista de Eventos Futuro Prximo Evento. BuscarProximoEvento(Event,Clock) Case Event: 1. Llegada. 2. Salida a Prxima Fase 3. Salida a Procedimiento 4. Llegada a Procedimiento 5. Salida de Procedimiento. 6. Llegada de Procedimiento ( Es llegada) EndCase. End Avanzar Tiempo Llegada. IF LS1(t) = 1 THEN LQ1 = LQ1 +1 ELSE LS1(t) = 1 Salida de Audio EndIf Genere Nueva Tiempo entre Llegada a* Programa nueva llegada en t +a* Coleccionar Estadisticas. End llegada Salida a Prxima Fase. IF LQ1(t) > 1 THEN LQ1(t) = LQ(t) - 1 Salida de audio ELSE LST(t) = 1 Endif PASAN = PASAN + 1 End Salida a Prxima Fase. Salida de audio. Genere Tiempos de Servicios S* Programe nueva partida en t + S* IF Random > 0,2 THEN Programe Salida a Prxima Fase PASAN = PASAN + 1 ELSE Genere Tiempo de Servicio S* Programe Salida a Procedimiento en t + s* EndIf End Salida de Audio Simulacin (CC-A82), ICI, UCN Pgina 2
Salida a Procedimiento IF LQ1(t) > 1 THEN LQ1(t) = LQ(t) - 1 Salida de audio. ELSE LST(t) = 1 Endif PASAN = PASAN + 1 Programe Llegada a Procedimiento. End Salida a Procedimiento. Llegada a Procedimiento IF LS2(t) = 1 THEN LQ2 = LQ2 +1 ELSE LS2(t) = 1 Genere Tiempo de Servicio S2* Programe Salida de procedimiento en t + S2* EndIf Coleccionar Estadisticas. End llegada Salida de procedimiento IF LQ2(t) > 1 THEN LQ2(t) = LQ(t) - 1 Genere Tiempos de Servicios S2* Programe nueva partida de Procedimiento en t + S2* ELSE LST(t) = 0 Endif If Random > 0,5 THEN Programe Llegada de Procedimiento ELSE PASAN 0 PASAN +1 End if End Salida de procedimiento. Programe Llegada de Procedimiento IF LS1(t) = 1 THEN LQ1 = LQ1 +1 ELSE LS1(t) = 1 Genere Tiempo de Servicio S* Programe Nueva Partida en t + s* EndIf Coleccionar Estadisticas. End Llegada de Procedimiento Simulacin (CC-A82), ICI, UCN Pgina 3
Solucin:
Pgina 4
Pgina 5
LS(t)= S+1
LS(t)=S ?
Incrementar LQ(t)en 1
LS(t)=S? Generar tiempo entre llegadas tf, programar prxima llegada en t+tf
Recolectar Estadsticas Devolver el control a la rutina de avance de tiempo para continuar la simulacin
LS(t)=S-1
LQ(t) >0?
Reducir LQ(t) en 1
Generar tiempo de servicio Tr programar nuevo evento de salida en t+Tr Recolectar Estadsticas
Parmetros Tf= tiempo de falla para reparar la mquina Tr=tiempo de reparacin de la mquina M=numero de mquinas S=personas reparadores
Pgina 6
Eventos. Inicio. # Ahora es un evento. Inicializa sistema. Programa fallas iniciales. # F = maquinas falladas, R = Personas disponibles, i = maquina i F = 0; R = S; i = 0; Primero_cola = 0; Ultimo _ cola = 0; Clock = 0; Fin inicio. Falla(i). # Procesa llegada de nueva falla de maquina i. F = F + 1; falladas (l) = F; Hora_que_fallo (l); l = l +1 # verifica si hay maquinas disponibles. If R >= 0 then Programa_Fel (Comienza Reparacin, i) Else if i=0 Then Primero_cola = maxcola; Ultimo _ cola = maxcola Cola (Ultimo_cola) = i Endif Cola (Ultimo_cola) = i Fin Si. Fin _ falla Comienza_reparacin (i). R = R - 1; Personas _ ocupadas (k) = S - R; Hora_que_se_ocupo (k); k = k +1 Genera (TiempoReparacin); Clock = Clock + TiempoReparacin Programa_Fel (Fin_Reparacin, i) Fin_Comienza_Reparacin. Fin _ reparacin (i). F = F - 1; falladas (l) = F; Hora_que_fallo (l); l = l +1 R = R + 1; Personas _ ocupadas (k) = S - R; Hora_que_se_ocupo (k); k = k +1 # si hay alguien en cola lo atiende If F >=S Then Sacar _ cola (Primero_cola); i = cola (primero) Programa_Fel (Comienza_reparacin,i) EndIf Genera (Tiempo _ falla) Programa_Fel (Falla, i) ; Clock = Clock + TiempoReparacin Programa_Fel (Fin_Reparacin, i) Fin_ Fin _ reparacin (i).
Pgina 7
Estructura Fel Inicial. Eventos Inicio Falla Comienza_Reparacin Fin _ reparacin Estadsticas. #falladas (l) Hora_que_fallo (l); # Calcular falladas(l 1)( Hora_que_fallo (l) - Hora_que_fallo (l - 1)/ Hora_que_fallo (Ultima) _ Hora_que_fallo (1)) Personas _ ocupadas (k); Hora_que_se_ocupo (k) # Calcular ocupadas( k 1)( Hora_que_se_ocupo (k) - Hora_que_se_ocupo (k)/ Hora_que_se_ocupo (ultima) _ Hora_que_se_ocupo (1)) Simula. Inicio. While Sim no termina. Begin Sacar Evento Fel (Evento, Clock, i) If Evento = falla Then Falla (i) Else If evento = Comienza_Reparacin (i) Then Comienza_Reparacin (i) Else If Evento = Fin _ reparacin (i) Then Fin _ reparacin EndIf EndIf EndIf EndWhile Estadsticas. End_Simula. Maquina i o Tiempo o o
Pgina 8
Solucin:
Cajero 1, 6 5 min. Cuentas Generales 67% Cajero 2, 6 5 min.
3 1min
33%
Definicin de Eventos 1.- Llegada a cuenta general 2.- Llegada a cuenta negocios 3.- Salida de cuenta general 1 4.- Salida de cuenta general 2 5.- Salida de cuenta negocios 1 6.- Salida de cuenta negocios 2
Programa Principal WHILE end <= 500 Avance_tiempo IF (imevt = 1) THEN Llegada_general ELSE IF (imevt = 2) THEN Llegada_negocios ELSE IF (imevt = 3) THEN Salida_general_1 ELSE IF (imevt = 4) THEN Salida_general_2 ELSE Simulacin (CC-A82), ICI, UCN Pgina 9
IF (imevt = 5) THEN Salida_negocios_1 ELSE Salida_negocios_2 END IF END IF END IF END IF END IF WEND Reporte Inicializar LS1=0 LS2=0 LS3=0 LS4=0 LQ1=0 LQ2=0 FEL(1)=999999999 FEL(2)=999999999 FEL(3)=999999999 FEL(4)=999999999 FEL(5)=999999999 FEL(6)=999999999 Avance_tiempo fmin = 999999999 IF (FEL(i) <= fmin) THEN Fmin = FEL(i) Imevt = I Clock = FEL(i) Llegada_general IF LS1=1 THEN IF (LS2 = 1) THEN LQ=LQ + 1 ELSE LS2=1 FEL(4) = clock + (1 + (11-1)*RND) END IF R=RND IF (R <= 0,33) THEN FEL(2) = clock + (2+(4-2)*RND ELSE FEL(1) = clock + (2+(4-2)*RND END IF ELSE LS1=1 FEL(3) = clock + (1+(11-1)*RND) R=RND IF (R <= 0,33) THEN Simulacin (CC-A82), ICI, UCN Pgina 10
FEL(2) = clock + (2+(4-2)*RND) FEL(1) = 999999999 ELSE FEL(1) = clock + (2+(4-2)*RND) FEL(2) = 999999999 END IF END IF Salida_general_1 IF (LQ > 0) THEN LQ = LQ 1 FEL(3) = clock + (1+(11-1)*RND ELSE LS1= 0 FEL(3) = 999999999 END IF Salida_general_2 IF (LQ > 0) THEN LQ = LQ 1 FEL(4) = clock + (1+(11-1)*RND ELSE LS2= 0 FEL(4) = 999999999 END IF Llegada_negocios IF LS3=1 THEN IF (LS4 = 1) THEN LQ=LQ + 1 I= LQ + LS4 chkout(I) = clock b = b + clock tle tle = clock ELSE chkout(I) = clock tle = clock LS2=1 FEL(6) = clock + (5 + (25-5)*RND) END IF Proxima_llegada ELSE LS3=1 FEL(5) = clock + (5+(25-5)*RND) R=RND Proxima_llegada chkout(1) = clock tle = clock END IF
Pgina 11
Salida_negocios_1 b = b + (clock tle) tle = clock rt = clock chkout(1) s = s + rt nd = nd+1 IF (LQ > 0 ) THEN FOR I=1 TO LQ Ii = I+1 Chkout(I) = chkout(Ii) NEXT LQ = LQ-1 S*= 5 + (25-5)*RND FEL(5)= clock + (5 + (25-5)*RND) ELSE LS3 = 0 FEL(5)= 999999999 END IF Salida_negocios_2 b = b + (clock tle) tle = clock rt = clock chkout(1) s = s + rt nd = nd+1 IF (LQ > 0 ) THEN FOR I=1 TO LQ Ii = I+1 Chkout(I) = chkout(Ii) NEXT LQ = LQ-1 S*= 5 + (25-5)*RND FEL(6)= clock + (5 + (25-5)*RND) ELSE LS34= 0 FEL(6)= 999999999 END IF
Pgina 12
Par de Ataque i
3 X ...
GAS
... Y 3
GAS 1) 2) 3) 4) Determine: a) Variables de Estado, b) Eventos, c) Entidades, d) Actividades, e) Delays Programe los eventos de llegada Programe los eventos de salida Programe el procedimiento de prximo evento o evento inminente (use una F.E.L. desordenada) 5) Programe los eventos en la F.E.L. 6) Programe el algoritmo principal (Programa Principal)
Pgina 13
Solucin:
1) Definiciones: a) Variables de Estado WX(t): Nmero de tanques cargando municiones en el centro de carga X WY(t): Nmero de tanques cargando municiones en el centro de carga Y LX(t): Nmero de Tanques en cola en el centro de carga X LY(t): Nmero de Tanques en cola en el centro de carga Y W(t): Nmero de Tanques en el centro de disparo W(t): Nmero de Tanques en el centro de disparo b) Eventos ATi: Llegada del Tanque i a los centros de carga (a X primero) MTiX_: Movimiento del Tanque i del centro de carga X al centro de disparo MTiY_: Movimiento del Tanque i del centro de carga Y al centro de disparo FTi: Disparo del Tanque i en el centro de disparo FTi: Disparo del Tanque i en el centro de disparo c) Entidades Los tanques Ti d) Actividades Carga de municiones e) Delays Disparos 2) Eventos de llegada: a) Llegadas a carguo de municiones
Evento (ATi, t) ocurre en CLOCK=t L(t)=n de tanques en cola, en tiempo t W(t)= n de tanques en servidor, en tiempo t
LX(t) = LX(t)+1
Si
Si LY(t)=2?
No WY(t)=1? No WY(t)=1
Si
LY(t) = LY(t)+1
1.- Generar tiempo de servicio sx* 2.- Programar nuevo evento de salida (MTiX_, tx) en [tx=t+sx*]
Si
1.- Generar tiempo de servicio sy* 2.- Programar nuevo evento de salida (MTiY_ , ty) en [ty=t+sy*]
TF(t) = TF(t)+1 1.- Generar tiempo entre llegadas ax* 2.- Programar prximo evento de llegada (ATi, tll) en tll=t+ax* 1.- Generar tiempo entre llegadas ay* 2.- Programar prximo evento de llegada (ATi, tll) en tll=t+ay*
Recolectar estadsticas
Recolectar estadsticas
Pgina 14
Si W (t)=1? No Reprogramar nuevo evento de salida en (MTiX_, to) No LX(t)>0? Si LX(t) = LX(t) -1 WX(t)=0 Reprogramar nuevo evento de salida en (MTiY_ , to)
1.- Generar tiempo de servicio smx* 2.- Programar nuevo evento de salida (MTiX_, tmx) en [tmx=t+smx*] 1.- Generar tiempo de viaje de X a vx* 2.- Programar evento de disparo (FTi, pdx) en pdx=t+vx* W (pdx)=1
1.- Generar tiempo de servicio smy* 2.- Programar nuevo evento de salida (MTiY_ , tmy) en [tmy=t+smy*] 1.- Generar tiempo de viaje de Y a vy* 2.- Programar evento de disparo (FTi, pdy) en pdy=t+vy* W(pdy)=1
Recolectar estadsticas Devolver el control a la rutina de avance de tiempo para continuar la simulacin
Recolectar estadsticas Devolver el control a la rutina de avance de tiempo para continuar la simulacin
No Si Municiones rnd()2=0,3? No 1.- Generar tiempo entre disparos fia* 2.- Programar prximo evento de disparo (FTi, tf) en tf=t+fia*+f* to=t+f* W (to)=0 1.- Generar tiempo de viaje tva* a centro de carga 2.- Programar prximo evento de llegada (ATi, tva) en tva=t+tva*
Recolectar estadsticas
Pgina 15
:
Evento (FTi, t) ocurre en CLOCK=t
No Si Municiones rnd()2=0,3? No 1.- Generar tiempo entre disparos fib* 2.- Programar prximo evento de disparo (FTi, tf) en tf=t+fib*+f* to=t+f* W(to)=0 1.- Generar tiempo de viaje tvb* a centro de carga 2.- Programar prximo evento de llegada (ATi, tvb) en tvb=t+tvb*
Recolectar estadsticas
Pgina 16
Cajas de herramientas
Correa transportador a
Solucin:
Eventos. Inicio. # Ahora es un evento. Inicializa sistema. Programa fallas iniciales. # F = Tornos fallados, R = Cajas de Herramientas disponibles, i = Torno i F = 0; R = M; i = 0; Primero_cola = 0; Ultimo _ cola = 0; Clock = 0; Fin inicio. Falla(i). # Procesa llegada de nueva falla de maquina i. F = F + 1; falladas (l) = F; Hora_que_fallo (l) = Clock; l = l +1 # verifica si hay Cajas de Herramientas disponibles. If R >= 0 then Programa_Fel (Comienza Reparacin, I, Clock +Ti) Else if i=0 Then Primero_cola = maxcola; Ultimo _ cola = maxcola Cola (Ultimo_cola) = i Endif Cola (Ultimo_cola) = i Fin Si. Fin _ falla Comienza_reparacin (i). R = R - 1; Cajas _ ocupadas (k) = M - R; Hora_que_se_ocupo (k) = Clock; k = k +1 Genera (TiempoReparacin); Clock = Clock + TiempoReparacin Programa_Fel (Fin_Reparacin, i) Fin_Comienza_Reparacin. Fin _ reparacin (i). F = F - 1; falladas (l) = F; Hora_que_fallo (l) = Clock; l = l +1 R = R + 1; Cajas _ ocupadas (k) = M - R; Hora_que_se_ocupo (k) = Clock; k = k +1 # si hay alguien en cola lo atiende Simulacin (CC-A82), ICI, UCN Pgina 17
If F >=M Then Sacar _ cola (Primero_cola); i = cola (primero) Programa_Fel (Comienza_reparacin,i, Clock +Ti) EndIf Genera (Tiempo _ falla) Programa_Fel (Falla, i) ; Clock = Clock + TiempoReparacin Programa_Fel (Fin_Reparacin, i) Fin_ Fin _ reparacin (i). Estructura Fel Inicial. Eventos Inicio Falla Comienza_Reparacin Fin _ reparacin Estadsticas. #falladas (l) Hora_que_fallo (l); falladas(l 1)( Hora_que_fallo (l) - Hora_que_fallo (l - 1)/ # Calcular Torno i o Tiempo o o
Hora_que_fallo (Ultima) _ Hora_que_fallo (1)) Cajas _ ocupadas (k); Hora_que_se_ocupo (k) # Calcular ocupadas(k 1)( Hora_que_se_ocupo (k) - Hora_que_se_ocupo (k)/
Hora_que_se_ocupo (ultima) _ Hora_que_se_ocupo (1)) Simula. Inicio. While Sim no termina. Begin Sacar Evento Fel (Evento, Clock, i) If Evento = falla Then Falla (i) Else If evento = Comienza_Reparacin (i) Then Comienza_Reparacin (i) Else If Evento = Fin _ reparacin (i) Then Fin _ reparacin (i) EndIf EndIf EndIf EndWhile Estadsticas. End_Simula. Simulacin (CC-A82), ICI, UCN Pgina 18
Solucin:
1. Determine los eventos y las variables de estado necesarias a) Lq(t): Nmero de cigarrillos en la cajetilla Ls(t): estado del servidor pulmones: 1 = fumando, 0 = no fuma Wc(t): estado de cajetillas de cigarros: 1 = tiene una cajetilla, 0 = no tiene b) Llegada (compra) de una cajetilla al sistema (humano) y de los 20 cigarrillos Salida de un cigarrillo del sistema (bota un cigarrillo) c) Entidades: Cigarrillos y Cajetillas
Le toma 1 minuto ir al segundo piso, 2 minutos descargar, y un minuto retornar al primer piso. El ascensor no deja el primer piso, salvo que se encuentre lleno. Se pide determinar: 1. Trnsito promedio para A (desde que llega hasta que se descarga). 2. Tiempo de espera medio para caja Tipo B. Para ello: a) Establezca variables. b) Disear e Implementar un modelo de simulacin manual. c) Simular manualmente 30 minutos de operacin del sistema. Puede generar distribuciones en EXCEL pero el proceso es manual. d) Disear el modelo de simulacin que pueda ser implementado en EXCEL. Explicar el modelo de simulacin.
Pgina 19
Pgina 20
El mesn de pedidos le entrega los pedidos a cada preparador (sin preferencia), los cules se pueden asumir con cola infinita. Desde un preparador de masa a un preparador de ingredientes no puede existir cola, y el sistema no permite que se pase una masa a un preparador de ingredientes contrario (e.g. masa 1 a ingredientes 2). Desde cada preparador de ingredientes existe la posibilidad de enviar la pizza al horno, el cual tiene una capacidad para 2 pizzas. En este punto, tampoco puede existir cola. Trabajan 4 preparadores en la pizzera, y el horno se asume que es autnomo y operado automticamente. Cada vez que una pizza no puede pasar al siguiente paso, esa parte del sistema se bloquea. A la salida del horno, se entrega la pizza en el mesn de entregas, el cual tiene una cola infinita. Entregue los diagramas de flujo asociados a la lgica de funcionamiento de la pizzera, indicando los eventos principales, entidades, recursos, etc.
Pgina 21
redistribuidor ocurrir, para esta configuracin, en uno de cada 4 camiones. Es importante mencionar que esta configuracin tiene espacio de espera grande para cada maquinaria.
Configuracin 1 Entrada 6 [C/hr]
La segunda configuracin estara compuesta por un cargador de bolsas de cemento simple (300.000 USD) capaz de cargar a una velocidad de 5 camiones por hora, y tendra adems un sistema de redistribuidores bscula en paralelo (400.000 USD cada uno) capaces de redistribuir y pesar al mismo tiempo, a una velocidad de 4 camiones por hora (para cada uno). Debido a que estos redistribuidores tienen incorporada una bscula, no es necesario que el camin recircule en el sistema, porque al pasar por esta parte, su carga ser nivelada completamente. El problema de esta configuracin radica en que, por problemas de layout de la planta, los redistribuidores-bscula debern quedar prximos a al cargador, lo que hace que no exista lnea de espera entre el cargador y cada redistribuidor bscula, generando todos los problemas que este tipo de sistemas sin espacio para espera generan.
Configuracin 2
Para ambas configuraciones, los datos de las medias de carga, pesaje, etc., son datos promedio entregados por la empresa encargada de vender la maquinaria. Usted supondr que los tiempos de espera tienen una distribucin exponencial al momento de generar los nmeros aleatorios (utilice el mtodo de la transformada inversa). Tambin, se sabe que en promedio durante los ltimos 5 aos han llegado 2 camiones por hora al sistema. Como las maquinarias son nuevas y de tecnologa reciente, una falla se dara en no menos de un ao. Debido a que esta decisin es una decisin que se realizar una sola vez durante mucho tiempo, la empresa no desea invertir en la compra de un simulador de eventos discretos, ni tampoco en capacitacin de su personal en dicho simulador. Es por eso que le han pedido a usted que simule ambas configuraciones en forma manual, sin usar simuladores existentes en el mercado, para un da que considera 8 horas de trabajo. Adems, este estudio debe realizarse en tiempo record, debido a que en 31 horas ms se cumple la fecha lmite en que la empresa que vende la maquinaria mantendr la oferta de venta de ambas configuraciones. Simulacin (CC-A82), ICI, UCN Pgina 22
Para realizar esto completamente, usted deber hacer las siguientes actividades: a) Determine Entidades, Recursos, Atributos, Actividades, Delays, Eventos, Estados del Sistema, Listas. b) Determine los diagramas de flujo asociados a cada evento. c) Simule manualmente las 2 configuraciones. d) Entregue en un informe escrito los resultados obtenidos (tiempos generados, nmero de camiones en el sistema, porcentaje de ahorro de una configuracin con respecto a la otra, etc) e identifique la mejor solucin (adjunte la FEL y todo lo calculado en el p unto c.). NOTA: deber averiguar los datos de rendimiento de petrleo para camiones por hora, costo del petrleo, etc. e) Exponga formalmente sus resultados y discuta por qu usted tiene la razn y por qu su estudio es la solucin correcta. Entregue como base lo pedido, cualquier estudio adicional ser bien valorado en su nota.
Pgina 23
rea I
Q1a S1a
B
Salida1j(i,t)
Salida2a(A,t)
rea III
A A
Salida3b(A,t)
A A
rea II
Q2a
A S3b
Q3a S2a
A
A, B, C
Q1b S1b
B
Q2b
A, B, C S1c
B B Q5a
No
Salida4a(B,t) S5a
C C
Q2c Q1c
C C C
A, B, C
C C
C S5b
Q5b
C C C C C
Llegada(i,t)
Salida2c(C,t)
rea V
Salida5j(C,t)
El rea II posee lneas de espera muy grandes y un servidor para cada tipo de entidad, que enva a las entidades a cada rea de especializacin (III, IV V). El rea III atiende solamente entidades tipo A y tiene 2 servidores en serie que tienen una capacidad limitada de espera de 2 entidades cada una. El rea IV atiende solamente entidades tipo B y tiene un sistema de 2 servidores en paralelo, pero no permite que exista lnea de espera. El rea V atiende solamente entidades tipo C y tiene 2 servidores en paralelo con lneas de espera individuales que tienen una capacidad limitada de espera de 5 entidades cada una. Independiente del rea de donde salgan las entidades (rea III, IV V), eventualmente volvern a ingresar al sistema despus de un tiempo. El nmero de entidades en el sistema es fijo y no cambia durante la simulacin, adems cualquier servidor de las reas III, IV V puede presentar Fallas, que no deben interrumpir el servicio. Formule los diagramas de flujo asociados a los eventos necesarios para resolver esta simulacin.
Pgina 24
Solucin:
Salida de rea I a rea II
Salida1j(i,t)
i=i
Si i=A? Si S2a(t)=1? No S2a(t)=1 Q2a(t)=Q2a(t)+1 S2b(t)=1? No S2b(t)=1 Q2b(t)=Q2b(t)+1 S2c(t)=1? No S2c(t)=1 Q2c(t)=Q2c(t)+1 No i=B? No
Si
Si
Si
Si Q1j(t)>0? No S1j(t)=0 for p=1..Q1j(t) colaj(p)=colaj(p+1) colaj(p+1)= Nivelar Lneas y Servidores(j) Generar Tiempo Servicio = s* Programar Salida1j(k,t+s*) Q1j(t)=Q1j(t)-1 k=colaj(1)
j = a, b, c
Pgina 25
Q3a(t)<2?
S3a(t)=1? Si
S3a(t)=1
No
Q3a(t)=Q3a(t)+1
No S2a(t)=0
Pgina 26
Q3b(t)<2?
S3b(t)=1? Si
S3b(t)=1
No
Q3b(t)=Q3b(t)+1
S3a(t)=0
S3a(t)=0
Pgina 27
Programar IniFalla3b(A,t)
F3b(t)=1?
Q3b(t)>0?
Si
Q3b(t)=Q3b(t)-1
S3b(t)=0
No
S3b(t)=0 No
Pgina 28
Salida2b(B,t)
Si No
B2b(t)=1
Q2b(t)>0?
Q2b(t)= Q2b(t)-1
No S2b(t)=0
Pgina 29
S4a(t)=S4a(t)-1
Si
Programar IniFalla4a(B,t)
No
Pgina 30
Q5a(t)<5?
Q5a(t)<Q5b(t)?
S5a(t)=1? Si Q5a(t)=Q5a(t)+1
S5a(t)=1
No
No
Q5b(t)<5?
Si
S5b(t)=1?
No
S5b(t)=1
B2c(t)=1
Q2c(t)=Q2c(t)-1
Si
Q2c(t)>0?
Pgina 31
Salida de rea V
Salida5j(C,t)
Programar IniFalla5j(C,t)
Si
No S5j(t)=0
S5j(t)=0
No
j = a, b
Pgina 32
Llegada(i,t)
i=i
Si S1a(t)=1? No S2a(t)=1 S2b(t)=1? No S2b(t)=1 Si S2c(t)=1? No S2c(t)=1 BuscarMenorCola(i,t) Si
No
Programar Salida2a(i,t+s*)
Programar Salida2c(i,t+s*)
Pgina 33
BuscarMenorCola(i,t)
i=i menor=1000000
Si
Si
Si
Pgina 34
No q=a? Si q=b? Si
No
S1a(t)=0? No Q1a(t)=Q1a(t)+1
S1b(t)=0? No Q1b(t)=Q1b(t)+1
S1c(t)=0? No Q1c(t)=Q1c(t)+1
Programar Llegada(A,t)
Programar Llegada(B,t)
Programar Llegada(C,t)
Pgina 35
S3a(t)=1? Si F3a(t)=1
S3a(t)=1
TermFalla3a(A,t)
Si
Q3a(t)>0? No S3a(t)=0
Si B2a(t)=1? No
F3a(t)=0
Generar Tiempo Entre Fallas = p* Programar IniFalla3a(A,t+p*) Recolectar Estadsticas Devolver el control a la rutina de avance de tiempo
Pgina 36
S3b(t)=1? Si F3b(t)=1
S3b(t)=1
TermFalla3b(A,t)
Q3b(t)>0?
Si
Q3b(t)=Q3b(t)-1
B3a(t)=1? No
F3b(t)=0
Generar Tiempo Entre Fallas= p* Programar IniFalla3b(A,t+p*) Recolectar Estadsticas Devolver el control a la rutina de avance de tiempo
Pgina 37
S4a(t)>0? Si F4a(t)=1
S4a(t)=2
TermFalla4a(B,t)
S4a(t)=0 F4a(t)=0
B2b(t)=1? No
Si
Pgina 38
S5j(t)=1? Si F5j(t)=1
TermFalla5j(C,t)
F5j(t)=0 Si
Q5j(t)>0? No S5j(t)=0
Q5j(t)=Q5j(t)-1
Generar Tiempo Servicio = s* Programar Salida5j(C,t+s*) Si B2c(t)=1? No Generar Tiempo Entre Fallas = p* Programar IniFalla5j(A,t+p*)
Pgina 39
Debido a restricciones de espacio no puede existir cola en los centros de pago. Las tasas de atencin son como se aprecia en la figura, adems se sabe que llegan 5 clientes por minuto. El ingeniero a cargo de simular el sistema fue promovido, por lo que le ha contratado a usted para terminar la simulacin de dicho sistema. Para esto cuenta con la siguiente informacin: Aviso de Eventos: (Ll,t,Ci,): llegada del Cliente i en el tiempo t al centro de atencin. (MCP,t,Ci): movimiento del cliente i Al centro de pago. (S,t,Ci): salida del Cliente i del centro de pago. Estados del Sistema: WM(t): Estado del centro de atencin (0: desocupado; 1: ocupado; b:bloqueado) WP(t): Estado del centro de pago (0: desocupado; 1: ocupado 1; 2: 2 ocupados) QC(t): Longitud de la cola en Atencin de clientes (ilimitada). Listas: Nmero de Clientes en el sistema. Tiempo de atencin a clientes bloqueada. Los nmeros aleatorios que debe utilizar ya fueron generados segn una distribucin de probabilidad especfica y son los siguientes: 1 0 4 1 2 2 6 1 3 18 4 5 4 3 4 5 5 1 3 11 6 3 4 1 7 14 1 3 8 4 2 6 9 5 7 1 10 3 7 6 11 1 3 6 12 1 7 1
Tiempo entre llegadas Tiempo servicio atencin clientes Tiempo servicio centros de pago Pbb de recircular
0,07 0,33 0,36 0,30 0,52 0,50 0,95 0,01 0,14 0,49 0,56 0,09 13 13 1 1 14 16 1 2 15 7 1 2 16 8 2 2 17 6 3 3 18 4 1 11 19 2 3 2 20 4 5 4 21 7 4 1 22 16 5 4 23 8 3 5
Tiempo entre llegadas Tiempo servicio atencin clientes Tiempo servicio centros de pago Pbb de recircular
0,97 0,48 0,78 0,17 0,02 0,80 0,23 1,00 0,28 0,08 0,76 Pgina 40
La tabla de simulacin obtenida hasta el momento es la siguiente: Estado Sistema Reloj WM(t) WP(t) 0 2 4 1 1 1 0 0 1 QC(t) 0 1 0 F.E.L. (LL;2;2) (MPC;4;1) (MPC;4;1) (LL;20;3) (S;5;1) (MPC;10;2) (LL;20;3) (LL;5;1) (MPC;10;2) (LL;20;3) (LL;8;4) (MPC;10;2) (LL;20;3) (LL;9;5) (MPC;10;2) (LL;20;3) (MPC;10;2) (LL;12;6) (LL;20;3) Comentarios Sc= 4 a*= 2 a*= 18 Sp= 1 Sc= 6 N Clientes en sistema 1 2 2 Tiempo bloqueado 0 0 0
a*= 3
a*= 1
a*= 3
Complete la simulacin hasta 25 minutos (E; 25) y entregue las estadsticas de nmero de clientes en el sistema y tiempo total de servidor bloqueado. Nota: Los aleatorios utilizados se encuentran en Negrita.
Pgina 41
Solucin:
Pgina 42
Pgina 43
0,2 puntos
0,1 puntos N de clientes Comentarios actuales es sistema Sp= 1 4 Sc=4 N Clientes Tiempo en maximos bloquedo sistema 4 0
Reloj WM(t) WP(t) QC(t) FEL 10 1 1 2 (S;11;2) (LL;12;6) (MCP;14;1) (LL;20;3) (LL;12;6) (MCP;14;1) (LL;20;3) (MCP;14;1) (LL;20;3) (LL;26;7) (MCP;18;4) (S;19;1) (LL;20;3) (LL;26;7)
11
R=0.33
12
a*=14
14
Sp=5 Sc=4
Pgina 44
18
19
20
21
23
24
25
25
(S;19;1) (LL;20;3) (MCP;21;5) (S;23;4) (LL;26;7) (LL;20;3) (MCP;21;5) (S;23;4) (LL;26;7) (MCP;21;5) (S;23;4) (LL;24;8) (LL;26;7) (S;23;4) (LL;24;8) (MCP;25;6) (LL;26;7) (S;32;5) (LL;24;8) (MCP;25;6) (LL;26;7) (S;32;5) (MCP;25;6) (LL;26;7) (LL;29;9) (S;32;5) (LL;26;7) (MCP;26;3) (S;26;6) (LL;29;9) (S;32;5) (E;25)
Sp=5 Sc=3
R=0.36
a*=4
Sp=11 Sc=4
R=0.3
a*=5
Sp=1 Sc=1
Pgina 45
Todas las mquinas estn sujetas a fallas aleatorias A cada 400 300 minutos, B cada 200 150 minutos y C casi nunca as que su tiempo de falla es ignorado. Cuando la mquina A falla la pieza es enviada de inmediato a la mquina b y se procesa all apenas se pueda, pero el procesamiento parte de nuevo y toma 100 20 minutos. Se procesa antes de cualquier mquina que est esperando, pero despus que termina de procesarse la que se procesa actualmente. Cuando B falla se reasume el procesamiento despus que se reactiva el funcionamiento de B. Indique: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Variables de Estados. 0,2 Eventos. 0,2 Diagramas de eventos. 1 Disee la estructura de la FEL. 0,2 Programe lgica de Prximo evento de la Fel. 0,2 Programe lgica de Programar eventos en la Fel. 0,2 Programe lgica del programa principal. 0,3 Programe Llegadas a C. 1 Defina la Inicializacin de la Fel 0,2 Calcular el porcentaje de tiempo que est ocupada A, B. 0, Debe programar al menos un evento de llegadas de A o B para ilustrar clculos de estadsticas Debe programar al menos un evento de salida de A o B. Debe explicar claramente cmo resolver el problema. 0,9 11. Calcular el porcentaje de tiempo que c atiende llegadas de A y el porcentaje que atiende llegadas de B. Debe explicar claramente cmo resolver el problema 0,9 Debe programar al menos un evento de llegadas de A o B para ilustrar clculos de estadsticas 12. Como cambiara la lgica de procesamiento. Si las llegadas de A tuvieran prioridad sobre B al ser procesadas en C 0,7
Solucin:
1.- Variables de Estado: LSA LSB INTA INTB LQA LQB LQC Simulacin (CC-A82), ICI, UCN Pgina 46
2.- Eventos. Llegada A Llegada B Llegada B de A Salida A Salida B Llegada C Salida de C Inicio Interrupcin de A Trmino Interrupcin de A Inicio Interrupcin de B Trmino Interrupcin de B 3.- Diagramas de eventos. Inic. Int A
LSA=0 y Int=0
Ter. Int A
Llegada A
LSA=0 y IntA=0
Salida de A
LQA=0
Lleg. BdeA
Llegada A
Salida C
Llegada B
LSB=0 y IntB=0
Salida B
LQC=0 LQB=0
Inic. Int B
Ter. Int B
5.- Programe lgica de Prximo evento de la FEL Prximo evento (Evento, tiempo) Min = 9999999 For I = 1 to 11 If Tie(I,2) < Min Then Min = Tie (I,2) II = I Enf If End For I Evento = Tie(1, II) Tiempo = Min Tie (II, 2)= 9999999 Simulacin (CC-A82), ICI, UCN Pgina 47
End Prximo Evento 6.- Programar Evento (Evento, Tiempo) Case Evento Llegada A Then Tie (2, 1) = Tiempo Llegada B Then Tie (2, 2) = Tiempo Llegada B de A Then Tie (2, 3) = Tiempo Salida A Then Tie (2, 4) = Tiempo Salida B Then Tie (2, 5) = Tiempo Llegada C Then Tie (2, 6) = Tiempo Salida C Then Tie (2, 7) = Tiempo Inicio Interrupcin de A Then Tie (2, 8) = Tiempo termino Interrupcin de A Then Tie (2, 9) = Tiempo Inicio Interrupcin de B Then Tie (2, 10) = Tiempo Termino Interrupcin de B Then Tie (2, 11) = Tiempo Fin Case Evento 7.- Lgica del Programa Principal Inicializar. While Notermine Simulacin. Prximo Evento(Evento, Tiempo) Case Evento Llegada A Llegada B Llegada B de A Salida A Salida B Llegada C Salida C Inicio Interrupcin A termino Interrupcin A Inicio Interrupcin B Termino Interrupcin B Fin Case Evento
Then Llegada _A(Tiempo) Then Llegada_B (Tiempo) Then Llegada B de A (Tiempo) Then Salida_A (Tiempo) Then Salida B (Tiempo Then Llegada C (Tiempo) Then Llegada C (Tiempo) Then Inicio Interrupcin de A (Tiempo) Then Termino Interrupcin de A (Tiempo) Then Inicio Interrupcin B (Tiempo) Then Termino Interrupcin B (Tiempo)
Llegada A Se debe programar el menos este evento para ilustrar calculos de estadisticas de estadsticas Llegada A(Tiempo) Clock = Tiempo If LSA = 0 y INTA = 0 Then LSA = 1 Genere Tiempo Servicio a* SumSevicioA = SumServicioA + a* Programe Fel (Salida A, Clock + a*) Else If LSA = 0 y INTA = 1 Then Programe Fel (Llegada B de A, Clock) Else Simulacin (CC-A82), ICI, UCN Pgina 48
LQA = LQA + 1. Endif Genere tiempo entre Llegada a* Programe Fel (Llegada A, Clock+ a*) Fin Llegada. Salida de A Salida de A ( Tiempo, AOB) *AOB indica origen de salida Clock = Tiempo If LQA > 0 Then LQA = LQA 1 Genere Tiempo de Servicio a* Programe Salida A ( Clock + a*, A) Else LSA = 0 End If Programe Llegada C (Clock , A) Fin Salida A 8.- Llegada C Llegada C(Tiempo, AOB)) * Las salidas de A o B deben definir el valor de AOB Clock = Tiempo If LSC = 1 Then LQC = LQC + 1 Else LSC = 1 Genere Tiempo Servicio a* If AOB = A Then SumSevicioCA = SumServicioA + a* Else SumSevicioCB = SumServicioB + a* Endif Programe Fel (Salida C, Clock + a*) EndIf Fin Llegada. 9- Estructura e Inicializacin de FEL
Eventos Llegada A Llegada B Llegada B de A Salida A Salida B Llegada C Salida de C Inicio Interrupcin de A Trmino Interrupcin de A Inicio Interrupcin de B Trmino Interrupcin de B Tiempo 2 4 9999999 9999999 9999999 9999999 9999999 9999999 9999999 9999999 9999999
10 y 11.Basta con guardar los tiempos de servicios de cada servidor y dividir por el tiempo total de simulacin Estadsticas. %Ocupacin A = SumSevicioA/ CLOCK %Ocupacin B= SumSevicioB/ CLOCK Simulacin (CC-A82), ICI, UCN Pgina 49
%Ocupacin C en B = SumSevicioCB/CLOCK %Ocupacin C en A = SumSevicioCA/CLOCK Fin Estadisticas. 12.- Pregunta prioridades caso a caso Interrupciones NO Inicio Interrupcin A ( Tiempo) Clock = Tiempo INTA = 1. Programe Fel (Llegada B de A, Clock ) Genere Tiempo Reparacin a* Programe Fel (Termino Interrupcin de A, Clock ) Fin Inicio Interrupcin de A Termino Interrupcin A (Tiempo) Clock = Tiempo INTA = 0. Genere Tiempo interrupcin a* Programe Fel (Inicio Interrupcin de A, Clock ) Fin Inicio Interrupcin de A
Solucin:
1.- Variables de Estados. SA INTA LQA 2.- Eventos. Run Llegada Inicio de Servicio Termino de Servicio Inicio Interrupcin Termino Interrupcin 3.- Diagramas de eventos. Run Llegada A Inicio Servicio
SA>0 y INTA = 0 Q--y S-77
Termino Servicio
S++
SA=1 Q = 0 10 10 y Q++
84
Inic. Int B
INTA = 1 60 60
Ter. Int B
INTA = 0
PrincipalSimulacin KK = 1 L=1 Call Inicio Call Run(Clock) While KK <= 500 Call Prximo(Evento, Clock) Cells(KK, 12) = Evento Cells(KK, 13) = Clock Select Case Evento Case "Llegada" Call llegada(Clock) Case "ComienzoServicio" Call ComienzoServicio(Clock) Case "FinServicio" Call FinServicio(Clock) Case "Falla" Call Falla(Clock) Simulacin (CC-A82), ICI, UCN Pgina 51
Case "FinReparacion" Call FinReparacion(Clock) End Select KK = KK + 1 Wend Call Estadisticas Call ImprimaFel End Sub Sub llegada(Clock As Single) TentLlegada = 10 + rnd*10 Tiempollegada = Clock + TentLlegada Call ProgrameFel("Llegada", Tiempollegada) TinicioServicio = Clock If S > 0 y INTA = 0 Then Call ProgrameFel("ComienzoServicio", TinicioServicio) Else Q=Q+1 End If End Sub Sub ComienzoServicio(Clock) Dim TfinServicio As Single, TiempodeServicio As Single Q=Q-1 S=S-1 TiempodeServicio = 7 + Rnd*7 SumServicio = SumServicio + TiempodeServicio TfinServicio = Clock + TiempodeServicio Call ProgrameFel("FinServicio", TfinServicio) End Sub Sub FinServicio(Clock As Single) S=S+1 If Q > 0 Then Call ComienzoServicio (Clock) End If End Sub Sub Falla(Clock As Single) F=F+1 Q=Q+S-1 S=0 TReparacion = 8+ Rnd*4 SumReparacin = SumReparacin + TReparacion Call ProgrameFel ("FinReparacion", TReparacion) Call ProgrameFel ("FinServicio", Clock) End Sub Sub FinReparacion(Clock As Single) F=F-1 TFalla = 60 + Rnd*60 Call ProgrameFel("Falla", TFalla) TfinServicio = Clock Simulacin (CC-A82), ICI, UCN Pgina 52
Call ProgrameFel("FinServicio", TfinServicio) If Q > 0 Then Call Cancelar(Evento) End If End Sub Sub Estadsticas Ocioso = Clock - SumServicios + SumReparacin PorcentajeOcupado = 100*( (Clock Ocioso)/ Clock) End Sub
Solucin:
1.- Variables de Estado. SD: Dewey disponible. ST: Truman Disponible QD: Cola Dewey QT: Cola Truman Q: Cola Esperando a Dewey que no pudieron ser atendido (ambos servidores ocupados). 2.- Eventos. Run Llegada A Llegada B Inicio de Servicio Dewey Trmino de Servicio Dewey Inicio de Servicio Truman Trmino de Servicio Truman
Pgina 53
43 SD=1 y ST = 0 y QA = 0 QA>0
Llegada A
Inicio Dewey
SD=1 y ST = 1 y QA = 0 y R<0,5 Q--y S++ Q>0 QA=0
Termino Dewey
SD++
10 3 y Q++ SD=0 y ST =1
Run
SA=1 Q = 0
Llegada B
Inicio Truman
43
Termino Truman
3 2 y Q++
Sub llegada(Clock As Single) TentLlegada = 10 + rnd*3 Tiempollegada = Clock + TentLlegada Call ProgrameFel("Llegada", Tiempollegada TinicioServicio = Clock If SD=1 y ST = 0 y QA = 0 Then Call ProgrameFel("ComienzoServicio Dewey", TinicioServicio) Else If SD=1 y ST = 1 y QA = 0 y R<0,5 Then Call ProgrameFel("ComienzoServicio Dewey", TinicioServicio) Else If SD=0 y ST =1 Then Call ProgrameFel("ComienzoServicio Truman", TinicioServicio) End If QA = QA+ 1 End If End Sub Sub Inicio Servicio Dewey (Clock As Single) Q = Q-1 SD = SD - 1 TerminoServicio = 1+ 7*Rnd Call ProgrameFel ("Termino Servicio Dewey", TerminoServicio) End Sub Simulacin (CC-A82), ICI, UCN Pgina 54
Sub Termino Servicio Dewey (Clock As Single) SD = SD + 1 If QA > 0 Then TInicioServicio = Clock Call ProgrameFel ("ComienzoServicio Dewey", TinicioServicio) Else If Q > 0 y QA = 0 Then TInicioServicio = Clock Call ProgrameFel ("ComienzoServicio Dewey", TinicioServicio) End If End If End Sub
a) b) c)
La definicin de los parmetros. (1 punto) La definicin de las variables de estado. (1 punto) La creacin del grafo evento propiamente tal. (4 puntos)
Solucin:
1.
Parmetros {tA}: tiempo entre llegadas de las piezas. (0,2 pto.) {tM}: tiempo de montaje de la pieza en la mquina. (0,2 pto.) {tD}: tiempo de desmontaje de la pieza en la mquina. (0,2 pto.) {tS}: tiempo de procesamiento de la pieza en la mquina. (0,2 pto.) K: nmero de mquinas en el taller. (0,2 pto.) Variables de Estado Q: nmero de piezas en cola, esperando por ser procesadas (se inicializa en 0). (0,25 pto.) S: estado del operador: 1 si est ocioso, 0 si est ocupado (se inicializa en 1). (0,25 pto.) M: nmero de mquinas disponibles (se inicializa en K). (0,25 pto.) D: nmero de piezas esperando por ser desmontadas (se inicializa en 0). (0,25 pto.)
2.
Pgina 55
3.
Grafo Evento
tA
Run
tA
(S > 0) y (M > 0)
Arribo
{Q++} (Q > 0) y (M > 0) y (D = 0)
tM
{Q = 0, S = 1, M = K, D = 0}
Trmino
Procesamiento
tS
(Q > 0) y (D = 0)
tD
Comienzo
Desmontaje
Trmino (D > 0)
Desmontaje
{S--}
La persona que recibe los pedidos, los enva a la fabricacin de partes, en donde existe una cola infinita que puede esperar por empezar la fabricacin de las mesas. Una vez terminado el proceso, el empleado que trabaja en la fabricacin enva estas partes a armado, en donde solamente pueden existir una cola mxima de dos pedidos esperando, por lo tanto si fabricacin de partes termina un pedido y el empleado de fabricacin ve que no tiene espacio en la cola armado, debe bloquear su fabricacin hasta que el armado termine realizar un trabajo. Por otro lado, cuando armado enva un pedido terminado a pintura, las dos personas que trabajan en pintura pueden realizar un pedido c/u a la vez, y por problemas de espacio, no puede existir cola entre armado y pintura. Esto ltimo provoca que tambin se bloquee
Pgina 56
armado si en pintura se encuentran dos mesas atendindose. Finalmente, pintura enva los pedidos fuera del sistema. Lamentablemente como la mueblera se ubica en una zona rural, cada cierto tiempo, pueden ocurrir apagones, lo que activa un generador que permite terminar el procesamiento de los pedidos que puedan haber en cada etapa. Sin embargo, los pedidos aunque alcancen a terminarse en una etapa, no podrn pasar a la prxima, a excepcin del o los que estn en pintura, los cuales se retiran del sistema. A pesar de la ocurrencia de un apagn, igualmente se seguirn recibiendo pedidos en fabricacin de partes. Se pide modelar el sistema a travs de: 1. La definicin de estado del sistema, entidades, atributos, eventos y aviso de eventos, actividades, delay y listas. (2 puntos) 2. La realizacin de los diagramas de flujo de cada evento definido. (4 puntos)
Solucin:
Pgina 57
Pgina 58
Pgina 59
Pgina 60
Pgina 61
Pgina 62
Existe un remolcador en el puerto. Los barcos de todos los tipos, necesitan el servicio de un remolcador para moverse desde la entrada del puerto hasta el sector de atraque y posteriormente, para salir desde el sector de atraque de vuelta hasta la entrada del puerto. Cuando el remolcador est disponible, cualquier maniobra de atraque o desatraque toma alrededor de 1 hora. Al remolcador le toma 0,25 horas viajar desde la entrada del puerto hasta los sectores de atraque, o viceversa, cuando no est remolcando a un barco. Cuando el remolcador termina una actividad de atraque, desatracar al primer barco en la cola de desatraque, siempre y cuando est cola no est vaca. Si la cola de desatraque est vaca, pero la cola de la entrada del puerto no lo est, el remolcador ir a la entrada del puerto y empezar a realizar las maniobras de atraque para el barco que est en la primera posicin de la cola. (Si las dos colas se encuentran vacas, el remolcador permanecer desocupado en el sector de atraque). Simulacin (CC-A82), ICI, UCN Pgina 63
Cuando el remolcador finaliza una actividad de desatraque, atracar al primer barco de la cola de la entrada del puerto, siempre y cuando esta cola no est vaca y exista un sector de atraque disponible. De otro modo, el remolcador ir a los sectores de atraque y si la cola de desatraque no est vaca, comenzar a desatracar al primer barco en la cola. Si la cola de desatraque se encuentra vaca, el remolcador permanecer desocupado en el sector de atraque. La situacin se complica, debido al hecho de que el rea en donde se encuentra el puerto, experimenta frecuentes tormentas que duran 4 2 [horas]. El tiempo entre en trmino de una tormenta y el comienzo de la siguiente, es una variable aleatoria exponencial con media de 48 [horas]. El remolcador no comenzar ninguna nueva actividad mientras dure la tormenta, pero siempre terminar una actividad en curso (los sectores de atraque operarn durante la tormenta). Si el remolcador est viajando slo desde el sector de atraque hasta la entrada del puerto cuando comienza una tormenta, se devolver al sector de atraque. Asuma que inicialmente no hay barcos, y que el remolcador se encuentra en el sector de atraque. Se pide modelar el sistema a travs de: 1. La definicin de estado del sistema, entidades, atributos, eventos y aviso de eventos, actividades, delay y listas. (2 puntos) 2. La realizacin de los diagramas de flujo de cada evento definido. (4 puntos)
Solucin:
a) Parmetros: k: nmero de trabajadores. {tA} : tiempo entre llegadas de los kits. {tD} : tiempo de desensamble. {tCA} : tiempo de limpieza de la parte A. {tCB} : tiempo de limpieza de la parte B. {tS} : tiempo de ensamble.
Pgina 64
b) Variables de Estado: S : nmero de trabajadores disponibles. QD : cantidad de tems en la cola de desensamblado. QA : cantidad de partes A, esperando a ser ensambladas. QB : cantidad de partes B, esperando a ser ensambladas.
Solucin:
1.
Parmetros {ta}: tiempo entre llegadas de los trabajos de alta prioridad. (1/7 pto.) {tb}: tiempo entre llegadas de los trabajos de baja prioridad. (1/7 pto.) {tE}: tiempo de espera prudente que como mximo un trabajo de baja prioridad debe esperar, antes de que su prioridad sea cambiada a alta. (1/7 pto.) Pgina 65
2.
{tSa}: tiempo de procesamiento de un trabajo de alta prioridad. (1/7 pto.) {tSb}: tiempo de procesamiento de un trabajo de baja prioridad. (1/7 pto.) ma: nmero de mquinas para procesar trabajos de alta prioridad. (1/7 pto.) mb: nmero de mquinas para procesar trabajos de baja prioridad. (1/7 pto.)
Variables de Estado Qa: nmero de trabajos de alta prioridad en espera de atenderse (inicializar en 0). (0,2 pto.) Qb: nmero de trabajos de baja prioridad en espera de atenderse (inicializar en 0). (0,2 pto.) Sa: nmero de mquinas disponibles para procesar trabajos de alta prioridad (se inicializa en ma). (0,2 pto.) Sb: nmero de mquinas disponibles para procesar trabajos de baja prioridad (se inicializa en mb). (0,2 pto.) Nb: nmero de trabajos de baja disponibilidad que han llegado al taller (se inicializa en 0). (0,2 pto.) Grafo Evento
3.
tb
tSb
(Sb > 0) Comienzo Servicio {Sb -- , Qb--} i Cambio Prioridad (j ) {Qb --, Qa++} (Sa > 0) Trmino Servicio {Sb++}
Run
{Qa = 0, Qb = 0, Sa = ma, Sb = mb, Nb = 0}
tb ta
Arribo BP
{Qb++, Nb++}
tE
Nb
(Qb > 0)
tSa ta Arribo AP
{Qa++} (Sa > 0) Comienzo Servicio (Qa > 0) {Sa --, Qa --} Trmino Servicio {Sa++}
Pgina 66
Mar Abierto
Tierra
Tierra
Atraque Tipo A
Atraque Tipo B
Atraque Tipo A
Atraque Tipo B
Atraque Tipo A
Las acciones que siguen los buques a su llegada al puerto son las siguientes: 1. Llegan a mar abierto a las fueras del puerto. 2. Se trasladan desde mar abierto hasta un espacio de espera dentro del puerto, a travs de la entrada del puerto, siempre y cuando se cumplan las condiciones de disponibilidad espacio en el puerto, entrada del puerto, y remolcadores (en ese orden). 3. Se trasladan hasta los sitios de atraque respectivos, siempre y cuando exista la disponibilidad de sitios y remolcadores (en ese orden). 4. Cargan petrleo. 5. Se trasladan desde el sitio de atraque hasta un espacio de espera, siempre y cuando exista la disponibilidad de espacio y de remolcador (en ese orden). El orden en que los buques solicitan un espacio de espera, la entrada del puerto, y los remolcadores, es tal como fue descrita anteriormente, de lo contrario, los buques deben esperar (usted debe ser capaz de pensar posibles escenarios en los cuales la espera podra provocarse si cualquiera de los pasos indicados no se cumplieran). En la siguiente tabla, se describen los datos relevantes.
Tipo de Buque A B TELL (horas) 86 42 Tipo de Sitio de Atraque necesitado A B Tiempo de Carga (horas) 152 61 Tiempo de Atraque (minutos) 45 30 Tiempo de Nmero de Remolcadores Desatraque necesitados para (minutos) Atracar Desatracar 15 3 2 12 2 1
Pgina 67
Como se indica en la tabla, los tiempos de carga estn uniformemente distribuidos. Las variaciones entre los tiempos de atraque y desatraque son pequeas, y son tratadas como determinsticas. Los buques de ambos tipos slo necesitan de un remolcador para ingresar desde mar abierto hasta el espacio de espera, y requiere de 30 minutos este trayecto. Adems, los buques requieren de otros 30 minutos junto a un remolcador para salir del puerto. Considere que al remolcador le toma 15 minutos dirigirse desde el puerto hasta encontrar a la entrada un buque. Los buques que estn detenidos dentro del puerto, no requieren de remolcadores. Adems, una vez dentro del puerto, los buques liberan a su o sus remolcadores en cada etapa terminada, y hacen solicitud de los recursos que requieran para la siguiente etapa. Los buques Tipo A y Tipo B, slo pueden usar sus sitios de atraque respectivos (Tipo A y Tipo B, respectivamente). En el puerto, hay tres sitios de atraque Tipo A y dos Tipo B. Hay un grupo de tres remolcadores. Los remolcadores son solicitados por los buques en base a "todo o nada". Se debe distinguir entre los buques que estn en un sitio de atraque, y aquellos que estn simplemente en el puerto, ya sea a la espera de un sitio de atraque o de salir a mar abierto. Adems cabe considerar que: 1. Puede haber hasta cinco buques en los sitios de atraque (porque slo existen cinco sitios). 2. Slo puede haber hasta dos buques adicionales en el puerto (porque, adems de los sitios de atraque, hay slo otros dos espacios en el puerto). 3. Uno de los espacios del puerto, con capacidad para un buque, puede ser utilizado tanto por los buques que esperan un sitio de atraque, como por los que esperan por salir del puerto (este es el espacio de doble propsito). El otro espacio del puerto, el cual tambin tiene capacidad para un buque, slo lo pueden utilizar los buques que esperan salir del puerto (este es un espacio con slo un propsito). Si no fuera por el espacio dedicado, podra ocurrir un bloqueo mortal: ningn buque podra solicitar un sitio de atraque, porque estn todos ocupados, y ningn buque puede salir de su sitio, ya que ambos espacios del puerto estn ocupados por buques esperando sitios para poder cargarse. (No hay espacio para un buque cargado que desee desatracar, los buques no se pueden mover!) 4. Cuando desatracan, los buques prefieren hacerlo en el espacio dedicado en lugar de, en el espacio de doble propsito. Para todos los movimientos de buques en el sistema, el movimiento debe ser completado antes de que el espacio utilizado sea liberado. Esto aplica a los movimientos a travs de la entrada del puerto, desde el interior del puerto a un sitio de atraque, y desde un sitio de atraque hacia un espacio en el puerto. Por ejemplo, un buque debe moverse por completo hasta un sitio de atraque antes de que el espacio que haba ocupado en el puerto quede libre para otro buque. Del mismo modo, un buque debe pasar completamente a travs de la entrada del puerto (en cualquier direccin) antes de que otro buque pueda utilizar la entrada. Se pide modelar el sistema a travs de: a) La definicin de estado del sistema, entidades, atributos, eventos y aviso de eventos, actividades, delay y listas. (2 puntos) b) La realizacin de los diagramas de flujo de cada evento definido. (4 puntos) Simulacin (CC-A82), ICI, UCN Pgina 68
Solucin:
Supuestos Los barcos al terminar de cargarse y con posibilidad de irse a los dos espacios de pos carguo, este elige llegar al lugar de un solo propsito antes que llegar al espacio de doble propsito. Estados del sistema LQma (t): Nmeros de barcos en la cola esperando entrar al puerto en el tiempo t. Bbp (t): 0 si no hay barco, 1 si hay un barco movindose por la boca del puerto en el tiempo t. Dr (t): Disponibilidad de remolques, 0 no hay remolques disponibles, 1 si hay solo uno disponible, 2 si hay dos disponibles y 3 si estn todos los remolcadores disponibles en el tiempo t. Depc (t): Disponibilidad de espacio post carguo, 0 si esta vacio, 1 si est ocupado por un barco, y 2 si est ocupado por un barco B en el tiempo t. Dedp (t): Disponibilidad de espacio doble propsito, 0 si est disponible, 1 si est ocupado por un barco que quiere cargarse de petrleo y 2 si est esperando por salir del puerto a mar abierto en el tiempo t. DcbA (t): Disponibilidad de espacios de carguo para barcos tipo A, 0 ningn lugar disponible, 1 si hay un espacio disponible, 2 si hay dos espacios disponibles y tres si estn todos los sitios de carguo disponibles en el tiempo t. DcbB (t): Disponibilidad de espacios de carguo para barcos tipo B, 0 ningn lugar disponible, 1 si hay un espacio disponible, 2 si hay dos espacios disponibles en el tiempo t. LQzcA (t): nmero de barcos tipo A esperando a ser remolcados del punto de carguo en el tiempo t. LQzcB (t): nmero de barcos tipo B esperando a ser remolcados del punto de carguo en el tiempo t. Entidades Los barcos que son de dos tipos; A y B. Atributos Tiempo de carga, tamao barco, requerimientos de remolcadores para moverse, tiempos de atraques y desatraques. Actividades Tiempo entre llegadas a entrada de puerto Tiempo de entrada al puerto Tiempo en carguo de barco tipo A Tiempo en carguo de barco tipo B Tiempo de atraque barco Tiempo de desatraque barco Tiempo de viaje remolcador ida buscar barco mar abierto Tiempo de viaje remolcador vuelta a puerto con barco (espacios) Tiempo de viaje remolcador vuelta a puerto sin barco Delay
Tiempo que espera un barco para ser remolcado (espacio para cargarse, atraque) Tiempo que un barco espera poder entrar en la entrada del puerto Tiempo que el barco espera para ser desatracado del lugar de carguo Tiempo que espera un barco salir del puerto (espacio desatraque) Pgina 69
6. (TVaCbB, t) 7. (TVaCA,t)
13. (TDBeB, t)
Eventos llegada de un nuevo barco A B al puerto de petrleo trmino de viaje remolcador ida buscar barco A, a mar abierto trmino de viaje remolcador ida buscar barco B, a mar abierto trmino de viaje remolcador con barco A a espacio doble propsito (desde mar abierto a puerto). trmino de viaje remolcador con barco B, a espacio doble propsito (desde mar abierto a puerto). trmino de viaje del remolcador al sitio de carguo a buscar un barco B. trmino de viaje de barco A con remolcadores al sitio de carguo. trmino de viaje de barco B con remolcadores al sitio de carguo. trmino de viaje remolcador con barco a espacio doble propsito (desde carguio a lugar Doble propsito). trmino de carguo barco A en el tiempo t trmino de carguo barco B en el tiempo t trmino desatraque barco A, a lugar post carguo (llega despus del carguo al espacio para poder retirarse del puerto posteriormente). trmino desatraque barco B, a lugar post carguo (llega despus del carguo al espacio para poder retirarse del puerto posteriormente). trmino de viaje de barco con remolcador que fue a dejar el petrolero A B a mar abierto) . trmino de viaje remolcador vuelta a puerto sin barco trmino de la simulacin
Nmero de barcos en el sistema (LUGAR, TIPO) Nmero de barcos en la entrada del puerto esperando a ser ingresados Nmero de barcos cargndose Nmero de remolcadores disponibles Nmero de barco esperando en salir a mar abierto despus del carguo Nmero de barcos en cola esperando a ser desatracados del lugar de carguo
Pgina 70
Pgina 71
Si el nmero total de trabajos esperando en todas las colas es an menor que k, la CPU los toma todos y comienza a procesar este lote parcialmente completo; no puede comenzar ningn trabajo que llega hasta que termine el lote actual. Si ningn trabajo est esperando en las colas, la CPU se desocupa, y el prximo trabajo en llegar har trabajar a la CPU con un lote de tamao 1. Note que cuando un lote comienza a ser procesado, puede haber trabajos de diferentes clases corriendo juntos en el mismo lote. Se pide modelar el sistema a travs de: a) La definicin de estado del sistema, entidades, atributos, eventos y aviso de eventos, actividades, delay y listas. (2 puntos) d) La realizacin de los diagramas de flujo de cada evento definido. (4 puntos)
b)
Pgina 73
Grupo 1 2 3 4 5
Tipo de Tarea 1
Tiempo Esperado de Procesamiento (en horas) 0,50 0,60 0,85 0,50 1,10 0,80 0,75 1,20 0,25 0,70 0,90 1,00
Intervalo Frecuencia Tiempo Entre Relativa Llegadas (0,0 - 0,2] 0,40 (0,2 - 0,4] 0,30 (0,4 - 0,6] 0,15 (0,6 - 0,8] 0,10 (0,8 - 1,0] 0,05 Tabla 3
Pgina 74
Tipo 1 Tipo 3
Grupo 3 (4 Mquinas)
Tipo 3
Grupo 4 (3 Mquinas)
Grupo 5 (1 Mquina)
Figura 1
Pgina 75
Se pide que modele este problema mediante un grafo evento, a travs de: a) La definicin de los parmetros. (1 punto) b) La definicin de las variables de estado. (1 punto) c) La creacin del grafo evento propiamente tal. (4 puntos)
Solucin:
1.
Parmetros {tC}: tiempo entre llegadas de los clientes que compran. (1/7 pto.) {D}: nmero de tems demandados por un cliente. (1/7 pto.) {tL }: tiempo de espera hasta la llegada del pedido (lead time). (1/7 pto.) {R}: tiempo entre revisiones. (1/7 pto.) I0: inventario inicial. (1/7 pto.) S: capacidad de la bodega para almacenar tems. (1/7 pto.) s: punto de reorden. (1/7 pto.) Variables de Estado I: inventario fsico en bodego (on-hand) (se inicializa en I0). (0,2 pto.) B: nmero de tems pendientes (back orders) (se inicializa en 0). (0,2 pto.) T: cantidad total de tems ordenados y que an no llegan a bodega (se inicializa en 0). (0,2 pto.) A: tamao del ltimo pedido efectuado (se inicializa en 0). (0,2 pto.) Grafo Evento
2.
3.
tC
IBD
Demanda Actualizacin Inventario (x)
tC
Run
{I = I0, B = 0, T = 0, A = 0}
R
Revisin
Llegada Pedido (A ) {T = T A}
Pgina 76