1. INTRODUCCIN.................................................................................................... 3 2. EXTEND. ................................................................................................................. 4 2.1. QU ES EXTEND?......................................................................................... 4 2.2. CMO ENTRAR A EXTEND?...................................................................... 4 2.3. ENTORNO. ....................................................................................................... 5 2.4. USOS DE EXTEND........................................................................................ 11 2.5. VENTAJAS E INCONVENIENTES AL SIMULAR CON EXTEND. ......... 11 3. SIMULACIN DE EVENTOS EN TIEMPO CONTINUO. ................................ 12 3.1. LIBRERA GENRICA.................................................................................. 12 3.2. EJEMPLOS. .................................................................................................... 20 4. SIMULACIN DE EVENTOS DISCRETOS....................................................... 23 4.1. LIBRERA DE EVENTOS DISCRETOS. ..................................................... 23 CONECTORES COMUNES EN LOS BLOQUES DE LA LIBRERA DE EVENTOS DISCRETOS. ...................................................................................... 30 4.2. EJEMPLOS. .................................................................................................... 32 5. CORRER UNA SIMULACIN CON EXTEND. ................................................. 36 6. OTRAS LIBRERIAS DE UTILIDAD. .................................................................. 38 ANEJO A.................................................................................................................... 40 PROBLEMAS DE EVENTOS EN TIEMPO CONTINUO. ................................. 40 PROBLEMAS DE EVENTOS EN TIEMPO DISCRETO.................................... 54
Simulacin con Extend Curso 2007-2008
1. INTRODUCCIN
En una empresa, industria o negocio, evaluar opciones para tomar una decisin no es una tarea fcil. En un mundo en el que cada da se diversifica la variedad de alternativas y se intensifica el ritmo competitivo, la exigencia por resultados rpidos y anticipados requiere enfoques y herramientas innovadoras y potentes.
Ejemplo de ello se puede apreciar en el siguiente caso: el restaurante Can Ninot goza de gran popularidad, la demanda de clientes que requieren su servicio es cada vez mayor, la administracin prev que dentro de poco tiempo sern ineficientes las instalaciones con las que se cuenta, hecho que podra afectar la calidad del servicio que lo distingue como el mejor restaurante de la ciudad. Previendo esto se quiere implantar una estrategia de gestin efectiva para continuar con el xito del negocio. Sabiendo que si no se acta, el restaurante Chiness aprovechar cualquier oportunidad para quitarle clientela.
En este sentido la cuestin que se plantea es Qu decisin tomar dentro del plan de accin?: Ampliar las instalaciones, cambiar el diseo de las mesas, requerir ms camareros, ampliar el horario, realizar reservas, pagar overbooking, incrementar los precios. Cual es la ms indicada de acuerdo al presupuesto?, Existe limitante de espacio?, Cual de ellas arroja el mejor beneficio?.
El mundo actual es muy competitivo, por lo tanto tenemos que buscar herramientas de apoyo para tomar decisiones efectivas y eficaces.
En este contexto la simulacin constituye una metodologa capaz de dar respuesta a estas cuestiones. La simulacin puede ayudar a predecir el impacto de determinadas acciones sin incurrir en los riesgos, compromisos y plazos de una implementacin real. En entornos competitivos, la disponibilidad de herramientas de apoyo a la toma de decisiones resulta importante para toma de decisiones efectivas y eficaces.
Antiguamente el empleo de la simulacin era reducido o nulo. Ello debido al inconveniente computacional, que imposibilitaba obtener respuestas oportunas a las interrogantes planteadas y/o realizar modificaciones del modelo, as como a la complejidad en el algoritmo para simular, por ello solo expertos en materia de programacin podan hacerlo. No obstante ahora con el desarrollo de la tecnologa estos inconvenientes se han ido disminuyendo.
Hay una gran variedad de entornos que ayudan al desarrollo de la simulacin, como ejemplo se puede citar: Microdinamo, Stella, Extend, Arena, etc. En este texto nos centraremos en la introduccin al uso de EXTEND.
Simulacin con Extend Curso 2007-2008 2. Visin general de EXTEND
2.1. Qu es extend? Extend es una herramienta de simulacin que permite visualizar en forma intuitiva el comportamiento de un sistema dinmico. Basado en una arquitectura de bloques preprogramados en ambiente grfico que permite reproducir procesos y operaciones en una amplia gama de aplicaciones, sin necesidad de programacin alguna. Se entender por simulacin la definicin dada por Shannon: proceso de disear un modelo de un sistema real y realizar experimentos con l para entender el comportamiento del sistema o evaluar varias estrategias (dentro de los lmites impuestos por un criterio o conjunto de criterios) para la operacin del sistema.
Para ejemplificar lo anterior se analizar la cola creada en una verdulera (Fig.1).
Qu elementos comprenden el sistema? 1. Dependiente que atiende a los clientes. 2. Cliente que espera ser atendido. 3. Entrada y salida a la verdulera.
SISTEMA MODELO EN EXTEND
Fig. 1. Representacin de la cola presente en una verdulera.
2.2. Cmo entrar a Extend? Una manera de entrar a Extend es dar doble-clic al icono de la aplicacin de Extend (Fig. 2).
Fig. 2. cono de acceso directo para la aplicacin de Extend.
Una vez abierto aparece la ventana Demo.mox (Fig. 3), la cual pone a disposicin una amplia gama de ejemplos de diversos sistemas para observarlos, analizarlos y Simulacin con Extend Curso 2007-2008 estudiarlos. En una primera toma de contacto, en caso de no requerir dicha informacin bastar con cerrar la ventana.
Fig. 3. Ventana Demo.mox.
Para empezar a trabajar se ha de abrir algn modelo, nuevo, si se quiere construir uno, o guardado si ya existe.
2.3. Entorno Hay tres tipos de documentos en Extend: Modelos, libreras y ficheros de texto.
2.3.1. MODELOS
El modelo esta compuesto por un conjunto de bloques enlazados a travs de sus conectores por medio de conexiones que representan el flujo de informacin. Cada bloque contiene la informacin procesal as como datos de entrada o resultados. Una vez creado el modelo, este puede ser modificarlo mediante la agregacin o eliminacin de bloques, moviendo conexiones o cambiando datos del bloque. Cuando se quiere insertar un bloque al modelo, se copia directamente de la librera donde este contenido el bloque.
Extend cuenta con algunos ejemplos de modelos en la carpeta correspondiente (File|Open|Examples). En ella existe una amplia gama de ejemplos que pueden servir como referencia para los modelos que se pretendan construir, ofreciendo un panorama de lo que se puede hacer con Extend en la simulacin de modelos.
2.3.2. BLOQUES
Se puede definir como bloque a la representacin pictogrfica (por medio de iconos) de una funcin. As cada bloque contiene en su estructura un programa donde se especifica la accin o proceso que debe realizar. El bloque es el elemento bsico de un modelo en Extend.
Simulacin con Extend Curso 2007-2008 Para que actu dentro del modelo deber recibir informacin ya sea mediante el ingreso directo de datos a su dilogo de entrada y/o utilizando el conector de entrada, dicha informacin ser procesada por el programa que contiene en su estructura, emitiendo as una salida o resultado, disponible en los dilogos de salida y/o en el conector de salida, de esta manera podr existir un intercambio de informacin de bloque a bloque si se establece una conexin.
Partes de un bloque. Cada bloque esta formado por una serie de mecanismos bsicos como son: PARTE DESCRIPCIN Dilogo Es la ventana que se abre cuando se da doble clic sobre el icono del bloque. El dilogo permite introducir informacin al bloque, as como tambin reportar resultados.
Cdigo ModL ModL es el lenguaje de programacin que hace que el bloque trabaje. El programa lee informacin de los conectores, dilogos y del ambiente del modelo produciendo as una salida que puede ser usada por otros bloques. Un bloque puede tambin preguntar y controlar otros bloques en el modelo a travs de su cdigo. Icono El icono es la representacin pictogrfica del bloque. Se puede dibujar el icono con el dibujo de Extend, o con cualquier otro programa de dibujo, o copiando un icono de otro ambiente. Animacin Es una parte animada del icono, que solo se puede ver si se activa la casilla de Show Animation mientras se corre la simulacin. La simulacin puede ser mostrada sobre el bloque del icono o podra mostrarse tambin fuera de l.
Conectores Los conectores de entrada y salida del bloque. Estos se encuentran en el icono y transmiten la informacin hacia y/o del cdigo del programa. Los bloques pueden tambin transmitir informacin de forma no visible sin usar conectores, a travs de un bloque de mensaje y variables globales.
Texto de ayuda Para acceder a la ayuda se debe dar clic en el botn inferior izquierdo que aparece en el dilogo de cada bloque. La ayuda explica de forma resumida para que sirve cada bloque, sus conectores, cuales son las entradas y salidas, etc.
Dilogo
La mayor parte de los bloques tienen un dilogo asociado con ellos. Una de las funciones de los dilogos es introducir valores y ajustar parmetros, adems de ver los resultados de las corridas de simulacin.
Para abrir el dilogo de un bloque, se deber presionar dos veces el ratn sobre el icono del bloque.
Se pueden dejar dilogos abiertos mientras se esta corriendo la simulacin (aunque esto reduce la velocidad) as se puede ver como varan algunas variables a medida que evoluciona la simulacin. Esto puede resultar til para mostrar valores que se deseen controlar durante la simulacin. Adems tambin es posible modificar el valor de los parmetros de un dilogo mientras se corre la simulacin.
Simulacin con Extend Curso 2007-2008 Un dilogo puede ser muy simple con poca informacin o ms complejo con diferentes pestaas y varios parmetros e incluso tablas. En general siempre aparecen los botones para aceptar (OK) o cancelar (Cancel).
Resumiendo se dir que los dilogos son los mecanismos tiles para:
1. Ingresar datos al bloque del modelo. Por ejemplo introducir el contenido inicial en el bloque Accumulate (Fig. 9).
Fig. 9. Dilogo del bloque Accumulate.
2. Reportar resultados. Por ejemplo en la pestaa de resultados del bloque Queue FIFO (Fig. 10).
Fig. 10. Dilogo del bloque de la cola FIFO.
3. Realizar comentarios o asignar diferentes imgenes para la animacin.
Nota: Si se ha conectado una entrada y tambin a su vez se ha introducido un valor para esa entrada en el dilogo esta ser omitida ya que el valor del conector siempre sobrescribir el valor del dilogo.
Conectores y conexiones.
La mayor parte de bloques en Extend tienen conectores de entrada y salida, representados por pequeos cuadrados conectados a cada lado del bloque. De manera visual se puede observar la diferencia entre el conector de entrada y el conector de salida de un bloque ya que stos ltimos son representados con una lnea ms obscura (Fig. 11).
Fig. 11. Conectores de entrada y salida.
Simulacin con Extend Curso 2007-2008 La informacin que fluye dentro del bloque va del conector de entrada al conector de salida.
Se tiene tres tipos de conectores: Conectores que transportan valores. Conectores que transportan tems. Conector universal, que puede transportar tanto tems como valores.
Los conectores que transportan valores son representados por pequeos cuadros dibujados con lnea sencilla, en cambio los conectores que transportan tems son representados por pequeos cuadros dibujados con lneas dobles, y el conector universal es representado por un cuadrado dentro de un crculo, como se puede apreciar en la Fig. 12.
Fig. 12. Representacin de los diversos conectores.
Los bloques de la librera de eventos discretos tambin contienen conectores de valor, pero sus conectores principales son los conectores de entrada y salida que pasan entidades (llamados tems).
El conector de salida admite enlaces a diferentes bloques. En cambio el conector de entrada slo admite un enlace de conexin.
Para enlazar los bloques a travs de los conectores se utilizan lneas llamadas conexiones, estas muestran el flujo de informacin del bloque a travs del modelo.
Como se observa en la figura las conexiones de modelos de eventos en tiempo continuo se caracterizan por ser lneas simples, y realizar un flujo lgico de valores. En cambio en modelos de eventos en tiempo discretos el flujo lgico es a travs de tems y las conexiones de este tipo de modelo son dobles. (Fig. 13.)
Fig. 13. Representacin de conexiones para bloques de modelos de evento continuo y discreto.
Simulacin con Extend Curso 2007-2008
2.3.3. LIBRERA
Una librera bsicamente se describe como un almacn de bloques. Extend cuenta con un gran nmero de libreras las cuales incluyen bloques que son los elementos que sirven para crear modelos de forma gil y rpida.
Como libreras bsicas de Extend cabe destacar a la librera genrica y a la librera de eventos discretos. No obstante existen libreras complementarias como Manufacturing, BPR, Plotter, Animation, entre otras. Estas libreras en conjunto permiten modelar un importante nmero de procesos sin escribir ninguna ecuacin.
Por otra parte existe la posibilidad de crear nuevos bloques, o modificar los ya existentes y a su vez guardarlos en libreras nuevas o ya existentes.
CMO ABRIR UNA LIBRERA? Para trabajar con Extend y poder crear modelos es necesario tener acceso a los bloques que se van a utilizar en la construccin del modelo. Como esos bloques se guardan en libreras, estas deben ser abiertas previamente para poder tener acceso.
1. Dar clic en el men Library de la barra de comandos. 2. Seleccionar Open library (Fig. 4).
Fig. 4. Open Library de la barra de comandos.
3. Seleccionar del catlogo de libreras disponibles en Extend la que se requiera usar. Por ejemplo la librera Generic. Dar clic en el botn Abrir (Fig. 5).
Fig. 5. Ventana Abrir, muestra las libreras existentes en Extend.
4. Dar clic en Library, Generic.lix, Open Library Windows y aparecer la ventana de la librera con los respectivos bloques, como se muestra en la fig. 6.
Simulacin con Extend Curso 2007-2008
Fig. 6. Librera Generic.
CMO CREAR UNA LIBRERA? El objetivo de crear una librera es reservar un espacio donde guardar bloques propios que se puedan necesitar en la creacin de modelos particulares.
Una vez abierto el programa de Extend: 1. Dar clic en el men Library de la barra de comandos. 2. Seleccionar New Library, ver Fig. 7.
Fig. 7. Men Library de la barra de comandos.
3. Introducir el nombre del archivo.
Fig. 8. Ventana Create New Library.
4. Guardar.
2.3.4. FICHEROS DE TEXTO.
Los ficheros de texto almacenan datos de una forma que puede ser leda por casi cualquier aplicacin. Los ficheros de texto son especialmente usados para importar Simulacin con Extend Curso 2007-2008 largas sumas de datos dentro del modelo, por ejemplo de una hoja de clculo, o exportar resultados o informes a partir de la ejecucin de un modelo.
2.4. USOS DE EXTEND. Extend es una herramienta avanzada de simulacin que puede usarse para las tareas propias de la simulacin como: Predecir el curso y los resultados de ciertas acciones. Entender porque ocurren los eventos observados. Explorar los efectos de las modificaciones. Identificar reas problemticas antes de la implementacin. Confirmar que todas las variables son conocidas. Evaluar ideas e identificar eficiencias. Obtener ideas y estimular el pensamiento creativo. Comunicar la integridad y factibilidad de los planes.
2.4.1. VENTAJAS DE EXTEND. Realizar una interfase grfica mostrando las relaciones en el sistema que se esta modelando. Animar el modelo, para mejorar la presentacin. Descomposicin jerrquica de los modelos, permitiendo que un sistema complejo sea fcil de construir y entender. Probar de manera rpida todas las suposiciones o alternativas del modelo ya que se puede cambiar los valores de manera rpida y eficiente. Reportes para presentaciones y anlisis profundos. Disponibilidad para analizar costos. Optimizacin Evolucionaria, Monte Carlo, batch mode y anlisis de sensibilidad para sistemas ptimos. Disponibilidad para ajustar parmetros mientras la simulacin esta corriendo. 2.5.2. INCONVENIENTES DE EXTEND
El principal inconveniente de Extend es que no es un programa libre, aunque la versin DEMO es muy potente. Otra desventaja sera que no se trata de un software orientado a un rea de simulacin especfica sino que se compone de libreras generales que permitirn tratar problemas a nivel general.
Simulacin con Extend Curso 2007-2008 3. SIMULACIN DE EVENTOS EN TIEMPO CONTINUO.
La simulacin clsica de eventos es generalmente dividida en dos categoras: eventos en tiempo continuo y eventos en tiempo discreto. Una caracterstica propia de la simulacin de eventos continuos representada por el paso del tiempo continuo es que los valores cambian conforme cambia el tiempo (incrementos constantes), en cambio en simulaciones de eventos discretos representadas por el paso de tiempo discreto, las entidades del modelo cambian de estado basados en la ocurrencia de los eventos (incrementos variables). De manera general, en Extend se usa la librera genrica, Generic.mox, para modelar eventos continuos como por ejemplo un juego de azar.
3.1. LIBRERA GENRICA. La librera Genrica puede definirse como un almacn de bloques con funcionalidades especficas, pensadas para su uso en modelos de eventos en tiempo continuo, como puede ser un icono que arroje valores aleatorios, o bien un icono que almacene valores en cualquier momento.
BLOQUES DE LA LIBRERA GENRICA. Una vez abierta la librera genrica (ver seccin 2.3.2.) aparecer la lista de bloques que se muestra en la Figura 14.
Fig. 14. Bloques de la Librera Genrica. stos pueden ser divididos de acuerdo a las funciones que realizan: Series, decisiones, acumuladores, entradas y salidas, matemticas, estadsticos. A continuacin se definen cada uno de ellos: Vector/Arrays: Almacenan, accesan a datos globales. Series Funcin
Global Array Permite el acceso a vectores globales de Extend definidos por el usuario. Los valores de los vectores globales estn disponibles en cualquier parte del modelo. Cualquier bloque de Vector Global puede tener acceso a l. La fila y columna del conector especifican la clula en la serie para el valor de entrada o salida del conector. Simulacin con Extend Curso 2007-2008
Global Array Manager Crea, redimensiona, suprime y visualiza los vectores globales de Extend. Estos pueden ser usados para transferir valores de un punto a otro en el modelo o acumular la informacin. Los vectores manejados por este bloque pueden ser nmeros enteros o reales. Cada serie global es referida por un nombre nico y puede tener cualquier nmero de filas, y hasta 255 columnas.
Decisiones/ Decisions: deciden que valor usar o qu camino tomar. Decisiones Funcin
Decision Representa una decisin lgica basada en la evaluacin de una relacin definida de forma interna a partir de los enlaces del bloque. En esencia se compara el valor de A con B cuando existe, o con una constante cuando no existe. El resultado es 1 0 segn sea verdadero o falso el resultado de la evaluacin.
Select Input Selecciona su salida entre dos entradas basados en un valor umbral. Acta como un interruptor. La entrada superior es usada cuando el valor del conector de T es menor que el valor crtico definido en el dilogo; la entrada inferior es usada cuando el valor del conector de T es mayor que o igual al valor crtico.
Select Input (5) Selecciona su salida segn el valor del conector de T. La entrada superior es seleccionada si el conector de T es 1, y la inferior si el conector de T es 5. El dilogo tambin nos permite especificar un valor de salida de ningn valor o de 0 si el valor en la T es fuera del rango de 1 a 5.
Select output Pasa el valor de entrada a uno de los dos conectores de salida basado en un valor umbral. Es decir el conector de entrada selecciona el conector de salida comparando el valor de T a un valor crtico especificado en el dilogo. El conector de salida superior es usado cuando el valor del conector T es menor que el valor crtico, de lo contrario el conector de salida inferior es usado. El valor de T por defecto es 0.5.
Select Output (5) Pasa el valor de entrada a una de las cinco salidas segn el valor del conector de T. La salida superior es seleccionada si el conector de T es 1 y la salida inferior es seleccionada si su valor es 5. Para los conectores que no son seleccionados, el dilogo le deja especificar un valor de salida de novalue, 0 o de una repeticin del ltimo valor de ellos a la salida.
Simulacin con Extend Curso 2007-2008
Acumuladores/Holding: Acumulan o almacenan valores. Acomuladores Funcin
Accumulate Acumula los valores del conector de entrada de cada paso o acontecimiento y muestra el contenido total en el conector de salida. Esto es esencialmente una operacin de suma sin el retraso. El bloque puede ser usado como un almacn, depsito o reserva.
Holding Tank Acumula el total de los valores de entrada, adems nos permite liberar una cantidad si esta disponible. La cantidad a liberar se especifica en el conector want; tal cantidad sale por el conector get. Se puede decidir si la salida puede tener valores negativos; pero por defecto no se permite.
Holding Tank (Indexed) Este bloque representa una serie de Holding tanks. Este acumula los valores de entrada, permite que el contenido corriente sea reducido una cierta cantidad y reportar el contenido de los tanques. El tank especfico es controlado por su conector toggle. El tank activo es controlado por el conector de entrada el cual especifica el ndice del tanque a ser usado. Ms de 100 Holding Tank pueden ser indexados.
Retain Da como salida el valor inicial colocado en su dilogo hasta que el conector de T es Verdadero (mayor que 0.5) entonces la salida es el valor de su entrada mientras la T es Verdadera. Este bloque conserva el valor corriente en su entrada cuando la T se hace Falsa. Mientras la T es Falsa, el valor que retiene es la salida. Si la T se hace Verdadera otra vez, las salidas de bloque y conserva el valor corriente en su entrada. El valor inicial debe ser especificado en el dilogo (por defecto el valor es 0). El valor conservado y la salida es cambiado al valor de la entrada solo cuando el valor en el conector de T es VERDADERO (mayor que 0.5).
Wait Time Retiene las entradas para una cantidad especificada de tiempo (el retraso). Este bloque no debera ser usado en un modelo de acontecimiento discreto. Este bloque trabaja como un transportador con ranuras: los valores entran en una ranura, la posicin de avance basada en un avance en el tiempo de simulacin, luego salen cuando su ranura alcanza el final del transportador. El nmero de ranuras es igual al retraso.
Simulacin con Extend Curso 2007-2008 Entradas y salidas /Input and output: Leen y escriben filas o generan valores. Input/output Funcin
Constant Genera un valor constante en cada paso. Se especifica dicho valor en el dilogo (por defecto el valor es de 1). Si el conector de entrada es conectado, el valor de entrada es aadido al valor constante en el dilogo. Este bloque es tpicamente usado para colocar el valor de las entradas a otros bloques.
File Input Lee los datos de un archivo de texto en forma de tabla de hasta 5 columnas. En el dilogo se ha de indicar el fichero. Puede ser ficheros de texto u hojas de clculo. Los valores de cada columna se suministran de forma ordenada por cada conector. Este bloque puede ser usado para el control de los parmetros por muchos bloques en un modelo o muchas corridas del modelo.
File Output Escribe los datos de los conectores de entrada a un archivo de texto. Los datos del modelo pueden ser entradas a travs de los conectores de entrada durante la simulacin. Se especifica en el dilogo si el archivo es escrito al final de la simulacin o cuando se pulsa el botn escribir en el dilogo, debiendo indicar el nombre del fichero.
Help Este bloque es obsoleto. Usa un nuevo bloque jerrquico con una descripcin de texto en l. Muestra ayuda del texto. Puedes usar este bloque para documentar tu modelo. Incluye informacin acerca de que es lo que el modelo hace, que impacto especfico tienen los bloques o parmetros sobre el modelo.
Input Data Contiene una tabla de datos con tiempo y valores. Permite interpolar valores para tiempos no tabulados a partir de los valores existentes.
Input Function Genera una funcin dependiente del tiempo. Un parmetro de retraso es incluido para la mayor parte de funciones as que la salida podra ser retardada un tiempo especfico.
Input Random Number Genera nmeros aleatorios basados en la distribucin seleccionada. Se puede usar el dilogo o los tres conectores para especificar argumentos para las distribuciones. Puede seleccionar el tipo de distribucin: Uniforme, Beta, Binomial, Poisson, Triangular Simulacin con Extend Curso 2007-2008 Entradas y salidas /Input and output: Leen y escriben filas o generan valores. Input/output Funcin
Read Out Muestra el valor en el conector de entrada en cada paso de la simulacin. Este bloque viene al frente de la pantalla durante la corrida de la simulacin si la opcin de "Open dilogo" es seleccionado, an delante de cualquier plotters. Esto es til para eliminar fallos del modelo. El campo de Nticks en el dilogo permite colocar un retraso en ticks (60ths de un segundo) para que el bloque haga una pausa mostrando cada nmero.
Prompt Apunta para un valor a la salida si las entradas encuentran una prueba. Hasta que la prueba sea encontrada, la salida de bloque es un valor especificado en el dilogo. Cuando la prueba es encontrada, el bloque apunta para un nuevo valor de salida, entonces la salida es aquel valor. Se puede ingresar un mensaje en el dilogo, tecleando sobre el valor por defecto. Si usted pulsa el botn cancelar en el prompt, la simulacin es parada. Note que la salida de este bloque puede ser cualquier valor, mientras que el bloque de decisin saca slo 1 0.
Sound Emite un sonido cuando el valor de entrada esta por encima o por debajo de un valor crtico especificado en el dilogo. El tipo de sonido se especifica en el dilogo (por defecto es clic). Tambin permite personalizar sonidos almacenados en ficheros generados en la carpeta de Extensiones de Extend.
Stop Detiene la simulacin cuando la entrada esta por encima o por debajo del valor crtico colocado en el dilogo. Este bloque es usado para finalizar la simulacin antes del final especificado en el dilogo de Simulation Setup.
System Variable Permite recuperar algunas variables del sistema y ser usadas en el modelo. Las variables que se pueden usar son: nmero de corrida corriente, paso corriente, tiempo corriente, tiempo final, nmero de corridas, nmero de pasos, tiempo inicial, tiempo de paso.
TimeOut Salidas de un valor verdadero (1.0) en tiempo especfico, y valor falso (0.0) en todos los otros tiempos. En el dilogo, se especifica el tiempo entre valores outputting verdaderos (el retraso o la interrupcin); el valor del dilogo es anulado por el conector de D. El conector de R reinicializa el bloque de regreso al inicio del perodo de retraso.
Simulacin con Extend Curso 2007-2008 Matemtica/Math: Calculando valores. Math Funcin
Suma Este bloque suma las tres entradas de la derecha del bloque y saca el total.
Conversin Function Este bloque arroja una salida que es la entrada modificada por una funcin. Las funciones que se pueden seleccionar del dilogo son: seno, coseno, arcoseno, arcocoseno, arcotangente
Conversin Table Este bloque acta como una funcin de conversin discreta. Contiene una tabla de valores (x dentro y fuera) que son usados para calcular de forma aproximada o interpolar el valor de salida para la entrada dada. La tabla se puede escribir en el dilogo, importado de un archivo, o pegada del portapapeles que usa el comando en el Men edicin. Los valores en la tabla no tienen que estar en el orden clasificado.
Divide Divide la entrada superior por el valor inferior. Puedes escoger si el botn inferior de campo 0 una salida de no valor o parar la simulacin con un mensaje de error.
Equation Arroja los resultados de una ecuacin ingresada en el dilogo, a partir de 5 variables como mximo. La ecuacin debe ser de la forma Results=Frmula. Se puede usar los operadores y funciones de construccin de Extend, y alguno de todos los valores de entrada como parte de la ecuacin. Cada entrada debe nombrarse en el dilogo en orden para usarse en la ecuacin. Extend advertir si es usada en la ecuacin pero no esta conectada.
Exponent Determina la potencia del valor x de acuerdo a el valor y. puedes especificar el valor de y a travs del conector de entrada o en el dilogo. El conector anula el valor del dilogo.
Financials Calcula tambin el inters, periodo, pago, valor presente, valor futuro, basado sobre los otros cuatro valores, se puede especificar los valores en el dilogo, o en los cuatro conectores de entrada pasa saber el valor. Si se conecta los conectores de entrada, se debe controlar la simulacin para calcular el quinto valor.
Simulacin con Extend Curso 2007-2008 Matemtica/Math: Calculando valores. Math Funcin
Integrate Integra la entrada sobre el tiempo. Si el presente, un valor de inicio es aadido a las salidas. Este bloque puede ser usado en un modelo de eventos discretos.
Limits Permite limitar los valores de salida a un rango de valores. El rango es especificado por un conjunto mximo y mnimo en el dilogo. El bloque pasa la entrada a travs de la salida a no ser que la entrada exceda el lmite dado mximo o se caiga debajo del lmite dado mnimo, en el caso de que la salida es aquel lmite.
Logical AND Desarrolla una operacin lgica AND sobre las entradas. Si cada una de las dos entradas es mayor que 0.5, la salida es 1, si ninguna o solo una entrada es mayor que 0.5, la salida es 0.
Logical NOT Desarrolla una operacin lgica NOT sobre las entradas. Si la entrada es mayor a 0.5, la salida es 0, de otra manera es 1.
Logical OR Desarrolla una operacin lgica OR sobre las entradas. Si cualquiera de las entradas es mayor que 0.5, la salida es 1, si ninguna de las salidas es mayor que 0.5, la salida es 0.
Max and Min Determina el mximo y mnimo valor de entre los 5 valores de entrada. El dilogo muestra el valor mximo y mnimo y el conector de entrada de donde ellos vienen. El bloque de salida del valor mximo y mnimo y su respectivo nmero de conector.
Multiply Este bloque multiplica las entradas.
Subtrac Resta el botn inferior del botn superior.
Threshold Tiene una salida de 0 hasta que la entrada excede el valor del umbral; cuando la entrada excede el umbral, la salida es la diferencia entre la entrada y el umbral. El valor del umbral viene del dilogo a no ser que el T conector sea usado.
Time Unit Convierte el valor en el conector de entrada de una unidad de tiempo a otra.
Simulacin con Extend Curso 2007-2008 Estadsticos/Statistics: Calcula la media y la varianza.
Statics Funcin
Clear m v M V SD
Mean & Variance Calcula la media, la varianza, y la desviacin estndar de los valores de entrada durante la simulacin. Si una entrada es un no valor, este es ignorado y no afecta al clculo. Dependiendo de la seleccin en el dilogo, la varianza es calculada como: Suma de (entradas validas-media)^2 / (nmero de entradas) o Suma de (entradas validas-media)^2 / (nmero de entradas-1) La varianza es computada usando 1/(N-1) como un factor promedio. Simulacin con Extend Curso 2007-2008 3.2. EJEMPLOS
PROBLEMA 3.1. PROYECTO
Suponer un proyecto que consta de 6 actividades. Cada actividad tiene un costo asociado del que se conoce su rango posible de variacin (ver tabla 1). A partir de cada actividad se puede construir la funcin de costos total como una suma de los costos de cada actividad. Asumiremos que el costo de cada actividad es independiente y que no hay interacciones.
Se necesita un bloque que permita representar el rango de variacin del costo de cada actividad, en este caso el bloque Input Random Number genera nmeros aleatorios acorde a una distribucin. En este sentido la distribucin real uniforme permite generar nmeros aleatorios de acuerdo a un rango de valores, tal y como se desarrolla cada actividad, por lo que este bloque coincide perfectamente con el requerimiento para poder modelar el proyecto (Fig. 15).
Fig. 15. Bloque Input Random Number.
La actividad que no tiene variacin en sus costes, puede ser modelada con el bloque constant.
Para sumar el valor de las actividades se cuenta con un bloque add, el cual solo permite la entrada de tres valores por lo que deberemos sumar por partes.
Simulacin con Extend Curso 2007-2008 De esta forma el modelo queda de la siguiente manera (Fig. 16):
Fig. 16. Solucin del modelo del problema 1: Proyecto.
A continuacin se citan diversos problemas, la solucin aparece en el Anexo A.
PROBLEMA 3.2. CAJA DE AHORRO.
Juan desea planear sus vacaciones para el prximo ao por lo cual ha decidido guardar 850 en la caja de ahorros SR Direct la cual ofrece una tasa de inters compuesto del 6% nominal en el primer mes y del 1% nominal en los meses restantes. Adems prev unos gastos de 50 /mes. De esta manera Juan esta interesado en saber cuanto dinero disponible tendr dentro de 12 meses.
PROBLEMA 3.3. JUEGO DE AZAR.
Se propone participar en un juego de azar que consiste en el lanzamiento de monedas. El juego es el siguiente: se debe pagar 1 por cada lanzamiento, el jugador gana 10 cuando obtiene 3 caras seguidas.
Interesa o no participar?.
PROBLEMA 3.4. PRESA/CAZADOR.
El problema consiste en construir la dinmica de un pequeo ecosistema compuesto de liebres y linces. Cada poblacin tiene un efecto directo sobre otro: el alimento de los linces son las liebres, as que la disminucin de la poblacin de liebres causa un decremento en la poblacin de linces, etc.
Algunos supuestos son:
El ecosistema inicial de 100 hectreas contiene 6000 liebres y 125 linces. Simulacin con Extend Curso 2007-2008 En promedio cada liebre se reproduce a razn de 1.25 descendientes por ao y cada lince a 0.25 descendientes por ao. Se supondr que la liebre tiene suficiente suministro de comida, y que slo causan muerte debido a la depredacin del lince. El rango de caza del lince es de 1 hectrea y su nica fuente de comida es la liebre. El nmero de liebres cazadas dependen de su densidad en el ecosistema y del nmero de linces. El rango de mortalidad del lince depende de la densidad de liebres segn la tabla adjunta: Densidad Mortalidad 0 0,5 10 0,45 20 0,4 30 0,35 40 0,3 50 0,25 60 0,2 70 0,15 80 0,1 90 0,05 100 0,005 100000 0,005
No hay factores externos (tales como el tiempo de un ao) los cuales afecten el rango en el cual la poblacin cambie. El modelo final corre para 24 aos. Simulacin con Extend Curso 2007-2008
4. SIMULACIN DE EVENTOS DISCRETOS. La caracterstica principal de la simulacin de eventos discretos radica en que las entidades del modelo cambian de estado basados en la ocurrencia de los eventos.
La librera de eventos discretos de Extend esta acondicionada para ser usada para modelar sistemas de eventos discretos como por ejemplo problemas de colas, o de inventario.
4.1. LIBRERA DE EVENTOS DISCRETOS. La librera de eventos discretos contiene el conjunto de bloques bsicos para crear modelos de eventos en tiempo discreto. Los elementos bsicos para modelarlos son: un generador, una cola, una actividad y la salida del sistema.
BLOQUES DE LA LIBRERA DE EVENTOS DISCRETOS. Una vez abierta la librera de eventos discretos (ver seccin 2.3.2.) aparecer la ventana que se muestra en la Fig. 17.
Fig. 17. Bloques de la librera de Eventos discretos. Los bloques de esta librera pueden ser divididos de acuerdo a las funciones que realizan: Ejecutivo, actividades, atributos, procesamiento por lotes, generadores, informacin, colas, recursos y ruteo. A continuacin se definen cada uno de ellos: Executive /Ejecutivo: Este bloque es necesario en todo modelo de evento discreto. Gestiona y controla el tiempo del modelo en tiempo de ejecucin. Executive Funcin
Executive Este bloque es necesario en todo modelo de evento en tiempo discreto, debe ser localizado a la derecha de todos los bloques del modelo. Simulacin con Extend Curso 2007-2008 Activities/Actividades: Procesan tems. Activities Funcin
Activity, Delay Sostiene un tem por un tiempo, entonces lo libera. El tiempo de la actividad es especificado en el dilogo o, a travs del D conector (el valor del D conector sobrescribe el valor en el dilogo).
Activity, Delay (Attibutes) Trabaja de forma similar que el bloque Activity delay excepto que permite usar el valor del atributo como retraso y/o modificar su valor.
Activity, Multiple Este bloque admite ms de un tem a la vez. El nmero mximo de tems se indica en el dilogo o a travs del conector C. El tiempo de retraso para cada tem es colocado a travs del conector D o si nada es conectado ah, puede ser especificado en el dilogo.
Attributes/Atributos: Dan a los atributos una identidad. Attributes Funcin
Change Attribute Cambia el valor del atributo de los tems que pasan a travs de l. Se debe especificar el nombre del atributo a cambiar, la operacin a usar en el cambio, y el valor del modificador para cambiar. Estas operaciones son: incrementar, decrementar, multiplicar, dividir. Los valores que se pueden usar como modificadores son: una constante, el valor de otro atributo, el valor del conector A.
DE Equation Calcula una ecuacin cuando un tem pasa a travs de l. Las entradas para la ecuacin pueden ser los atributos del tem, los valores, prioridades o uno de los cinco valores de los conectores de entrada. El resultado de la ecuacin puede ser opcionalmente asignado a un atributo.
Get Attribute Muestra y/o remueve los atributos de los tems, despus los pasa a travs de l. Los valores de los atributos son mostrados en el dilogo de salida y afuera en el conector A. Mientras que los tems pasan a travs del bloque, el bloque puede leer o quitar un atributo o cualidad, el atributo se puede especificar como la primera cualidad en la lista o una cualidad nombrada. Si el atributo es encontrado, su valor es reportado en el dilogo y enviado a travs del conector A. El conector emite una salida de 1 si el valor del atributo ha cambiado desde el ltimo valor que ha sido ledo.
Get Priority Lee la prioridad de los tems despus los pasa. La prioridad es mostrada en el dilogo y en la salida del conector P. El valor del conector emite una salida de 1 si el valor de la prioridad ha cambiado desde el ltimo valor que fue ledo. Simulacin con Extend Curso 2007-2008
Get Value Lee el valor de los tems despus los pasa. El valor es mostrado en el dilogo del conector y en la salida del conector V. El conector de salida emite una salida de 1 si el valor del valor ha cambiado desde el ltimo valor que fue ledo.
Set Attribute Asigna atributos a los tems que pasan a travs del bloque. Hasta 7 nombres de atributos y valores pueden ser asignados a un tem con cada bloque. Los atributos pueden agregarse o remplazar atributos existentes. Se puede especificar el valor de uno de los atributos con el conector A. El valor en el A conector reemplaza el valor correspondiente en el valor del dilogo.
Attributes/Atributos: Dan a los atributos una identidad. Attributes Funcin
Set Attribute (5) Asigna atributos a los tems que son pasados a travs del bloque. Hasta 5 atributos y valores pueden ser asignados a un tem. Los atributos pueden agregarse o remplazar atributos existentes. Se puede especificar el valor de cada uno de los atributos con el conector de valor de entrada.
Set Priority Asigna una prioridad a los tems que pasan a travs del bloque. El valor de la prioridad puede ser colocado en el conector P o, en el dilogo. Nota: el ms bajo valor (incluyendo nmeros negativos) tienen la ms alta prioridad.
Set Value Asigna un valor a los tems. Este se utiliza para cambiar el valor inicial de un tem de 1 a un valor diverso. Los tems tienen originalmente un valor de 1 a menos que el valor sea cambiado por los bloques Generator, Set Value, Get Attribute, Program, or Shedule. Nota; los tems con un valor mayor que uno dentro de las colas se parten. Por ejemplo si se coloca un valor de 5 sobre un tem, cuando este vaya dentro de una cola, este llegar a ser 5 distintos tems.
Batching/Procesamiento por lotes: Ensamblan y desensamblan tems. Batching Funcin
Batch Permite a tems de varias fuentes ser ensamblados como uno solo. En el dilogo se especifica el nmero de tems de cada una de las entradas que es requerida para producir un tem de salida. Adems tambin se puede especificar que tems de uno o ms entradas no sern trados dentro del bloque hasta que uno o ms de las otras entradas tengan sus requerimientos completos. Simulacin con Extend Curso 2007-2008
Unbatch Produce varios tems de un solo tem de entrada. El nmero de tems producidos en cada salida es especificado en el dilogo. Por defecto, este bloque detiene sus entradas hasta que su salida sea usada u otra demanda ocurra en el conector. Generators/Generadores: Crean tems, programas. Generators Funcin
Generator Provee tems con tiempos de arribo aleatorios. Los tems pueden ser creados con una distribucin aleatoria o un rango constante de arribo. Tambin puedes especificar el nmero de tems que arriban en cada evento utilizando el conector de valor V. Los conectores de entrada1, 2 y 3 te permiten cambiar los parmetros de entrada de la distribucin aleatoria cuando la simulacin este en progreso.
Program Provee tems programando su entrada en el modelo. Es similar al bloque Generator excepto que los tiempos de llegada de los tems son programados, ms bien que al azar. Este bloque es usado para las necesidades repetidoras o del tiempo o con patrones fijos. Information/Informacin: Obtiene informacin de los tems. Information Funcin
Count tems Reporta el nmero total de tems pasados a travs de l en su dilogo y en el conector #. Un valor mayor que 0.5 en el conector r causar que el conector sea reseteado a cero.
Information Analiza y muestra la informacin de los tems acerca de los tems que pasan a travs de l. Se debe especificar el nombre de los atributos que se desee observar. Si un atributo no es encontrado la informacin estar en blanco.
Show times Muestra cuando el prximo evento ocurrir para cada bloque en el modelo. Se puede especificar en el dilogo un retardo antes de mostrar el dilogo. Este bloque debe ser localizado a la derecha de todos los bloques para mostrar los eventos de todos los bloques.
Status Analiza y muestra informacin acerca de un tem o valor. Si este bloque es dejado abierto durante la simulacin, este parar la simulacin en cada evento y entonces se puede especificar la longitud del tiempo de pausa antes de mostrar la informacin.
Timer Muestra el tiempo que toma a un tem pasar entre dos partes del modelo. Se puede encontrar que tanto tiempo toma a un tem pasar de un bloque a otro. Tambin se puede especificar el tiempo slo de los tems con un atributo en particular.
Queue Attributes Este bloque representa una cola, que puede ser ordenada en funcin de un atributo preestablecido. Si no hay atributos establecidos, esta cola funciona como una cola FIFO. Si algn tem que no tiene atributos caer al final de la cola.
Queue FIFO En esta cola el que primero entra es el que primero sale. La mxima longitud determina cuantos tems en la cola pueden ser sostenidos. Tambin se podra especificar un coste para cuando la cola esta llena (alcanza la mxima longitud). El dilogo muestra la longitud media de la cola, el tiempo de espera medio, y la utilizacin de la cola.
Queue LIFO Es parecida a la cola FIFO, con la diferencia que ahora los ltimos en entrar son los primeros en salir.
Queue Matching Es una cola en la cul los tems son liberados slo si ellos tienen un atributo en especfico y el valor del atributo marca el valor en el ID conector. Si hay ms de un tem con el nombre del atributo y el valor, slo el primero que entr en el bloque ser liberado a no ser que la opcin en el dilogo "Liberacin de mltiples tems" sea seleccionada.
Queue, Priority Una cola que libera tems por prioridad. El tem en la cola con el ms bajo valor numrico para su prioridad ser liberado primero. Si todos los tems en la cola tienen la misma prioridad esta se convierte en una cola FIFO.
Queue, Resurse Pool Una cola para las unidades de resource pool. Los tems esperan hasta que un nmero especificado de unidades de resource pool este disponible. El orden de los tems en la cola es determinada segn la regla que est en el dilogo del bloque Resource Pool. Rosources/Recursos: Representan tems como recurso, cambios. Queues Funcin
Resource Pool Este bloque tiene las unidades del resource pool para ser usadas en la simulacin. Represntan recursos limitados. A diferencia del bloque Resource, las unidades Resource Pool no son tems. Son variables que indican disponibilidad de un factor. El bloque Resource Pool trabaja con el bloque Release Resource Pool para liberar los recursos del Pool. Simulacin con Extend Curso 2007-2008
Release Resourse Pool Libera un resource pool como un tem pasado a travs de l. Las unidades del resource pool pueden ser liberadas por: - Seleccionando el botn nombre Release Resource Pool y tecleando el nombre del bloque del Resource Pool y el nmero de unidades a ser liberadas. - Seleccionado el botn atributo Release Resource Pool y especificando un atributo el cual tiene que ser colocado por una cola o un bloque Resorce Pool.
Resourse Este bloque sostiene y provee tems para ser usados en la simulacin. Puede ser usado como parte de un sistema abierto o cerrado. Si se usa este bloque en lugar del Generator o el bloque Program para proveer tems a la simulacin hay que estar seguros de que hay suficientes tems al inicio y as satisfacer los requerimientos durante la simulacin. Este bloque es similar al de la cola. Los tems pueden ser expulsados del bloque hasta su agotamiento. Si el contenido del bloque llega a ser negativo, el bloque no sacar ningn valor hasta que el contenido del bloque vuelva a ser un nmero positivo. El conector de cambio modifica el nmero de tems almacenados en el recurso por el valor del tem en el cambio.
Queue Matching Genera un programa sobre un calendario. Shifs puede ser tambin ON/OFF o representado por un nmero. Si un Shift es ON/OFF, los bloques los cuales usan este Shift sern suspendidos cuando el shift sea off y opera normalmente cuando el shift sea on. Si el shift es numrico, los bloques que usan un shift cambiarn su capacidad basada sobre el valor corriente de este shift. Solo bloques con una capacidad de unidad mltiple (tal como los bloques Activity Multiple and Resource) utilizarn el shift numrico. Routing/Ruteo: Moviendo tems al lugar correcto. Routing Funcin
Activity Service Pasa un tem solo cuando el conector de demanda es conectado y ciertas condiciones existen en la entrada de la demanda (tambin cuando el valor de la demanda es verdadero [mayor que 0.5] o se expulsa en un tem). Si un conector de salida de tem es conectado al conector de demanda, el bloque acumula el valor de los tems que entran en ello y pasa muchos tems a travs de l.
Catch Este bloque recibe tems enviados por el bloque Throw aunque los bloques no son conectados por lneas de conexin. La conexin entre los bloques se especifica en su dilogo mediante la etiqueta y el nmero de bloque Catch.
Combine Combina los tems de dos diferentes fuentes dentro de un solo flujo de tems. ste es diferente del bloque Batch el cual une tems de diferentes fuentes en un solo tem.
Simulacin con Extend Curso 2007-2008
Exit Pasa un tem fuera de la simulacin. El nmero total de tems absorbidos por este bloque es reportado en su dilogo o en el conector #.
Exit (4) Pasa tems fuera de la simulacin de hasta 4 entradas. El nmero total de tems absorbidos por este bloque es reportado en su dilogo o en el conector #. El nmero absorbido por cada entrada es reportado en el dilogo y en el conector de valor de la derecha del bloque.
Gate Permite que solo un nmero especfico de tems estn en una seccin del modelo (una restriccin de seccin). Se especifica en el dilogo el nmero de tems los cuales pueden estar en un rea restringida en un cierto tiempo.
Routing/Ruteo: Moviendo tems al lugar correcto. Routing Funcin
Prioritizer Da prioridad a las salidas, permitiendo que los tems sean enviados a procesos en paralelo basados en una prioridad definida por el usuario. Los tems saldrn por orden de prioridad. Si dos o ms tems tienen la misma prioridad, saldrn por el primer conector que haya disponible de forma secuencial.
Select DE Input Selecciona una entrada de entre dos basada en una decisin. Los tems que estn presentes en la entrada seleccionada son pasados a travs de la salida. Los dilogos tienen opciones para seleccionar basados en la prioridad superior, cambiando que entrada es seleccionada despus de que un nmero dado de tems haya pasado o basado en el conector seleccionado.
Select DE Output Selecciona una salida entre dos basados en una decisin. El dilogo tiene opciones para cambiar las salidas despus de que un nmero dado de tems haya pasado y seleccionado basado en el conector selector. Si el conector selector no es usado, tu puedes tener 1 salida de cada nmero especificado de tems yendo al conector superior o a una probabilidad aleatoria para que cada tem vaya al conector superior. Si el conector selector es usado, el dilogo tiene opciones para accionar la palanca (es decir elegir las salidas secuencialmente cada vez que el selector es activado), elegir las salidas basadas sobre el valor en el conector selector o especificando la probabilidad del conector superior.
Throw Este bloque lanza tems al bloque Catch sin usar conector de salida o lneas de conexin. La conexin entre los bloques se hace por etiquetas y el nmero de bloque del bloque catch en el dilogo del bloque Throw. Simulacin con Extend Curso 2007-2008 CONECTORES COMUNES EN LOS BLOQUES DE LA LIBRERA DE EVENTOS DISCRETOS. Conector Significado # Nmero de tems A Atributo para el tem pasando a travs del bloque D Suma de tiempo a retrasar el tem en el bloque demand Hace que el bloque acumule una demanda de mltiples tems si una entrada del tem es conectada. Tambin es usado provocar la operacin del bloque de Servicio de Actividad. Indica un cambio en el valor F Full: salidas de 1 cuando el bloque este lleno, de otra manera 0 L Longitud de la cola: Nmero de tems en la cola P Prioridad de los tems pasando a travs del bloque. sensor Observa la presencia de un tem pero no lo recibe select Selecciona la entrada o salida basada en las opciones en el dilogo. T Tiempo en uso: Salidas de un valor no-cero mientras el bloque esta en uso. Este valor representa la suma de tiempo desde el evento pasado, en cada evento cuando, en cada evento cuando el bloque es activado. Tu puedes conectar esto a un bloque acumulador para encontrar el tiempo total en uso durante la simulacin. U Utilizacin; El porcentaje de tiempo en el que el bloque estuvo en uso durante el cuso de la simulacin. V Valores para los tems pasando a travs del bloque (esto es usualmente 1). W Tiempo de espera para tems dejando la cola.
CONSIDERACIONES SOBRE LA LIBRERA DE EVENTOS DISCRETOS. Los modelos de eventos discretos pasan entidades (llamadas tems) de bloque a bloque durante la simulacin. Los tems son usualmente generados por el bloque Generator como una distribucin aleatoria dentro de parmetros especficos, o por el bloque Program como una lista de cuando los eventos ocurren. Estos tems a menudo tienen prioridades y atributos que les ayudan a corresponder ms estrechamente a partes, clientes, y empleos en la vida real. En bloques de eventos discretos, un conector tem pasa un tem y toda la informacin asociada con l al prximo conector tem. El conector de valor y los parmetros del dilogo especifican informacin acerca del tem y sus propiedades (atributos, tiempo, etc.) adems de la informacin de los efectos que el tem tiene en el modelo (tales como longitud de la cola y tiempo de espera). El objeto de la simulacin de estos modelos generalmente es para determinar donde hay cuellos de botella en el proceso y para ver que partes del proceso podran mejorarse. Todo bloque debe de continuar su conexin ya sea a un bloque ms o a un bloque de Simulacin con Extend Curso 2007-2008 salida. Por lo tanto puedes examinar la salida del bloque Exit y encontrar cuantos tems han dejado el modelo. Se tiene por regla general que todo modelo de eventos discretos debe tener siempre un bloque Executive localizado en la parte izquierda de todos los bloques del modelo. TEMS Y VALORES DE INFORMACIN. Las unidades bsicas que son pasadas entre bloques de eventos discretos son los tems. Los tems son estructuras de datos complejas que adems de valores sobre las variables que representan tambin contienen informacin sobre el tiempo de la simulacin. Los tems suelen representar entidades individuales que pueden tener propiedades nicas como el especificado por sus atributos, prioridades y valores. En la fabricacin de modelos, los tems pueden ser partes sobre una cadena de montaje; en modelos de red, un tem sera un paquete de informacin; en modelos de negocio, los tems pueden ser facturas o gente. Los valores asociados a un tem pueden proporcionar informacin relacionada con la naturaleza de los tems y acerca de las cantidades asociadas a determinadas variables o atributos. Otros valores que pueden hallarse entre los resultados que facilitan algunos bloques estn el nmero de clientes en la cola, o cuantas elementos han sido transportados o expedidos por un bloque o la frecuencia de ocurrencia de llamadas. ATRIBUTOS. Los atributos son un aspecto importante de la simulacin de eventos discretos. Bsicamente los atributos son caractersticas de un tem que acompaan al tem mientras se desplaza por el modelo. Cada atributo consiste en un nombre y un valor numrico. El nombre de los atributos es usado para identificarlos y su valor es utilizado para especificar algn aspecto asociado con el nombre. PRIORIDADES. Las prioridades permiten especificar la importancia de un tem. Por ejemplo, se podra tener un paso en un proceso de manufactura donde un trabajador mira todo el trabajo pendiente y entonces decide ordenar y escoger el que es el ms urgente. Cada tem slo puede tener una prioridad. La prioridad superior tiene el valor ms bajo, incluyendo valores negativos (es decir un tem con una prioridad "de -1" tiene una prioridad ms alta que uno con una prioridad "de 2"). VALORES DE TEMS. Cada tem puede representar una sola entidad o un grupo. Si el valor de un tem es 1, este representa un tem; si es otro diferente de 1, representar a un grupo. Los tems originalmente tienen un valor de 1 a menos que el valor sea cambiado por los bloques Set Value, Generator, Get Attribute, or Program.
Los tems con valores diferentes que 1 se tratan de forma diferente dependiendo de la naturaleza del bloque que los procesa. Viajarn juntos como unidad, siendo procesado esencialmente como un tem, hasta que alcanzan una salida, una cola, un batch, o un bloque de resource, o se envan en un conector universal (tal como cambio, demanda, selector, o comienzo). Simulacin con Extend Curso 2007-2008 RETENER TEMS. Los bloques de eventos discretos tratan la salida de los tems de dos formas:
El tem es retenido en el bloque y lo deja salir solo cuando otro bloque lo requiere, la mayora de bloques tienen este tipo de comportamiento. El tem es empujado del bloque cuando este es creado, independientemente si ser recogido por otro. Si no puede ser alojado en el bloque consecutivo, se genera un error. 4.2. EJEMPLOS. CMO CREAR UN MODELO DE EVENTOS EN TIEMPO DISCRETO? Para dar inicio a la creacin de modelos de eventos en tiempo discreto se har uso de varios ejemplos.
PROBLEMA 4.1. VERDULERA HIPER FRUIT.
Carles dueo de la verdulera Hiper Fruit quiere saber cual es el tiempo medio de espera de sus clientes as como la longitud mxima de la cola. Se ha observado que los clientes arriban con una frecuencia que sigue una distribucin constante de cada 2 min., y en promedio el cajero tarda en cobrar una media de 4min.
SOLUCIN. a) Arribo de clientes a la verdulera: El arribo de clientes a la verdulera puede estar representado por cualquiera de los dos bloques Generadores cuya funcin es crear tems, no obstante por las caractersticas de los datos es conveniente usar el bloque Generator (Fig. 18) el cual proporcionar tems de acuerdo a la distribucin indicada en su dilogo. En este caso ser una distribucin constante de 2 min.
Fig. 18. Bloque Generador.
b) Esperar turno para pagar: Los bloques que retienen a los tems mientras son requeridos son los bloques de cola. En el modelo la cola apropiada para este tipo de sistemas sera una cola FIFO (Fig. 19), ya que los primeros en entrar sern los primeros en salir.
Fig. 19. Bloque cola FIFO. Simulacin con Extend Curso 2007-2008
c) Pago por las verduras, vendr representado por un bloque de actividad.
El bloque Activity Delay (Fig. 20) es el indicado para representar la actividad de pagar la verdura, ya que retrasar al tem por una cantidad de tiempo indicada en el dilogo, esta cantidad representar el tiempo que tarda el cajero en cobrar.
Fig. 20. Bloque Activity, Delay.
De esta manera se podra integrar el modelo realizando las conexiones pertinentes (Fig. 21).
Fig. 21. Resolucin del modelo.
Al correr el modelo con un tiempo de simulacin igual a 1hr de trabajo, se obtienen los siguientes resultados de la cola FIFO (Fig. 22). Con la informacin recabada se puede dar respuesta a las preguntas realizadas por el dueo de la verdulera.
Fig. 22. Resultados de la simulacin para el problema 5: verdulera Hiper Fruit. Simulacin con Extend Curso 2007-2008
A partir de los resultados se observa que el tiempo medio de espera es amplio (15 min.), por lo que se plantea la siguiente interrogante, A cuanto se reducira la longitud de la cola, si Carles decidiera contratar a otra persona con las mismas aptitudes?.
Para introducir la variante planteada, bastar con copiar bloque de actividad y realizar las conexiones pertinentes, como se muestra en la figura 23.
Fig. 23.Resolucin del modelo anexando una caja ms.
Al correr la simulacin se observa que el tiempo medio de espera se reduce a 0.
A continuacin se citan diversos problemas, la solucin puede observarse en el Anexo A.
PROBLEMA 4.2. FUNCIONAMIENTO DE UN LAVADO DE AUTOS. El Sr. German gerente del Lavado de Autos C&S quiere evaluar un proyecto de expansin de servicios. Para ello, requiere saber cmo se comporta actualmente el sistema, y que beneficios traera la implantacin del proyecto. Actualmente los autos arriban siguiendo una distribucin constante de cada 4 min. Hay solo una lnea de lavado. Toma 6 min. lavar el auto. El proyecto de expansin consiste en aadir una segunda estacin de lavando con las mismas caractersticas. Siendo esto un ejemplo de procesamiento en paralelo de autos. Qu efectos tiene sobre el sistema esta modificacin?. A su vez dicho proyecto tambin contempla ofrecer el servicio de engrasado, estimndose una demanda del 25% sobre los autos que arriban. Cmo modifica esta decisin al modelo? CREANDO ESTRATEGIAS. Para consolidar la lealtad de los clientes se tiene la siguiente idea: Se prev establecer una promocin de cliente frecuente que consiste en lo siguiente: a lo largo de 5 visitas Simulacin con Extend Curso 2007-2008 acumuladas los clientes reciben un cupn, el cul permitir por una nica ocasin pasar a la estacin de lavado sin tener que formarse. Una interrogante a plantear ser Qu ocurre si llegan al mismo tiempo dos clientes con este cupn?. OTROS ASPECTOS A CONSIDERAR. Considerar que el tiempo gastado en la estacin de servicio es dinmico. Considerar una capacidad lmite del estacionamiento. Considerar que cada estacin de lavado tiene su propia cola. PROBLEMA 4.3. FUNCIONAMIENTO DE UNA GASOLINERA.
La compaa Repsol ha recibido grandes quejas por parte de los consumidores de Terrasa, debido a que tienen que esperar demasiado tiempo antes de que ellos puedan acceder a la bomba de gasolina. En los ltimos meses este hecho ha provocado la disminucin de ventas, por ello la gerencia esta planeando enviar un proyecto a la corporacin que sea viable para eliminar el problema.
No obstante antes de proponer alguna alternativa se desea analizar el sistema planteado. El comportamiento actual de la gasolinera es el siguiente:
El arribo de coches viene determinado por una funcin de densidad f(t)=1/5e -(1/5)t , con t>0. Ingreso libre a cualquiera de las 2 bombas de gasolina si estn disponibles, de lo contrario se debe esperar en una sola fila. El nmero mximo de autos esperando en la fila es de 5 debido a una limitante de espacio. Cada auto tarda un tiempo medio de 1.5 y desviacin de 0.5, en tomar gasolina. Aproximadamente el 30 % de autos requieren el servicio de aceite, actividad que tarda 0.5 min. ms sobre el tiempo medio de la gasolina.
Realizar la simulacin y el anlisis del proceso para 8 hrs de trabajo.
Una vez obtenido el modelo del sistema, la tarea siguiente ser evaluar las diferentes alternativas de proyectos y seleccionar la que reduzca el tiempo de autos que salen del sistema por no poder esperar en la cola.
Agregar una bomba ms. Evaluar la alternativa de que solo 2 bombas ofrezcan cargar gasolina y una ms para el servicio conjunto de gasolina con el servicio de aceite, contra la alternativa de que todas las bombas ofrezcan el mismo servicio. Establecer dos Filas, con la misma restriccin de 5 autos.
PROBLEMA 4.4. FUNCIONAMIENTO DE UNA OFICINA BANCARIA.
Una oficina bancaria abre de 9:00 a 17:00hrs. Normalmente la oficina atiende a 40 clientes por hora. Dispone de dos cajas una con ms experiencia que otra para atender al Simulacin con Extend Curso 2007-2008 pblico. Si la cola arriba a 3 personas se abre una caja ms hasta reducir la cola a 1 o 0 personas. Segn las operaciones a hacer los clientes tardan aproximadamente lo que indica la tabla.
1. Dar clic en la pestaa Run de la barra de comandos. 2. Seleccionar Run Simulation.
Estos son los dos pasos bsicos a realizar para correr la simulacin, ya que por default Extend tiene algunas instrucciones que le indican como y cuando terminar la simulacin. No obstante estas instrucciones pueden ser modificadas en el men Simulation Setup.
a) Estatus de la Simulacin.
Cuando se comienza a correr el modelo, Extend muestra alguna informacin de status inicial en la forma de mensajes que aparecen momentneamente sobre la pantalla. Dependiendo de la velocidad de la computadora, se pueden ver los siguientes mensajes Please wait, Cheking data, o Initializing Data.
Una vez que la simulacin se esta llevando a cabo, Extend muestra una pequea barra de estado.
Los nmeros despus del reloj de arena son un estimado del tiempo actual de salida de la simulacin, as que se puede determinar que tan larga es la corrida. El reloj muestra el tiempo corriente de la simulacin, y Run es el nmero total de simulaciones si es que se estn corriendo simulaciones mltiples.
b) Opciones del me: Simulation Setup
El comando Simulation Setup del men Run permite especificar cmo y que tan largo correr la simulacin. El dilogo tiene tablas para modelos de eventos en tiempo discreto y continuo, as como tambin tablas para nmeros aleatorios y unidades de tiempo.
Simulacin con Extend Curso 2007-2008 Tabla de Eventos en tiempo discreto.
Selecciona Descripcin. End simulation at time. Indica el tiempo final de la simulacin. Start simulation at time Es el punto en el que se inicia la simulacin. Usualmente es 0. Number of runs El nmero de veces a correr la simulacin. Global time units Unidades de tiempo en que se regir el modelo entero. Comments Este es un tem opcional usado para documentar aspectos del modelo, tales como las unidades.
Tabla de Eventos Continuos.
Selecciona Descripcin. End simulation at time. Indica el tiempo final de la simulacin. Start simulation at time Es el punto en el que se inicia la simulacin. Usualmente es 0. Number of runs El nmero de veces a correr la simulacin. Seleccionar esta opcin si se quiere repetir la simulacin para desarrollar el anlisis de sensibilidad y observar como cambian los resultados sobre varias corridas. Time per step (dt) Representa un tiempo delta, o la longitud de tiempo por paso. Este es seleccionado por default para determinar la granularidad de la corrida de la simulacin. Simulacin con Extend Curso 2007-2008 Number of steps Es otro mtodo para determinar la granularidad de la corrida de la simulacin. Global time units Unidades de tiempo en que se regir el modelo entero. Stepsize calcultions Esto es solo usado en modelos continuos que cambian la variable del sistema Delta Time, tal como en simulaciones electrnicas. Simulation order Orden de la simulacin. Comments Este es un tem opcional usado para documentar aspectos del modelo, tales como las unidades.
Cada vez que se corre una simulacin, Extend usa el mismo valor del dilogo contenido en el dilogo Simulation Setup. As que habitualmente se usa este dilogo una vez por modelo.
Generalmente, la nica parte que se necesita cambiar en el dilogo es End simulation at time parmetro localizado sobre la tabla de eventos discretos o continuos.
c) Animacin. Para animar un modelo de forma automtica slo basta con seleccionar del men Run de la barra de comandos el men Show Animation.
6. OTRAS LIBRERIAS DE UTILIDAD.
LIBRERA PLOTTER. La librera plotter cuelga todos los tipos comunes de plotters usados para mostrar grficamente las salidas del modelo, utilidad principal de esta librera.
Bloque Funcin
Bar Chart Muestra un grfico de barras de hasta seis valores de entrada. Las barras pueden cambiar instantneamente o en intervalos regulares. A diferencia de otros Plotters, el bloque Bar Chart no registra ningn dato.
Gantt Chart Muestra una grfica de tipo Gantt. Hasta 6 grficas son trazadas en un solo bloque grfico Gantt.
Histogram Crea un histograma de todos los valores que recibe.
Plotter DE, Error bars Muestra la media y la desviacin estndar de un valor. Simulacin con Extend Curso 2007-2008
Plotter DE, Multisim Acumula los resultados de hasta 4 corridas de informacin de una simulacin de eventos discretos sobre un solo plotter.
Plotter DE Este plotter es solo utilizado para trazar eventos discretos.
Plotter Error bars Muestra la media y la desviacin estndar de valores.
Plotter FFT Este plotter traza una seal.
Plotter I/O Proporciona un grfico y una tabla para hasta cuatro valores de entrada para modelos continuos.
Plotter, Multisim Acumula los resultados de hasta cuatro corridas de una simulacin continua sobre un solo plotter.
Plotter Scatter Muestra dos conjuntos de datos, cada grfico como valores pares x, y.
Plotter Scatter (4) Muestra dos conjuntos de datos, cada grfico como valores pares x, y.
Plotter Strip Da grficas y tablas de datos para hasta cuatro veces asociados las entradas.
Plotter Worm Muestra dos conjuntos de datos trazados como valores pares x, y, pero solo para un nmero especfico de puntos. Simulacin con Extend Curso 2007-2008
ANEJO A.
PROBLEMAS DE EVENTOS EN TIEMPO CONTINUO.
SOLUCIN: PROBLEMA 2. CAJA DE AHORRO.
Si se realizara este problema con ayuda de Excel se tendra lo siguiente:
Este mismo problema puede ser modelado en Extend de una manera fcil y sencilla:
1. Identificar los elementos que estn en juego.
a) Una caja de ahorro. b) Los gastos de cada mes. c) Intereses para cada mes. TAE EFECTIVO MENSUAL Simulacin con Extend Curso 2007-2008 a) Una caja de ahorro.
En el modelo la caja de ahorros debe estar representada por un bloque que acumule mensualmente la cantidad ms los intereses otorgados. Adems se debe realizar las deducciones que corresponden a los gastos de cada mes. Si se analizara cada uno de los bloques genricos se observara que el bloque Holding Tank es ideal para los requerimientos (Fig. 24).
Fig. 24. Bloque Holding Tank.
b) Los gastos de cada mes.
Juan gasta mensualmente 50 Euros, cantidad que retira al final del mes. Para modelar esto se conecta el bloque constant (con un valor de 50) al conector want (Fig. 25).
Fig. 25. Representacin del funcionamiento del bloque Holding Tank. Simulacin con Extend Curso 2007-2008 Al observar los resultados arrojados por el plotter al realizar la simulacin, se aprecia que la cantidad de 50 se esta deduciendo al inicio del mes y no al final, por lo que se introducir un bloque que retrase la deduccin un mes. Para ello se emplear el bloque Time (Fig. 26).
Fig. 26. Representacin del funcionamiento del bloque Holding Tank anexando el bloque Time.
c) Intereses para cada mes.
En el problema existen dos tipos de inters compuesto: del 6% TAE para el primer mes y del 1% TAE para los meses restantes. As que se emplear un bloque selector que permita seleccionar de acuerdo al mes el tipo de inters a aplicar (Fig. 27).
Fig. 27. Combinacin de bloques para representar los intereses de cada mes. Simulacin con Extend Curso 2007-2008 De esta forma se tiene el modelo completo, (Fig. 28).
Fig. 28. Representacin del problema 2. CAJA DE AHORRO. Simulacin con Extend Curso 2007-2008 SOLUCIN: PROBLEMA 3. JUEGO DE AZAR.
Desarrollar el modelo.
Es comn cuando se construye un modelo comenzar con un modelo simple, y agregar detalles hasta que se tenga capturado la esencia del sistema.
Primero se desarrollar un model bsico y se irn introduciendo bloques que aumentarn la complejidad del modelo.
Otra manera de hacer ms fcil la modelacin de nuestro sistema es desarrollar un diagrama de flujo.
1. Identificar los elementos que estn en juego.
a) Un lanzador de monedas. b) El pago por jugar. c) Un registro de resultados. d) Registro de tres caras seguidas. d) El pago por ganar.
a) Un lanzador de monedas.
La funcin del lanzador de monedas consiste en proporcionar nmeros aleatorios entre 0 y 1, de manera tal que dichos nmeros representen la aleatoriedad en el lanzamiento de monedas con probabilidad de 0.5, (Fig. 29).
Fig. 29. Bloque Randon Input Number.
En este caso el bloque de Input random number es un bloque ptimo para representar el lanzamiento de monedas ya que proporciona nmeros aleatorios de acuerdo a una distribucin, que de acuerdo al problema se definir como una distribucin uniforme entre 0 y 1.
b) El pago por jugar.
b).1. Selector de lanzamientos.
En el sistema real se tiene que cada que se realice un lanzamiento se pagar 1, esto pude ser modelado haciendo el siguiente planteamiento. El lanzador de monedas arroja valores entre 0 y 1 por lo que combinando este bloque con un bloque de decisin Simulacin con Extend Curso 2007-2008 bloque de decisin con una prueba lgica que arroje una salida de 1 (haciendo referencia al lanzamiento) si el valor que enva el lanzador de monedas es mayor que 0. As de esta manera se registrara todos los lanzamientos realizados (Fig. 30).
Fig. 30. Combinacin de bloques para representar el lanzamiento de monedas.
b).2. Pago.
Cada que se realiza un lanzamiento se paga 1. Esto se modela con los siguientes bloques (Fig. 31):
Fig. 31. Combinacin de bloques para representar el pago por jugar.
b).3. Registro de lo que voy gastando.
En este sentido es interesante tener un registro en donde consultar la cantidad que se ha gastado hasta ese momento, para posteriormente realizar las respectivas comparaciones y analizar si interesa o no participar en el juego.
Simulacin con Extend Curso 2007-2008 As que se introducir el bloque acumulador el cual acumular el total de euros que se ha pagado por jugar (Fig. 32).
Fig. 32. Combinacin de bloques para representar lo que se ha pagado por jugar.
Para analizar lo que acontece en el sistema se puede hacer uso de la librera plotter (Fig. 33).
Fig. 33. Registro del pago por los lanzamiento realizados utilizando el bloque Plotter.
c) Registro de resultados.
Para modelar el registro de resultados (caras o cruces), se requiere introducir un bloque que separe las caras de las cruces.
Simulacin con Extend Curso 2007-2008 Una forma de hacerlo es mediante el bloque de decisin. Cuya prueba lgica consistir en que valores mayores a 0.5 representan caras, y viceversa cruces, as de esta forma se determina si el lanzamiento es cara o cruz Fig. 34.
Fig. 34. Combinacin de bloques para determinar si el lanzamiento es cara o cruz.
Se introducir un plotter para observar como funciona el sistema en esta etapa (Fig. 35).
Fig. 35. Registro grfico mostrando si el lanzamiento es cara o cruz.
d) Registro de tres caras seguidas.
d).1. Registro de caras.
Simulacin con Extend Curso 2007-2008 Ahora bien, se entrar a la parte ms complicada del modelo, la cual consiste en ir registrando y acumulando las caras que se vayan obteniendo. Para ello se utilizar el bloque Acumlate Fig. 36.
Fig. 36. Combinacin d bloques para el registro de caras.
De esta forma se obtiene el total de caras que hayan salido hasta ese momento, sin embargo la regla del juego indica que para ganar se necesita tener tres caras seguidas.
As que se debe tener un registro de caras, pero adems este registro requiere ser reinicializado a 0 cuando el resultado del lanzamiento sea una cruz. Para ello se tiene los siguientes bloques (Fig. 37).
Fig. 37 Reinicializacin a 0 cuando se tiene una cruz.
d).2. Conteo de las veces que sale tres caras seguidas.
Con el modelo de la fig. 37 se obtendra el nmero de caras seguidas, no obstante se puede dar la posibilidad que durante 2, 3, 4, 5, .. lanzamientos seguidos salga cara as que para eliminar esto se introducir un bloque que cuente tres caras seguidas, registre este resultado y reinicialice el contador de caras a un valor 0. De esta forma se van obteniendo el nmero de veces que obtenemos 3 caras seguidas, ver Fig. 38.
Simulacin con Extend Curso 2007-2008
Fig. 38 Registro del nmero de veces que se obtienen tres caras seguidas.
e) El pago por ganar.
Una vez que se tiene el registro de 3 caras seguidas, se sabe que se ganar 10 as que se procede a modelar este aspecto Fig. 39.
Fig. 39 Registro de la ganancia por obtener tres caras seguidas.
Interesa o no Participar?
Para contestar a la pregunta de si interesa o no participar es necesario realizar una combinacin de bloques estadsticos y analizar los resultados arrojados por el modelo Fig. 40.
Fig. 40 Registro de la ganancia por obtener tres caras seguidas.
Una vez desarrollado el modelo se puede plantear otras alternativas de accin o negocio y por ende modificar el modelo.
Simulacin con Extend Curso 2007-2008
SOLUCIN: PROBLEMA 4. PRESA/CAZADOR.
1. Primeramente se modelar la dinmica de reproduccin de la liebre.
El primer paso en la construccin del modelo presa/cazador es modelar la dinmica de la poblacin de liebres. Para hacer esto se utilizar el bloque Constant que representar la tasa de natalidad de la liebre y un bloque Holding Tank que represente a la poblacin de liebres.
La conexin desde el conector de salida C del bloque Holding Tank al conector superior del bloque Multiply realiza la alimentacin del nmero corriente de la poblacin de liebres que se encuentra en el bloque Holding Tank al bloque Multiply.
Cuando se multiplica la poblacin total de liebres por la tasa de natalidad, se consigue obtener el nmero de liebres nacidos en un ao. Cuando se corre la simulacin y se calculan los valores ao tras ao, el nmero de liebres nacidas es agregado a la poblacin original de liebres a travs de una conexin que va del conector de salida del bloque Multiply al conector de entrada del bloque Holding Tank (Fig. 41).
Fig. 41. Combinacin de bloques para representar la dinmica de la poblacin de la liebre.
Cmo se puede ver en el plotter la poblacin ha crecido a 7, 0305, 624 liebres despus de 6 aos. Al no contemplar algn depredador, el crecimiento de la poblacin es libre, (Fig. 42).
Fig. 42. Grfica de la dinmica de la poblacin de la liebre.
2. Influencia del lince sobre la poblacin de la liebre.
Simulacin con Extend Curso 2007-2008 Para realizar esto se utilizar un bloque Constant para representar la poblacin de linces y un control Slider para colocar un nmero constante de liebres muertas por lince. El bloque Multiply es la seleccin obvia para multiplicar el nmero de liebres muertas por lince por el total de la poblacin de linces, su salida ser el nmero total de liebres muertas por los linces cada ao. As que esta salida ser conectada al conector Want del bloque Holding Tank para remover esta suma de la poblacin de liebres (Fig. 43).
Fig. 43. Influencia del lince sobre la poblacin de la liebre.
Este es un buen ejemplo para sealar una caracterstica del bloque Holding Tank el cual por defecto no permite que su contenido sea negativo. Esto significa que la poblacin de liebres no podr ser reducida por debajo de lo disponible, no importa que haya un requerimiento por parte del conector want.
Si se corre la simulacin con el Slider colocado en 60, el modelo muestra que la poblacin de liebres desciende rpidamente como se aprecia en el plotter (Fig. 44).
Fig. 44. Representacin grfica de la dinmica de la poblacin del lince sobre la liebre.
3. Dinmica de reproduccin del lince.
Hasta el momento se haba contemplado a una poblacin constante de linces y esto en la realidad no es as, ellos tambin tienen una dinmica de reproduccin. Para modelarla se seguirn los mismos supuestos que para la liebre. Obteniendo el siguiente modelo (Fig. 45).
Simulacin con Extend Curso 2007-2008
Fig. 45. Combinacin de bloques para representar la dinmica de la poblacin de la lince.
Cmo podemos ver en el plotter la poblacin de linces es ahora variable. Sin embargo el modelo muestra una continua proliferacin de linces aunque su comida se haya terminado. Para corregir esto se necesita mejorar el factor de mortalidad de las liebres, y despus redefinir la interaccin entre el lince y su fuente de comida (Fig. 46).
Fig. 46. Representacin grfica de la dinmica de la poblacin del lince.
4. Redefiniendo el factor de mortalidad de la liebre.
El modelo que se construy de forma rpida utiliza un Slider para proveer un rango constante de mortalidad para la liebre. Sin embargo como se dijo al inicio, el nmero de liebres muertas depende tanto de su densidad en el ecosistema como del nmero de linces disponible para cazarlas. Estas suposiciones tambin establecen que el lince tiene un rango territorial de una hectrea y pueden consumir alguna liebre en su territorio.
As que el siguiente paso es cambiar el factor de mortalidad de la liebre ha ser variable, basado en su densidad dentro del ecosistema. Para hacer esto se remover el Slider y se sustituir por un bloque Constant (representando el rea del ecosistema), y un bloque Divide (el cual divide la poblacin de liebres por el rea del ecosistema), Fig. 47.
Simulacin con Extend Curso 2007-2008
Fig. 47. Combinacin de cloques para Redefinir el factor de mortalidad de la liebre.
El plotter muestra un pequeo cambio en la poblacin de liebres, pero el cambio en la poblacin de linces esta todava independiente del cambio en la poblacin de liebres (Fig. 48).
Fig. 48. Representacin grfica de la dinmica de la poblacin redefiniendo el factor de mortalidad de la liebre.
5. Redefiniendo el factor de mortalidad del lince.
El paso final en la construccin de este modelo es incluir la interdependencia del lince y la liebre. El lince necesita liebres para sobrevivir y el nmero de liebres consumidas afecta directamente a la tasa de mortalidad del lince. La relacin del nmero de liebres consumidas y la tasa de mortalidad del lince esta dado en la siguiente tabla, donde la primera columna es la densidad de la liebre y la segunda columna es la correspondiente tasa de mortalidad del lince.
Tabla 4. Relacin del nmero de liebres consumidas y la tasa de mortalidad del lince.
Para incluir esta tabla en el modelo, se adicionar el bloque Conversion Table y se introducir los datos de la tabla. Se realizar una conexin desde la salida del bloque Divide a la entrada del bloque Conversion Table, as el bloque Conversion Table puede ver la densidad corriente de la liebre. Entonces se agregar un bloque Multiply para multiplicar la salida del bloque Conversion Table (rango de mortalidad del lince) por la poblacin del lince (Fig. 48).
Simulacin con Extend Curso 2007-2008
Fig. 49. Combinacin de bloques para modelar la dinmica de la poblacin incorporando la relacin del nmero de liebres consumidas y la tasa de mortalidad del lince.
En cada paso de la simulacin el bloque Conversin Table compara la densidad de la liebre de su entrada a los valores de la primera columna de la tabla, entonces obtiene el correspondiente rango de mortalidad de la segunda columna.
Cuando se corre la simulacin se puede observar la relacin directa entre la liebre y el lince como se ve en el siguiente plotter( Fig. 49).
Fig. 50. Representacin grfica de la relacin directa entre la liebre y el lince.
PROBLEMAS DE EVENTOS EN TIEMPO DISCRETO.
SOLUCIN: PROBLEMA 6. FUNCIONAMIENTO DE UN LAVADO DE AUTOS.
1. Identificar los elementos que estn en juego.
a) Arribo de autos al lavado de Autos. b) Estacionar el auto para esperar el servicio. c) Servicio de lavado. d) Salida del sistema.
a) Arribo de autos al lavado de Autos.
Simulacin con Extend Curso 2007-2008 Para modelar el arribo de autos se debe incorporar al modelo un bloque cuya funcin sea generar tems (autos) acorde a una distribucin aleatoria. Caracterstica que coincide con la funcin desempeada por el bloque Generador (Fig. 51).
Fig. 51. Bloque Generator.
b) El estacionar el auto para esperar el servicio. El estacionar el auto para esperar el servicio ocasiona la formacin de una cola. Se emplear la cola FIFO, as que los primeros autos en entrar sern los primeros en salir (Fig.52).
Fig. 52. Bloque FIFO.
c) Servicio de lavado.
Para representar la accin del lavado de auto dentro del modelo se emplear el bloque Activity delay en donde el tem (auto) ser detenido por cierto tiempo y despus liberado, la liberacin del tem indicar la finalizacin del lavado (Fig. 53).
Fig. 53. Bloque Activity Delay.
d) Salida del sistema.
La salida del sistema estar representada con el bloque Exit (Fig. 54).
Simulacin con Extend Curso 2007-2008
Fig. 54. Bloque Activity Delay.
e) Modelo bsico de evento de tiempo discreto.
Es importante comenzar con un modelo simple, luego aadir la complejidad tanto como sea necesario hasta que todos los factores relevantes sean considerados y el modelo aproxime el sistema que se desea modelar (Fig. 55).
Fig. 55. Bloques que representan un modelo bsico de evento de tiempo discreto.
AGREGANDO ELEMENTOS AL PROBLEMA. Se observa en la simulacin del modelo que la longitud de la cola se incrementa sobre el tiempo, es decir los autos estn arribando ms rpidamente que lo que ellos estn siendo lavados. En este sentido se sabe que en la mayora de los negocios las colas largas desmotivan al cliente, por lo que se debe implementar una estrategia que ayude a reducir el nmero de autos en la cola. Una alternativa de accin sera el aadir una segunda estacin de lavando con las mismas caractersticas. Siendo esto un ejemplo de procesamiento en paralelo de autos.
Fig. 56. Modelo de procesamiento en paralelo. Simulacin con Extend Curso 2007-2008 Al correr la simulacin, se observa que la entrada de la longitud de la cola esta cerca de 0 la mayora del tiempo. Por otra parte al mirar el dilogo del bloque Exit se observa que un nmero es ms largo que otro. Ello es debido a que no se especifica ninguna regla concerniente a como los autos debern ir a las estaciones de lavado, por lo que por defecto el auto ir a la primera estacin disponible. Esto causa que los autos usen una estacin con ms frecuencia que la otra. AGREGANDO VARIABLES AL PROBLEMA.
En el proyecto de expansin se contempla ofrecer el servicio de engrasado, estimndose una demanda del 25% sobre los autos que arriban.
Se prev que al entrar al lavado de autos los conductores informen el servicio que solicitan. Para modelar esto se hace uso de los atributos, es decir una vez que los autos arriban al lavado, estos son etiquetados de acuerdo al servicio que requieren, en este caso se crear un atributo con valor 0 (probabilidad del 0.25) para los que no requieren engrasado y 1 (probabilidad 0.75) en caso contrario.
Fig. 57. Modelacin del proyecto de expansin utilizando atributos.
El bloque get Attribute observa el primer atributo en cada tem y reporta el valor del atributo en el conector A. El bloque Select es usado para direccionar los autos basndose en el atributo encontrado. De esta manera se obtiene el modelo deseado. CREANDO ESTRATEGIAS.
La promocin de cliente frecuente consiste en lo siguiente: a lo largo de 5 visitas acumuladas los clientes reciben un cupn, el cul permitir por una nica ocasin pasar a la estacin de lavado sin tener que formarse.
Para modelar esto, se hace uso del bloque Set priority. Usar prioridades es similar a usar atributos excepto que slo hay un valor a colocar.
Simulacin con Extend Curso 2007-2008
Fig. 58. Modelacin de la estrategia cliente frecuente utilizando prioridades. Qu ocurre si llegan al mismo tiempo dos clientes con este cupn?. OTROS ASPECTOS A CONSIDERAR. Considerar que el tiempo gastado en la estacin de servicio es dinmico. Considerar una capacidad lmite del estacionamiento. Considerar que cada estacin de lavado tiene su propia cola.
SOLUCIN: PROBLEMA 7. FUNCIONAMIENTO DE UNA GASOLINERA.
1. Identificar los elementos bsicos que estn en juego.
a) Arribo de autos a la gasolinera. b) Esperar si las bombas de gasolina estn ocupadas. c) Limitante de espacio en la fila. d) Servicio de gasolina. e) Servicio de aceite por parte del 30% de autos. f) Salida del sistema.
a) Arribo de autos a la gasolinera.
Para modelar el arribo de autos se tiene que seleccionar un bloque cuya funcin sea generar tems (autos) acorde a una distribucin aleatoria. Caracterstica que coincide con la funcin desempeada por el bloque Generator.
Fig. 59. Bloque generator.
b) Esperar si las bombas de gasolina estn ocupadas. Simulacin con Extend Curso 2007-2008 Para representar este hecho se ocupar la cola FIFO, en donde los primeros autos en entrar sern los primeros en salir.
c) Limitante de autos estacionados en la fila.
Esta limitante ser incluida al abrir el dilogo del bloque de la cola FIFO y en la pestaa de QUEUE indicamos la longitud mxima de la cola, tal y como se observa en la figura.
Fig. 60. Dilogo del bloque de cola FIFO.
d) Servicio de gasolina.
Para representar la accin del lavado de auto dentro del modelo emplearemos el bloque Activity delay en donde el tem (auto) ser detenido por cierto tiempo y despus liberado. La liberacin del tem indicar la finalizacin del servicio de gasolina.
Como el tiempo de servicio para poner gasolina sigue una distribucin aleatoria se deber presionar el botn Random Delay e indicar la distribucin que corresponda.
f) Servicio de aceite por parte del 30% de autos.
Para modelar este supuesto es necesario diferenciar el 30% de autos que requieren aceite sobre los que no, una forma de hacerlo es colocar un atributo que represente si se desea o no este servicio, as que se utilizar el bloque Set Attribute, el cual asignar un valor de 0 para los autos que requieren aceite y 1 para los que no.
Simulacin con Extend Curso 2007-2008 Fig. 61. Modelacin del servicio de aceite utilizando atributos.
No obstante falta considerar en el modelo que los autos que requieren aceite tardarn 0.5 min. ms sobre la media del tiempo de servicio de gasolina. Las bombas tendrn un tiempo para los autos que solo quieran gasolina y otro para los que quieran aceite y gasolina.
Para ello emplearemos el bloque Select input. Adems se combinar con el bloque de decisin para satisfacer el funcionamiento del modelo.
Fig. 62. Resolucin del modelo de la Gasolinera.
SOLUCIN: PROBLEMA 8. FUNCIONAMIENTO DE UNA OFICINA BANCARIA.
Una oficina bancaria abre de 9:00 a 17:00hrs. Normalmente la oficina atiende a 40 clientes por hora. Dispone de dos cajas una con ms experiencia que otra para atender al pblico. Si la cola arriba a 3 personas se abre una caja ms hasta reducir la cola a 1 o 0 personas. Segn las operaciones a hacer los clientes tardan aproximadamente lo que indica la tabla.
1. Identificar los elementos bsicos que estn en juego.
a) Arribo de clientes al banco. b) Esperar si la caja est ocupada. c) Abrir una caja ms si la cola arriba a 3 personas. d) Servicio de caja.
Simulacin con Extend Curso 2007-2008
a) Arribo de clientes al banco.
Para modelar el arribo de clientes se tiene que seleccionar un bloque cuya funcin sea generar tems (personas) acorde a una distribucin aleatoria. Caracterstica que coincide con la funcin desempeada por el bloque Generator.
Fig. 63. Bloque generator.
b) Esperar si la caja esta ocupada. Para representar este hecho se ocupar la cola FIFO, en donde los primeros clientes en entrar sern los primeros en salir.
c) Abrir una caja ms si la cola arriba a 3 personas.
Para ello usaremos una combinacin del bloque Decision y del bloque Unbatch, de manera tal que cuando la cola registre un valor igual o mayor de tres active el bloque Unbatch, el cual demandar tems para la tercera caja en servicio.
d) Servicio de caja.
Para representar la accin del lavado de auto dentro del modelo emplearemos el bloque Activity delay en donde el tem (persona) ser detenido por cierto tiempo y despus liberado. La liberacin del tem indicar la finalizacin del servicio de banco.
Simulacin con Extend Curso 2007-2008
Fig. 64. Resolucin del modelo del Banco.
Bibliografa
[1] A. M. Law and W. D. Kelton "Simulation, Modeling and Analysis" . McGraw-Hill, 1982
[2] S. M. Ross. "A course in simulation ". Macmillan, 1990.
[3] P. Bratley, B. L. Fox y L. E. Schrage. "A guide to simulation". Springer- Verlag, 1987