P. 1
simulacion discreta

simulacion discreta

|Views: 88|Likes:
Publicado porhernancho6819

More info:

Published by: hernancho6819 on Oct 31, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/20/2013

pdf

text

original

21.

2

Ejemplo de una simulación de eventos discretos
Antes de proceder con los detalles del modelado de la simulación, será útil trabajar en un ejemplo de simulación simple para ilustrar algunos de los conceptos básicos de la simulación de eventos discretos. El modelo elegido como ejemplo inicial es un sistema de colas de un solo servidor. Los clientes llegan a este sistema a partir de alguna población y entran al servicio de inmediato si el servidor está desocupado o se unen a la línea de espera (cola) si el servidor está ocupado. Ejemplos de esta clase de sistemas son una peluquería con un solo peluquero, una pequeña dulcería con un solo cajero y un solo expendedor de boletos en una terminal aérea. El mismo modelo se estudió en el capítulo 20 junto con la teoría de colas. En ese capítulo, se usó un modelo analítico para determinar las distintas características de operación del sistema. Sin embargo, se tuvo que hacer varias suposiciones restrictivas para usar la teoría de colas. En particular, cuando se estudió un sistema M/MII, se supuso que tanto los tiempos entre llegadas como los tiempos de servicio tenían una distribución exponencial. En muchas situaciones, es posible que estas suposiciones no sean apropiadas. Por ejemplo, las llegadas a un mostrador de una aerolínea por lo general tienden a ocurrir en grupos, debido a factores como las llegadas de autobuses de transbordo y vuelos de conexión. Para este sistema, se debe usar una distribución de tiempos de llegada, lo que implica que ya no es factible el modelo analítico a partir de la teoría de colas. Con la simulación, se podría usar cualquier distribución de tiempos entre llegadas y tiempos de servicio, dando así mucha más flexibilidad al proceso de solución. Para simular un sistema de colas, primero hay que describirlo. Para este sistema de un solo servidor, se supone que las llegadas se extraen de una población demandante infinita. Hay una capacidad ilimitada de la sala de espera, y los clientes serán atendidos en el orden que llegan; es decir, primero en llegar, primero en ser atendido (FCFS,jirst come.first served). Se supone además que las llegadas ocurren una a la vez en un modo aleatorio, con la distribución de tiempos entre llegadas como se especifica en la tabla l. Finalmente se atienden a todos, con la distribución de tiempos de servicio mostrada en la tabla 2. Se supone también que los tiempos de servicio son aleatorios. Después del servicio, los clientes vuelven a la población demandante. Este sistema de lineas de espera se puede representar como se ilustra en la figura 1.

2 1 •2

EjemplO de una simu ación de eventos discretos

1147

El concepto de eventos tiene una relación estrecha con el estado del sistema.25 Antes de explicar los detalles de la simulación. una llegada. tiempo en una simulación se mantiene por medio de una variable llamada tiempo de loj. Estas acci nes se pueden resumir como se muestra en la figura 2. Toda la información acerca de ellos se mantiene en una lista llamada . este ejemplo. lo es más importante. el cliente se agrega a la línea de espera. Si el servidor está disponible. de eventos. si el servidor está pado o disponible.30 . se programa el tiempo de partida del primer cliente. Esta llegada encuentra al servi disponible y es atendida de inmediato. es necesario definir el estado de este tema y entender los conceptos de eventos y tiempo de reloj dentro de una simulación. sólo hay dos eventos posibles que bian el estado del sistema: una llegada al sistema y una salida al completar el servicio. se mantiene un registro del tipo de eventos programados y. Si el servidor está ocupado. En esta lista. el tiempo al que está programado que estos eventos tengan lugar. to se define como una situación que causa que cambie de forma instantánea el estado sistema.35 AO . A continuación. 7 la simulación. El concepto de tiempo de reloj será evidente a medida que se solucione el ejemplo. Esta simulación se empieza con un sistema vacío y se supone que el primer acont miento. y (3) el tiempo de la siguiente llegada. se atiende cliente.TABLA 1 TABLA 2 Distribución de fiempo entre llegadas TIempo entre llegadas (minutos) Probabilidad 1 2 3 4 .15 Distribución de fiempo de servicio TIempo de servicio (minutos) Probabilidad 1 2 3 . tiene lugar en el tiempo de reloj O. estos acontecimientos se programan para que tengan lugar en ciertos p tos del tiempo. Un e. En el modelo de colas de un solo servidor. Esto se hace al generar al azar un tiempo de servicio de la distribución de tiempos de servicio (descrita después en el capítulo) y establecer el tiempo de partida como Tiempo de partida = tiempo de reloj en este momento + tiempo de servicio generado (l Salidas FIGURA 1 Población olicitante __ L_le_ga_das __ Sistema de colas de un solo servidor 0000 Cola o Desocupado Status del servidor Ocupado FIGURA 2 Cliente que es atendido Cliente que se forma en la cola Diagrama de flujo para una llegada 1148 e A P í TUL o 2 1 Simulación .35 . se usan las siguientes variables para definir el estado del sistema: (1) el mero de clientes en el sistema.20 . Las llegadas en otros puntos del tiempo podrían ercontrar al servidor desocupado u ocupado. (2) el status del servidor -es decir.

la práctica usual es programar una salida ficticia estableciendo un tiempo de partida igual a un número muy grande. El salto al siguiente evento en el mecanismo podría ser uno largo o uno pequeño. Una vez completadas las acciones necesarias para la primera llegada. se quita al primer cliente de la cola y se comienza a atender al cliente estableciendo un tiempo de partida por medio de la ecuación (1).t es alguna unidad de tiempo apropiada. Después de cada actualización del reloj. los saltos en este método son de tamaño variable. es decir. debido a la forma como se actualiza el reloj. entonces el tiempo de partida para el primer cliente se establecerá en el tiempo de reloj 2. se explora la lista de eventos para determinar el siguiente evento programado y su hora. se pasan por alto los periodos de inactividad entre eventos saltando de un evento a otro. si el sistema está desocupado. donde !::. no es posible programar salidas. se comprueba si algún evento está programado para que tenga lugar en el tiempo de reloj actual. se llevan a cabo las acciones apropiadas para cada evento. 9999 (o más grande si es probable que el tiempo de reloj sea mayor que 9999). Este enfoque se confronta con el método de tiempo de avance de incremento fijo. De esta manera. Estas acciones de partida se resumen en la figura 3. ahora se programa la siguiente llegada al sistema generando al azar un tiempo entre llegadas a partir de la distribución de tiempo entre llegadas y estableciendo el tiempo de arribo como Tiempo de llegada = tiempo de reloj en el momento + tiempo entre llegadas generado (2) Si. Se adelanta el reloj de simulación al tiempo de evento inminente más importante. Si está programado un evento. por ejemplo. si se generó un tiempo entre llegadas de un minuto. por ejemplo. la siguiente llegada se programará para el tiempo de reloj 1. se generó un tiempo de servicio de dos minutos. Ambos eventos y sus tiempos programados se mantienen en la lista de eventos. los dos eventos consistirán en una llegada real y una salida ficticia. Si nadie está esperando. se fija el status del sistema a desocupado. A medida que se pasa de un evento al siguiente. Así. es decir. Para una salida.. Si el siguiente evento es una salida.NO ¿Hay alguien en la cola? SÍ FIGURA 3 Quitar al cliente de la cola y empezar el servicio Fijar el status del sistema a desocupado Diagrama de flujo para una salida También. Así.t unidades de tiempo. se adelanta el reloj de simulación en incrementos de !::. se mueve el tiempo de reloj al tiempo programado de llegada y se pasa por la secuencia anterior de acciones para una llegada. un tiempo de partida sólo se puede programar cuando un cliente entra al servicio. se tenga una llegada y una salida programada para el futuro. Si el siguiente evento se determina como una llegada. Puesto que las variables de estado cambian sólo en los tiempos de evento. se mueve el tiempo de reloj al tiempo de salida y se procesa una salida. Con este método. incluso cualquier programación de eventos futuros. Este método de simulación se llama mecanismo de tiempo de avance del siguiente evento. el primer evento en la lista de eventos. Sin embargo. por lo común una unidad de tiempo. Por otro lado.. se llevan a cabo las acciones apropiadas para 2 1 •2 Ejemplo de una simulación de eventos discretos 1149 . Se continúa de esta manera hasta que se satisface alguna condición de paro especificada previamente. se comprueba si la longitud de la línea de espera es mayor que cero. Si es así. el procedimiento requiere que en algún punto de la simulación. En estos casos. una llegada futura siempre se programa al procesar una nueva llegada al sistema. De manera similar.

el tiempo entre la segunda y la tercera llegada también son dos unidades de tiempo. o si ya se completaron las acciones requeridas para el tiempo actual. de la cual se puede ver que el tiempo entre la primera y la segunda llegada son dos unidades de tiempo. Para demostrar el modelo de simulación. Por último. En otras palabras. Sin embargo. (Observe que DT debe ser mayor que MX). A continuación se genera un tiempo de servicio (bloque 7) y se establece el tiempo de partida para este cliente (bloque 8). por medio de un ejemplo numérico. de la tabla 3. En consecuencia. se establece que AT = O. el tiempo de servicio para el primer cliente son tres unidades de tiempo. se comienza la simulación con valores iniciales de las variables (bloque 1 de la figura 4). así que se tendría que contar con un sistema eficaz de búsqueda en la lista de eventos. el cliente 1 saldrá del sistema al tiempo de reloj 3. TM. se determina simplemente el siguiente evento comparando AT y DT. TE (bloque 9) y fijando el tiempo de esta llegada por medio de la ecuación AT ° ° ° ° ° 1150 e A P ¡TU l o 2 1 Simulación . De manera similar. Puesto que la simulación consiste en sólo dos eventos. primero se establece SS = 1 para indicar que ahora el servidor está ocupado (bloque 6). Para esta parte de la simulación. Puesto que se supone que la primera llegada tiene lugar en el tiempo 0.cicn de computadora de la simulación mostrada en la tabla 4. Esto implica que la lista de eventos ahora consiste en dos eventos programados: una llegada en el tiempo cero y una salida ficticia en el tiempo 9 999. (En otras simulaciones. Es decir. Los bloques del diagrama de flujo se numeran para tenerlos como referencia. indicado por el hecho de que SS = (bloque 4). así que se fija SS = 0. En este punto. TS para el segundo cliente también son tres unidades de tiempo.) AT < DT indica una llegada. WL = y DT = 9999. El mecanismo de tiempo de avance de incremento fijo es más fácil de comprender. = longitud de la línea de espera °= desocupado) longitud (en unidades de tiempo) de una ejecución de la simulación Una vez tomados en cuenta estos preparativos. etcétera. al tiempo del evento 1 (bloque 3). AT = es menor que DT = 9 999. el cliente entra al servicio de inmediato. el método del siguiente evento sólo se usa para obtener los modelos del resto del capítulo. se actualiza el reloj de simulación por 6.el suceso. DT < AT una salida. se ve que STpara el cliente 1 es 3. para la mayoría de los modelos el mecanismo del siguiente evento tiende a ser más eficaz en cuanto a cálculos.t unidades y se repite el proceso. En este momento se está listo para la primera acción en la simulación: buscar en la lista de eventos para determinar el primer evento (bloque 2). Ahora se ilustran los mecanismos de la simulación del sistema de colas de un solo servidor. se fija DT = 3 para el primer cliente. se fija TM = O. Se marca con 1 este evento y se actualiza el tiempo de reloj. Puesto que TM = en este punto. se supone que tanto los tiempos entre llegadas (TE) como los tiempos de servicio (TS) ya se generaron para los primeros clientes a partir de las distribuciones de probabilidad de las tablas 1 y 2. En particular. es necesario definir varias variables: TM DT SS WL MX = tiempo de reloj de la simulación AT = tiempo programado para la siguiente llegada = tiempo programado de la siguiente salida = = status del servidor (1 = ocupado. se programa la siguiente llegada al sistema generando un tiempo entre llegadas. lo cual indica que a continuación tendrá lugar una llegada. se podría tener más de dos eventos. Estos tiempos se muestran en la tabla 3. debido a sus pasos fijos en el tiempo. La llegada en el tiempo encuentra vacío al sistema. se quiere mostrar cómo se representa el modelo de simulación en la computadora a medida que la simulación avanza por el tiempo. El proceso de simulación completo para el modelo de colas con un solo servidor se presenta en el diagrama de flujo de la figura 4. etcétera. para completar las acciones de procesar una llegada. Con esto se completa el proceso de condiciones iniciales y se obtiene la represenz. Al igual que con el método del siguiente evento. se continúa de esta manera hasta que se alcanza la condición de paro preespecificada. Por simplicidad. En consecuencia. Si no está programada ninguna. Se supone también que el sistema está vacío en el tiempo 0.

G WL = O Servidor ocupado ¿Es SS = O? Servidor ocupado ¿Es WL > O? WL > O Actualice WL = WL + I NO ¿Es TM 2: MX? sí >---------1 Imprima los resultados y deténgase = TM + TE (bloque 10). 2 1 •2 Ejemplo de una simulación oe eventos discretos 1151 . En caso afirmativo. de aquí en adelante. Es decir. se fija AT = 2. se procede a bloquear 18 para determinar si el tiempo de reloj. la segunda llegada tendrá lugar al tiempo de reloj 2. imprima los resultados (bloque 19) y detenga la ejecución. MX. se supone que MX es un número grande.--------. Sin embargo. En esta etapa de la simulación. En consecuencia. TM. ha excedido el tiempo de simulación especificado. no se hablará del proceso de terminación. para este ejemplo. Este proceso se ejecuta al final de cada evento.FIGURA 4 Diagrama de flujo del modelo de simulación para el sistema de colas con un solo servidnr .-------'------. Al final del suceso 1. la representación de computadora de la simulación será como se muestra en la tabla 4.'0 Condiciones iniciales de "-!J las variables de estado Procesar una llegada ¿Es AT < Procesar una salida on . A esto se le conoce como proceso de terminación. Puesto que TE = 2.

es decir. Esto completa las acciones necesarias para el evento 2. será una salida en el tiempo de reloj 3. De nuevo se retorna al bloque 2 para determinar el siguiente evento. Puesto que AT = 2 Y DT = 3. evento 2. se ve que en este punto (fin del evento 2). A partir de la representación de computadora para el sistema en la tabla 4. el siguiente evento. Se adelanta el reloj al tiempo de esta salida. DT = 3 es menor que AT = 4. se adelanta la simulación al tiempo de este arribo actualizando TMa2. La llegada en el tiempo 2 encuentra ocupado al servidor. se actualiza TM a 3 (bloque 11). la siguiente llegada tiene lugar en el tiempo de reloj 4. Esto implica que el siguiente evento. 1152 e HiT 2 1 Simulación U LO . evento 3. será una llegada en el tiempo 2. Puesto que el evento actual es una llegada. Dado que TE = 2 para la llegada 3.TABLA 3 Tiempos entre llegadas y servicio generndos Número de cliente Tiempo entre llegadas (TE) Tiempo de servicio (TS) 1 2 3 4 5 6 7 8 9 2 2 3 4 2 1 3 3 3 3 2 l l 2 l 2 TABLA 4 Representación de computadorn de la simulación Tipo de evento Número de cliente Variables del sistema TM Lista de eventos Fin del evento SS O 1 1 1 1 1 1 l O 1 O 1 1 1 O 1 Wl O O 1 O 1 O 1 O O O O O 1 O O O AT OT O 1 2 3 4 5 6 7 Condiciones iniciales Llegada Llegada Salida Llegada Salida Llegada Salida Salida Llegada Salida Llegada Llegada Salida Salida Llegada l 2 1 3 2 4 3 4 5 5 6 7 6 7 O O 2 3 4 6 7 O 2 4 4 7 7 11 11 11 13 13 14 17 17 17 20 9999 3 3 6 6 8 8 9 9999 12 9999 15 15 16 9999 19 8 9 11 12 13 14 15 16 17 8 9 10 11 12 13 14 15 8 En este punto. se retorna al bloque 2 para determinar el siguiente evento. así que se coloca a este cliente en la línea de espera al actualizar WL de O a 1 (bloque 5). Una vez determinado el siguiente evento. en este momento se programa la siguiente llegada al sistema.

el sistema permanece desocupado hasta que llega un cliente. Los temas estadísticos se estudian con más detalle más adelante en el capítulo. se procesa la primera salida del sistema. el sistema se desocupa. De aquí en adelante.FIGURA 5 Representación continua de tiempo de la simulación de un solo servidor Tiempo En el tiempo 3. Con la salida. definimos 55=0 (bloque 13) y DT=5999 (bloque 14). como la que está entre los tiempos 9 y 11. establezca WL = O (bloque 15) y se atiende al cliente generando un tiempo de servicio. Puesto que TM = 3. Aquí. se deja al lector que solucione la lógica de la simulación para el resto de los eventos de este ejemplo. ST (bloque 16). las letras A representan las llegadas y las letras D las salidas. Por ejemplo. se tiene un cliente esperando. En la tabla 4 se muestra el status de la simulación al final de cada uno de estos eventos. se establece DT = 6. 10 y 14 (todos ellos salidas). Se saca a este cliente de la línea de espera. significa que el sistema está desocupado. Observe que las áreas rayadas. En el resto del capítulo. Ahora ya se completaron las acciones para el evento 3. . Este ejemplo ilustra algunos de los conceptos básicos en la simulación y la forma como se puede usar para analizar un problema particular. nos ha dado un ejemplo específico y. En cada caso. Durante la secuencia de acciones para estos eventos. se podría ampliar el diagrama de flujo para calcular e imprimir el tiempo de espera promedio. Aunque es probable que este modelo no se utilice para evaluar muchas situaciones de importancia. lo que es más importante. se analizan algunos de estos conceptos de simulación con más detalle. De la tabla 3. No se hizo mención en el ejemplo de la colección de estadísticas. y estableciendo el tiempo de partida por medio de la relación DT = TM + ST (bloque 17). con lo que se obtiene la representación de computadora mostrada en la tabla 4. introdujo diversos conceptos clave de simulación. pero los procedimientos se pueden incorporar fácilmente en el modelo para determinar las medidas de desempeño de este sistema. se ve que para el cliente 2. ahora el servidor se desocupa. Se comprueba el status de la cola para ver si hay clientes esperando ser atendidos (bloque 12). Puesto que WL = 1. el número promedio en la línea de espera y la proporción de tiempo desocupado. Esta simulación se resume en un diagrama continuo de tiempo de la figura 5. ST = 3. Obsérvese que al final de los eventos 8.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->