Вы находитесь на странице: 1из 62

Universidad De San Carlos De Guatemala

Facultad de Ingeniería
Escuela de ciencias y sistemas
Metodología de Sistemas
Laboratorio de Modelación y Simulación 2
Ing. Cesar Augusto Fernández Cáceres
Aux. Edwin Mac-Donall Saban Chocojay
Sección: A
Segundo Semestre 2011

Introducción a
ExtendSim LT 8 2011
Curso:Modelación y Simulación 2
Presentación

Se inicia la presentación haciendo un pequeño cuestionamiento. ¿Por qué es importante la


Simulación?

En la actualidad la tarea de evaluar las diferentes opciones no es algo fácil, que se deba de hacer a la
carrera, sin tomarse el tiempo adecuado para obtener los resultados esperados de la opción que se elija.

En el mercado actual en el que la competitividad crece a ritmos agigantados, cada dia se diversifica la
variedad de opciones y se intensifica su ritmo competitivo. Tambien crece la necesidad y la exigencia
por obtener resultados rápidos y anticipables en un tiempo corto que den respuesta a las necesidades
de las empresas.

Pero, para lograr estos resultados rápidos y anticipables también es necesario contar con enfoques y
herramientas innovadoras y potentes.

Entonces, es aquí donde entra en juego la Modelación y Simulación como un enfoque para estos
requerimietos. Como se ha mensionado en el curso de laborario, algunas de las razones por la cuales
Modelar y en consecuencia Simular son:

 Nos ayuda a predecir el impacto de acciones sobre las cuales se quiere examinar la respuesta
de un sistema (existente o nuevo), sin incurrir en los riesgos, compromisos y plazos de una
implementación efectiva.
 Tambien nos proporciona un método con el cual podemos probar el entendimiento del mundo
real.
 Ayuda a producir mejores resultados, y más rapidos.
 Reduccion de costos. Etc.

Ademas del enfoque también es importante contar con la herramienta adecuada para Simular el
sistema de interés, que proporcione todos los componentes adecuados y que sea lo suficientemente
robusto para obtener los resultados deseados, que ayuden a la toma de decisiones.

2
En este caso ExtendSim, es una de las mejores herramientas de simulación que existen en le mercado
actual; proporciona un entorno grafico que nos permite visualizar el comportamiento de un sistema
dinamico.

En el presente es un material en el que se tratan todos los temas necesarios para comprender el tema
de la Simulación de Sistemas de Eventos Discretos (SDE), haciendo uso de la herramienta de
simulación grafica ExtendSim8.

En este documento se hace una breve introducción a las generalidades que tienen que ver con la
organización de la herramienta, la descripción de cada uno de los componentes necesarios para poder
comenzar a trabajar en la creación de modelos de simulación de sistemas de eventos discretos y
procesos de negocios, que es lo que nos interesa comprender en este curso (Modelacion y Simulación
1).

Adicionalmente, como se ha comentado se introducen todos los términos y conceptos necesarios que
se deben de conocer para poder comprender de una mejor forma el tema de la simulación.

3
Propósito

El material pretende servir de guía introductorio a la herramienta de simulación grafica ExtendSim,


para los estudiantes del curso de Modelación y Simulación 1 del primer semestre 2011.

Objetivos

General
Introducir la simulación de sistemas de eventos discretos y sistemas mixtos, haciendo uso de la
herramienta Extend Sim LT v8.

Especificos
 Explicación de los conceptos claves de la simulación por eventos discretos.
 Familiarizar al usuario con los elementos básicos de la interfaz de usuario de ExtendSim LT,
versión 8.
 Introducción a los bloques de construcción de ExtendSim LT 8.
 Presentar las generalidades del funcionamiento de los bloques de ExtendSim LT 8.
 Describir la organización de las herramientas en ExtendSim LT 8.
 Ejemplificar el uso de ExtendSim LT 8, a través de la construcción de un modelo de simulación
para un caso de estudio en donde se tiene a la vista un escenario clásico de un sistema de
eventos discretos, utilizando bloques de las librería Item y bloques de la librería Value, para
poder realizar algunos cálculos que son necesarios, en el modelo del caso de estudio.

Meta

Al finalizar el estudio de este documento se espera que el estudiante adquiera; el conocimiento, las
bases, y la capacidad de elaborar modelos de simulación de sistemas de eventos discretos, y cualquier
sistema en general haciendo uso de ExtendSim LT, versión 8.

4
5
Introducción a la Simulación por Eventos
Discretos
En primer lugar, debemos de tener en cuenta que independientemente de la herramienta de simulación
que utilicemos, existen tres tipos de modelos de simulación importantes en el modelado y simulación
de sistemas:

1. Los modelos continuos tratan con sistemas cuyo comportamiento cambia continuamente de
la misma forma que lo hace el paso del tiempo (minuto a minuto, segundo a segundo, etc).
Ejemplos de sistemas continuos son los simuladores de vuelo con los que las aerolíneas
entrenan pilotos, los sistemas de simulación que el servicio meteorológico utiliza para predecir
futuros patrones de clima, y las simulaciones que permiten a ingenieros de proceso predecir las
características operativas de proyectos.
2. Los modelos discretos, son aquellos que modelan los sistemas en donde el comportamiento
del sistema sólo cambia en instantes dados. Un ejemplo común de los sistemas discretos son
los sistemas de colas donde se desea estimar medidas como el tiempo de espera promedio o la
longitud de la cola de espera. Los momentos en los que ocurren los cambios en el sistema
identifican los eventos del modelo. El hecho de que los eventos ocurren en puntos discretos da
lugar al nombre de simulación de eventos discretos.
3. Modelo de tasas discretas: Ademas de las modelos discretos y continuos, existen los modelos
de tasas discretas .

Estos modelos se basen en el hecho que las tasas de los flujos cambian cuando los eventos ocurren.

En un sisteam donde las tasas varian de forma discreta, las cantidades de flujos (materias primas,
productos, datos, etc.), se encuentran en mas de un lugar del modelo.

Durante la simulación, los flujos se mueven de una ubicación hacia otra a cierta velocidad, que es
llamada la tasa efectiva.

El modelado de eventos discretos es una parte integral de proceso de Six Sigma, la reingeniería de
procesos de negocio, análisis de riegos, planeación de la capacidad, analisis del rendimiento, y la
fiabilidad de proyectos de ingeniería.

Sistemas de eventos discretos y procesos


La mayoría de los sistemas que observamos en el mundo real, se componen de elementos y recursos
que interactúan cuando un evento especifico tiene lugar.

6
Los sistemas de eventos discretos poseen dintintos componentes en común:

 Combinan elementos como: personas, procedimientos, materiales, equipo, información,


espacio, y energía. Con los recursos del sistema, como lo son equipo, herramientas, y personal.
 Cada proceso es una sucesión lógica de actividades que se llevan a cabo para producir una
salida (producto o servicio). Los procesos tienen una duración y envuelven el consumo de
recusos y elementos del sistema.
 Los procesos tiene lugar al producirse un evento. Por ejemplo, la llegada de partes, petecion
de un servicio, o la llamada entrante a un teléfono, son ocurrencias de eventos que desencaden
un proceso. Estos eventos tienen la característica de ser aleatorios.
 Los eventos son en la mayoría de los casos, los que dirigen el negocio.

Proceso de modelado
Un proyecto de simulación involucra la creación de un modelo lógico (conceptual) del sistema de
interés , una vez que tengamos el modelo se procede a correr la simulación, analizar los resultados,
optimizar la solución, y finalmente interpretar y presentar los resultados.

Objetivos de la modelización
El objetivo(s) de la modelización es algo semántico, en si depende de las factores (interpretar un
sistema real, analizar su comportamiento, administración, etc.), especificos que dan origen a la
necesidad de Modelar y en consecuencia Simular un sistema o proceso. Pero tomando en cuenta lo que
se indica en el libro titulado: “Modeling Tools for Environmental Engineers and Scientists” (N.
Nirmalakhandan, CRC Press),las principales metas y objetivos de los modelos estan orientados hacia
la investigación y la administración.

El proceso de simulación
Un experimiento de simulación no es un proceso donde cada actividad deba de realizarse de forma
aislada. Por el contrario cada una de las actividades que conforman el plan para efectuar el proceso de
simulación siguen una secuencia lógica que se presenta en el siguiente diagrama de flujo.

7
Formulación del
Problema

Recolección de Datos

Construir y verificar el
modelo

¿Válido? No

Ejecución de pruebas

Validación del
Modelo

¿Válido? No

Experimentos

Ejecución

Análisis de
resultados

Toma de
decisiones
IMPLEMENTACIÓ

8
Parámetros del modelo, variables de entrada y salida.
Un parámetro es cualquier característica numérica de un modelo o sistma ( ej.:, el número de cajas de
un sistema bancario, la tasa de llegada, etc.)

Los parámetros describen alguna característica del modelo y tienen la característica de que son
conocidos o pueden estimarse.

 Un parametreo de entrada; es un valor que se requiere como parte de la especificación del


modelo.
 Un parámetro de salida; es un valor que se calcula en base a los parámetros de entrada y las
operaciones (procesos) internas del sistema . Los parámetros de salida son indicadores de
medida del rendimeinto del sistema y su dinámica.

9
Elementos de la simulación por eventos
discretos

Reloj de la simulación
Es una variable de estado que cronometra el tiempo transcurrido dentro del sistema modelado durante
la corrida de una simulación.

Evento
Un evento es una acción, cuyo resultado provoca el cambio de estado del sistema. En el ámbito de la
Modelación y la Simulación los eventos, se dan durante la corrida de la simulación de un sistema.

Ejemplo: Sistemas de colas

 Llegar al sistema.
 Entrada al servidor.
 Salir del sistema.

Simulación por eventos discretos (SDE)


La simulación por eventos discretos es un tipo de simulación dinámica en donde el avance del reloj de la
simulación ocurre solo cuando se presenta un nuevo evento.

0 t1 t2 t3

El reloj de la simulación avanza de evento en evento; es decir avanza de forma discreta.

10
Objeto, ítem, o entidad
Son las unidades que viajan por el sistema: generando eventos que alteran el estado del sistema.Por
ejemplo, clientes, productos, herramientas, datos, etc.

Atributo
Es una característica de un objeto. Un objeto puede contar con varios atributos, pueden variar de ítem
en ítem, mientras que otros no. Pueden ser: aleatorios, arbitrarios, o sistemáticos.

Un ítem puede tener distintos tipos de atributos:

 Atributo: cualquier característica que no altere la composición del ítem.


 Valor: atributo que transforma un ítem en n ítems.
 Prioridad: atributo que le asigna más importancia a un ítem que otro.

Actividades
Las actividades se llevan a cabo para lograr un resultado especifico, generalmente un producto o
servicio.

Tienen un duración, e involucran la utilización de los elementos del proceso y de recursos. Una actividad
podría ser el procesamiento, movimiento, transporte, o cualquier operación que involucre la
manipulación de un ítem.

Recursos
Los recursos, representan las entradas o medios necesarios por el cual las actividades y operaciones de
un proceso se llevan a cabo. Tipicamente incluye: espacio, personal, herramientas, energía, tiempo,
dinero, etc.

11
ExtendSim LT 8
ExtendSim es una herramienta de simulación, que permite generar modelos de sistemas dinámicos del
mundo real en una variedad de áreas. Es una de las herramientas lideres en el campo de la simulación.

”ExtendSim en conjunto con nuestra imaginación es todo lo que se necesita para construir modelos
de simulación con un alto nivel de profesionalismo, que cumplan con los requerimientos de nuestros
negocios, industria, o como es nuestro caso las necesidades académicas.”

Desde un punto de vista general los modelos en Extend son una representación con el uso de bloques
de un proceso, en donde cada uno de los bloques tiene como función describir una parte (actividad)
propia del proceso.

Que se puede hacer con ExtendSim


Como se ha comentado con ExtendSim se pueden modelar una gran variedad de sistemas y procesos
individuales, ya que pone a nuestra disposición diferentes bloques para poder modelar estas
situaciones. Ademas si nos sentimos en la capacidad, también nos permite crear nuestros propios
bloques, que podrán usarse en los modelos en los que los necesitemos.

Capacidad de modelado
Con extendSim se puede lograr la construcción de modelos que incluyan, una amplia variedad de
características. Algunas de las mas relevantes son:

 Contruccion de modelos en forma jerarquica, para obtener estructurados y fácil de


comprender.
 La animación clásica en 2D, y ahora animación en 3D para darle un toque mas realista a los
modelos.
 La capacidad de moficar los parámetros de simulación durante la corrida de la simulación.
 Conectividad y interaccion con otros programas y plataformas.

Estas son solo algunas de las capacidades con las que cuenta ExtendSim, existe muchas mas solo es
cuestión de empezar a utilizar la herramienta para conocerlas.

12
Paquetes de ExtendSim
Ahora un poco de información técnica. ExtendSim se encuentra disponible en dos veriones; la versión
completa (cuatro en total), y la versión limitada (LT). En nuestro caso trabajaremos con la verion
limitada de ExtendSim 8.

Versiones completas
Las cuatro versiones completas de ExtendSim son productos especialmente utilizadas por empresas
privadas y entidades gubernamentales. La versión de ExtendSim CP es la versión base, lo siguientes
paquetes únicamente agregan modulos diseñados para mercados específicos:

1. ExtendSim CP (Continuous Process) : es utiliado para el modelado de sistemas continuos.


2. ExtendSim OR (Operational Reserch): es utilizado para investigación de rendimiento
operativo. Añada un modulo de eventos discretos y la capacidad de las características del
modelado continuo que se encuentra en ExtendSim CP.
3. ExtendSim AT ( Advanced Technology): diseñado para el modelado y análisis de sistemas
complejos. Añade tecnologías avanzadas; administración de escenarios, administración de
recursos, y la capacidad pa a el modelado de tasas a los modelos continuos y discretos que
posee ExtendSim OR.
4. ExtendSim Suite: este paquete incluye la siguiente generacion que añade la capacidad para
mostrar animaciones en 3D, que provee un representación en tres dimensiones del escenario
del modelo. Posee ademas todas las características presentes en ExtendSim AT.

Version limitada
La versión limitada de ExtendSim incluye un conunto limitado de bloques correspondientes a cada uno
de las cuatro versiones completas, descritas anteriormente. Su tamaño limitado y bajo costo, la hace
una versión apropiada para las cátedras estudiantiles.

ExtendSim LT 8
ExtendSim 8, presenta los bloques de construcción organizados en grupos denominados librerías.
Algunas de las librerías que componen esta versión, y sobre las que estaremos trabajando:

Item
Esta librería agrupa los bloques correspondientes a las actividades, operaciones,
y recursos de muchos entornos. Todas las operaciones necesarias para generar
eventos se manejan internamente a los bloques. La librería se ha optimizado
para el modela de servicios, operaciones de manufactura, operaciones
matemáticas, transporte, y otros elementos de sistemas discretos.
Los bloques de esta librería se han diseñado específicamente para el modelado
de las necesidades de las mayoría de sistemas de eventos discretos, permitiendo

13
realizar de forma rápida modelos complejos.
Esta librería incluye bloques que involucran conceptos de modelado de alto
nivel: variables de loteo (batch), ruteo condicional, operaciones de preferencia,
asi también incluye bloques que representan maquinas, mano de obra,
transporte, y muchas mas.
Value
Los bloques de la librería Value, se usan con frecuencia para el manejo de datos
y tareas especificas del modelo en los modelos de eventos discrestos. Utilizar
bloques de la librería Value con bloques de la librería Item no cambia la
arquitectura fundamental de los modelos de sistemas de eventos discretos.
Plotter
Esta librería permite introducir una gran variedad de gráficas a los modelos de
simulación, proporcionando una valiosa herramienta para el análisis de los
resultados arrojados por los modelos.

Librerías de la versión 6 de ExtendSim LT


Recordaremos algunas de las librerías presentes en la versión 6 de ExtendSim

Discrete event
Contiene todos los bloques básicos para construir modelos de simulación
discreta.
Generic
Contiene bloques útiles para manejo de información, realización de operaciones
matemáticas y para construir modelos de simulación continúa.
Mfg
Contiene bloques especializados, útiles en simulaciones discretas de sistemas de
manufactura.
Bpr
Sus bloques se usan en aplicaciones especializadas de procesos de negocios en
modelos de simulación discretos.
Sdi
Los bloques que contiene esta librería son de especial interés, ya que permiten
crear y manejar bases de datos al interior de los modelos, brindando la
posibilidad de tener toda la información y los datos del modelo en un repositorio
central de información.
Flow
Esta librería permite modelar sistemas en los cuales los objetos fluyen a través
de los procesos, asemejando un flujo.
Plotter
Permite introducir una gran variedad de gráficas a los modelos de simulación,
proporcionando una valiosa herramienta para el análisis de los resultados
arrojados por los modelos.

14
Conceptos básicos para el Modelado con ExtendSim LT 8

Entorno
En Extend, hay tres tipos de documentos: Modelos, librerías, y ficheros de texto.

Modelo
El modelo está compuesto por un conjunto de bloques enlazados a través de sus conectores por medio
de conexiones que representan el flujo de información. Cada bloque contiene la información procesal
así como datos de entrada o resultados.

ExtendSim cuenta con algunos ejemplos de modelos en la carpeta correspondiente


(File>Open>Examples>Tutorials). 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 ExtendSim en la simulación de modelos. La siguiente imagen muestra uno de los modelos
presentes en esta carpeta:

Librería
Una librería básicamente se describe como un almacén de bloques. ExtendSim cuenta con un gran
número de librerías las cuales incluyen bloques que son los elementos que sirven para crear modelos de
forma ágil y rápida. Como librerías básicas de ExtendSim para modelar sistemas de eventos discretos
cabe destacar a la librería Value y a la librería Item. No obstante existen librerías complementarias como
Rate, Tutorial, Plotter, Animation, entre otras. Estas librerías en conjunto permiten modelar un
importante número de procesos sin escribir ninguna ecuación.

15
Por otra parte existe la posibilidad de crear nuevos bloques, o modificar los ya existentes y a su vez
guardarlos en librerías nuevas o ya existentes.

Podemos acceder a cualquier librería que vayamos a utilizar en nuestro modelo en: Library > open

16
Bloque de ExtendSim
Es un objeto que realiza operaciones que permiten generar eventos. Cada bloque está constituido
internamente por un programa donde se especifica la acción o proceso que el bloque debe realizar.

En ExtendSim cada parte del proceso o sistema que estamos modelando es representado a través de
un bloque. Los bloques tiene nombres, por ejemplo, el bloque Activity y Queue.

Para poder observar esta estructura solo debemos de dar clic derecho sobre cualquier bloque:

17
18
En este sentido el bloque es el elemento básico de operación de ExtendSim. Para que actué dentro del
modelo deberá recibir información ya sea mediante el ingreso directo de datos a su cuadro de diálogo
de configuración de entrada y/o utilizando el/los conector(es) de entrada presente en el bloque, dicha
información será procesada por el programa que contiene en su estructura, emitiendo así una salida o
resultado, disponible en los cuadros de diálogos de salida y/o en el/los conector(es) de salida, de esta
manera podrá existir un intercambio de información de bloque a bloque si se establece una conexión.

Arquitectura de un bloque
Un bloque es una estructura compleja que está compuesto por una serie de mecanismos que hacen
posible su funcionamiento:

Dialogo
Es la ventana que se abre cuando se da doble clic sobre el icono del bloque. El
diálogo permite introducir información al bloque, así como también reportar
resultados.

Codigo ModL
ModL es el lenguaje de programación que hace que el bloque trabaje. El
programa lee información de los conectores, diálogos y del ambiente del
modelo produciendo así una salida que puede ser usada por otros bloques. Un
bloque puede también preguntar y controlar otros bloques en el modelo a través
de su código.
Icono
El icono es la representación pictográfica del bloque. Se puede dibujar el icono

19
con el dibujo de Extend, o con cualquier otro programa de dibujo, o copiando un
icono de otro ambiente.

D F

Animación
Es una parte animada del icono, que solo se puede ver si se activa la casilla de
Show Animation (en el menú Run), mientras se corre la simulación. La simulación
puede ser mostrada sobre el bloque del icono o podría mostrarse también fuera
de él. Los bloques en ExtendSim 8 puede animarse ya sea en 2D o en 3D, en
nuestro caso no concetraremos en la animación en 2D.

Conectores
Los conectores de entrada y salida del bloque. Estos se encuentran en el icono y
transmiten la información hacia y/o del código del programa. Los bloques
pueden también transmitir información de forma no visible sin usar conectores,
a través de un bloque de mensaje y variables globales. En general un bloque
puede tener cualquiera de los tipos de conector:
 Conectores que transportan valores.
 Conectores que transportan ítems.
 Conector universal, que puede transportar tanto ítems como valores.
De forma visual se puede observar la diferencia entre cada uno de estos

20
conectores. Los conectores que transportan valores son representados por
pequeños cuadros dibujados con línea sencilla, en cambio los conectores que
transportan ítems son representados por pequeños cuadros dibujados con líneas
dobles, y el conector universal es representado por un cuadrado dentro de un
círculo, este conector se encuentra en las versiones 6 y las anteriores a la 6.

Texto de Ayuda
Para acceder a la ayuda se debe dar clic en el botón inferior izquierdo que
aparece en el diálogo de cada bloque. La ayuda explica de forma resumida para
que sirve cada bloque, sus conectores, cuales son las entradas y salidas, etc.

21
Señal
Es toda información que sea del tipo: numérico, categórico, o lógico que se genera por cualquiera de los
bloques de ExtendSim. Que son el resultado de operaciones internas, información referente a los ítems,
a productos de cálculos que se dan durante la ejecución de la simulación.

22
Modelado de sistemas de eventos
discretos con ExtendSim LT 8
Como se ha descrito anteriormente, los ítems son los elementos que fluyen a travez del modelo, las
propiedades matienen información sobre los ítems, y los valores proveen información acerca del estado
del sistema.

Bloques para la generación y elminación de ítems

Ítem | Routing | Create Uso:


Este bloque permite la generación de ítems y valores al
sistema. El hecho de que se generen ítem o valores depende
Q depende de la opción que se tenga seleccionada en la
mean pestaña Create del dialogo del bloque en la opción Select
(1)
location block behavior. En esta opción se puede seleccionar los
siguientes comportamientos para la generacion de los ítems
o valores:

(2) (1) Create ítems randomly


(2) Create ítems by schedule

(3) (3) Create ítems infinitely


(4) Create values randomly
(5) Create values by schedule
V
mean
En el caso de los modelos que estemos trabajando en este
location documento, corresponde a sistemas discretos, entonces la
(4)
opción que estaremos trabajando será Create ítems
randomly.
Con esta opción podremos introducir ítems hacia nuestros
(5) modelos, de forma aleatoria siguiendo algún tipo de
distribución de probabilidades
Conectores de entrada (Create ítems randomly):
Q: conector de entrada para indicar el numero de ítems que
se quiere generar a la vez.
mean: en este conector se especifica la media para la

23
distribución de probabilidades seleccionada en la pestaña
Create, del dialo del bloque. El valor de este conector
sobreescribe el valor especificado estáticamente.
location: conector que sirve para indicar la posición del ítem
que se va a generar si es que se esta generando un cojunto.
Conectores de salida (Create ítems randomly):
ItemOut: conector de salida para los ítems generados por el
bloque.

Ítem | Routing | Exit Uso:


0 El bloque Exit es un bloque muy sencillo que sirve para que
los objetos presentes en el sistema puedan abandonarlo.
(1) Debido a esto, sólo tiene un conector de entrada de objetos y
otro de salida de información, por medio del cual se puede
consultar el número de objetos que han salido a través del
0 bloque. Pero si se quiere mas de una entrada para los objetos
que abandoran el sistema únicamente basta con aumentar el
numero de salidas en el cuadro de dialogo del bloque,
indicando la cantidad de salidad que se quieren.
(2)
En su cuadro de diálogo encontraremos un elemento con el
nombre Number Exited, que no es más que la cuenta de
objetos que han salido del sistema por cada una de las salidas
del bloque. Este valor es el mismo que entrega el conector
“O”.
Conectores de entrada:
ItemIn: por este conector en donde ingresan los ítems que se
van elimar del sistema que se esta modelando. Pueden haber
mas de una entrada de este tipo, como el caso de la figura 2.
Conectores de salida:
Total exited: conector donde se indica el numero de ítems
que han abandonado el sistema de forma global, contanto
los ítems que han abandonado cada una de las salidas que el
bloque presente.
Num exited at: conector que indica el numero de ítems que
han salido por un solo conector.

24
Bloques para el manejo de propiedades

Ítem | Properties | Set Uso:


DB
Este bloque permite la asignación de alguna propiedad al
{...}
ítem que pase a travez del bloque. La propiedad puede ser
(1) un simple atributo, una prioridad, o una cantidad (clonar).

DB Es posible asignar mas de una propiedad al ítem que


{...} atraviese el bloque, solamente basta con indicar en el
cuadro de dialgo en la pestaña Set Properties la cantidad de
propiedades que se quieren aplicar. Para cada propiedad
aparecerá en el bloque un conector de entrada donde se
(2) puede especificar de forma dinámica el valor que se le
asignara.
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
Value input conector array: conector de entrada para el
valo que se le asignara a cada una de las propiedades que se
hayan configurado. Dependiendo del numero de
propiedades especificadas, se encontraran tantos
conectores de estos, por ejemplo la figura 2 tiene un total
de tres conectores, para tres propiedades distintas.
DBIn: este conector indica la base de datos desde la cual se
estará solicitando los valores para las propiedades.
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del bloque
luego de aplicarle las propiedades en el bloque.

Ítem | Properties | Get Uso:


Bloque que permite consultar las propiedades del ítem que
{...} pasa por el. Tambien permite consultar atributos propios

del sistema; _Item index, _Item quantity, _Item priority,
(1)
_3D object ID.

{...} Al igual que el bloque Set, es posible consultar a la vez mas


 de una propiedad, solamente se debe de especificar en el
dialogo y la pestaña Get Proporties la cantidad de
propiedad a consultar.
(2)
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.

25
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del bloque
luego de aplicarle las propiedades en el bloque.
Value output conector array: conector por donde se envía
el valor de cada una de las propiedades que se quieren
consultar. Existe un conector de salida para cada propiedad
que se quiere evaluar (Fig. 2)

Ítem | Properties | Equation(I) Uso:

y =f (x)
Se puede utilizar para establecer, modificar, consultar
atributos de los ítems que atraviesan el bloque. La
ecuación que se especifica en el bloque se calcula para cada
ítem que atraviesa el bloque.
Las ecuaciones pueden hacer uso de cualquier tipo de
propiedad existente en el ítem, únicamente se debe de
seleccionar los que se quieren utilizar en la pestaña
Equation del cuadro de dialogo, en la sección de Input
variables, y en la sección Output variables seleccionamos
las propiedades a las que se le va asignar el resultado del
cálculo.
Se puede especificar la cantidad de propiedades que se
quiere utilizar en la misma pestaña.
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
InCon0: conector para especificar la propiedad a la cual se
la asignara el resultado de la ecuación. Este solo esta
disponible cuando se tiene una única propiedad
especificada en el bloque.
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del bloque
luego de aplicarle el valor de la ecuación resultado.
OutCon: el valor resultado de la ecuación.

Ítem | Properties | Executive Uso:


Es un bloque indispensable en todos los modelos de
simulación discreta, pues es el bloque que controla la
simulación. Su función es manejar el reloj de la simulación y
controlar la ocurrencia de los eventos, es decir, es el que se
encarga de llevar la lista de eventos, del avance del reloj y
de controlar la duración de la simulación, entre otras tareas.

26
En la pestaña Attributes se utiliza para la administración de
atributos; renombramiento, eliminación de atributos, o
eliminar la ubicación en el modelo. Ademas es donde los
valores de los atributos declarados se especifican.

Bloques para el manejo de líneas de espera (colas) y


almacenamiento
Una cola provee un espacio (buffer) , o una línea de espera para almacenar ítems en espera de algún
tipo de procesamiento. Las colas pueden tener un comportamiento normar FIFO, LIFO, o un
comportamiento mas complejo, como podría ser liberar los ítems en grupos de acuerdo a los valores de
sus atributos.

Ademas a las colas se les puede especificar cuanto tiempo es el máximo que un ítem puede estar
esperando antes de abandonar el bloque (dejar de hacer cola).

Ítem | Queues | Queue Uso:


Almacena los ítems que ingresan al bloque hasta que el
bloque conectado al conector de salida de ítems, tenga
R L la capacidad brindar el procesamiento al siguiente ítem
L W de la cola.
F
P Las políticas de ordenamiento con las cuales se puede
(1) configurar el bloque incluyen: FIFO, LIFO, Prioridades, o
el valor de algún atributo. Por defecto los ítems se
encuentran ordenados con la política FIFO.

R L
El bloque se puede comportar de dos formas; una cola
L W normal que acepta las políticas antes mencionadas, o
F como una cola de recursos, en donde los ítems son
P liberados únicamente cuando este disponible algún tipo
(2)
de recurso necesario para el procesamiento del bloque.
Para seleccionar cualquiera de los 2 comportamiento se
escoje en la pestaña Queue del dialogo del bloque en la
sección Select queue behavior:
(1) Sorted queue
(2) Resource pool queue
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
Renege time: conector donde se especifica el tiempo

27
máximo que el ítem que entra a la cola puede esperar
antes de abandonarla.
Max queue length: conector para especificar la cantidad
máxima de ítems que pueden haber en la cola.
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del
bloque.
Queue length: conector que indica el numero de ítems
en la cola.
Wait time: conector que indica el tiempo que el ítem
que sale del bloque espero hasta poder ser procesado.
Full out: indica cuando la cola esta llena.
Priority: indica la prioridad del siguiente ítem que sale
de la cola.

Ítem | Queues | Queue Equation Uso:


Almacena ítems. Calcula el valor de la ecuación definida
y =f (x) en el bloque cuando llega un nuevo ítem al bloque o
L W F cuando el conector de entrada InCon0 se dispara con
(1) algún valor. Cuando el bloque conectado a las salida de
ítems de este bloque se encuentra disponible para el
procesamiento se libera el ítem de acuerdo al resultado
de la ecuación.
Al igual que con el bloque Equation(I), en el dialogo del
bloque se pueden especificar las propiedades del ítem
de los cuales se tomaran los valores para la ecuación, asi
como las propiedades que se afectaran.
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
InCon0: conector para especificar la propiedad a la cual
se la asignara el resultado de la ecuación. Este solo esta
disponible cuando se tiene una única propiedad
especificada en el bloque.
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del
bloque.
Queue length: conector que indica el numero de ítems
en la cola.
Wait time: conector que indica el tiempo que el ítem

28
que sale del bloque espero hasta poder ser procesado.
Full out: indica cuando la cola esta llena.

Ítem | Queues | Queue Matching Uso:


Este bloque maneja grupos de colas internamente, de
forma separada. La cantidad de colas que se manejan se
MG
especifica en el dialogo en la pestaña Match Items, es la
DG sección Set queue behavior, donde también se
DA especifica la política de ordenamiento de ítems en cada
LO
una de las colas.
Order
(1) El bloque libera un grupo de ítems de alguna de las colas
por la salida de ítems correspondiente a la cola qe se
selecciona, cuando el bloque conectado a la salida de
ítems esta disponible y los requerimientos del grupo de
MG
DG
la cola que se escogio de han completado.
DA
Este bloque es útil para hacer coincidir un tipo de ítem
LO
Order con otro tipo.
(2)
Conectores de entrada:
Queue In: conector por donde entran los ítems a la cola
seleccionada.
Match ítems only from group: el valor presente en este
conector indica cual cola es seleccionada para hacer
coincidir a los ítems.
Dump items only from group: el valor en este conector
especifica que cola es de la que se toma el item que
abandora la cola cuando el bloque de procesamiento se
encuentre libre.
Dump items from all groups: un valor mayor a 0.5 en
este conector indica que todas la colas seran
selaccionadas para liberar items por sus respectivas
salidas.
Length out: especifica la cantidad de items de cada una
de las colas.
Order: si el conector se encuentra conectado, el bloque
tratara de hacer coincidencias de ítems cuando se reciba
una señal en este conector.
Conectores de salida:
Queue out: corresponde a la salida de los ítems de cada
una de las colas que maneja el bloque.
Length out: conector que especifica valores como: total

29
de ítems, ítems que han coincidido, ítems sin
coincidencia, y grupos sin coincidencia. El valor que el
conector tenga se selecciona en el cuadro de dialogo del
bloque en la opción L reports.

Utilities | Discrete Event Tools Uso:


Es un bloque cuya única entrada, solamente puede ser
conectada a la salida L de cualquier cola, para poder
visualizar e inicializar el contenido de la cola.
Despliega información de las propiedades de los ítems
en una tabla interna al dialogo del bloque. Se puede
agregar un numero inicial de ítems, con propiedades
especificas a la cola.
Conectores de entrada:
LengthIn: conector que recibe una señal del conector de
salida L de una cola.

Bloques para el manejo de ítems desde distintas fuentes, y


envio de ítems hacia distintos destinos
Cuando nos encontramos modelando algún sistema, nos encontramos ante situaciones en las cuales
necesitamos manejar ítems provenientes de distintos lugares en el modelo, y también situaciones las
que los ítems deben de enviarse hacia diferentes lugares en el modelo. De acuerdo al proposito de
nuestro modelo ExtendSim cuenta con bloques para esta tarea.

Ítem | Routing | Catch Item Uso:


Este bloque se usa en conjunto con el bloque Throw
Item, no existe una conexión física entre los bloques.
#
Solamente se especifica en el bloque Throw cual es el
Block num
(1) Catch al que hace referencia.
A grandes rasgos la tarea del bloque es la de recibir los
ítems enviados remotamente por bloques Throw desde
cualquier parte del modelo.
Conectores de entrada:
No aplica
Conectores de salida:
ItemOut: conector de salida de ítems del bloque.

30
Count: lleva el control de la cantidad de ítems que han
pasado por el bloque.
Block num: especifica el numero del bloque, este valor
es sumamente útil cuando en un bloque Thrown se
especifica la opción Use attribute value as catch item
block number

Ítem | Routing | Select Item In Uso:


Este es un bloque sencillo, ya que su función es la de
seleccionar el ítem presente en alguna de las entradas
(1) del bloque y trasladarlas a la única salida del bloque.

0
El numero de entradas al bloque se especifica en el
(2) 0 dialogo del bloque en la pestaña Options, en la opción
Select options and report throughput.
Las políticas para seleccionar los ítems de cualquiera de
(3) las entradas del bloque se configuran en la pestaña
Options y la opción Select input based on:
(1) Item priority
(4)
(2) Random
(3) Select connector
(5)
(4) Sequential
(5) Merge
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
SelectIn (3): conector para especificar de cual de las
entradas se tomara el ítem que se envía a la salida del
bloque.
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del
bloque.

Ítem | Routing | Select Item Out Uso:


None Este es un bloque sencillo al igual que el anterior, ya que
su función es la de pasar el ítem presente en la entrada
del bloque y trasladarlo cualquiera de las salidas del
(1)
bloqle de acuerdo a algún criterio.
El numero de salidas del bloque se especifica en el
dialogo del bloque en la pestaña Options, en la opción

31
Select options and report throughput.
Las políticas para seleccionar los ítems de cualquiera de
las entradas del bloque se configuran en la pestaña
(2) Options y la opción Select output based on:
(1) Property
0.5
(2) Connector priority
0.5
(3)
(3) Random
(4) Select connector
(4) (5) Sequential
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
(5)
SelectIn (3): conector para especificar a cual de las
salidas se enviara el ítem cuando se encuentra
seleccionada la opción Select connector.
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del
bloque, según el criterio seleccionado.

Ítem | Routing | Throw Item Uso:


Es el bloque que se usa en cojunto con el bloque Catch
Item, y es desde este bloque donde se envían los ítems
(1) al bloque Catch especificado en el dialogo del bloque.
[None] Los bloques Catch hacia los que se puede enviar un ítem
que entra a este bloque se puede espcificar de dos
formas, en la pestaña Throw y la opción Catch group
(2)
and Selection options:
(1) Catch ítem group
(2) Specify Catch ítem by
Conectores de entrada:
ItemIn: entrada de ítems al bloque.

Bloques que afectan el flujo de ítems

Value | Math | Decision Uso:


Es un bloque básico en la mayoría de los modelos de

32
A
B
sistemas discretos, y el objetivo es el de controlar el
A>0
Y flujo de ítems en alguna parte del modelo.
(1) N
Su función básica es parecida a la de una condición if,
posee los siguientes criterios de comparación de las
entradas A y B:
 A>B
 A >= B
 A<B
 A <= B
 A=B
 A != B
 A is not a number
Conectores de entrada:
AIn: conector de entrada del valor A de comparación.
BIn: conector de entrada del valor B de comparación.
Conectores de salida:
YOut: señal que indica que la comparación es
verdadera.
NOut: señal que indica que la comparación es falsa.

Ítem | Routing | Gate Uso:


Controla el flujo de ítems en cualquier parte del modelo
o en base a las condiciones del modelo.
El bloque bloquea el flujo de ítems de la entrada a la
(1)
salida. Los ítems atraviesan el bloque únicamente
cuando en el conector demand se encuentra conetado y
el valor de entrada es verdadero (mayor a 0.5) si el tipo
de entrada de este conector es un valor, ya el flujo
(2) puede ser controlado por la entrada de un ítem, o el
control de la cantidad de ítems en cierta parte del
modelo. Para configurar cual de estos tres tipos de
criterios controlan el flujo, se hace uso de la opción Type
(3) en la sección Define Gate Behavior de la pestaña Gate
del bloque:
(1) Conditional gating with items
(2) Conditional gating with values
(3) Area gating

33
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
DMI_DemandIn: conector por donde ingresa el ítems
que controla el flujo, cuando en el bloque se ha
especificado la opción (1).
Demand for ítems: conector por donde ingresa la señal
que controla el flujo cuando se ha configurado el bloque
con la opción (2).
Sensor: entrada para controlar la cantidad de ítems en
cierta parte del modelo cuando el bloque se configura
con la opción (3)
Max ítems allowed in área: señal que especifica la
cantidad de ítems que se espera que hayan en cierta
parte del modelo, cuando el bloque esta configurado
con la opción (3)
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del
bloque.
Accumulate demand: cuando el flujo es controlado por
objetos ítems este conector indica la cantidad de ítems
acumulados.
Num ítems currently in área: cuando el flujo a travez
del bloque esta configurado como área gating, este
conector indica la cantidad de ítems en el área que se
esta controlando.

Value | Math | Math Uso:


La función principal de este bloque es realizar una
operación matemática con los valores de las entrafas
(1) del bloque. El numero de entradas depende de la
operación que se quiera realizar.
En la pestaña Options del bloque en Select category se
puede seleccionar el tipo de operación que se va
(2) realizar:
 All
 Financial
 Logical

34
 Math
 Trigonometry
Al seleccionar cualquiera de estas categorías en la
Specify function se puede seleccionar la operación
especifica que se quiere realizar.
Conectores de entrada:
ValuesIn: corresponde a cada una de las entradas de los
valores que se necesitan para realizar la operación que
se ha configurado en el bloque.
Conectores de salida:
ResultOut: corresponde al resultado de la operación
realizada con los valores entrantes al bloque.

Value | Math | Max & Min Uso:


Es un bloque cuya única función es devolver el valor
max
con máximo o minino del conjunto de valores a la entrada
(1) del bloque. Es muy utilizado con los bloques de la
librería Item para controlar el flujo de ítems.
min En la pestaña Options y la opción Output the se
con
especifica si se quiere el valor máximo o minimo.
(2)
Conectores de entrada:
ValuesIn: en este conector entre un valor que será
comparado con los demás valores de las demás
entradas.
Conectores de salida:
MaxMinValueOut: salida del valor minimo o máximo
según se haya configura la salida en el bloque.
MaxMinValueConnectorOut: el numero del conector
del cual se selecciono el valor máximo o minimo.

Bloques para el manejo del procesamiento de ítems


(Actividades)
Item | Activities | Activity Uso:
Es un bloque muy importante en los modelos de
eventos discretos. Tiene la capacidad de procesar un

35
ítem o varios a la vez, de acuerdo al tiempo de
procesamiento establecido en el bloque o ingresado a
través del conector D.
D F
En la pestaña Process del bloque se especifica la
C U
L cantidad de ítems que el bloque puede procesar al
P mismo tiempo.
NB
SD Y en la pestaña Shutdown se puede habilitar la opción
SH que permite parar el procesamiento del ítem en
PT cualquier instante.
BT
DT Otra concepto interesante de este bloque es que
AS
permite simular la operación de un procesador (CPU) en
#
% Busy donde este tiene que dividir el tiempo de procesamiento
% Idle entre todos los procesos. Este comportamiento se
% Blocked habilita en la pestaña Options y seleccionado la opción
% Shutdown
Simulate multitasking activity.
% Of f shif t
(1)
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
Delay: en este conector se ingresa el tiempo total que el
D F ítem que entra a la actividad permanece en el bloque,
C U este sobreescribe el valor que se haya especificado
L
manualment en el bloque.
P
NB Capacity: en este conector se especifica la cantidad
SD
SH
máxima de ítems que pueden permacen
PT simultáneamente en procesamiento en el bloque.
BT Sobrescribe el valor especificado manualmente.
DT
AS Conectores de salida:
#
% Busy ItemOut: conector por donde salen los ítems del bloque.
% Idle
% Blocked F: señal que indica cuando el bloque se encuentra lleno
% Shutdown si se ha especificado una capacidad máxima.
% Of f shif t
(2) U: señal que indica el porcentaje de tiempo que el
bloque permanece en uso.
L: especifica la cantidad de ítems en el bloque.
P: indica el valor de la prioridad del ítem con la mas alta
prioridad que se encuentra en procesamiento.
NB: indica el numero de ítems que se han quedado
bloquedados.
SD: indica si el bloque se encuentra desactivado.
PT: indica el tiempo de procesamiento del ultimo

36
bloque que deja la actividad.
BT: indica el tiempo que el ultimo ítem paso en estado
de bloqueado.
DT: indica el tiempo que el ultimo ítem que dejo la
actividad paso en estado down.

Ítem | Activities | Convey Item Uso:


Este bloque es ideal para simular la función de una
speed u banda transportadora, en donde los ítems se mueven de
(1) un lugar a otro. Se puede configurar para especificar la
cantidad de ítems que se trasladan y la velocidad a la
que se trasladan.
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
Speed: conector donde se indica la velocidad a la que se
trasladan los ítems.
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del
bloque.
Utilization: el porcentaje de tiempo que el bloque
permanece en uso.

Ítem | Activities | Transport Uso:


Este es un bloque parecido al anterior, con la única
diferencia que agrega la variable de la distancia a la cual
D U
se moverán los ítems.
demand L
Conectores de entrada:
x start
y start ItemIn: conector por donde entran los ítems al bloque.
x end
y end Demand: indica la cantidad de ítems que serán
(1) transportados.
X start: la coordenada X del punto inicial desde el cual
se inicia el recorrido.
Y start: la coordenada Y del punto inicial desde el cual
se inicia el recorrido.
X end: la coordenada X del punto final al cual se
trasladan los ítems.
Y end: la coordenada Y del punto final al cual se
trasladan los ítems.

37
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del
bloque.
Utilization: el porcentaje de utilización del bloque.
Length: la cantidad de ítems que se están transladando.

Ítem | Activities | Workstation Uso:


Este bloque actua como una cola FIFO combinado con
un bloque Activity, manejando y procesando ítems .
C F Toma uno o varios ítems a la vez, los procesa según la
U política FIFO, y los libera tan pronto como el tiempo de
L procesamiento se haya completado.
(1)
Conectores de entrada:
ItemIn: conector por donde entran los ítems al bloque.
Capacity: en este conector se especifica la cantidad
máxima de ítems que pueden permacen
simultáneamente en procesamiento en el bloque.
Sobrescribe el valor especificado manualmente.
Conectores de salida:
ItemOut: corresponde a la salida de los ítems del
bloque.
Utilization: el porcentaje de utilización del bloque.
Length: la cantidad de ítems que se están transladando.
Full: indica cuando el bloque se encuentra lleno.

38
Ejemplo de Modelado de sistemas de
eventos discretos con ExtendSim LT 8

Caso de estudio 1

Llegada de aviones
Al aeropuerto internacional La Aurora, llegan aviones cada 15 minutos aproximadamente, cuya
informacion mas relevante se muestra en la tabla adjunta (mantenimeinto –mantto.-- en horas ).

Probabilidad Pasajeros Mantto.


Grande 0.7 Ud(150, 200) Ud(0.75, 1.1)
Pequeño 0.3 Ud(10, 15) Ud(0.4, 0.8)

Después de llegar, cada avión debe esperar (FIFO), a que uno de los grupos de mantenimiento lo revise
y lo deje listo para un nuevo vuelo.

Por otra parte se ha determinado que cada pasajero trae entre una y cuatro maletas, con peso total
Normal (25n, 2.5n) (en kilogramos), donde n es el número de maletas del pasajero.

La multa por exceso de equipaje es la siguiente: si el pasajero trae más de dos maletas, se le cobra $100
por cada maleta adicional; además si el peso total es superior a 25nkg, se cobra $10 por cada Kg
adicional.

Se requiere

Que construya un modelo en ExtendSim, que simule el sistema para 10h de funcionamiento,
calculando el ingreso total por multas por exceso de equipaje. Omita los tiempos de aterrizaje y
descarga de pasajeros.

39
Construcción del modelo
En las siguientes secciones se hace un resumen de los pasos realizados para la construcción del modelo,
con la herramienta ExtenSim.

Reloj de la simulación
Como punto inicial el bloque primordial que debemos de arrastrar hacia el modelo es el bloque
EXECUTIVE. Este controlara la ocurrencia de eventos en el sistema asi como elmanejo de las
propiedades creadas en el sistema.

Control Configuración:
En esta pestaña únicamente debemos de especificar en la opción Stop
simulatión: at end time.
Para indicar que se finalice la simulación cuando de haya cumplido el
tiempo sobre el cual se quiere observar el sistema (configuración de
Simulation setup).

Generacion de ítems (aviones)


Para representar el arribo de los aviones al aeropuerto se utiliza el bloque Create, y como primer, paso
dado que estamos modelando un sistema de eventos discretos donde los eventos se presentan
siguiendo algún tipo de distribución aleatoria. Configuramos el bloque para que la creación de ítems sea
de forma aleatoria.

40
Create
Configuración:
En la opción Select block behavior, especificamos que los ítems se crearan
de forma aleatoria (Create ítems randomly).
En este caso no se está especificando la distribución de probabilidades
entre el tiempo de arribo de los aviones, entonces en Specify a
distribution for TBA, seleccionamos una distribución de propósito general
(Constant), ya que las llegadas son constantes con un tiempo de diferencia
de 15 minutos.
Se está especificando que el arribo se da cada 15 minutos, entonces en
Constant, especificamos un valor de 15, con lo cual se está diciendo que
cada 15 minutos un avión llega al aeropuerto.
Para este caso las unidades de tiempo en Times Unists, seleccionamos
minutes.

Item Animation
Configuraciones:
Ahora bien en la pestaña Item Animation, nos dirigimos al sección Select
Item Animation, y en 2D picture seleccionamos la animación que
queremos visualizar durante la simulación.

41
Clasificación del avión
Ahora, el siguiente paso es especificar para cada avión, si es
Grande o Pequeño, esto lo hacemos con el bloque Set. Con
este bloque creamos el primer atributo en el sistema, que se
asigna a cada avión que atraviesa por el bloque, en este caso
el valor del atributo es una string con el valor grande o
pequeño.

La clasificación del avión debe de generarse de forma


aleatoria. Para esto también se hace uso del bloque Random
Number.

Set

Set properties
Configuración:
En esta pestaña creamos el atributo en la sección Property Name, en el
menú que nos aparece seleccionamos New String Attribute.
Especificamos el nombre para el atributo, en nuestro caso se llamara tipo.
Luego de crear el atributo automáticamente aparece una nueva ventana
donde especificamos todos los posibles valores que puede tomar el
atributo. Nosotros listamos solo los valores grande y pequeño.

42
Random Number

Distributions
Configuración:
El campo Value de este atributo va ser el valor que genere el bloque
random. Siguiendo la información proporcionada, existe un valor de
probabilidad para cada tipo de avión.
Entonces este bloque, vamos a configurarlo para que genere ya sea el

43
valor grande o pequeño, según las probabilidades proporcionadas. En este
bloque se puede seleccionar la distribución de probabilidades que se va
utilizar para generar dicho valor.
En este caso tenemos valores puntuales de probabilidades, entonces en
Specify a Distribution, seleccionamos la opción Empirical Table, y en
Values are especificamos Discrete. Finalmente en la tabla especificamos
la información que se nos brinda.

Omitir tiempo de aterrizaje y descarga de pasajeros


Como claramente se indica que obviemos los tiempos de
aterrizaje y descarga de pasajeros. Aquí necesitamos
representar dos situaciones que nos están dando a
entender explícitamente:
 La situación en la que los pasajeros recogen su
equipaje y se verifica el monto total de la multa a cancelar.
 Y la situación en la que los aviones se dirigen al área de servicio, para que uno de los grupos de
mantenimiento lo deje listo para los vuelos posteriores.
Entonces para poder lograr esto, hacemos uso del bloque Unbatch, el cual nos permite dividir el ítem en
su entrada hacia varias salidas, pero para nuestro caso únicamente vamos a necesitar clonar el ítem
hacia dos salidas. Con ello logramos representar la situación en la que los aviones van por
mantenimiento, y los pasajeros van a recoger su equipaje.
Unbatch
Configuración:

44
En la opción Select block behavior, especificamos Create multiple ítems.
En Specify the quantity to unbatch agregamos unicamente 2 filas y en
Quantity especificamos que unicamente queremos un item a cada una de
las salidas.

Item Animation
Configuración:
Aquí solamente vamos a cambiar la animación de la fila 1, entonces en
Animation option seleccionamos Change to y en 2D Picture selecionamos
People.

45
Generacion de pasajeros del avión
El primer paso es generar la cantidad de pasajeros que se supone venien en el vuelo, esto lo hacemos
con la ayuda del bloque Get para obtener en primer lugar el tipo de avión, y de esta forma poder hacer
el mismo proceso con los bloques Lookup table para generar los intervalos de pasajeros según la
información proporcionada en el caso de estudio, y poder mandar estos valores al bloque Random
Number que finalmente generara la cantidad de pasajeros para el tipo de avión en particular.

46
Get

Get Properties
Configuración:
Unicamente seleccionamos en Property Name el atributo que queremos
consultar. En nuestro caso es tipo.
Marcamos Show property name on output connector
Marcamos Show property value on output connector

Lookup table

Vamos hacer uso de dos bloques para generar el valor Minimo y Maximo de la distrubucion Integer,
Uniforme del bloque Random Number que dara el número de pasajeros del avión.

 El primer bloque lo configuraremos para que nos genere el valor Minimo del rango.
 El segundo bloque para que genere el valor Maximo del rango.
 Al final las salidas de los bloques se conectan al bloque Random Number en los conectores
correctos.

Table
Configuración:
En la seccion Specify behavior configuramos el bloque con los valores

47
input value (Lookup the), y discrete (Output is).
En la sección Enter values in the table especificamos que solamente
vamos a tener dos opciones y para cada uno seleccionamos el nombre de
la opcion y el valor que se quiere. En este caso lo valores corresponden a
los limites inferios de cada uno de los rangos.

La misma configuración se aplica para el otro bloque, solamente que se deben de cambiar los valores de
la salida para cada una delas opciones, que serian la de los limites superiores de cada uno de los rangos
de pasajeros que se indican en el caso de estudio.

Random Number

Distributions
Configuración:
Únicamente se especifica el tipo de distribución de probabilidades. Como
tampoco se especifica una distribución particular, especificamos ‘Uniform,
Integer’, ya que el rango de valores únicamente puede ser valores enteros.

48
Set

Para simular la cantidad de pasajeros que descendieron del avión, hacemos uso de un bloque Set y
utilizamos la propiedad del sistema _item quantity, para aumentar la cantidad de items (pasajeros) en
este punto del modelo. La cantidad de items que se agregan al sistema depende del resultado del
bloque Random Number que se conecta a la entrada del bloque.

Entonces en este punto lo que se hace es generar generar el numero de pasajeros según si el avión es
grande o pequeño, y las distribuciones que se indican de los pasajeros para cada tipo de avión.

Set Properties
Configuración:
En Property name especificamos selecionamos _item quantity
Marcamos Show property name on output connector
Marcamos Show property value on output connector

49
Servicio de mantenimiento
A grandes rasgos el proceso que se sigue en este subsistema es que los aviones llegan y si existe algún
avión recibiendo mantenimiento, esperan en una cola siguiendo una disciplina FIFO.

 Una vez que el equipo de mantenimiento este libre el siguiente avión en la cola se dirige a
recibir mantenimiento. El tiempo que se tarda el equipo en darle mantenimiento a cada avión
varía según si el avión es grande o pequeño, según la información proporcionada en el
enunciado.
 Entonces como primer paso, necesitamos generar el tiempo que le toma al equipo de
mantenimiento dejar listo al avión. Esto lo hacemos tomando del avión que deja la cola, a
través del bloque Get consultamos el atributo tipo para idenitificar si es grande o pequeño, y
para poder generar el valor del tiempo que se le asigna al equipo de mantenimiento (bloque
Activity). En este bloque únicamente marcamos el nombre del atributo cuyo valor queremos
obtener y la opción de no cambiar la animación:

Queue

50
Queue
Configuración:
En Select queue behavior, especificamos sorted queue y en Select sort
method especificamos first in, first out.

Get

Get Properties
Configuración:
Unicamente seleccionamos en Property Name el atributo que queremos
consultar. En nuestro caso es tipo.
Marcamos Show property name on output connector
Marcamos Show property value on output connector

51
Lookup table

El valor del atributo que se obtiene con el bloque Get estará disponible en el conector tipo, del bloque y
que se toma como entrada para los bloques Lookup table, al igual que con la generación del intervalo
para obtener los pasajeros del avión.
Vamos hacer uso de dos bloques para generar el valor Minimo y Maximo de la distrubucion Real,
Uniforme del bloque Random Number que dara el tiempo que el avión pasara en mantenimiento.

 El primer bloque lo configuraremos para que nos genere el valor Minimo del rango.
 El segundo bloque para que genere el valor Maximo del rango.
 Al final las salidas de los bloques se conectan al bloque Random Number en los conectores
correctos.

Table
Configuración:
En la seccion Specify behavior configuramos el bloque con los valores
input value (Lookup the), y discrete (Output is).
En la sección Enter values in the table especificamos que solamente
vamos a tener dos opciones y para cada uno seleccionamos el nombre de
la opcion y el valor que se quiere. En este caso lo valores corresponden a
los limites inferios de cada uno de los rangos.

52
La misma configuración se aplica para el otro bloque, solamente que se deben de cambiar los valores de
la salida para cada una delas opciones, que serian la de los limites superiores de cada uno de los rangos
de los tiempos que el avión pasaría en mantenimeinto según se indican en el caso de estudio.

Activity

Finalmente el bloque Activity, representa dos grupos de mantenimiento, los cuales se tarda el tiempo
que nos da el bloque Random Number en darle mantenimiento al avión.
Process
Configuración:
Especificamos en Maximum ítems in activity el valor 2, con el cual se
simula que habran dos equipos brindando servicio.
Y finalemente en Delay is especificamos from the D connector.

53
Sistema de entrega de equipaje y cobro de multas

Espera para entrega de equipaje

Al descender del avión cada pasajero se dirige


al área encargada de la entrega y control de
equipaje, dado que el enunciado no especifica
mayor información de como es este proceso,
entonces se asume que existe una cola en
donde los pasajeros esperan pos su equipaje.

Entrega de equipaje

Para modelar la entrega del equipaje al pasajero, lo hacemos agregandole un


nuevo atributo al pasajero en este caso, para el manejo de la cantidad de maletas
que trae consigo. La cantidad en generada de acuerdo a la información
proporcionada en el caso de estudio, con la ayuda de un bloque Random Number.

54
Cálculo de multas

Luego de asignarle a cada uno de los pasajeros la cantidad de maletas, es tiempo de calcular la multa
total que tiene que pagar. Para ello en primer lugar tenemos que saber el número de maletas asignados
al pasajero.

 Con ese valor se procede a generar el intervalo para el peso de las maletas, segun la
información del problema: dice que el peso de las maletas es una distribucion Normal con
media=25*n y desviación=2.5*n, donde 'n' es la cantidad de maletas. Los bloques 'Constant'
nos sirven entonces para tomar el valor por el cual multiplicar la cantidad de maletas, en este
caso el primero tiene un valor de 25 y el siguiente el valor de 2.5. El bloque ''Multiply' entonces
recibe como entrada la cantidad de maletas y el valor de la contante para generar el valor que
se envia al bloque Random.
 Ya teniendo el valor de Media en el conector 1 del bloque Random y la desviación en el
conector 2, y configurando el bloque Random para que use una distribucion normal, nos
genera valor de peso de la maleta.
 Finalmete para hacer el cálculo de la multa, hacemos uso del bloque 'Equation(I)', el cual nos
permite programar codigo estandar ModL. La forma en la que se calcula la multa es la
siguiente:

Primero se verifica si la cantidad maletas es menor o igual a 2, si es cierto lo único que


se debe de verificar es si el peso total de las maletas excede el valor el valor de la
media (25*n) y calcular la multa en base a la cantidad de kilos de exceso, la siguiente
fórmula hace esta tarea:

pago = multa_peso * Max2(peso_total - const_media * maletas, 0);

Por otro lado si la cantidad de maletas excesa a 2, entonces ademas de la multa por
exceso de kilo se cobra multa por exceso de equipaje, a travez de la siguiente formla:

pago = multa_maletas * (maletas - 2) + multa_peso * Max2(peso_total - const_media * maletas, 0);

55
Configuración de la simulación

Animación
Para poder ver la animación de los objetos, sólo activar la opción Run>Show 2D Animation.

Configuración de la corrida

Pestaña: Discrete event

La opción “Simulation Setup” del menú “Run” permite especificar cómo y qué tan larga es la corrida de
la simulación. El diálogo tiene tablas para modelos de eventos en tiempo discreto y continuo, así como
también tablas para números aleatorios y unidades de tiempo.
Setup
Define simulation duration and number of runs:
End time: el tiempo que se va a simular el sistema. En nuestro caso
necesitamso observar el sistema durante 10 horas.
Runs: La simulación del sistema va consistir en una solo corrida, entonces
aquí únicamente especificamos un valor de 1.

56
Start time: Es el punto en el que se inicia la simulación. Para nuestro caso
vamos a iniciar la observación desde la hora 0.
Select time units and Calendar or non-Calendar system:
Global time units: unidades de tiempo en que se regirá el modelo entero.
En nuestro caso seleccionamos Hours.
Las demás opciones se configuran cuando se quiere realizar una
simulación mas detallada en nuestro caso con las configuraciones
especificadas, queda configurado todo lo necesario, para correr el modelo.

Estatus de la simulación
Cuando se comienza a correr el modelo, ExtendSim muestra alguna información de status inicial en la
forma de mensajes que aparecen momentáneamente 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 simulación se está llevando a cabo, Extend muestra una pequeña barra de estado.

Los números después del reloj de arena son un estimado del tiempo actual de salida de la simulación,
así que se puede determinar qué tan larga es la corrida. El reloj muestra el tiempo corriente de la
simulación, y Run es el número total de simulaciones si es que se están corriendo simulaciones
múltiples.

57
Componentes de la interfáz gráfica de
ExtendSim
Acceder a ExtendSim
Para acceder a extend unicamente basta con seleccionar el acceso directo del programa, en este caso lo
tenemos anclado a la barra de tareas:

Una vez abierto aparece la ventana Getting Starting.mox , la cual pone a disposición una amplia gama
de ejemplos de diversos sistemas para observarlos, analizarlos y estudiarlos. En una primera toma de
contacto, en caso de no requerir dicha información bastará con cerrar la ventana.

Podemos seleccionar cualquiera de estos y nos mostrara el modelo de simulación correspondiente,


para ejemplificar se ha seleccionado el modelo del banco (Bank):

58
59
Menús y barras de herramientas
Dentro de ExtendSim, se accede a muchas opciones desde menús y barras de herramientas. A
continuación se describen las opciones más importantes del menú y barra de herramientas de
ExtendSim.

File Dentro del mismo se encuentran las opciones típicas de un menú de archivos, Crear nuevo
modelo, Abrir modelo existente, Guardar modelo e Imprimir.
Edit Contiene las opciones típicas de un menú de edición, Cortar, Copiar, Pegar y Deshacer.
Text Este menú es utilizado para establecer estilo y formato al texto del modelo y establecer de
forma temporal es estilo del texto de los archivos.
Library Permite abrir librerías existentes, crear nuevas y cerrar librerías abiertas.
Model Las opciones que contiene son Notebook, Ejecutar simulación, Ejecutar simulación con
optimización y Stop. Notebook permite acceder en forma rápida a parámetros del modelo
que se seleccionan. Ejecutar simulación realiza la ejecución, mostrando una barra de estado
de la ejecución y los Plotters del modelo. Ejecutar simulación con optimización ejecuta la
simulación cuando existe un bloque de optimización. Por último, Stop detiene la ejecución
en curso.
DataBase ExtendSim permte trabajar con bases de datos desde donde se consultas datos que se
utiizan en el modelo o bases de datos hacia donde enviar los datos de salida del modelo.
Develop Permite crear nuevos bloques y modificar el código de bloques existentes.
Run Permite configurar la ejecución del modelo.
Help Permite acceder a la ayuda de ExtenSim.

Nuevo modelo
Abrir un modelo
Guardar el modelo
Imprimir
Corta.
Copiar
Pegar
Deshacer
Zoom
Mostrar/ocultar conectores
Navegar
Notebook

60
Ventana 3D
Correr modelo
Ejecutar simulación con optimización
Parar
Pausar/Continuar
Pasos
Activar/Desactivar animación
Acelerar la animación
Ejecutar la animación mas despacio
Herramienta para el manejo de Texto
Manejo de capas
Clonar un elemento de la estructura del bloque
Todas las copas
Paleta de colores
Patrones
Formas básicas
Ordenar graficas
Posición del cursor
Herramienta para el manejo de iconos, es especialmente útil cuando se esta
desarrolando un bloque.

61
Referencias
[1] Imagine That, Inc.: ExtendSim User's Guide for: ExtendSim CP, ExtendSim OR, ExtendSim AT,
ExtendSim Suite
[2] Varios documentos de cursos anteriores.

62

Вам также может понравиться