Texto Capitulo III (Lenguaje siman)

TABLA DE CONTENIDO 1 LENGUAJE SIMAN ..................................................................................

Views 242 Downloads 4 File size 254KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

TABLA DE CONTENIDO

1

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 Término ............................................................................................................................... 31 Sistemas sin Término ................................................................................................................................ 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 simulación 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 modelación de sistemas de producción, especialmente cuando los mismos contienen componentes importantes referidos al manejo de materiales. La estructura de los modelos en SIMAN está basada en un enfoque teórico-conceptual el cual hace una distinción fundamental entre dos componentes del modelo de simulación: el modelo del sistema y el modelo del experimento. El modelo del sistema define y describe las características estáticas y dinámicas del sistema a ser simulado, mientras que el modelo del experimento define las condiciones experimentales bajo las cuales se desarrollarán las corridas de la simulación para generar la información de salida deseada. Este enfoque explota el hecho de que para un modelo de sistema específico puede haber diferentes modelos de experimento dando como resultado diferentes conjuntos de información de salida. De esta forma, separando el modelo del sistema y el del experimento, pueden ser desarrolladas diferentes corridas de simulación cambiando solamente el modelo del experimento, pues el del sistema permanece inalterable. La técnica primaria que utiliza el lenguaje para la modelación de sistemas con cambios discretos es la orientación al proceso, en la cual el modelo es construido siguiendo la operación funcional del sistema a ser simulado. Una segunda variante es la orientación al evento, en la cual el usuario incluye sus propias subrutinas FORTRAN para representar sus eventos específicos. Como se muestra en la Figura 1, una simulación utilizando el SIMAN se divide en tres partes distintas: el procesamiento del modelo, el procesamiento del experimento y la corrida de simulación con el análisis de los resultados. Para ejecutar estas tres partes el SIMAN cuenta con cinco programas procesadores individuales los cuales interactúan 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 edición 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 simulación listo para las corridas. 4. El fichero del programa es la entrada para el procesador de las corridas de simulación (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 información contenida en el fichero de datos de salida. Esta división de los programas procesadores resulta muy útil ya que sólo 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 simulación utilizando SIMAN El lenguaje cuenta con 32 macroinstrucciones para la modelación de los sistemas y 15 elementos para la construcción del modelo del experimento, además permite incluir las subrutinas FORTRAN que se desee.

1.2 CARACTERISTICAS DE LA MODELACION EN SIMAN El SIMAN es un lenguaje de simulación para microcomputadoras que está compuesto por un conjunto de macroinstrucciones que facilitan las tareas de modelación, programación y análisis de resultados de una simulación.

2

TECNICAS DE SIMULACION El SIMAN se caracteriza por dividir el modelo de simulación 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 lógica del proceso que se desea simular utilizando instrucciones SIMAN. El modelo del experimento es la parte del que define las características cuantitativas que toma cada uno de los componentes descritos en el modelo del sistema, determinándose además en el mismo, los resultados que se desean en la simulación 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

Descripción Valor real del atributo I de la entidad activa. Atributo de la entidad que denota el número de la estación en donde se encuentra la misma. Tabla 1.1 Descripción de los atributos de las entidades

Variables asignadas por el usuario Descripción X(I) Valor real de la variable global del sistema I. J Variable índice del sistema, entera. P(I,K) Valor del parámetro número K en la variable índice I. Tabla 1.2 Descripción de las variables asignadas por el usuario Variables SIMAN Descripción TNOW Tiempo en curso en el sistema. NE(I) Número de entidades que van a la estación I. NQ(I) Número de entidades que esperan en la cola I. NC(I) Valor del contador I. NR(I) Número de unidades ocupadas del recurso I. NT(I) Número de unidades ocupadas del transportador I. MR(I) Número de unidades del recurso I. MT(I) Número de unidades del transportador I. LC(I) Longitud de las celdas ocupadas en el conveyor I. Tabla 1.3 Descripción de las variables o funciones del sistema

3

TECNICAS DE SIMULACION Distribuciones aleatorias Descripción EX(IP,IS) Distribución exponencial. UN(IP,IS) Distribución uniforme. TR(IP,IS) Distribución triangular. RN(IP,IS) Distribución normal. NP(IP,IS) Distribución poisson. DP(IP,IS) Distribución de probabilidad discreta. RL(IP,IS) Distribución lognormal. GA(IP,IS) Distribución gamma. BE(IP,IS) Distribución beta. WE(IP,IS) Distribución Weibull. CO(IP) Una constante. RA(IS) Número aleatorio uniforme en el intervalo 0-1. ED(I) Distribución experimental número I. Tabla 1.4 Descripción de las distribuciones aleatorias Donde: IP: Parámetro de relación. Establece la relación entre la distribución en el modelo del sistema y los parámetros de la distribución en el modelo del experimento. IS: Indicador de la cadena de la cual obtendremos los números aleatorios, debe estar comprendida entre 1 y 9. 1.2.2

MODIFICADORES

Los modificadores se colocan después del último operando en la línea de instrucción, separándose de éstos por dos puntos, y pueden ser una o más de las palabras claves siguientes: DISPOSE, MARK(MA) ó NEXT(LABEL). Los modificadores se separan entre si por medio de comas. A continuación se ofrece una breve descripción acerca de la utilización de cada uno de ellos: 

DISPOSE: Destruye las entidades a la salida de la instrucción precedente.



MARK(MA): Marca el atributo MA de la entidad con el tiempo de arribo de ésta a la instrucción precedente.



NEXT(LABEL): La entidad de salida de la instrucción precedente se dirige a la instrucción nominada LABEL.

Si DISPOSE y NEXT(LABEL) se omiten, se asume que las entidades de salida se dirigen secuencialmente a la próxima instrucción.

4

TECNICAS DE SIMULACION 1.2.3 SINTAXIS DEL SIMAN

Para poder utilizar el lenguaje SIMAN en una aplicación determinada e introducirlo en la máquina con vistas a su ejecución, se recomienda tener en cuenta los siguientes aspectos sintácticos: 1. Las instrucciones pueden estar divididas en uno o más segmentos de línea. Un segmento de línea es una agrupación de operandos dentro de una línea de instrucción. El número de segmentos de línea y de operandos dentro de cada segmento de línea depende del tipo de instrucción. 2. Los segmentos de línea 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 instrucción se utiliza el punto y coma (;). 3. Los operandos pueden ser específicos u opcionales en dependencia de cada instrucción. 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 línea. 4. Una línea con punto y coma (;) en la primera columna es ignorada y puede ser utilizada para comentarios. 5. Todos los blancos dentro de una instrucción son ignorados, excepto los que están dentro de una etiqueta o nombre de campo. Los blancos pueden ser utilizados para separar una instrucción de entrada a través de una o varias líneas. 6. Cada instrucción de entrada está restringida de la columna 1 a la 74. Además un operando no puede ser dividido entre dos líneas de entrada. 7. En el presente manual se diferencian las instrucciones usadas en el modelo del sistema y el del experimento, denominándose 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 línea, con las mismas características que la mostrada, mediante la palabra REPETICION. 1.2.4 CARACTERISTICAS DE LOS TIPOS DE OPERANDOS

A continuación se describen las características de los operandos de SIMAN. 

CONSTANTE ENTERA: Cualquier número entero. (Ej.: 10).



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

5

TECNICAS DE SIMULACION 

ETIQUETA: Cadena de caracteres alfanuméricos que comienza con uno alfabético. Su longitud máxima es de 8 caracteres. (Ej.: SEGUIR, SALIR).



PALABRA CLAVE: Cadena alfabética que contiene un significado específico en SIMAN. (Ej.: DISPOSE).



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



EXPRESION: Expresión computada con variables SIMAN usando los operadores + (suma), - (resta), * (multiplicación), / (división) y ** (exponenciación), con agrupaciones entre paréntesis (Ej.: A(1)*(X(1)-2)**2).



CONDICION: Instrucción que relaciona expresiones mediante los operadores ".OR." (disyunción), ".AND." (conjunción), ".EQ." (igualdad), ".LT." (menor que), ".GT." (mayor que), ".LE." (menor e igual), ".GE." (mayor e igual), y ".NE." (no igual), con grupos formados utilizando paréntesis “()”.

1.3 MODELO DEL SISTEMA A continuación se describen algunas instrucciones del SIMAN, sus componentes y aplicación. Estas pueden aparecer en cualquier orden dentro de la estructura del programa de simulación según lo requiera el modelo diseñado por el usuario, sin olvidar que el mismo, debe responder a una secuencia lógica de eventos y procesos. 1. CREATE (Creación de entidades). CREATE, NB: TBC, MC: MODIFICADORES; NB: Número 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 creación de grupos de entidades, especificado como una expresión. Asumido: 1. MC: Número máximo 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 número de entidades en cada grupo de arribos está especificado por la variable X(1). El tiempo entre arribos sigue una distribución exponencial con parámetro de relación 2 y se utiliza la cadena de números aleatorios 1. El número máximo de grupos de entidades creadas es 12.

6

TECNICAS DE SIMULACION 2. ASSIGN (Asignación de valores a variables y atributos). ASSIGN: VAR = VALUE: MODIFICADORES; VAR: A(I), X(I), P(I,K), J, M. VALUE: Una expresión numérica. Ejemplo: ASSIGN: J = (M**2 - 1) / 3; La variable índice J toma el valor de la expresión de la derecha donde M es el valor del atributo de la estación en que se encuentra la entidad. 3. QUEUE (Colas). QUEUE, IFL, QC, LBALK: MODIFICADORES; IFL: Número 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 instrucción a la cual se envía 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 instrucción 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 instrucción cuando la cola esté llena, se envían a la instrucción con etiqueta SAL. 4. DELAY (Retardo de la entidad por un tiempo definido). DELAY: DURACION: MODIFICADORES; DURACION: Una expresión 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 instrucción ASSIGN con el tiempo de retardo deseado.

7

TECNICAS DE SIMULACION 5. WAIT, SIGNAL (Retardo de las entidades por tiempo indefinido). La instrucción WAIT debe estar precedida por una instrucción QUEUE. WAIT: NSIG: MODIFICADORES; SIGNAL: NSIG: MODIFICADORES; NSIG: El código de la señal, 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 código de la señal 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 instrucción TALLY registra estadísticamente el valor de una variable especificada a cada arribo a la instrucción. La variable a registrar puede ser cualquier expresión válida 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 instrucción COUNT incrementa un contador en un determinado valor a cada arribo de la entidad y puede ser utilizada para finalizar la corrida de simulación cuando el contador alcance un determinado valor que se especifica en el modelo del experimento. TALLY: N, VAR: MODIFICADORES; N: Número identificador del tally especificado como A(I), X(I) o I. VAR: Valor que será registrado especificado como una expresión 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 número 1 al llegar cada entidad a la instrucción. Se asume que A(2) ha sido marcado con el valor de TNOW en una instrucción precedente. Cada observación corresponde al tiempo simulado transcurrido desde la instrucción en que la entidad fue marcada hasta la instrucción TALLY.

8

TECNICAS DE SIMULACION COUNT: N, INC: MODIFICADORES; N: Número 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 número 1 se incrementa en 1 cada vez que arriba a esta instrucción una entidad. Si el nuevo total de conteo es mayor o igual que el límite del contador #1 en el modelo del experimento termina la corrida. 7. SEIZE, RELEASE (Recursos simples). La instrucción SEIZE se utiliza para determinar las necesidades de los recursos utilizados por la entidad. Siempre debe estar precedida por la instrucción 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: Número 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 instrucción DELAY donde son retrasadas una cantidad de tiempo aleatoria que sigue una distribución uniforme con parámetro de relación 1 y utiliza la cadena de números aleatorios 1. Este tiempo de retardo representa el tiempo requerido por la entidad para completar el servicio. Después, la entidad sigue a la instrucción RELEASE donde ésta libera dos unidades de WORKERS, las que quedan disponibles para ser asignadas a otras entidades en una instrucción SEIZE.

9

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 estación NS, especificado como una constante o expresión. Asumido: 0.0. NS: Número de la estación de la instrucción 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 envía las entidades a la estación 6 con un tiempo de traslado que sigue una distribución 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 instrucción. 9. ALTER, PREEMPT (Variación 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 número de unidades del recurso WORKER se decrementa en 1. PREEMPT, PR: RNAME, NA, LSEND: MODIFICADORES; PR: Prioridad de solicitud de recursos. Número entero especificada como A(I), X(I) o I. Asumido: 1. RNAME: Nombre del recurso a ser priorizado.

10

TECNICAS DE SIMULACION NA: Número del atributo de la entidad, que está utilizando inicialmente el recurso, en el que se almacena el tiempo de servicio que aún le queda por recibir a dicha entidad en el momento en que es desplazada del recurso. LSEND: Etiqueta de la instrucción 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 estén siendo utilizados en ese momento por una entidad, si la que los solicita tiene una prioridad mayor. Las actividades en el PREEMPT son más priorizadas mientras menor número 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 instrucción REWORK. 10. RESOURCES(N) (Recursos indexados). Los recursos indexados se utilizan en submodelos y se caracterizan por un nombre común y un índice entre paréntesis. Por ejemplo: MACH(1) y MACH(2), donde, MACH(1) puede representar 2 tornos idénticos en la estación 1 y MACH(2) representar 5 taladros idénticos en la estación 2. Cuando el atributo de estación M es empleado en una combinación QUEUE-SEIZE o QUEUE-PREEMPT, en ambos el número de fichero y el índice del recurso deben estar especificados como una función 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 instrucción STATION el atributo de estación es automáticamente actualizado. En el ejemplo, entre los valores 1 y 10. Las entidades pasan a la combinación QUEUE-SEIZE donde intentan tomar una unidad del recurso MACH(M). Si todas las unidades de este recurso están 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 continúa a la instrucción DELAY donde se retarda un tiempo que sigue una distribución 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 instrucción BRANCH, se envían 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 probabilística asociada a la expresión WITH, P, que es seleccionada aleatoriamente con probabilidad P. La suma de las probabilidades dadas en las diferentes alternativas WITH debe ser, como máximo, 1. b. La determinística asociada a las expresiones ALWAYS o ELSE. Si se especifica ALWAYS, a la rama en cuestión 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 condición que C especifica es verdadera. BRANCH, MAXTAKE: IF, C, LABEL: WITH, P, LABEL: ALWAYS 'o ELSE, LABEL; MAXTAKE: Número máximo de ramificaciones a las que serán enviadas las copias de las entidades de arribo, especificado como un entero. Asumido: Infinito. P: Probabilidad para seleccionar una ramificación probabilística, especificada como una constante o expresión entre 0 y 1. C: Condición que contiene operadores relacionales y lógicos. LABEL: Etiqueta de la instrucción 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 ramificación (condicional) se toma si se cumple que el primer atributo de la entidad es igual a uno. La segunda ramificación (probabilística) se toma con la probabilidad dada por el segundo atributo de la entidad. La última ramificación (determinística) se toma si alguna o ninguna de las ramificaciones anteriores ha sido tomada.

12

TECNICAS DE SIMULACION 12. REQUEST, TRANSPORT, FREE (Transportadores). El término transportador denota una clase general de recursos móviles que pueden ser asignados a las entidades. Cada transportador tiene su localización en una estación específica del sistema y requiere tiempo para viajar de una estación a otra. Entre los objetos que pudieran ser modelados como transportadores están: las grúas, las carretillas y los manipuladores mecánicos. Delante de toda instrucción REQUEST debe estar una instrucción QUEUE. Siempre que se utilice en la combinación QUEUE-REQUEST el atributo de estación M, el número del fichero y el índice del transportador deben ser especificados como una función 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 más cercano a la estación.



LDS: Selecciona el transportador más alejado a la estación.



UR(K): Selecciona el transportador con índice UR. UR es calculado en una función FORTRAN.



ER(N): Selecciona la unidad del transportador basado en la regla número N, especificada en el modelo del experimento.

REQUEST, PR: TUNIT: MODIFICADORES; PR: Prioridad para la solicitud del transportador. Número entero, especificado como A(I), X(I) ó I. Asumido: 1. TUNIT: Unidad de transportador, especificada mediante el índice M (+, -) K, o con los parámetros (TSR, NA) añadidos, donde: TSR es la regla de selección del transportador especificada como CYC, RAN, POR, SDS, LDS, UR(K) o ER(N) y NA es el número 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: Número de la estación 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 instrucción REQUEST solicita la unidad del transportador CART que se encuentre más cercana y esté disponible. Si no hay unidades disponibles, la entidad espera en el fichero 1. En caso contrario, la unidad más 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 estación donde se encuentra hacia donde está la entidad. Después la entidad entra en la instrucción TRANSPORT donde es transportada con CART(A(1)) a la estación número 2. El tiempo de viaje a la estación 2 es computado por SIMAN basado en la distancia que hay desde donde se encuentra la entidad a la estación 2 y la velocidad de CART, las cuales son especificadas en el modelo del experimento. Al arribar a la estación 2, la entidad continúa hasta la instrucción 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 simulación que se está analizando y que ha sido descrita en el modelo del sistema. Esta especificación se da a través de elementos. A continuación se brindan un conjunto de elementos que se pueden combinar para describir las condiciones de experimento específicas de una corrida de simulación. Nótese que de un mismo modelo de simulación podemos obtener diferentes resultados al cambiar los elementos en el modelo del experimento. 1. Elemento PROJECT Se utiliza para identificar el reporte estadístico resumen del SIMAN, que crea automáticamente el procesador de corrida, cuando este elemento se incluye en el modelo del experimento. PROJECT, TITULO, ANALISTA, MES/DIA/AÑO; TITULO: Título del reporte, especificado como un campo alfanumérico con longitud no mayor de 20 caracteres. Asumido: blanco. ANALISTA: Nombre del analista, especificado como campo alfanumérico con longitud no mayor de 20 caracteres. Asumido: blanco.

14

TECNICAS DE SIMULACION MES/DIA/AÑO: 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: Número máximo de entidades que pueden estar simultáneamente en el sistema, especificado con una constante entera. Asumido: 0. MATB: Número máximo de atributos de propósito general asociado con una entidad, especificado como una constante entera. Asumido: 0. NFIL: Número de ficheros en el sistema, especificado como una constante entera. Asumido: 0. NSTA: Número 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 simultáneamente 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 estadísticas registradas en modelos discretos. TALLIES se incluye siempre que se utilice la instrucción TALLY o cuando la subrutina TALLY se utiliza en modelos de eventos discretos. TALLIES: N, ID, NUNIT: REPETICION; N: Número del TALLY, especificado como una constante entera. ID: Identificador del reporte, especificado como una cadena alfanumérica no mayor de 16 caracteres. Asumido: blanco. NUNIT: Número de la unidad de salida en la cual serán almacenadas las observaciones individuales, especificado por una constante entera. Este valor se incrementa

15

TECNICAS DE SIMULACION automáticamente 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 número 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 límite de conteo de los contadores utilizados en modelos discretos. COUNTERS se incluye siempre que se utilice la instrucción COUNT o cuando la subrutina COUNT se utiliza en modelos de eventos discretos. COUNTERS: N, ID, LIMIT: REPETICION; N: Número del contador especificado como constante entera. ID: Identificador del reporte, especificado como una cadena alfanumérica no mayor de 16 caracteres. Asumido: blanco. LIMIT: Valor máximo que puede llegar a tomar el contador. Ejemplo: COUNTERS: 1, TRABAJOS RECHAZ., 500; El identificador del contador número 1 es TRABAJOS RECHAZ. y su límite de conteo es 500. Cuando el contador 1 llega a 500, se detiene la corrida de simulación. 5. Elemento RESOURCES Define las características del recurso, incluyendo su nombre y capacidad inicial. El número del recurso debe ser asignado consecutivamente, empezando en 1 siguiendo el orden de aparición 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: Número 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 número del recurso.

16

TECNICAS DE SIMULACION El rango de números de recursos asignado a un nombre de recurso define la dimensión 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 parámetros asociados a las variables aleatorias SIMAN. El número y significado de los parámetros depende de la variable aleatoria que es referenciada con el parámetro de señalización dentro de la distribución. Como se muestra en la siguiente tabla: Distribución Exponencial (EX) Erlang (ER) Uniforme (UN) Triangular (TR) Normal (RN) Lognormal (RL) Gamma (GA) Beta (BE) Poisson (NP) Weibull (WE) Empírica (DP)

P1 P2 P3 Media Media K Mínimo Máximo Mínimo Medio Máximo Media Desviación Media Desviación Beta Alpha Theta Phi Media Beta Alpha Prob. Acum., Valor, …, Repetición Constante (CO) Valor Constante Tabla 1.5 Descripción de los parámetros asociados a las variables aleatorias SIMAN

PARAMETERS: N, P, ... , P: REPETICION; N: Número del parámetro de señalización especificado como una constante entera. P: Valor del parámetro de la distribución 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 parámetros. Si el primero se refiere a una distribución normal (RN) corresponde a una media de 3.0 y una desviación estándar de 1.2. Si el segundo par metro de señalización se refiere a una distribución 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 número de corridas a ejecutar, el instante de inicio de la primera corrida, la longitud máxima, en tiempo, de cada corrida y la inicialización en las condiciones a ser consideradas entre las corridas. Si este elemento se omite, se ejecuta una sola corrida que debe finalizar por otra vía. REPLICATE, NRUN, TBEG, DTRUN, ISYS, ISTAT; NRUN: Número de corridas de simulación 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 máxima de cada corrida, especificada como una constante real. Asumido: Infinito. ISYS: Opción de reinicializar o no el estado del sistema para cada corrida, especificado como YES, NO. Asumido: YES. ISTAT: Opción para eliminar o no las observaciones previas entre corridas, especificadas como YES, NO. Asumido: YES. Ejemplo: REPLICATE, 5, 0, 100, NO; Se harán 5 corridas, la primera de las cuales empieza con TNOW = 0. Cada corrida tendrá una longitud máxima de 100 y el estado del sistema no será reiniciado entre las corridas. Las estadísticas en los 5 reportes de resumen corresponderán al registro de las observaciones durante 500 unidades de tiempo de operación del sistema, con las observaciones agrupadas en 5 intervalos de longitud 100 cada uno. 8. Elemento DSTAT Se utiliza para obtener una estadística temporal de las variables de cambio discreto en un sistema.

18

TECNICAS DE SIMULACION DSTAT: N, DVAR, ID, NUNIT: REPETICION; N: Número DSTAT especificado como un entero. DVAR: Variable de cambio discreto a la cual se le registra la estadística 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 máximo de 16 caracteres alfanuméricos. Asumido: blanco. NUNIT: Unidad de salida en que se registran los cambios de cada variable, especificada por una constante entera. Su valor es incrementado automáticamente en uno en las siguientes corridas. Si no se especifica, los valores se destruyen. Ejemplo: DSTAT: 1, NQ(1), LONG. DE COLA; La variable número 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 instrucción a la otra y el procesamiento de cada entidad (recursos utilizados, asignación de variables, etc.) en cada instrucción. TRACE, DTBT, DTFT, TC, VAR, ..., VAR; DTBT: Tiempo después del instante de inicio de la simulación a partir del cual comenzará la traza. Asumido: 0.0. DTFT: Tiempo después del instante de inicio de la simulación en que debe terminar la traza. Asumido: Infinito. TC: Condición de investigación, especificado como una condición. Asumido: investigarlo todo. VAR: Nombre de cualquier variable SIMAN o atributo que se desea mostrar durante la investigación. 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 después. 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 selección de los elementos dentro de un fichero. REGLAS DE SELECCION FIFO: Las entidades se seleccionan basándose en el tiempo de inserción en el fichero. Tienen mayor prioridad las inserciones más tempranas. LIFO: Las entidades se seleccionan basándose en el tiempo de inserción en el fichero. Tienen mayor prioridad las inserciones más tardías. LVF(K): Las entidades se seleccionan de acuerdo con el valor del atributo número 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 número K de la entidad. Tienen mayor prioridad las que mayor valor posean en este atributo. RANKINGS: N, MRANK: ... ; N: Número del fichero o rango de ficheros (N1-N2) en los cuales se aplica el criterio de selección. MRANK: Criterio de selección 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 según LIFO. Los otros ficheros que no se especifican, utilizan la regla de selección de entidades FIFO. 11. Elemento TRANSPORTERS Define las características de los transportadores utilizados en el modelo de simulación. TRANSPORTERS: N, TNAME, TCAP, NDS, VEL, P-S, ...: REPETICION; N: Número del transportador asignado a este tipo, especificado como un entero. TNAME: Nombre del transportador, especificado como caracteres alfanuméricos con una longitud máxima de 8. TCAP: Número de unidades disponibles del transportador de este tipo, especificadas como un entero. Asumido: 1.

20

TECNICAS DE SIMULACION NDS: Número de relación 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 número entero. Asumido: 1.0. P-S: Posición inicial y status de cada unidad del transportador, donde P es un entero que da el número de la estación y S es el carácter del status A o I correspondiente a activo o inactivo. Asumido: la primera estación 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 número de relación de distancias 1. La velocidad de cada una de las tres unidades de GRUA es 1.0. GRUA(1), empieza en la estación 1 y es activa, GRUA(2) empieza en la estación 2 y es activa y GRUA(3) empieza en la estación 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 estación listada en el número de señalización 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: Número de relación de distancias, especificado como un entero. ML-MU: Rango de número de estaciones incluido en el conjunto, especificado como enteros. dij: Distancia entre la estación i y la estación 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 número de relación 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 ejecución de una corrida de simulación es posible que dos o más entidades deban arribar simultáneamente a bloques diferentes, y el orden en el cual esos eventos simultáneos son procesados puede afectar en mayor o menor medida los resultados de la simulación. En los casos más simples la presencia de eventos simultáneos 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 simultáneos. 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 próximo bloque a la que entrará la entidad y el instante en que debe hacerlo. Los registros de eventos de todas las entidades están almacenados en el calendario de eventos (fichero de eventos) el cual va indicando la próxima acción a ejecutar. El SIMAN ejecuta la simulación tomando repetidamente el próximo evento del calendario de eventos y procesando el movimiento de la entidad por todos los bloques que sea posible hasta que la misma encuentre algún tipo de demora o sea destruida. El SIMAN continúa este proceso moviendo una entidad cada vez hasta que la corrida de simulación termina. Solo existen excepciones a este proceso cuando se presentan eventos simultáneos, considerándose los casos siguientes: a. Dos o más entidades son creadas (CREATE) al mismo tiempo. b. Dos o más entidades salen de bloques DELAY al mismo tiempo. c. Una o más entidades son creadas (CREATE) y una o más entidades salen de bloques DELAY al mismo tiempo. d. Dos o más entidades son ramificadas simultáneamente en bloques BRANCH. e. Una o más 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 están 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 continuación 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

1

.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

1

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 características generales del lenguaje, las instrucciones y elementos más utilizados explicados arriba, se procede a detallar la secuencia lógica que se debe seguir para editar los modelos en la microcomputadora así como para su compilación, 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 instrucción que debe aparecer en la columna 1 es BEGIN, la que tiene el siguiente formato: BEGIN, BSEQ, ISEQ, ILIST; BSEQ: Número de secuencia asignado al primer bloque en el modelo. Asumido: 10. ISEQ: Incremento que se adiciona al número 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

Descripción Etiquetas de las instrucciones. Operandos dentro de un segmento de línea separados por comas; segmentos de línea separados por dos puntos, los modificadores del bloque (si hay) siguiendo el último segmento de línea; la instrucción termina con punto y coma.

25

TECNICAS DE SIMULACION Los comentarios deben estar a continuación de un punto y coma en la columna 1. La última instrucción del modelo debe ser la instrucción END escrita en las columnas 1-3, seguida por un punto y coma en la columna 4. END; es la última instrucción leída por el procesador del sistema. Al editarse el modelo de simulación en un programa determinado, llamémosle 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 algún error, da un mensaje inmediatamente después de la instrucción en que se ha encontrado. Si MODEL detecta algún error, anótese la instrucción en que se ha producido y corríjase en el programa que se creó inicialmente con el editor de programas (EJEMPLO.MOD). Repítase todo el procedimiento anterior hasta que no se detecte ningún 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 introducción de los elementos del experimento es muy similar al de introducción de las instrucciones del sistema, diferenciándose ú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 sólo pueden ser precedidos por PROJECT. Esto es, si se crea EJEMPLO.EXP con el editor de programas, después 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 corrección 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

Después 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 cuestión sea ejecutado sin dificultades. 1.6.4 EJECUCION DEL PROGRAMA

La ejecución del fichero de programa generado por el LINKER se realiza llamando al programa SIMAN. A continuación 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 algún error durante la ejecución, se imprime un mensaje de error que describe la naturaleza de éste, se imprime un reporte resumen SIMAN y se termina la ejecución del programa.

1.7 ANALISIS DE RESULTADOS EN UN EXPERIMENTO DE SIMULACION Con la introducción de variables aleatorias en una simulación, las variables utilizadas para medir el comportamiento de un sistema también tienen el carácter de variables aleatorias. Los valores medidos no son más que muestras, y deben ser usados para estimar los parámetros de la distribución a la cual los mismos pertenecen. Un estudio de simulación es usualmente planeado como una serie de corridas que tienen el objetivo de comparar un número de variantes en la estructura de un sistema o sus condiciones

27

TECNICAS DE SIMULACION de operación. Como norma, el término experimento significará la prueba del comportamiento de un sistema bajo varios conjuntos de condiciones. El término corrida significará la ejecución de la simulación para una de las configuraciones experimentales. Una observación será la medición de una variable del sistema. En términos generales, los problemas estadísticos asociados con un estudio de simulación se clasifican en dos grandes clases: a. Problemas de planeamiento estratégico, relacionados con el diseño de los experimentos. b. Problemas de planeamiento táctico, relacionados específicamente con la forma en que debe ser conducido el experimento de simulación. El planeamiento estratégico debe determinar las mediciones que servirán para juzgar las características del sistema y como probar el grado de significación de diferencias en estas medidas. El planeamiento táctico 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 estratégico resulta bastante independiente de las técnicas de simulación. Dado que la simulación es un experimento de muestreo, es importante interpretar sus resultados dentro del marco de las estadísticas. No es posible simplemente correr una simulación para una muestra de tamaño arbitrario y entonces interpretar los resultados como una "verdad". En su lugar se debe especificar la exactitud estadística de los resultados de la misma. Como es conocido, cuando se toman observaciones de una variable aleatoria perteneciente a una población que tiene distribución de probabilidad estacionaria con media M y varianza S 2, ~ la media muestral X es también una variable aleatoria, que según lo establecido por el teorema del límite central, tiene una distribución que tiende a la distribución normal con media M y varianza S2 / n. Tomando la variable normal estándar:

Z

~ 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 práctica, la varianza de la población S2 no es usualmente conocida; en cuyo caso es reemplazado por un estimado dado por la fórmula:

28

TECNICAS DE SIMULACION

1 n ~ ~ S2 (X i  X )2  n 1 i 1 En esta situación el valor de Z  / 2 utilizado en el intervalo se determina de la distribución t de Student; pero si n  30 puede utilizarse la distribución normal. El método para determinar el intervalo de confianza visto anteriormente se basa en las condiciones siguientes: a. Las observaciones realizadas deben ser independientes. b. La distribución de la cual son tomadas las observaciones debe ser estacionaria. En términos generales muchas de las estadísticas de interés en una simulación no cumplen con dichas condiciones. Por ejemplo, cuando se desea estimar el tiempo medio de espera en una cola con una estación de servicio, el procedimiento más 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 fácilmente 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 característica de la auto correlación no tiene una influencia determinante en el cálculo 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 población por la simple expresión de s 2 / n , como ocurre para una serie de datos independientes. Otro problema que debe ser encarado es el hecho de que la distribución puede no ser estacionaria. En particular, cuando una corrida de simulación es comenzada con el sistema en una situación total de inactividad, por ejemplo, una línea de espera totalmente vacía, los valores medidos durante un período de la corrida estarán sesgados, mientras que a medida de la longitud de la corrida se extiende y el tamaño 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 tamaño 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 simulación: a. La simulación puede comenzar con el sistema en un estado más representativo. b. La primera parte de cada corrida puede ser ignorada a los efectos de la recogida de información.

29

TECNICAS DE SIMULACION En algunos estudios de simulación, particularmente de sistemas existentes, puede disponerse de información que pueda ser utilizada para seleccionar mejores condiciones iniciales que el estado de inactividad. El enfoque más comúnmente utilizado para evitar el sesgo inicial es eliminar la primera sección de la corrida. La corrida es comenzada en el estado de inactividad y detenida después de un cierto período de tiempo. Las variables de estado del sistema son mantenidas con sus valores y la corrida se recomienza pero ahora recolectando información a partir del nuevo comienzo. La práctica usual es programar la simulación recogiendo información desde el principio, y simplemente desechar la estadística recogida hasta el momento de recomenzar. No existen reglas simples para decidir tamaño de la corrida a eliminar, aunque se recomienda realizar una corrida piloto partiendo del sistema inactivo y valerse de un gráfico donde se plotee el comportamiento del valor estimado contra la longitud de la corrida, y se observe el proceso de estabilización 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 números aleatorios para el mismo tamaño 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 números aleatorios. Sea Xij la i-ésima observación 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

n

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 estabilización inicial. La forma de eliminar esta desventaja es ejecutar las corridas consecutivamente, usando las condiciones finales de una corrida como condiciones iniciales de la próxima. 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 períodos extra de estabilización es la posibilidad de que estas observaciones no sean estadísticamente independientes. Sin embargo, haciendo las corridas suficientemente largas, la correlación entre las observaciones puede reducirse apreciablemente. Para ambos métodos la repetición de las corridas debe brindar entre 15 y 20 observaciones independientes, las que resultarán suficientes para el establecimiento de los intervalos. Como aspecto final se recomienda que cuando la simulación envuelva la comparación de varias alternativas para el sistema, el procedimiento apropiado es reproducir la misma secuencia de números aleatorios para cada alternativa, lo que permitiría una mejor base de comparación para el comportamiento del sistema bajo cada alternativa. 30

TECNICAS DE SIMULACION El método para calcular el intervalo de confianza H difiere dependiendo de si se está simulando un sistema con término o sin término. Un sistema con término es aquel que presenta un evento final perfectamente identificable que define la conclusión de la corrida de simulación. Un ejemplo de sistema con término es uno que cierra a intervalos regulares, por ejemplo un banco o una fábrica. Un sistema sin término es aquel que no termina o que funciona ininterrumpidamente, por ejemplo, la sala de emergencia de un hospital o una central telefónica. A los efectos del análisis, se considerará con término, para un período definido de estudio, a aquellos sistemas que son realmente sin término. Por ejemplo, para el estudio del comportamiento de una línea de ensamblaje que opere continuamente se puede considerar un periodo de estudio de 2 años (longitud de la corrida), y el evento que finaliza la simulación corresponde al fin del periodo adoptado. 1.7.2.1 Sistemas con Término En los sistemas con término el estado inicial del sistema y la condición de terminación son definidos por el propio sistema, y resulta de interés 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 término no puede ser manipulada, la única forma de incrementar el tamaño de la muestra es mediante la repetición de corridas utilizando series diferentes de números aleatorios y, aunque las observaciones dentro de una corrida pueden estar correlacionadas, las observaciones entre corridas serán independientes. ~ Entonces, definiendo como la muestra una observación ( X ) para cada corrida se pueden utilizar las expresiones presentadas en el epígrafe 7.2 y aplicar las técnicas estadísticas convencionales. 1.7.2.2 Sistemas sin Término Como se definió anteriormente los sistemas sin término son aquellos que pueden funcionar indefinidamente. Para estos sistemas es de interés 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 condición límite en el funcionamiento del sistema, la cual nunca es completamente alcanzada en un experimento de simulación. Lo anterior se debe a que las condiciones iniciales, que es necesario fijar en todo experimento de simulación, introducen un sesgo en los resultados que ya fueron tratados anteriormente. Dos factores deben ser analizados cuando se decide cuántas observaciones deben ser ignoradas hasta alcanzar el estado de funcionamiento estable del sistema. Si se sobrestima la longitud del período transiente entonces se pierden observaciones que son válidas para el estado estable. Por otra parte, si se subestima dicho período entonces se consideran observaciones que contribuyen a sesgar los resultados estadísticos. Aunque se han propuesto algunas reglas para seleccionar el período de truncación, no existe método completamente satisfactorio y quizás la forma más práctica de actuar sea la de estimar el punto de truncación a partir de gráficos o diagramas de barras que sigan la respuesta del sistema en el tiempo. En los sistemas sin término se pueden incrementar el tamaño de la muestra ampliando la longitud de una corrida única o replicando la corrida con diferentes números aleatorios.

31

TECNICAS DE SIMULACION La forma más práctica 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 también 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 autocorrelación entre los lotes, se selecciona un tamaño de lote que sea grande con relación al mayor intervalo entre observaciones que produzca una correlación significativa. Ya en esta situación pueden aplicarse las expresiones presentadas en el epígrafe 7.2. Existen dos consideraciones cuando se desea seleccionar el tamaño del lote en el procedimiento anterior. Por una parte, se debe seleccionar un tamaño de lote grande para asegurar la independencia y normalidad en la muestra (valor promedio de cada lote). Por otra parte, se desea reducir el tamaño del lote para obtener una muestra mayor y lograr mayor precisión en el estimado del intervalo de confianza. La adecuación del tamaño 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 número total de lotes en que ha sido dividida la corrida. Se calcula la media de las medias, o sea: ~ 1 X N

N

~

X j 1

j

y la variable N 1

C B 1 

~

(X j 1

j

~  X j 1 ) 2

N ~ ~ 2  (X j  X )2 j 1

Asumiendo que las Xj son independientes y están 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 correlación entre las medias de lotes adyacentes. Ahora puede realizarse una dócima de hipótesis donde se pruebe: H0: CB = 0 contra: H1: CB =/ 0 en la cual se rechaza H0 (independencia) en favor de H1 (correlación entre lotes) para un nivel de confianza si el estadígrafo

Z

CB ( N  2) ( N 2  1)

es mayor que Z  / 2 , donde Z  / 2 se determina a partir de la distribución normal estándar.

32

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

1.8 EJEMPLOS DE APLICACION A continuación se muestran algunos ejemplos de aplicación, 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 simulación SIMAN. 1.8.1 EJEMPLO 1

En una ensambladora de televisores hay una estación de control de la calidad al final de la línea en la cual se chequea el funcionamiento de los equipos. Si se detecta que algún equipo necesita ajuste se envía, el mismo, a un puesto de ajuste donde luego de ajustado se retorna a la estación 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 estación de control sigue una distribución uniforme entre 3.5 y 7.5 minutos, que el tiempo de inspección es también uniforme entre 6 y 12 minutos y que el tiempo que toma el ajuste es uniforme entre 20 y 40 minutos. Estadísticamente se tiene que el 15 % de los televisores necesitan algún 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 producción mecánica está compuesto por un taladro y dos tornos. El tipo de trabajo 1 debe ser procesado primero por el taladro y después por el torno. La atención en la cola de los trabajos es FIFO. Determine el tiempo promedio utilizado en el procesamiento de cada trabajo y el número 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

2

10

8

-

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

Tiempo entre Arribo 14.0 Exponencial (3.0)

Los datos de tiempo están dados en minutos. 

MODELO DEL SISTEMA

En este ejemplo, como existen dos entidades con características diferentes, se crea cada una de ellas por separado. Utilizándose 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 características experimentales que presenta este proceso. O sea, se define que habrá como máximo 100 entidades simultáneamente en el sistema con dos atributos cada una de ellas. Se dan los identificadores para los resultados estadísticos que definen el comportamiento del tiempo en el sistema de cada tipo de entidad. Se determinan las variables SIMAN que reflejarán el comportamiento del sistema, las características de los recursos utilizados y los parámetros 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 categorías, en dependencia de la gravedad de su dolencia. Los pacientes de la categoría 1, son los de mayor gravedad y, son enviados inmediatamente a una cama donde esperan por la atención médica. Los pacientes de las restantes categorías deben esperar en la recepción, donde se les toman los datos de admisión, hasta que haya una cama disponible. Los pacientes arriban de acuerdo a una distribución Poisson con un tiempo promedio entre arribos que varía durante el día de acuerdo al siguiente comportamiento: Período 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 admisión. Tiene, además, 2 médicos en el horario de 8:00 AM a 12:00 PM y un médico durante la madrugada. El tiempo que toma la admisión de los pacientes de las categorías 2 a la 5 es de 0,15 horas, y el tiempo de atención a cada paciente está uniformemente distribuido con parámetros diferentes de acuerdo a la categoría del mismo, como se muestra en la siguiente tabla: Categoría 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 categoría y la utilización de las camas, los médicos 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 fabricación automática formado por dos máquinas herramientas controladas numéricamente y un robot industrial. El procesamiento de todas las tareas sigue la misma secuencia, o sea, la máquina 1 siempre es seguida por la máquina 2. El tiempo de procesamiento de cada máquina se distribuye normalmente con una media de 42 segundos y una desviación estándar de 2 segundos. Las tareas son transportadas por el robot desde la estación de arribo a la máquina 1, procesadas en la máquina 1, después transportadas por el robot a la máquina 2, procesadas por ésta y, por último, transportadas (por el robot) a la estación de salida. Toda la manipulación de materiales se realiza automáticamente por el robot controlado por computadora, el que también responde a los requerimientos de transporte desde la estación de arribo hasta la estación de salida. Los requerimientos de transporte son enviados automáticamente al robot cuando una tarea arriba al sistema o termina su servicio en una máquina. La regla de prioridad a que están sometidas las tareas en cada estación de servicio es: FIFO. El tiempo requerido por el robot para insertar o sacar una pieza de una máquina o tomar o liberar una pieza en la estación de arribo o de salida sigue una distribución uniforme entre 6 y 8 segundos. El tiempo entre arribos se distribuye exponencialmente con media de 124 segundos. La distancia desde la estación de arribo a las máquinas es de 120 centímetros, la distancia entre máquinas, de 100 centímetros y la distancia entre la última máquina y la estación de salida, 72 centímetros. El robot se mueve a 20 centímetros/segundo.

39

TECNICAS DE SIMULACION Simule el sistema por 14400 segundos para determinar el tiempo permitido que la pieza permanece en el sistema, la utilización de cada máquina y del robot y el número de piezas que espera en la estación de arribo. 

MODELO DEL SISTEMA

Para modelar este sistema, el mismo, se descompone en cuatro submodelos. Dichos submodelos son conectados a través del sistema de manipulación de materiales, el cual está compuesto por una unidad de transporte llamada ROBOT. El ROBOT se utiliza para mover las entidades (tareas) a través de los cuatro submodelos de estación. Las cuatro estaciones están numeradas de la 1 a la 4 y representan la estación de arribo, las estaciones de las dos máquinas y la estación 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 instrucción CREATE y pasa a la instrucción ASSIGN, donde el atributo de estación toma valor 1. Después la entidad entra en la instrucción 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 instrucción QUEUE donde espera en el fichero 2 con prioridad 1 al transportador ROBOT. La entidad es después transportada por el ROBOT de la estación 1 a la estación 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 lógica de procesamiento de una tarea es muy similar en las máquinas 1 y en la 2, por ello utilizamos la facilidad macro del SIMAN para modelar simultáneamente estas dos estaciones. Una entidad que arriba a la máquina 1 ó 2 entra en el submodelo de máquinas de la instrucción STATION con el número de estación 2 ó 3, respectivamente. La entidad continúa al bloque DELAY, donde se retarda por el tiempo requerido para arribar a la máquina. Después la entidad libera al ROBOT y entra en la segunda instrucción DELAY, donde es retrasada según el tiempo del procesamiento de la tarea en la máquina. Después de este retardo la entidad pasa a la instrucción BRANCH, donde es enviada a una instrucción QUEUE en dependencia del atributo de estación de la entidad. Si la entidad está en la estación 2 (máquina 1), es enviada a la instrucción con etiqueta GETMACH2, de lo contrario, es enviada a la instrucción con la etiqueta GETROBOT. Una entidad enviada a GETMACH2 representa una tarea que ha sido procesada completamente por la máquina 1 y espera en el fichero 3 por que se le asigne una unidad del recurso MACHINE(2). Después la entidad entra en la instrucción 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 máquina 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 máquina. La entidad libera entonces la máquina apropiada y es después transportada por el ROBOT a la próxima estación. El proceso de salida de la tarea se modela en el cuarto submodelo de estación. Una entidad entra en el submodelo de salida con una instrucción STATION y pasa a una instrucción DELAY donde se retarda el tiempo requerido por el ROBOT para llevar la pieza completa a la estación de salida. Después la entidad libera al ROBOT y se registra una estadística 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 quedaría: 

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 después de definir el nombre, el autor y la fecha de realización del reporte resumen con el elemento PROJECT, se define en DISCRETE que habrá un máximo de 20 entidades simultáneamente 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 estadísticamente. RESOURCES define los recursos indexados con nombre MACHINE en los cuales se asume una unidad de este recurso. Las características del ROBOT se definen en el elemento TRANSPORTERS. Este elemento especifica en el número de señalización de la distancia 1, una capacidad de 1, una velocidad de 20.0, la posición inicial en la estación 1 y el status inicial activo. DISTANCES especifica las distancias del número de señalización de distancias 1 entre todos los pares de estaciones conectados desde la 1 hasta la 4. Con PARAMETERS se especifican los parámetros que caracterizan las distribuciones utilizadas en el modelo del sistema, los cuales se identifican entre ambos modelos por el número de señalización del parámetro. 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 continuación. Este reporte muestra que se utilizan las máquinas 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 utilización de las máquinas incluye el tiempo requerido por la tarea para ser transportada e introducida a la máquina, 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 Además de los procesadores analizados anteriormente que permiten arribar al resultado de la simulación, existe un procesador de salidas interactivo, por medio del cual se obtienen gráficos estadísticos que facilitan el análisis de las variables que se desean. Para poder obtener los gráficos es necesario introducir ciertos cambios en el modelo del experimento: 1. Especificar en el elemento TALLIES y/o DSTAT (según la variable que se va a analizar) el número del fichero en que se desea guardar los valores de las variables muestreadas, para cada variable debe darse un número de fichero diferente a partir del 11. Ejemplo: TALLIES: 1, TIEMPO EN SISTEMA, 11; 2. Cuando van a efectuarse repeticiones de corridas (réplicas) en la simulación es necesario incluir en el modelo del experimento el elemento OUTPUT cuya función es definir las variables de salida cuyos valores deben ser almacenados al final de cada réplica para luego calcular los intervalos de confianza. La descripción de este elemento es la siguiente: OUTPUT: N, VAR, NU: REPETICION; donde: N: Número 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 continuación) de este capítulo. NU: Número del fichero de salida, especificado como un entero.

43

TECNICAS DE SIMULACION Ejemplo: OUTPUT: 1, TAVG(1), 13; Variable de Salida Descripción TAVG(N) Obtiene el valor promedio de la variable N del TALLY. TSTD(N) Obtiene la desviación standard de la variable N del TALLY. TMAX(N) Obtiene el máximo valor de la variable N del TALLY. TMIN(X) Obtiene el mínimo valor de la variable N del TALLY. DAVG(N) Obtiene el valor promedio de la variable N del DSTAT. DSTD(N) Obtiene la desviación estándar de la variable N del DSTAT. DMAX(N) Obtiene el máximo valor de la variable N del DSTAT. DMIN(N) Obtiene el mínimo valor de la variable N del DSTAT. DPRD(N) Obtiene el período de tiempo para la variable N del DSTAT. Tabla 1.6 Variables de salida del comando OUTPUT Después de la introducción de estos cambios, el modelo se compila, enlaza y corre de la misma forma, sin apreciarse ningún cambio. 1.9.1 INSTRUCCIONES DEL PROCESADOR OUTPT

Para obtener las salidas gráficas es necesario interactuar con el procesador OUTPT. La primera instrucción 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 información de salida del procesador OUTPT. El valor asumido para NU es cero, en cuyo caso no se genera fichero auxiliar. A continuación se describe el formato de algunas de las instrucciones que posibilitan las salidas gráficas. 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 estándar. Los operandos son: PLOT, TITULO, TIETIQ, TIN, TFIN, DTPLOT: NUI, VARETIQ, SIMB, MINORD, MAXORD: REPETICION;

44

TECNICAS DE SIMULACION TITULO: Título del ploteo, especificado con un máximo de 20 caracteres. TIETIQ: Etiqueta de la abcisa de tiempo del ploteo, especificada con un máximo 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: Número 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 máximo de 8 caracteres. SIMB: Símbolo utilizado para plotear la variable dependiente, especificado con un carácter alfabético. 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 observación mínima. Si se especifica MIN(NU), se utiliza el valor de la menor observación más 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 observación más cercana a NU. Asumido: MAX. 3. BARCHART Genera un gráfico de barras de la variable que se observa. Con este gráfico 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: Título del gráfico de barras, especificado con un máximo de 20 caracteres. ETIQ: Etiqueta de la abcisa de la variable independiente (número de observaciones) con un máximo de 8 caracteres. VARETIQ: Etiqueta de la abcisa de la variable dependiente, con un máximo de 8 caracteres. XIN: Número de la observación inicial. XFIN: Número de la observación final. NUI: Número 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 gráfico de resumir el comportamiento de un conjunto de observaciones, agrupando éstas, en celdas. Cada celda está definida por límites: inferior y superior. Las observaciones que son mayores o iguales que el límite inferior de la celda pero menores que el límite superior, se incluyen en la celda. A la diferencia entre los límites se le llama ancho de la celda. El número de observaciones que se registran en cada celda es la frecuencia absoluta de la celda, y este número dividido entre el número 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: Título del histograma, especificado con un máximo de 20 caracteres. NCEL: Número de las celdas interiores, especificado como una constante. LINF: Límite inferior de la primera celda interior, especificado como una constante. ANCHO: Ancho de cada celda interior, especificado como una constante. NUI: Número del fichero en que se encuentran las observaciones para el histograma. NUFRER: Número del fichero en que se desean almacenar las frecuencias relativas de las celdas calculadas en el histograma. Asumido: no se guardan. NUFREC: Número 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 simulación. La variable independiente de la tabla puede ser el tiempo simulado o el número de la observación 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 instrucción es el siguiente: TABLE, TITULO, IETIQ, XBEG, XEND, DX: NUI, DETIQ: REPETICION; TITULO: Título de la tabla, 20 caracteres como máximo. 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: Número del fichero donde se encuentra la variable dependiente. DETIQ: Etiqueta de la variable dependiente. 6. CORRELOGRAM Genera un diagrama de correlación para una variable muestreada en la simulación. La instrucción 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 instrucción son: CORRELOGRAM, TITULO, NLAGS, NUI, NUC; TITULO: Título del diagrama, máximo de 20 caracteres. NLAGS: Número de intervalos a incluir en el diagrama. NUI: Número del fichero donde se encuentra la información de la variable muestreada. NUC: Número 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 idénticamente distribuidas. Los operandos son: INTERVALS, TITULO: NUI, ETIQ; TITULO: Título de la tabla, hasta 20 caracteres. NUI: Número 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 construcción confronta problemas con la transportación de paneles y vigas prefabricadas desde el centro de construcción hasta la zona de edificaciones donde se está construyendo. El sistema de transportación está integrado por 4 rastras y 2 grúas, y opera de la forma que se describe a continuación. Una de las grúas está situada en la planta de prefabricado donde su función es cargar las rastras, lo que hace en un tiempo aleatorio con distribución normal de media 20 minutos y desviación estándar de 2 minutos. Una vez cargadas, las rastras se dirigen hacia la zona de edificaciones con un viaje de duración aleatoria uniformemente distribuida entre 16 y 20 minutos. En esa zona se encuentra la segunda grúa que descarga las rastras con un tiempo exponencialmente distribuido con media de 18 minutos. Después de descargar las rastras, éstas regresan al centro de prefabricado y este viaje sigue una distribución uniforme entre 10 y 14 minutos. Utilizando SIMAN determine las características 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