Sunteți pe pagina 1din 16

Teoría de Modelos y Simulación

Sistemas Estocásticos

Introducción
En este capítulo se estudiarán métodos para simular sistemas estocásticos. En estos sistemas
algún componente tiene una conducta aleatoria. Los sistemas que se estudiarán serán del tipo
discreto. Aquí se analizará el enfoque orientado a eventos, dejando para un capítulo posterior
la presentación del enfoque orientado a procesos. Un evento es la causa instantánea de un
cambio de estado en un sistema discreto; por ejemplo, la llegada de un cliente. En el enfoque
orientado a eventos el centro de atención son los eventos que pueden afectar al sistema. Para
ello es necesario determinar los momentos en que los eventos oc urren y modificar
adecuadamente el estado del sistema. Para determinar los momentos de ocurrencia de los
eventos se estudiarán las dos principales estrategias utilizadas: paso de reloj constante y paso
de reloj variable.

Cadenas de Markov
Este tipo de mod elo se utiliza cuando la probabilidad condicional de ocurrencia de un evento
dado en un intervalo de tiempo ∆t es constante. Por lo tanto, la distribución de probabilidad
incondicional de ocurrencia es exponencial. Una aplicación de este tipo de modelos es la
simulación de fallas.

Considere que una empresa posee dos equipos de computación que brindan idéntico servicio.
Cada equipo tiene un tiempo medio de falla de 6 meses. Por cada mes que un equipo está
fuera de servicio se pierden $2000. Cuando ambos equ ipos fallan, las pérdidas son de $10000
por mes. Estas pérdidas son causadas por multas que la empresa debe pagar a fin de mes
dependiendo exclusivamente del estado de los equipos en ese momento sin importar en qué
instante del mes fallaron. El costo de re paración es de $1000 por equipo, y se abona al final de
la misma. El tiempo medio de reparación es de 2 meses. Se quiere determinar el fondo anual
que la empresa deberá reservar para enfrentar los gastos provocados por las fallas de los
equipos.

Este sist ema se puede modelar inicialmente con una máquina de estados finitos, donde los
símbolos de entradas son los eventos:
• F1: Falla equipo 1.
• F2: Falla equipo 2.
• R1: Se repara equipo 1.
• R2: Se repara equipo 2.

Los estados son:


• SS: Los dos equipos en servicio.
• SR: El equipo 1 en servicio, el equipo 2 en reparación.
Teoría de Modelos y Simulación. Sistemas Estocásticos. 1
• RS: El equipo 2 en servicio, el equipo 1 en reparación.
• RR: Los dos equipos en reparación.

Las salidas son las pérdidas:


• 1000 $/reparación: Cuando se repara un equipo.
• 2000 $/mes: Cuando un equipo falla.
• 10000 $/mes: Cuando los dos equipos fallan.

Hasta aquí se trata de una máquina de estados finitos común. El elemento adicional es la
probabilidad asociada a cada evento. En este ejemplo, las probabilidades son constantes
dando origen a una cadena de Markov. Estas probabilidades se calcularán luego a partir de las
velocidades medias de los eventos (el λ de la distribución exponencial), las cuales son:
• F1: 1/6 falla/mes.
• F2: 1/6 falla/mes.
• R1:½ reparación/mes.
• R2:½ reparación/mes.

Otro elemento nuev o a considerar es que existe una variable determinística y continua: el
tiempo. Esta variable origina un evento cada mes: FM (fin de mes). La Figura 1 muestra la
máquina de estados finitos a utilizar para este ejemplo.

$0 $2000
FM
$1000 R1
SS RS
FM
F1 $0
F2 F2

$0 $1000 $0 $1000

R2 R2
F1 $0
FM
SR RR
$1000 R1
FM
$2000 $10000

Figura 1: Cadena de Markov para simulación de fallas.

En este modelo se desprecian las probabilidades de las transiciones SR -RS y RR -SS debido a
que es improbable que dos eventos ocurran simultáneamente.

Simulación con paso de reloj constante


Una opción para realizar la simulación es hacerlo con un paso de reloj constante. En esta
alternativa el tiempo avanza a intervalos constantes )t, y se procede a verificar si se produce
algún evento. Debido a que en gener al no se considera la ocurrencia de dos eventos
simultáneos, es necesario que )t sea lo suficientemente pequeño como para mantener la
validez de esta hipótesis. Por ejemplo, es probable que una máquina falle y sea reparada en un
mismo mes; sin embargo, es improbable que esto ocurra en una misma hora.
Teoría de Modelos y Simulación. Sistemas Estocásticos. 2
Como se verá en la sección siguiente, si el )t es suficientemente pequeño y la velocidad
media de ocurrencia λ es constante, la probabilidad condicional de ocurrencia de un evento x
en el instante t probado qu e no ocurrió antes es:
P( x(t ) Not x(t − ∆t ) ) = Pc (t ) = λ ∆t (1)

Esta probabilidad será utilizada para determinar si el evento ocurre o no en cada intervalo de
simulación.

Retornando al ejemplo anterior, si se adopta un )t = 0.25 mes, las probabil idades


condicionales de los eventos son:
• F1: 0.04.
• F2: 0.04.
• R1: 0.12.
• R2: 0.12.

El estado inicial es SS y el mes 0. Se avanza 0.25 mes el reloj y se determina si el evento F1


ocurre o no; para ello se genera un número aleatorio R y se compara con la prob abilidad de
F1, si R es menor, el evento ocurre. De la misma forma se determina si ocurre F2. Si los dos
eventos ocurren, el procedimiento se deberá repetir hasta que sólo ocurra un evento o ninguno
debido a la hipótesis de trabajo adoptada anteriormente que impone que a lo sumo un evento
puede ocurrir en cada intervalo de tiempo.

Si el evento F2 ocurre, entonces el nuevo estado es SR. Los eventos posibles en este estado
son FM, R2 y F1. FM ocurre al final de todos los meses; en cambio, los eventos R2 y F1 se
determinan utilizando el método anterior que considera las correspondientes probabilidades.
La Tabla 1 muestra la planilla de Excel utilizada para realizar el sorteo con la siguiente
fórmula: =SI(ALEATORIO()<Probabilidad, “Sí” , “No”).
Tabla 1: Determinación de ocurrencia de los eventos.

Eventos F1 F2 R1 R2
Probabilidades 0.04 0.04 0.12 0.12
Ocurre No No Sí No

De esta forma se procede para los 12 meses. La Tabla 2 muestra los pasos de la simulación.
Se supone que los eventos ocurren al final de los intervalos considerados. Para el primer mes
se muestran todos los intervalos; como se puede apreciar, en la mayoría de ellos nada ocurre,
por ese motivo en los meses siguientes sólo se muestran los intervalos donde algún evento
ocurrió.

Note también que al final del mes el evento FM evita que cualquier otro evento ocurra (por la
hipótesis de trabajo); esto es un error, pero el impacto del mismo se reduce a voluntad
disminuyendo el valor de ∆t, o modificando el algoritmo para permit ir que otro evento pueda
ocurrir al final del mes; en ese, caso se deberá decidir el orden de ocurrencia de esos dos
eventos “simultáneos” para poder procesarlos adecuadamente.

Como resultado de la simulación se puede estimar que las pérdidas anuales será n del “orden”
de los $45000. Es necesario considerar que el resultado que se obtuvo cambiará cuando se
realice nuevamente la simulación. Esto es precisamente el problema de los sistemas
estocásticos. Esta situación obliga a desarrollar técnicas que permita n obtener resultados más
Teoría de Modelos y Simulación. Sistemas Estocásticos. 3
confiables. Estas técnicas son métodos estadísticos que se utilizan para estudiar una muestra
conformada por los resultados obtenidos de varias simulaciones. Dichos métodos serán
estudiados en otro capítulo.

Un problema adicional que presentan los sistemas estocásticos es el estudio de los datos. En
este ejemplo, tanto las velocidades medias de fallas y reparaciones como sus distribuciones
fueron provistas en el enunciado. Sin embargo, en un caso real estos datos deberán ser
determinados a partir de mediciones, experimentos o datos históricos. Nuevamente, existen
métodos estadísticos para este fin, y serán objeto de estudio de otro capítulo.
Tabla 2: Simulación con paso de reloj constante.
Mes Evento Estado Pérdida [$]
0.00 SS
0.25 SS
0.50 SS
0.75 SS
1.00 FM SS 0
… … … …
2.00 FM SS 0
2.25 F2 SR 0
3.00 FM SR 2000
4.00 FM SR 2000
4.50 F1 RR 0
5.00 FM RR 10000
5.25 R2 RS 1000
6.00 FM RS 2000
6.50 R1 SS 1000
7.00 FM SS 0
7.25 F1 RS 0
7.50 F2 RR 0
8.00 FM RR 10000
9.00 FM RR 10000
9.50 R2 RS 1000
10.00 FM RS 2000
11.00 FM RS 2000
12.00 FM RS 2000
Total $45000

Simulación con probabilidades variables


En el ejemplo anterior se consideraron las probabilidades de los eventos como cons tantes,
esto dio origen a una cadena de Markov. Ahora se estudiará el caso más general, cuando las
probabilidades condicionales no son constantes. Para una completa analogía con el ejemplo
anterior, se debe encontrar la probabilidad “condicional” de ocurre ncia de un evento en el
intervalo que se está simulando. Se puede demostrar que la probabilidad condicional de
ocurrencia de un evento x en el instante t probado que no ocurrió antes es:
F (t ) − F (t − ∆t )
P( x(t ) Not x(t − ∆t ) ) = Pc (t ) = (2)
1 − F (t − ∆t )

donde F(t) es la fu nción de probabilidad acumulada de la distribución deseada. Esta


probabilidad se utiliza para determinar si el evento correspondiente ocurre o no en el intervalo
que está siendo simulado. Note que t se mide desde el último momento en que el evento
comenzó a ser posible sin que llegara a ocurrir todavía. Salvo la forma de calcular la

Teoría de Modelos y Simulación. Sistemas Estocásticos. 4


probabilidad condicional, todos los restantes pasos de simulación son iguales a los realizados
en el ejemplo anterior.

En el caso especial de la distribución exponencial, se ti ene:


f (t ) = λ e − λ t (3)

F (t ) = 1 − e − λ t (4)
La probabilidad condicional será:
F (t ) − F (t − ∆t )
Pc (t ) = = F (∆t ) = 1 − e− λ ∆ t (5)
1 − F (t − ∆t )

El resultado es constante. Para λ.)t ≤ 0.1 la siguiente aproximación (que utiliza la serie de
Taylor) es válida:
Pc (t ) = F (∆t ) = λ ∆t (6)

Este resultado fue utilizado en la sección anterior.

Para mostrar la estrategia de simulación cuando la probabilidad condicional es variable


considere el siguie nte problema. Se desea determinar la energía total diaria que deberá
producir una usina para satisfacer la demanda variable. La usina cuenta con tres modos de
generación, a saber:
• Baja potencia (BP): genera 10 MW.
• Media potencia (MP): genera 30 MW.
• Alta potencia(AP): genera 60 MW.

El modo de generación se elige de acuerdo a la demanda. En consecuencia, los cambios de


modo de generación ocurren en el entorno de determinadas horas del día. Las distribuciones
probabilísticas de estos cambios son uniformes, y abarcan los siguientes intervalos ( Figura 2):
• Cambio de Baja a Media (BM): entre 5:00 y 6:00 h.
• Cambio de Media a Alta (MA): entre 7:00 y 8:00 h.
• Cambio de Alta a Media (AM): entre 13:00 y 14:00 h.
• Cambio de Media a Baja (MB): ent re 17:00 y 18:00 h.

f(x)
BM MA AM MB
1

0 12 24 t
Figura 2: Distribución de los cambios de modo de generación.

El sistema puede ser modelado inicialmente con una máquina de estados finitos, donde los
eventos son los cambios de modo de generación: BM, MA, AM y MB; y los estados son los
modos de generación: BP, MP y AP. Las salidas reflejarán la energía producida en cada
estado. La Figura 3 muestra la máquina de estados finitos correspondiente.

Teoría de Modelos y Simulación. Sistemas Estocásticos. 5


La dist ribución de probabilidad de cada evento es uniforme en el correspondiente intervalo
[tmin , tmax] de duración igual a 1 h, esto es:
f (t ) = 1 (7)

F (t ) = t (8)

donde t se mide desde que el evento es posible; es decir, desde tmin . Entonces, la probabilidad
condicional de cada evento es:
∆t
Pc (t ) = (9)
1 − (t − ∆t )

Esta vez, la probabilidad condicional no es constante ya que varía con t.

BM 10*∆tBP MA 30*∆t MP
BP MP AP

30*∆tMP MB 60*∆t AP AM

Figura 3: Máquina de estados finitos de la usina.

La Tabla 4 contiene los resultados de una simulación realizada para un día con ∆t = 0.25 h. La
determinación de la ocurrencia de un evento se hace con la planilla Excel mostrada en la
Tabla 3. La columna Pc(∆te) corresponde al valor de la probabilidad condicional para el único
evento que es posible desde tmin y que no ocurrió durante (∆te-∆t). El evento ocurre en
t = tmin +∆te si el número aleatorio R es menor o igual a Pc(∆te). En la tabla de simulación sólo
figuran los instantes en que el estado del sistema cambió. Debido a que se desea completar 24
hs de simulación, la misma se detiene cuando la usina está en el estado BP, y deb e calcularse
la energía producida en ese estado ya que todavía no fue computado por no haber abandonado
dicho estado.

Tabla 3: Determinación de la ocurrencia de un evento.


∆t ∆ te Pc(∆ te ) R
0.25 0.5 0.33 0.72
Ocurre: No

Tabla 4: Simulación de la usina.


t tmin ∆ te ∆ te)
Pc(∆ R Evento Estado Energía
[MW.h]
0.00 5.00 BP
5.25 5.00 0.25 0.25 0.10 BM MP 52.50
7.75 7.00 0.75 0.50 0.32 MA AP 75.00
13.25 13.00 0.25 0.25 0.20 AM MP 330.00
17.50 17.00 0.50 0.33 0.17 MB BP 127.50
24.00 17.00 BP 65.00
Total = 650.00

Entonces, en el día simulado se produjeron 650.00 MW.h.


Teoría de Modelos y Simulación. Sistemas Estocásticos. 6
Variante del método con paso de reloj constante
Es posible plantear una variante del método con paso de reloj constante que emplee la
probabilidad acumu lada en lugar de la probabilidad condicional. Este método tiene la ventaja
de no requerir el cálculo de la probabilidad condicional, y además sirve para presentar la idea
en que se basa el método que se estudiará en la siguiente sección.

Para plantear la variante se empleará un ejemplo. Considere que una empresa desea conocer el
costo anual de reparación de un equipo de computación. Los eventos posibles con sus
respectivas distribuciones son:
• F1: Distribución exponencial con media de 6 meses.
• R1: Distribución exponencial con media de 2 meses.

Los estados posibles son:


• S: Equipo en servicio.
• R: Equipo en reparación.

El costo de reparación es $1000. La Figura 4 representa la máquina de estados finitos


correspondiente.
F1 $0
S R
$1000 R1
Figura 4: Máquina de estado finito para una computadora.

La Tabla 5 presenta los resultados obtenidos de una simulación utilizando las probabilidades
condicionales y ∆t = 1 mes. Las proba bilidades condicionales son constantes debido a que las
distribuciones son exponenciales. El procedimiento seguido es idéntico al empleado en los
ejemplos anteriores. Para determinar si un evento ocurre se compara el número aleatorio R
con la probabilidad condicional Pc correspondiente calculada con la ecuación (5). Si R es
menor o igual que Pc, el evento ocurre. Nuevamente, se adopta la hipótesis de un único
evento por ∆t. Dado el tamaño del paso utilizado, es difícil que esta hip ótesis se cumpla, y
seguramente el error es grande. Sin embargo, este error se puede reducir a voluntad
reduciendo el paso.
Tabla 5: Simulación con probabilidad condicional.
Mes PcF PcR R Evento Estado Costo [$]
0 0 S
1 0.15 0.12 F1 R 0
2 0.39 0.24 R1 S 1000
3 0.15 0.66 S
4 0.15 0.83 S
5 0.15 0.92 S
6 0.15 0.12 F1 R 0
7 0.39 0.99 R
8 0.39 0.16 R1 S 1000
9 0.15 0.75 S
10 0.15 0.65 S
11 0.15 0.84 S
12 0.15 0.96 S
Total = $2000

Teoría de Modelos y Simulación. Sistemas Estocásticos. 7


En la variante del método se emplea la probabilidad acumulada F(∆ta) en lugar de la
condicional. La variante se basa en que F(∆ta) es la probabilidad de ocurrencia de un evento
entre el tiempo t0 y el tiempo t0+∆ta, donde t0 es el tiempo en que el evento comienz a a ser
posible. Entonces, en lugar de generar un número aleatorio R en cada paso de reloj, sólo se
genera un único número en el instante en que el evento comienza a ser posible; es decir, en t0.
Este número R se compara en cada paso con el valor de F(∆ta). Cuando R es menor o igual a
F(∆ta), el evento ocurre y se actualiza t0. La Tabla 6 muestra los resultados para una
simulación de 12 meses y ∆t = 1 mes. Note que en este método es claro que el evento ocurrirá
cuando se cumpla F(∆ta) = R. Entonces, en lugar de comparar en todos los intervalos estos
dos valores, es posible despejar ∆ta = F-1(R) e incrementar el tiempo en dicha cantidad. De
acuerdo al método de la transformada inversa, F-1(R) es el generador de variables aleatorias
correspondiente a la distribución en cuestión; entonces, ∆ta es una variable aleatoria que tiene
dicha distribución. Éste es el principio del método que se presentará en la siguiente sección.

Tabla 6: Simulación con probabilidad acumulada.


Mes ∆ ta F(t)F F(t)R R Evento Estado Costo [$]
0 0 0 S
1 1 0.15 0.12 F1 R 0
2 1 0.39 0.24 R1 S 1000
3 1 0.15 0.44 S
4 2 0.28 S
5 3 0.39 S
6 4 0.49 F1 R 0
7 1 0.39 0.56 R
8 2 0.63 R1 S 1000
9 1 0.15 0.40 S
10 2 0.28 S
11 3 0.39 S
12 4 0.49 S
Total = $2000

Simulación con paso de reloj variable


En la simulación anterior el reloj avanzaba a paso constante. Las ventajas de la simulación
con paso de reloj constante son:
• Fácil programación.
• Se pue de utilizar para simular sistemas con componentes continuos y discretos. En ese
caso, el paso )t también será el paso de integración de las ecuaciones diferenciales
que conforman los modelos de los componentes continuos.

Sin embargo, esta estrategia tiene algunos inconvenientes, los principales son:
• Lo más probable es que los eventos no se produzc an exactamente en un múltiplo de )t
sino que ocurran en el interior de un intervalo. Esto ocasiona errores en los cálculos;
por ejemplo, si se supone que un depósito de dinero se realiza al final de un intervalo
cuando en realidad ocurre inmediatamente des pués del inicio del mismo, se cometerá
un error al calcular los intereses.
• Puede ocurrir que durante varios )t no se produzca ningún evento; por lo tanto, los
cálculos realizados para esos intervalos no aportarán ninguna información útil y sólo
consumirán recursos informáticos; por ejemplo, en la simulación anterior fue
necesario eliminar varios intervalos porque no se registraron cambios en el sistema
durante los mismos.
Teoría de Modelos y Simulación. Sistemas Estocásticos. 8
Para superar estos inconvenientes se desarrolló la estrategia de simulación con paso de reloj
variable. La idea principal de esta estrategia es hacer que el reloj avance exactamente al
tiempo donde ocurre el evento. Para determinar el tiempo de ocurrencia de un evento dado se
utiliza un generador de variables aleatorias con la distribución correspondiente al evento que
se desea simular. Ya no se trabaja con la probabilidad condicional ni se debe elegir un )t.

Para implementar esta estrategia, el simulador está compuesto por los siguientes elementos:
• La agenda de eventos: En ella se registr an todos los eventos futuros posibles junto
con el correspondiente tiempo que resta hasta la ocurrencia de dichos eventos; por
ejemplo, la próxima falla de la máquina 1 será dentro de 1.6 meses.
• El reloj: Indica el tiempo actual del sistema. Se inicializa con un cierto tiempo que
debe ser dato.
• Estado inicial: Almacena el estado del sistema correspondiente al tiempo inicial,
también debe ser conocido.
• Eventos iniciales: Son los eventos que ocurrirán en el tiempo inicial. Deben ser
conocidos.
• El programa principal: Ejecuta una serie de rutinas para inicializar la simulación y
desarrollarla.
• Rutinas: Destinadas a procesar los eventos.

Los siguientes cuadros muestran el pseudo -código del programa principal y las rutinas más
importantes.

Program Principal;
Begin
Inicializar_Simulación;
Repeat
Procesar_Agenda;
Avanzar_Reloj
Until Final
End.

Procedure Inicializar_Simulación;
Begin
Agendar(Evento_Iniciales.Tiempos,
Eventos_Iniciales.Nombres);
tiempo := Tiempo_Inicial
End;

Procedure Procesar_Agenda;
Begin
For Evento 0 Agenda do
If Evento.Tiempo = 0
then
Begin
Evento.Procesar;
Evento.Free
End
End;

Teoría de Modelos y Simulación. Sistemas Estocásticos. 9


Procedure Evento.Procesar;
Begin
Modificar_Estado;
Procesar_Eventos_Asociados;
Programar_Eventos_Futuros;
Cancelar_Eventos_Futuros
End;

Procedure Anvanzar_Reloj;
Begin
Paso := Mínimo(Eventos.Tiempos);
tiempo := tiempo + Paso;
For Evento 0 Agenda do
Evento.Tiempo := Evento.Tiempo-Paso
End;

A fin de ilustrar este método, considere que una empresa dispone de un equipo de
computación, y que los eventos posibles son:
• F1: Falla el equipo. Distribución exponencial con media de 6 meses.
• R1: Reparación del equipo. Distribució n exponencial con media de 2 meses.

Los estados posibles son:


• S: La computadora funciona.
• R: La computadora está siendo reparada.

Las salidas son:


• 1000 $/reparación: Costo de la reparación.
• 2000 $/mes: Pérdidas causadas por no contar con el equipo.

A di ferencia del ejemplo anterior, las pérdidas causadas por no contar con el equipo ocurren
en forma continua y no sólo a fin de mes. Para no perder la ventaja que brinda el paso variable
se opta por calcular el total de la pérdida cuando el equipo termina de ser reparado; por lo
tanto, se tiene una única salida: $1000+$2000* ) Falla
t , donde se considera el tiempo que la
computadora estuvo sin funcionar.

F1 $0
S R
$1000+$2000*)t Falla R1

Figura 5: Máquina de estados finitos para una computadora.

El punto de partida es el mes 0 con la computadora funcionando. A fin de inicializar la


simulación, se programa un evento inicial ficticio denominado Inicio. La única misión de este
evento es programar la primera ocurrencia de F1. Entonces, la rutin a Inicializar_Simulación
agenda el evento Inicio para que ocurra en el tiempo 0.

Dado que el Inicio.Tiempo es igual a cero, la rutina Procesar_Agenda ejecuta la rutina


Inicio.Procesar. Esta rutina programa la ocurrencia del evento F1. Para programar F1, éste
debe ser introducido en la agenda junto con el tiempo que resta para que ocurra. El tiempo de
ocurrencia se obtiene utilizando un generador de variables aleatorias con la distribución
Teoría de Modelos y Simulación. Sistemas Estocásticos. 10
probabilística asociada a F1; en este ejemplo, se utiliza un generad or con distribución
exponencial y tiempo medio de 6 meses.

Ahora es el turno de la rutina Avanzar_Reloj. El único evento que tiene agendado o


programado es el evento F1. Entonces, el reloj avanza el paso indicado por F1.Tiempo y resta
este valor a los ti empos de la agenda. Como resultado F1.Tiempo se vuelve igual a cero, lo
que hace que la rutina Procesar_Agenda ejecute F1.Procesar. Debido a esta acción, el estado
de la máquina cambia a R y se programa el próximo evento posible; en este caso, R1. Para
programar R1, éste debe ser introducido en la agenda junto con el tiempo que resta para que
ocurra. El tiempo de ocurrencia se obtiene utilizando un generador de variables aleatorias con
la distribución probabilística asociada a R1; en este ejemplo, se utiliz a un generador con
distribución exponencial y tiempo medio de 2 meses. Si hubiera eventos asociados, se
procesarían en este punto con la rutina Procesar_Eventos_Asociados. Además, debido al
cambio de estado, es posible que algunos eventos agendados ya no sean posibles; entonces, se
deben eliminar de la agenda con la rutina Cancelar_Eventos_Futuros. De esta manera se
completa un ciclo de la simulación.

En el próximo ciclo, el paso será igual al tiempo de ocurrencia del único evento programado,
R1, el reloj avanzará y se ejecutarán las correspondientes rutinas. Los resultados obtenidos
para un año de simulación se resumen en la Tabla 7.
Tabla 7: Simulación con paso de reloj variable.
Mes )t Evento Evento Estado Costo
Futuro [$]
0.00 0.00 Inicio
0.00 3.20 F1 Inicio S
3.20 0.00 F1 S
3.20 1.08 R1 F1 R 0
4.28 0.00 R1 R
4.28 8.76 F1 R1 S 3160
13.04 --- --- Fin S 0
Total $3160

Ejemplo de una simulación completa


Para analizar este tipo de sistema s, lo mejor es dar un ejemplo. Suponga que una empresa de
transporte aéreo cumple con el siguiente programa de mantenimiento. Al inicio de cada día se
revisa un avión, el tiempo de revisión es despreciable. Con los resultados de esa revisión se
decide si la unidad necesita mantenimiento o no. Para realizar las tareas de mantenimiento, la
empresa alquila un taller a $2500 por día. Por cada día que pasa sin operar un avión, la
empresa pierde $5000. Se desea determinar si conviene alquilar un segundo taller.

Los pasos a dar para realizar la simulación son:


• Definición de propósito: Determinar si conviene alquilar un segundo taller.
• Sistema bajo estudio: El sistema de mantenimiento de la empresa.
• Adquisición de datos: Registros de tiempo de ingreso de aviones al taller, tiempo de
reparación.
• Construcción del modelo: Una maqueta y personas que manipulen los aviones de
acuerdo a los datos obtenidos de las mediciones puede servir como un modelo inicial.
• Validación del modelo: Con las entradas medidas experimentales, verificar que se
obtengan los costos reales correspondientes al periodo de medición.

Teoría de Modelos y Simulación. Sistemas Estocásticos. 11


• Experimentación: Estudiar los costos con un taller y con dos talleres.
• Implementación de los resultados: Dejar un solo taller o alquilar otro.

Una notable mejora del pro ceso anterior se obtiene utilizando un modelo probabilístico en
lugar de los datos experimentales. Este modelo surge de procesar dichos datos con métodos
estadísticos como los que se estudiarán en otro capítulo. El resultado puede ser un conjunto de
probabilidades condicionales:
• Probabilidad de Falla: 0.5
• Tiempo de Reparación: 0.5, 1, 1.5, 2, 2.5, 3 días con una probabilidad de 1/6.

Con este modelo estadístico se elimina el ruido de los datos experimentales, pero se deben
generar variables aleatorias que cumplan con esas distribuciones. En este caso se puede usar
una moneda para decidir si un avión necesita mantenimiento, y se puede utilizar un dado para
determinar el tiempo de reparación. La Tabla 8 y la Figura 6 muestran los resultados
obtenidos para una simulación de 10 días.

Debido a que se desea comparar entre dos alternativas, es necesario implementar dos
modelos, realizar dos conjuntos de simulaciones y finalmente comparar sus resulados.
Inicialmente, los talleres están desocupados, sin ningún avión en reparación ni en la playa de
espera. Si los aviones deben esperar por el servicio, se asigna un turno por orden de llegada.
En ambos casos, existe una única playa de espera con capacidad máxima de 10 a viones. En el
caso de dos talleres, la política de asignación de taller trata de equilibrar las actividades de
ambos talleres; esto significa, salvo que un taller esté ocupado, se asignan en forma
alternativa los aviones que requieren mantenimiento.

Para el caso de un solo taller, en el día 0 un avión necesita reparación, debido a que el taller
está vacío, el mismo ingresa inmediatamente; por este motivo, el tiempo de entrada al taller es
igual al día de revisión 0. El tiempo de salida se calcula sumando los días en el taller más el
tiempo de entrada, para el primer avión 0+2.5 = 2.5. El tiempo total que estuvo detenido el
avión se calcula restando al día de salida, el día de revisión; para el primer avión 2.5 -0 = 2.5.
En el día 1 ningún avión necesita repa ración. El día 2 un avión necesita mantenimiento, pero
no puede ingresar porque el taller está todavía ocupado; por lo tanto, debe esperar. Recién
ingresa cuando se desocupa el taller, el día 2.5. Este tiempo corresponde al tiempo de salida
del avión que estaba siendo reparado. Entonces, el tiempo de salida del nuevo avión es
2.5+2 = 4.5, y el tiempo total es 4.5 -2 = 2.5. Note que el avión estuvo esperando durante 2.5 -2
= 0.5; este tiempo muerto genera pérdidas para la empresa, y puede ser reducido con el
agregado de un taller adicional. Para tomar la decisión final se debe determinar cuál es el
efecto predominante en los costos, la reducción del tiempo muerto (reducción de costos) o el
nuevo alquiler a pagar (incremento de costo).

Para poder comparar las dos alternativas (un taller vs. dos talleres) en forma justa se debe
eliminar el elemento aleatorio; por esta razón, la simulación de los dos casos se hace con los
mismos tiempos de arribo de los aviones ( Tabla 8). Observe que el avión que llega el día 2 y
que debe esperar 0.5 en el caso de un taller, ingresa inmediatamente en el caso de dos talleres.
Es decir, se logra la reducción de los tiempos muertos; ahora resta determinar si esta
reducción se impone sobre el aumento del alqu iler.

Teoría de Modelos y Simulación. Sistemas Estocásticos. 12


Tabla 8: Simulación de talleres de mantenimiento.
Un Taller Dos Talleres
Días en
Días Entrada Salida Total Entrada Salida Total Taller
Taller
0 2.5 0 2.5 2.5 0 2.5 2.5 1
1
2 2 2.5 4.5 2.5 2 4 2 2
3
4 3 4.5 7.5 3.5 4 7 3 1
5 1.5 7.5 9 4 5 6.5 1.5 2
6
7 2 9 11 4 7 9 2 1
8 1 11 12 4 8 9 1 2
9
Días Totales perdidos 20.5 12.0

Taller 1 1 2 3 4 5 6

0 5 10

Taller 2 2 4 6

Taller 1 1 3 5

0 5 10
Figura 6: Tiempos de servicio de los talleres.

Los costos para esta simulación son:


Costo Total 1 taller = 10 x 2500 + 20.5 x 5000 = $127500.
Costo Total 2 talleres = 10 x 5000 + 12.0 x 5000 = $110000.

Estos resultados no son definitivos porque se ha tomado una muestra de apenas 10 días. Para
tener ma yor seguridad es necesario ampliar la muestra. Esto significa, aumentar la cantidad de
día simulados y la cantidad de simulaciones. Entonces, conviene desarrollar un simulador por
computadora. Para ello, será necesario reemplazar el modelo físico por un mo delo simbólico,
y la moneda y el dado por un generador de variables aleatorias. Los eventos a considerar son:
• Llegada de un avión que necesita ser reparado.
• Inicio de reparación.
• Partida.

Además, se deberá decidir cómo será el paso del reloj, constante o variable. Debido al planteo
anterior, la implementación de un simulador con paso constante es directa. Por este motivo, se
elegirá por la otra alternativa para que sirva como ejemplo de un simulador con paso variable.
A continuación se muestra el pseudo -código del simulador:
Teoría de Modelos y Simulación. Sistemas Estocásticos. 13
Program Taller;
Begin
Inicializar_Variables;
Recibir_Datos;
Revisar_Eventos;
Reportar_Resultados
End.

Procedure Llegadas;
Begin
Incrementar_Número_de_Aviones;
Programar_la_Próxima_Llegada;
If Taller.Estado = Libre
then
Begin
Taller.Estado := Ocupado;
Programar_Próxima_Partida
End
else
Begin
Incrementar_Fila_de_Espera;
If Fila > Límite then Write_Error;
Registrar_el_Tiempo_de_Llegada
End
End;

Procedure Partidas;
Begin
Incrementar_Número_de_Aviones_Reparados;
If Fila.Estado = Vacía
then Taller.Estado := Libre
else
Begin
Calcular_el_Tiempo_de_Espera;
Decrementar_Fila_de_Espera;
Programar_Próxima_Partida
End
End;

Debido a que el paso del reloj es variable, es necesario reprocesar los datos para obtener las
distribuciones de probabilidad incondicional necesarias para seleccionar el generador de
variables aleatorias adecuado. Debido a que para programar un evento se coloca en la agenda
el tiempo que resta desde el momento de la programación hasta la ocurrencia del evento, la
programación de dicho evento sólo se debe hacer en el momento a partir del cuál dicho ev ento
es posible. En consecuencia, se debe notar que el procedimiento Llegadas siempre programa
la próxima llegada y puede programar la próxima partida. En cambio el procedimiento
Partidas sólo puede programar la próxima partida. Es decir que a lo sumo sólo se tendrán dos
eventos próximos a revisar para avanzar el reloj, ellos son:
• Una llegada.
• Una llegada y una partida.

Completada la simulación, es necesario procesar los resultados obtenidos para elaborar el


reporte final. Nuevamente, se aplican métodos es tadísticos que serán objeto de otro capítulo.
Como adelanto, se puede considerar que las estadísticas a elaborar son generalmente de dos
tipos:

Teoría de Modelos y Simulación. Sistemas Estocásticos. 14


• Basadas en observaciones: El valor de un atributo se promedia de acuerdo a la
cantidad de entidades que comparte n ese valor; por ejemplo, el tiempo medio de
espera.
• Basadas en el tiempo: El valor de un atributo se promedia de acuerdo a su duración;
por ejemplo, la utilización media de un equipo.

Los parámetros básicos, promedio y varianza de una muestra compuesta por n elementos, para
las estadísticas basadas en observaciones se calculan como sigue:
1 n
µ = ∑ xi (10)
n i =1

1 n
σ2 = ∑
n i =1
( x i − µ )2 (11)

Para las estadísticas basadas en tiempo considerando que cada valor xi tiene una duración ti:
n
T = ∑ ti (12)
i =1

1 n
µ=
T
∑ xi t i (13)
i =1

1 n
σ2 =
T
∑ ( xi − µ ) 2 ti (14)
i =1

Para el ejemplo que se está analizando, los resultados de la simulación pued en ser:
• Número de aviones que entraron.
• Número de aviones que salieron.
• Tiempo total de espera.
• Tiempo medio de espera.
• Longitud media de la fila o cola.
• Tiempo de utilización del Taller.

La utilización media se calcula considerando que la utilización es una variable que vale 1
cuando el taller está ocupado y vale 0 cuando el taller está libre; entonces, la utilización media
es un promedio basado en tiempo y se calcula como sigue:
Taller 1 = (2.5 + 3 + 2)/10 = 0.75
Taller 2 = (2 + 1.5 + 1)/10 = 0.45

Talleres utilizados = 0.75 + 0.45 = 1.2

El tiempo ocupado medio (tiempo ocupado/servicios) es un promedio basado en


observaciones:
Taller 1 = (2.5 + 5)/2 = 3.25 días
Taller 2 = (2 + 1.5 + 1)/3 = 1.5 días

Talleres = (3.25 + 1.5)/2 = 2.375 días

Teoría de Modelos y Simulación. Sistemas Estocásticos. 15


Tiempo ocioso medio (tiempo libre/paradas), es un promedio basado en observaciones:
Taller 1 = (1.5 + 1)/2 = 1.25 días
Taller 2 = (2 + 1 + 1.5 + 1)/4 = 1.375 días

Talleres = (1.25 + 1.375)/2 = 1.3125 días

Un enfoque diferente para desarrollar el simulador consiste en centrar la atención en los


procesos que se llevan a cabo en el sistema en lugar de los eventos. Para el caso de un único
taller, el sistema se puede representar con los siguientes procesos (Figura 7): una fuente que
genere los avio nes que requieren mantenimiento, una cola FIFO (first in, first out) que
represente la playa de espera, un servidor que represente el taller, y un sumidero que retire los
aviones del sistema. Entonces, en este enfoque primero se debe implementar un modelo para
cada proceso; luego, estos modelos se vinculan para formar el modelo del sistema.

Entrada Fila Taller Salida

Fuente Cola Servidor Sumidero


Figura 7: Sistema cola-servidor.

El enfoque basado en procesos es más cómodo para el usuario, ya que es mucho má s fácil
trabajar con procesos que con eventos. Por este motivo, la gran mayoría del software
comercial adopta el enfoque de procesos. Sin embargo, éste enfoque es sólo una interfaz, en el
interior del software es el enfoque orientado a eventos el que está implementado.

Teoría de Modelos y Simulación. Sistemas Estocásticos. 16

S-ar putea să vă placă și