Beruflich Dokumente
Kultur Dokumente
Lino Martin Quispe Tincopa
MODELAMIENTO BASICO CON REDES
5.1 INTRODUCCIÓN......................................................................................................................................2
5.11 NODO GOON.......................................................................................................................................25
5.11.1 Ilustración 5 6. Archivos especificados por Atributo y el número de la Actividad de
Servicio. 25
APUNTES AWESIM 1
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
5.1 INTRODUCCIÓN.
Por ejemplo, un atributo de una entidad puede ser el tiempo en que la entidad ingresa al
sistema. El valor del atributo acompaña a la entidad a través de toda la red que describe el
proceso. Los recursos del sistema pueden ser los cajeros, las herramientas o las cosas por
las que las entidades compiten mientras fluyen por el sistema. Un recurso puede estar
ocupado o desocupado.
La red representa todos los posibles caminos que una entidad puede seguir, desde su
creación hasta que abandona el sistema.
En este ejemplo se simula un sistema de control de calidad de aparatos de radio. En este
sistema, las radios que llegan se envían a un inspector quien examina a cada una de ellas.
Después de la inspección, la radio deja el área de inspección.
Aspectos considerados:
1. Llegada de radios al área de inspección.
2. Acumulación de radios esperando inspección.
3. La inspección de las radios.
Las radios son las entidades, el inspector es el recurso que entrega un servicio, la
inspección es la actividad de servicio, y la acumulación es la cola. El diagrama del sistema
se muestra en la Figura 51.
APUNTES AWESIM 2
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Llega Radio Cola de Radios Inspección Radio
Esperando Atención Inspeccionada
Figura 51: Sistema Inspección de Radios.
El paso del tiempo se representa por una rama. La rama es la representación gráfica de las
actividades. El servicio de inspección es una actividad y se representa por una rama.
Si el servicio se esta desarrollando, esto es, si el servidor (el inspector) esta ocupado, las
entidades que llegan (radios), deben esperar. La espera produce una cola (un nodo
QUEUE). Entonces, en un sistema de un servidor y una cola se puede representar por un
nodo QUEUE y una rama como en la Figura 52.
Figura 52: Nodo QUEUE y actividad de Servicio.
En nuestro ejemplo, las radios deben esperar por el servicio en una cola.
Como pueden haber varias colas y varios servicios en una red, cada una de ellas se
identifica por un número. Así, las entidades que esperan en una cola se mantienen en el
archivo con un número IFL.
En las actividades se define el número de servidores paralelos N que puede haber, es decir,
el número de entidades posible que pueden procesarse simultáneamente. Las actividades se
identifican con el número A.
El procedimiento para ordenar las entidades en el archivo no se indica en las figuras
anteriores, cosa que se hará más adelante.
También se puede especificar la cantidad IQ de entidades que inicialmente están en la cola,
y la capacidad QC de ellas.
APUNTES AWESIM 3
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
5.2.2 Modelamiento de llegadas de las entidades.
Las entidades se incorporan a la red mediante el nodo CREATE.
Figura 43: Nodo Create.
TF : tiempo en que se crea la primera entidad y se incorpora al sistema.
TBC: tiempo entre la creación de entidades.
MA : número del atributo en el cuál se guarda el tiempo en que se crea la entidad.
MC: cantidad máxima de entidades que se puede generar.
M: cantidad máxima de ramas por las cuales las entidades pueden fluir.
5.2.3 Modelamiento de la Salida de las Entidades.
Hasta ahora se ha modelado el comportamiento de entrada de las entidades y de las
operaciones de espera y de servicio. Lo que queda es modelar el proceso de salida de una
entidad. Para nuestro sistema, se hará que las entidades dejen el sistema después de haber
terminado el servicio. El modelamiento de la salida se logra con el nodo TERMINA TE
Figura 54: Nodo Termínate.
El nodo TERMINATE es una de las maneras para especificar la detención de la simulación.
Cada simulación de una malla se denomina una carrera. El nodo TERMINATE se puede
usar para especificar que se detenga la simulación al llegar TC entidades a este nodo. Como
se verá más adelante, la simulación también se puede detener después de un periodo de
tiempo, por ejemplo, después de 1000 horas de operación.
5.2.4 Combinación de los Conceptos de Modelamiento.
En la Figura 55 se muestra el uso combinado de los tres nodos mencionados
anteriormente, los que representan el ejemplo de la inspección de radios.
APUNTES AWESIM 4
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
MALLA 1: Inspección de Radios. Las instrucciones que representan estos nodos son las
siguientes:
CREATE,EXPON( 10), 7,,,;
ACT, 3;
QUEUE(1);
ACT(1)/3,9;
TERM, 100;
También se requiere de las siguientes instrucciones de control, que son complementarias a
los nodos.
GEN;
LIMITS;
NETWORK;
FIN;
** AweSim SUMMARY REPORT **
Wed Mar 05 17:06:33 2003
Simulation Project :
Modeler :
Date :
Scenario : BASECASE
Run number 1 of 1
Current simulation time : 974.622431
Statistics cleared at time : 0.000000
** FILE STATISTICS REPORT for scenario 00 **
File Label or Average Standard Maximum Current Average
Number Input Location Length Deviation Length Length Wait Time
1 QUEUE Line 3 5.889 5.124 16 6 53.643
0 Event Calendar 3.253 0.606 6 3 9.969
** ACTIVITY STATISTICS REPORT for scenario 00 **
Activity Label or Average Standard Entity Maximum
Number Input Location Utilization Deviation Count Utilization
1 Line 2 0.329 0.550 107 3
Activity Current
Number Utilization
APUNTES AWESIM 5
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
1 0
** SERVICE ACTIVITY STATISTICS REPORT for scenario 00 **
Activity Label or Server Entity Average Standard
Number Input Location Capacity Count Utilization Deviation
2 Line 4 1 100 0.923 0.266
Activity Current Average Maximum Maximum
Number Utilization Blockage Idle Time Busy Time
or Servers or Servers
2 1 0.000 23.049 702.000
En el siguiente ejemplo se tiene la misma estructura que en el ejemplo anterior, sólo que
algunos de los valores se asignan de acuerdo a funciones de distribución de probabilidades.
MALLA 2: Uso de funciones probabilísticas.
A continuación, en el ejemplo 3, se presenta el caso de un almacén donde hay un cajero. El
tiempo entre las llegadas de los clientes es aleatoria entre 1 y 8 minutos. Cada tiempo entre
llegadas tiene la misma probabilidad. El servicio del cajero varía entre 1 y 6 minutos. Se
desea simular la llegada y el servicio de veinte clientes. El modelo vuelve a ser el mismo
que en los ejemplos anteriores.
MALLA 3: Misma estructura, diferente frecuencia de creación.
TERMINOLOGIA:
Entidades: Son las unidades de tráfico que fluyen a través del sistema.
Atributos: Son valores numéricos asignados a una entidad para especificar sus
características.
APUNTES AWESIM 6
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Actividades: Representa la demora en el movimiento de una entidad.
Nodos: Indican el inicio y el término de una actividad.
Recurso: Representa los elementos que una entidad puede requerir a medida que avanza por
las actividades.
Puertas: Regula el flujo de las entidades a través de puntos de control en la red.
5.3 MODELACIÓN DE REDES CON VISUAL SLAM.
Las instrucciones Visual SLAM consisten de un grupo de símbolos interconectados, los que
representan las operaciones del sistema en estudio. Los símbolos se pueden convertir en
una manera tal que para que se puedan incorporar a un programa que analiza el modelo
usando las técnicas de simulación. Las entradas que se usan para incorporar la
representación gráfica de Visual SLAM es a través de instrucciones, que son las mostradas
anteriormente.
Se usa punto y coma para terminar una instrucción. Cuando una coma es el último carácter
en la línea, la instrucción continua en la línea siguiente. Los comentarios se pueden incluir
después del punto y coma. El orden de los campos de una instrucción esta prefijado.
En la red, las actividades se representan con líneas sólidas. Las líneas segmentadas
representan una transferencia directa de las entidades entre nodos.
5.3.1 Ruteo de entidades desde los nodos (Ramificación).
Las entidades se rutean a través de las ramas que salen de los nodos. El número máximo de
ramas, M, que se pueden seleccionar, se especifican al lado derecho de los nodos mediante
un valor asignado a M. El valor por defecto de M es INF. Cuando M es igual a 1, se tomará
a lo más una rama. Si hay probabilidades asignadas a las ramas que salen de un nodo que
tiene asignado el valor de 1 a M, entonces se dice que el nodo tiene una ramificación
probabilística. Si no hay probabilidades ni condiciones establecidas en las ramas, y M es
igual al número de ramas que emanan desde el nodo, entonces se tiene una ramificación
determinística. La ramificación determinística hace que una entidad sea duplicada y ruteada
por cada uno de las ramas del nodo.
El concepto de ramificación determinado por el valor de M es muy general. Permite el
ruteo de entidades sobre un subconjunto de ramas para las cuales se establecen las
condiciones. Por ejemplo, si M es igual a 2 y hay cinco ramas que salen del nodo, entonces
la entidad se podría rutear por las dos primeras ramas para las cuales se cumplen las
condiciones.
También se pueden representar situaciones aún más complejas, en las que se mezclan
APUNTES AWESIM 7
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
ramificaciones probabilísticas y condicionales. Haciendo pi la probabilidad de rutear una
entidad por una rama i y haciendo Cj la condición de rutear por la rama j, como en la
siguiente situación:
El tipo de nodo que se muestra es un GOON. Cada entidad que llega al nodo GOON hace
que este sea liberado. El número dos al interior especifica el valor de M antes mencionado.
La instrucción es la siguiente:
GOON, M;
para este ejemplo, en que M es Igual a 2, significa que a lo más dos ramas de las cinco se
van a tomar. Suponiendo que las ramas se evalúan en el orden 1,2,3,4 y 5, se hace una
selección aleatoria entre las ramas 1 y 2 (p1 + p2 debe ser igual a 1) y luego se tomaría la
rama 3 si se cumple la condición 3. Si no, se prueba la condición 4 y luego la 5.
En la Tabla 51 se muestran las variables usadas en Visual SLAM y sus definiciones. Los
vectores ATRIB, LTRIB y STRIB definen los atributos de una entidad que fluye a través de
la red. Cada entidad tiene su propio vector, el que se anexa a la entidad durante todo su
trayecto por la red. En ocasiones se hace referencia a la entidad vigente para indicar
aquellas que recién se han creado o que hayan completado una actividad y estén llegando a
un nodo en la red. La variable II es un entero que normalmente se usa como un subíndice
para otras variables Visual SLAM, por ejemplo, ATRIB[II]. Las variables XX[I], LL[I] y
SZ[I] son variables de estado que mantienen un valor hasta que el usuario lo cambie a
través del modelo.
ARRAY[I,J] proporciona un mecanismo para almacenar tablas de valores en filas y
columnas. Se dispone de una instrucción ARRAY para inicializar la tabla ARRAY. Las
variables DD[I] y SS[I] tienen una definición especial que se usan para modelar sistemas
continuos. Específicamente, la variable DD[I] se define como la primera derivada de SS[I]
cuando se usan ecuaciones diferenciales para representar el estado de un sistema.
APUNTES AWESIM 8
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Tabla 51. Variables Visual SLAM
Nombr e de Var iable Definición
ATRIB[I] Atributo I de la entidad vigente
LTRIB[I] Atributo entero de la entidad vigente.
STRIB[I] Atributo de caracteres de la entidad vigente.
ETYPE Atributo entero para dar a entidad vigente un tipo de número.
ENUM Identificador entero único de sólo de lectura de la entidad vigente.
ERETURN Valor almacenado con la entidad vigente en el último return de una subred.
II Variable entera global; II se usa frecuentemente como un sub índice.
XX[I] Vector real global o del sistema.
LL[I] Vector entero global o del sistema.
SZ[I] Vector de caracteres global o del sistema.
ARRAY[I,J] Arreglo global o del sistema.
SS(I) Valor de la variable de estado I
DD(I) Valor de la derivada de la variable de estado I.
TNOW Tiempo vigente
La Tabla 52 presenta las funciones de redes de Visual SLAM y variables aleatorias que se
usan para modelar los aspectos lógicos y estocásticos de un sistema.
La función GGTBLN(IRX, IRY, XVALUE) es una función Visual SLAM de búsqueda en
una tabla la que se puede usar directamente desde la red. Los primeros dos argumentos de
la función GGTBLN entregan los punteros para las filas de ARRAY que contienen los
valores dependientes de la variable Y correspondiente a los valores de la variable
independiente X. Si IRY=5 e IRX=3, entonces el valor de Y almacenado en ARRAY(5,1)
corresponde al valor de X almacenada en ARRAY(3, 1). XVALUE es el valor de X para el
cual se desea un valor correspondiente de Y. Como ejemplo considere la siguiente tabla
K ARRAY(3,K) ARRAY(5,K)
1 100 10
2 200 20
3 300 15
4 400 10
5 1000 0
La especificación GGTBLN(3, 5, 400) asigna un valor de 10 a la variable que tiene la
función GGTBLN. Se usa interpolación lineal para valores intermedios, así es que se
obtendría un valor de 5 cuando se invoque GGTBLN(3, 5, 700). Para valores fuera del
rango de la variable independiente se asigna los valores extremos de la variable
dependiente. Es decir, para valores de XVALUE menor de 100 entrega un valor de 10, y
para valores de XVALUE superior a 1000, asigna un valor de 0.
La función USERF(N) es una función que se puede insertar en un modelo de redes que
incluye una subrutina codificada en C o en Visual Basic. El argumento N es un código que
diferencia las distintas invocaciones de la función USERF que haga el modelador. La
APUNTES AWESIM 9
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
función USERF se puede usar en cualquier parte de una red Visual SLAM, donde se pueda
usar una variable Visual SLAM. Esto permite una mayor flexibilidad en el modelamiento
con Visual SLAM.
Visual SLAM contiene una función DPROBN(IC, IV, IS) para obtener una muestra de una
función de probabilidad representado por un histograma. Las probabilidades acumuladas
asociadas con el histograma se almacenan en la fila IC de la variable global ARRAY y el
valor correspondiente del histograma se almacenan en la fila IV de ARRAY. IS es un
número de la corriente aleatoria. El uso de DPROBN es similar al uso de la función de
búsqueda en tabla GGTBLN con un número aleatorio usado como valor independiente para
el cual se debe obtener una muestra aleatoria.
Tabla 52: Listado de variables/funciones de las cuales es posible obtener valores:
Variable/Función Definición
ASSERT(VAL, LOW, HIGH) Función para verificar el rango de valores y estar seguro de que se
encuentra entre dos valores. El valor de retorno es VAL. Se produce un
error si VAL esta fuera del rango.
GETEXCEL(SHEET,IROW,ICO Toma datos desde una planilla Excel de la fila IROW, columna ICOL.
L)
GGTBLN(IRX,IRY,XVALUE) Búsqueda en una tabla de la fila IRY del arreglo global al interpolar
XVALUE entre valores de la variable independiente en la fila IRX.
NNACT(I) Número de entidades activas en la actividad I en el momento vigente.
NNCNT(I) Número de entidades que han completado la actividad I.
NNGAT(GLBL) Condición de la compuerta GLBL en el momento vigente: 0 abierto, 1
cerrado.
NNRSC(RLBL) Número actual de unidades del recurso del tipo RLBL que están
disponibles.
NRUSE(RLBL) Número actual de unidades del recurso del tipo RLBL en uso.
NNGRP(I) Cantidad vigente de unidades del grupo I que están disponibles.
NGUSE(I) Cantidad vigente de unidades del grupo I que están en uso.
NNQ(I) Número de entidades en el archivo I en el momento vigente (recuerde
que las cantidades en el nodo QUEUE se guardan en archivos).
PROB(P) Sólo para ser usada en el campo de la condición de la ACTIVITY.
Entrega una valor verdadero si un número aleatorio está entre 0 y 1 y es
menor que P. P debe estar entre 0 y 1.
USERF(N) Un valor obtenido desde una función escrita por el usuario USERF con
el número de función del usuario N.
DRAND(IS) Número pseudo random obtenido desde la corriente generadora IS de
números al azar.
EXPON(XMEAN, IS) Una muestra de una población con distribución exponencial con media
XMEAN usando la corriente IS.
UNFRM(ULO, UHI, IS) Una muestra desde una distribución uniforme en un intervalo ULO y
UHI, usando la corriente de números aleatorios IS.
WEIBL(ALPHA, BETA, IS) Una muestra desde una distribución Weibull con parámetro escalar
ALPHA y parámetro de forma BETA usando la corriente de números
aleatorios IS.
TRIAG(XLO, XMODE, XHI, IS) Una muestra desde una distribución triangular en el intervalo XLO y
XHI con moda XMODE usando la corriente de números aleatorios IS.
RNORM(XMN, STD, IS) Una muestra desde una distribución normal con media XMN y
desviación estándar STD usando la corriente de números aleatorios IS.
RLONG(XMN, STD, IS) Una muestra desde una distribución lognormal con media XMN y
desviación estándar STD usando la corriente de números aleatorios IS.
APUNTES AWESIM 10
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
ERLNG(EMN, XK, IS) Una muestra desde una distribución Erlang la que es la suma de XK
muestras exponenciales con media EMN usando la corriente de
números aleatorios IS.
GAMA(BETA, ALPHA, IS) Una muestra desde una distribución gamma con parámetros BETA y
ALPHA usando la corriente de números aleatorios IS.
BETA(THETA, PHI, IS) Una muestra desde una distribución beta con parámetros THETA y PHI
usando la corriente de números aleatorios IS.
NPSSN(XMN, IS) Una muestra desde una distribución Poisson con media XMN usando la
corriente de números aleatorios IS.
DPROBN(IC, IV, IS) Una muestra de una función de probabilidades en la que la probabilidad
acumulativa está en la fila IC de ARRAY y los correspondientes valores
están en la fila IV de ARRAY usando la corriente de números aleatorios
IS.
VSNEXPR(VSN, INST, EXPR) Evalúa una expresión dentro de la submalla VSN e instancia INST.
Ejemplo: VSNEXPRN(“MACHGR”, “DRILL”, NNQ(1)).
Visual SLAM tiene una instrucción EQUIVALENCE para que los nombres de las variables
puedan ser usadas textualmente por las variables Visual SLAM en la construcción de los
modelos. El formato de la instrucción EQUIVALENCE es:
EQUIVALENCE{{nombre, variable Visual SLAM}, repetir};
La instrucción ARRAY se usa para inicializar una fila de la variable matricial global
ARRAY. El número de elementos en una fila de ARRAY puede variar y, de aquí que se
denomina tabla variable. El formato de la instrucción ARRAY es:
ARRAY, IROW, NELEMENTS, {valor inicial, repetir};
donde IROW es un entero constante que define la fila en la cual los valores iniciales están
siendo entregados; NELEMENTS es el número de elementos en esta fila; y valores inicial
son constantes que se incorporan en el orden de las columnas de la fila. Por ejemplo, la
instrucción
ARRAY, 2, 4, {5, 4, 2, 7.3};
Define:
ARRAY[2, 1] como 5; ARRAY[2, 2] como 4; ARRAY[2,3] como 2 y ARRAY[2, 4] como
7.3.
Los elementos de ARRAY se pueden usar en la red Visual SLAM donde se permita una
variable Visual SLAM. Los sibíndices pueden ser constantes o variables Visual SLAM: II,
XX(I) y ATRIB(I) donde I es una constante positiva.
APUNTES AWESIM 11
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
5.4 INTRODUCCIÓN A LOS ELEMENTOS BÁSICOS DE REDES
Hay siete elementos de redes básicos en Visual SLAM. Estos elementos de redes son: nodo
CREATE, nodo QUEUE, nodo TERMINATE, nodo ASSIGN, ramas de ACTIVITY, nodo
GOON y nodo COLCT. Con estos elementos de redes básicos, se pueden construir diversos
modelos.
El nodo CREATE es un método para crear entidades en la llegada o insertarlas en la red. El
nodo QUEUE se usa para modelar procesos de decisiones complejas que se presenten
cuando una entidad llega a un servicio donde la decisión sobre esta entidad depende del
estado del servidor y del número de entidades que ya están esperando en la cola por el
servidor. El nodo ASSIGN se usa para asignar un nuevo valor o uno actualizado a variables
Visual SLAM. Cuando una entidad llega a un nodo ASSIGN, se realizan las asignaciones
establecidas en el nodo ASSIGN. Las ramas de ACTIVITY representan explícitamente las
demoras de las entidades en atravesar la red. Las actividades de servicio son usadas para
representar máquinas, operadores y elementos similares que puedan procesar un número
limitado de entidades simultáneamente. Previo a una actividad de servicio, se debe definir
una cola o área de espera lo que se logra con el uso del nodo QUEUE. Las actividades que
modelan explícitamente demoras pero que no tienen un límite en el número de entidades
simultáneas se denominan actividades regulares. Los nodos GOON se usan para separar las
actividades y pueden modelar lógicas de ruteos de las entidades que terminan la actividad.
Información estadística de las entidades y de las variables Visual SLAM se obtiene con el
uso del nodo COLCT. Cada uno de estos elementos de red básicos se describirán en detalle.
5.5 NODO CREATE.
CREATE, TBC, TF, MA, MC, M;
Este nodo genera entidades. La primera entidad se crea en el tiempo TF y las siguientes se generan
con intervalos de TBC unidades de tiempo. Las entidades se crearán hasta el límite de MC
entidades. El tiempo en que se crea cada entidad se registra en el atributo MA de dicha entidad.
APUNTES AWESIM 12
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Los nodos CREATE son procesados por Visual SLAM de acuerdo a las ubicaciones de la
instrucción. La instrucción más cercana a la instrucción NETWORK se procesa primero.
5.6 Nodo QUEUE.
QUEUE(IFL), IQ, QC, BALK(NLBL) o BLOCK;
Un nodo QUEUE es un lugar de la red en el que las entidades esperan por un servicio.
Cuando una entidad llega al nodo QUEUE, la disponibilidad de ésta depende del estado del
servidor que sigue al nodo QUEUE.
Cuando una entidad esté esperando en un nodo, ésta se guarda en un archivo el cual
mantiene los atributos de la entidad y su posición relativa con respecto a las otras entidades
que esperan en la misma QUEUE. El orden en que las entidades esperan se especifica fuera
de la red, en una instrucción de prioridad PRIORITY. Las entidades se pueden ordenar:
FIFO, LIFO, LVF(NATR), HVF(NATR).
Figura 58: Nodo QUEUE
APUNTES AWESIM 13
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Las colas pueden contener entidades al inicio de la carrera, indicándose el número inicial de
entidades en el nodo QUEUE, IQ. Estas entidades parten con todos sus atributos en valor
cero. Cuando IQ > 0, todas las actividades de servicio que salen del nodo se supone que
están ocupadas inicialmente trabajando en otras entidades con todos sus atributos igual a
cero.
En el caso de transferencia (balking), la entidad puede ser traspasada a otro nodo de la red.
Este otro nodo debe tener su etiqueta, de lo contrario, la entidad se elimina del sistema.
Cuando una entidad esté bloqueada, debe esperar hasta que exista un espacio disponible en
la próxima cola. La actividad que acaba de ser desarrollada por la entidad bloqueada,
también se considera bloqueada. Los nodos QUEUE sólo pueden bloquear actividades de
servicio.
Ejemplos de transferencia y de bloqueo de entidades se muestran en las Figura 59 y Figura
510.
QUEUE(1 ),0,4,BALK(QUE2); QUEUE(3),2, 10,BLOCK;
Fig. 5 9 Fig. 5 10
El número del archivo del nodo QUEUE se puede especificar por medio de uno de los
atributos de la entidad que llega. Para hacer esto, se debe definir el número, o el rango de
los números, con que se van a identificar de los archivos. El número del archivo IFL, se
especifica de la forma ATRIB(I) = J,K donde I es el número del atributo; el rango desde J
hasta K son los números de archivos permitidos que se puede especificar por ATRIB(I).
QUEUE, ASSERT(LTRIB[2], 3, 5), 0;
Fig. 5 – 11
En la instrucción QUEUE, el atributo 2 define el número del archivo, y en la instrucción de
la actividad, el número de la actividad que va a desarrollar la entidad, la que puede ser 3, 4
ó 5.
Cuando hay más de una actividad después de una cola y los servicios no son iguales, se
debe efectuar un proceso de selección. Esta selección se hace con un nodo SELECT
asociado al nodo QUEUE.
APUNTES AWESIM 14
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
NODO SELECT
Fig.5 12
Cuando una entidad llega a un nodo QUEUE, se consulta de inmediato su nodo SELECT.
Cuando SELECT encuentra un servidor libre, la entidad que llega al nodo QUEUE es
transferida al nodo SELECT e inmediatamente puesto a ejecutar la actividad libre. Un
posible uso es:
QUE1
Este modelo hace que una entidad sea bloqueada si hay dos entidades esperando en QUE1.
Hay dos servidores que pueden procesar una entidad que llega a QUE1. Inicialmente hay
una entidad esperando.
5.7 NODO TERMINATE.
La instrucción es TERMINATE, TC;
APUNTES AWESIM 15
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Se usa para destruir las entidades de la red. Este nodo puede ser usado para especificar el
número de entidades que deben ser procesadas en una corrida. Este número se determina en
TC.
5.8 NODO ASSIGN.
ASSIGN,{{VAR, VALUE}, repite}, M;
Este nodo se usa para asignar valores a los atributos de una entidad que pasa por el nodo, o
para asignar valores a las variables del sistema que pertenecen a la red en general. Las
variables a las cuales se les puede asignar un valor en este nodo se indican en la Tabla 51.
En simulación combinada, las asignaciones se pueden usar para cambiar los valores de
variables que son parte de modelos discretos o continuos.
Los valores asignados a las variables en un nodo ASSIGN puede ser una constante, una de
las variables indicadas arriba, una variable de status de la red, una muestra de una
distribución de probabilidades, o un valor calculado en una función escrita por el usuario
(programa inserto).
El número de entidades que se han creado se puede obtener al asignar un número a la
actividad que sale del nodo CREATE y con el uso de la variable NNCNT(I) (número de
entidades que han completado actividad I).
APUNTES AWESIM 16
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Aquí se ilustra el caso de como un número único se puede asignar a una entidad. Se usa la
variable NNCNT como el contador de entidades que ha pasado por la actividad 1. El nodo
ASSIGN asigna al atributo 1 de cada entidad el número de entidades que han pasado por
actividad 1.
El lado izquierdo de la instrucción esta reservado a las variables de la Tabla 5.1. El lado
derecho puede aceptar hasta 10 operaciones matemáticas usando las constantes o variables
descritas en Tabla 5.2. El orden de las operaciones es multiplicaciones y divisiones
primeros, luego sumas y restas. La expresión es evaluada desde la izquierda hacia la
derecha.
Un ejemplo de asignación indirecta de subíndices:
ASSIGN,{{II, ATRIB[2]},{ATRIB[2], XX(II)}, 1;
Otro ejemplo es:
ASSIGN, {XX(l), EXPON(ATRIB[1], 2)};
Esta instrucción hace XX(1) igual a una muestra tomada desde una distribución
exponencial cuya media es tomada del atributo 1 usando la corriente aleatoria 2.
En la Figura 5 17 se presenta el uso del nodo ASSIGN.
Q1
Fig. 5 17
CREATE, 8,,, 100;
ASSIGN, ATRIB(1)=EXPON(7);
ACT,,, Ql;
CREATE, 12,,, 50;
APUNTES AWESIM 17
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
ASSIGN, ATRIB(1)=EXPON(12);
Ql QUEUE(1);
ACT/l, ATRIB(1)+RNORM(0, 1);
TERM;
GEN,AUTOR,ILUSTRACION 1, 1/21/87, 1 ;
LIMITS, 1, 1, 200;
NETWORK;
FIN;
5.9 ACTIVIDADES.
Las actividades que salen de un nodo QUEUE o SELECT se denominan actividades de
servicio.
Las actividades de servicio restringen el número de entidades que pasan por ella, que debe
ser igual al número de servidores. La duración de una actividad es el atraso que encuentra
una entidad cuando fluye por la red.
Cada rama tiene un nodo al principio y otro al final. Cuando una entidad sale del nodo
inicial, se debe seleccionar la rama por la cual la entidad debe seguir. La selección puede
ser probabilística, en tal caso se define una probabilidad en la actividad; y también puede
ser condicional, en tal caso una condición debe estar en el campo de la descripción. Las
actividades de servicio no pueden tener condiciones prescritas, ya que la disponibilidad de
la entidad depende de los servidores y deben ser usadas cuando haya servidores libres.
Al asignar el número I a una actividad, se calcula las estadísticas en forma automática y se
informa del número de entidades que están siendo procesadas por la actividad, NNACT(I),
como también el número
de entidades que han
completado la actividad
NNCNT(I).
ACTIVITY(N)/A, DUR,
PROB o COND,NLBL;
APUNTES AWESIM 18
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
N = número de servidores paralelos.
A = número de la actividad.
PROB = probabilidad de selección de la actividad.
COND = condición para seleccionar la actividad, si la actividad no es de servicio.
NLBL = es el nodo terminal y es requerido sólo si el nodo terminal no es el
siguiente nodo.
Se puede definir mediante cualquier expresión que contenga variables Visual SLAM.
La duración de una actividad también se puede hacer depender del instante en que otra
entidad abandone un nodo (NLBL), logrando con esto que la actividad continúe hasta que
se produzca el abandono de un nodo en particular. Esto se logra al usar REL(NLBL).
También se puede hacer depender de alguna asignación hecha en un nodo ASSIGN. Esto se
logra con STOPA(NTC). El valor NTC puede ser un número, una variable Visual SLAM, o
una variable random. El valor NTC será truncado al entero mayor y la actividad continuará
en operación, manteniendo a la entidad que esta siendo procesada, hasta que se haga una
asignación en la que STOPA se iguale a NTC.
ACT, STOPA(1);
Esta actividad tendrá un tiempo de ejecución desde el tiempo en que una entidad comienza
la actividad hasta que STOPA sea igual a 1.
5.9.2 Especificación de Probabilidades.
Las probabilidades se especifican con el argumento de la función PROB. El argumento es
una expresión que entrega un valor entre 0 y 1. La suma de las probabilidades debe ser 1.0.
Las probabilidades se pueden asignar a las ramas que salen de un nodo QUEUE. En este
caso, se supone que las actividades son del mismo tipo de servicio y la probabilidad puede
ser usada para estimar diferentes duraciones o diferentes caminos para entidades procesadas
por el mismo servidor.
5.9.3 Especificación de Condiciones.
Sólo se aplica a actividades regulares (no de servicio).
La condicionalidad se expresa de la forma:
VALOR. OPERADOR. VALOR.
APUNTES AWESIM 19
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Los operadores son los usados en C:
Código Definición Relacional
< Menor que
<= Menor que o igual a
== Igual a
!= No igual a
> Mayor que
>= Mayor que o igual a
Las intersecciones de dos o más condiciones pueden describirse usando las especificaciones
&& y ||.
El modo de usarse es:
TNOW = = 100
ó
TNOW= =100 || ATRIB[2] < 5.
5.10 EJ EMPLOS
En esta sección se presentan ilustraciones que combinan los conceptos de nodos y
actividades usados en las mallas.
Considere una situación que considera la atención de clientes en un banco con dos cajeros y
una cola simple de espera. La malla que modela esta situación se muestra a continuación.
En este ejemplo, dos servidores (cajeros) están asociados con la actividad 1. El tiempo de
servicio de cada servidor es uniformemente distribuido entre 6 y 12 unidades de tiempo.
Las entidades (clientes) que llegan al nodo de espera QUEUE esperan cuando los dos
servidores están ocupados. Inicialmente, hay dos entidades en la cola lo que hace que los
dos servidores estén ocupados. Así, inicialmente hay cuatro en el sistema; dos en servicio y
dos esperando en el nodo de espera QUEUE. Se ha designado una capacidad para diez
entidades en la cola. Dado que no hay especificaciones de BLOCK ni de BALK, los
clientes que llegan cuando el banco está lleno, se eliminarán a su llegada. Se entregará un
mensaje de advertencia en este evento.
APUNTES AWESIM 20
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
El nodo TERMINATE indica que el modelo se analizará hasta que 100 entidades hayan
completado el proceso. El tiempo entre llegadas se describe en el nodo CREA TE como
muestras tomadas de una distribución exponencial con media de 10. La primera entidad
está programada para llegar al tiempo 5.
Suponga una situación que considera dos tipos de trabajos que requieren ser procesados por
el mismo servidor. Los tipos de trabajos se suponen que vienen de una cola simple antes del
servidor. La malla y las instrucciones del modelo de esta situación se presentan a
continuación.
En este modelo, un tipo de entidad (trabajo) se programa para llegar cada 8 unidades de
tiempo y solamente se deben crear 100 de ellas. Estas entidades tienen un tiempo de
servicio estimado que se toma de una muestra de distribución exponencial con una media
de 7. El tiempo de servicio se asigna al atributo 1 en el nodo ASSIGN. Para el otro tipo de
entidad (trabajo), el tiempo entre llegadas es de 12 unidades y se crearán 50 entidades. El
tiempo de servicio estimado para cada una de estas entidades es exponencialmente
distribuido con un tiempo medio de 10. Ambos tipos de entidades se envían a un nodo
QUEUE cuya etiqueta es Q1. Las entidades en Q1 esperan en el archivo 1 y son ordenadas
según el menor valor del atributo 1. La especificación de la prioridad se hace mediante la
instrucción de control PRIORITY que se describirá en la sección 5.13. El servidor se
modela en la actividad 1 donde el tiempo de servicio se especifica como el atributo 1 más
una muestra tomada de una distribución normal. Así, el tiempo de procesamiento real es
igual al tiempo de procesamiento estimado más un error que se ha asumido como un valor
con una distribución normal. Este modelo se puede usar para representar un proceso de
atención en la que los trabajos se ordenan según el menor tiempo estimado de proceso.
APUNTES AWESIM 21
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
tipos de entidades tienen su tiempo de la primera llegada al tiempo 0 y a ninguna se le
marca el tiempo de llegada. El de la cantidad inicial en el nodo QUEUE es cero y la
capacidad del nodo QUEUE se asume como infinito. No hay especificaciones en el nodo
TERMINATE para la cantidad de entidades que terminan y, así, la carrera se completa
cuando todas las entidades creadas hayan pasado por el proceso, lo que en este caso es 150.
(Nota: estas condiciones de término no se pueden determinar absolutamente de la
descripción del modelo, teniendo la posibilidad de hacerlo. El procedimiento para
especificar el tiempo de término se discute en la sección 5.13).
Para ilustrar el uso de la instrucción EQUIVALENCE, que se usa para hacer el modelo más
entendible, las instrucciones del modelo se describen a continuación.
El tiempo de servicio estimado se define como ESERVET y es equivalente a ATRIB[l]. El
error del tiempo de servicio estimado se define como NOISE y es equivalente a
RNORM(0.0,1.0). Como se puede ver, el uso de la instrucción EQUIVALENCE mejora el
entendimiento de las instrucciones del modelo en Visual SLAM.
Considere una compañía con un sistema de mantención de la fábrica que consta de dos
operaciones en serie. Cuando se requiere una mantención en una máquina y hay cuatro
máquinas esperando por la operación 1, las operaciones de mantenimiento se realizan por
subcontratistas externos. Esta situación se modela a continuación. Las entidades
representan las solicitudes de mantenimiento.
En este modelo, las entidades se generan cada dos unidades de tiempo y se envía
directamente a un nodo QUEUE que tiene una capacidad de cuatro. En este nodo, las
entidades se almacenan en el archivo 1 y, si una entidad llega cuando hay otras cuatro
entidades en el archivo 1, esta se desvía al nodo TERMINATE con etiqueta SUBC. Cuando
se hayan desviado 10 entidades al nodo SUBC, se terminará la carrera de este modelo. El
tiempo de servicio de la actividad 1 es triangularmente distribuida con una moda de 0.4, un
mínimo y un máximo de 0.2 y 0.8 respectivamente. Cuando la actividad de servicio 1 se
complete, las entidades se envían directamente a un segundo nodo QUEUE. El archivo 2 se
usa para almacenar las entidades que esperan por el servidor 2. Si hay dos entidades
esperando por el servidor 2, la entidad que terminó la actividad 1 es bloqueada y la
actividad de servicio 1 debe mantenerse bloqueada por esta entidad. No se podrán iniciar
APUNTES AWESIM 22
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
más actividades de servicio por el servidor 1, aunque haya entidades esperando por el
servicio. Cuando la cantidad de entidades en el archivo 2 disminuye a menos de 2, la
entidad bloqueada se envía al archivo 2 y se puede iniciar entonces otra actividad de
servicio 1. El tiempo de procesamiento del servidor 2 es uniformemente distribuido entre
0.5 y 1. El ejemplo presentado en la Sección 5.14 es similar a esta ilustración y entrega las
entradas y salidas del procesador Visual SLAM.
Considere una situación que considera a un inspector ya un técnico de ajuste. Se presume
que el setenta por ciento de los ítem inspeccionados son enviados directamente a la zona de
empaque y que el treinta por ciento de los ítem necesita de un ajuste. Después del ajuste,
los ítem se devuelven para una re inspección. Haremos que el tiempo de inspección sea una
función de la cantidad de ítem que están esperando por inspección en la cola 1 (NNQ(1)) y
la cantidad de entidades esperando por el ajuste (NNQ(2)). El modelo correspondiente a
esta descripción se presenta a continuación.
En este modelo, se especifica la ramificación condicional desde en nodo CREATE, donde
el número M es uno, esto es, que puede escoger un máximo de una de las tres ramas que
salen desde el nodo CREATE. La entidad se envía a un nodo ABNM, si la cantidad de
entidades en el archivo 1 es menor o igual a 5. En el nodo ASSIGN ABNM, ATRIB[l] se
hace igual a 6 unidades de tiempo. ATRIB[1] se usará en la ilustración para representar el
tiempo de procesamiento de una entidad. La rama desde el nodo CREATE a nodo ASSIGN
NORM se toma si la cantidad de entidades en el archivo 1 es menor que 9 y la cantidad de
entidades en el archivo 2 es menor o igual a 2. Cuando esto ocurre, se almacena en
ATRIB[1] el tiempo de procesamiento de 8 unidades de tiempo en el nodo ASSIGN
NORM.
APUNTES AWESIM 23
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
QUE1 es el nodo QUEUE para el servidor 1. Con una probabilidad de 0.3, la entidad es
enviada a QUE2. Con probabilidad de 0.7, se envía al nodo TERM PACK. Estas dos
actividades representan la actividad de servicio 1. El tiempo de servicio se hace igual a
ATRIB[1], previamente definido en los nodos ASSIGN. En QUE2, la entidad pasa a través
de la segunda actividad de servicio cuyo tiempo de servicio es exponencialmente
distribuido con una media de 10 unidades de tiempo. Las entidades son devueltas al nodo
QUE1 para procesamiento adicional del servidor 1. En el nodo TERMINATE PACK, se
especifica que la llegada de 300 entidades para que se complete una corrida de la malla.
Así, una corrida puede ser terminada por la llegada ya sea al nodo PACK o al nodo SECS.
Considere una línea de ensamblaje que se ajusta de tal modo que las unidades sólo se
pueden completar al final de un intervalo de 10 minutos. Este modelo representa a dos
servidores idénticos con una cola simple y es similar al modelo representado en la
Ilustración 51. Sin embargo, para este modelo, la definición del tiempo de servicio de la
actividad se hace dependiente de la próxima salida de una entidad desde el nodo CREATE
TIMR. Desde el nodo CREATE TIMER sale la primera entidad en el tiempo 10 y después
cada 10 unidades de tiempo. Esto especifica que la duración de la actividad de servicio 1 va
a terminar en momentos múltiples de 10. Si la actividad de servicio 1 comienza en el
tiempo 13, entonces el tiempo de término será 20. Así, la duración de la actividad de
servicio es de 7 unidades de tiempo.
Si se pone una entidad en servicio en el tiempo 49, el tiempo de servicio se completará en
el tiempo 50 y su duración será de 1. Otros aspectos de esta ilustración fueron descritos
anteriormente. El modelo de esta situación se entrega a continuación.
APUNTES AWESIM 24
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
5.11 NODO GOON
Es un nodo de continuidad.
5.11.1 Ilustr ación 5 6. Ar chivos especificados por Atr ibuto y el número de la
Actividad de Servicio.
En esta ilustración se demostrará el uso uno de los atributos para especificar el número del
archivo y el número de la actividad de servicio. La situación que se va a modelar consiste
de entidades que llegan al sistema cada 5 unidades de tiempo. Cada entidad que llega va a
ser procesada secuencialmente por los servidores 1, 2 y 3. Las entidades que esperan por el
servidor I se almacena en el archivo I, con I igual a 1, 2 ó 3. Esta situación será modelada
por una combinación de una cola simple QUEUE y una actividad de servicio donde el
número del archivo y el número de la actividad de servicio se especifican por el valor
(LTIB[1]). El valor de LTRIB[1] se hace inicialmente igual a 1 y luego se aumenta cada
vez que el servicio se ha cumplido para esa entidad. Cuando el valor de ATRIB[1]==3, la
entidad se envía al nodo TERM porque el procesamiento de la entidad ha terminado. El
tiempo de servicio de cada servidor se asume que es exponencialmente distribuido con una
media diferente de tiempo de servicio dado por XX[II], II=1, 2, 3. Se asumirá que estos
valores de XX se especificaron en las condiciones iniciales o en una red anexa a la malla de
esta ilustración. La malla del modelo y las instrucciones se muestran a continuación.
APUNTES AWESIM 25
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Básicamente, el modelo anterior consiste de una combinación de una cola y una actividad
de servicio con el uso de un nodo ASSIGN y ramificación condicional para permitir las
diferentes definiciones del archivo y el número del servicio. En esta ilustración, la situación
se pudo haber con una combinación de tres colas y sus actividades de servicio en serie. Sin
embargo, para una cantidad mayor de operaciones en serie, el procedimiento anterior, que
especifica indirectamente el número del archivo y el número del servidor, reduce
significativamente el tamaño del modelo. Aunque esta ilustración tiene entidades que
fluyen a través de servidores en un orden prescrito, es fácil modificar la malla de modo que
el valor de LTRIB[1] se cambia de acuerdo con la estructura del ruteo definido para cada
tipo de entidad, esto es, un atributo se puede usar para definir el tipo de entidad y luego,
según el tipo de entidad, se puede definir, para LTRIB[1], los diferentes números de los
servidores.
5.12 NODO COLCT.
COLCT, TYPE, ID, NCEL/HLOW/HWID, M;
Es un nodo que sirve para calcular el promedio de los valores que han tomado las variables
durante una carrera completa. Se puede estimar cinco tipos de estadísticas en este nodo.
Cuatro se refieren al tiempo o a las veces que una entidad llega al nodo COLCT. La quinta
permite el cálculo de los valores estadísticos de las variables Visual SLAM en nodos
específicos. Los tipos son:
APUNTES AWESIM 26
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
1. Tiempo del primer arribo (FIRSTARRIVE). Solo se graba un valor en cada carrera.
2. Tiempo de todas las llegadas (TNOW). Cada vez que llega una entidad, su tiempo de
llegada se suma a los tiempos anteriores. Al final se obtiene un promedio.
3. Tiempo entre llegadas. El tiempo de la primera llegada se usa como un punto de
referencia. En las llegadas siguientes, el tiempo entre llegadas se registra como variable
de interés (TNOW LASTARRIVE).
4. Estadísticas de intervalo (TNOW ATRIB(I)). Esta estadística calcula el tiempo de
llegada de una entidad al nodo menos un valor de un atributo de la entidad. El valor del
atributo pudo haber sido especificado anteriormente como el tiempo de creación en el
nodo CREATE o en un nodo ASSIGN.
5. Variables Visual SLAM. El valor de una variable Visual SLAM se almacena como una
observación cada vez que llega una entidad. Nota: El valor de USERF(I) puede ser
parte de la expresión de Visual SLAM.
En la Figura 5 22 se muestra el ejemplo 6 donde se usa el nodo COLCT.
MALLA 6
Figura 5–22.
CREATE, 1, 0.0,, INF, 1;
ACTIVITY,,, PROB(0.1);
ACTIVITY,,, PROB(0.2),"FIG6COLCT1";
ACTIVITY,,, PROB(0.3),"FIG6COLCT2";
ACTIVITY,,, PROB(0.4),"FIG6COLCT3";
COLCT, 1, NNCNT(1),,,,, 1;
ACTIVITY;
TERMINATE, INF;
COLCT_l: COLCT, 2, NNCNT(2),,,,, 1;
ACTIVITY;
TERMINATE,INF;
COLCT_2: COLCT, 3, NNCNT(3),,,,, 1;
ACTIVITY;
TERMINATE, INF;
COLCT_3: COLCT, 4, NNCNT(4),,,,, 1;
ACTIVITY;
TERMINATE, INF;
APUNTES AWESIM 27
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
En la Figura 523 se representa el Ejemplo 7 donde se repite el caso anterior, pero se ocupa
una variable auxiliar en lugar de la variable NNCNT(I).
MALLA 7
Figura 523
;
CREATE, 1, 0.0,, INF, 1;
ACTIVITY,,, PROB(0.1);
ACTIVITY,,, PROB(0.2),"EJE7ASSIGNl";
ACTIVITY,,, PROB(0.3),"EJE7ASSIGN2";
ACTIVITY,,, PROB(0.4),"EJE7ASSIGN3";
ASSIGN,{{XX[1], XX[1] + 1}}, 1;
ACTIVITY;
Al: COLCT, 1, XX[1],,,,, 1;
ACTIVITY;
TERMINATE, INF;
EJE7_ASSIGN_l: ASSIGN,{{XX[2],XX[2] + 1}},1;
ACTIVITY;
A2: COLCT, 2, XX[2],,,,, 1;
ACTIVITY;
TERMINATE, INF;
EJE7_ASSIGN_2: ASSIGN,{{XX[3],XX[3] + 1}},1;
ACTIVITY;
A3: COLCT, 3, XX[3],,,,, 1;
ACTIVITY;
TERMINATE, INF;
EJE7_ASSIGN_3: ASSIGN,{{XX[4],XX[4] + 1 }}, 1;
ACTIVITY;
A4: COLCT, 4, XX[4],,,,, 1;
ACTIVITY; TERMINATE, INF;
En cada caso se calcula la media y la desviación estándar de los valores de las variables en
estudio. Además se obtiene un histograma. Este histograma se genera al especificar el
número de celdas, NCEL; el valor límite superior de la primera celda, HLOW; y el ancho
de la celda HWID. NCEL es el número de celdas. Se agregan dos celdas mas, la de los
extremos. (INF, HLOW) y (HLOW + NCEL * HWID, + INF). Las celdas terminan en su
valor HLOW, es decir, HLOW inclusive.
APUNTES AWESIM 28
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Ej.: NCEL=5, HLOW=0; HWID=10.
(INF, 0), (0, 10), (10, 20), (20, 30), (30, 40), (40, 50), (50, INF).
En la Figura 524 se presenta el Ejemplo 8 en el que se muestra la generación de
histogramas mediante el uso de la instrucción COLCT. Sólo se muestra el primero de ellos.
MALLA 8
;
CREATE, UNFRM(1, 8), 0.0, ATRIB[1], 20, 1;
ACTIVITY;
ASSIGN,{{ATRIB[3], UNFRM(1,6)}}, 1;
ACTIVITY;
QUEUE, 1, 0, INF, NONE;
ACTIVITY, 1, ATRIB[3];
COLCT,, ATRIB[3], "Durac Activ", 10, 0, 1, 1;
ACTIVITY,,,,"COL2";
;
COL2: COLCT, 2, TNOW ATRIB[1], "TPO_EN_SIST", 10, 0, 2, 1;
ACTIVITY;
ASSIGN,{{ATRIB[2], TNOW ATRIB[3] ATRIB[1]}},l;
ACTIVITY;
COLCT, 3, ATRIB[2], "TPO_EN_COLA", 10, 0, 1, 1;
ACTIVITY;
TERMINATE, INF;
APUNTES AWESIM 29
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
En la Figura 525 se representa el ejemplo 9 el que muestra las instrucciones para obtener
un histograma de la duración de la actividad, otro para el tiempo que las entidades han
estado en el sistema, y un tercero para el tiempo en que las entidades han estado en la cola.
MALLA 9
GEN, AUTOR, EJEMPLO 2 1 BANKS, 1/21/87, 1;
LIMITS, 1, 3, 50;
NETWORK;
CREATE, UNFRM(1, 8, 1),,1, 20;
ACT,,0.1, Al;
ACT,,0.2, A2;
ACT,,0.3, A3;
ACT,,0.25, A4;
ACT,,0.1, A5;
ACT,,0.05, A6;
A1 ASSIGN, ATRIB(3) = 1;
ACT,,, Q1;
A2 ASSIGN, ATRIB(3) = 2;
ACT,,, Q1;
A3 ASSIGN, ATRIB(3) = 3;
ACT,,, Q1;
A4 ASSIGN, ATRIB(3) = 4;
ACT,,, Q1;
A5 ASSIGN, ATRIB(3) = 5;
ACT,,, Q1;
A6 ASSIGN, ATRIB(3) = 6; Q1 QUEUE(l);
ACT(1)/1, ATRIB(3);
COLCT, ATRIB(3), DURAC ACTIVIDAD, 10/0/1;
COLCT, INT(1), TIEMPO EN SISTEMA, 10/0/2;
ASSIGN, ATRIB(2)=TNOWATRIB(1)ATRIB(3);
COLCT, ATRIB(2), TIEMPO EN COLA, 10/0/1;
TERM;
END;
FIN;
APUNTES AWESIM 30
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Casos de interés:
a) Estadística del tiempo en que estuvieron las entidades en el sistema. Cada entidad tiene
su tiempo en ATRIB(1).
COLCT, INT(3), TPO EN SISTEMA,, 1;
Fig. 4 26
b) Estadística de la variable global XX(1) cada vez que una entidad pasa por el nodo. Ej.,
control de inventario.
COLCT, XX(1), INVENTARIO, 20/10/5, 2;
Fig. 4 27
A lo largo de este libro, se ha usado un formato en la presentación de los ejemplos.
Primero, se presenta un definición del problema que describe el sistema que se va a
modelar incluyendo el objetivo del análisis. Luego se presenta una sección en la que se
describen los principales conceptos que se pretende ilustrar en el ejemplo. Luego se
presenta el modelo en Visual SLAM. Finalmente, se presenta un resumen de resultados en
el Summary Report.
El último paso a desarrollar en una simulación de redes es combinar las instrucciones de la
red con las instrucciones de control que se necesiten. Las instrucciones de control entregan
la información acerca de los experimentos que se van a desarrollar. A lo menos las
instrucciones de control GENERAL, LIMITS, y FINISH deben incluirse en todos los
modelos. Otras instrucciones de control tales como PRIORITY, MONTR, y INITIALIZE
se incluyen de acuerdo a lo que se desee obtener de las carreras de simulación. La
instrucción TIMST se usa para recolectar las estadísticas de las variables dependientes del
tiempo, y la instrucción ENTRY se usa para incorporar entidades en archivos.
En esta sección, se presenta el formato de estas instrucciones en forma resumida.
La forma abreviada de GENERAL o GEN es la siguiente:
GEN, NAME, PROJECT, MONTH/DAY/YEAR, NNRNS;
APUNTES AWESIM 31
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Los campos en la instrucción GEN son el nombre del modelador, el título del proyecto, y la
fecha de la carrera. El valor especificado en NNRNS es el número de carreras que se van a
hacer.
El formato de LIMITS o LIM es el siguiente:
LIM, MFIL, MATR, MNTRY;
El formato de INTLC es el siguiente:
INTLC, {{VAR = valor}, repetir};
INTLC se usa para asignar valores iniciales a variables Visual SLAM.
El formato abreviado de INITIALIZE en INIT y su formato es:
INIT, TTBEG, TTFIN, JJCLR;
donde TTBEG es el tiempo de inicio de una simulación, TTFIN es el tiempo que se desea
que termine la simulación, y JJCLR se usa para especificar si se van a mantener las
estadísticas separadamente para cada carrera.
El formato abreviado de TIMST es:
TIMST, VAR, ID;
donde VAR es una variable Visual SLAM cuyo valor persiste por un tiempo de la
simulación, por ejemplo, XX(I). ID es un identificador numérico que se imprime en el
informe resumen (Summary Report) para identificar el resumen de las estadísticas
calculadas por V AR.
El formato de ENTRY es el siguiente:
ENTRY, IFILE, NLBL, {valores de atributos};
El formato de PRIORITY es el siguiente:
APUNTES AWESIM 32
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
PRIORITY, {IFILE, ordenamiento}, repetir};
donde IFILE es el archivo al cual se le define su prioridad de ordenamiento. Ordenamiento
es la especificación de la prioridad. Las opciones para el ordenamiento son: FIFO,(firstin,
firstout); LIFO (lastin, firstout); HVF(N) primero se ponen las entidades con mayor valor
del atributo N; y LVF(N) primero se ponen las entidades con el menor valor en el atributo
N.
El formato de la instrucción MONTR es:
MONTR, opción, TFRST, TSEC, { expresiones};
Por ahora, sólo se considerarán las opciones TRACE y CLEAR. TRACE especifica que
una lista de eventos se van a imprimir al tiempo inicial TFRST y al tiempo final TSEC.
Variables es el listado de las variables Visual SLAM cuyo valor se va a imprimir en cada
evento. La opción CLEAR hace que se eliminen las estadísticas en el tiempo TFRST.
CLEAR se usa para eliminar las estadísticas coleccionadas durante el período que
transcurrió.
La instrucción FIN consiste en un sólo campo como se muestra a continuación.
FIN;
y establece el final de todas las instrucciones de entrada. La instrucción SIMULATE o SIM
consiste también de un sólo campo.
SIM;
y define el término de las variables de entrada de una carrera. La instrucción SIM no se
requiere si la última instrucción es FIN.
Las instalaciones de mantención de una fábrica desarrollan dos operaciones. Estas
operaciones se deben desarrollar en serie; operación 2 siempre sigue a la operación 1. Las
unidades que deben ser mantenidas son voluminosas, y el espacio disponible alcanza sólo
para ocho unidades, incluyendo las que están siendo atendidas. Un diseño propuesto deja
dos espacios entre las estaciones de trabajo, y un espacio para cuatro unidades antes de la
estación 1. El diseño propuesto se muestra en la figura 41. Actualmente la política de la
compañía es subcontratar la mantención si es que una unidad no puede entrar al
departamento de mantención.
APUNTES AWESIM 33
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Cola de espera de
Estación 1
Unidad a Subcontratista
Datos históricos indican que el tiempo entre llegadas de requerimientos de mantención es
exponencialmente distribuido con una media de 0.4 unidades de tiempo. Los tiempos de
servicio también son exponencialmente distribuidos con un tiempo de servicio en promedio
de 0.25 en la primera estación y de 0.5 en la segunda estación. Las unidades se transportan
automáticamente desde la estación 1 a la estación 2 con duración despreciable. Si la cola de
la estación 2 está llena, esto es, si hay dos unidades esperando por la estación 2, la primera
estación se bloquea y la unidad no puede dejar la estación de trabajo. Una estación
bloqueada no puede atender otro trabajo.
Para evaluar el diseño propuesto, se desea obtener las siguientes estadísticas por un periodo
de 300 unidades de tiempo.
1. Utilización de las estaciones de trabajo.
2. Tiempo para procesar una unidad a través de las dos estaciones.
3. Tiempo entre las subcontrataciones.
4. Cantidad de unidades esperando en cada estación; y
5. Fracción del tiempo que la estación 1 estuvo bloqueada.
Los televisores ensamblados pasan por una serie de estaciones de prueba en la etapa final
de su producción. En la última de estas estaciones, se prueba el ajuste de control vertical en
los televisores. Si se encuentra que dicho ajuste no funciona apropiadamente, el aparato
probado es ruteado hacia una estación de ajuste donde el aparato es ajustado. Después de
ajustado, el televisor es devuelto hacia la última estación de inspección donde es
inspeccionado nuevamente. Los televisores que han pasado la fase final de inspección, sea
en la primera vez o después de una o más pasadas a través de la estación de ajuste, son
ruteados hacia el área de empaque.
APUNTES AWESIM 34
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
El tiempo entre llegadas de aparatos de televisión a la estación de inspección final está
uniformemente distribuida entre 3.5 y 7.5 minutos. Dos inspectores trabajan
simultáneamente en la estación final de inspección. El tiempo requerido para inspeccionar
un televisor está uniformemente distribuido entre 6 y 12 minutos. En promedio, 85% de los
aparatos pasan la inspección y continúan hacia el departamento de empaque. El otro 15%
son ruteados a la estación de ajuste, donde opera un solo trabajador. El ajustar el control
vertical requiere entre 20 a 40 minutos, uniformemente distribuidos..
Simular la estación de inspección y el ajustador por 480 minutos, para estimar el tiempo de
proceso de los televisores a través de esta etapa final de producción y determinar el uso de
los inspectores y el ajustador.
LLEGADA DE
TELEVISORES
INSPECTORES
AJUSTE
Diagrama de Estaciones de Inspección y Ajuste
5.16 EJ EMPLO 53. OPERACIONES DE EXTRACCIÓN.
En este ejemplo, se modelan operaciones de extracción. En una extracción, los camiones
entregan mineral desde tres cargadores frontales a un molino. Un camión siempre retorna a
su pala asignada después de botar la carga en el molino. Hay dos tamaños distintos de
camión en uso, 20 toneladas y 50 ton. El tamaño del camión afecta su tiempo de carguío en
la pala, al tiempo de viaje hacia el molino, al tiempo de volcado en el molino y al tiempo
del viaje de retorno desde el molino a la pala asignada. Para el camión de 20 ton, estos
tiempos de: carguío, viaje de ida, vaciado y viaje de regreso son: distribuidos
exponencialmente con una media 5; una constante 2.5, distribuido exponencialmente con
media 2 ; y constante 1.5 Los tiempos correspondientes para los de 50 ton son: distribuido
exponencialmente con media 10; constante 3; distribuido exponencialmente con media 4 y
constante 2. A cada pala se le asignan dos camiones de 20 ton y uno de 50 ton. Las colas en
las palas son ordenadas en base a primeroenllegar, primeroensalir. La cola del molino se
ordena de acuerdo al tamaño del camión, camiones más grandes primero. Un diagrama
esquemático de las operaciones de extracción se muestra en la figura 411. Se desea
analizar este sistema por 480 unidades de tiempo para determinar el uso y largo de las colas
asociadas con las palas y molino.
APUNTES AWESIM 35
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
5.17 NODO SELECT
QSR SSR
SELECT, QSR, SSR, BLOCK o BALK(NLBL), QLBL;
Cuando el nodo SELECT se usa para un solo propósito, el campo en la regla QSR o SSR
que no se necesita, se debe dejar con el valor por defecto. En la instrucción de arriba, los
QLBLs son las etiquetas de los nodos QUEUE asociados con la regla QSR. Los nodos
QUEUE pueden estar antes o después del nodo SELECT. Las etiquetas no son parte del
formulario de entrada del nodo SELECT, ya que Awesim los incorporará al nodo SELECT
en la medida que los nodos QUEUE estén conectados con el nodo SELECT.
Se mencionan cinco observaciones respecto al nodo SELECT:
1. No pueden haber nodos QUEUE a ambos lados del nodo SELECT .
2. Si siguen actividades de servicio desde el nodo SELECT, entonces los nodos QUEUE
deben preceder al nodo SELECT para mantener las entidades cuando se están
desarrollando todas las actividades.
3. Es posible que ocurran bloqueo y desvío (Block y Balk) en el nodo SELECT cuando
todos los nodos QUEUE que siguen están llenos y tiene prescritos la opción de block y
balk. El símbolo es el siguiente:
Balking Block
APUNTES AWESIM 36
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
4. Cada vez que se requiera mirar hacia atrás, los nodos QUEUE que preceden al nodo
SELECT deben referirse a éste para transferir las entidades que van llegando.
5. Un nodo SELECT siempre requiere de una etiqueta.
La lista de reglas de selección de colas (QSR) se lista en la Tabla 54. La lista de reglas de
selección de servidores (SSR) se listan en la Tabla 55.
A continuación se presentan ejemplos de uso del nodo SELECT:
1. Enviar entidades a los nodos QUE1 o QUE2 dependiendo de cual tenga la menor
cantidad de entidades esperando en cola (SNUM). El valor por defecto de selección de
servidores ORDER, se debe ignorar en este caso.
SELECT, SNUM, ORDER, NONE, (QUE1, QUE2);
2. Seleccionar un servidor de servidores 1, 2, y 3 para procesar entidades esperando en la
cola WAIT. Se prefiere usar el servidor 1 al servidor 2 y al servidor 2 en lugar del
servidor 3. Esto es, se va a usar un orden preferido de selección de servidores. La regla
por defecto de selección de colas, ORDER, se ignorará en este caso.
Este segmento de malla podría representar tres máquinas que pueden ser usadas para
procesar un trabajo que está esperando en la cola WAIT. El tiempo de procesamiento y el
ruteo después del procesamiento se modela como si fuese una máquina dependiente.
3. Las ilustraciones l y 2 se combinan a continuación de modo que el nodo SELECT SELS
toma entidades de los nodos QUEUE QUE1 y QUE2 (en lugar del nodo QUEUE
WAIT). Una selección de colas cíclica se usa en el nodo SELECT SELS.
En este segmento de malla, el nodo SELECT SELQ envía las entidades al nodo QUE1 o al
nodo QUE2, dependiendo de que cola tenga la menor cantidad de entidades esperando en el
momento de envío. Si las colas tienen igual cantidad de entidades, entonces se selecciona la
cola QUE1 ya que está primera en la lista. Cuando llega una entidad a cualquier cola, y un
servidor (actividades 1, 2 ó 3) no están ocupados, la entidad se envía al servidor
desocupado. Si hay más de un servidor desocupado, la regla de selección por ORDER
asociado al nodo SELECT SELS, enviará al primer servidor listado después del nodo
SELECT SELS. Así, la regla de selección de servidores ORDER, le da prioridades a los
servidores en el orden en que son listados en el modelo. La regla ORDER es por defecto
para ambas selecciones de colas en el nodo SELQ y la selección de servidores en el nodo
SELS.
APUNTES AWESIM 37
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
Cuando un servidor se desocupa y hay entidades esperando en ambas colas QUE1 y QUE2,
el nodo SELECT SELS usa la regla cíclica y toma entidades desde el nodo QUEUE que no
fue seleccionado cuando la última entidad se envió a un servidor.
Tabla 54: Reglas de prioridades asociadas a los nodos SELECT para seleccionar desde un
grupo de colas.
Código Definición
ORDER Prioridad dada en un orden preferido.
CYCLIC Prioridad cíclica. Transferir al primer nodo QUEUE disponible partiendo desde el último
nodo QUEUE que fué seleccionado.
RANDOM Prioridad aleatoria. Asigna igual probabilidad a cada nodo QUEUE que tenga una entidad.
LAVERAGE Prioridad dada al nodo QUEUE que ha tenido en promedio el mayor número de entidades
hasta la fecha.
SAVERAGE La prioridad se da al nodo QUEUE que ha tenido en promedio el menor número de
entidades hasta la fecha.
LWAIT La prioridad se da al nodo QUEUE en el que la primera entidad tenga el mayor tiempo de
espera.
SWAIT La prioridad se da al nodo QUEUE en el que la primera entidad tenga el menor tiempo de
espera.
LNUM Prioridad se da al nodo QUEUE que posea el mayor número de entidades.
SNUM Prioridad se da al nodo QUEUE que posea el menor número de entidades.
LAVAIL Prioridad se da al nodo QUEUE que tenga la mayor cantidad de entidades sin usar.
SAVAIL Prioridad se da al nodo QUEUE que tenga la menor cantidad de entidades sin usar.
NQS(exp) Una función escrita por el usuario para seleccionar una cola. El valor de la expresión es un
entero que se usará en la función NQS.
Tabla 55: Reglas de prioridades asociadas con los nodos SELECT para seleccionar desde un
conjunto de servidores.
Código Definición
ORDER Selecciona desde servidores libres en un orden predeterminado.
LBUSY Selecciona el servidor que tiene la mayor parte del tiempo ocupado.
SBUSY Selecciona el servidor que tiene la menor parte del tiempo ocupado.
APUNTES AWESIM 38
Simulación de Sistemas U.A.P. Ing. Lino Martin Quispe Tincopa
LIDLE Selecciona el servidor que ha estado desocupado durante más tiempo.
SIDLE Selecciona el servidor que ha estado desocupado durante menos tiempo.
RANDOM Selecciona al azar desde los servidores desocupados de acuerdo a probabilidades
preasignadas.
NSS(exp) Función escrita por el usuario para seleccionar un servidor. N es un entero para distinguir
entre el uso de NSS en diferentes nodos SELECT.
APUNTES AWESIM 39