Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SIMULACIÓN
CLASE 4
9/16/19 TDS115 1
METODOLOGÍA TEMÁTI
BÁSICA DE LA CA
EL PROBLEMA DE
LAS FALLAS EN
MAQUINAS
SIMULACIÓN
VEREMOS LOS ELEMENTOS DE
ESQUEMA DE
LA METODOLOGÍA POR ACCESO BASADO
EN TOKEN
MEDIO DE TRES EJEMPLOS:
UN SISTEMA DE
MANUFACTURA
EN DOS ETAPAS
FIN DE LA CLASE
9/16/19 TDS115 2
1. EL PROBLEMA DE LAS FALLAS EN MÁQUINAS.
Considere el caso de un sistema de colas de un solo servidor con una población finita. A este
problema también se le conoce el problema de interferencia en máquinas. Este problema se
originó en la necesidad de modelar el comportamiento de fallas y reparación de máquinas.
Más tarde, se usó extensivamente en el modelaje por computadora.
A continuación se ilustra lo que se puede considerar como un sistema de colas para una
población finita con un solo servidor (Que es la cola del técnico):
Máquinas en espera a ser atendidas
por el técnico
Población Finita de Técnico
Máquinas
El primero y más importante paso en la construcción del modelo de simulación para el sistema
descrito anteriormente, es identificar los eventos que alteran el estado del sistema. Esto nos
lleva al problema de definir las variables de estado. La selección de las variables de estado
depende principalmente del tipo de medidas de realización que deseamos obtener del sistema
bajo estudio.
9/16/19 TDS115 5
Existen dos eventos que permiten que el estado del sistema cambie:
1. Una máquina se arruina, y por lo tanto ocurre una llegada a la cola.
2. Una máquina se repara, y por lo tanto una salida ocurre de la cola.
Un Evento de llegada Un Evento de salida
Si No
Técnico Se reparará El técnico se
Ocupado ? Se une a la cola otra máq.? desocupa
NO Si
Se inicia una
Técnico se pone Nueva reparación
ocupado
La reparación
se inicia
9/16/19 TDS115 6
Para incorporar los dos eventos básicos en un modelo de simulación, se necesitan un conjunto
de variables llamadas “CLOCKS”, las cuales llevarán el control de los instantes del tiempo en el
que ocurre una llegada o una salida. Para este modelo, se necesita asociar un “clock” para
cada máquina. El “clock” simplemente mostrará el instante de tiempo en que la máquina se
arruina, y equivalentemente, en el que la máquina llega a la cola del técnico. Resulta obvio
que en cualquier instante, los únicos clocks que interesan son los de las máquinas que se
encuentran en operación. Además de estos “clocks”, se requiere otro, que muestra el instante
de tiempo e el que la máquina que está siendo reparada por el técnico se hace operacional, y
equivalentemente, el instante en el que ocurre un evento de salida. Así en total, si tenemos
“m“ máquinas, entonces tendremos “m+1” clocks. Cada uno de estos clocks está asociado con
la ocurrencia de un evento. En particular, “m” clocks están asociados con “m” eventos de
llegada y un clock está asociado con el evento “Salida”.
Además de estos “clocks”, se requiere de un “Master Clock”, el cual lleva el control del tiempo
simulado. El corazón de la simulación se centra en la manipulación de todos estos eventos.
9/16/19 TDS115 7
Usando los relojes mencionados, el modelo decide cuál de los eventos ocurrirá después,
entonces el Master Clock se avanza a este instante de tiempo, y el modelo toma las acciones
como se ilustró en los diagramas anteriores.
a
Escoger
Una Máquina se siguiente
Manipulación de
Una Máquina se
arruina evento
Repara
Eventos
Se crea un
No tiempo de
Cola Vacía ? operación
a
Si
Si
Cola Vacía ?
a
Genera un nuevo
servicio No
Genera un nuevo
servicio
9/16/19 TDS115 a 8
Ahora estamos listos para llevar a cabo la simulación.
Asumamos que tenemos 3 máquinas. Sean CL1, CL2, CL3 sus clocks asociados. Sea CL4 el clock
asociado al evento Salida. Sea MC el Master Clock y sea R la variable que indica si el Técnico
esta ocupado o desocupado. Asumamos que al tiempo 0, todas las máquinas están
funcionando, y que CL1=1, CL2=4 y CL3=9, son las condiciones iniciales.
9/16/19 TDS115 9
INICIAR LA
SIMULACIÓN PARÁMETROS INCIALES DE LA SIMULACIÓN
No
n=0 ? n=n+1 CLi=MC+10
Si
R = 1
n=n+1
CL4 =MC + 5
Si
n=0 ? R=0
n = n+1
No
A A
CL4=MC+5
UN FLUJOGRAMA DEL A
9/16/19 TDS115 12
Conceptualmente, esta red se puede ver como un cierto número de colas, una por cada nodo.
Solo la cola que tiene el nodo puede transmitir paquetes. El token puede verse como el server,
el cual establece una conexión de manera cíclica entre las colas como se muestra en la figura.
Cuando el token accede a una cola, los paquetes que se encontraban en espera pueden ser
transmitidos en la red.
El máximo de tiempo que la cola puede tener el token
es T unidades de tiempo. Tiempo después del cual debe
remitir el token según las reglas antes dichas. El tiempo
que se tarda el token para pasar de una cola a la
siguiente se llama “Tiempo de ruteo” (“Switch-over
time”). Este tipo de sistemas de colas son los
denominados “Polling systems”, que dentro de la teoría
matemática de probabilidades es un sistema en el que
un servidor visita un conjunto de colas en algún orden.
Este modelo tiene aplicaciones en redes de computadoras, telecomunicaciones, procesos de
fabricación y administración del tráfico de carreteras.
9/16/19 TDS115 13
Resulta mucho más fácil usar el modelo de sistemas de colas dado en la figura 1.10 cuando se
está construyendo el modelo de simulación de este esquema de acceso.
Los siguientes eventos deben tomarse en cuenta en esta simulación: Para cada cola hay un
evento de llegada y un evento de finalización de servicio. Para el Token, existe un tiempo de
llegada al siguiente evento cola y el tiempo al que el Token tiene que ser remitido al siguiente
nodo, conocido como “Tiempo-fuera” (Time-out). Para cada cola, se lleva registro del tiempo
de llegada del siguiente paquete, el número de clientes en la cola, y el tiempo al que un
paquete se ha programado para salir (si esta siendo transmitido). Para el Token, se lleva
registro del tiempo de llegada a la siguiente cola, el número de la cola que puede tener el
token y el time-out.
En la corrida de simulación que mostramos a continuación, asumimos que la red basada en
token consiste de tres nodos. Es decir, que el sistema de colas provisto en la figura 1.10
consiste de tres colas. Los tiempos entre-llegadas para las colas 1, 2 y 3 son constantes e
iguales a 10, 15 y 20 unidades de tiempo respectivamente. T se asume que es igual a 15
unidades de tiempo. El tiempo que se tarda en transmitir un paquete se asume que es
constante e igual a 6 unidades de tiempo. El tiempo de ruteo es igual a 1 unidad de tiempo.
9/16/19 TDS115 14
Para las condiciones iniciales asumimos que el sistema está vacío en el tiempo 0. Y que las
primeras llegadas a las colas 1, 2 y 3 ocurren en los tiempos 2, 4 y 6 respectivamente. También
en el tiempo 0, el token está en la cola 1. En el caso de que una llegada y una salida ocurran
simultáneamente en una misma cola, se asume que la llegada ocurre primero. Además, si el
Token y el paquete llegan a una cola al mismo tiempo, se asume que el paquete llega primero.
Las siguientes variables representan los relojes (clocks) usados en el diagrama de flujo:
• MC: Master Clock.
• Ati: Clock de tiempo de llegada de la cola i, i=1,2,3.
• Dti: Clock del tiempo de salida de la cola i, i=1,2,3.
• TOUT: Clock del Time-Out del token.
• ANH: Clock para el tiempo de llegada del token a la siguiente cola.
La etapa 1 consiste de una cola con capacidad infinita, a la que llamaremos “cola 1”
atendida por un solo servidor, llamado “server 1”. La etapa 2 consiste de una cola de
capacidad finita, a la que llamaremos “cola 2” atendida por un solo servidor llamado
“server 2”. Cuando la cola 2 se llena el server 1 se detiene. Más específicamente, con la
finalización del servicio en el server 1, el server se bloquea si la cola 2 está llena. Es decir el
server 1 no puede atender a n ingún cliente más que se encuentre esperando en la cola 1.
El server 1 continuará bloqueado hasta que un cliente salga de la cola 2.
9/16/19 TDS115 20
Cuando un cliente abandona la cola 2, queda un espacio en la cola, y el cliente que recién se ha
terminado de atender en el cola 1, se podrá mover a la cola2. Liberando así al servidor 1 para
que pueda atender a otro cliente de la cola1.
Cada server también se puede arruinar, y se puede arruinar ya sea que esté ocupado o no. Un
server arruinado no puede dar servicio sino hasta que sea reparado. Si un cliente se encontraba
en el servidor, cuando éste se arruinó, entonces continuará su servicio a partir de donde se
quedó al momento de la ruptura del servicio cuando el server vuelva a dar servicio luego de su
reparación. Los siguientes eventos (y Clocks asociados) pueden ocurrir:
1. La llegada de un cliente a la cola 1 (clock AT)
2. La finalización de un servicio en el server 1 (clock DT1)
3. La finalización de un servicio en el server 2 (clock DT2)
4. La ruptura del servicio en el server 1 (clock BR1)
5. El server 1 se vuelve operacional luego de ser reparado (OP1)
6. La ruptura del servicio en el server 2 (clock BR2)
7. El server 2 se vuelve operacional luego de ser reparado (OP2)
A continuación se describe qué otros eventos pueden ocurrir cuando cada uno de los eventos
anteriores ocurre.
9/16/19 TDS115 21
1. Una llegada a la cola 1:
a) Llegada a la cola 1 (un nuevo valor para el clock AT) este evento siempre se programa
cada vez que ocurre una llegada.
b) La salida del server 1 (un nuevo valor para el clock DT1), este evento se lanzara si la
nueva llegada encuentra el server desocupado.
2. Finalización del servicio en el server 1:
a) La finalización del servicio en el server 1 (un nuevo valor para el clock DT1), este evento
ocurrirá si hay uno o más clientes en la cola 1.
b) Finalización del servicio en el server 2 (un nuevo valor para el clock DT2), ocurrirá si el
cliente que completa su servicio en el server 1 encuentra el server 2 desocupado.
La ocurrencia del evento “finalización del servicio en el server 1”, puede causar que el
server 1 quede bloqueado, si la cola 2 está llena.
3. Finalización del servicio en el server 2:
a) La finalización del servicio en el server 2 (un nuevo valor para el clock DT2), este evento
ocurrirá si hay uno o más clientes en la cola 2.
b) Finalización del servicio en el server 1 (un nuevo valor para el clock DT1), este evento
ocurrirá si el server 1 estaba bloqueado.
9/16/19 TDS115 22
4. Server 1 se arruina:
a) Server 1 se vuelve operacional (un nuevo valor para el clock OP1) este evento da el
tiempo en el futuro en el que el server 1 se reparará y se vuelva operacional. Si el
server 1 estaba ocupado cuando se arruinó, actualiza el clock de la finalización del
servicio en el server 1 para reflejar el retraso debido a la reparación.
5. El server 1 se vuelve operacional:
a) El server 1 se arruina (un nuevo valor para el clock BR1), este evento da el tiempo en el
futuro en el que el server 1 se arruinará. Durante este tiempo el server estará funcional
b) Finalización del servicio en el server 1 (un nuevo valor para el clock DT1): si el server
estaba desocupado cuando se arruinó, y la cola 1 no está vacía al momento en el que
vuelve operacional, entonces un nuevo servicio iniciará.
6. Server 2 se arruina:
a) Server 2 se vuelve operacional (un nuevo valor para el clock OP2) este evento da el
tiempo en el futuro en el que el server 2 se reparará y se vuelva operacional. Durante
ese tiempo el server estará no funcional.
Si el server 2 estaba ocupado cuando se arruinó, actualiza el clock de la finalización del
servicio en el server 2 para reflejar el retraso debido a la reparación.
9/16/19 TDS115 23
7. Server 2 se vuelve operacional:
a) El server 2 se arruina (un nuevo valor para el clock BR2), este evento da el tiempo en el
futuro en el que el server 2 se arruinará. Durante este tiempo el server estará funcional
b) Finalización del servicio en el server 2 (un nuevo valor para el clock DT2): si el server
estaba desocupado cuando se arruinó, y la cola 2 no está vacía al momento en el que
vuelve operacional, entonces un nuevo servicio iniciará.
9/16/19 TDS115 25
9/16/19 TDS115 26
9/16/19 TDS115 27
9/16/19 TDS115 28
9/16/19 TDS115 VOLVER A MENÚ 29
SIGUE LA CLASE 5 EL MARTES
VOLVER
9/16/19 TDS115 30