Академический Документы
Профессиональный Документы
Культура Документы
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
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
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.
6
Los sistemas de eventos discretos poseen dintintos componentes en común:
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.
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.
Llegar al sistema.
Entrada al servidor.
Salir del sistema.
0 t1 t2 t3
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.
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.
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:
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:
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.
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.
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.
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.
24
Bloques para el manejo de propiedades
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)
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.
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.
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).
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.
28
que sale del bloque espero hasta poder ser procesado.
Full out: indica cuando la cola esta llena.
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.
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
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.
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.
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.
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.
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.
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.
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.
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 ).
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).
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.
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.
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
Entrega de equipaje
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:
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:
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
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.
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