Академический Документы
Профессиональный Документы
Культура Документы
Sistemas Estocsticos
Introduccin
En este captulo se estudiarn mtodos para simular sistemas estocsticos. En estos sistemas algn componente tiene una conducta aleatoria. Los sistemas que se estudiarn sern del tipo discreto. Aqu se analizar el enfoque orientado a eventos, dejando para un captulo posterior la presentacin del enfoque orientado a procesos. Un evento es la causa instantnea 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 atencin son los eventos que pueden afectar al sistema. Para ello es necesario determinar los momentos en que los eventos ocurren y modificar adecuadamente el estado del sistema. Para determinar los momentos de ocurrencia de los eventos se estudiarn las dos principales estrategias utilizadas: paso de reloj constante y paso de reloj variable.
Cadenas de Markov
Este tipo de modelo se utiliza cuando la probabilidad condicional de ocurrencia de un evento dado en un intervalo de tiempo t es constante. Por lo tanto, la distribucin de probabilidad incondicional de ocurrencia es exponencial. Una aplicacin de este tipo de modelos es la simulacin de fallas. Considere que una empresa posee dos equipos de computacin que brindan idntico 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 equipos fallan, las prdidas son de $10000 por mes. Estas prdidas 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 reparacin es de $1000 por equipo, y se abona al final de la misma. El tiempo medio de reparacin 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 sistema se puede modelar inicialmente con una mquina de estados finitos, donde los smbolos 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 reparacin.
Teora de Modelos y Simulacin. Sistemas Estocsticos.
RS: El equipo 2 en servicio, el equipo 1 en reparacin. RR: Los dos equipos en reparacin.
Las salidas son las prdidas: 1000 $/reparacin: Cuando se repara un equipo. 2000 $/mes: Cuando un equipo falla. 10000 $/mes: Cuando los dos equipos fallan. Hasta aqu se trata de una mquina de estados finitos comn. 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 calcularn luego a partir de las velocidades medias de los eventos (el de la distribucin exponencial), las cuales son: F1: 1/6 falla/mes. F2: 1/6 falla/mes. R1: reparacin/mes. R2: reparacin/mes. Otro elemento nuevo a considerar es que existe una variable determinstica y continua: el tiempo. Esta variable origina un evento cada mes: FM (fin de mes). La Figura 1 muestra la mquina de estados finitos a utilizar para este ejemplo. $0 $1000 FM F2 $0 SS F1 $0 $2000
FM R1 RS F2 $0
$1000 R2 SR
$1000 R2 FM $10000
F1
$0 RR $1000 R1
$2000
FM
En este modelo se desprecian las probabilidades de las transiciones SR-RS y RR-SS debido a que es improbable que dos eventos ocurran simultneamente.
Como se ver en la seccin siguiente, si el )t es suficientemente pequeo y la velocidad media de ocurrencia es constante, la probabilidad condicional de ocurrencia de un evento x en el instante t probado que 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 simulacin. Retornando al ejemplo anterior, si se adopta un )t = 0.25 mes, las probabilidades 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 nmero aleatorio R y se compara con la probabilidad 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 slo ocurra un evento o ninguno debido a la hiptesis 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 mtodo anterior que considera las correspondientes probabilidades. La Tabla 1 muestra la planilla de Excel utilizada para realizar el sorteo con la siguiente frmula: =SI(ALEATORIO()<Probabilidad, S, No).
Tabla 1: Determinacin de ocurrencia de los eventos. Eventos Probabilidades Ocurre F1 0.04 No F2 0.04 No R1 0.12 S R2 0.12 No
De esta forma se procede para los 12 meses. La Tabla 2 muestra los pasos de la simulacin. 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 mayora de ellos nada ocurre, por ese motivo en los meses siguientes slo se muestran los intervalos donde algn evento ocurri. Note tambin que al final del mes el evento FM evita que cualquier otro evento ocurra (por la hiptesis 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 permitir que otro evento pueda ocurrir al final del mes; en ese, caso se deber decidir el orden de ocurrencia de esos dos eventos simultneos para poder procesarlos adecuadamente. Como resultado de la simulacin se puede estimar que las prdidas anuales sern del orden de los $45000. Es necesario considerar que el resultado que se obtuvo cambiar cuando se realice nuevamente la simulacin. Esto es precisamente el problema de los sistemas estocsticos. Esta situacin obliga a desarrollar tcnicas que permitan obtener resultados ms
Teora de Modelos y Simulacin. Sistemas Estocsticos.
confiables. Estas tcnicas son mtodos estadsticos que se utilizan para estudiar una muestra conformada por los resultados obtenidos de varias simulaciones. Dichos mtodos sern estudiados en otro captulo. Un problema adicional que presentan los sistemas estocsticos 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 debern ser determinados a partir de mediciones, experimentos o datos histricos. Nuevamente, existen mtodos estadsticos para este fin, y sern objeto de estudio de otro captulo.
Tabla 2: Simulacin con paso de reloj constante. Mes 0.00 0.25 0.50 0.75 1.00 2.00 2.25 3.00 4.00 4.50 5.00 5.25 6.00 6.50 7.00 7.25 7.50 8.00 9.00 9.50 10.00 11.00 12.00 Evento Estado SS SS SS SS SS SS SR SR SR RR RR RS RS SS SS RS RR RR RR RS RS RS RS Prdida [$]
FM FM F2 FM FM F1 FM R2 FM R1 FM F1 F2 FM FM R2 FM FM FM Total
0 0 0 2000 2000 0 10000 1000 2000 1000 0 0 0 10000 10000 1000 2000 2000 2000 $45000
probabilidad condicional, todos los restantes pasos de simulacin son iguales a los realizados en el ejemplo anterior. En el caso especial de la distribucin exponencial, se tiene: f (t ) = e t F (t ) = 1 e t La probabilidad condicional ser: Pc (t ) = F (t ) F (t t ) = F (t ) = 1 e t 1 F (t t )
El resultado es constante. Para .)t 0.1 la siguiente aproximacin (que utiliza la serie de Taylor) es vlida: Pc (t ) = F (t ) = t (6) Este resultado fue utilizado en la seccin anterior. Para mostrar la estrategia de simulacin cuando la probabilidad condicional es variable considere el siguiente problema. Se desea determinar la energa total diaria que deber producir una usina para satisfacer la demanda variable. La usina cuenta con tres modos de generacin, a saber: Baja potencia (BP): genera 10 MW. Media potencia (MP): genera 30 MW. Alta potencia(AP): genera 60 MW. El modo de generacin se elige de acuerdo a la demanda. En consecuencia, los cambios de modo de generacin ocurren en el entorno de determinadas horas del da. Las distribuciones probabilsticas 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): entre 17:00 y 18:00 h. f(x) 1
BM MA AM MB
12
24 t
El sistema puede ser modelado inicialmente con una mquina de estados finitos, donde los eventos son los cambios de modo de generacin: BM, MA, AM y MB; y los estados son los modos de generacin: BP, MP y AP. Las salidas reflejarn la energa producida en cada estado. La Figura 3 muestra la mquina de estados finitos correspondiente.
La distribucin de probabilidad de cada evento es uniforme en el correspondiente intervalo [tmin , tmax] de duracin 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 vara con t.
BM 10*tBP BP 30*tMP MB MP
MA
30*t MP AP 60*t AP AM
La Tabla 4 contiene los resultados de una simulacin realizada para un da con t = 0.25 h. La determinacin 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 nmero aleatorio R es menor o igual a Pc(te). En la tabla de simulacin slo figuran los instantes en que el estado del sistema cambi. Debido a que se desea completar 24 hs de simulacin, la misma se detiene cuando la usina est en el estado BP, y debe calcularse la energa producida en ese estado ya que todava no fue computado por no haber abandonado dicho estado.
Tabla 3: Determinacin de la ocurrencia de un evento. t 0.25 te 0.5 Ocurre: Pc( te ) 0.33 No R 0.72
Tabla 4: Simulacin de la usina. t 0.00 5.25 7.75 13.25 17.50 24.00 tmin 5.00 5.00 7.00 13.00 17.00 17.00 te Pc(te) R Evento Estado BP MP AP MP BP BP Total = Energa [MW.h] 52.50 75.00 330.00 127.50 65.00 650.00
BM MA AM MB
La Tabla 5 presenta los resultados obtenidos de una simulacin utilizando las probabilidades condicionales y t = 1 mes. Las probabilidades condicionales son constantes debido a que las distribuciones son exponenciales. El procedimiento seguido es idntico al empleado en los ejemplos anteriores. Para determinar si un evento ocurre se compara el nmero aleatorio R con la probabilidad condicional Pc correspondiente calculada con la ecuacin (5). Si R es menor o igual que Pc, el evento ocurre. Nuevamente, se adopta la hiptesis de un nico evento por t. Dado el tamao del paso utilizado, es difcil que esta hiptesis se cumpla, y seguramente el error es grande. Sin embargo, este error se puede reducir a voluntad reduciendo el paso.
Tabla 5: Simulacin con probabilidad condicional. Mes 0 1 2 3 4 5 6 7 8 9 10 11 12 PcF 0 0.15 0.39 0.15 0.15 0.15 0.15 0.39 0.39 0.15 0.15 0.15 0.15 PcR R 0.12 0.24 0.66 0.83 0.92 0.12 0.99 0.16 0.75 0.65 0.84 0.96 Evento F1 R1 Estado Costo [$] S R 0 S 1000 S S S R 0 R S 1000 S S S S Total = $2000
F1 R1
En la variante del mtodo 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 comienza a ser posible. Entonces, en lugar de generar un nmero aleatorio R en cada paso de reloj, slo se genera un nico nmero en el instante en que el evento comienza a ser posible; es decir, en t0. Este nmero 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 simulacin de 12 meses y t = 1 mes. Note que en este mtodo 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 mtodo de la transformada inversa, F-1(R) es el generador de variables aleatorias correspondiente a la distribucin en cuestin; entonces, ta es una variable aleatoria que tiene dicha distribucin. ste es el principio del mtodo que se presentar en la siguiente seccin.
Tabla 6: Simulacin con probabilidad acumulada. Mes 0 1 2 3 4 5 6 7 8 9 10 11 12 ta 0 1 1 1 2 3 4 1 2 1 2 3 4 F(t)F 0 0.15 0.39 0.15 0.28 0.39 0.49 0.39 0.63 0.15 0.28 0.39 0.49 F(t)R R 0.12 0.24 0.44 Evento F1 R1 Estado Costo [$] S R 0 S 1000 S S S R 0 R S 1000 S S S S Total = $2000
F1 0.56 R1 0.40
Para superar estos inconvenientes se desarroll la estrategia de simulacin 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 distribucin 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 registran todos los eventos futuros posibles junto con el correspondiente tiempo que resta hasta la ocurrencia de dichos eventos; por ejemplo, la prxima falla de la mquina 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, tambin debe ser conocido. Eventos iniciales: Son los eventos que ocurrirn en el tiempo inicial. Deben ser conocidos. El programa principal: Ejecuta una serie de rutinas para inicializar la simulacin y desarrollarla. Rutinas: Destinadas a procesar los eventos. Los siguientes cuadros muestran el pseudo-cdigo del programa principal y las rutinas ms importantes.
Program Principal; Begin Inicializar_Simulacin; Repeat Procesar_Agenda; Avanzar_Reloj Until Final End. Procedure Inicializar_Simulacin; 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;
Procedure Evento.Procesar; Begin Modificar_Estado; Procesar_Eventos_Asociados; Programar_Eventos_Futuros; Cancelar_Eventos_Futuros End; Procedure Anvanzar_Reloj; Begin Paso := Mnimo(Eventos.Tiempos); tiempo := tiempo + Paso; For Evento 0 Agenda do Evento.Tiempo := Evento.Tiempo-Paso End;
A fin de ilustrar este mtodo, considere que una empresa dispone de un equipo de computacin, y que los eventos posibles son: F1: Falla el equipo. Distribucin exponencial con media de 6 meses. R1: Reparacin del equipo. Distribucin exponencial con media de 2 meses. Los estados posibles son: S: La computadora funciona. R: La computadora est siendo reparada. Las salidas son: 1000 $/reparacin: Costo de la reparacin. 2000 $/mes: Prdidas causadas por no contar con el equipo. A diferencia del ejemplo anterior, las prdidas causadas por no contar con el equipo ocurren en forma continua y no slo a fin de mes. Para no perder la ventaja que brinda el paso variable se opta por calcular el total de la prdida cuando el equipo termina de ser reparado; por lo tanto, se tiene una nica salida: $1000+$2000*)tFalla, donde se considera el tiempo que la computadora estuvo sin funcionar. F1 S $1000+$2000*)t Falla R1
Figura 5: Mquina de estados finitos para una computadora.
$0 R
El punto de partida es el mes 0 con la computadora funcionando. A fin de inicializar la simulacin, se programa un evento inicial ficticio denominado Inicio. La nica misin de este evento es programar la primera ocurrencia de F1. Entonces, la rutina Inicializar_Simulacin 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 distribucin
Teora de Modelos y Simulacin. Sistemas Estocsticos.
10
probabilstica asociada a F1; en este ejemplo, se utiliza un generador con distribucin 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 tiempos 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 accin, el estado de la mquina cambia a R y se programa el prximo 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 distribucin probabilstica asociada a R1; en este ejemplo, se utiliza un generador con distribucin exponencial y tiempo medio de 2 meses. Si hubiera eventos asociados, se procesaran en este punto con la rutina Procesar_Eventos_Asociados. Adems, 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 simulacin. En el prximo ciclo, el paso ser igual al tiempo de ocurrencia del nico evento programado, R1, el reloj avanzar y se ejecutarn las correspondientes rutinas. Los resultados obtenidos para un ao de simulacin se resumen en la Tabla 7.
Tabla 7: Simulacin con paso de reloj variable. Mes 0.00 0.00 3.20 3.20 4.28 4.28 13.04 )t 0.00 3.20 0.00 1.08 0.00 8.76 --Evento Futuro Inicio F1 F1 R1 R1 F1 --Total Evento Estado Costo [$]
Inicio F1 R1 Fin
S S R R S S
0 3160 0 $3160
11
Experimentacin: Estudiar los costos con un taller y con dos talleres. Implementacin de los resultados: Dejar un solo taller o alquilar otro.
Una notable mejora del proceso anterior se obtiene utilizando un modelo probabilstico en lugar de los datos experimentales. Este modelo surge de procesar dichos datos con mtodos estadsticos como los que se estudiarn en otro captulo. El resultado puede ser un conjunto de probabilidades condicionales: Probabilidad de Falla: 0.5 Tiempo de Reparacin: 0.5, 1, 1.5, 2, 2.5, 3 das con una probabilidad de 1/6. Con este modelo estadstico 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 avin necesita mantenimiento, y se puede utilizar un dado para determinar el tiempo de reparacin. La Tabla 8 y la Figura 6 muestran los resultados obtenidos para una simulacin de 10 das. 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 estn desocupados, sin ningn avin en reparacin 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 mxima de 10 a viones. En el caso de dos talleres, la poltica de asignacin 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 da 0 un avin necesita reparacin, debido a que el taller est vaco, el mismo ingresa inmediatamente; por este motivo, el tiempo de entrada al taller es igual al da de revisin 0. El tiempo de salida se calcula sumando los das en el taller ms el tiempo de entrada, para el primer avin 0+2.5 = 2.5. El tiempo total que estuvo detenido el avin se calcula restando al da de salida, el da de revisin; para el primer avin 2.5-0 = 2.5. En el da 1 ningn avin necesita reparacin. El da 2 un avin necesita mantenimiento, pero no puede ingresar porque el taller est todava ocupado; por lo tanto, debe esperar. Recin ingresa cuando se desocupa el taller, el da 2.5. Este tiempo corresponde al tiempo de salida del avin que estaba siendo reparado. Entonces, el tiempo de salida del nuevo avin es 2.5+2 = 4.5, y el tiempo total es 4.5-2 = 2.5. Note que el avin estuvo esperando durante 2.5-2 = 0.5; este tiempo muerto genera prdidas para la empresa, y puede ser reducido con el agregado de un taller adicional. Para tomar la decisin final se debe determinar cul es el efecto predominante en los costos, la reduccin del tiempo muerto (reduccin 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 razn, la simulacin de los dos casos se hace con los mismos tiempos de arribo de los aviones ( abla 8). Observe que el avin que llega el da 2 y T que debe esperar 0.5 en el caso de un taller, ingresa inmediatamente en el caso de dos talleres. Es decir, se logra la reduccin de los tiempos muertos; ahora resta determinar si esta reduccin se impone sobre el aumento del alquiler.
12
Tabla 8: Simulacin de talleres de mantenimiento. Un Taller Das Das en Taller 2.5 Entrada 0 2.5 4.5 7.5 9 11 Salida 2.5 4.5 7.5 9 11 12 Total 2.5 2.5 3.5 4 4 4 20.5 Entrada 0 2 4 5 7 8 Dos Talleres Salida 2.5 4 7 6.5 9 9 Total 2.5 2 3 1.5 2 1 Taller 1 2 1 2 1 2 12.0
2 5
5 10
2 1 5
4 3 5
10
Los costos para esta simulacin 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 das. Para tener mayor seguridad es necesario ampliar la muestra. Esto significa, aumentar la cantidad de da simulados y la cantidad de simulaciones. Entonces, conviene desarrollar un simulador por computadora. Para ello, ser necesario reemplazar el modelo fsico por un modelo simblico, y la moneda y el dado por un generador de variables aleatorias. Los eventos a considerar son: Llegada de un avin que necesita ser reparado. Inicio de reparacin. Partida. Adems, se deber decidir cmo ser el paso del reloj, constante o variable. Debido al planteo anterior, la implementacin 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 continuacin se muestra el pseudo-cdigo del simulador:
Teora de Modelos y Simulacin. Sistemas Estocsticos.
13
Program Taller; Begin Inicializar_Variables; Recibir_Datos; Revisar_Eventos; Reportar_Resultados End. Procedure Llegadas; Begin Incrementar_Nmero_de_Aviones; Programar_la_Prxima_Llegada; If Taller.Estado = Libre then Begin Taller.Estado := Ocupado; Programar_Prxima_Partida End else Begin Incrementar_Fila_de_Espera; If Fila > Lmite then Write_Error; Registrar_el_Tiempo_de_Llegada End End; Procedure Partidas; Begin Incrementar_Nmero_de_Aviones_Reparados; If Fila.Estado = Vaca then Taller.Estado := Libre else Begin Calcular_el_Tiempo_de_Espera; Decrementar_Fila_de_Espera; Programar_Prxima_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 programacin hasta la ocurrencia del evento, la programacin de dicho evento slo se debe hacer en el momento a partir del cul dicho evento es posible. En consecuencia, se debe notar que el procedimiento Llegadas siempre programa la prxima llegada y puede programar la prxima partida. En cambio el procedimiento Partidas slo puede programar la prxima partida. Es decir que a lo sumo slo se tendrn dos eventos prximos a revisar para avanzar el reloj, ellos son: Una llegada. Una llegada y una partida. Completada la simulacin, es necesario procesar los resultados obtenidos para elaborar el reporte final. Nuevamente, se aplican mtodos estadsticos que sern objeto de otro captulo. Como adelanto, se puede considerar que las estadsticas a elaborar son generalmente de dos tipos:
Teora de Modelos y Simulacin. Sistemas Estocsticos.
14
Basadas en observaciones: El valor de un atributo se promedia de acuerdo a la cantidad de entidades que comparten ese valor; por ejemplo, el tiempo medio de espera. Basadas en el tiempo: El valor de un atributo se promedia de acuerdo a su duracin; por ejemplo, la utilizacin media de un equipo.
Los parmetros bsicos, promedio y varianza de una muestra compuesta por n elementos, para las estadsticas basadas en observaciones se calculan como sigue: 1 n = xi (10) n i =1 2 = 1 n ( x i )2 n i =1 (11)
Para las estadsticas basadas en tiempo considerando que cada valor xi tiene una duracin ti: T = ti
i =1 n n
(12)
= 1 T
1 T
n
xi t i i =1
(13)
2 =
( xi ) 2 ti i =1
(14)
Para el ejemplo que se est analizando, los resultados de la simulacin pueden ser: Nmero de aviones que entraron. Nmero de aviones que salieron. Tiempo total de espera. Tiempo medio de espera. Longitud media de la fila o cola. Tiempo de utilizacin del Taller. La utilizacin media se calcula considerando que la utilizacin es una variable que vale 1 cuando el taller est ocupado y vale 0 cuando el taller est libre; entonces, la utilizacin 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 observaciones: Taller 1 = (2.5 + 5)/2 = 3.25 das Taller 2 = (2 + 1.5 + 1)/3 = 1.5 das Talleres = (3.25 + 1.5)/2 = 2.375 das ocupado/servicios) es un promedio basado en
15
Tiempo ocioso medio (tiempo libre/paradas), es un promedio basado en observaciones: Taller 1 = (1.5 + 1)/2 = 1.25 das Taller 2 = (2 + 1 + 1.5 + 1)/4 = 1.375 das Talleres = (1.25 + 1.375)/2 = 1.3125 das Un enfoque diferente para desarrollar el simulador consiste en centrar la atencin 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 aviones 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
El enfoque basado en procesos es ms cmodo para el usuario, ya que es mucho ms fcil trabajar con procesos que con eventos. Por este motivo, la gran mayora del software comercial adopta el enfoque de procesos. Sin embargo, ste enfoque es slo una interfaz, en el interior del software es el enfoque orientado a eventos el que est implementado.
16