texto capitulo iii (lenguaje siman)

Upload: tupakpqz

Post on 06-Mar-2016

520 views

Category:

Documents


6 download

DESCRIPTION

Lenguaje siman

TRANSCRIPT

  • TABLA DE CONTENIDO

    1 LENGUAJE SIMAN ..........................................................................................................................................11.1 INTRODUCCION .........................................................................................................................................11.2 CARACTERISTICAS DE LA MODELACION EN SIMAN ...................................................................................2

    1.2.1 VARIABLES EN SIMAN Y DISTRIBUCIONES PROBABILISTICAS..............................................31.2.2 MODIFICADORES .........................................................................................................................41.2.3 SINTAXIS DEL SIMAN....................................................................................................................51.2.4 CARACTERISTICAS DE LOS TIPOS DE OPERANDOS ...............................................................5

    1.3 MODELO DEL SISTEMA...............................................................................................................................61.4 MODELO DEL EXPERIMENTO ...................................................................................................................141.5 CONSIDERACIONES SOBRE EL FUNCIONAMIENTO DEL SIMAN................................................................221.6 EDICION, COMPILACION, ENLACE Y CORRIDA DE PROGRAMAS EN SIMAN ..............................................25

    1.6.1 EDICION DEL MODELO DEL SISTEMA ....................................................................................251.6.2 EDICION DEL MODELO DEL EXPERIMENTO.........................................................................261.6.3 ENLACE DE LOS FICHEROS SISTEMA Y EXPERIMENTO ......................................................271.6.4 EJECUCION DEL PROGRAMA ...................................................................................................27

    1.7 ANALISIS DE RESULTADOS EN UN EXPERIMENTO DE SIMULACION .........................................................271.7.1 ELIMINACION DEL SESGO INICIAL..........................................................................................291.7.2 REPETICION DE CORRIDAS ......................................................................................................30

    1.7.2.1 Sistemas con Trmino ............................................................................................................................... 311.7.2.2 Sistemas sin Trmino ................................................................................................................................ 31

    1.8 EJEMPLOS DE APLICACION .....................................................................................................................331.8.1 EJEMPLO 1...................................................................................................................................331.8.2 EJEMPLO 2...................................................................................................................................351.8.3 EJEMPLO 3...................................................................................................................................371.8.4 EJEMPLO 4...................................................................................................................................39

    1.9 PROCESADOR DE SALIDAS: OUTPT .........................................................................................................431.9.1 INSTRUCCIONES DEL PROCESADOR OUTPT.........................................................................441.9.2 EJEMPLO......................................................................................................................................48

  • TECNICAS DE SIMULACION

    1

    1 LENGUAJE SIMAN

    1.1 INTRODUCCION

    El lenguaje SIMAN (SIMulation ANalisis), como producto de software, se comenz autilizar en 1984. Es un lenguaje de simulacin basado en el FORTRAN, y el mismo se apoyaen 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, yposee un conjunto de facilidades que lo hacen particularmente til en la modelacin desistemas de produccin, especialmente cuando los mismos contienen componentesimportantes referidos al manejo de materiales.

    La estructura de los modelos en SIMAN est basada en un enfoque terico-conceptual el cualhace una distincin fundamental entre dos componentes del modelo de simulacin: el modelodel sistema y el modelo del experimento. El modelo del sistema define y describe lascaractersticas estticas y dinmicas del sistema a ser simulado, mientras que el modelo delexperimento define las condiciones experimentales bajo las cuales se desarrollarn lascorridas de la simulacin para generar la informacin de salida deseada. Este enfoque explotael hecho de que para un modelo de sistema especfico puede haber diferentes modelos deexperimento dando como resultado diferentes conjuntos de informacin de salida. De estaforma, separando el modelo del sistema y el del experimento, pueden ser desarrolladasdiferentes corridas de simulacin cambiando solamente el modelo del experimento, pues eldel sistema permanece inalterable.

    La tcnica primaria que utiliza el lenguaje para la modelacin de sistemas con cambiosdiscretos es la orientacin al proceso, en la cual el modelo es construido siguiendo laoperacin funcional del sistema a ser simulado. Una segunda variante es la orientacin alevento, en la cual el usuario incluye sus propias subrutinas FORTRAN para representar suseventos especficos.

    Como se muestra en la Figura 1, una simulacin utilizando el SIMAN se divide en tres partesdistintas: el procesamiento del modelo, el procesamiento del experimento y la corrida desimulacin con el anlisis de los resultados. Para ejecutar estas tres partes el SIMAN cuentacon cinco programas procesadores individuales los cuales interactan mediante cuatroficheros.

    1. El procesador del modelo (MODEL) es utilizado para procesar el modelo del sistemapreviamente editado. El fichero generado es llamado fichero del modelo.

    2. El procesador del experimento (EXPMT) opera sobre la edicin del modelo delexperimento. El fichero generado es llamado fichero del experimento.

    3. El programa enlazador (LINKER), combina el fichero del modelo con el del

  • TECNICAS DE SIMULACION

    2

    experimento, produciendo el fichero del programa de simulacin listo para lascorridas.

    4. El fichero del programa es la entrada para el procesador de las corridas de simulacin(SIMAN), el cual las ejecuta y almacena los resultados en el fichero de datos de salida.

    5. El procesador de salidas analiza, organiza y presenta la informacin contenida en elfichero de datos de salida.

    Esta divisin de los programas procesadores resulta muy til ya que slo uno de los cinco seejecuta cada vez, lo que reduce los requerimientos de memoria y, a la vez, permite crear ysalvar los ficheros obtenidos oportunamente.

    Figura 1.1 Procesamiento de un modelo de simulacin utilizando SIMAN

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

    1.2 CARACTERISTICAS DE LA MODELACION EN SIMAN

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

  • TECNICAS DE SIMULACION

    3

    El SIMAN se caracteriza por dividir el modelo de simulacin en dos partes (o conjuntos deinstrucciones en lenguaje SIMAN):

    1. Modelo del sistema.

    2. Modelo del experimento.

    Se le llama modelo del sistema a aquella parte que describe la secuencia lgica del procesoque se desea simular utilizando instrucciones SIMAN.

    El modelo del experimento es la parte del que define las caractersticas cuantitativas que tomacada uno de los componentes descritos en el modelo del sistema, determinndose adems enel mismo, los resultados que se desean en la simulacin por medio del SIMAN.

    1.2.1 VARIABLES EN SIMAN Y DISTRIBUCIONES PROBABILISTICAS

    SIMAN permite definir los atributos de las entidades, utilizar variables asignadas por elusuario, variables o funciones del sistema y variables aleatorias del lenguaje, las que sedescriben en las siguientes tablas:

    Atributos DescripcinA(I) Valor real del atributo I de la entidad activa.M Atributo de la entidad que denota el nmero de la estacin en donde

    se encuentra la misma.Tabla 1.1 Descripcin de los atributos de las entidades

    Variables asignadas por el usuario DescripcinX(I) Valor real de la variable global del sistema I.

    J Variable ndice del sistema, entera.P(I,K) Valor del parmetro nmero K en la variable ndice I.

    Tabla 1.2 Descripcin de las variables asignadas por el usuario

    Variables SIMAN DescripcinTNOW Tiempo en curso en el sistema.NE(I) Nmero de entidades que van a la estacin I.NQ(I) Nmero de entidades que esperan en la cola I.NC(I) Valor del contador I.NR(I) Nmero de unidades ocupadas del recurso I.NT(I) Nmero de unidades ocupadas del transportador I.MR(I) Nmero de unidades del recurso I.MT(I) Nmero de unidades del transportador I.LC(I) Longitud de las celdas ocupadas en el conveyor I.

    Tabla 1.3 Descripcin de las variables o funciones del sistema

  • TECNICAS DE SIMULACION

    4

    Distribuciones aleatorias DescripcinEX(IP,IS) Distribucin exponencial.UN(IP,IS) Distribucin uniforme.TR(IP,IS) Distribucin triangular.RN(IP,IS) Distribucin normal.NP(IP,IS) Distribucin poisson.DP(IP,IS) Distribucin de probabilidad discreta.RL(IP,IS) Distribucin lognormal.GA(IP,IS) Distribucin gamma.BE(IP,IS) Distribucin beta.WE(IP,IS) Distribucin Weibull.

    CO(IP) Una constante.RA(IS) Nmero aleatorio uniforme en el intervalo 0-1.ED(I) Distribucin experimental nmero I.Tabla 1.4 Descripcin de las distribuciones aleatorias

    Donde:

    IP: Parmetro de relacin. Establece la relacin entre la distribucin en el modelo del sistemay los parmetros de la distribucin en el modelo del experimento.

    IS: Indicador de la cadena de la cual obtendremos los nmeros aleatorios, debe estarcomprendida entre 1 y 9.

    1.2.2 MODIFICADORES

    Los modificadores se colocan despus del ltimo operando en la lnea de instruccin,separndose de stos por dos puntos, y pueden ser una o ms de las palabras claves siguientes:DISPOSE, MARK(MA) NEXT(LABEL). Los modificadores se separan entre si por mediode comas. A continuacin se ofrece una breve descripcin acerca de la utilizacin de cadauno de ellos:

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

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

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

    Si DISPOSE y NEXT(LABEL) se omiten, se asume que las entidades de salida se dirigensecuencialmente a la prxima instruccin.

  • TECNICAS DE SIMULACION

    5

    1.2.3 SINTAXIS DEL SIMAN

    Para poder utilizar el lenguaje SIMAN en una aplicacin determinada e introducirlo en lamquina con vistas a su ejecucin, se recomienda tener en cuenta los siguientes aspectossintcticos:

    1. Las instrucciones pueden estar divididas en uno o ms segmentos de lnea. Unsegmento de lnea es una agrupacin de operandos dentro de una lnea de instruccin.El nmero de segmentos de lnea y de operandos dentro de cada segmento de lneadepende del tipo de instruccin.

    2. Los segmentos de lnea se separan entre si con dos puntos (:). Cada campo deoperando se separa del campo anterior con una coma (,). Para especificar el fin decada instruccin se utiliza el punto y coma (;).

    3. Los operandos pueden ser especficos u opcionales en dependencia de cadainstruccin. Todo operando opcional tiene una entrada asumida preestablecida, la cuales asignada al omitir el campo de entrada. Sin embargo, las comas son siemprenecesarias para separar campos en blanco dentro de un segmento de lnea.

    4. Una lnea con punto y coma (;) en la primera columna es ignorada y puede serutilizada para comentarios.

    5. Todos los blancos dentro de una instruccin son ignorados, excepto los que estndentro de una etiqueta o nombre de campo. Los blancos pueden ser utilizados paraseparar una instruccin de entrada a travs de una o varias lneas.

    6. Cada instruccin de entrada est restringida de la columna 1 a la 74. Adems unoperando no puede ser dividido entre dos lneas de entrada.

    7. En el presente manual se diferencian las instrucciones usadas en el modelo del sistemay el del experimento, denominndose instrucciones a las instrucciones del sistema yelementos, a las del experimento.

    8. Se especificar en los elementos del modelo del experimento la posibilidad de escribirsegmentos de lnea, con las mismas caractersticas que la mostrada, mediante lapalabra REPETICION.

    1.2.4 CARACTERISTICAS DE LOS TIPOS DE OPERANDOS

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

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

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

  • TECNICAS DE SIMULACION

    6

    ETIQUETA: Cadena de caracteres alfanumricos que comienza con uno alfabtico. Sulongitud mxima es de 8 caracteres. (Ej.: SEGUIR, SALIR).

    PALABRA CLAVE: Cadena alfabtica que contiene un significado especfico enSIMAN. (Ej.: DISPOSE).

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

    EXPRESION: Expresin computada con variables SIMAN usando los operadores +(suma), - (resta), * (multiplicacin), / (divisin) y ** (exponenciacin), conagrupaciones entre parntesis (Ej.: A(1)*(X(1)-2)**2).

    CONDICION: Instruccin que relaciona expresiones mediante los operadores ".OR."(disyuncin), ".AND." (conjuncin), ".EQ." (igualdad), ".LT." (menor que), ".GT."(mayor que), ".LE." (menor e igual), ".GE." (mayor e igual), y ".NE." (no igual), congrupos formados utilizando parntesis ().

    1.3 MODELO DEL SISTEMA

    A continuacin se describen algunas instrucciones del SIMAN, sus componentes y aplicacin.Estas pueden aparecer en cualquier orden dentro de la estructura del programa de simulacinsegn lo requiera el modelo diseado por el usuario, sin olvidar que el mismo, debe respondera una secuencia lgica de eventos y procesos.

    1. CREATE (Creacin de entidades).

    CREATE, NB: TBC, MC: MODIFICADORES;

    NB: Nmero de entidades que arriban en cada grupo, especificado como una constante enterao X(K), donde K es un entero. Asumido: 1.

    TBC: Tiempo entre la creacin de grupos de entidades, especificado como una expresin.Asumido: 1.

    MC: Nmero mximo de grupos que se pueden crear, especificado como una constanteentera o X(K) donde K es un entero. Asumido: Infinito.

    Ejemplo:

    CREATE, X(1): EX(2,1),12;

    El nmero de entidades en cada grupo de arribos est especificado por la variable X(1). Eltiempo entre arribos sigue una distribucin exponencial con parmetro de relacin 2 y seutiliza la cadena de nmeros aleatorios 1. El nmero mximo de grupos de entidades creadases 12.

  • TECNICAS DE SIMULACION

    7

    2. ASSIGN (Asignacin de valores a variables y atributos).

    ASSIGN: VAR = VALUE: MODIFICADORES;

    VAR: A(I), X(I), P(I,K), J, M.VALUE: Una expresin numrica.

    Ejemplo:

    ASSIGN: J = (M**2 - 1) / 3;

    La variable ndice J toma el valor de la expresin de la derecha donde M es el valor delatributo de la estacin en que se encuentra la entidad.

    3. QUEUE (Colas).

    QUEUE, IFL, QC, LBALK: MODIFICADORES;

    IFL: Nmero del fichero en que esperan las entidades.

    QC: Capacidad de la cola, especificada como A(I), X(I) o I. Asumido: Infinito.

    LBALK: Etiqueta de la instruccin a la cual se enva las entidades que no pueden esperar enla cola. Asumido: se destruyen las entidades que no pueden esperar.

    Ejemplo:

    QUEUE, 1, X(3), SAL;

    Las entidades que arriban a la instruccin se colocan en el fichero 1. La capacidad de la colaest dada por el valor en curso de X(3). Las entidades que arriban a la instruccin cuando lacola est llena, se envan a la instruccin con etiqueta SAL.

    4. DELAY (Retardo de la entidad por un tiempo definido).

    DELAY: DURACION: MODIFICADORES;

    DURACION: Una expresin que describe el tiempo de retardo. Asumido: 0.0.

    Ejemplo:

    DELAY: A(1);

    El tiempo de retardo de la entidad es el valor del atributo 1 de la misma. Se asume que elvalor de A(1) fue previamente asignado mediante una instruccin ASSIGN con el tiempo deretardo deseado.

  • TECNICAS DE SIMULACION

    8

    5. WAIT, SIGNAL (Retardo de las entidades por tiempo indefinido).

    La instruccin WAIT debe estar precedida por una instruccin QUEUE.

    WAIT: NSIG: MODIFICADORES;

    SIGNAL: NSIG: MODIFICADORES;

    NSIG: El cdigo de la seal, especificado como A(I), X(I) o I.

    Ejemplo:

    QUEUE, 1;WAIT: A(1);

    |SIGNAL: 2;

    Las entidades que arriban al bloque WAIT se colocan en el fichero 1. El cdigo de la seal decada entidad en el fichero viene dado por el primer atributo de la entidad. Cuando una entidadarriba al bloque SIGNAL, todas las entidades en el fichero 1 que tienen A(1) = 2 sonremovidas de ste y liberadas por el bloque WAIT.

    6. TALLY, COUNT (Registro de las observaciones).

    La instruccin TALLY registra estadsticamente el valor de una variable especificada a cadaarribo a la instruccin. La variable a registrar puede ser cualquier expresin vlida enSIMAN, INT(K) o BET(K). Donde K es un entero. INT(K) registra TNOW - A(K) y BET(K)registra TNOW - X(K).

    La instruccin COUNT incrementa un contador en un determinado valor a cada arribo de laentidad y puede ser utilizada para finalizar la corrida de simulacin cuando el contadoralcance un determinado valor que se especifica en el modelo del experimento.

    TALLY: N, VAR: MODIFICADORES;

    N: Nmero identificador del tally especificado como A(I), X(I) o I.

    VAR: Valor que ser registrado especificado como una expresin SIMAN o INT(K) oBET(K), donde K es entero.

    Ejemplo:

    TALLY: 1, INT(2);

    El valor TNOW - A(2) es almacenado en el tally nmero 1 al llegar cada entidad a lainstruccin. Se asume que A(2) ha sido marcado con el valor de TNOW en una instruccinprecedente. Cada observacin corresponde al tiempo simulado transcurrido desde lainstruccin en que la entidad fue marcada hasta la instruccin TALLY.

  • TECNICAS DE SIMULACION

    9

    COUNT: N, INC: MODIFICADORES;

    N: Nmero del contador especificado como A(I), X(I) o I.

    INC: Incremento del contador especificado como A(I), X(I) o I. Asumido: 1.

    Ejemplo:

    COUNT: 1, 1;

    El contador nmero 1 se incrementa en 1 cada vez que arriba a esta instruccin una entidad.Si el nuevo total de conteo es mayor o igual que el lmite del contador #1 en el modelo delexperimento termina la corrida.

    7. SEIZE, RELEASE (Recursos simples).

    La instruccin SEIZE se utiliza para determinar las necesidades de los recursos utilizados porla entidad. Siempre debe estar precedida por la instruccin QUEUE. RELEASE libera losrecursos utilizados por la entidad.

    SEIZE, PR: RNAME, NR: MODIFICADORES;

    RELEASE: RNAME, NR: MODIFICADORES;

    PR: Prioridad de solicitud de recursos, especificado como A(I), X(I) o I. Asumido: 1.

    RNAME: Nombre del recurso que se desea utilizar.

    NR: Nmero entero de unidades de recurso necesarias, especificado como A(I), X(I) o I.Asumido: 1.

    Ejemplo:

    QUEUE, 1;SEIZE: WORKERS, 2;DELAY: UN(1,1);RELEASE: WORKERS, 2;

    Las entidades que arriban a la cola, intentan tomar 2 unidades del recurso WORKERS. Sicuando arriban no hay unidades disponibles, stas esperan en el fichero 1 hasta que hayan 2unidades disponibles. Por otra parte, las entidades que toman 2 unidades de WORKERS, vana la instruccin DELAY donde son retrasadas una cantidad de tiempo aleatoria que sigue unadistribucin uniforme con parmetro de relacin 1 y utiliza la cadena de nmeros aleatorios 1.Este tiempo de retardo representa el tiempo requerido por la entidad para completar elservicio. Despus, la entidad sigue a la instruccin RELEASE donde sta libera dos unidadesde WORKERS, las que quedan disponibles para ser asignadas a otras entidades en unainstruccin SEIZE.

  • TECNICAS DE SIMULACION

    10

    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 comoun entero.

    N2: ndice superior del rango de las estaciones incluidas en el submodelo, especificado comoun entero. Asumido: N1.

    ROUTE: DURACION, NS: MODIFICADORES;

    DURACION: Tiempo que demora enviar una entidad a la estacin NS, especificado comouna constante o expresin. Asumido: 0.0.

    NS: Nmero de la estacin de la instruccin STATION a la cual ser enviada la entidad,especificado como A(I), X(I) o I.

    Ejemplo:

    ROUTE: EX(2,1), 6;|

    STATION, 1-6;

    ROUTE enva las entidades a la estacin 6 con un tiempo de traslado que sigue unadistribucin exponencial. STATION denota el submodelo de las estaciones 1 a la 6. Todaslas entidades enviadas a las estaciones dentro de este rango deben entrar por dicha instruccin.

    9. ALTER, PREEMPT (Variacin de las cantidades y prioridades de los recursos).

    ALTER: RNAME, CC: MODIFICADORES;

    RNAME: Nombre del recurso cuya disponibilidad ser variada, incluyendo el ndice delrecurso (si tiene).

    CC: Cambio de la capacidad del recurso, especificado como A(I), X(I) o I.

    Ejemplo:

    ALTER: WORKER, -1;

    El nmero de unidades del recurso WORKER se decrementa en 1.

    PREEMPT, PR: RNAME, NA, LSEND: MODIFICADORES;

    PR: Prioridad de solicitud de recursos. Nmero entero especificada como A(I), X(I) o I.Asumido: 1.

    RNAME: Nombre del recurso a ser priorizado.

  • TECNICAS DE SIMULACION

    11

    NA: Nmero del atributo de la entidad, que est utilizando inicialmente el recurso, en el quese almacena el tiempo de servicio que an le queda por recibir a dicha entidad en el momentoen que es desplazada del recurso.

    LSEND: Etiqueta de la instruccin en la que esperar la entidad que ha sido desplazada.Asumido: QUEUE del anterior SEIZE (o PREEMPT) donde el recurso fue asignado.

    A diferencia del bloque SEIZE, PREEMPT puede asignar recursos que estn siendo utilizadosen ese momento por una entidad, si la que los solicita tiene una prioridad mayor. Lasactividades en el PREEMPT son ms priorizadas mientras menor nmero de prioridad posea.Solo asigna una unidad de recurso.

    Ejemplo:

    PREEMPT, A(1): TOOL, 2, REWORK;

    Las entidades que arriban tratan de asegurar el derecho de prioridad de una unidad del recursoTOOL, tomando en cuenta la prioridad que viene especificada en su primer atributo. Eltiempo que le resta a la entidad a la que se le priva temporalmente del recurso TOOL seguarda en su segundo atributo y es enviada a la instruccin REWORK.

    10. RESOURCES(N) (Recursos indexados).

    Los recursos indexados se utilizan en submodelos y se caracterizan por un nombre comn yun ndice entre parntesis. Por ejemplo: MACH(1) y MACH(2), donde, MACH(1) puederepresentar 2 tornos idnticos en la estacin 1 y MACH(2) representar 5 taladros idnticos enla estacin 2.

    Cuando el atributo de estacin M es empleado en una combinacin QUEUE-SEIZE oQUEUE-PREEMPT, en ambos el nmero de fichero y el ndice del recurso deben estarespecificados como una funcin de M.

    Ejemplo:

    STATION, 1-10;QUEUE, M;SEIZE: MACH(M);DELAY: UN(A(1),1);RELEASE: MACH(M);

    Cuando una entidad pasa por la instruccin STATION el atributo de estacin esautomticamente actualizado. En el ejemplo, entre los valores 1 y 10. Las entidades pasan ala combinacin QUEUE-SEIZE donde intentan tomar una unidad del recurso MACH(M). Sitodas las unidades de este recurso estn ocupadas, la entidad espera en el fichero M hasta quese libere una unidad de ste recurso. Al ocupar una unidad de MACH(M), la entidad continaa la instruccin DELAY donde se retarda un tiempo que sigue una distribucin uniforme.Posteriormente la entidad arriba a RELEASE donde libera una unidad del recurso MACH(M).

  • TECNICAS DE SIMULACION

    12

    11. BRANCH (Alternativas).

    Al arribar una entidad a la instruccin BRANCH, se envan copias de sta a cada una de lasramificaciones seleccionadas. A la copia de la entidad enviada a la primera ramaseleccionada del BRANCH le llamaremos entidad primaria del BRANCH, y a las copiasenviadas a las restantes ramas: entidades secundarias del BRANCH.

    Las ramificaciones asociadas al BRANCH pueden ser de 3 tipos:

    a. La probabilstica asociada a la expresin WITH, P, que es seleccionada aleatoriamentecon probabilidad P. La suma de las probabilidades dadas en las diferentes alternativasWITH debe ser, como mximo, 1.

    b. La determinstica asociada a las expresiones ALWAYS o ELSE. Si se especificaALWAYS, a la rama en cuestin se enviar siempre una copia de la entidad. Si loespecificado es ELSE, se enviar una copia de la entidad si y solo si alguna de lasramas anteriores a sta no ha sido seleccionada.

    c. La condicional, especificada por IF, C, la cual se selecciona si la condicin que Cespecifica es verdadera.

    BRANCH, MAXTAKE: IF, C, LABEL:WITH, P, LABEL:ALWAYS 'o ELSE, LABEL;

    MAXTAKE: Nmero mximo de ramificaciones a las que sern enviadas las copias de lasentidades de arribo, especificado como un entero. Asumido: Infinito.

    P: Probabilidad para seleccionar una ramificacin probabilstica, especificada como unaconstante o expresin entre 0 y 1.

    C: Condicin que contiene operadores relacionales y lgicos.

    LABEL: Etiqueta de la instruccin a la cual ser enviada una copia de la entidad.

    Ejemplo:

    BRANCH, 2:IF, A(1).EQ.1, CONTINUE:WITH, A(2), RESTART:ELSE, EXIT;

    La primera ramificacin (condicional) se toma si se cumple que el primer atributo de laentidad es igual a uno. La segunda ramificacin (probabilstica) se toma con la probabilidaddada por el segundo atributo de la entidad. La ltima ramificacin (determinstica) se toma sialguna o ninguna de las ramificaciones anteriores ha sido tomada.

  • TECNICAS DE SIMULACION

    13

    12. REQUEST, TRANSPORT, FREE (Transportadores).

    El trmino transportador denota una clase general de recursos mviles que pueden serasignados a las entidades. Cada transportador tiene su localizacin en una estacin especficadel sistema y requiere tiempo para viajar de una estacin a otra. Entre los objetos quepudieran ser modelados como transportadores estn: las gras, las carretillas y losmanipuladores mecnicos.

    Delante de toda instruccin REQUEST debe estar una instruccin QUEUE. Siempre que seutilice en la combinacin QUEUE-REQUEST el atributo de estacin M, el nmero delfichero y el ndice del transportador deben ser especificados como una funcin de M.

    REGLAS DE SELECCION DE TRANSPORTADORES

    CYC: Selecciona la primera unidad del transportador disponible, empezando con elsucesor de la ltima unidad seleccionada.

    RAN: Selecciona aleatoriamente las unidades del transportador disponible.

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

    SDS: Selecciona el transportador ms cercano a la estacin.

    LDS: Selecciona el transportador ms alejado a la estacin.

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

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

    REQUEST, PR: TUNIT: MODIFICADORES;

    PR: Prioridad para la solicitud del transportador. Nmero entero, especificado como A(I),X(I) I. Asumido: 1.

    TUNIT: Unidad de transportador, especificada mediante el ndice M (+, -) K, o con losparmetros (TSR, NA) aadidos, donde: TSR es la regla de seleccin del transportadorespecificada como CYC, RAN, POR, SDS, LDS, UR(K) o ER(N) y NA es el nmero delatributo de la entidad solicitante en la cual se asigna el ndice de la unidad del transportadorseleccionada.

    TRANSPORT: TUNIT, NS: MODIFICADORES;

    FREE: TUNIT: MODIFICADORES;

    TUNIT: Unidad del transportador, especificada como un nombre indexado utilizando elndice A(I), X(I) o I.

    NS: Nmero de la estacin destino, especificado como A(I), X(I) o I.

  • TECNICAS DE SIMULACION

    14

    Ejemplo:

    QUEUE, 1;REQUEST: CART(SDS, 1);TRANSPORT: CART(A(1)), 2;

    |STATION, 2;

    |FREE: CART(A(1));

    Una entidad que arriba a la instruccin REQUEST solicita la unidad del transportador CARTque se encuentre ms cercana y est disponible. Si no hay unidades disponibles, la entidadespera en el fichero 1. En caso contrario, la unidad ms cercana disponible de CART seasigna a la entidad y el ndice de la unidad seleccionada se almacena en el atributo 1 de lamisma. La entidad sale del bloque REQUEST seguida por un retardo correspondiente altiempo requerido por la unidad seleccionada para viajar de la estacin donde se encuentrahacia donde est la entidad. Despus la entidad entra en la instruccin TRANSPORT dondees transportada con CART(A(1)) a la estacin nmero 2. El tiempo de viaje a la estacin 2 escomputado por SIMAN basado en la distancia que hay desde donde se encuentra la entidad ala estacin 2 y la velocidad de CART, las cuales son especificadas en el modelo delexperimento. Al arribar a la estacin 2, la entidad contina hasta la instruccin FREE, dondese libera CART(A(1)). Esta unidad de CART queda disponible para ser asignada a otrasentidades en el bloque REQUEST.

    1.4 MODELO DEL EXPERIMENTO

    Por medio de este modelo se logra especificar las condiciones experimentales en que sedesenvuelve la simulacin que se est analizando y que ha sido descrita en el modelo delsistema. Esta especificacin se da a travs de elementos.

    A continuacin se brindan un conjunto de elementos que se pueden combinar para describirlas condiciones de experimento especficas de una corrida de simulacin. Ntese que de unmismo modelo de simulacin podemos obtener diferentes resultados al cambiar los elementosen el modelo del experimento.

    1. Elemento PROJECT

    Se utiliza para identificar el reporte estadstico resumen del SIMAN, que creaautomticamente el procesador de corrida, cuando este elemento se incluye en el modelo delexperimento.

    PROJECT, TITULO, ANALISTA, MES/DIA/AO;

    TITULO: Ttulo del reporte, especificado como un campo alfanumrico con longitud nomayor de 20 caracteres. Asumido: blanco.

    ANALISTA: Nombre del analista, especificado como campo alfanumrico con longitud nomayor de 20 caracteres. Asumido: blanco.

  • TECNICAS DE SIMULACION

    15

    MES/DIA/AO: Fecha de entrada, especificada con 3 enteros separados por /. Asumido:1/1/2000

    Ejemplo:

    PROJECT, TALLER, IVAN MENES, 01/01/2000;

    2. Elemento DISCRETE

    Define variables asociadas a sistemas discretos y a modelos de componentes discretos.

    DISCRETE, MENT, MATB, NFIL, NSTA;

    MENT: Nmero mximo de entidades que pueden estar simultneamente en el sistema,especificado con una constante entera. Asumido: 0.

    MATB: Nmero mximo de atributos de propsito general asociado con una entidad,especificado como una constante entera. Asumido: 0.

    NFIL: Nmero de ficheros en el sistema, especificado como una constante entera. Asumido:0.

    NSTA: Nmero de estaciones en el sistema, especificado como una constante entera.Asumido: 0.

    Ejemplo:

    DISCRETE, 100, 3, 3;

    Se cuenta con 100 registros disponibles, o sea, puede haber 100 entidades simultneamente enel sistema. Cada entidad tiene 3 atributos los cuales se denotan como: A(1), A(2) y A(3) y sereservan 3 ficheros en el sistema.

    3. Elemento TALLIES

    Define el identificador del reporte y la unidad de salida de las estadsticas registradas enmodelos discretos. TALLIES se incluye siempre que se utilice la instruccin TALLY ocuando la subrutina TALLY se utiliza en modelos de eventos discretos.

    TALLIES: N, ID, NUNIT: REPETICION;

    N: Nmero del TALLY, especificado como una constante entera.

    ID: Identificador del reporte, especificado como una cadena alfanumrica no mayor de 16caracteres. Asumido: blanco.

    NUNIT: Nmero de la unidad de salida en la cual sern almacenadas las observacionesindividuales, especificado por una constante entera. Este valor se incrementa

  • TECNICAS DE SIMULACION

    16

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

    Ejemplo:

    TALLIES: 1, TIEMPO EN COLA;

    El identificador del reporte del nmero del TALLY 1 es TIEMPO EN COLA. Como no seespecifica ninguna unidad de salida, se destruyen las observaciones individuales.

    4. Elemento COUNTERS

    Define el identificador del reporte y el lmite de conteo de los contadores utilizados enmodelos discretos. COUNTERS se incluye siempre que se utilice la instruccin COUNT ocuando la subrutina COUNT se utiliza en modelos de eventos discretos.

    COUNTERS: N, ID, LIMIT: REPETICION;

    N: Nmero del contador especificado como constante entera.

    ID: Identificador del reporte, especificado como una cadena alfanumrica no mayor de 16caracteres. Asumido: blanco.

    LIMIT: Valor mximo que puede llegar a tomar el contador.

    Ejemplo:

    COUNTERS: 1, TRABAJOS RECHAZ., 500;

    El identificador del contador nmero 1 es TRABAJOS RECHAZ. y su lmite de conteo es500. Cuando el contador 1 llega a 500, se detiene la corrida de simulacin.

    5. Elemento RESOURCES

    Define las caractersticas del recurso, incluyendo su nombre y capacidad inicial.

    El nmero del recurso debe ser asignado consecutivamente, empezando en 1 siguiendo elorden de aparicin que se representa en el modelo del sistema. Este es usado en lugar delnombre del recurso como un argumento en las variables SIMAN.

    RESOURCES: N, RNAME, NCAP: REPETICION;

    N: Nmero del recurso especificado como una constante entera.

    RNAME: Nombre del recurso.

    NCAP: Capacidad inicial del recurso especificada como una constante entera. Asumido: 1.

    Para definir recursos indexados, la nica diferencia consiste en que N viene dado por el rangoN1-N2 donde N1 y N2 son enteros que definen el menor y mayor nmero del recurso.

  • TECNICAS DE SIMULACION

    17

    El rango de nmeros de recursos asignado a un nombre de recurso define la dimensin delrecurso indexado. Si el rango es especificado de N1 a N2, entonces N2-N1+1 son los tipos derecursos definidos, cada uno de los cuales tiene el mismo nombre y pueden ser direccionadospor 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 comoTALADRO(1) con una capacidad inicial de 2 y el tercero como TALADRO(2) con unacapacidad inicial de 4. Los recursos del 4 al 7 son llamados: OBRERO(1), OBRERO(2),OBRERO(3) y OBRERO(4) con una capacidad inicial cada uno de 3 unidades.

    6. Elemento PARAMETERS

    Define los parmetros asociados a las variables aleatorias SIMAN.

    El nmero y significado de los parmetros depende de la variable aleatoria que esreferenciada con el parmetro de sealizacin dentro de la distribucin. Como se muestra enla siguiente tabla:

    Distribucin P1 P2 P3Exponencial (EX) Media - -

    Erlang (ER) Media K -Uniforme (UN) Mnimo Mximo -Triangular (TR) Mnimo Medio Mximo

    Normal (RN) Media Desviacin -Lognormal (RL) Media Desviacin -

    Gamma (GA) Beta Alpha -Beta (BE) Theta Phi -

    Poisson (NP) Media - -Weibull (WE) Beta Alpha -Emprica (DP) Prob. Acum., Valor,

    , Repeticin- -

    Constante (CO) Valor Constante - -Tabla 1.5 Descripcin de los parmetros asociados a las variables aleatorias SIMAN

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

    N: Nmero del parmetro de sealizacin especificado como una constante entera.

    P: Valor del parmetro de la distribucin que se analiza, especificado como una constantereal.

  • TECNICAS DE SIMULACION

    18

    Ejemplo:

    PARAMETERS:1, 3.0, 1.2:2, 0.3, 1, 0.9, 2, 1.0, 3;

    Se especifican 2 parmetros. Si el primero se refiere a una distribucin normal (RN)corresponde a una media de 3.0 y una desviacin estndar de 1.2. Si el segundo par metro desealizacin se refiere a una distribucin de probabilidad discreta (DP) la variable aleatoriatoma el valor de 1, 2 o 3 con probabilidad acumulada de 0.3, 0.9 y 1.0 respectivamente.

    7. Elemento REPLICATE

    Este elemento especifica el nmero de corridas a ejecutar, el instante de inicio de la primeracorrida, la longitud mxima, en tiempo, de cada corrida y la inicializacin en las condicionesa ser consideradas entre las corridas. Si este elemento se omite, se ejecuta una sola corrida quedebe finalizar por otra va.

    REPLICATE, NRUN, TBEG, DTRUN, ISYS, ISTAT;

    NRUN: Nmero de corridas de simulacin que se desea ejecutar, especificado como unaconstante entera. Asumido: 1.

    TBEG: Tiempo de inicio de la primera corrida, especificado como una constante real.Asumido: 0.0.

    DTRUN: Longitud mxima de cada corrida, especificada como una constante real. Asumido:Infinito.

    ISYS: Opcin de reinicializar o no el estado del sistema para cada corrida, especificado comoYES, NO. Asumido: YES.

    ISTAT: Opcin para eliminar o no las observaciones previas entre corridas, especificadascomo YES, NO. Asumido: YES.

    Ejemplo:

    REPLICATE, 5, 0, 100, NO;

    Se harn 5 corridas, la primera de las cuales empieza con TNOW = 0. Cada corrida tendr unalongitud mxima de 100 y el estado del sistema no ser reiniciado entre las corridas.

    Las estadsticas en los 5 reportes de resumen correspondern al registro de las observacionesdurante 500 unidades de tiempo de operacin del sistema, con las observaciones agrupadas en5 intervalos de longitud 100 cada uno.

    8. Elemento DSTAT

    Se utiliza para obtener una estadstica temporal de las variables de cambio discreto en unsistema.

  • TECNICAS DE SIMULACION

    19

    DSTAT: N, DVAR, ID, NUNIT: REPETICION;

    N: Nmero DSTAT especificado como un entero.

    DVAR: Variable de cambio discreto a la cual se le registra la estadstica del tiempo depermanencia, especificada como X(K), NE(K), NQ(K), NR(K), NT(K), LC(K), MR(K) oMT(K) donde K es entero (ver tablas 2 y 3 para recordar su significado).

    ID: Identificador para la salida en el reporte resumen, especificada con un mximo de 16caracteres alfanumricos. Asumido: blanco.

    NUNIT: Unidad de salida en que se registran los cambios de cada variable, especificada poruna constante entera. Su valor es incrementado automticamente en uno en las siguientescorridas. Si no se especifica, los valores se destruyen.

    Ejemplo:

    DSTAT: 1, NQ(1), LONG. DE COLA;

    La variable nmero 1 es la longitud de la cola 1 del sistema y se muestra por el identificadorLONG DE COLA. Los valores que va tomando la variable no se almacenan.

    9. Elemento TRACE

    Se utiliza para obtener trazas que detallan el movimiento de las entidades de una instruccin ala otra y el procesamiento de cada entidad (recursos utilizados, asignacin de variables, etc.)en cada instruccin.

    TRACE, DTBT, DTFT, TC, VAR, ..., VAR;

    DTBT: Tiempo despus del instante de inicio de la simulacin a partir del cual comenzar latraza. Asumido: 0.0.

    DTFT: Tiempo despus del instante de inicio de la simulacin en que debe terminar la traza.Asumido: Infinito.

    TC: Condicin de investigacin, especificado como una condicin. Asumido: investigarlotodo.

    VAR: Nombre de cualquier variable SIMAN o atributo que se desea mostrar durante lainvestigacin. Pueden ser especificados hasta 4. Asumido: no mostrar los valores.

    Ejemplo:

    TRACE, 0, 10, M.EQ.1.OR.M.EQ.2, A(1), NQ(1), M;

    La traza comenzar con TNOW = 0 y terminar 10 unidades de tiempo despus. Este serealizar solo para las estaciones 1 y 2. Los valores de A(1), NQ(1), y M son especificadoscomo variables auxiliares de salida que se desea mostrar durante la traza.

  • TECNICAS DE SIMULACION

    20

    10. Elemento RANKINGS

    Se utiliza para determinar la regla de seleccin de los elementos dentro de un fichero.

    REGLAS DE SELECCION

    FIFO: Las entidades se seleccionan basndose en el tiempo de insercin en el fichero. Tienenmayor prioridad las inserciones ms tempranas.

    LIFO: Las entidades se seleccionan basndose en el tiempo de insercin en el fichero. Tienenmayor prioridad las inserciones ms tardas.

    LVF(K): Las entidades se seleccionan de acuerdo con el valor del atributo nmero K de laentidad. Tienen mayor prioridad las que menor valor posean en este atributo.

    HVF(K): Las entidades se seleccionan de acuerdo con el valor del atributo nmero K de laentidad. Tienen mayor prioridad las que mayor valor posean en este atributo.

    RANKINGS: N, MRANK: ... ;

    N: Nmero del fichero o rango de ficheros (N1-N2) en los cuales se aplica el criterio deseleccin.

    MRANK: Criterio de seleccin especificado como FIFO, LIFO, HVF(K), LVF(K), donde Kes 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 elatributo 2, siendo mas prioritaria la que menor valor posea. En el fichero 6 se seleccionan lasentidades segn LIFO. Los otros ficheros que no se especifican, utilizan la regla de seleccinde entidades FIFO.

    11. Elemento TRANSPORTERS

    Define las caractersticas de los transportadores utilizados en el modelo de simulacin.

    TRANSPORTERS: N, TNAME, TCAP, NDS, VEL, P-S, ...: REPETICION;

    N: Nmero del transportador asignado a este tipo, especificado como un entero.

    TNAME: Nombre del transportador, especificado como caracteres alfanumricos con unalongitud mxima de 8.

    TCAP: Nmero de unidades disponibles del transportador de este tipo, especificadas como unentero. Asumido: 1.

  • TECNICAS DE SIMULACION

    21

    NDS: Nmero de relacin de distancias. Relaciona este elemento con el elementoDISTANCES, especificado como un entero. Asumido: 1.

    VEL: Velocidad de cada unidad de transportador especificada como un nmero entero.Asumido: 1.0.

    P-S: Posicin inicial y status de cada unidad del transportador, donde P es un entero que da elnmero de la estacin y S es el carcter del status A o I correspondiente a activo o inactivo.Asumido: la primera estacin en el set de distancias y A o el ltimo P-S que entr para estetipo 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 puedenvisitar, se especifican en DISTANCES con el nmero de relacin de distancias 1. Lavelocidad de cada una de las tres unidades de GRUA es 1.0. GRUA(1), empieza en la estacin1 y es activa, GRUA(2) empieza en la estacin 2 y es activa y GRUA(3) empieza en laestacin 2 y es inactiva. La velocidad de CARRETA es de 3.0; como el campo P-S estomitido, CARRETA comienza activa en la primera estacin listada en el nmero desealizacin de distancia 2.

    12. Elemento DISTANCES

    Se utiliza con el elemento TRANSPORTERS para definir las distancias de viaje entre todoslos pares de estaciones que el transportador puede visitar.

    DISTANCES: N, ML-MU, dij, ... : REPETICION;

    N: Nmero de relacin de distancias, especificado como un entero.

    ML-MU: Rango de nmero de estaciones incluido en el conjunto, especificado comoenteros.

    dij: Distancia entre la estacin i y la estacin j, especificada como entero. Los valores dij (j>i)representan los elementos de la matriz de distancia, tomada por filas con cada dij separadopor comas (,) y cada fila separada por un slash (/).

    Ejemplo:

    DISTANCES: 1, 1-5, 10, 2, 7, 5/ 7, 3, 4/ 2, 6/ 3;

    Este elemento define el nmero de relacin de distancias 1, o sea, las distancias entre todoslos pares de estaciones en el rango de la 1 a la 5, con las distancias dadas en la siguientematriz triangular superior:

  • TECNICAS DE SIMULACION

    22

    De\A 2 3 4 51 10 2 7 52 - 7 3 43 - - 2 64 - - - 3

    1.5 CONSIDERACIONES SOBRE EL FUNCIONAMIENTO DEL SIMAN

    En la ejecucin de una corrida de simulacin es posible que dos o ms entidades deban arribarsimultneamente a bloques diferentes, y el orden en el cual esos eventos simultneos sonprocesados puede afectar en mayor o menor medida los resultados de la simulacin.

    En los casos ms simples la presencia de eventos simultneos no representa un problema, peroen los modelos complejos es importante para el analista comprender las reglas de desempateutilizadas por el SIMAN para procesar los eventos simultneos.

    El orden en que las entidades en movimiento son procesadas es controlado por el "calendariode eventos" del SIMAN. Este es una secuencia ordenada en el tiempo de registros de eventosque el SIMAN usa para mantener la pista de cada entidad en el sistema. El registro del eventopara una entidad define el prximo bloque a la que entrar la entidad y el instante en que debehacerlo. Los registros de eventos de todas las entidades estn almacenados en el calendario deeventos (fichero de eventos) el cual va indicando la prxima accin a ejecutar.

    El SIMAN ejecuta la simulacin tomando repetidamente el prximo evento del calendario deeventos y procesando el movimiento de la entidad por todos los bloques que sea posible hastaque la misma encuentre algn tipo de demora o sea destruida. El SIMAN contina esteproceso moviendo una entidad cada vez hasta que la corrida de simulacin termina. Soloexisten excepciones a este proceso cuando se presentan eventos simultneos, considerndoselos casos siguientes:

    a. Dos o ms entidades son creadas (CREATE) al mismo tiempo.

    b. Dos o ms entidades salen de bloques DELAY al mismo tiempo.

    c. Una o ms entidades son creadas (CREATE) y una o ms entidades salen de bloquesDELAY al mismo tiempo.

    d. Dos o ms entidades son ramificadas simultneamente en bloques BRANCH.

    e. Una o ms entidades son removidas o copiadas de bloques QUEUE por bloquesHOLD, tales como: REMOVE, COPY o MATCH.

    En los primeros tres casos la regla de desempate aplicada procesa los eventos en el mismoorden en que aparecen en el calendario de eventos.

    En el cuarto caso, las entidades son procesadas en el mismo orden en que estn especificadasen el bloque BRANCH.

  • TECNICAS DE SIMULACION

    23

    En el ltimo caso se procesan las entidades removidas o copiadas en orden inverso al que sonremovidas o copiadas, es decir, la ltima entidad removida o copiada es la primera en serprocesada.

    Ejemplo:

    En el ejemplo a continuacin se muestra el funcionamiento de las reglas de desempateutilizando la traza (TRACE) de las variables NQ(1), NC(1) y NC(2).

    MODELO DEL SISTEMA

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

    CREATE;BRANCH:

    ALWAYS, PRIMER:ALWAYS, SEGUNDO;

    PRIMER REMOVE: 1, 1, UNO: DISPOSE;SEGUNDO REMOVE: 1, 1, DOS: DISPOSE;UNO COUNT: 1, 1: DISPOSE;DOS COUNT: 2, 1: DISPOSE;END;

    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)

  • TECNICAS DE SIMULACION

    24

    -------------------------------------------------------------------------------

    .0000E+00CREATE Entity batch size 2 createdQUEUE Entity placed in file 1

    1.000 .000 .000

    .0000E+00QUEUE Entity placed in file 1

    2.000 .000 .000

    .0000E+00CREATE Entity batch size 1 createdBRANCH Selection made from 2 of 2 branches

    Deterministic, entity sent to PRIMERODeterministic, entity sent to SEGUNDO

    PRIMERO REMOVE Entity 1 removed from 1 and sent to UNOEntity Disposed

    1.000 .000 .000

    .0000E+00UNO COUNT Counter 1 incremented by 1 to 1

    Entity Disposed1.000 1.000 .000

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

    Entity Disposed.000 1.000 .000

    .0000E+00DOS COUNT Counter 2 incremented by 1 to 1

    Entity Disposed.000 1.000 1.000

    SIMAN Summary Report

    Run Number 1 of 1

    Project: MUESTRA_TRAZAAnalyst: AUTORDate : 5/10/1998

    Run ended at time : .0000E+00

  • TECNICAS DE SIMULACION

    25

    Counters-----------

    Number Identifier Count Limit-------------------------------------------------

    1 CONTADOR1 1 Infinite2 CONTADOR2 1 Infinite

    Run Time : 2 Second(s)

    Stop - Program terminated.

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

    Tomando en cuenta las caractersticas generales del lenguaje, las instrucciones y elementosms utilizados explicados arriba, se procede a detallar la secuencia lgica que se debe seguirpara editar los modelos en la microcomputadora as como para su compilacin, enlace, ycorrida 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 sistemadesarrollado.

    La primera instruccin que debe aparecer en la columna 1 es BEGIN, la que tiene el siguienteformato:

    BEGIN, BSEQ, ISEQ, ILIST;

    BSEQ: Nmero de secuencia asignado al primer bloque en el modelo. Asumido: 10.

    ISEQ: Incremento que se adiciona al nmero de secuencia anterior. Asumido: 10.

    ILIST: YES, NO, especifica si el listado del modelo ser o no generado. Asumido: YES.

    BEGIN es seguida por las instrucciones de entrada que definen el modelo del sistema con elsiguiente formato:

    Columnas Descripcin

    1-8 Etiquetas de las instrucciones.

    10-74 Operandos dentro de un segmento de lnea separados por comas;segmentos de lnea separados por dos puntos, los modificadores delbloque (si hay) siguiendo el ltimo segmento de lnea; la instruccintermina con punto y coma.

  • TECNICAS DE SIMULACION

    26

    Los comentarios deben estar a continuacin de un punto y coma en la columna 1.

    La ltima instruccin del modelo debe ser la instruccin END escrita en las columnas 1-3,seguida por un punto y coma en la columna 4. END; es la ltima instruccin leda por elprocesador del sistema.

    Al editarse el modelo de simulacin en un programa determinado, llammosleEJEMPLO.MOD, se debe teclear MODEL. MODEL es el procesador del sistema que lee elmodelo del sistema en forma de instrucciones (EJEMPLO.MOD) y genera un listado y unfichero 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 debeteclear:

    MODEL EJEMPLO.MOD

    MODEL chequea la sintaxis de las instrucciones de entrada. Si se detecta algn error, da unmensaje inmediatamente despus de la instruccin en que se ha encontrado.

    Si MODEL detecta algn error, antese la instruccin en que se ha producido y corrjase en elprograma que se cre inicialmente con el editor de programas (EJEMPLO.MOD). Reptasetodo el procedimiento anterior hasta que no se detecte ningn error. De esta forma,EJEMPLO.M estar listo para ser enlazado con EJEMPLO.E y corrido posteriormente.

    1.6.2 EDICION DEL MODELO DEL EXPERIMENTO

    El procedimiento de introduccin de los elementos del experimento es muy similar al deintroduccin de las instrucciones del sistema, diferencindose nicamente en los siguientesaspectos:

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

    Los elementos pueden ser escritos en cualquier orden, excepto DISCRETE yCONTINUOUS que slo pueden ser precedidos por PROJECT. Esto es, si se creaEJEMPLO.EXP con el editor de programas, despus se debe llamar a EXPMT.EXPMT es el procesador del experimento que lee las instrucciones de entrada de losdatos del experimento (EJEMPLO.EXP) y genera un listado y un fichero delexperimento al que se le da un nombre asumido EJEMPLO.E.

    EXPMT necesita conocer los nombres del programa editado anteriormente, en este caso sedebe teclear:

    EXPMT EJEMPLO.EXP

    EXPMT realiza los mismos chequeos que MODEL y la forma de correccin de errores es lamisma en ambos casos, hasta llegar a obtener (sin errores) EJEMPLO.E listo para enlazar.

  • TECNICAS DE SIMULACION

    27

    1.6.3 ENLACE DE LOS FICHEROS SISTEMA Y EXPERIMENTO

    Despus de generados los ficheros del sistema y del experimento (EJEMPLO.M yEJEMPLO.E) se llama al programa LINKER, que es el encargado de enlazar ambos ficherosy 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, elcual 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 seespecifiquen.

    Si se llegaran a detectar errores con el LINKER, se deben corregir en los programas editadosal inicio y repetir todo el proceso nuevamente hasta obtener el mensaje: LINK COMPLETED,el que garantiza que el programa en cuestin sea ejecutado sin dificultades.

    1.6.4 EJECUCION DEL PROGRAMA

    La ejecucin del fichero de programa generado por el LINKER se realiza llamando alprograma SIMAN.

    A continuacin de SIMAN debe teclear el nombre del fichero del programa ejecutable que sedesea correr. En este caso:

    SIMAN EJEMPLO.P

    Hecho esto, comenzar la corrida del programa, la que generar al final un reporte de resumenSIMAN (si hay) y los ficheros de salida (si hay).

    Si se detecta algn error durante la ejecucin, se imprime un mensaje de error que describe lanaturaleza de ste, se imprime un reporte resumen SIMAN y se termina la ejecucin delprograma.

    1.7 ANALISIS DE RESULTADOS EN UN EXPERIMENTO DE SIMULACION

    Con la introduccin de variables aleatorias en una simulacin, las variables utilizadas paramedir el comportamiento de un sistema tambin tienen el carcter de variables aleatorias. Losvalores medidos no son ms que muestras, y deben ser usados para estimar los parmetros dela distribucin a la cual los mismos pertenecen.

    Un estudio de simulacin es usualmente planeado como una serie de corridas que tienen elobjetivo de comparar un nmero de variantes en la estructura de un sistema o sus condiciones

  • TECNICAS DE SIMULACION

    28

    de operacin. Como norma, el trmino experimento significar la prueba del comportamientode un sistema bajo varios conjuntos de condiciones. El trmino corrida significar laejecucin de la simulacin para una de las configuraciones experimentales. Una observacinser la medicin de una variable del sistema.

    En trminos generales, los problemas estadsticos asociados con un estudio de simulacin seclasifican en dos grandes clases:

    a. Problemas de planeamiento estratgico, relacionados con el diseo de losexperimentos.

    b. Problemas de planeamiento tctico, relacionados especficamente con la forma en quedebe ser conducido el experimento de simulacin.

    El planeamiento estratgico debe determinar las mediciones que servirn para juzgar lascaractersticas del sistema y como probar el grado de significacin de diferencias en estasmedidas. El planeamiento tctico debe decidir como tomar las mediciones en cada corrida ycuantas corridas debe componer cada experimento. En este caso, se tratar sobre el segundoaspecto, ya que el planeamiento estratgico resulta bastante independiente de las tcnicas desimulacin.

    Dado que la simulacin es un experimento de muestreo, es importante interpretar susresultados dentro del marco de las estadsticas. No es posible simplemente correr unasimulacin para una muestra de tamao arbitrario y entonces interpretar los resultados comouna "verdad". En su lugar se debe especificar la exactitud estadstica de los resultados de lamisma.

    Como es conocido, cuando se toman observaciones de una variable aleatoria perteneciente auna poblacin que tiene distribucin de probabilidad estacionaria con media M y varianza S2,la media muestral X~ es tambin una variable aleatoria, que segn lo establecido por elteorema del lmite central, tiene una distribucin que tiende a la distribucin normal conmedia M y varianza S2 / n.

    Tomando la variable normal estndar:

    ns

    MXZ/

    ~

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

    1]/~/~[Pr 2/2/ nsZXMnsZXob

    donde la constante ( 1 ) es el nivel de confianza y el intervalo:

    nsZXH /~ 2/

    En la prctica, la varianza de la poblacin S2 no es usualmente conocida; en cuyo caso esreemplazado por un estimado dado por la frmula:

  • TECNICAS DE SIMULACION

    29

    n

    ii XX

    nS

    1

    22 )~(1

    1~

    En esta situacin el valor de 2/Z utilizado en el intervalo se determina de la distribucin t deStudent; pero si 30n puede utilizarse la distribucin normal.

    El mtodo para determinar el intervalo de confianza visto anteriormente se basa en lascondiciones siguientes:

    a. Las observaciones realizadas deben ser independientes.

    b. La distribucin de la cual son tomadas las observaciones debe ser estacionaria.

    En trminos generales muchas de las estadsticas de inters en una simulacin no cumplencon dichas condiciones. Por ejemplo, cuando se desea estimar el tiempo medio de espera enuna cola con una estacin de servicio, el procedimiento ms simple es acumular el tiempo deespera de n entidades y luego dividir el acumulado entre n, o sea:

    n

    iiX

    nnX

    1

    1)(~

    Como puede comprenderse fcilmente los tiempos de espera de cada entidad no sonindependientes, 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 autocorrelacionada. Esta caracterstica de la auto correlacin no tiene una influencia determinanteen el clculo del estimado del valor medio de una serie de datos; pero no sucede lo mismo conla varianza, la cual ya no estar relacionada con la varianza de la poblacin por la simpleexpresin de ns /2 , como ocurre para una serie de datos independientes.

    Otro problema que debe ser encarado es el hecho de que la distribucin puede no serestacionaria. En particular, cuando una corrida de simulacin es comenzada con el sistema enuna situacin total de inactividad, por ejemplo, una lnea de espera totalmente vaca, losvalores medidos durante un perodo de la corrida estarn sesgados, mientras que a medida dela longitud de la corrida se extiende y el tamao de la muestra se incrementa, el efecto de esesesgo va desapareciendo. Lo anterior indica que los valores medios muestrales tienden a unvalor estable para un cierto tamao de la corrida.

    1.7.1 ELIMINACION DEL SESGO INICIAL

    Dos enfoques generales han sido planteados para reducir el efecto del sesgo inicial en lascorridas de simulacin:

    a. La simulacin puede comenzar con el sistema en un estado ms representativo.

    b. La primera parte de cada corrida puede ser ignorada a los efectos de la recogida deinformacin.

  • TECNICAS DE SIMULACION

    30

    En algunos estudios de simulacin, particularmente de sistemas existentes, puede disponersede informacin que pueda ser utilizada para seleccionar mejores condiciones iniciales que elestado de inactividad.

    El enfoque ms comnmente utilizado para evitar el sesgo inicial es eliminar la primeraseccin de la corrida. La corrida es comenzada en el estado de inactividad y detenida despusde un cierto perodo de tiempo. Las variables de estado del sistema son mantenidas con susvalores y la corrida se recomienza pero ahora recolectando informacin a partir del nuevocomienzo. La prctica usual es programar la simulacin recogiendo informacin desde elprincipio, y simplemente desechar la estadstica recogida hasta el momento de recomenzar.No existen reglas simples para decidir tamao de la corrida a eliminar, aunque se recomiendarealizar una corrida piloto partiendo del sistema inactivo y valerse de un grfico donde seplotee el comportamiento del valor estimado contra la longitud de la corrida, y se observe elproceso de estabilizacin del valor.

    1.7.2 REPETICION DE CORRIDAS

    Este procedimiento es un medio de obtener una medida de la varianza de la media muestral.El mismo consiste en repetir las corridas con diferentes nmeros aleatorios para el mismotamao de muestra n, a fin de producir un conjunto de observaciones independientes de lamedia muestral )(~ nX . Suponga que la corrida es repetida p veces con series independientesde nmeros aleatorios. Sea Xij la i-sima observacin de la j-sima corrida, y sea el valor de lamedia muestral para la j-sima corrida Xj(n). Entonces los estimados buscados son:

    p

    j

    n

    iij

    p

    jj Xpn

    nXp

    nM1 11

    1)(1)(~

    p

    jj nMnXp

    nS1

    22 ))(~)((1

    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 requiereun periodo de estabilizacin inicial. La forma de eliminar esta desventaja es ejecutar lascorridas consecutivamente, usando las condiciones finales de una corrida como condicionesiniciales de la prxima. En otras palabras, solo existe una larga corrida la cual es dividida enuna serie de porciones iguales a los efectos de la toma de las observaciones. El precio pagadopor evitar los perodos extra de estabilizacin es la posibilidad de que estas observaciones nosean estadsticamente independientes. Sin embargo, haciendo las corridas suficientementelargas, la correlacin entre las observaciones puede reducirse apreciablemente.

    Para ambos mtodos la repeticin de las corridas debe brindar entre 15 y 20 observacionesindependientes, las que resultarn suficientes para el establecimiento de los intervalos. Comoaspecto final se recomienda que cuando la simulacin envuelva la comparacin de variasalternativas para el sistema, el procedimiento apropiado es reproducir la misma secuencia denmeros aleatorios para cada alternativa, lo que permitira una mejor base de comparacinpara el comportamiento del sistema bajo cada alternativa.

  • TECNICAS DE SIMULACION

    31

    El mtodo para calcular el intervalo de confianza H difiere dependiendo de si se estsimulando un sistema con trmino o sin trmino. Un sistema con trmino es aquel quepresenta un evento final perfectamente identificable que define la conclusin de la corrida desimulacin. Un ejemplo de sistema con trmino es uno que cierra a intervalos regulares, porejemplo un banco o una fbrica. Un sistema sin trmino es aquel que no termina o quefunciona ininterrumpidamente, por ejemplo, la sala de emergencia de un hospital o una centraltelefnica. A los efectos del anlisis, se considerar con trmino, para un perodo definido deestudio, a aquellos sistemas que son realmente sin trmino. Por ejemplo, para el estudio delcomportamiento de una lnea de ensamblaje que opere continuamente se puede considerar unperiodo de estudio de 2 aos (longitud de la corrida), y el evento que finaliza la simulacincorresponde al fin del periodo adoptado.

    1.7.2.1 Sistemas con Trmino

    En los sistemas con trmino el estado inicial del sistema y la condicin de terminacin sondefinidos por el propio sistema, y resulta de inters determinar el periodo de respuestatransitorio para dicho sistema sujeto a sus condiciones iniciales materiales.

    Dado que la longitud de la corrida en los sistemas con trmino no puede ser manipulada, lanica forma de incrementar el tamao de la muestra es mediante la repeticin de corridasutilizando series diferentes de nmeros aleatorios y, aunque las observaciones dentro de unacorrida pueden estar correlacionadas, las observaciones entre corridas sern independientes.Entonces, definiendo como la muestra una observacin ( X~ ) para cada corrida se puedenutilizar las expresiones presentadas en el epgrafe 7.2 y aplicar las tcnicas estadsticasconvencionales.

    1.7.2.2 Sistemas sin Trmino

    Como se defini anteriormente los sistemas sin trmino son aquellos que pueden funcionarindefinidamente. Para estos sistemas es de inters determinar el comportamiento del sistemaen su estado estable de funcionamiento. Este estado estable lo alcanza el sistema luego de unlargo periodo de funcionamiento y es independiente del estado de arrancada del sistema.

    La respuesta de estado estable es una condicin lmite en el funcionamiento del sistema, lacual nunca es completamente alcanzada en un experimento de simulacin. Lo anterior se debea que las condiciones iniciales, que es necesario fijar en todo experimento de simulacin,introducen un sesgo en los resultados que ya fueron tratados anteriormente.

    Dos factores deben ser analizados cuando se decide cuntas observaciones deben serignoradas hasta alcanzar el estado de funcionamiento estable del sistema. Si se sobrestima lalongitud del perodo transiente entonces se pierden observaciones que son vlidas para elestado estable. Por otra parte, si se subestima dicho perodo entonces se consideranobservaciones que contribuyen a sesgar los resultados estadsticos. Aunque se han propuestoalgunas reglas para seleccionar el perodo de truncacin, no existe mtodo completamentesatisfactorio y quizs la forma ms prctica de actuar sea la de estimar el punto de truncacina partir de grficos o diagramas de barras que sigan la respuesta del sistema en el tiempo. Enlos sistemas sin trmino se pueden incrementar el tamao de la muestra ampliando la longitudde una corrida nica o replicando la corrida con diferentes nmeros aleatorios.

  • TECNICAS DE SIMULACION

    32

    La forma ms prctica de trabajar consiste en ampliar la longitud de una corrida nica ydividirla en N subcorridas a las que se denominar lotes. En este caso tambin se eliminan lasobservaciones iniciales hasta alcanzar el estado estable: luego se toman como observacioneslos valores promedio de cada lote y, para disminuir el efecto de la autocorrelacin entre loslotes, se selecciona un tamao de lote que sea grande con relacin al mayor intervalo entreobservaciones que produzca una correlacin significativa. Ya en esta situacin puedenaplicarse las expresiones presentadas en el epgrafe 7.2.

    Existen dos consideraciones cuando se desea seleccionar el tamao del lote en elprocedimiento anterior. Por una parte, se debe seleccionar un tamao de lote grande paraasegurar la independencia y normalidad en la muestra (valor promedio de cada lote). Por otraparte, se desea reducir el tamao del lote para obtener una muestra mayor y lograr mayorprecisin en el estimado del intervalo de confianza. La adecuacin del tamao del lote paraobtener medias de lotes independientes se puede probar utilizando una prueba propuesta porFishman. Sea Xj la media del j-simo lote y N el nmero total de lotes en que ha sido divididala corrida. Se calcula la media de las medias, o sea:

    N

    jjXN

    X1

    ~1~

    y la variable

    N

    jj

    N

    jjj

    B

    XX

    XXC

    1

    2

    1

    1

    21

    )~~(2

    )~~(1

    Asumiendo que las Xj son independientes y estn normalmente distribuidas, entonces CB sedistribuye aproximadamente normal con media cero y varianza igual a (N-2) / (N2-1) paravalores de 8N . Para valores grandes de N (de 20 a 30) CB puede utilizarse como unestimado de la correlacin entre las medias de lotes adyacentes.

    Ahora puede realizarse una dcima de hiptesis donde se pruebe:

    H0: CB = 0contra:

    H1: CB =/ 0

    en la cual se rechaza H0 (independencia) en favor de H1 (correlacin entre lotes) para un nivelde confianza si el estadgrafo

    )1()2(

    2

    NNC

    Z B

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

  • TECNICAS DE SIMULACION

    33

    Debe aclararse que el aceptar H0 contra H1 no es una indicacin concluyente de que existaindependencia, sino que indica que no hay suficientes evidencias para asegurar que hayacorrelacin entre los lotes.

    1.8 EJEMPLOS DE APLICACION

    A continuacin se muestran algunos ejemplos de aplicacin, se presenta el modelo del sistemay del experimento, se describen los mecanismos de funcionamiento de stos y los resultadosque se obtienen al correrlo en la microcomputadora utilizando el lenguaje de simulacinSIMAN.

    1.8.1 EJEMPLO 1

    En una ensambladora de televisores hay una estacin de control de la calidad al final de lalnea en la cual se chequea el funcionamiento de los equipos. Si se detecta que algn equiponecesita ajuste se enva, el mismo, a un puesto de ajuste donde luego de ajustado se retorna ala estacin de control para ser chequeado nuevamente. Los televisores de que pasan el controlson empacados y almacenados.

    Considere que el tiempo entre arribos de los televisores a la estacin de control sigue unadistribucin uniforme entre 3.5 y 7.5 minutos, que el tiempo de inspeccin es tambinuniforme entre 6 y 12 minutos y que el tiempo que toma el ajuste es uniforme entre 20 y 40minutos.

    Estadsticamente se tiene que el 15 % de los televisores necesitan algn ajuste.

    MODELO DEL SISTEMA

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

    INSPECT QUEUE, 1;SEIZE: INSPECTOR;DELAY: UN(2,1);RELEASE: INSPECTOR;BRANCH, 1:

    WITH, .15, AJUST:WITH, .85, EMPAQUE;

    AJUST QUEUE, 2;SEIZE: AJUSTE;DELAY: UN(3,1);RELEASE: AJUSTE: NEXT(INSPECT);

    EMPAQUE TALLY: 1, INT(1): DISPOSE;END;

  • TECNICAS DE SIMULACION

    34

    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: TELEVISORESAnalyst: AUTORDate : 4/ 6/1998

    Run ended at time : .1000E+03

    Tally Variables--------------------

    Number Identifier Average Standard Minimum Maximum NumberDeviation 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 TimeDeviation Value Value Period

    -------------------------------------------------------------------------------------------------------

    1 COLA INSPECCION .06009 .23766 .00000 1.00000 100.002 COLA AJUSTE .00000 .00000 .00000 .00000 100.003 UTIL INSPECCION 1.62702 .49062 .00000 2.00000 100.004 UTIL AJUSTE .00000 .00000 .00000 .00000 100.00

    Run Time : 4 Second(s)

    Stop - Program terminated.

  • TECNICAS DE SIMULACION

    35

    1.8.2 EJEMPLO 2

    Un sistema de produccin mecnica est compuesto por un taladro y dos tornos. El tipo detrabajo 1 debe ser procesado primero por el taladro y despus por el torno. La atencin en lacola de los trabajos es FIFO.

    Determine el tiempo promedio utilizado en el procesamiento de cada trabajo y el nmeropromedio de trabajos esperando por el torno o el taladro. Se tienen los siguientes datos:

    Tipo detrabajo

    # degrupos

    # de entidadespor grupo

    Tiempo enel taladro

    Tiempo enel torno

    Tiempo entreArribo

    1 12 5 3.0 Uniforme(2-3)

    14.0

    2 10 8 - Uniforme(1-2)

    Exponencial(3.0)

    Los datos de tiempo estn dados en minutos.

    MODELO DEL SISTEMA

    En este ejemplo, como existen dos entidades con caractersticas diferentes, se crea cada unade ellas por separado. Utilizndose el atributo 1 para establecer el tipo de cada entidad creada.En el atributo 2 se almacena el valor de TNOW cuando las entidades arriban al sistema.Posteriormente se solicitan, utilizan y liberan los recursos que necesita cada entidad para serprocesada y, al final, se calcula el tiempo que ha estado cada una de las entidades en elsistema.

    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;

  • TECNICAS DE SIMULACION

    36

    MODELO DEL EXPERIMENTO

    Se dan todas las caractersticas experimentales que presenta este proceso. O sea, se define quehabr como mximo 100 entidades simultneamente en el sistema con dos atributos cada unade ellas. Se dan los identificadores para los resultados estadsticos que definen elcomportamiento del tiempo en el sistema de cada tipo de entidad. Se determinan las variablesSIMAN que reflejarn el comportamiento del sistema, las caractersticas de los recursosutilizados y los parmetros de las distribuciones aleatorias definidas en el modelo del sistema.

    BEGIN;PROJECT, TITULO, AUTOR, 11/23/98;DISCRETE, 100, 2, 2;TALLIES: 1, TIEMPO TRAB. 1: 2, TIEMPO TRAB. 2;DSTAT: 1, NQ(1), COLA TALADRO: 2, NQ(2), COLA TORNO:

    3, NR(1), UTIL. TALADRO: 4, NR(2), UTIL TORNO;RESOURCES: 1, TALADRO, 1: 2, TORNO, 2;PARAMETERS: 1, 2, 3: 2, 1, 2: 3, 3;END;

    REPORTE RESUMIDO

    SIMAN Summary ReportRun Number 1 of 1

    Project: TITULOAnalyst: AUTORDate : 11/23/1998Run ended at time : .1822E+03

    Tally Variables-------------------

    Number Identifier Average Standard Minimum Maximum NumberDeviation Value Value of Obs.

    --------------------------------------------------------------------------------------------------------

    1 TIEMPO TRAB. 1 24.50852 9.89957 7.30772 49.81167 602 TIEMPO TRAB. 2 15.50321 10.22390 1.32173 35.20122 80

    Discrete Change Variables--------------------------------

    Number Identifier Average Standard Minimum Maximum TimeDeviation Value Value Period

    ------------------------------------------------------------------------------------------------------

    1 COLA TALADRO 3.78679 1.89903 .00000 8.00000 182.212 COLA TORNO 8.65328 12.37050 .00000 43.00000 182.213 UTIL. TALADRO .98786 .10952 .00000 1.00000 182.214 UTIL TORNO 1.44903 .64721 .00000 2.00000 182.21

    Run Time : 19 Second(s)Stop - Program terminated.

  • TECNICAS DE SIMULACION

    37

    1.8.3 EJEMPLO 3

    Considere el rea de emergencia de un hospital en el que los pacientes que arriban seclasifican en una de las 5 categoras, en dependencia de la gravedad de su dolencia. Lospacientes de la categora 1, son los de mayor gravedad y, son enviados inmediatamente a unacama donde esperan por la atencin mdica. Los pacientes de las restantes categoras debenesperar en la recepcin, donde se les toman los datos de admisin, hasta que haya una camadisponible.

    Los pacientes arriban de acuerdo a una distribucin Poisson con un tiempo promedio entrearribos que vara durante el da de acuerdo al siguiente comportamiento:

    Perodo 0-4 4-8 8-12 12-16 16-20 20-24Tiempo(h) 0.3 0.5 0.2 0.3 0.3 0.3

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

    Categora Paciente % del Total Valor Inferior (h) Valor Superior (h)1 8 0.25 0.352 13 0.20 0.303 33 0.15 0.254 20 0.10 0.205 26 0.05 0.15

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

    MODELO DEL SISTEMA

    BEGIN;CREATE;

    DIA 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;

  • TECNICAS DE SIMULACION

    38

    REGISTRO QUEUE, 1;SEIZE: ENFERMERA;DELAY: .15;RELEASE: ENFERMERA;

    CAMAS 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 EMERGENCIAAnalyst: AUTORDate : 9/25/1998

    Run ended at time : .1680E+03

  • TECNICAS DE SIMULACION

    39

    Tally Variables--------------------

    Number Identifier Average Standard Minimum Maximum NumberDeviation Value Value of Obs.

    --------------------------------------------------------------------------------------------------------

    1 CATEGORIA 1 .30884 .03605 .26094 .45143 432 CATEGORIA 2 .46016 .07836 .35063 .73433 733 CATEGORIA 3 .40207 .08174 .30023 .69485 1884 CATEGORIA 4 .40580 .21307 .25220 1.41257 1175 CATEGORIA 5 .39941 .34444 .20079 2.76027 150

    Discrete Change Variables---------------------------------

    Number Identifier Average Standard Minimum Maximum TimeDeviation Value Value Period

    -------------------------------------------------------------------------------------------------------

    1 UTIL ENFERMERA .47143 .49918 .00000 1.00000 168.002 UTIL CAMAS .63413 .67211 .00000 3.00000 168.003 UTIL DOCTOR .60243 .62106 .00000 2.00000 168.00

    Run Time : 2 Minute(s) and 19 Second(s)

    1.8.4 EJEMPLO 4

    Unas piezas se procesan en un sistema de fabricacin automtica formado por dos mquinasherramientas controladas numricamente y un robot industrial. El procesamiento de todas lastareas sigue la misma secuencia, o sea, la mquina 1 siempre es seguida por la mquina 2.

    El tiempo de procesamiento de cada mquina se distribuye normalmente con una media de 42segundos y una desviacin estndar de 2 segundos. Las tareas son transportadas por el robotdesde la estacin de arribo a la mquina 1, procesadas en la mquina 1, despus transportadaspor el robot a la mquina 2, procesadas por sta y, por ltimo, transportadas (por el robot) a laestacin de salida.

    Toda la manipulacin de materiales se realiza automticamente por el robot controlado porcomputadora, el que tambin responde a los requerimientos de transporte desde la estacin dearribo hasta la estacin de salida. Los requerimientos de transporte son enviadosautomticamente al robot cuando una tarea arriba al sistema o termina su servicio en unamquina. La regla de prioridad a que estn sometidas las tareas en cada estacin de servicioes: FIFO.

    El tiempo requerido por el robot para insertar o sacar una pieza de una mquina o tomar oliberar una pieza en la estacin de arribo o de salida sigue una distribucin uniforme entre 6 y8 segundos. El tiempo entre arribos se distribuye exponencialmente con media de 124segundos. La distancia desde la estacin de arribo a las mquinas es de 120 centmetros, ladistancia entre mquinas, de 100 centmetros y la distancia entre la ltima mquina y laestacin de salida, 72 centmetros. El robot se mueve a 20 centmetros/segundo.

  • TECNICAS DE SIMULACION

    40

    Simule el sistema por 14400 segundos para determinar el tiempo permitido que la piezapermanece en el sistema, la utilizacin de cada mquina y del robot y el nmero de piezas queespera en la estacin de arribo.

    MODELO DEL SISTEMA

    Para modelar este sistema, el mismo, se descompone en cuatro submodelos. Dichossubmodelos son conectados a travs del sistema de manipulacin de materiales, el cual estcompuesto por una unidad de transporte llamada ROBOT. El ROBOT se utiliza para moverlas entidades (tareas) a travs de los cuatro submodelos de estacin. Las cuatro estacionesestn numeradas de la 1 a la 4 y representan la estacin de arribo, las estaciones de las dosmquinas y la estacin de salida, respectivamente.

    El primer submodelo representa el arribo de las tareas al sistema. Una entidad que representala entrada de una tarea al sistema se genera en la instruccin CREATE y pasa a la instruccinASSIGN, donde el atributo de estacin toma valor 1. Despus la entidad entra en lainstruccin QUEUE, donde espera en el fichero 1 hasta que se le asigna una unidad delrecurso indexado MACHINE(1). Una vez asignado a la entidad este recurso, esta procede a lasegunda instruccin QUEUE donde espera en el fichero 2 con prioridad 1 al transportadorROBOT. La entidad es despus transportada por el ROBOT de la estacin 1 a la estacin 2.

    BEGIN;;; SUBMODELO DE ARRIBO;

    CREATE: EX(3,1): MARK(1);ASSIGN: M=1;QUEUE, 1;SEIZE: MACHINE(1);QUEUE, 2;REQUEST, 1: ROBOT;DELAY:UN(1,1);TRANSPORT: ROBOT, 2;

    ; SUBMODELO DE MAQUINAS 1 Y 2;

    STATION, 2-3;DELAY: UN(1,1);FREE: ROBOT;DELAY: RN(2,1);BRANCH, 1:

    IF, M.EQ.2, GETMACH:ELSE, GETROBOT;

    GETMACH QUEUE, 3;SEIZE: MACHINE(2);

    GETROBOT QUEUE, 4;REQUEST, 2: ROBOT;DELAY: UN(1,1);RELEASE: MACHINE(M-1);TRANSPORT: ROBOT, M+1;

    ;

  • TECNICAS DE SIMULACION

    41

    ; SUBMODELO DE SALIDA;

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

    END;

    La lgica de procesamiento de una tarea es muy similar en las mquinas 1 y en la 2, por elloutilizamos la facilidad macro del SIMAN para modelar simultneamente estas dos estaciones.Una entidad que arriba a la mquina 1 2 entra en el submodelo de mquinas de lainstruccin STATION con el nmero de estacin 2 3, respectivamente. La entidad continaal bloque DELAY, donde se retarda por el tiempo requerido para arribar a la mquina.Despus la entidad libera al ROBOT y entra en la segunda instruccin DELAY, donde esretrasada segn el tiempo del procesamiento de la tarea en la mquina. Despus de esteretardo la entidad pasa a la instruccin BRANCH, donde es enviada a una instruccinQUEUE en dependencia del atributo de estacin de la entidad. Si la entidad est en la estacin2 (mquina 1), es enviada a la instruccin con etiqueta GETMACH2, de lo contrario, esenviada a la instruccin con la etiqueta GETROBOT. Una entidad enviada a GETMACH2representa una tarea que ha sido procesada completamente por la mquina 1 y espera en elfichero 3 por que se le asigne una unidad del recurso MACHINE(2). Despus la entidad entraen la instruccin QUEUE llamada GETROBOT donde espera en el fichero 4 con prioridad 2al ROBOT. Una entidad enviada directamente desde el BRANCH a GETROBOT representauna tarea que ha terminado completamente su procesamiento en la mquina 2.

    En ambos casos cuando se completa el requerimiento del ROBOT, la entidad entra en unbloque DELAY, donde se retarda el tiempo requerido por el ROBOT para extraer la tarea dela mquina. La entidad libera entonces la mquina apropiada y es despus transportada por elROBOT a la prxima estacin.

    El proceso de salida de la tarea se modela en el cuarto submodelo de estacin. Una entidadentra en el submodelo de salida con una instruccin STATION y pasa a una instruccinDELAY donde se retarda el tiempo requerido por el ROBOT para llevar la pieza completa ala estacin de salida. Despus la entidad libera al ROBOT y se registra una estadstica deltiempo 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 experimentoquedara:

    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;

  • TECNICAS DE SIMULACION

    42

    PARAMETERS: 1, 6, 8: 2, 42, 4: 3, 124;REPLICATE, 1, 0, 14400;END;

    En el modelo del experimento despus de definir el nombre, el autor y la fecha de realizacindel reporte resumen con el elemento PROJECT, se define en DISCRETE que habr unmximo de 20 entidades simultneamente en el sistema, las cuales tienen un atributo. A lavez, aqu se definen 4 ficheros o colas de espera y 4 estaciones de servicio. Con TALLIES seda el nombre que identificar la variable que se desea controlar estadsticamente.RESOURCES define los recursos indexados con nombre MACHINE en los cuales se asumeuna unidad de este recurso. Las caractersticas del ROBOT se definen en el elementoTRANSPORTERS. Este elemento especifica en el nmero de sealizacin de la distancia 1,una capacidad de 1, una velocidad de 20.0, la posicin inicial en la estacin 1 y el statusinicial activo. DISTANCES especifica las distancias del nmero de sealizacin de distancias1 entre todos los pares de estaciones conectados desde la 1 hasta la 4. Con PARAMETERS seespecifican los parmetros que caracterizan las distribuciones utilizadas en el modelo delsistema, los cuales se identifican entre ambos modelos por el nmero de sealizacin delparmetro. Por ltimo, se especifica una sola corrida que comenzar con TNOW=0 y terminarcon TNOW=14400.

    REPORTE RESUMIDO

    El reporte resumen SIMAN se brinda a continuacin. Este reporte muestra que se utilizan lasmquinas 1 y 2 aproximadamente un 80 y 70% del tiempo, respectivamente, y que el ROBOTfue utilizado como promedio el 74% del tiempo disponible. La utilizacin de las mquinasincluye el tiempo requerido por la tarea para ser transportada e introducida a la mquina, ascomo el tiempo de procesamiento que utiliza cada una.

    SIMAN Summary Report

    Run Number 1 of 1

    Project: FABRIC. AUTOMATICAAnalyst: NOMBRE USUARIODate : 6/27/1998

    Run ended at time : .1440E+05

    Tally Variables-------------------

    Number Identifier Average Standard Minimum Maximum NumberDeviation Value Value of Obs.

    ----------------------------------------------------------------------------------------------------------------

    1 TIEMPO EN SIST. 279.38280 117.86910 130.64750 644.29690 111

  • TECNICAS DE SIMULACION

    43

    Discrete Change Variables---------------------------------

    Number Identifier Average Standard Minimum Maximum TimeDeviation Value Value Period

    -----------------------------------------------------------------------------------------------------------

    1 UTIL. MAQ. 1 .75 .43 .00 1.00 14400.002 UTIL. MAQ. 2 .62 .49 .00 1.00 14400.003 UTIL. ROBOT .62 .49 .00 1.00 14400.004 COLA ARRIBO .82 1.13 .00 5.00 14400.00

    Run Time : 1 Minute(s) and 4 Second(s)

    Stop - Program terminated.

    1.9 PROCESADOR DE SALIDAS: OUTPT

    Adems de los procesadores analizados anteriormente que p