Você está na página 1de 51

TABLA DE CONTENIDO

LENGUAJE SIMAN ..........................................................................................................................................1


1.1
1.2

INTRODUCCION .........................................................................................................................................1
CARACTERISTICAS DE LA MODELACION EN SIMAN ...................................................................................2
1.2.1
VARIABLES EN SIMAN Y DISTRIBUCIONES PROBABILISTICAS..............................................3
1.2.2
MODIFICADORES .........................................................................................................................4
1.2.3
SINTAXIS DEL SIMAN....................................................................................................................5
1.2.4
CARACTERISTICAS DE LOS TIPOS DE OPERANDOS ...............................................................5
1.3 MODELO DEL SISTEMA...............................................................................................................................6
1.4 MODELO DEL EXPERIMENTO ...................................................................................................................14
1.5 CONSIDERACIONES SOBRE EL FUNCIONAMIENTO DEL SIMAN................................................................22
1.6 EDICION, COMPILACION, ENLACE Y CORRIDA DE PROGRAMAS EN SIMAN ..............................................25
1.6.1
EDICION DEL MODELO DEL SISTEMA ....................................................................................25
1.6.2
EDICION DEL MODELO DEL EXPERIMENTO.........................................................................26
1.6.3
ENLACE DE LOS FICHEROS SISTEMA Y EXPERIMENTO ......................................................27
1.6.4
EJECUCION DEL PROGRAMA ...................................................................................................27
1.7 ANALISIS DE RESULTADOS EN UN EXPERIMENTO DE SIMULACION.........................................................27
1.7.1
ELIMINACION DEL SESGO INICIAL..........................................................................................29
1.7.2
REPETICION DE CORRIDAS ......................................................................................................30
1.7.2.1
1.7.2.2

1.8

Sistemas con Trmino ............................................................................................................................... 31


Sistemas sin Trmino ................................................................................................................................ 31

EJEMPLOS DE APLICACION .....................................................................................................................33


1.8.1
EJEMPLO 1...................................................................................................................................33
1.8.2
EJEMPLO 2...................................................................................................................................35
1.8.3
EJEMPLO 3...................................................................................................................................37
1.8.4
EJEMPLO 4...................................................................................................................................39
1.9 PROCESADOR DE SALIDAS: OUTPT .........................................................................................................43
1.9.1
INSTRUCCIONES DEL PROCESADOR OUTPT .........................................................................44
1.9.2
EJEMPLO......................................................................................................................................48

TECNICAS DE SIMULACION

1 LENGUAJE SIMAN

1.1 INTRODUCCION
El lenguaje SIMAN (SIMulation ANalisis), como producto de software, se comenz a
utilizar en 1984. Es un lenguaje de simulacin basado en el FORTRAN, y el mismo se apoya
en los desarrollos previos del GPSS (General Purpose Simulation System) y el GASP
(General Application Simulation Program).
El SIMAN como lenguaje es capaz de modelar procesos combinados discreto-continuos, y
posee un conjunto de facilidades que lo hacen particularmente til en la modelacin de
sistemas de produccin, especialmente cuando los mismos contienen componentes
importantes referidos al manejo de materiales.
La estructura de los modelos en SIMAN est basada en un enfoque terico-conceptual el cual
hace una distincin fundamental entre dos componentes del modelo de simulacin: el modelo
del sistema y el modelo del experimento. El modelo del sistema define y describe las
caractersticas estticas y dinmicas del sistema a ser simulado, mientras que el modelo del
experimento define las condiciones experimentales bajo las cuales se desarrollarn las
corridas de la simulacin para generar la informacin de salida deseada. Este enfoque explota
el hecho de que para un modelo de sistema especfico puede haber diferentes modelos de
experimento dando como resultado diferentes conjuntos de informacin de salida. De esta
forma, separando el modelo del sistema y el del experimento, pueden ser desarrolladas
diferentes corridas de simulacin cambiando solamente el modelo del experimento, pues el
del sistema permanece inalterable.
La tcnica primaria que utiliza el lenguaje para la modelacin de sistemas con cambios
discretos es la orientacin al proceso, en la cual el modelo es construido siguiendo la
operacin funcional del sistema a ser simulado. Una segunda variante es la orientacin al
evento, en la cual el usuario incluye sus propias subrutinas FORTRAN para representar sus
eventos especficos.
Como se muestra en la Figura 1, una simulacin utilizando el SIMAN se divide en tres partes
distintas: el procesamiento del modelo, el procesamiento del experimento y la corrida de
simulacin con el anlisis de los resultados. Para ejecutar estas tres partes el SIMAN cuenta
con cinco programas procesadores individuales los cuales interactan mediante cuatro
ficheros.
1. El procesador del modelo (MODEL) es utilizado para procesar el modelo del sistema
previamente editado. El fichero generado es llamado fichero del modelo.
2. El procesador del experimento (EXPMT) opera sobre la edicin del modelo del
experimento. El fichero generado es llamado fichero del experimento.
3. El programa enlazador (LINKER), combina el fichero del modelo con el del
1

TECNICAS DE SIMULACION
experimento, produciendo el fichero del programa de simulacin listo para las
corridas.
4. El fichero del programa es la entrada para el procesador de las corridas de simulacin
(SIMAN), el cual las ejecuta y almacena los resultados en el fichero de datos de salida.
5. El procesador de salidas analiza, organiza y presenta la informacin contenida en el
fichero de datos de salida.
Esta divisin de los programas procesadores resulta muy til ya que slo uno de los cinco se
ejecuta cada vez, lo que reduce los requerimientos de memoria y, a la vez, permite crear y
salvar los ficheros obtenidos oportunamente.

Figura 1.1 Procesamiento de un modelo de simulacin utilizando SIMAN


El lenguaje cuenta con 32 macroinstrucciones para la modelacin de los sistemas y 15
elementos para la construccin del modelo del experimento, adems permite incluir las
subrutinas FORTRAN que se desee.

1.2 CARACTERISTICAS DE LA MODELACION EN SIMAN


El SIMAN es un lenguaje de simulacin para microcomputadoras que est compuesto por un
conjunto de macroinstrucciones que facilitan las tareas de modelacin, programacin y
anlisis de resultados de una simulacin.

TECNICAS DE SIMULACION
El SIMAN se caracteriza por dividir el modelo de simulacin en dos partes (o conjuntos de
instrucciones en lenguaje SIMAN):
1. Modelo del sistema.
2. Modelo del experimento.
Se le llama modelo del sistema a aquella parte que describe la secuencia lgica del proceso
que se desea simular utilizando instrucciones SIMAN.
El modelo del experimento es la parte del que define las caractersticas cuantitativas que toma
cada uno de los componentes descritos en el modelo del sistema, determinndose adems en
el mismo, los resultados que se desean en la simulacin por medio del SIMAN.
1.2.1 VARIABLES EN SIMAN Y DISTRIBUCIONES PROBABILISTICAS

SIMAN permite definir los atributos de las entidades, utilizar variables asignadas por el
usuario, variables o funciones del sistema y variables aleatorias del lenguaje, las que se
describen en las siguientes tablas:
Atributos
A(I)
M

Descripcin
Valor real del atributo I de la entidad activa.
Atributo de la entidad que denota el nmero de la estacin en donde
se encuentra la misma.
Tabla 1.1 Descripcin de los atributos de las entidades

Variables asignadas por el usuario


Descripcin
X(I)
Valor real de la variable global del sistema I.
J
Variable ndice del sistema, entera.
P(I,K)
Valor del parmetro nmero K en la variable ndice I.
Tabla 1.2 Descripcin de las variables asignadas por el usuario
Variables SIMAN
Descripcin
TNOW
Tiempo en curso en el sistema.
NE(I)
Nmero de entidades que van a la estacin I.
NQ(I)
Nmero de entidades que esperan en la cola I.
NC(I)
Valor del contador I.
NR(I)
Nmero de unidades ocupadas del recurso I.
NT(I)
Nmero de unidades ocupadas del transportador I.
MR(I)
Nmero de unidades del recurso I.
MT(I)
Nmero de unidades del transportador I.
LC(I)
Longitud de las celdas ocupadas en el conveyor I.
Tabla 1.3 Descripcin de las variables o funciones del sistema

TECNICAS DE SIMULACION
Distribuciones aleatorias
Descripcin
EX(IP,IS)
Distribucin exponencial.
UN(IP,IS)
Distribucin uniforme.
TR(IP,IS)
Distribucin triangular.
RN(IP,IS)
Distribucin normal.
NP(IP,IS)
Distribucin poisson.
DP(IP,IS)
Distribucin de probabilidad discreta.
RL(IP,IS)
Distribucin lognormal.
GA(IP,IS)
Distribucin gamma.
BE(IP,IS)
Distribucin beta.
WE(IP,IS)
Distribucin Weibull.
CO(IP)
Una constante.
RA(IS)
Nmero aleatorio uniforme en el intervalo 0-1.
ED(I)
Distribucin experimental nmero I.
Tabla 1.4 Descripcin de las distribuciones aleatorias
Donde:
IP: Parmetro de relacin. Establece la relacin entre la distribucin en el modelo del sistema
y los parmetros de la distribucin en el modelo del experimento.
IS: Indicador de la cadena de la cual obtendremos los nmeros aleatorios, debe estar
comprendida entre 1 y 9.
1.2.2

MODIFICADORES

Los modificadores se colocan despus del ltimo operando en la lnea de instruccin,


separndose de stos por dos puntos, y pueden ser una o ms de las palabras claves siguientes:
DISPOSE, MARK(MA) NEXT(LABEL). Los modificadores se separan entre si por medio
de comas. A continuacin se ofrece una breve descripcin acerca de la utilizacin de cada
uno de ellos:

DISPOSE: Destruye las entidades a la salida de la instruccin precedente.

MARK(MA): Marca el atributo MA de la entidad con el tiempo de arribo de sta a la


instruccin precedente.

NEXT(LABEL): La entidad de salida de la instruccin precedente se dirige a la


instruccin nominada LABEL.

Si DISPOSE y NEXT(LABEL) se omiten, se asume que las entidades de salida se dirigen


secuencialmente a la prxima instruccin.

TECNICAS DE SIMULACION
1.2.3 SINTAXIS DEL SIMAN

Para poder utilizar el lenguaje SIMAN en una aplicacin determinada e introducirlo en la


mquina con vistas a su ejecucin, se recomienda tener en cuenta los siguientes aspectos
sintcticos:
1. Las instrucciones pueden estar divididas en uno o ms segmentos de lnea. Un
segmento de lnea es una agrupacin de operandos dentro de una lnea de instruccin.
El nmero de segmentos de lnea y de operandos dentro de cada segmento de lnea
depende del tipo de instruccin.
2. Los segmentos de lnea se separan entre si con dos puntos (:). Cada campo de
operando se separa del campo anterior con una coma (,). Para especificar el fin de
cada instruccin se utiliza el punto y coma (;).
3. Los operandos pueden ser especficos u opcionales en dependencia de cada
instruccin. Todo operando opcional tiene una entrada asumida preestablecida, la cual
es asignada al omitir el campo de entrada. Sin embargo, las comas son siempre
necesarias para separar campos en blanco dentro de un segmento de lnea.
4. Una lnea con punto y coma (;) en la primera columna es ignorada y puede ser
utilizada para comentarios.
5. Todos los blancos dentro de una instruccin son ignorados, excepto los que estn
dentro de una etiqueta o nombre de campo. Los blancos pueden ser utilizados para
separar una instruccin de entrada a travs de una o varias lneas.
6. Cada instruccin de entrada est restringida de la columna 1 a la 74. Adems un
operando no puede ser dividido entre dos lneas de entrada.
7. En el presente manual se diferencian las instrucciones usadas en el modelo del sistema
y el del experimento, denominndose instrucciones a las instrucciones del sistema y
elementos, a las del experimento.
8. Se especificar en los elementos del modelo del experimento la posibilidad de escribir
segmentos de lnea, con las mismas caractersticas que la mostrada, mediante la
palabra REPETICION.
1.2.4 CARACTERISTICAS DE LOS TIPOS DE OPERANDOS

A continuacin se describen las caractersticas de los operandos de SIMAN.

CONSTANTE ENTERA: Cualquier nmero entero. (Ej.: 10).

CONSTANTE REAL: Nmero racional que contiene un punto decimal. Puede ser
especificado con el formato FORTRAN F o E. (Ej.:10.3, 1.E-2).

TECNICAS DE SIMULACION

ETIQUETA: Cadena de caracteres alfanumricos que comienza con uno alfabtico. Su


longitud mxima es de 8 caracteres. (Ej.: SEGUIR, SALIR).

PALABRA CLAVE: Cadena alfabtica que contiene un significado especfico en


SIMAN. (Ej.: DISPOSE).

VARIABLE o ATRIBUTO: Variable SIMAN o atributo. (Ej.: NQ(1), A(1)).

EXPRESION: Expresin computada con variables SIMAN usando los operadores +


(suma), - (resta), * (multiplicacin), / (divisin) y ** (exponenciacin), con
agrupaciones entre parntesis (Ej.: A(1)*(X(1)-2)**2).

CONDICION: Instruccin que relaciona expresiones mediante los operadores ".OR."


(disyuncin), ".AND." (conjuncin), ".EQ." (igualdad), ".LT." (menor que), ".GT."
(mayor que), ".LE." (menor e igual), ".GE." (mayor e igual), y ".NE." (no igual), con
grupos formados utilizando parntesis ().

1.3 MODELO DEL SISTEMA


A continuacin se describen algunas instrucciones del SIMAN, sus componentes y aplicacin.
Estas pueden aparecer en cualquier orden dentro de la estructura del programa de simulacin
segn lo requiera el modelo diseado por el usuario, sin olvidar que el mismo, debe responder
a una secuencia lgica de eventos y procesos.
1. CREATE (Creacin de entidades).
CREATE, NB: TBC, MC: MODIFICADORES;
NB: Nmero de entidades que arriban en cada grupo, especificado como una constante entera
o X(K), donde K es un entero. Asumido: 1.
TBC: Tiempo entre la creacin de grupos de entidades, especificado como una expresin.
Asumido: 1.
MC: Nmero mximo de grupos que se pueden crear, especificado como una constante
entera o X(K) donde K es un entero. Asumido: Infinito.
Ejemplo:
CREATE, X(1): EX(2,1),12;
El nmero de entidades en cada grupo de arribos est especificado por la variable X(1). El
tiempo entre arribos sigue una distribucin exponencial con parmetro de relacin 2 y se
utiliza la cadena de nmeros aleatorios 1. El nmero mximo de grupos de entidades creadas
es 12.

TECNICAS DE SIMULACION
2. ASSIGN (Asignacin de valores a variables y atributos).
ASSIGN: VAR = VALUE: MODIFICADORES;
VAR: A(I), X(I), P(I,K), J, M.
VALUE: Una expresin numrica.
Ejemplo:
ASSIGN: J = (M**2 - 1) / 3;
La variable ndice J toma el valor de la expresin de la derecha donde M es el valor del
atributo de la estacin en que se encuentra la entidad.
3. QUEUE (Colas).
QUEUE, IFL, QC, LBALK: MODIFICADORES;
IFL: Nmero del fichero en que esperan las entidades.
QC: Capacidad de la cola, especificada como A(I), X(I) o I. Asumido: Infinito.
LBALK: Etiqueta de la instruccin a la cual se enva las entidades que no pueden esperar en
la cola. Asumido: se destruyen las entidades que no pueden esperar.
Ejemplo:
QUEUE, 1, X(3), SAL;
Las entidades que arriban a la instruccin se colocan en el fichero 1. La capacidad de la cola
est dada por el valor en curso de X(3). Las entidades que arriban a la instruccin cuando la
cola est llena, se envan a la instruccin con etiqueta SAL.
4. DELAY (Retardo de la entidad por un tiempo definido).
DELAY: DURACION: MODIFICADORES;
DURACION: Una expresin que describe el tiempo de retardo. Asumido: 0.0.
Ejemplo:
DELAY: A(1);
El tiempo de retardo de la entidad es el valor del atributo 1 de la misma. Se asume que el
valor de A(1) fue previamente asignado mediante una instruccin ASSIGN con el tiempo de
retardo deseado.

TECNICAS DE SIMULACION
5. WAIT, SIGNAL (Retardo de las entidades por tiempo indefinido).
La instruccin WAIT debe estar precedida por una instruccin QUEUE.
WAIT: NSIG: MODIFICADORES;
SIGNAL: NSIG: MODIFICADORES;
NSIG: El cdigo de la seal, especificado como A(I), X(I) o I.
Ejemplo:
QUEUE, 1;
WAIT: A(1);
|
SIGNAL: 2;
Las entidades que arriban al bloque WAIT se colocan en el fichero 1. El cdigo de la seal de
cada entidad en el fichero viene dado por el primer atributo de la entidad. Cuando una entidad
arriba al bloque SIGNAL, todas las entidades en el fichero 1 que tienen A(1) = 2 son
removidas de ste y liberadas por el bloque WAIT.
6. TALLY, COUNT (Registro de las observaciones).
La instruccin TALLY registra estadsticamente el valor de una variable especificada a cada
arribo a la instruccin. La variable a registrar puede ser cualquier expresin vlida en
SIMAN, INT(K) o BET(K). Donde K es un entero. INT(K) registra TNOW - A(K) y BET(K)
registra TNOW - X(K).
La instruccin COUNT incrementa un contador en un determinado valor a cada arribo de la
entidad y puede ser utilizada para finalizar la corrida de simulacin cuando el contador
alcance un determinado valor que se especifica en el modelo del experimento.
TALLY: N, VAR: MODIFICADORES;
N: Nmero identificador del tally especificado como A(I), X(I) o I.
VAR: Valor que ser registrado especificado como una expresin SIMAN o INT(K) o
BET(K), donde K es entero.
Ejemplo:
TALLY: 1, INT(2);
El valor TNOW - A(2) es almacenado en el tally nmero 1 al llegar cada entidad a la
instruccin. Se asume que A(2) ha sido marcado con el valor de TNOW en una instruccin
precedente. Cada observacin corresponde al tiempo simulado transcurrido desde la
instruccin en que la entidad fue marcada hasta la instruccin TALLY.

TECNICAS DE SIMULACION
COUNT: N, INC: MODIFICADORES;
N: Nmero del contador especificado como A(I), X(I) o I.
INC: Incremento del contador especificado como A(I), X(I) o I. Asumido: 1.
Ejemplo:
COUNT: 1, 1;
El contador nmero 1 se incrementa en 1 cada vez que arriba a esta instruccin una entidad.
Si el nuevo total de conteo es mayor o igual que el lmite del contador #1 en el modelo del
experimento termina la corrida.
7. SEIZE, RELEASE (Recursos simples).
La instruccin SEIZE se utiliza para determinar las necesidades de los recursos utilizados por
la entidad. Siempre debe estar precedida por la instruccin QUEUE. RELEASE libera los
recursos utilizados por la entidad.
SEIZE, PR: RNAME, NR: MODIFICADORES;
RELEASE: RNAME, NR: MODIFICADORES;
PR: Prioridad de solicitud de recursos, especificado como A(I), X(I) o I. Asumido: 1.
RNAME: Nombre del recurso que se desea utilizar.
NR: Nmero entero de unidades de recurso necesarias, especificado como A(I), X(I) o I.
Asumido: 1.
Ejemplo:
QUEUE, 1;
SEIZE: WORKERS, 2;
DELAY: UN(1,1);
RELEASE: WORKERS, 2;
Las entidades que arriban a la cola, intentan tomar 2 unidades del recurso WORKERS. Si
cuando arriban no hay unidades disponibles, stas esperan en el fichero 1 hasta que hayan 2
unidades disponibles. Por otra parte, las entidades que toman 2 unidades de WORKERS, van
a la instruccin DELAY donde son retrasadas una cantidad de tiempo aleatoria que sigue una
distribucin uniforme con parmetro de relacin 1 y utiliza la cadena de nmeros aleatorios 1.
Este tiempo de retardo representa el tiempo requerido por la entidad para completar el
servicio. Despus, la entidad sigue a la instruccin RELEASE donde sta libera dos unidades
de WORKERS, las que quedan disponibles para ser asignadas a otras entidades en una
instruccin SEIZE.

TECNICAS DE SIMULACION
8. STATION, ROUTE (Submodelo de conjunto de estaciones o puestos de trabajo).
STATION, N1-N2: MODIFICADORES;
N1: ndice inferior del rango de las estaciones incluidas en el submodelo, especificado como
un entero.
N2: ndice superior del rango de las estaciones incluidas en el submodelo, especificado como
un entero. Asumido: N1.
ROUTE: DURACION, NS: MODIFICADORES;
DURACION: Tiempo que demora enviar una entidad a la estacin NS, especificado como
una constante o expresin. Asumido: 0.0.
NS: Nmero de la estacin de la instruccin STATION a la cual ser enviada la entidad,
especificado como A(I), X(I) o I.
Ejemplo:
ROUTE: EX(2,1), 6;
|
STATION, 1-6;
ROUTE enva las entidades a la estacin 6 con un tiempo de traslado que sigue una
distribucin exponencial. STATION denota el submodelo de las estaciones 1 a la 6. Todas
las entidades enviadas a las estaciones dentro de este rango deben entrar por dicha instruccin.
9. ALTER, PREEMPT (Variacin de las cantidades y prioridades de los recursos).
ALTER: RNAME, CC: MODIFICADORES;
RNAME: Nombre del recurso cuya disponibilidad ser variada, incluyendo el ndice del
recurso (si tiene).
CC: Cambio de la capacidad del recurso, especificado como A(I), X(I) o I.
Ejemplo:
ALTER: WORKER, -1;
El nmero de unidades del recurso WORKER se decrementa en 1.
PREEMPT, PR: RNAME, NA, LSEND: MODIFICADORES;
PR: Prioridad de solicitud de recursos. Nmero entero especificada como A(I), X(I) o I.
Asumido: 1.
RNAME: Nombre del recurso a ser priorizado.

10

TECNICAS DE SIMULACION
NA: Nmero del atributo de la entidad, que est utilizando inicialmente el recurso, en el que
se almacena el tiempo de servicio que an le queda por recibir a dicha entidad en el momento
en que es desplazada del recurso.
LSEND: Etiqueta de la instruccin en la que esperar la entidad que ha sido desplazada.
Asumido: QUEUE del anterior SEIZE (o PREEMPT) donde el recurso fue asignado.
A diferencia del bloque SEIZE, PREEMPT puede asignar recursos que estn siendo utilizados
en ese momento por una entidad, si la que los solicita tiene una prioridad mayor. Las
actividades en el PREEMPT son ms priorizadas mientras menor nmero de prioridad posea.
Solo asigna una unidad de recurso.
Ejemplo:
PREEMPT, A(1): TOOL, 2, REWORK;
Las entidades que arriban tratan de asegurar el derecho de prioridad de una unidad del recurso
TOOL, tomando en cuenta la prioridad que viene especificada en su primer atributo. El
tiempo que le resta a la entidad a la que se le priva temporalmente del recurso TOOL se
guarda en su segundo atributo y es enviada a la instruccin REWORK.
10. RESOURCES(N) (Recursos indexados).
Los recursos indexados se utilizan en submodelos y se caracterizan por un nombre comn y
un ndice entre parntesis. Por ejemplo: MACH(1) y MACH(2), donde, MACH(1) puede
representar 2 tornos idnticos en la estacin 1 y MACH(2) representar 5 taladros idnticos en
la estacin 2.
Cuando el atributo de estacin M es empleado en una combinacin QUEUE-SEIZE o
QUEUE-PREEMPT, en ambos el nmero de fichero y el ndice del recurso deben estar
especificados como una funcin de M.
Ejemplo:
STATION, 1-10;
QUEUE, M;
SEIZE: MACH(M);
DELAY: UN(A(1),1);
RELEASE: MACH(M);
Cuando una entidad pasa por la instruccin STATION el atributo de estacin es
automticamente actualizado. En el ejemplo, entre los valores 1 y 10. Las entidades pasan a
la combinacin QUEUE-SEIZE donde intentan tomar una unidad del recurso MACH(M). Si
todas las unidades de este recurso estn ocupadas, la entidad espera en el fichero M hasta que
se libere una unidad de ste recurso. Al ocupar una unidad de MACH(M), la entidad contina
a la instruccin DELAY donde se retarda un tiempo que sigue una distribucin uniforme.
Posteriormente la entidad arriba a RELEASE donde libera una unidad del recurso MACH(M).

11

TECNICAS DE SIMULACION
11. BRANCH (Alternativas).
Al arribar una entidad a la instruccin BRANCH, se envan copias de sta a cada una de las
ramificaciones seleccionadas. A la copia de la entidad enviada a la primera rama
seleccionada del BRANCH le llamaremos entidad primaria del BRANCH, y a las copias
enviadas a las restantes ramas: entidades secundarias del BRANCH.
Las ramificaciones asociadas al BRANCH pueden ser de 3 tipos:
a. La probabilstica asociada a la expresin WITH, P, que es seleccionada aleatoriamente
con probabilidad P. La suma de las probabilidades dadas en las diferentes alternativas
WITH debe ser, como mximo, 1.
b. La determinstica asociada a las expresiones ALWAYS o ELSE. Si se especifica
ALWAYS, a la rama en cuestin se enviar siempre una copia de la entidad. Si lo
especificado es ELSE, se enviar una copia de la entidad si y solo si alguna de las
ramas anteriores a sta no ha sido seleccionada.
c. La condicional, especificada por IF, C, la cual se selecciona si la condicin que C
especifica es verdadera.
BRANCH, MAXTAKE: IF, C, LABEL:
WITH, P, LABEL:
ALWAYS 'o ELSE, LABEL;
MAXTAKE: Nmero mximo de ramificaciones a las que sern enviadas las copias de las
entidades de arribo, especificado como un entero. Asumido: Infinito.
P: Probabilidad para seleccionar una ramificacin probabilstica, especificada como una
constante o expresin entre 0 y 1.
C: Condicin que contiene operadores relacionales y lgicos.
LABEL: Etiqueta de la instruccin a la cual ser enviada una copia de la entidad.
Ejemplo:
BRANCH, 2:
IF, A(1).EQ.1, CONTINUE:
WITH, A(2), RESTART:
ELSE, EXIT;
La primera ramificacin (condicional) se toma si se cumple que el primer atributo de la
entidad es igual a uno. La segunda ramificacin (probabilstica) se toma con la probabilidad
dada por el segundo atributo de la entidad. La ltima ramificacin (determinstica) se toma si
alguna o ninguna de las ramificaciones anteriores ha sido tomada.

12

TECNICAS DE SIMULACION
12. REQUEST, TRANSPORT, FREE (Transportadores).
El trmino transportador denota una clase general de recursos mviles que pueden ser
asignados a las entidades. Cada transportador tiene su localizacin en una estacin especfica
del sistema y requiere tiempo para viajar de una estacin a otra. Entre los objetos que
pudieran ser modelados como transportadores estn: las gras, las carretillas y los
manipuladores mecnicos.
Delante de toda instruccin REQUEST debe estar una instruccin QUEUE. Siempre que se
utilice en la combinacin QUEUE-REQUEST el atributo de estacin M, el nmero del
fichero y el ndice del transportador deben ser especificados como una funcin de M.
REGLAS DE SELECCION DE TRANSPORTADORES

CYC: Selecciona la primera unidad del transportador disponible, empezando con el


sucesor de la ltima unidad seleccionada.

RAN: Selecciona aleatoriamente las unidades del transportador disponible.

POR: Selecciona la unidad de transportador disponible con menor ndice.

SDS: Selecciona el transportador ms cercano a la estacin.

LDS: Selecciona el transportador ms alejado a la estacin.

UR(K): Selecciona el transportador con ndice UR. UR es calculado en una funcin


FORTRAN.

ER(N): Selecciona la unidad del transportador basado en la regla nmero N,


especificada en el modelo del experimento.

REQUEST, PR: TUNIT: MODIFICADORES;


PR: Prioridad para la solicitud del transportador. Nmero entero, especificado como A(I),
X(I) I. Asumido: 1.
TUNIT: Unidad de transportador, especificada mediante el ndice M (+, -) K, o con los
parmetros (TSR, NA) aadidos, donde: TSR es la regla de seleccin del transportador
especificada como CYC, RAN, POR, SDS, LDS, UR(K) o ER(N) y NA es el nmero del
atributo de la entidad solicitante en la cual se asigna el ndice de la unidad del transportador
seleccionada.
TRANSPORT: TUNIT, NS: MODIFICADORES;
FREE: TUNIT: MODIFICADORES;
TUNIT: Unidad del transportador, especificada como un nombre indexado utilizando el
ndice A(I), X(I) o I.
NS: Nmero de la estacin destino, especificado como A(I), X(I) o I.
13

TECNICAS DE SIMULACION
Ejemplo:
QUEUE, 1;
REQUEST: CART(SDS, 1);
TRANSPORT: CART(A(1)), 2;
|
STATION, 2;
|
FREE: CART(A(1));
Una entidad que arriba a la instruccin REQUEST solicita la unidad del transportador CART
que se encuentre ms cercana y est disponible. Si no hay unidades disponibles, la entidad
espera en el fichero 1. En caso contrario, la unidad ms cercana disponible de CART se
asigna a la entidad y el ndice de la unidad seleccionada se almacena en el atributo 1 de la
misma. La entidad sale del bloque REQUEST seguida por un retardo correspondiente al
tiempo requerido por la unidad seleccionada para viajar de la estacin donde se encuentra
hacia donde est la entidad. Despus la entidad entra en la instruccin TRANSPORT donde
es transportada con CART(A(1)) a la estacin nmero 2. El tiempo de viaje a la estacin 2 es
computado por SIMAN basado en la distancia que hay desde donde se encuentra la entidad a
la estacin 2 y la velocidad de CART, las cuales son especificadas en el modelo del
experimento. Al arribar a la estacin 2, la entidad contina hasta la instruccin FREE, donde
se libera CART(A(1)). Esta unidad de CART queda disponible para ser asignada a otras
entidades en el bloque REQUEST.

1.4 MODELO DEL EXPERIMENTO


Por medio de este modelo se logra especificar las condiciones experimentales en que se
desenvuelve la simulacin que se est analizando y que ha sido descrita en el modelo del
sistema. Esta especificacin se da a travs de elementos.
A continuacin se brindan un conjunto de elementos que se pueden combinar para describir
las condiciones de experimento especficas de una corrida de simulacin. Ntese que de un
mismo modelo de simulacin podemos obtener diferentes resultados al cambiar los elementos
en el modelo del experimento.
1. Elemento PROJECT
Se utiliza para identificar el reporte estadstico resumen del SIMAN, que crea
automticamente el procesador de corrida, cuando este elemento se incluye en el modelo del
experimento.
PROJECT, TITULO, ANALISTA, MES/DIA/AO;
TITULO: Ttulo del reporte, especificado como un campo alfanumrico con longitud no
mayor de 20 caracteres. Asumido: blanco.
ANALISTA: Nombre del analista, especificado como campo alfanumrico con longitud no
mayor de 20 caracteres. Asumido: blanco.

14

TECNICAS DE SIMULACION
MES/DIA/AO: Fecha de entrada, especificada con 3 enteros separados por /. Asumido:
1/1/2000
Ejemplo:
PROJECT, TALLER, IVAN MENES, 01/01/2000;
2. Elemento DISCRETE
Define variables asociadas a sistemas discretos y a modelos de componentes discretos.
DISCRETE, MENT, MATB, NFIL, NSTA;
MENT: Nmero mximo de entidades que pueden estar simultneamente en el sistema,
especificado con una constante entera. Asumido: 0.
MATB: Nmero mximo de atributos de propsito general asociado con una entidad,
especificado como una constante entera. Asumido: 0.
NFIL: Nmero de ficheros en el sistema, especificado como una constante entera. Asumido:
0.
NSTA: Nmero de estaciones en el sistema, especificado como una constante entera.
Asumido: 0.
Ejemplo:
DISCRETE, 100, 3, 3;
Se cuenta con 100 registros disponibles, o sea, puede haber 100 entidades simultneamente en
el sistema. Cada entidad tiene 3 atributos los cuales se denotan como: A(1), A(2) y A(3) y se
reservan 3 ficheros en el sistema.
3. Elemento TALLIES
Define el identificador del reporte y la unidad de salida de las estadsticas registradas en
modelos discretos. TALLIES se incluye siempre que se utilice la instruccin TALLY o
cuando la subrutina TALLY se utiliza en modelos de eventos discretos.
TALLIES: N, ID, NUNIT: REPETICION;
N: Nmero del TALLY, especificado como una constante entera.
ID: Identificador del reporte, especificado como una cadena alfanumrica no mayor de 16
caracteres. Asumido: blanco.
NUNIT: Nmero de la unidad de salida en la cual sern almacenadas las observaciones
individuales, especificado por
una
constante entera. Este
valor se incrementa

15

TECNICAS DE SIMULACION
automticamente
observaciones.

en 1 en la siguiente corrida. Si no se especifica, no se guardan las

Ejemplo:
TALLIES: 1, TIEMPO EN COLA;
El identificador del reporte del nmero del TALLY 1 es TIEMPO EN COLA. Como no se
especifica ninguna unidad de salida, se destruyen las observaciones individuales.
4. Elemento COUNTERS
Define el identificador del reporte y el lmite de conteo de los contadores utilizados en
modelos discretos. COUNTERS se incluye siempre que se utilice la instruccin COUNT o
cuando la subrutina COUNT se utiliza en modelos de eventos discretos.
COUNTERS: N, ID, LIMIT: REPETICION;
N: Nmero del contador especificado como constante entera.
ID: Identificador del reporte, especificado como una cadena alfanumrica no mayor de 16
caracteres. Asumido: blanco.
LIMIT: Valor mximo que puede llegar a tomar el contador.
Ejemplo:
COUNTERS: 1, TRABAJOS RECHAZ., 500;
El identificador del contador nmero 1 es TRABAJOS RECHAZ. y su lmite de conteo es
500. Cuando el contador 1 llega a 500, se detiene la corrida de simulacin.
5. Elemento RESOURCES
Define las caractersticas del recurso, incluyendo su nombre y capacidad inicial.
El nmero del recurso debe ser asignado consecutivamente, empezando en 1 siguiendo el
orden de aparicin que se representa en el modelo del sistema. Este es usado en lugar del
nombre del recurso como un argumento en las variables SIMAN.
RESOURCES: N, RNAME, NCAP: REPETICION;
N: Nmero del recurso especificado como una constante entera.
RNAME: Nombre del recurso.
NCAP: Capacidad inicial del recurso especificada como una constante entera. Asumido: 1.
Para definir recursos indexados, la nica diferencia consiste en que N viene dado por el rango
N1-N2 donde N1 y N2 son enteros que definen el menor y mayor nmero del recurso.

16

TECNICAS DE SIMULACION
El rango de nmeros de recursos asignado a un nombre de recurso define la dimensin del
recurso indexado. Si el rango es especificado de N1 a N2, entonces N2-N1+1 son los tipos de
recursos definidos, cada uno de los cuales tiene el mismo nombre y pueden ser direccionados
por ndices de 1 a N2-N1+1.
Ejemplo:
RESOURCES:
1, TORNO:
2-3, TALADRO, 2, 4:
4-7, OBRERO, 3;
Este elemento define 7 recursos diferentes. El primero es un recurso simple llamado TORNO,
con capacidad inicial de 1. Los otros recursos son indexados. El segundo se reconoce como
TALADRO(1) con una capacidad inicial de 2 y el tercero como TALADRO(2) con una
capacidad inicial de 4. Los recursos del 4 al 7 son llamados: OBRERO(1), OBRERO(2),
OBRERO(3) y OBRERO(4) con una capacidad inicial cada uno de 3 unidades.
6. Elemento PARAMETERS
Define los parmetros asociados a las variables aleatorias SIMAN.
El nmero y significado de los parmetros depende de la variable aleatoria que es
referenciada con el parmetro de sealizacin dentro de la distribucin. Como se muestra en
la siguiente tabla:
Distribucin
Exponencial (EX)
Erlang (ER)
Uniforme (UN)
Triangular (TR)
Normal (RN)
Lognormal (RL)
Gamma (GA)
Beta (BE)
Poisson (NP)
Weibull (WE)
Emprica (DP)

P1
P2
P3
Media
Media
K
Mnimo
Mximo
Mnimo
Medio
Mximo
Media
Desviacin
Media
Desviacin
Beta
Alpha
Theta
Phi
Media
Beta
Alpha
Prob. Acum., Valor,
, Repeticin
Constante (CO)
Valor Constante
Tabla 1.5 Descripcin de los parmetros asociados a las variables aleatorias SIMAN

PARAMETERS: N, P, ... , P: REPETICION;


N: Nmero del parmetro de sealizacin especificado como una constante entera.
P: Valor del parmetro de la distribucin que se analiza, especificado como una constante
real.

17

TECNICAS DE SIMULACION
Ejemplo:
PARAMETERS:
1, 3.0, 1.2:
2, 0.3, 1, 0.9, 2, 1.0, 3;
Se especifican 2 parmetros. Si el primero se refiere a una distribucin normal (RN)
corresponde a una media de 3.0 y una desviacin estndar de 1.2. Si el segundo par metro de
sealizacin se refiere a una distribucin de probabilidad discreta (DP) la variable aleatoria
toma el valor de 1, 2 o 3 con probabilidad acumulada de 0.3, 0.9 y 1.0 respectivamente.
7. Elemento REPLICATE
Este elemento especifica el nmero de corridas a ejecutar, el instante de inicio de la primera
corrida, la longitud mxima, en tiempo, de cada corrida y la inicializacin en las condiciones
a ser consideradas entre las corridas. Si este elemento se omite, se ejecuta una sola corrida que
debe finalizar por otra va.
REPLICATE, NRUN, TBEG, DTRUN, ISYS, ISTAT;
NRUN: Nmero de corridas de simulacin que se desea ejecutar, especificado como una
constante entera. Asumido: 1.
TBEG: Tiempo de inicio de la primera corrida, especificado como una
Asumido: 0.0.

constante real.

DTRUN: Longitud mxima de cada corrida, especificada como una constante real. Asumido:
Infinito.
ISYS: Opcin de reinicializar o no el estado del sistema para cada corrida, especificado como
YES, NO. Asumido: YES.
ISTAT: Opcin para eliminar o no las observaciones previas entre corridas, especificadas
como YES, NO. Asumido: YES.
Ejemplo:
REPLICATE, 5, 0, 100, NO;
Se harn 5 corridas, la primera de las cuales empieza con TNOW = 0. Cada corrida tendr una
longitud mxima de 100 y el estado del sistema no ser reiniciado entre las corridas.
Las estadsticas en los 5 reportes de resumen correspondern al registro de las observaciones
durante 500 unidades de tiempo de operacin del sistema, con las observaciones agrupadas en
5 intervalos de longitud 100 cada uno.
8. Elemento DSTAT
Se utiliza para obtener una estadstica temporal de las variables de cambio discreto en un
sistema.

18

TECNICAS DE SIMULACION
DSTAT: N, DVAR, ID, NUNIT: REPETICION;
N: Nmero DSTAT especificado como un entero.
DVAR: Variable de cambio discreto a la cual se le registra la estadstica del tiempo de
permanencia, especificada como X(K), NE(K), NQ(K), NR(K), NT(K), LC(K), MR(K) o
MT(K) donde K es entero (ver tablas 2 y 3 para recordar su significado).
ID: Identificador para la salida en el reporte resumen, especificada con un mximo de 16
caracteres alfanumricos. Asumido: blanco.
NUNIT: Unidad de salida en que se registran los cambios de cada variable, especificada por
una constante entera. Su valor es incrementado automticamente en uno en las siguientes
corridas. Si no se especifica, los valores se destruyen.
Ejemplo:
DSTAT: 1, NQ(1), LONG. DE COLA;
La variable nmero 1 es la longitud de la cola 1 del sistema y se muestra por el identificador
LONG DE COLA. Los valores que va tomando la variable no se almacenan.
9. Elemento TRACE
Se utiliza para obtener trazas que detallan el movimiento de las entidades de una instruccin a
la otra y el procesamiento de cada entidad (recursos utilizados, asignacin de variables, etc.)
en cada instruccin.
TRACE, DTBT, DTFT, TC, VAR, ..., VAR;
DTBT: Tiempo despus del instante de inicio de la simulacin a partir del cual comenzar la
traza. Asumido: 0.0.
DTFT: Tiempo despus del instante de inicio de la simulacin en que debe terminar la traza.
Asumido: Infinito.
TC: Condicin de investigacin, especificado como una condicin. Asumido: investigarlo
todo.
VAR: Nombre de cualquier variable SIMAN o atributo que se desea mostrar durante la
investigacin. Pueden ser especificados hasta 4. Asumido: no mostrar los valores.
Ejemplo:
TRACE, 0, 10, M.EQ.1.OR.M.EQ.2, A(1), NQ(1), M;
La traza comenzar con TNOW = 0 y terminar 10 unidades de tiempo despus. Este se
realizar solo para las estaciones 1 y 2. Los valores de A(1), NQ(1), y M son especificados
como variables auxiliares de salida que se desea mostrar durante la traza.

19

TECNICAS DE SIMULACION
10. Elemento RANKINGS
Se utiliza para determinar la regla de seleccin de los elementos dentro de un fichero.
REGLAS DE SELECCION
FIFO: Las entidades se seleccionan basndose en el tiempo de insercin en el fichero. Tienen
mayor prioridad las inserciones ms tempranas.
LIFO: Las entidades se seleccionan basndose en el tiempo de insercin en el fichero. Tienen
mayor prioridad las inserciones ms tardas.
LVF(K): Las entidades se seleccionan de acuerdo con el valor del atributo nmero K de la
entidad. Tienen mayor prioridad las que menor valor posean en este atributo.
HVF(K): Las entidades se seleccionan de acuerdo con el valor del atributo nmero K de la
entidad. Tienen mayor prioridad las que mayor valor posean en este atributo.
RANKINGS: N, MRANK: ... ;
N: Nmero del fichero o rango de ficheros (N1-N2) en los cuales se aplica el criterio de
seleccin.
MRANK: Criterio de seleccin especificado como FIFO, LIFO, HVF(K), LVF(K), donde K
es un entero.
Ejemplo:
RANKINGS: 1-5, LVF(2): 6, LIFO;
En los ficheros del 1 al 5 se seleccionan las entidades de acuerdo con el valor que tengan en el
atributo 2, siendo mas prioritaria la que menor valor posea. En el fichero 6 se seleccionan las
entidades segn LIFO. Los otros ficheros que no se especifican, utilizan la regla de seleccin
de entidades FIFO.
11. Elemento TRANSPORTERS
Define las caractersticas de los transportadores utilizados en el modelo de simulacin.
TRANSPORTERS: N, TNAME, TCAP, NDS, VEL, P-S, ...: REPETICION;
N: Nmero del transportador asignado a este tipo, especificado como un entero.
TNAME: Nombre del transportador, especificado como caracteres alfanumricos con una
longitud mxima de 8.
TCAP: Nmero de unidades disponibles del transportador de este tipo, especificadas como un
entero. Asumido: 1.

20

TECNICAS DE SIMULACION
NDS: Nmero de relacin de distancias. Relaciona este elemento con el elemento
DISTANCES, especificado como un entero. Asumido: 1.
VEL: Velocidad de cada unidad de transportador especificada como un nmero entero.
Asumido: 1.0.
P-S: Posicin inicial y status de cada unidad del transportador, donde P es un entero que da el
nmero de la estacin y S es el carcter del status A o I correspondiente a activo o inactivo.
Asumido: la primera estacin en el set de distancias y A o el ltimo P-S que entr para este
tipo de transportador.
Ejemplo:
TRANSPORTERS:
1, GRUA, 3, 1, 1.0, 1-A, 2-A, 2-I:
2, CARRETA, 1, 2, 3.0;
Se definen 2 tipos de transportadores, el primero se llama GRUA y tiene una capacidad de 3.
Las distancias de viaje entre los pares de estaciones que las unidades de GRUA pueden
visitar, se especifican en DISTANCES con el nmero de relacin de distancias 1. La
velocidad de cada una de las tres unidades de GRUA es 1.0. GRUA(1), empieza en la estacin
1 y es activa, GRUA(2) empieza en la estacin 2 y es activa y GRUA(3) empieza en la
estacin 2 y es inactiva. La velocidad de CARRETA es de 3.0; como el campo P-S est
omitido, CARRETA comienza activa en la primera estacin listada en el nmero de
sealizacin de distancia 2.
12. Elemento DISTANCES
Se utiliza con el elemento TRANSPORTERS para definir las distancias de viaje entre todos
los pares de estaciones que el transportador puede visitar.
DISTANCES: N, ML-MU, dij, ... : REPETICION;
N: Nmero de relacin de distancias, especificado como un entero.
ML-MU: Rango de nmero de estaciones incluido en el conjunto, especificado como
enteros.
dij: Distancia entre la estacin i y la estacin j, especificada como entero. Los valores dij (j>i)
representan los elementos de la matriz de distancia, tomada por filas con cada dij separado
por comas (,) y cada fila separada por un slash (/).
Ejemplo:
DISTANCES: 1, 1-5, 10, 2, 7, 5/ 7, 3, 4/ 2, 6/ 3;
Este elemento define el nmero de relacin de distancias 1, o sea, las distancias entre todos
los pares de estaciones en el rango de la 1 a la 5, con las distancias dadas en la siguiente
matriz triangular superior:

21

TECNICAS DE SIMULACION
De\A
1
2
3
4

2
10
-

3
2
7
-

4
7
3
2
-

5
5
4
6
3

1.5 CONSIDERACIONES SOBRE EL FUNCIONAMIENTO DEL SIMAN


En la ejecucin de una corrida de simulacin es posible que dos o ms entidades deban arribar
simultneamente a bloques diferentes, y el orden en el cual esos eventos simultneos son
procesados puede afectar en mayor o menor medida los resultados de la simulacin.
En los casos ms simples la presencia de eventos simultneos no representa un problema, pero
en los modelos complejos es importante para el analista comprender las reglas de desempate
utilizadas por el SIMAN para procesar los eventos simultneos.
El orden en que las entidades en movimiento son procesadas es controlado por el "calendario
de eventos" del SIMAN. Este es una secuencia ordenada en el tiempo de registros de eventos
que el SIMAN usa para mantener la pista de cada entidad en el sistema. El registro del evento
para una entidad define el prximo bloque a la que entrar la entidad y el instante en que debe
hacerlo. Los registros de eventos de todas las entidades estn almacenados en el calendario de
eventos (fichero de eventos) el cual va indicando la prxima accin a ejecutar.
El SIMAN ejecuta la simulacin tomando repetidamente el prximo evento del calendario de
eventos y procesando el movimiento de la entidad por todos los bloques que sea posible hasta
que la misma encuentre algn tipo de demora o sea destruida. El SIMAN contina este
proceso moviendo una entidad cada vez hasta que la corrida de simulacin termina. Solo
existen excepciones a este proceso cuando se presentan eventos simultneos, considerndose
los casos siguientes:
a. Dos o ms entidades son creadas (CREATE) al mismo tiempo.
b. Dos o ms entidades salen de bloques DELAY al mismo tiempo.
c. Una o ms entidades son creadas (CREATE) y una o ms entidades salen de bloques
DELAY al mismo tiempo.
d. Dos o ms entidades son ramificadas simultneamente en bloques BRANCH.
e. Una o ms entidades son removidas o copiadas de bloques QUEUE por bloques
HOLD, tales como: REMOVE, COPY o MATCH.
En los primeros tres casos la regla de desempate aplicada procesa los eventos en el mismo
orden en que aparecen en el calendario de eventos.
En el cuarto caso, las entidades son procesadas en el mismo orden en que estn especificadas
en el bloque BRANCH.

22

TECNICAS DE SIMULACION
En el ltimo caso se procesan las entidades removidas o copiadas en orden inverso al que son
removidas o copiadas, es decir, la ltima entidad removida o copiada es la primera en ser
procesada.
Ejemplo:
En el ejemplo a continuacin se muestra el funcionamiento de las reglas de desempate
utilizando la traza (TRACE) de las variables NQ(1), NC(1) y NC(2).

MODELO DEL SISTEMA

BEGIN;
CREATE, 2;
QUEUE, 1: DETACH;

PRIMER
SEGUNDO
UNO
DOS
END;

CREATE;
BRANCH:
ALWAYS, PRIMER:
ALWAYS, SEGUNDO;
REMOVE: 1, 1, UNO: DISPOSE;
REMOVE: 1, 1, DOS: DISPOSE;
COUNT: 1, 1: DISPOSE;
COUNT: 2, 1: DISPOSE;

MODELO DEL EXPERIMENTO

BEGIN;
PROJECT, MUESTRA_TRAZA, AUTOR, 5/10/98;
DISCRETE, 100, 0, 1;
COUNTERS: 1, CONTADOR1: 2, CONTADOR2;
TRACE, 0, 1, ,NQ(1), NC(1), NC(2);
END;

REPORTE RESUMIDO
SIMAN System Trace Beginning at Time

.000

Time
Event or Block
System Status Change
------------------------------------------------------------------------------NQ(1)
NC(1)
NC(2)

23

TECNICAS DE SIMULACION
------------------------------------------------------------------------------.0000E+00
CREATE Entity batch size 2 created
QUEUE Entity placed in file 1
1.000
.000
.000
.0000E+00
QUEUE Entity placed in file 1
2.000
.000
.000
.0000E+00
CREATE Entity batch size 1 created
BRANCH Selection made from 2 of 2 branches
Deterministic, entity sent to PRIMERO
Deterministic, entity sent to SEGUNDO
PRIMERO REMOVE Entity 1 removed from 1 and sent to UNO
Entity Disposed
1.000
.000
.000
.0000E+00
UNO

COUNT Counter 1 incremented by 1 to


Entity Disposed
1.000
1.000
.000

.0000E+00
SEGUNDO REMOVE Entity 1 removed from 1 and sent to DOS
Entity Disposed
.000
1.000
.000
.0000E+00
DOS

COUNT Counter 2 incremented by 1 to


Entity Disposed
.000
1.000
1.000

SIMAN Summary Report


Run Number 1 of 1
Project: MUESTRA_TRAZA
Analyst: AUTOR
Date : 5/10/1998
Run ended at time : .0000E+00

24

TECNICAS DE SIMULACION
Counters
----------Number Identifier
Count Limit
------------------------------------------------1 CONTADOR1
1
Infinite
2 CONTADOR2
1
Infinite
Run Time : 2 Second(s)
Stop - Program terminated.

1.6 EDICION, COMPILACION, ENLACE Y CORRIDA DE PROGRAMAS EN SIMAN


Tomando en cuenta las caractersticas generales del lenguaje, las instrucciones y elementos
ms utilizados explicados arriba, se procede a detallar la secuencia lgica que se debe seguir
para editar los modelos en la microcomputadora as como para su compilacin, enlace, y
corrida con vistas a obtener los resultados deseados.
1.6.1 EDICION DEL MODELO DEL SISTEMA

Utilizando un editor de programas cualquiera se puede editar el modelo del sistema


desarrollado.
La primera instruccin que debe aparecer en la columna 1 es BEGIN, la que tiene el siguiente
formato:
BEGIN, BSEQ, ISEQ, ILIST;
BSEQ: Nmero de secuencia asignado al primer bloque en el modelo. Asumido: 10.
ISEQ: Incremento que se adiciona al nmero de secuencia anterior. Asumido: 10.
ILIST: YES, NO, especifica si el listado del modelo ser o no generado. Asumido: YES.
BEGIN es seguida por las instrucciones de entrada que definen el modelo del sistema con el
siguiente formato:
Columnas
1-8
10-74

Descripcin
Etiquetas de las instrucciones.
Operandos dentro de un segmento de lnea separados por comas;
segmentos de lnea separados por dos puntos, los modificadores del
bloque (si hay) siguiendo el ltimo segmento de lnea; la instruccin
termina con punto y coma.

25

TECNICAS DE SIMULACION
Los comentarios deben estar a continuacin de un punto y coma en la columna 1.
La ltima instruccin del modelo debe ser la instruccin END escrita en las columnas 1-3,
seguida por un punto y coma en la columna 4. END; es la ltima instruccin leda por el
procesador del sistema.
Al editarse el modelo de simulacin en un programa determinado, llammosle
EJEMPLO.MOD, se debe teclear MODEL. MODEL es el procesador del sistema que lee el
modelo del sistema en forma de instrucciones (EJEMPLO.MOD) y genera un listado y un
fichero del sistema al que se le da un nombre asumido EJEMPLO.M.
MODEL necesita conocer el nombre del programa editado anteriormente, por lo que se debe
teclear:
MODEL EJEMPLO.MOD
MODEL chequea la sintaxis de las instrucciones de entrada. Si se detecta algn error, da un
mensaje inmediatamente despus de la instruccin en que se ha encontrado.
Si MODEL detecta algn error, antese la instruccin en que se ha producido y corrjase en el
programa que se cre inicialmente con el editor de programas (EJEMPLO.MOD). Reptase
todo el procedimiento anterior hasta que no se detecte ningn error. De esta forma,
EJEMPLO.M estar listo para ser enlazado con EJEMPLO.E y corrido posteriormente.
1.6.2 EDICION DEL MODELO DEL EXPERIMENTO

El procedimiento de introduccin de los elementos del experimento es muy similar al de


introduccin de las instrucciones del sistema, diferencindose nicamente en los siguientes
aspectos:

En el editor del programa todas las instrucciones (elementos) se teclean a partir de la


primera columna.

Los elementos pueden ser escritos en cualquier orden, excepto DISCRETE y


CONTINUOUS que slo pueden ser precedidos por PROJECT. Esto es, si se crea
EJEMPLO.EXP con el editor de programas, despus se debe llamar a EXPMT.
EXPMT es el procesador del experimento que lee las instrucciones de entrada de los
datos del experimento (EJEMPLO.EXP) y genera un listado y un fichero del
experimento al que se le da un nombre asumido EJEMPLO.E.

EXPMT necesita conocer los nombres del programa editado anteriormente, en este caso se
debe teclear:
EXPMT EJEMPLO.EXP
EXPMT realiza los mismos chequeos que MODEL y la forma de correccin de errores es la
misma en ambos casos, hasta llegar a obtener (sin errores) EJEMPLO.E listo para enlazar.

26

TECNICAS DE SIMULACION
1.6.3 ENLACE DE LOS FICHEROS SISTEMA Y EXPERIMENTO

Despus de generados los ficheros del sistema y del experimento (EJEMPLO.M y


EJEMPLO.E) se llama al programa LINKER, que es el encargado de enlazar ambos ficheros
y dar como resultado un programa ejecutable si no se detectan errores.
LINKER necesita conocer el nombre del fichero del sistema, y el del fichero del experimento,
colocando el fichero enlazado resultante en un fichero de nombre asumido EJEMPLO.P, el
cual es ya un programa ejecutable. En este caso se debe teclear:
LINKER EJEMPLO.M EJEMPLO.E
Siendo EJEMPLO.P el programa ejecutable que simular el sistema con los datos que se
especifiquen.
Si se llegaran a detectar errores con el LINKER, se deben corregir en los programas editados
al inicio y repetir todo el proceso nuevamente hasta obtener el mensaje: LINK COMPLETED,
el que garantiza que el programa en cuestin sea ejecutado sin dificultades.
1.6.4 EJECUCION DEL PROGRAMA

La ejecucin del fichero de programa generado por el LINKER se realiza llamando al


programa SIMAN.
A continuacin de SIMAN debe teclear el nombre del fichero del programa ejecutable que se
desea correr. En este caso:
SIMAN EJEMPLO.P
Hecho esto, comenzar la corrida del programa, la que generar al final un reporte de resumen
SIMAN (si hay) y los ficheros de salida (si hay).
Si se detecta algn error durante la ejecucin, se imprime un mensaje de error que describe la
naturaleza de ste, se imprime un reporte resumen SIMAN y se termina la ejecucin del
programa.

1.7 ANALISIS DE RESULTADOS EN UN EXPERIMENTO DE SIMULACION


Con la introduccin de variables aleatorias en una simulacin, las variables utilizadas para
medir el comportamiento de un sistema tambin tienen el carcter de variables aleatorias. Los
valores medidos no son ms que muestras, y deben ser usados para estimar los parmetros de
la distribucin a la cual los mismos pertenecen.
Un estudio de simulacin es usualmente planeado como una serie de corridas que tienen el
objetivo de comparar un nmero de variantes en la estructura de un sistema o sus condiciones

27

TECNICAS DE SIMULACION
de operacin. Como norma, el trmino experimento significar la prueba del comportamiento
de un sistema bajo varios conjuntos de condiciones. El trmino corrida significar la
ejecucin de la simulacin para una de las configuraciones experimentales. Una observacin
ser la medicin de una variable del sistema.
En trminos generales, los problemas estadsticos asociados con un estudio de simulacin se
clasifican en dos grandes clases:
a. Problemas de planeamiento estratgico, relacionados con el diseo de los
experimentos.
b. Problemas de planeamiento tctico, relacionados especficamente con la forma en que
debe ser conducido el experimento de simulacin.
El planeamiento estratgico debe determinar las mediciones que servirn para juzgar las
caractersticas del sistema y como probar el grado de significacin de diferencias en estas
medidas. El planeamiento tctico debe decidir como tomar las mediciones en cada corrida y
cuantas corridas debe componer cada experimento. En este caso, se tratar sobre el segundo
aspecto, ya que el planeamiento estratgico resulta bastante independiente de las tcnicas de
simulacin.
Dado que la simulacin es un experimento de muestreo, es importante interpretar sus
resultados dentro del marco de las estadsticas. No es posible simplemente correr una
simulacin para una muestra de tamao arbitrario y entonces interpretar los resultados como
una "verdad". En su lugar se debe especificar la exactitud estadstica de los resultados de la
misma.
Como es conocido, cuando se toman observaciones de una variable aleatoria perteneciente a
una poblacin que tiene distribucin de probabilidad estacionaria con media M y varianza S 2,
~
la media muestral X es tambin una variable aleatoria, que segn lo establecido por el
teorema del lmite central, tiene una distribucin que tiende a la distribucin normal con
media M y varianza S2 / n.
Tomando la variable normal estndar:

~
X M
s/ n

se puede definir el intervalo de confianza para la media M como:

~
~
Pr ob[ X Z / 2 s / n M X Z / 2 s / n ] 1
donde la constante ( 1 ) es el nivel de confianza y el intervalo:

~
H X Z / 2 s / n
En la prctica, la varianza de la poblacin S2 no es usualmente conocida; en cuyo caso es
reemplazado por un estimado dado por la frmula:

28

TECNICAS DE SIMULACION

1 n
~
~
S2
(X i X )2

n 1 i 1
En esta situacin el valor de Z / 2 utilizado en el intervalo se determina de la distribucin t de
Student; pero si n 30 puede utilizarse la distribucin normal.
El mtodo para determinar el intervalo de confianza visto anteriormente se basa en las
condiciones siguientes:
a. Las observaciones realizadas deben ser independientes.
b. La distribucin de la cual son tomadas las observaciones debe ser estacionaria.
En trminos generales muchas de las estadsticas de inters en una simulacin no cumplen
con dichas condiciones. Por ejemplo, cuando se desea estimar el tiempo medio de espera en
una cola con una estacin de servicio, el procedimiento ms simple es acumular el tiempo de
espera de n entidades y luego dividir el acumulado entre n, o sea:
1 n
~
X ( n) X i
n i 1

Como puede comprenderse fcilmente los tiempos de espera de cada entidad no son
independientes, sino que dependen de los tiempos de espera de las entidades precedentes.
Cualquier serie de datos con la propiedad de que un valor afecta a otros se denomina auto
correlacionada. Esta caracterstica de la auto correlacin no tiene una influencia determinante
en el clculo del estimado del valor medio de una serie de datos; pero no sucede lo mismo con
la varianza, la cual ya no estar relacionada con la varianza de la poblacin por la simple
expresin de s 2 / n , como ocurre para una serie de datos independientes.
Otro problema que debe ser encarado es el hecho de que la distribucin puede no ser
estacionaria. En particular, cuando una corrida de simulacin es comenzada con el sistema en
una situacin total de inactividad, por ejemplo, una lnea de espera totalmente vaca, los
valores medidos durante un perodo de la corrida estarn sesgados, mientras que a medida de
la longitud de la corrida se extiende y el tamao de la muestra se incrementa, el efecto de ese
sesgo va desapareciendo. Lo anterior indica que los valores medios muestrales tienden a un
valor estable para un cierto tamao de la corrida.
1.7.1 ELIMINACION DEL SESGO INICIAL

Dos enfoques generales han sido planteados para reducir el efecto del sesgo inicial en las
corridas de simulacin:
a. La simulacin puede comenzar con el sistema en un estado ms representativo.
b. La primera parte de cada corrida puede ser ignorada a los efectos de la recogida de
informacin.

29

TECNICAS DE SIMULACION
En algunos estudios de simulacin, particularmente de sistemas existentes, puede disponerse
de informacin que pueda ser utilizada para seleccionar mejores condiciones iniciales que el
estado de inactividad.
El enfoque ms comnmente utilizado para evitar el sesgo inicial es eliminar la primera
seccin de la corrida. La corrida es comenzada en el estado de inactividad y detenida despus
de un cierto perodo de tiempo. Las variables de estado del sistema son mantenidas con sus
valores y la corrida se recomienza pero ahora recolectando informacin a partir del nuevo
comienzo. La prctica usual es programar la simulacin recogiendo informacin desde el
principio, y simplemente desechar la estadstica recogida hasta el momento de recomenzar.
No existen reglas simples para decidir tamao de la corrida a eliminar, aunque se recomienda
realizar una corrida piloto partiendo del sistema inactivo y valerse de un grfico donde se
plotee el comportamiento del valor estimado contra la longitud de la corrida, y se observe el
proceso de estabilizacin del valor.
1.7.2 REPETICION DE CORRIDAS

Este procedimiento es un medio de obtener una medida de la varianza de la media muestral.


El mismo consiste en repetir las corridas con diferentes nmeros aleatorios para el mismo
tamao de muestra n, a fin de producir un conjunto de observaciones independientes de la
~
media muestral X (n) . Suponga que la corrida es repetida p veces con series independientes
de nmeros aleatorios. Sea Xij la i-sima observacin de la j-sima corrida, y sea el valor de la
media muestral para la j-sima corrida Xj(n). Entonces los estimados buscados son:
1 p
1 p
~
M ( n) X j ( n)

p j 1
n p j 1

X
i 1

ij

1 p
~
~
S 2 ( n)
( X j (n) M (n)) 2

p 1 j 1
Estos dos estimados pueden ser utilizados para establecer los intervalos de confianza.
La principal desventaja de este procedimiento es que al principio de cada corrida se requiere
un periodo de estabilizacin inicial. La forma de eliminar esta desventaja es ejecutar las
corridas consecutivamente, usando las condiciones finales de una corrida como condiciones
iniciales de la prxima. En otras palabras, solo existe una larga corrida la cual es dividida en
una serie de porciones iguales a los efectos de la toma de las observaciones. El precio pagado
por evitar los perodos extra de estabilizacin es la posibilidad de que estas observaciones no
sean estadsticamente independientes. Sin embargo, haciendo las corridas suficientemente
largas, la correlacin entre las observaciones puede reducirse apreciablemente.
Para ambos mtodos la repeticin de las corridas debe brindar entre 15 y 20 observaciones
independientes, las que resultarn suficientes para el establecimiento de los intervalos. Como
aspecto final se recomienda que cuando la simulacin envuelva la comparacin de varias
alternativas para el sistema, el procedimiento apropiado es reproducir la misma secuencia de
nmeros aleatorios para cada alternativa, lo que permitira una mejor base de comparacin
para el comportamiento del sistema bajo cada alternativa.
30

TECNICAS DE SIMULACION
El mtodo para calcular el intervalo de confianza H difiere dependiendo de si se est
simulando un sistema con trmino o sin trmino. Un sistema con trmino es aquel que
presenta un evento final perfectamente identificable que define la conclusin de la corrida de
simulacin. Un ejemplo de sistema con trmino es uno que cierra a intervalos regulares, por
ejemplo un banco o una fbrica. Un sistema sin trmino es aquel que no termina o que
funciona ininterrumpidamente, por ejemplo, la sala de emergencia de un hospital o una central
telefnica. A los efectos del anlisis, se considerar con trmino, para un perodo definido de
estudio, a aquellos sistemas que son realmente sin trmino. Por ejemplo, para el estudio del
comportamiento de una lnea de ensamblaje que opere continuamente se puede considerar un
periodo de estudio de 2 aos (longitud de la corrida), y el evento que finaliza la simulacin
corresponde al fin del periodo adoptado.
1.7.2.1 Sistemas con Trmino
En los sistemas con trmino el estado inicial del sistema y la condicin de terminacin son
definidos por el propio sistema, y resulta de inters determinar el periodo de respuesta
transitorio para dicho sistema sujeto a sus condiciones iniciales materiales.
Dado que la longitud de la corrida en los sistemas con trmino no puede ser manipulada, la
nica forma de incrementar el tamao de la muestra es mediante la repeticin de corridas
utilizando series diferentes de nmeros aleatorios y, aunque las observaciones dentro de una
corrida pueden estar correlacionadas, las observaciones entre corridas sern independientes.
~
Entonces, definiendo como la muestra una observacin ( X ) para cada corrida se pueden
utilizar las expresiones presentadas en el epgrafe 7.2 y aplicar las tcnicas estadsticas
convencionales.
1.7.2.2 Sistemas sin Trmino
Como se defini anteriormente los sistemas sin trmino son aquellos que pueden funcionar
indefinidamente. Para estos sistemas es de inters determinar el comportamiento del sistema
en su estado estable de funcionamiento. Este estado estable lo alcanza el sistema luego de un
largo periodo de funcionamiento y es independiente del estado de arrancada del sistema.
La respuesta de estado estable es una condicin lmite en el funcionamiento del sistema, la
cual nunca es completamente alcanzada en un experimento de simulacin. Lo anterior se debe
a que las condiciones iniciales, que es necesario fijar en todo experimento de simulacin,
introducen un sesgo en los resultados que ya fueron tratados anteriormente.
Dos factores deben ser analizados cuando se decide cuntas observaciones deben ser
ignoradas hasta alcanzar el estado de funcionamiento estable del sistema. Si se sobrestima la
longitud del perodo transiente entonces se pierden observaciones que son vlidas para el
estado estable. Por otra parte, si se subestima dicho perodo entonces se consideran
observaciones que contribuyen a sesgar los resultados estadsticos. Aunque se han propuesto
algunas reglas para seleccionar el perodo de truncacin, no existe mtodo completamente
satisfactorio y quizs la forma ms prctica de actuar sea la de estimar el punto de truncacin
a partir de grficos o diagramas de barras que sigan la respuesta del sistema en el tiempo. En
los sistemas sin trmino se pueden incrementar el tamao de la muestra ampliando la longitud
de una corrida nica o replicando la corrida con diferentes nmeros aleatorios.

31

TECNICAS DE SIMULACION
La forma ms prctica de trabajar consiste en ampliar la longitud de una corrida nica y
dividirla en N subcorridas a las que se denominar lotes. En este caso tambin se eliminan las
observaciones iniciales hasta alcanzar el estado estable: luego se toman como observaciones
los valores promedio de cada lote y, para disminuir el efecto de la autocorrelacin entre los
lotes, se selecciona un tamao de lote que sea grande con relacin al mayor intervalo entre
observaciones que produzca una correlacin significativa. Ya en esta situacin pueden
aplicarse las expresiones presentadas en el epgrafe 7.2.
Existen dos consideraciones cuando se desea seleccionar el tamao del lote en el
procedimiento anterior. Por una parte, se debe seleccionar un tamao de lote grande para
asegurar la independencia y normalidad en la muestra (valor promedio de cada lote). Por otra
parte, se desea reducir el tamao del lote para obtener una muestra mayor y lograr mayor
precisin en el estimado del intervalo de confianza. La adecuacin del tamao del lote para
obtener medias de lotes independientes se puede probar utilizando una prueba propuesta por
Fishman. Sea Xj la media del j-simo lote y N el nmero total de lotes en que ha sido dividida
la corrida. Se calcula la media de las medias, o sea:
~ 1
X
N

X
j 1

y la variable
N 1

C B 1

(X
j 1

~
X j 1 ) 2

N
~
~
2 (X j X )2
j 1

Asumiendo que las Xj son independientes y estn normalmente distribuidas, entonces CB se


distribuye aproximadamente normal con media cero y varianza igual a (N-2) / (N2-1) para
valores de N 8 . Para valores grandes de N (de 20 a 30) CB puede utilizarse como un
estimado de la correlacin entre las medias de lotes adyacentes.
Ahora puede realizarse una dcima de hiptesis donde se pruebe:
H0: CB = 0
contra:
H1: CB =/ 0
en la cual se rechaza H0 (independencia) en favor de H1 (correlacin entre lotes) para un nivel
de confianza si el estadgrafo

CB
( N 2)
( N 2 1)

es mayor que Z / 2 , donde Z / 2 se determina a partir de la distribucin normal estndar.

32

TECNICAS DE SIMULACION
Debe aclararse que el aceptar H0 contra H1 no es una indicacin concluyente de que exista
independencia, sino que indica que no hay suficientes evidencias para asegurar que haya
correlacin entre los lotes.

1.8 EJEMPLOS DE APLICACION


A continuacin se muestran algunos ejemplos de aplicacin, se presenta el modelo del sistema
y del experimento, se describen los mecanismos de funcionamiento de stos y los resultados
que se obtienen al correrlo en la microcomputadora utilizando el lenguaje de simulacin
SIMAN.
1.8.1 EJEMPLO 1

En una ensambladora de televisores hay una estacin de control de la calidad al final de la


lnea en la cual se chequea el funcionamiento de los equipos. Si se detecta que algn equipo
necesita ajuste se enva, el mismo, a un puesto de ajuste donde luego de ajustado se retorna a
la estacin de control para ser chequeado nuevamente. Los televisores de que pasan el control
son empacados y almacenados.
Considere que el tiempo entre arribos de los televisores a la estacin de control sigue una
distribucin uniforme entre 3.5 y 7.5 minutos, que el tiempo de inspeccin es tambin
uniforme entre 6 y 12 minutos y que el tiempo que toma el ajuste es uniforme entre 20 y 40
minutos.
Estadsticamente se tiene que el 15 % de los televisores necesitan algn ajuste.

MODELO DEL SISTEMA

BEGIN;
INSPECT

AJUST

EMPAQUE
END;

CREATE: UN(1,1): MARK(1);


QUEUE, 1;
SEIZE: INSPECTOR;
DELAY: UN(2,1);
RELEASE: INSPECTOR;
BRANCH, 1:
WITH, .15, AJUST:
WITH, .85, EMPAQUE;
QUEUE, 2;
SEIZE: AJUSTE;
DELAY: UN(3,1);
RELEASE: AJUSTE: NEXT(INSPECT);
TALLY: 1, INT(1): DISPOSE;

33

TECNICAS DE SIMULACION

MODELO DEL EXPERIMENTO

BEGIN;
PROJECT, TELEVISORES, AUTOR, 4/6/98;
DISCRETE, 30, 1, 2;
PARAMETERS: 1, 3.5, 7.5: 2, 6, 12: 3, 20, 40;
RESOURCES: 1, INSPECTOR, 2: 2, AJUSTE;
TALLIES: 1, TIEMPO EN SISTEMA;
DSTAT: 1, NQ(1), COLA INSPECCION:
2, NQ(2), COLA AJUSTE:
3, NR(1), UTIL INSPECCION:
4, NR(2), UTIL AJUSTE;
REPLICATE, 1, 0, 100;
END;

REPORTE RESUMIDO
SIMAN Summary Report
Run Number 1 of 1

Project: TELEVISORES
Analyst: AUTOR
Date : 4/ 6/1998
Run ended at time : .1000E+03
Tally Variables
-------------------Number Identifier
Average

Standard Minimum Maximum Number


Deviation Value
Value
of Obs.
------------------------------------------------------------------------------------------------------1 TIEMPO EN SISTEM 8.37802 1.68165
6.37955
11.78709
19
Discrete Change Variables
-------------------------------Number Identifier
Average Standard Minimum Maximum Time
Deviation Value
Value
Period
------------------------------------------------------------------------------------------------------1 COLA INSPECCION .06009 .23766
.00000
1.00000
100.00
2 COLA AJUSTE
.00000 .00000
.00000
.00000
100.00
3 UTIL INSPECCION
1.62702 .49062
.00000
2.00000 100.00
4 UTIL AJUSTE
.00000 .00000
.00000
.00000
100.00
Run Time : 4 Second(s)
Stop - Program terminated.

34

TECNICAS DE SIMULACION
1.8.2 EJEMPLO 2

Un sistema de produccin mecnica est compuesto por un taladro y dos tornos. El tipo de
trabajo 1 debe ser procesado primero por el taladro y despus por el torno. La atencin en la
cola de los trabajos es FIFO.
Determine el tiempo promedio utilizado en el procesamiento de cada trabajo y el nmero
promedio de trabajos esperando por el torno o el taladro. Se tienen los siguientes datos:
Tipo de
trabajo
1

# de
grupos
12

# de entidades
por grupo
5

Tiempo en
el taladro
3.0

10

Tiempo en
el torno
Uniforme
(2-3)
Uniforme
(1-2)

Tiempo entre
Arribo
14.0
Exponencial
(3.0)

Los datos de tiempo estn dados en minutos.

MODELO DEL SISTEMA

En este ejemplo, como existen dos entidades con caractersticas diferentes, se crea cada una
de ellas por separado. Utilizndose el atributo 1 para establecer el tipo de cada entidad creada.
En el atributo 2 se almacena el valor de TNOW cuando las entidades arriban al sistema.
Posteriormente se solicitan, utilizan y liberan los recursos que necesita cada entidad para ser
procesada y, al final, se calcula el tiempo que ha estado cada una de las entidades en el
sistema.
BEGIN;
CREATE, 8: EX(3,1),10: MARK(2);
ASSIGN: A(1)=2: NEXT(MAQUIN2);
;
CREATE, 5: 14,12: MARK(2);
ASSIGN: A(1)=1;
QUEUE, 1;
SEIZE: TALADRO;
DELAY: 3;
RELEASE: TALADRO;
;
MAQUIN2

QUEUE, 2;
SEIZE: TORNO;
DELAY: UN(A(1),1);
RELEASE: TORNO;
TALLY: A(1), INT(2): DISPOSE;

END;

35

TECNICAS DE SIMULACION

MODELO DEL EXPERIMENTO

Se dan todas las caractersticas experimentales que presenta este proceso. O sea, se define que
habr como mximo 100 entidades simultneamente en el sistema con dos atributos cada una
de ellas. Se dan los identificadores para los resultados estadsticos que definen el
comportamiento del tiempo en el sistema de cada tipo de entidad. Se determinan las variables
SIMAN que reflejarn el comportamiento del sistema, las caractersticas de los recursos
utilizados y los parmetros de las distribuciones aleatorias definidas en el modelo del sistema.
BEGIN;
PROJECT, TITULO, AUTOR, 11/23/98;
DISCRETE, 100, 2, 2;
TALLIES: 1, TIEMPO TRAB. 1: 2, TIEMPO TRAB. 2;
DSTAT:
1, NQ(1), COLA TALADRO: 2, NQ(2), COLA TORNO:
3, NR(1), UTIL. TALADRO: 4, NR(2), UTIL TORNO;
RESOURCES: 1, TALADRO, 1: 2, TORNO, 2;
PARAMETERS: 1, 2, 3: 2, 1, 2: 3, 3;
END;

REPORTE RESUMIDO
SIMAN Summary Report
Run Number 1 of 1

Project: TITULO
Analyst: AUTOR
Date : 11/23/1998
Run ended at time : .1822E+03
Tally Variables
------------------Number Identifier
Average

Standard Minimum Maximum Number


Deviation Value
Value
of Obs.
-------------------------------------------------------------------------------------------------------1 TIEMPO TRAB. 1
24.50852 9.89957
7.30772
49.81167
60
2 TIEMPO TRAB. 2
15.50321 10.22390 1.32173
35.20122
80
Discrete Change Variables
-------------------------------Number Identifier
Average Standard Minimum Maximum Time
Deviation Value
Value
Period
-----------------------------------------------------------------------------------------------------1 COLA TALADRO
3.78679 1.89903 .00000
8.00000
182.21
2 COLA TORNO
8.65328 12.37050 .00000
43.00000 182.21
3 UTIL. TALADRO
.98786
.10952
.00000
1.00000 182.21
4 UTIL TORNO
1.44903 .64721
.00000
2.00000 182.21
Run Time : 19 Second(s)
Stop - Program terminated.

36

TECNICAS DE SIMULACION
1.8.3 EJEMPLO 3

Considere el rea de emergencia de un hospital en el que los pacientes que arriban se


clasifican en una de las 5 categoras, en dependencia de la gravedad de su dolencia. Los
pacientes de la categora 1, son los de mayor gravedad y, son enviados inmediatamente a una
cama donde esperan por la atencin mdica. Los pacientes de las restantes categoras deben
esperar en la recepcin, donde se les toman los datos de admisin, hasta que haya una cama
disponible.
Los pacientes arriban de acuerdo a una distribucin Poisson con un tiempo promedio entre
arribos que vara durante el da de acuerdo al siguiente comportamiento:
Perodo
Tiempo(h)

0-4
0.3

4-8
0.5

8-12
0.2

12-16
0.3

16-20
0.3

20-24
0.3

La sala de emergencia tiene 3 camas y una enfermera para tomar los datos de admisin.
Tiene, adems, 2 mdicos en el horario de 8:00 AM a 12:00 PM y un mdico durante la
madrugada. El tiempo que toma la admisin de los pacientes de las categoras 2 a la 5 es de
0,15 horas, y el tiempo de atencin a cada paciente est uniformemente distribuido con
parmetros diferentes de acuerdo a la categora del mismo, como se muestra en la siguiente
tabla:
Categora Paciente
1
2
3
4
5

% del Total
8
13
33
20
26

Valor Inferior (h)


0.25
0.20
0.15
0.10
0.05

Valor Superior (h)


0.35
0.30
0.25
0.20
0.15

Simule el sistema durante 168 h para determinar el tiempo en el sistema de cada paciente por
categora y la utilizacin de las camas, los mdicos y la enfermera.

MODELO DEL SISTEMA

BEGIN;
DIA

CREATE;
DELAY: 8;
ALTER: DOCTOR, 1;
DELAY: 16;
ALTER: DOCTOR, -1;
ASSIGN: X(1) = X(1) + 24: NEXT(DIA);

;
CREATE: EX(6,1): MARK(2);
ASSIGN: X(2) = TNOW - X(1);
ASSIGN: P(6,1) = TF(1, X(2));
ASSIGN: A(1) = DP(7,2);
BRANCH, 1:
IF, A(1). EQ. 1, CAMAS:
ELSE, REGISTRO;
37

TECNICAS DE SIMULACION
REGISTRO

CAMAS

QUEUE, 1;
SEIZE: ENFERMERA;
DELAY: .15;
RELEASE: ENFERMERA;
QUEUE, 2;
SEIZE: CAMA;
QUEUE, 3;
SEIZE: DOCTOR;
DELAY: UN(A(1),3);
RELEASE: DOCTOR;
RELEASE: CAMA;
TALLY: A(1), INT(2): DISPOSE;

END;

MODELO DEL EXPERIMENTO

BEGIN;
PROJECT, SALA EMERGENCIA, AUTOR, 9/25/98;
DISCRETE, 100, 2, 3;
TABLES: 1, 0, 4, .3, .5, .3, .2, .3, .3, .3;
PARAMETERS:
1, .25, .35: 2, .20, .30:
3, .25, .15: 4, .10, .20:
5, .05, .15: 6, .3:
7, .08, 1, .21, 2, .54, 3, .74, 4, 1., 5;
RANKINGS: 1-3, LVF(1);
RESOURCES: 1, ENFERMERA: 2, CAMA, 3: 3, DOCTOR;
TALLIES:
1, CATEGORIA 1: 2, CATEGORIA 2:
3, CATEGORIA 3: 4, CATEGORIA 4: 5, CATEGORIA 5;
DSTAT:
1, NR(1), UTIL ENFERMERA: 2, NR(2), UTIL CAMAS:
3, NR(3), UTIL DOCTOR;
REPLICATE, 1, 0, 168;
END;

REPORTE RESUMIDO
SIMAN Summary Report
Run Number 1 of 1

Project: SALA EMERGENCIA


Analyst: AUTOR
Date : 9/25/1998
Run ended at time : .1680E+03

38

TECNICAS DE SIMULACION
Tally Variables
-------------------Number Identifier
Average

Standard Minimum Maximum Number


Deviation Value
Value
of Obs.
-------------------------------------------------------------------------------------------------------1 CATEGORIA 1
.30884
.03605
.26094
.45143
43
2 CATEGORIA 2
.46016
.07836
.35063
.73433
73
3 CATEGORIA 3
.40207
.08174
.30023
.69485
188
4 CATEGORIA 4
.40580
.21307
.25220
1.41257
117
5 CATEGORIA 5
.39941
.34444
.20079
2.76027
150
Discrete Change Variables
--------------------------------Number Identifier
Average Standard Minimum Maximum Time
Deviation Value
Value
Period
------------------------------------------------------------------------------------------------------1 UTIL ENFERMERA
.47143
.49918
.00000
1.00000
168.00
2 UTIL CAMAS
.63413
.67211
.00000
3.00000
168.00
3 UTIL DOCTOR
.60243
.62106
.00000
2.00000
168.00
Run Time : 2 Minute(s) and 19 Second(s)
1.8.4 EJEMPLO 4

Unas piezas se procesan en un sistema de fabricacin automtica formado por dos mquinas
herramientas controladas numricamente y un robot industrial. El procesamiento de todas las
tareas sigue la misma secuencia, o sea, la mquina 1 siempre es seguida por la mquina 2.
El tiempo de procesamiento de cada mquina se distribuye normalmente con una media de 42
segundos y una desviacin estndar de 2 segundos. Las tareas son transportadas por el robot
desde la estacin de arribo a la mquina 1, procesadas en la mquina 1, despus transportadas
por el robot a la mquina 2, procesadas por sta y, por ltimo, transportadas (por el robot) a la
estacin de salida.
Toda la manipulacin de materiales se realiza automticamente por el robot controlado por
computadora, el que tambin responde a los requerimientos de transporte desde la estacin de
arribo hasta la estacin de salida. Los requerimientos de transporte son enviados
automticamente al robot cuando una tarea arriba al sistema o termina su servicio en una
mquina. La regla de prioridad a que estn sometidas las tareas en cada estacin de servicio
es: FIFO.
El tiempo requerido por el robot para insertar o sacar una pieza de una mquina o tomar o
liberar una pieza en la estacin de arribo o de salida sigue una distribucin uniforme entre 6 y
8 segundos. El tiempo entre arribos se distribuye exponencialmente con media de 124
segundos. La distancia desde la estacin de arribo a las mquinas es de 120 centmetros, la
distancia entre mquinas, de 100 centmetros y la distancia entre la ltima mquina y la
estacin de salida, 72 centmetros. El robot se mueve a 20 centmetros/segundo.

39

TECNICAS DE SIMULACION
Simule el sistema por 14400 segundos para determinar el tiempo permitido que la pieza
permanece en el sistema, la utilizacin de cada mquina y del robot y el nmero de piezas que
espera en la estacin de arribo.

MODELO DEL SISTEMA

Para modelar este sistema, el mismo, se descompone en cuatro submodelos. Dichos


submodelos son conectados a travs del sistema de manipulacin de materiales, el cual est
compuesto por una unidad de transporte llamada ROBOT. El ROBOT se utiliza para mover
las entidades (tareas) a travs de los cuatro submodelos de estacin. Las cuatro estaciones
estn numeradas de la 1 a la 4 y representan la estacin de arribo, las estaciones de las dos
mquinas y la estacin de salida, respectivamente.
El primer submodelo representa el arribo de las tareas al sistema. Una entidad que representa
la entrada de una tarea al sistema se genera en la instruccin CREATE y pasa a la instruccin
ASSIGN, donde el atributo de estacin toma valor 1. Despus la entidad entra en la
instruccin QUEUE, donde espera en el fichero 1 hasta que se le asigna una unidad del
recurso indexado MACHINE(1). Una vez asignado a la entidad este recurso, esta procede a la
segunda instruccin QUEUE donde espera en el fichero 2 con prioridad 1 al transportador
ROBOT. La entidad es despus transportada por el ROBOT de la estacin 1 a la estacin 2.
BEGIN;
;
;
SUBMODELO DE ARRIBO
;
CREATE: EX(3,1): MARK(1);
ASSIGN: M=1;
QUEUE, 1;
SEIZE: MACHINE(1);
QUEUE, 2;
REQUEST, 1: ROBOT;
DELAY:UN(1,1);
TRANSPORT: ROBOT, 2;
;
SUBMODELO DE MAQUINAS 1 Y 2
;
STATION, 2-3;
DELAY: UN(1,1);
FREE: ROBOT;
DELAY: RN(2,1);
BRANCH, 1:
IF, M.EQ.2, GETMACH:
ELSE, GETROBOT;
GETMACH QUEUE, 3;
SEIZE: MACHINE(2);
GETROBOT QUEUE, 4;
REQUEST, 2: ROBOT;
DELAY: UN(1,1);
RELEASE: MACHINE(M-1);
TRANSPORT: ROBOT, M+1;
;

40

TECNICAS DE SIMULACION
;
;

SUBMODELO DE SALIDA
STATION, 4;
DELAY: UN(1,1);
FREE: ROBOT;
TALLY: 1, INT(1): DISPOSE;

END;
La lgica de procesamiento de una tarea es muy similar en las mquinas 1 y en la 2, por ello
utilizamos la facilidad macro del SIMAN para modelar simultneamente estas dos estaciones.
Una entidad que arriba a la mquina 1 2 entra en el submodelo de mquinas de la
instruccin STATION con el nmero de estacin 2 3, respectivamente. La entidad contina
al bloque DELAY, donde se retarda por el tiempo requerido para arribar a la mquina.
Despus la entidad libera al ROBOT y entra en la segunda instruccin DELAY, donde es
retrasada segn el tiempo del procesamiento de la tarea en la mquina. Despus de este
retardo la entidad pasa a la instruccin BRANCH, donde es enviada a una instruccin
QUEUE en dependencia del atributo de estacin de la entidad. Si la entidad est en la estacin
2 (mquina 1), es enviada a la instruccin con etiqueta GETMACH2, de lo contrario, es
enviada a la instruccin con la etiqueta GETROBOT. Una entidad enviada a GETMACH2
representa una tarea que ha sido procesada completamente por la mquina 1 y espera en el
fichero 3 por que se le asigne una unidad del recurso MACHINE(2). Despus la entidad entra
en la instruccin QUEUE llamada GETROBOT donde espera en el fichero 4 con prioridad 2
al ROBOT. Una entidad enviada directamente desde el BRANCH a GETROBOT representa
una tarea que ha terminado completamente su procesamiento en la mquina 2.
En ambos casos cuando se completa el requerimiento del ROBOT, la entidad entra en un
bloque DELAY, donde se retarda el tiempo requerido por el ROBOT para extraer la tarea de
la mquina. La entidad libera entonces la mquina apropiada y es despus transportada por el
ROBOT a la prxima estacin.
El proceso de salida de la tarea se modela en el cuarto submodelo de estacin. Una entidad
entra en el submodelo de salida con una instruccin STATION y pasa a una instruccin
DELAY donde se retarda el tiempo requerido por el ROBOT para llevar la pieza completa a
la estacin de salida. Despus la entidad libera al ROBOT y se registra una estadstica del
tiempo de la tarea en el sistema. En ese momento la entidad sale del sistema.
Para ser editado y obtener los resultados solicitados al inicio, el modelo del experimento
quedara:

MODELO DEL EXPERIMENTO

BEGIN;
PROJECT, FABRIC. AUTOMATICA, NOMBRE USUARIO, 6/27/98;
DISCRETE, 20, 1, 4, 4;
TALLIES: 1, TIEMPO EN SIST.;
RESOURCES: 1-2, MACHINE;
TRANSPORTERS: 1, ROBOT, 1, 1, 20.0, 1-A;
DSTAT:
1, NR(1), UTIL. MAQ. 1: 2, NR(2), UTIL. MAQ. 2:
3, NT(1), UTIL. ROBOT : 4, NQ(1), COLA ARRIBO;
DISTANCES: 1, 1-4, 120, 220, 292/ 100, 172/ 72;

41

TECNICAS DE SIMULACION
PARAMETERS: 1, 6, 8: 2, 42, 4: 3, 124;
REPLICATE, 1, 0, 14400;
END;
En el modelo del experimento despus de definir el nombre, el autor y la fecha de realizacin
del reporte resumen con el elemento PROJECT, se define en DISCRETE que habr un
mximo de 20 entidades simultneamente en el sistema, las cuales tienen un atributo. A la
vez, aqu se definen 4 ficheros o colas de espera y 4 estaciones de servicio. Con TALLIES se
da el nombre que identificar la variable que se desea controlar estadsticamente.
RESOURCES define los recursos indexados con nombre MACHINE en los cuales se asume
una unidad de este recurso. Las caractersticas del ROBOT se definen en el elemento
TRANSPORTERS. Este elemento especifica en el nmero de sealizacin de la distancia 1,
una capacidad de 1, una velocidad de 20.0, la posicin inicial en la estacin 1 y el status
inicial activo. DISTANCES especifica las distancias del nmero de sealizacin de distancias
1 entre todos los pares de estaciones conectados desde la 1 hasta la 4. Con PARAMETERS se
especifican los parmetros que caracterizan las distribuciones utilizadas en el modelo del
sistema, los cuales se identifican entre ambos modelos por el nmero de sealizacin del
parmetro. Por ltimo, se especifica una sola corrida que comenzar con TNOW=0 y terminar
con TNOW=14400.

REPORTE RESUMIDO

El reporte resumen SIMAN se brinda a continuacin. Este reporte muestra que se utilizan las
mquinas 1 y 2 aproximadamente un 80 y 70% del tiempo, respectivamente, y que el ROBOT
fue utilizado como promedio el 74% del tiempo disponible. La utilizacin de las mquinas
incluye el tiempo requerido por la tarea para ser transportada e introducida a la mquina, as
como el tiempo de procesamiento que utiliza cada una.
SIMAN Summary Report
Run Number 1 of 1
Project: FABRIC. AUTOMATICA
Analyst: NOMBRE USUARIO
Date : 6/27/1998
Run ended at time : .1440E+05
Tally Variables
------------------Number Identifier
Average

Standard Minimum Maximum


Number
Deviation
Value
Value
of Obs.
---------------------------------------------------------------------------------------------------------------1 TIEMPO EN SIST. 279.38280
117.86910 130.64750 644.29690
111

42

TECNICAS DE SIMULACION
Discrete Change Variables
--------------------------------Number Identifier
Average Standard Minimum Maximum
Time
Deviation
Value
Value
Period
----------------------------------------------------------------------------------------------------------1 UTIL. MAQ. 1
.75
.43
.00
1.00
14400.00
2 UTIL. MAQ. 2
.62
.49
.00
1.00
14400.00
3 UTIL. ROBOT
.62
.49
.00
1.00
14400.00
4 COLA ARRIBO
.82
1.13
.00
5.00
14400.00
Run Time : 1 Minute(s) and 4 Second(s)
Stop - Program terminated.

1.9 PROCESADOR DE SALIDAS: OUTPT


Adems de los procesadores analizados anteriormente que permiten arribar al resultado de la
simulacin, existe un procesador de salidas interactivo, por medio del cual se obtienen
grficos estadsticos que facilitan el anlisis de las variables que se desean.
Para poder obtener los grficos es necesario introducir ciertos cambios en el modelo del
experimento:
1. Especificar en el elemento TALLIES y/o DSTAT (segn la variable que se va a
analizar) el nmero del fichero en que se desea guardar los valores de las variables
muestreadas, para cada variable debe darse un nmero de fichero diferente a partir del
11.
Ejemplo:
TALLIES: 1, TIEMPO EN SISTEMA, 11;
2. Cuando van a efectuarse repeticiones de corridas (rplicas) en la simulacin es
necesario incluir en el modelo del experimento el elemento OUTPUT cuya funcin es
definir las variables de salida cuyos valores deben ser almacenados al final de cada
rplica para luego calcular los intervalos de confianza. La descripcin de este
elemento es la siguiente:
OUTPUT: N, VAR, NU: REPETICION;
donde:
N: Nmero de la variable de salida, especificado como un entero.
VAR: Variable de salida definida como una variable de las tablas 1, 2, 3 y 6 (a continuacin)
de este captulo.
NU: Nmero del fichero de salida, especificado como un entero.

43

TECNICAS DE SIMULACION
Ejemplo:
OUTPUT: 1, TAVG(1), 13;
Variable de Salida
Descripcin
TAVG(N)
Obtiene el valor promedio de la variable N del TALLY.
TSTD(N)
Obtiene la desviacin standard de la variable N del TALLY.
TMAX(N)
Obtiene el mximo valor de la variable N del TALLY.
TMIN(X)
Obtiene el mnimo valor de la variable N del TALLY.
DAVG(N)
Obtiene el valor promedio de la variable N del DSTAT.
DSTD(N)
Obtiene la desviacin estndar de la variable N del DSTAT.
DMAX(N)
Obtiene el mximo valor de la variable N del DSTAT.
DMIN(N)
Obtiene el mnimo valor de la variable N del DSTAT.
DPRD(N)
Obtiene el perodo de tiempo para la variable N del DSTAT.
Tabla 1.6 Variables de salida del comando OUTPUT
Despus de la introduccin de estos cambios, el modelo se compila, enlaza y corre de la
misma forma, sin apreciarse ningn cambio.
1.9.1 INSTRUCCIONES DEL PROCESADOR OUTPT

Para obtener las salidas grficas es necesario interactuar con el procesador OUTPT. La
primera instruccin a teclear es:
1. BEGIN, NOMBRE, NU;
donde:
NOMBRE: Nombre con el que se denomina el fichero auxiliar (opcional).
UN: Operando entero opcional que indica el fichero auxiliar donde se almacenar la
informacin de salida del procesador OUTPT. El valor asumido para NU es cero, en cuyo
caso no se genera fichero auxiliar.
A continuacin se describe el formato de algunas de las instrucciones que posibilitan las
salidas grficas.
2. PLOT
Genera el ploteo de variables discretas o continuas en el tiempo. Se toma como variable
independiente del ploteo el tiempo simulado. Puede haber hasta 6 variables dependientes. El
resultado se obtiene en un formato de 80 columnas con caracteres estndar.
Los operandos son:
PLOT, TITULO, TIETIQ, TIN, TFIN, DTPLOT: NUI, VARETIQ, SIMB, MINORD,
MAXORD: REPETICION;

44

TECNICAS DE SIMULACION
TITULO: Ttulo del ploteo, especificado con un mximo de 20 caracteres.
TIETIQ: Etiqueta de la abcisa de tiempo del ploteo, especificada con un mximo de 8
caracteres.
TIN: Tiempo de inicio del ploteo, especificado como una constante.
TFIN: Tiempo en que finaliza el ploteo, especificado como una constante.
DTPLOT: Incremento del tiempo entre los puntos de ploteo, especificado como una
constante.
NUI: Nmero del fichero en que se encuentran almacenados los valores de las variables
dependientes a plotear.
VARETIQ: Etiqueta de las variables dependientes a ser ploteadas, especificada con un
mximo de 8 caracteres.
SIMB: Smbolo utilizado para plotear la variable dependiente, especificado con un carcter
alfabtico.
MINORD: Valor menor de la variable dependiente, especificado como una constante, MIN
MIN(NU), donde NU es una constante. Si se especifica MIN, se utiliza el valor de la
observacin mnima. Si se especifica MIN(NU), se utiliza el valor de la menor observacin
ms cercana a NU. Asumido: MIN.
MAXORD: Valor mayor de la variable dependiente, especificado como una constante, MAX,
MAX(NU). Si se especifica MAX(NU), se utiliza el valor de la mayor observacin ms
cercana a NU. Asumido: MAX.
3. BARCHART
Genera un grfico de barras de la variable que se observa. Con este grfico se observa la
magnitud relativa de las observaciones registradas de una variable. Las barras se grafican
horizontalmente utilizando asteriscos y un formato de 80 columnas. Los operandos son:
BARCHART, TITULO, ETIQ, VARETIQ, XIN, XFIN, NUI, MINORD, MAXORD;
TITULO: Ttulo del grfico de barras, especificado con un mximo de 20 caracteres.
ETIQ: Etiqueta de la abcisa de la variable independiente (nmero de observaciones) con un
mximo de 8 caracteres.
VARETIQ: Etiqueta de la abcisa de la variable dependiente, con un mximo de 8 caracteres.
XIN: Nmero de la observacin inicial.
XFIN: Nmero de la observacin final.
NUI: Nmero del fichero en que se encuentran las observaciones de la variable dependiente.

45

TECNICAS DE SIMULACION
MINORD: Valor menor de la variable dependiente, especificado como una constante no
positiva.
MAXORD: Valor mayor de la variable dependiente, especificado como una constante mayor
que MINORD.
4. HISTOGRAM
Genera un histograma para las observaciones obtenidas de una variable. El histograma es un
medio grfico de resumir el comportamiento de un conjunto de observaciones, agrupando
stas, en celdas. Cada celda est definida por lmites: inferior y superior. Las observaciones
que son mayores o iguales que el lmite inferior de la celda pero menores que el lmite
superior, se incluyen en la celda. A la diferencia entre los lmites se le llama ancho de la
celda. El nmero de observaciones que se registran en cada celda es la frecuencia absoluta de
la celda, y este nmero dividido entre el nmero total de observaciones es la frecuencia
relativa de la celda. La frecuencia acumulada tanto relativa como absoluta, se obtiene
sumando sucesivamente las frecuencias relativas y absolutas de las celdas.
Las celdas y la frecuencia acumulada de las celdas se muestran en forma tabular y de
histograma.
En el histograma la frecuencia relativa de las celdas se representa por medio de barras
horizontales (con *), y la frecuencia acumulada relativa por medio de una C.
Los operandos para el histograma son:
HISTOGRAM, TITULO, NCEL, LINF, ANCHO, NUI, NUFRER, NUFREC;
TITULO: Ttulo del histograma, especificado con un mximo de 20 caracteres.
NCEL: Nmero de las celdas interiores, especificado como una constante.
LINF: Lmite inferior de la primera celda interior, especificado como una constante.
ANCHO: Ancho de cada celda interior, especificado como una constante.
NUI: Nmero del fichero en que se encuentran las observaciones para el histograma.
NUFRER: Nmero del fichero en que se desean almacenar las frecuencias relativas de las
celdas calculadas en el histograma. Asumido: no se guardan.
NUFREC: Nmero del fichero en que se desean almacenar las frecuencias acumuladas de las
celdas calculadas en el histograma. Asumido: no se guardan.
5. TABLE
Genera una tabla de valores para cualquier variable continua o discreta muestreada en la
simulacin. La variable independiente de la tabla puede ser el tiempo simulado o el nmero
de la observacin muestreada. Pueden existir hasta 6 variables dependientes por tabla, aunque

46

TECNICAS DE SIMULACION
todas deben depender de la misma variable independiente. El formato de la instruccin es el
siguiente:
TABLE, TITULO, IETIQ, XBEG, XEND, DX: NUI, DETIQ: REPETICION;
TITULO: Ttulo de la tabla, 20 caracteres como mximo.
IETIQ: Etiqueta de la variable independiente.
XBEG: Valor inicial de la variable independiente.
XEND: Valor final de la variable independiente.
DX: Incremento de la variable independiente. Asumido: 1.
NUI: Nmero del fichero donde se encuentra la variable dependiente.
DETIQ: Etiqueta de la variable dependiente.
6. CORRELOGRAM
Genera un diagrama de correlacin para una variable muestreada en la simulacin. La
instruccin calcula las autocovarianzas y autocorrelaciones muestrales para una serie de
valores con intervalos entre las observaciones desde 1 hasta un valor especificado.
Los operandos de la instruccin son:
CORRELOGRAM, TITULO, NLAGS, NUI, NUC;
TITULO: Ttulo del diagrama, mximo de 20 caracteres.
NLAGS: Nmero de intervalos a incluir en el diagrama.
NUI: Nmero del fichero donde se encuentra la informacin de la variable muestreada.
NUC: Nmero del fichero donde se registran los resultados del correlograma (opcional).
Asumido: no se guardan.
7. INTERVALS
Genera intervalos de confianza para un conjunto especificado de observaciones de una
variable muestreada. Los intervalos corresponden a un 95% de nivel de confianza. Se asume
que las observaciones son independientes e idnticamente distribuidas. Los operandos son:
INTERVALS, TITULO: NUI, ETIQ;
TITULO: Ttulo de la tabla, hasta 20 caracteres.
NUI: Nmero del fichero donde se encuentran los valores de la variable muestreada.

47

TECNICAS DE SIMULACION
ETIQ: Etiqueta asignada a la variable, 10 caracteres.
1.9.2 EJEMPLO

Una brigada de construccin confronta problemas con la transportacin de paneles y vigas


prefabricadas desde el centro de construccin hasta la zona de edificaciones donde se est
construyendo.
El sistema de transportacin est integrado por 4 rastras y 2 gras, y opera de la forma que se
describe a continuacin.
Una de las gras est situada en la planta de prefabricado donde su funcin es cargar las
rastras, lo que hace en un tiempo aleatorio con distribucin normal de media 20 minutos y
desviacin estndar de 2 minutos.
Una vez cargadas, las rastras se dirigen hacia la zona de edificaciones con un viaje de
duracin aleatoria uniformemente distribuida entre 16 y 20 minutos. En esa zona se encuentra
la segunda gra que descarga las rastras con un tiempo exponencialmente distribuido con
media de 18 minutos.
Despus de descargar las rastras, stas regresan al centro de prefabricado y este viaje sigue
una distribucin uniforme entre 10 y 14 minutos.
Utilizando SIMAN determine las caractersticas que identifican el proceso.

MODELO DEL SISTEMA

BEGIN;
CREATE: 10;
;
;

;
;

SUBMODELO DE CARGA
QUEUE, 1;
SEIZE: GRUA1: MARK(1);
QUEUE, 2;
SEIZE: RASTRA: MARK(3);
TALLY: 1, INT(1);
DELAY: RN(1,1);
RELEASE: GRUA1;
DELAY: UN(2,1);
SUBMODELO DE DESCARGA
QUEUE, 3: MARK(2);
SEIZE: GRUA2;
DELAY: EX(3,1);
RELEASE: GRUA2;
TALLY: 2, INT(2);
DELAY: UN(4,1);
RELEASE: RASTRA;

48

TECNICAS DE SIMULACION
TALLY: 3, INT(3): DISPOSE;
END;

MODELO DEL EXPERIMENTO

BEGIN;
PROJECT, SISTEMA DE TRANSPORTE, AUTOR, 12/24/98;
DISCRETE, 500, 3, 3;
TALLIES:
1, TIEMPO ESPERA GRUA1, 11: 2, TIEMPO EN DESCARGA, 21:
3, TIEMPO DEL CICLO, 31;
RESOURCES: 1, GRUA1: 2, GRUA2: 3, RASTRA, 4;
DSTAT:
1, NQ(3), COLA PARA DESCARGA, 41:
2, NR(1), UTIL GRUA1:
3, NR(2), UTIL GRUA2:
4, NR(3), UTIL RASTRA, 51;
OUTPUT: 1, TAVG(3), 61: 2, DAVG(4), 62;
PARAMETERS: 1, 20, 2: 2, 16, 20: 3, 18: 4, 10, 14;
REPLICATE, 10, 0, 600, NO;
END;

REPORTE RESUMIDO
SIMAN Summary Report
Run Number 1 of 10

Project: SISTEMA DE TRANSPORTE


Analyst: AUTOR
Date : 12/24/1998
Run ended at time : .6000E+03
Tally Variables
------------------Number Identifier
Average

Standard Minimum Maximum


Number
Deviation
Value
Value
of Obs.
--------------------------------------------------------------------------------------------------------------1 TIEMPO ESPERA GR 180.79390 118.73620
.00000
357.06290
25
2 TIEMPO EN DESCAR 40.33083 34.19781
.93954
115.46040
22
3 TIEMPO DEL CICLO
95.27188 36.28565 49.46102
177.41360
22
Discrete Change Variables
-------------------------------Number Identifier
Average
Standard Minimum Maximum
Time
Deviation
Value
Value
Period
------------------------------------------------------------------------------------------------------------1 COLA PARA DESCAR .74442
.83807
.00000
2.00000
600.00
2 UTIL GRUA1
1.00000
.00000
.00000
1.00000
600.00
3 UTIL GRUA2
.74523
.43573
.00000
1.00000
600.00
4 UTIL RASTRA
3.41261
.78300
.00000
4.00000
600.00
Run Time : 12 Second(s)

49

TECNICAS DE SIMULACION
SIMAN Summary Report
Run Number 10 of 10
Project: SISTEMA DE TRANSPORTE
Analyst: AUTOR
Date : 12/24/1998
Run ended at time : .6000E+04
Tally Variables
------------------Number Identifier

Average

Standard Minimum Maximum Number


Deviation
Value
Value
of Obs.
----------------------------------------------------------------------------------------------------------1 TIEMPO ESPERA GR 3275.43
94.92
3050.13
3417.68
24
2 TIEMPO EN DESCAR 37.19222
46.22782
.86572
165.55660
24
3 TIEMPO DEL CICLO 95.78162
49.38702 48.22070 217.93900
25
Discrete Change Variables
-------------------------------Number Identifier
Average
Standard Minimum Maximum Time
Deviation
Value
Value
Period
---------------------------------------------------------------------------------------------------------1 COLA PARA DESCAR .71314
1.03540
.00000
3.00000
600.00
2 UTIL GRUA1
1.00000
.00000
1.00000
1.00000
600.00
3 UTIL GRUA2
.62978
.48286
.00000
1.00000
600.00
4 UTIL RASTRA
3.25203
.78405
1.00000
4.00000
600.00
Run Time : 13 Second(s)

50

Você também pode gostar