Vous êtes sur la page 1sur 105

Simulacin de Sistemas

Simulacin de Modelos de Eventos Discretos


Ing. Eduardo Carbajal L.

Agenda
1. Introduccin a Arena 2. Primeros Pasos en Arena 3. Conceptos Bsicos 4. Modelo Bsico de Flujo de Entidades 5. Indicadores de Desempeo 6. Ejecucin y Reportes Bsicos 7. Casos comunes 8. Variables de sistema 9. Ms Bloques y Elementos

Introduccin a Arena
Qu es Arena? Arena es un programa de simulacin y automatizacin desarrollado por Rockwell Automation que usa el procesador SIMAN y lenguaje de simulacin. Qu nos permite hacer Arena? Arena permite simular procesos para analizar indicadores de desempeo y evaluar el impacto de posibles cambios en los modelos. Al simular de manera precisa un proceso, las empresas pueden ver el resultado de posibles cambios sin necesidad de implementarlos en tiempo real, ahorrando tiempo importante y recursos
Datos de Entrada dados
Distribuciones de datos Parmetros

Simulacin en Arena Modelo construido de acuerdo a la lgica del proceso real

Resultados
Para cada escenario simulado Indicadores de desempeo: Utilizacin de servidores Tiempos de esperas Costos

Introduccin a Arena
Qu se debe hacer antes de construir un modelo en Arena?
Sistema Real

Identificar entidades y recursos

Identificar la lgica de los procesos

Identificar indicadores de desempeo

Definir supuestos

Modelo en Arena Base

Introduccin a Arena
Cmo se construye un modelo? En Arena, los usuarios construyen un modelo experimental colocando mdulos que representan procesos o lgica. Conectores de lnea son empleados para unir estos mdulos y especificar el flujo de las entidades. Mientras que los mdulos ejecutan acciones especficas respecto a las entidades, flujo y tiempo, la representacin precisa de las entidades con respecto a los objetos de la vida real depende de la subjetividad del modelador.

Introduccin a Arena
Compatibilidad de la informacin generada en Arena?

Arena integra tecnologas de Microsoft, incluyendo Visual Basic for Applications, de manera que los modelos pueden ser automatizados con mayor nivel de profundidad si se necesitan algoritmos especficos. Tambin permite importar diagramas de flujo de Microsoft Visio y la exportacin/importacin de datos contenidos en hojas de clculo de Excel y bases de datos de Access.

Primeros Pasos en Arena


Al iniciar Arena se muestra al pantalla siguiente

Barras del Proyecto

rea de Trabajo

Barra de Estado

rea de Resultados

Primeros Pasos en Arena


Cuales Template Panels emplearemos para simular?

BLOCKS
Permiten representar los procesos lgicos del sistema, como tal necesitan estar vinculados entre si a travs de conectores. representan elementos tangibles (colas, variables, recursos) deben estar definidos antes de emplearse como bloques Los bloques que

Ejemplos: Demoras de tiempo BLOCK DELAY Representacin fsica de una cola BLOCK QUEUE

ELEMENTS
Permiten definir los elementos empleados en el modelo de acuerdo a sus caractersticas y propiedades. A diferencia de los BLOCKS, los ELEMENTS no se conectan entre si.

Ejemplos: Definicin de una cola ELEMENT QUEUES Definicin de un recurso ELEMENT RESOURCES

Para el desarrollo de los modelos en el curso emplearemos AMBOS EN SIMULTNEO, por lo tanto nuestros modelos tendrn un componente de representacin del proceso y uno de definicin de los elementos involucrados en el proceso

Primeros Pasos en Arena


Para empezar a modelar en Arena agregaremos las barras de bloques y elementos, entrando en File>Template Panel>Attach, seleccionando en la ventana Attach Template Panel: Blocks y Elements

Conceptos Bsicos Diagramas de Bloques

Es un diagrama de flujo construido secuencialmente que describe como se mueven las entidades a travs del sistema. Sirven para modelar los procesos en el lenguaje SIMAN

ENTIDAD

BLOCKS

BLOCKS

BLOCKS

EL sentido de los conectores reflejan el flujo de las entidades BLOCKS

Cada bloque representa un proceso lgico/temporal

Conceptos Bsicos Flujo de entidades entre Bloques


Es controlado por conectores. Un conector transfiera una entidad en tiempo cero desde un punto fuera de un bloque (exit point), a un punto de entrada (entry point) de un segundo bloque. En el diagrama de bloque un entry point se representa como un pequeo rectngulo en el extremo izquierdo del bloque, mientras que el exit point es representado como una pequea flecha en el extremo izquierdo.

CONECTO R

DELAY EXIT POINT

RELEASE ENTRY POINT

Conceptos Bsicos Bloques: Condiciones de funcionamiento

Son las condiciones (operands) que necesitan ser especificadas para controlar la exacta operacin de cada bloque.
Los operands OPCIONALES se especifican slo cuando se desea cambiar el valor por default pre establecido. Debido a limitaciones de espacio solo los valores de los operands ms importantes son mostrados en el diagrama de bloques

Existen operands OBLIGATORIOS y OPCIONALES

Los operands OBLIGATORIOS no tienen un valor por default y deben ser especificados

BLOQUE DELAY
10.0

OPERAND PRINCIPAL

Conceptos Bsicos Bloques: Segmentos de Lnea


Un segmento de lnea es simplemente un agrupamiento conveniente de operands, asociados en el bloque El nmero de segmentos de lnea difiere de bloque a bloque. En general los segmentos de lnea son separados por comas en lenguaje SIMAN.

NMERO DE SECUENCIA (BLOCK SEQUENCE NUMBER) Provee un mecanismo de referencia del bloque dentro del modelo. ste es asignado automticamente y aparece en el extremo izquierdo del modelo generado por el compilador de modelos SIMAN. El primer bloque es numerado con 1 y as sucesivamente cada bloque.

Conceptos Bsicos Segmentos de Lnea

Qu tipo de operands permite definir el lenguaje SIMAN?

Conceptos Bsicos Operands: Constantes


Se definen dos tipos dentro de SIMAN

Ejemplos:

Ejemplos:

10000 20 500 60 7 2 35

5/7 1.E4 2.10 1 5/7 2.E2 5,678

Conceptos Bsicos Operands: Variables


Existen dos tipos de variable:

Ejemplos:

Ejemplos:

variable @55 nombre46

tnow ( instante del tiempo actual) tfin (tiempo final de la simulacin)

Conceptos Bsicos Operands: Atributos


A diferencia de las variables los atributos son locales, son caractersticas que describen y distinguen a las entidades. Todas las entidades poseen los mismos atributos pero generalmente con diferentes valores para diferentes entidades. Algunos son automticos, el resto deben ser definidos por los usuarios

Ejemplos: tipo producto tiempo de llegada color

Ejemplos: NG (nmero de entidades de un grupo) NS (nmero de secuencia de la entidad)

Conceptos Bsicos Diferencias entre variables y atributos

Assign
Al pasar la entidad por el BLOCK Assign sistema activo cambia de valor a 1 (color azul) para TODO EL MODELO

Assign
Al pasar la entidad por el BLOCK Assign el atributo tipo de producto cambia de valor 1(color azul) pero slo para esa entidad, el resto de entidades no se afectan hasta pasar por el mismo BLOCK

Conceptos Bsicos Operands: Variables Aleatorias


Existen distribuciones de variables aleatorias disponibles que pueden ser asignados a un operand. Es necesario seleccionar la distribucin deseada y definir los parmetros de cada una. Las abreviaturas se muestran en la tabla inferior.

Conceptos Bsicos Operands: Expresiones


Una expresin es una combinacin de constantes, variables, atributos y/o variables aleatorias empleando operadores aritmticos de suma (+), resta (-), multiplicacin (x), divisin(/), potenciacin(^), y con parntesis que indicarn el orden de evaluacin.
Ejemplos:

Conceptos Bsicos Operands: Condiciones


Una condicin es una combinacin de dos o ms expresiones empleando operadores de relacin y operadores lgicos

Los operadores lgicos usados en Arena

Ejemplos:

Conceptos Bsicos En que orden se evalan las expresiones y condiciones?

Conceptos Bsicos Operands: Condicionales


Una condicional en Arena es una condicin encerrada entre parntesis, que toma resultados binarios ( 0 1) dependiendo de si la condicin se cumple o no. Ejemplos:

Conceptos Bsicos Ejemplos de Condicionales


Dado una entidad con atributo tipoproducto con valor 1, en el instante de tiempo 500. Indique que valor toman las condicionales y cual es el valor resultante de los operands Ejemplos:

y en estos casos?

Bloques y Elementos Bsicos Modelo Bsico de Flujo de Entidades


LLEGADA Inicio atencin Servicio Fin atencin SALIDA

Entidad. Personas en cola BLOCKS


Create Queue Seize Delay

Recurso. Persona en Counter

Release

Dispose

ELEMENTS
Project Replicate Queues Resources

Ejemplo 1
Los clientes de un banco llegan con tiempos entre llegadas exponencial con media de 1 minuto a una pequea sucursal con 3 cajeras, teniendo que esperar en una nica cola en caso de que stas se encuentren ocupadas. El tiempo de servicio de cada una de ellas por entidad se puede aproximar a una distribucin normal con media de 2 minutos y desviacin estndar de 1 minuto. Se le pide representar el sistema como un modelo de simulacin en Arena para un da normal de 8 horas. Solucin

Finalmente dado que existe una cola debe definirse tambin en el Element QUEUES y las entidades saldrn del sistema por un Block DISPOSE

Indicadores de desempeo
Arena permite emplear bloques y elementos que se agregan a los modelos con el objetivo de medir indicadores de desempeo especficos.
LLEGADA SALIDA

Para medir:

Se emplea en Arena:
BLOCKS Tally ELEMENTS

INDICADORES DE TIEMPOS O DEMORAS Para medir:

Tallies BLOCKS Count ELEMENTS Counter s

Attribute s

INDICADORES DE CANTIDAD O FLUJO

Indicadores de desempeo Indicadores de tiempo (I)


Dnde se coloca el BLOCK Tally? Se coloca despus del BLOCK, que presenta dentro del proceso, el final del intervalo de tiempo que se quiere medir. La nica restriccin es que NO puede colocarse despus de un BLOCK Queue.

Tally

Tally

BLOCKS
Create Queue Seize Delay Release Dispose

ELEMENTS
Project Replicate Queues Resources Tallies Attributes

Indicadores de desempeo Indicadores de tiempo (II)


Cmo se mide el tiempo con el BLOCK Tally? (I) En el operand value del BLOCK Tally se debe definir el valor que se asigna a cada Tally. Este valor como un reflejo de un periodo de tiempo transcurrido debe ser por definicin un intervalo de tiempo desde un punto inicial hasta el instante de tiempo transcurrido hasta llegar al BLOCK Tally. Arena maneja una variable definida en el lenguaje SIMAN que no necesita definirse, tnow, cuyo valor es el instante de tiempo actual de la simulacin en cada evento del modelo. Es posible acumular dentro de un atributo el valor de esta variable tnow en el instante en que una entidad pasa por determinado BLOCK, marcndolo en el operand MarkAttribute del BLOCK.

Indicadores de desempeo Cmo se emplea el Mark Attribute?


Hay varias formas de asignar un valor a un atributo(como veremos mas adelante una posibilidad es empleando el block ASSIGN) sin embargo la ms sencilla es emplear el operand Mark Attribute que poseen todos los bloques de Arena en el segmento de lnea superior. Al seleccionar en el Mark Attribute el atributo se guarda automticamente en l el instante de tiempo en el cual la entidad pasa por dicho bloque. Por ejemplo si se quiere guardar el tiempo en que ingresa una entidad a un sistema, se puede definir el atributo tinicio y marcarlo con este operand en el BLOCK Create. El resultado ser que se registra en este atributo el tiempo de ingreso para cada entidad.

Indicadores de desempeo Indicadores de tiempo (III)


Cmo se mide el tiempo con el BLOCK Tally? (II) El valor del operand value del BLOCK Queue entonces se define el intervalo de tiempo que se quiere medir como la diferencia entre el instante actual de tiempo en el BLOCK Tally (tnow) y el instante de tiempo inicial marcado en el atributo tinicio con el operand MarkAttribute es decir: tnow tinicio (alternativamente puede emplearse tambin int(tinicio) )
BLOCKS
Create Queue Seize Delay Release Tally Dispose

MarkAttribute: tinicio

tsistema

BLOCKS
Create Queue Seize Tally Delay Release Dispose

MarkAttribute: tinicio

tcola

ELEMENTS
Project Replicate Queues Resources Tallies Attributes

tcola tsistema

tinicio

Indicadores de desempeo Indicadores de cantidad


Dnde se coloca el BLOCK Count? Se ubica entre los BLOCKS donde se quiere medir el flujo o nmero de entidades transitando. No se puede colocar, similarmente al caso anterior, despus de un BLOCK Queue. Se necesita definir el operand Increment del BLOCK Count, que representa el nmero en el cual se incrementa el contador cada vez que una entidad pasa a travs de l. Generalmente es 1.

Count

BLOCKS
Create Queue Seize Delay Release Dispose

ELEMENTS
Project Replicate Queues Resources Counters

Configuracin del Reporte SIMAN en Arena Conocidos los bloques y elementos bsicos se muestra a continuacin la ruta parta configurar el
reporte SIMAN que contiene estadsticos de las variables discretas del modelo obtenidas en cada rplica. Run >Setup en Reports seleccionar en Default Report: SIMAN Summary Report

Corrida de un Modelo en Arena


Una vez ingresado el modelo y seleccionado el reporte se puede correr el modelo dndole clic al cono de play () en la barra superior del arena con lo cual se puede obtener el reporte SIMAN mostrado como ejemplo a continuacin

Ejemplo 2
Para el caso del ejemplo 1 contabilice el nmero de clientes atendidos en la sucursal del banco, el tiempo en cola y el tiempo en el sistema para los clientes. Genere el reporte correspondiente Solucin Se deber agregar al modelo anterior Los clientes atendidos por el sistema son aquellos que salen de servicio por tanto se debe agregar un Block COUNT luego del Block RELEASE con operand increment de 1 (COUNT clientes atendidos) El tiempo en cola es el intervalo de tiempo comprendido entre el momento que la entidad llega al Block QUEUE hasta que sale por el exit point del mismo bloque. Por tanto se debe marcar un atributo tiniciocola en el operand MarkAttribute del Block QUEUE, colocar un Block TALLY inmediatamente luego del Block SEIZE y el value correspondiente para el tally tiempodecola sera tnow - tiniciocola El tiempo en el sistema es el intervalo comprendido desde el ingreso de las entidades hasta la salida de servicio por tanto se debe marcar un atributo tllegada en el operand Mark Attribute del Block CREATE y agregar un Block TALLY con value para el tally tsistema de tnow-tllegada Finalmente agregar los Elements TALLIES, COUNTER y ATTRIBUTES donde se definan el tally tcola y tsistema, el count clientes atendidos y los atributos tllegada y tinicio de cola respectivamente

Cdigo SIMAN
Para obtener el cdigo SIMAN de un modelo se debe seguir la ruta: RUN > SIMAN > View Cdigo SIMAN del Ejemplo 2
Indicadores de secuencia BLOCKS Operands Separador de operands

0$ 3$ 1$ 7$ 2$ 4$ 6$ 8$ 5$

CREATE, QUEUE, SEIZE, TALLY: DELAY: RELEASE: COUNT: TALLY: DISPOSE:

1:expo(1):MARK(tllegada):NEXT(3$); cola:MARK(tiniciocola); 1,Other: Cajeras,1:NEXT(7$); tcola,tnow-tiniciocola,1; norm(2,1),,Other:NEXT(4$); Cajeras,1; clientesatendidos,1; tsistema,tnow-tllegada,1; No;
Separador de segmentos de lnea

Construccin de DB a partir de Cdigo SIMAN


0$ 3$ 1$ 7$ 2$ 4$ 6$ 8$ 5$ CREATE, QUEUE, SEIZE, TALLY: DELAY: 1:expo(1):MARK(tllegada):NEXT(3$); cola:MARK(tiniciocola); 1,Other: Cajeras,1:NEXT(7$); tcola,tnow-tiniciocola,1; norm(2,1),,Other:NEXT(4$);

RELEASE: Cajeras,1; COUNT: clientesatendidos,1; TALLY: tsistema,tnow-tllegada,1; DISPOSE: No;

Create

Queue

Seize

Tally

Delay

Batch Size: 1 Interval: expo(1) MarkAttribute: tllegada

cola MarkAttribute: tiniciocola

Priority:1 Resource: Cajera Number of Units:1

tcola Value: tnow-tiniciocola Number of Observations:1

Duration:norm(2,1)

Release

Count

Tally

Dispose

Resource: Cajera Number of Units:1

Clientes atendidos Increment: 1

tsistema Value: tnow-tllegada Number of Observations:1

Casos Comunes 1.Tiempo entre llegadas diferentes durante el horizonte de simulacin


Ejemplo Debe simular el sistema desde las 8am hasta las 8pm sabiendo que la tasa entre llegadas es exponencial con media de 5 minutos excepto en las horas picos, ya que durante las 10 am y 2pm la tasa de llegadas es exponencial con media de 3 minutos y durante las 12 y 3 pm es exponencial con media de 2 minutos.

8am a 10 am 10am a 12pm 12pm a 3pm 3pm a 8pm

EXPO(5) EXPO(3) EXPO(2) EXPO(5)

Mtodo 1: Empleando tantos BLOCKs Create como intervalos de tiempos hay Mtodo 2: Empleando un solo BLOCK Create

Casos Comunes 1.Tiempo entre llegadas diferentes durante el horizonte de simulacin Mtodo 1
Debemos hacer que cada BLOCK Create solo permita el ingreso de entidades durante el intervalo de tiempo correspondiente Qu otros parmetros tena el BLOCK Create que me permitan hacer eso? First Creation Batch Size Maximum Batches Qu se hace entonces? Empleamos condicionales que nos permitan restringir de alguna manera alguno de los operands del BLOCK Create durante los intervalos requeridos para que no ingresen entidades es decir que en esos intervalos el flujo sea O.

Create

Interval: EXPO(5)

Create

Interval: EXPO(3)

Create

Interval: EXPO(2)

Create

Interval: EXPO(5)

Casos Comunes 1.Tiempo entre llegadas diferentes durante el horizonte de simulacin Mtodo 1
Interval: EXPO(5) Maximum Batches: 100000* (tnow < 120 && tnow >= 0) Interval: EXPO(3) Maximum Batches: 100000* (tnow < 240 && tnow >=120) Qu operand al tomar valor 0 me restringe el flujo de entidades? First Creation Batch Size Maximum Batches Cmo construimos la condicional?

Create

Create

Create

Create

Empleamos la condicin que delimita el rango de tiempo Interval: EXPO(2) es decir:si a y b son los extremos del intervalo de tiempo. Maximum Batches: tnow < a && tnow > b 100000* (tnow < 240 && tnow >= 420) Al colocarlo entre parntesis se convierte en . (tnow < a && tnow > b) Que toma valor 1 cuando el tiempo esta en el intervalo Interval: EXPO(5) (a,b) o valor 0 si est fuera Maximum Batches: 100000* (tnow < 720 && tnow >= 420) Por lo tanto si se multiplica esta condicional por un nmero muy grande el operand Maximum Batches de cada BLOCK Create se permite que entren entidades durante el intervalo de tiempo y que no ingresen entidades fuera de l.

Casos Comunes 1.Tiempo entre llegadas diferentes durante el horizonte de simulacin Verificacin Mtodo 1
tnow=60
Create

tnow=150 M.B =0

tnow=300 M.B =0

tnow=560 M.B =0

Interval: EXPO(5) Maximum Batches: 100000* (tnow < 120 && tnow >= 0) Interval: EXPO(3) Maximum Batches: 100000* (tnow < 240 && tnow >=120) Interval: EXPO(2) Maximum Batches: 100000* (tnow < 240 && tnow >= 420) Interval: EXPO(5) Maximum Batches: 100000* (tnow < 720 && tnow >= 420)

M.B =100000

Create

M.B =0

M.B =100000

M.B =0

M.B =0

Create

M.B =0

M.B =0

M.B =100000

M.B =0

Create

M.B =0

M.B =0

M.B =0

M.B =100000

Casos Comunes 1.Tiempo entre llegadas diferentes durante el horizonte de simulacin Mtodo 2
Debemos hacer un solo BLOCK Create permita el ingreso de entidades con la correspondiente tasa de llegada en cada intervalo de tiempo. Es decir el operand Interval variar de acuerdo al tiempo. Dado que es un solo BLOCK Create entonces se debe permitir el ingreso de entidades durante todo el horizonte de timpo por lo tanto el operand a emplear no ser Mximum Batches sino directamente se pondr una condicin al en el operand Interval Cul ser la expresin a colocar en el operand Interval? Empleamos las mismas condicionales del mtodo anterior slo que se multiplican por las tasas de llegadas correspondientes a cada intervalo Tasa * (tnow < a && tnow >= b) De esta manera si el tnow esta dentro del intervalo la condicional se hace 1 y al multiplicarse por la tasa el valor de la expresin es justamente la tasa de llegada del intervalo correspondiente Entonces lo que se coloca en el operand Interval del BLOCK Create ser la sumatoria desde el primer intervalo hasta el ltimo de la tasa i * (tnow < ai && tnow > bi )

Create

Interval: EXPO(5)* (tnow EXPO(3)* (tnow >=120)+ EXPO(2)* (tnow >=240)+ EXPO(5)* (tnow 420)+

< 120 && tnow >= 0)+ < 240 && tnow < 420 && tnow < 720 && tnow >=

Casos Comunes 1.Tiempo entre llegadas diferentes durante el horizonte de simulacin Verificacin Mtodo 2
Create

Interval: EXPO(5)* (tnow < 120 && tnow >= 0)+ EXPO(3)* (tnow < 240 && tnow >=120)+ EXPO(2)* (tnow < 420 && tnow >=240)+ EXPO(5)* (tnow < 720 && tnow >= 420) tnow=60 tnow=150 tnow=300 tnow=560 Interval: EXPO(5)* (1)+ EXPO(3)* (0)+ EXPO(2)* (0)+ EXPO(5)* (0) = EXPO(5) Interval: EXPO(5)* (0)+ EXPO(3)* (1)+ EXPO(2)* (0)+ EXPO(5)* (0) = EXPO(3) Interval: EXPO(5)* (0)+ EXPO(3)* (0)+ EXPO(2)* (1)+ EXPO(5)* (0) = EXPO(2) Interval: EXPO(5)* (0)+ EXPO(3)* (0)+ EXPO(2)* (0)+ EXPO(5)* (1) = EXPO(5)

Casos Comunes 2.Las entidades llegan en cantidades diferentes durante el horizonte de simulacin
Ejemplo Debe simular el sistema desde las 8am hasta las 8pm sabiendo que si bien la tasa entre llegadas se mantiene durante todo el da en expo(5) las entidades llegan de 2 en 2 entre las 8am y las 12pm, de 4 en 4 entre las 12pm y las 4pm, y de 7 en 7 a partir de las 4pm y hasta las 8pm.

Cantidad de entidades en cada arribo(Batch Size) 8am a 12 pm 2 12pm a 4pm 4 4pm a 8pm 7 Mtodo 1: Empleando tantos BLOCKs Create como intervalos de tiempos hay Mtodo 2: Empleando un solo BLOCK Create

Casos Comunes 2.Las entidades llegan en cantidades diferentes durante el horizonte de simulacin Mtodo I
Create

BatchSize:2 Interval: EXPO(5)

Maximum Batches: 100000* (tnow < 240)


Create

BatchSize:4 Interval: EXPO(5)

La cantidad de entidades por arribo se ingresa en el operand Batch Size del BLOCK Create. Como empleamos tres de ellos cada BLOCK Create tiene su correspondiente Batch Size Debemos hacer que cada BLOCK Create solo permita el ingreso de entidades durante el intervalo de tiempo correspondiente Empleamos condicionales para limitar el flujo de entidades a travs de cada BLOCK Create, limitando el Maximum Batches para que sea un nmero muy grande en el intervalo de tiempo adecuado y 0 para que no permita el ingreso de entidades fuera del intervalo, tal como hicimos en el caso anterior. Las expresiones a colocar seran entonces:

Maximum Batches: 100000* (tnow < 480 && tnow >=240)


Create

BatchSize:7 Interval: EXPO(5)

Maximum Batches: 100000* (tnow < 720 && tnow >= 480)

Casos Comunes 2.Las entidades llegan en cantidades diferentes durante el horizonte de simulacin Mtodo II
Debemos hacer un solo BLOCK Create permita el ingreso de entidades con el correspondiente Batch Size en cada intervalo de tiempo. Dado que es un solo BLOCK Create entonces se debe permitir el ingreso de entidades durante todo el horizonte de tiempo por lo tanto el operand a emplear no ser Mximum Baches sino directamente se pondr una condicin al en el operand Batch Size Cul ser la expresin a colocar en el operand BatchSize? Empleamos las mismas condicionales del mtodo anterior slo que se multiplican por los Batch Size correspondientes a cada intervalo Batch Size * (tnow < a && tnow >= b) De esta manera si el tnow esta dentro del intervalo la condicional se hace 1 y al multiplicarse el BatchSize el valor de la expresin es justamente el Batch Size del intervalo correspondiente Entonces lo que se coloca en el operand Batch Size del BLOCK Create ser la sumatoria desde el primer intervalo hasta el ltimo del Batch Size i* (tnow < ai && tnow > bi )

Create

Interval: EXPO (5) Batch Size: 2*(tnow < 240 && tnow >= 0)+ 4*(tnow < 480 && tnow >=240)+ 7*(tnow < 720 && tnow >=480)

Casos Comunes 3.La simulacin NO tiene una duracin sino dadaque termina cuando sale la ltima entidad del modelo

Generalmente se simula un sistema por un tiempo dado que se especifica en el operand Replication Length del ELEMENT Replcate. Sin embargo hay casos donde el fin de la simulacin no depende de un instante de tiempo dado sino que debe terminar cuando sale la ltima entidad del sistema. Un ejemplo:

Los clientes llegan a ser atendidos a un banco entre las 8am y 6pm con una tasa entre llegadas exponencial con media 4. A las 6pm el banco cierra las puertas de ingreso y termina de atender a los clientes que hayan ingresado hasta dicho hora antes que los cajeros cierren sus respectivas ventanillas
Por qu sera incorrecto simplemente colocar 600 en el operand Replication Lenght del ELEMENT Replicate? Porque entonces la simulacin acabara en el minuto 600 es decir a las 6pm y no es lo que el problema pide. Qu se debe hacer entonces? Se debe restringir el ingreso de entidades en el BLOCK Create para que slo puedan ingresar entre las 8am y 6pm. Al mismo tiempo NO se debe colocar un ELEMENT Replicate, entonces lo que sucede es que al no haber instante definido de fin de simulacin el modelo sigue ejecutndose hasta que no exista mas flujo de entidades por ningn bloque

Casos Comunes 3.La simulacin NO tiene una duracin sino que termina cuando sale la ltima entidad del dada modelo
Qu expresin permite controlar el flujo de entidades en un periodo definido y en que operand del BLOCK Create se debe colocar esta expresin? Llega a este Ingresa la ltima punto en x+t entidad en el tiempo x < 600
Create Queue Seize Delay Release Dispose

Interval: EXPO(4) Maximum Batches: 100000*(tnow < 600)


Project Resources Queues Replicate

La ltima entidad ingresa slo hasta antes de las 6pm La ltima entidad se demora un tiempo t desde su ingreso en el BLOCK Create hasta que alcanza, luego de hacer cola y ser atendida, el BLOCK Dispose Al llegar la ltima entidad al BLOCK Dispose acaba la simulacin en el tiempo x + t

Casos Comunes 4. Colas con capacidad mxima


Existen casos en las cuales las colas tienen una capacidad mxima definida Q. Cuando la cola alcanza dicho tamao Q, cualquier entidad que llegue al BLOCK Queue no podr ingresar a la cola y se enva por un camino alternativo. En una agencia bancaria hay clientes que llegan con una tasa entre llegadas exponencial con media de 1 minutos, siendo atendidos luego de hacer una nica cola por un nico cajero. El tiempo de servicio es normal con media de 5 minutos y desviacin estndar de 12 minutos Se sabe que como mximo pueden haber 7 personas en cola. Si alguien llega cuando hay 7 personas en cola simplemente se retira de la agencia. Simule el sistema por un lapso de dos horas. Cmo se definira el BLOCK Queue en este caso?

Create

Queue

Seize

Delay

Release

Dispose

Project

Resources

Queues

Replicate

Las entidades que lleguen al BLOCK Queue cuando el tamao de cola sea Q no ingresan a la cola y salen por el exit point inferior. Este EXIT POINT INFERIOR SOLO SE USA EN ESTOS CASOS

Casos Comunes 4. Colas con capacidad mxima


Existen casos en las cuales las colas tienen una capacidad mxima definida Q. Cuando la cola alcanza dicho tamao Q, cualquier entidad que llegue al BLOCK Queue no podr ingresar a la cola y se enva por un camino alternativo. En una agencia bancaria hay clientes que llegan con una tasa entre llegadas exponencial con media de 1 minutos, siendo atendidos luego de hacer una nica cola por 5 diferentes cajeros. El tiempo de servicio es normal con media de 5 minutos y desviacin estndar de 12 minutos Se sabe que como mximo pueden haber 7 personas en cola. Si alguien llega cuando hay 15 personas en cola simplemente se retira de la agencia. Simule el sistema por un lapso de dos horas. Cmo se definira el BLOCK Queue en este caso?

Create

Queue

Seize

Delay

Release

Dispose

Project

Resources

Queues

Replicate

Las entidades que lleguen al BLOCK Queue cuando el tamao de cola sea Q no ingresan a la cola y salen por el exit point inferior. Este EXIT POINT INFERIOR SOLO SE USA EN ESTOS CASOS

Casos Comunes 5. Contadores para medir flujos de entidades en de tiempos definidos durante el horizonte de intervalos simulacin
Se quiere medir en un modelo el nmero de entidades que salen de un sistema entre las 3pm y 5pm sabiendo que el sistema opera desde las 8am hasta las 8pm El BLOCK Count tiene un solo operand que es el Count Increment Recordando que el operand Count Increment es el incremento en el contador por cada entidad que pasa lo que debemos hacer es que el Count Increment se incremente de 1 en 1 slo en el intervalo de 3pm a 5pm (es decir cuando el tiempo actual de la simulacin esta entre el minuto 420 y 540) Por tanto recurrimos nuevamente a expresiones que tengan condicionales El BLOCK Count debera colocarse antes del BLOCK Dispose, con la siguiente expresin en el operand Count Increment
Count
Dispose

Count Increment: 1*(tnow >420 && tnow <= 540)

Variables y Funciones de Arena


Son variables y funciones propias del Arena que estn predefinidas. Se clasifican en los siguientes grupos:

Son en total mas de 50 funciones por lo cual memorizar cada una resultara complicado, el Arena dispone de un asistente de construccin de expresiones a partir de funciones de Arena denominado Expression Builder Para acceder al Expression Builder solo basta hacer click derecho dentro del campo de cualquier Operand de cualquier BLOCK o ELEMENT y seleccionar la opcin Build Expression

Variables y Funciones de Arena

En la seccin superior se pueden definir rpidamente elementos y agregarles argumentos, El Expression Type contiene una gama de opciones ramificadas organizadas de acuerdo al tipo, cuando se selecciona un elemento en esta rea automticamente uno o mas argumentos pueden mostrarse a la derecha siendo necesario definirlos para la expresin seleccionada. Automticamente al efectuar una seleccin se escribe en Current Expression .

NOTA: Las expresiones de Expression Type estn organizadas primero por panel y luego por mdulo. Los elementos de expresin disponibles para tipo de mdulo en particular estarn disponibles si al menos existe dentro del modelo actual un mdulo de ese tipo.

Variables y Funciones de Arena


Dentro de las funciones mas importantes que usaremos continuamente vinculadas a los BLOCKS y ELEMENTS visto hasta el momento tenemos:

Variables y Funciones de Arena

BLOCKS
Create Queue Seize Delay Release Count Dispose

EXPO(3) ELEMENTS
Project

Cola1

Cajeros

NORM(5,1)

Cajeros

Clientes atendidos

Replicate

Queues

Resources

Counters

120

Cola1

Cajeros (3)

Clientes atendidos

Luego de un tiempo t se tiene el siguiente estado del sistema NR(Cajeros) == 2 NQ(Cola1) == 0 NC(Clientes atendidos) == 0 Si medimos nuevamente las variables de Arena tendramos: NR(Cajeros) == 3 NQ(Cola1) == 2 NC(Clientes atendidos) == 1

Variables y Funciones de Arena


Dentro de la gama de funciones matemticas se puede evaluar dados parmetros, X,Y,Z que representan constantes, atributos, variables o expresiones en general la siguiente gama de funciones:
EP(X) LN(X) LOG(X) MX(X,Y,.Z) MN(X,Y,Z) ABS(X) AINT(X) AMOD(X,Y) MOD(X,Y) ANINT(X) ACOS(X) COS(X) HCOS(X) Exponencial de X Logaritmo natural de X Logaritmo en base 10 de X Devuelve el mximo valor entre X,Y,..,, y Z Devuelve el mnimo valor entre X,Y,..,, y Z Valor absoluto de X Trunca el valor entero de X Devuelve el residuo real de dividir X entre Y Devuelve el residuo entero de dividir X entre Y Redondea X al entero mas cercano ASIN(X) SIN(X) HSIN(X) ATAN(X) TAN(X) HTAN(X)

Ms Bloques y Elementos

BLOCKS
Assign Group Scan

Branch

Drop Off

Signal

Duplicat e

Split

Wait

ELEMENTS

Variables

Schedules

Failures

Trace

DStats

Storages

Ejemplo 3
Aliochi Telcom, la transnacional mas grande de telecomunicaciones del continente acaba de hacer su ingreso al mercado nacional y ha aperturado su mas reciente local comercial en una zona cntrica de la ciudad. Los clientes llegan a este centro a adquirir equipos celulares en promedio cada 3 minutos desde las 9am hasta las 9pm hora en que finalizan las operaciones, a excepcin de las horas punta ( desde las 3pm hasta las 6pm) donde la frecuencia de tiempos entre llegadas se ve incrementada a una llegada cada 2 minutos. La Ingeniera Irene Cien Fuentes ha determinado en base a un anlisis cuidadoso de los datos de venta que el 35% de los clientes viene con la intencin de adquirir un equipo con plan prepago mientras que los restantes planes postpago. Ha destinado entonces como jefa del centro, turnos rotativos de seis horas, en el primero hay 5 cajeras que se encargan de efectuar las ventas (2 para planes prepago y 3 para postpagos) y en el segundo 8 cajeras (3 para planes prepago y las restantes para postpago). Sabe adems que si se alcanzan 10 personas en la cola postpago o 8 en la cola prepago los clientes siguientes que ingresen a dichas colas decidirn abandonar el centro sin efectuar compra alguna. El tiempo de servicio para las cajeras prepago es normal con media de 5 minutos y desviacin estndar de 1 minuto. Mientras que para las cajeras postpago es normal con media de 8 minutos y desviacin estndar de 2 minutos. Sabe adems que es posible que existan fallas en los equipos informticos empleados por las cajeras. La duracin promedio de estas fallas sigue una distribucin exponencial con media de 2 minutos, ocurriendo estas un 30% de las veces a intervalos de 45 minutos y 70% de las veces a intervalos de una hora. Del total de clientes atendidos se estima que un 10% deciden al final del proceso desistir de la compra. Irene se encarga de revisar las boletas de venta y almacenarlas en grupos de diez tomndole 1 minuto esta operacin, tras lo cual las archiva. Asuma que la hora de cierra es estricta y las personas en cola en ese instante abandonan el establecimiento Determine empleando un modelo de simulacin con 10 replicas cual es la utilizacin actual de cada tipo de cajera, los tamaos de las colas, cual es el numero de equipos vendidos, el numero de boletas que pasaron por revisin y los estadsticos de tiempos en cola por tipo de clientes.

Ejemplo 4
El rea de Ensamble de GG Enterprise INC se encarga de efectuar el ensamble manual de dos productos lderes de la compaa. El rea trabaja las 24 horas al da los siete das de la semana, con turnos de 12 horas que involucran relevos de operarios coordinados que no interrumpen los procesos en actividad en el paso de cada turno. Para el primer producto se necesitan 1 pieza del componente A, 2 del componente B y 3 del componente C, mientras que el segundo producto requiere 1 pieza del componente A, 3 del componente B y 1 del componente C. Estos componentes son entregados al rea con los tiempos entre llegadas y cantidades descritos en la tabla siguiente.
Componente A B C Primer turno (12 horas) Tiempo entre llegadas(min) 45 240 120 Segundo turno(12 horas) Tiempo entre llegadas(min) 30 360 180 Cantidad 2 25 10

Se sabe que el rea mantiene siempre cuatro operarios que se encargan de revisar una inspeccin manual y retoque de los componentes previo al ensamble con tiempos de servicio por pieza de 10 para el componente A, normal con media de 3 minutos y desviacin estndar de 1 minuto para el componente B y exponencial con media 2 de minutos para el componente C. Terminado el retoque los componentes se agrupan de acuerdo al tipo de ensamble a ser realizado y esperan a que los operarios de ensamble estn disponibles para efectuar los ensambles manuales. Se conoce que el 30% de los componentes tipo A se emplean para el producto 1 y el restante para el producto tipo 2. El tiempo de ensamble para el producto 1 sigue una distribucin normal con media de 35 minutos y desviacin estndar de 3 minutos y para el producto dos una distribucin triangular con mnimo, moda y mximo de 18, 20 y 25 minutos respectivamente. Los ensambles son realizados por 2 operarios (distintos a los anteriores) que pueden efectuar ambos tipos de ensambles. El gerente de produccin determin que la mejor alternativa para visualizar globalmente la eficacia del rea era plantear un modelo de simulacin del sistema que le permitiera conocer adems del nmero de productos de cada tipo ensamblados, los tamaos promedio de cola de cada uno de los componentes en ensamble y de los componentes agrupados esperando ensambles, adems del tiempo promedio desde la agrupacin de componentes hasta el ensamble.

Ejemplo 5
El ingeniero Adriano Mndez ha diseado un nuevo sistema de control de calidad para el rea de produccin de una importante empresa transnacional. Actualmente en el rea se efecta una inspeccin individual sobre cada unidad producida. Se conoce que el rea opera desde las 6:00 am hasta las 6:00pm, estando todas las estaciones completamente operativas a partir de las 9:00am. Entre las 6:00 am y las 9:00am los productos llegan en grupos de 4(30% de los casos) u 8 unidades (en los casos restantes) con un intervalo de tiempo que sigue una distribucin normal con media de 10 minutos y desviacin estndar de 2 minutos. A partir de las 9:00 am el volumen se incrementa recibindose cada 30 minutos grupos de 8(en el 50% de los casos) o de 16 unidades. El mtodo propuesto consiste en agrupar las unidades recibidas en grupos de 4 unidades entre las 6:00am y 9:00am o de 8 unidades luego de las 9:00am. Luego se procede a tomar una muestra de cada grupo (considere como muestra el 50% de las unidades contenidas en cada grupo tomadas en orden). El inspector efectuar luego una revisin con un tiempo que se puede aproximar a una distribucin triangular con mnimo, moda y mximo de 30,45 y 60 segundos respectivamente por unidad. Se estima que aproximadamente un 50% de las entidades a inspeccionar pueden presentar defectos. Se aceptar la muestra tomada de cada grupo si es que el porcentaje de defectuoso en cada muestra es menor a este mismo porcentaje. Si la muestra es aceptada se regresa al grupo original y se aceptan todas las unidades del grupo, caso contrario si la muestra es rechazada se regresa al grupo original y todas las unidades del grupo son rechazadas. Realice un modelo de simulacin que represente este modelo propuesto de control de calidad, agregando los bloques y elementos necesarios que le permitan contabilizar cuantas unidades fueron aceptadas y rechazadas en la estacin de inspeccin.

Simulacin de Sistemas
Simulacin de Modelos de Eventos Discretos

Block CREATE

Se emplea para modelar procesos de llegada al sistema. Las entidades ingresan secuencialmente de acuerdo a un patrn predeterminado. No existen restricciones de nmero de bloques CREATE

Block QUEUE

Provee espacio de espera paras las entidades cuyo movimiento ha sido suspendido debido al estado del sistema. Generalmente ocurren por limitaciones en la disponibilidad de recursos.

Block SEIZE

Asigna el recurso a la entidad. En la representacin del block se muestra slo el ID del recurso.

Block DELAY

Representa el tiempo en el cual el recurso permanece ligado a la entidad. Corresponde a la demora por servicio.

Block RELEASE

Al completarse la actividad por la cual la entidad deba permanecer ligada al recurso es necesario efectuar la des asignacin del mismo, para que pueda ser asignado al siguiente.

Block DISPOSE

Modela la salida de las entidades del sistema. No es necesario ingresar ningn operand en este bloque

Element PROJECT

Permite que SIMAN genere automticamente un reporte al final de cada rplica que incluye un resumen estadstico de variables de respuesta seleccionadas por el analista.

Element REPLICATE
Controla para el modelo el nmero de replicas, as como la longitud y opciones de inicializacin de cada rplica.

Element QUEUES
Se definen en este elemento las filas empleadas en el modelo. La informacin respecto a cada una incluye nombres, nmero y polticas de filas.

Element RESOURCES
Se definen en este elemento las recursos empleados en el modelo. Se incluye informacin sobre el nombre y capacidad de los recursos

Block TALLY
Permite registrar un valor por cada llegada de una entidad al bloque, calculando as estadsticas como el tiempo que cada entidad permanece en el sistema

Element TALLIES
Este elemento provee informacin descriptiva acerca de los registros Tally, incluyendo nombre, nmero y opcionalmente el archivo de salida generado (output file).

Element ATTRIBUTES
Se definen en este elemento los nombres y propiedades de variables locales y atributos

Block COUNT

Se emplea para contar el nmero de ocurrencia de algunos eventos. Es usado tambin para calcular la longitud de corrida debido a que tiene un limite asociado que al ser alcanzado o rebasado hace que SIMAN termine la simulacin.

Nota: El operand Counter Increment puede ser no slo un nmero entero sino tambin una expresin o una combinacin de expresin y condiciones

Element COUNTER
Elemento donde se definen los counts empleados en el modelo de simulacin.

Block ASSIGN

Permite la asignacin de un valor a una variable global o a un atributo o variable local de una entidad. Pueden ser definidos por el usuario, por SIMAN o de propsitos especiales como: Entity.HoldCostRate, Entity.JobStep, Entity.Picture, Entity..Sequence, Entity.Station, Entity.Type

Block ASSIGN
Definido un atributo X, en el ELEMENT Attributes el BLOCK Assign permite asignar un valor a dicho atributo a cada entidad que pasa por l.

Los clientes deben diferenciarse por un atributo que identifica el tipo de cliente Se define en el ELEMENT Attributes tipocliente Para asignar el tipo adecuado a cada cliente se acumulan las probabilidades y se emplea una distribucin discreta. El tipo de cliente regular ser tipocliente==1 con probabilidad acumulada 0.6, el preferencial tipocliente==2 con probabilidad acumulada 0.9 y los VIP tipo cliente==3 con probabilidad acumulada 1. La notacin en Arena es DISC(valor i, probabilidad acumulada i, .,valor n, 1)
Se le da valor al atributo tipocliente de 1, 2 3 de acuerdo a la probabilidad definida

Create

EXPO(3) Attribute s tipocliente

Assign tipocliente

tipocliente DISC(0.6,1,0.9,2,1,3)

Element Se definen en este elemento los nombres y propiedades de variables globales VARIABLES

Element VARIABLES
Existen casos en los cuales es mas conveniente emplear variables ya que simplifica el modelamiento en trminos de tiempo, en especial cuando hay expresiones dependientes de un elemento variable o cuando existen posibilidades de que se cambien datos en el modelo, que conllevaran a ubicar los datos en los bloques y proceder a un cambio manual que es bastante difcil y poco preciso

Es posible definir una variable media y una variable desviacin, dado que cada una puede tener tres valores estamos hablando de un arreglo vectorial. Cuando se maneja un arreglo vectorial se puede referir a un valor especfico del arreglo vectorial de acuerdo a la variable y a su posicin en el vector. Es decir variable(x) donde x es la posicin en el vector Cmo se define en este caso el vector en el ELEMENT Variables?

Element Se definen dos variables vectoriales media y varianza con Operand 1D Array: 3 y se colocan en el Operand Initial Values los valores correspondientes VARIABLES
media 3 desviacion 3

5 4 3

2 2 1

media(2) media(3)

Element VARIABLES
tipocliente==1 NORM(media(1),desviacion(1)) = NORM(4,2)

NORM(media(tipocliente),desviacion(tipocliente))
Create

Assign
tipocliente

Queue

Seize

Delay

Release

Count

Dispose

EXPO(3)

Cola1

Cajero

Cajero

Clientes atendidos

Project

Replicate

Queues

Resources

Counters

Variables

120

Cola1

Cajero

Clientes atendidos

media desviacin

Block BRANCH
Controla el flujo de la entidad permitiendo direccionarla por ramas. SIMAN examina en orden cada una enviando la entidad por la primera que satisfaga la etiquete que llevan las entidades

Block BRANCH
Cmo funciona el BLOCK Branch?

tipocliente==3

Branch
If tipocliente==1 If tipocliente==2 Else

Block BRANCH
Es posible emplearlo tambin para dividir un flujo de entidades de acuerdo a probabilidades de ocurrencia empleando la condicional de tipo WITH

En este caso se coloca la probabilidad acumulada vinculada a cada salida eligiendo el condicional de tipo WITH. El Arena internamente genera un aleatorio uniformemente distribuido entre 0 y 1que se compara con la probabilidad acumulada en cada caso y permite elegir la salida adecuada.
Genera R = 0.92

Branch
With 0,2 With 0,6 Else (Acumulada es 0.20) (Acumulada es 0.80)

Element DSTATS
Sirve para grabar datos acerca de variables dependientes del tiempo en un modelo SIMAN. Este elemento origina grabaciones de estadsticas de una o ms variables dependientes del tiempo durante la simulacin

Element STORAGES
Especifica el nmero total de almacenajes y sus nombres. Permite tambin grabar estadsticas de utilizacin individual de un recurso para cada tipo de trabajo existente

Block DUPLICATE
Permite crear un determinado nmero de clones de la entidad original que conservan todos los atributos de la misma

Nota: La entidad original sale del bloque duplicate por el exit point, mientras que las entidades clonadas salen por las ramificaciones inferiores del bloque

Block DUPLICATE

tipocliente==1 tllegada==10 tipocliente==1 tllegada==10

Duplicate

Ejemplos comunes en los cuales se emplea este BLOCK: Documento generado a partir de una entidad (el clon representa la entidad) La entidad pasa por procesos simultneos que involucran diferentes recursos

Block GROUP

Permite agrupar un determinado nmero de entidades de forma temporal o permanente. Las entidades que llegan al bloque GROUP esperan hasta que se complete Quantity to Group entidades y salen por el exit point como una nueva entidad.

Nota: La entidad creada que representa al grupo constituye una entidad nueva. Si el agrupamiento es temporal las entidades dentro del grupo conservan los atributos individuales pero no los transfieren a la nueva entidad

Block GROUP
Dado un BLOCK Group con Operand Quantity to Group igual a X Las entidades llegan al BLOCK Group y se forman en una fila interna hasta que hayan X entidades en la fila. Cuando esto sucede se procede a agrupar a estas X entidades. Si el agrupamiento es temporal entonces se crea una nueva entidad que contiene a las X entidades anteriores. Cada una de las X entidades que conforman el grupo mantienen sus atributos, sin embargo NO LOS TRANSMITEN TOTALMENTE a la entidad Grupo creada Si el agrupamiento es permanente las entidades que forman parte del grupo se envan a un BLOCK Dispose directamente y no es posible separarlas luego.
Quantity to Group = 3
tipocliente==0 tipocliente==3 tipocliente==2 tipocliente==1 tllegada==0 tllegada==13 tllegada==12 tllegada==10

Group

Block SPLIT
Permite UNA divisin de una entidad constituida como agrupacin temporal. No requiere ningn operand.

Block DROPOFF
Permite retirar una determinada cantidad de entidades en un grupo temporal a partir de una posicin u orden definido

Block DROPOFF
Si se tienen entidades agrupadas temporalmente en grupos de X el BLOCK DropOff permite retirar una cantidad Y definida en el Operand Quantity to DropOff de las entidades que conforman el grupo a partir de la posicin definida en el Operand RankofEntity . Las entidades retiradas salen del bloque por el exit point inferior, mientras que el grupo conteniendo X-Y entidades sale por el exit point regular Se usa generalmente en modelos asociados con Control de Calidad donde se requiere retirar una muestra de tamao n de un lote de entidades definido como grupo

DropOff

Element SCHEDULES
Permite definir capacidades variables para los recursos de acuerdo en intervalos de tiempo definidos.

Element SCHEDULES
Ejemplo: En una agencia bancaria se tiene 4 cajeros en el turno de 8am a 10am, 6 cajeros entre 10am hasta las 2pm y 5 cajeros entre las 2pm y las 6pm. El Schedule HorarioCajeros debe asociarse luego de estar definido con el Recurso vinculado que en este caso sera el Recurso Cajeros
4 cajeros, 120 min 6 cajeros ,240 min 5 cajeros ,240 min

OBSERVACIN: Las variaciones de capacidad definidas en el ELEMENT Schedules son cclicas es decir al terminar la ltima variacin vuelve a empezar desde la primera si el intervalo de simulacin es mayor que la suma de los periodos de variacin

Element FAILURES

Permite definir fallas que pueden vincularse en el elemento RESOURCES a recursos especficos. Las fallas tiene determinada duracin y pueden suceder un determinado nmero de veces o en ciertos intervalos de tiempo

Element FAILURES

Identificamos el tipo de falla

Ocurre cada ciertos intervalos de tiempo

PREEMPT: La falla ocurre segn lo IGNORE: La falla ocurre de acuerdo al programado y la entidad siendo atendida en WAIT: tiempo Laprogramado falla inicia solo pero despus no afecta que alla ese instante espera hasta que el recurso entidad recurso siendo hasta atendida que la entidad libera al siendo recurso este disponible nuevamente para terminar atendida en ese instante libere al recurso de ser atendida

El Operand Failure Entity Rule define que suceder con las entidades siendo atendidas por el recurso al presentarse la falla.

Element TRACE

Permite obtener el reporte trace al final de la corrida conteniendo el detalle de cada evento, es decir el flujo de cada entidad desde el inicio de la corrida por cada bloque del modelo. No requiere ningn operand a menos que se quiera obtener el reporte trace en algn intervalo de tiempo especfico.

Block SCAN
Detiene el flujo de entidades en el bloque mediante una cola auxiliar hasta que se cumpla la condicin requerida en el Operand Condition. Al cumplirse la condicin se liberan todas las entidades en esta cola auxiliar

Ejemplo: una condicin puede ser NR(Recurso X) == 1 NQ(Cola X) > 5

Block SCAN

La condicin del BLOCK Scan ser que el nmero de personas en el BLOCK Queue que representa a la Cola Interior sea menor a 3 Qu funcin de arena permite conocer el nmero de personas en una determinada cola? NQ(ColaInterior) Cul debe ser la condicin en el BLOCK Scan? NQ(ColaInterior)<3

OBSERVACIN: Al cumplirse la condicin del BLOCK Scan todas las entidades esperando en el BLOCK Queue (o de no haberlo en la cola interna asociada al BLOCK Scan) pasan al siguiente BLOCK

Queue

Scan

Queue

ColaExterior

NQ(ColaInterior)<3

ColaInterior

Block SIGNAL
Al pasar entidades por este BLOCK se emite una seal. Generalmente se usa en conjunto con el BLOCK Wait para coordinar liberaciones simultneas en diferentes ramas de un modelo para posteriormente agruparlas. El Operand Release Limit indica cual es lmite en entidades a liberar de un BLOCK Wait que depende de la seal emitida por este BLOCK Signal.

Block WAIT
El BLOCK Wait detiene el flujo de entidades en una cola auxiliar hasta que la seal requerida en el Operand Signal Code es emitida en alguna parte del modelo por un BLOCK Signal.

Block WAIT & Block SIGNAL


Uno de los principales uso de este par de BLOCKs es la sincronizacin para ensambles:

Componente A

Se emite la seal 1

Signal

Componente B

Recibe seal 1

signal code : 1 release limit:5

Producto Ensamblado

Wait

Group

Delay

Componente C

signal code : 1 number to release:2 Recibe seal 1

Quantity to group:6

NORM(9,1.5)

Wait

signal code : 1 number to release:3

Variables y Funciones de Arena(II)


Funciones vinculadas a este nuevo conjunto de BLOCKS y ELEMENTS vistos son:

Vinculadas a Grupos:

tipocliente==1

tipocliente==2

tipocliente==3

NG= 6 AG(2,NSYM(tipocliente))= 3 AG(5,NSYM(tipocliente))= 1 SAG(NSYM(tipocliente)) 3+3+1+1+1+2=11 =