GPSS Pc

download GPSS  Pc

of 83

Transcript of GPSS Pc

  • 7/29/2019 GPSS Pc

    1/83

    Lenguaje de Simulacin GPSShttp://www.minutemansoftware.com

    Ing. Luis Zuloaga Rotta

    Facultad de Ingeniera Industrial y de Sistemas

  • 7/29/2019 GPSS Pc

    2/83

    GPSS - PC

    GPSS es un lenguaje de Simulacin de Sistemas

    de Propsito General (General Purpouse System

    Simulation). Es un lenguaje estructurado en base a sentencias

    de bloquepara representar los eventos del

    sistema y las sentencias de controlpara

    controlar la simulacin del sistema.

  • 7/29/2019 GPSS Pc

    3/83

    Estructura de un modelo con el Lenguaje GPSS

    Se inicializa conuna sentencia de

    control:

    Start n

    Que inicializa un

    contador de la

    finalizacin de lasimulacin en n, el

    cual es disminuido

    por una sentencia

    de bloque:

    Terminate 1

    Sentencias de Control1. Storage

    2. Function3. Initial4. Variable

    Sentencias de Bloque1. Generate2. Test3. Queue

    4. Seize5. Depart6. Advance7. Release8. Terminate

    Sentencias de Bloque complementarias:1. Savevalue

    2. Enter 3. Advance4. Leave5. Transfer

  • 7/29/2019 GPSS Pc

    4/83

    Sentencia GPSS

    Estructura de una sentencia de declaracin GPSS/PC :Nro. Etiqueta Verbo Operandos ;Comentario

    Nro. Puede ser entero o decimal. Se utilizan solo para las sentencias

    del programa salvable. Mximo 7 caracteres incluido pto.

    Si ingresa una sentencia sin numerar esta solo es temporal.Generalmente se ingresan antes de inicializar la simulacin.

    Etiqueta Nmero o nombre para la localizacin de un bloque.Si se coloca un asterisco, la sentencia es de comentario.

    Verbo Nombre identificador para el control o el bloqueOperandos Dependen del verbo identificador utilizadoComentario Para explicar brevemente el significado de la sentencia

  • 7/29/2019 GPSS Pc

    5/83

    Bloque : Generate

    La instruccin de bloque que permite generar las transacciones eingresarlas en el modelo se llama GENERATE. Su sintaxis es:

    GENERATE A,B,C,D,E,F

    A es la tasa promedio a la cual se crean las transacciones en unidades detiempo simulado. Su valor por omisin es cero.

    B es la dispersin en el tiempo de creacin promedio de las transacciones, es

    decir, el tiempo de inter arrivo de las transacciones al modelo ser de A + - Bunidades de tiempo. Su valor por omisin es cero.

    C es un operando donde se coloca el tiempo simulado al que llega la primeratransaccin al modelo. El valor por omisin no est determinado.

    D es el nmero lmite de transacciones creadas y su valor por omisin esinfinito.

    E es un operando donde se coloca la prioridad asignada a cada transaccincreada por el GENERATE. En GPSS/PC las prioridades posibles son de 0 a127. La prioridad mayor tiene preferencia sobre las de prioridad inferior.

    GENERATE

  • 7/29/2019 GPSS Pc

    6/83

    Ejemplos : Generate

    GENERATE 2700,200,1000,100,50

    Crea transacciones cada 2700 200 unidades detiempo, pero la primera transaccin se crea al tiempo1000. Despus de 100 transacciones no se generan ms

    y cada una de las 100 generadas tendrn una prioridadde 50.

    GENERATE 30,FN$XPDIS

    Crea transacciones segn una distribucin exponencialnegativa con media 30 unidades de tiempo.

  • 7/29/2019 GPSS Pc

    7/83

    Bloque Terminate

    TERMINATE se emplea para destruir las transacciones que ingresena ella, se puede emplear para simular que un elemento sale delsistema y ahorrar memoria. Ayuda a que se cumplan las condicionesde terminacin de un programa ya que puede afectar al contador delSTART. Su sintaxis es:

    TERMINATE A

    Donde A es un operando donde se coloca el nmero (entero) con elque se disminuir el contador de termino de la simulacin, cuyonmero inicial se da en la instruccin de control START. Cuando elcontador alcanza un valor menor o igual a cero se ejecuta la siguiente

    instruccin debajo del START, si es un END, la simulacin termina.

    TERMINATE

  • 7/29/2019 GPSS Pc

    8/83

    Ejemplos: Terminate

    TERMINATE

    Cada transaccin que ingresa a este bloque sedestruye.

    TERMINATE 5

    Cada vez que una transaccin ingresa a este

    bloque se destruye y disminuye en 5 el contadorde finalizacin de la simulacin.

  • 7/29/2019 GPSS Pc

    9/83

    Bloque : Seize Sirve para registrar el empleo de una unidad de servicio por parte

    de una transaccin que entra, de tal forma que la unidad quedaocupada hasta que la transaccin ingresa a una instruccinRELEASE. Una sola transaccin podra ocupar varias unidades deservicio simultneamente. Su sintaxis es:

    SEIZE A

    Donde el operando A se emplea para dar la identificacin a launidad que se ocupa (nmero o nombre).

    Ejemplo :

    SEIZE HORNORegistra la ocupacin de una unidad de servicio llamada HORNO.

    SEIZE

  • 7/29/2019 GPSS Pc

    10/83

    Bloque : Release

    Sirve para desocupar la unidad de servicio ocupadapreviamente por la transaccin al haber ingresado a unbloque Seize. No se reciben negativas para entrar a estebloque. Su sintaxis es :

    RELEASE A

    El operando A indica la identificacin de la unidad que selibera.

    Ejemplo :

    RELEASE HORNO

    Indica que la transaccin libera a la unidad de servicioHORNO que ocup con anterioridad.

    RELEASE

  • 7/29/2019 GPSS Pc

    11/83

    Bloque : Advance Suspende el movimiento de una transaccin por una cantidad

    especifica de tiempo simulado. Puede emplearse para simular eltiempo que una persona tarda en ocupar un equipo, en una sala deespera, etc. Su sintaxis es:

    ADVANCE A,B

    Donde el operando A corresponde al tiempo de retardo para la

    transaccin y B es el intervalo de dispersin alrededor de A. Ejemplos :

    ADVANCE 12,4

    Retarda la transaccin 12 4 unidades de tiempo simulado.

    ADVANCE 15

    Retarda exactamente 15 unidades de tiempo a la transaccin.

    ADVANCE 5,FN$XPDIS

    Retarda a la transaccin un tiempo distribuido exponencialmente con media 5 .

    ADVANCE

  • 7/29/2019 GPSS Pc

    12/83

    Bloque: Queue La instruccin de bloque QUEUE se emplea para obtener

    estadsticas de las transacciones que pasan por una fila o cola. Susintaxis es:

    QUEUE A,B

    Donde el operando A se emplea para colocar el nombre de la fila ala que se le asignarn las estadsticas. Y B es el nmero deunidades que se deben sumar a la fila cuando una transaccinpasa por la instruccin. El valor por omisin es de uno.

    Ejemplo(s):

    QUEUE FILAADeclara una fila de nombre FILAA y le suma una unidad a la fila cuandouna transaccin pasa por ella.

    QUEUE FILAB,3

    Declara una fila de nombre FILAB y le suma 3 unidades cada vez que unatransaccin pasa por ella.

    QUEUE

  • 7/29/2019 GPSS Pc

    13/83

    Bloque : Depart

    Reduce el contenido de una fila declarada con QUEUE, en una oms unidades. DEPART es el complemento de QUEUE ya quesirve para simular que un elemento de la fila se desforma y se va.Su sintaxis es:

    DEPART A,B

    Donde A es el operando donde se aporta el nombre de la fila a laque se le removern B unidades, el valor por omisin de B es uno.

    Ejemplo(s):

    DEPART FILAADescuenta una unidad de la fila FILAA que se debe definir antes.

    DEPART FILAB 3La fila FILAB se reduce en 3 unidades cada vez que una transaccin pasapor esta instruccin.

    DEPART

  • 7/29/2019 GPSS Pc

    14/83

    Simulacin de Sistemas

    Tiempoentre

    Arribos (t)

    Cola

    Servicio

    Poblacin

    SISTEMA DE COLAS

    Arribos

    Tiempo deServicio

    Politica de

    servicio

    GENERATE

    TERMINATE

    QUEUE

    SEIZE

    ADVANCE

    RELEASE

    DEPART

  • 7/29/2019 GPSS Pc

    15/83

    Ejemplo 1

    Elabore un programa de simulacin que represente elsiguiente sistema: La operacin de un telfono que sirvepara que los empleados hagan sus llamadas. El tiempopor llamada es de 3 a 7 min con probabilidad uniforme;los empleados llegan al telfono cada 10 5 min. Simule50 llamadas efectuadas. (por ejemplo para saber si untelfono es suficiente o es necesario otro).

  • 7/29/2019 GPSS Pc

    16/83

    Bloques GPSS

    Elabore un programa de simulacin que represente elsiguiente sistema: La operacin de un telfono (SEIZE)que sirve para que los empleados hagan sus llamadas. Eltiempo por llamada es de 3 a 7 min con probabilidaduniforme (ADVANCE); los empleados llegan al telfonocada 10 5 min (GENERATE) y si no esta libre eltelfono se quedan esperando (QUEUE). Simule 50llamadas efectuadas (START 50). (por ejemplo para

    saber si un telfono es suficiente o es necesario otro).

  • 7/29/2019 GPSS Pc

    17/83

    Programa GPSS delEjemplo 1

    GENERATE 600,300 GENERA USUARIOS DETELEF. U/C 600300 SEG

    QUEUE COLA COLA POR LLAMADAS

    SEIZE TELEFON SOLICITAN ACCESO AL

    TELEFONO. DEPART COLA SALIDA DE COLA

    ADVANCE 300,120 TPO. OCUPACION DELTELEF: 300 120 SEG

    RELEASE TELEFON LIBERAN EL TELEFONODESPUES DE LLAMAR.

    TERMINATE 1 SE CUENTA UNA

    LLAMADA. START 50 SE SIMULAN 50

    LLAMADAS

    ADVANCE

    SEIZE

    RELEASE

    10,5

    TELEFONO

    5,2

    TELEFONO

    1

    GENERATE

    TERMINATE

    QUEUE

    DEPART

    COLA

    COLA

  • 7/29/2019 GPSS Pc

    18/83

    Bloque : Enter Esta instruccin se emplea para ocupar unidades de equipo que

    tienen capacidad mltiple. Por ejemplo un cubculo de cajerosautomticos, un conjunto de sillas en un saln, etc. Su sintaxis es:

    ENTER A,B

    Donde A es el nombre del equipo de capacidad mltiple y B es el

    nmero de unidades que solicita una transaccin, en caso deomitirlo se solicitar una unidad de equipo. La capacidad mximadel conjunto se puede fijar con la instruccin de control llamadaSTORAGE, si no se fija as la capacidad mxima se supone infinita.

    Ejemplo :

    ENTER SILLAS, 2Aqu la transaccin que ingresa solicita 2 unidades del conjunto llamadoSILLAS, entidad que puede dimensionarse con una sentencia de controlSTORAGE.

    ENTER

  • 7/29/2019 GPSS Pc

    19/83

    Bloque : Leave LEAVE se utiliza para que las transacciones liberen unidades de

    equipo ocupadas con ENTER. Su sintaxis es:

    LEAVE A, B

    Donde A es el operando que se emplea para invocar el nombre delequipo (storage) del cual se liberan B unidades. Si el operando Bse omite, su valor ser de uno. Se debe tener precaucin de no

    liberar ms unidades de las que se tengan ocupadas. Ejemplo(s):

    LEAVE MESASSe pide que se libere una unidad del equipo de capacidad mltiple llamado

    MESAS.

    LEAVE MESAS,3Cada transaccin que ingresa solicita que la unidad de equipo mltiple (ostorage) MESAS libere 3 de sus unidades.

    LEAVE

  • 7/29/2019 GPSS Pc

    20/83

    Sentencia Control: Storage

    Se emplea para determinar cuntas unidades estarn

    disponibles de un equipo de capacidad mltiple (storage). Susintaxis es:

    etiqueta STORAGE A

    Donde "etiqueta" llevar el nombre del equipo que se deseadimensionar y A es el nmero de unidades (o capacidad) quetendr el equipo.

    Ejemplo:

    CAJA STORAGE 10

    Se determina que el storage CAJAS tendr capacidad de 10

    unidades. Nota : STORAGE se ubica junto a las instrucciones de control del inicio del

    programa (donde usualmente se colocan las declaraciones de variables).

  • 7/29/2019 GPSS Pc

    21/83

    Ejemplo 2

    Se desea saber cuntos puntos de cobro (casetas)de peaje se deben abrir en uno de los sentidos deuna autopista, para tenerlos disponibles en casode que la demanda aumente al doble de autos por

    unidad de tiempo (en promedio), puesto que sedesea que el nmero de autos en espera deservicio no sea superior a 20, por el riesgo deaccidente que hay en la zona. Si el tiempo interarribo de los autos en cada carril es 20 10 sg y el

    tiempo de cobro por auto es de 10 5 sg, simuleocho horas de operacin para tomar una decisin.

    ADVANCE

  • 7/29/2019 GPSS Pc

    22/83

    123

    Carril 1

    Carril 2GENERATE GENERATE

    ENTER

    TERMINATE

    ADVANCE

    QUEUE

    DEPARTLEAVE

  • 7/29/2019 GPSS Pc

    23/83

    Simulacin de Sistemas

    11123

    Carril 1Carril 2GENERATE GENERATE

    QUEUE

    ENTER

    DEPARTADVANCE

    LEAVE

    TERMINATE

  • 7/29/2019 GPSS Pc

    24/83

    Tiempo Inter Arribo

    en cada carril 20 10 sg

    Tiempo Servicio

    en cada caseta 10 5 sg

  • 7/29/2019 GPSS Pc

    25/83

    Construccin del modelo GPSS El primer paso es crear el modelo conceptual, descomponiendo el sistema

    de acuerdo a los elementos que es posible simular. Por ejemplo: lascabinas de cobro se pueden visualizar como unidades de equipo mltiple,ya que son similares en caractersticas. Los autos se pueden representarpor transacciones y el nmero de autos en espera de servicio se puedecuantificar como una fila frente al servidor.

    De esta manera se puede inferir que se har uso de las siguientesinstrucciones: (bsicamente)

    GENERATE para crear las transacciones que representarn los autos quellegan por la autopista, QUEUE para tomar datos de los autos que estn enespera del servicio, ENTER para simular un conjunto de cabinas de cobrode caractersticas semejantes ADVANCE para representar los tiempos deatencin, TERMINATE para sacar autos del modelo una vez que pasan lacaseta, DEPART para descontar de la fila a los autos atendidos, LEAVE

    para desocupar las cabinas de cobro, y START para dar una condicin determinacin.

    P GPSS l Ej l 2

  • 7/29/2019 GPSS Pc

    26/83

    Programa GPSS para el Ejemplo 2 CABINAS STORAGE 3 Se inicia con 3 cabinas.

    * ESTE PROGRAMA SIMULA LA OPERACION DE UN PUNTO DE COBRO

    * SOBRE UNA AUTOPISTA. INICIA CON 3 CABINAS DE COBRO *

    * PROGRAMA BASE: * GENERATE 20,10 Tiempo de inter arrivo (seg) en el carril 1

    QUEUE FILA Auto forma frente a las cabinas (alguna de ellas)

    ENTER CABINAS Se solicita acceso a alguna cabina

    DEPART FILA Auto abandona la fila.

    ADVANCE 10,5 Tiempo de servicio en alguna cabina.

    LEAVE CABINAS Auto deja alguna cabina.

    TERMINATE

    GENERATE 20,10 Tiempo de inter arrivo (seg) en el carril 2. QUEUE FILA Auto forma frente a las cabinas (alguna de ellas)

    ENTER CABINAS Se solicita acceso a alguna cabina

    DEPART FILA Auto abandona la fila.

    ADVANCE 10,5 Tiempo de servicio en alguna cabina.

    LEAVE CABINAS Auto deja alguna cabina.

    TERMINATE

    GENERATE 8*3600 Se crea 1 transaccin a las 8 horas de operacin TERMINATE 1 Y el programa termina en este momento.

    START 1 Inicia una corrida de la siumulacin.

    Carril 1 de la via Carril 2 de la via

  • 7/29/2019 GPSS Pc

    27/83

    GENERATE

    QUEUE

    DEPART

    ENTER

    ADVANCE

    LEAVE

    GENERATE

    QUEUE

    DEPART

    ENTER

    ADVANCE

    LEAVE

    GENERATE20,10

    FILA

    CABINAS

    FILA

    20,10

    FILA

    CABINAS

    FILA

    10,5 10,5

    CABINAS CABINAS

    8*3600

    1

    TERMINATE TERMINATE

    TERMINATE

    Representa a un relojde control de fin de lasimulacin para

    periodos de 8 horas.

  • 7/29/2019 GPSS Pc

    28/83

    Bloque : Transfer

    La instruccin TRANSFER sirve para bifurcar el trayectode un grupo de transacciones, que ingresen a estainstruccin de bloque. En los modelos de simulacin amenudo se necesita simular que los elementos querecorren el modelo toman decisiones y siguen rutas yestrategias diferentes, para ello se puede usar el bloqueTRANSFER . Su sintaxis es:

    TRANSFER A,B,C,D

    Donde A es el modo de operacin, B es el nombre (oetiqueta) de la direccin de la primera opcin, C es el

    nombre (o etiqueta) de la segunda opcin y D es un factorde indexacin.

    TRANSFER

  • 7/29/2019 GPSS Pc

    29/83

    Forma Incondicional

    Para hacer esto se deja el campo A en blanco y enB se coloca una etiqueta que seala el bloquedonde ingresar incondicionalmente latransaccin.

    Ejemplo:

    TRANSFER , PROXIMOEn este ejemplo la transaccin que llega al bloque setransfiere incondicionalmente al bloque etiquetadocomo PROXIMO.

  • 7/29/2019 GPSS Pc

    30/83

    Forma Estadstica o fraccional

    Se tienen 2 maneras diferentes de hacer una transferencia

    estadstica de transacciones, a saber: Manera 1. se elige en el campo A una probabilidad de pasar

    al bloque etiquetado como se menciona en el campo C. Ejemplo 1:

    TRANSFER .33,DIRUNO,DIRDOS

    Esta instruccin enva el 33 % de las transacciones que ingresen al bloqueetiquetado con DIRDOS y el 67 % restante al etiquetado con DIRUNO.

    Ejemplo 2:

    TRANSFER .33, ,DIRDOS

    Aqu el 33 % de las transacciones que ingresen se dirigen al bloque

    etiquetado con DIRDOS y el resto pasa al siguiente bloque.

  • 7/29/2019 GPSS Pc

    31/83

    Forma estadstica ...

    Manera 2. Seleccionando en A el modo PIC, se tiene laopcin de transferir de manera aleatoria uniforme latransaccin que ingrese a cualquier bloque delimitadoentre las etiquetas que se aporten en los campos B y C. Ejemplo:

    TRANSFER PIC,ETIQUNO,ETIQDOS

    Esta instruccin intentar enviar las transacciones (que ingresen)a algn bloque que est entre el bloque etiquetado comoETIQUNO y el etiquetado como ETIQDOS (incluyendo losbloques etiquetados). Todos los destinos posibles tienen la misma

    probabilidad de ser seleccionados por la instruccin

  • 7/29/2019 GPSS Pc

    32/83

    Forma Condicional Manera 1. Si en el campo A se emplea la opcin BOTH

    Ejemplo:TRANSFER BOTH,INICIO,FINALLa transaccin al llegar se transfiere como primera opcin al bloqueetiquetado como INICIO y como segunda opcin al etiquetado comoFINAL hasta que logre el acceso.

    Manera 2. Si en el campo A se especifica la opcin ALL Ejemplo:

    TRANSFER ALL,UUNO,DDOS,2Esta es una generalizacin del modo BOTH, ya que la transaccinintentar bifurcarse a la etiqueta UUNO, pero si no logra el accesointentar acceder dos bloques abajo (UUNO + 2) y de no lograr acceso

    seguir intentando accesar en saltos de D bloques (en este caso 2)hasta que encuentre el lmite marcado con DDOS. Se debe cuidar queUUNO+nD = DDOS para alguna n.

  • 7/29/2019 GPSS Pc

    33/83

    Ejemplo : Mquinas automticas

    Se tiene una sala con dos mquinas automticas,una que vende galletas y otra que vende refrescos.Los posibles clientes llegan cada 2 1min. a la sala.El 20 % no compra nada y se sale, el 60 % compra

    una bebida, el 10% compra una bebida y una galleta.El resto slo compra galletas.

    Los tiempos de atencin son de 1.5 0.5 min encualquiera de las mquinas. Obtenga el tiempo

    promedio de los clientes en la sala (excluyendo losque no compran). Simule 4 horas de operacin.

  • 7/29/2019 GPSS Pc

    34/83

    Galletas

    Refrescos

    60%

    80%

    10%

    75%

    10%

    25%GENERATE

    TERMINATE

    QUEUE

    DEPART

    TERMINATE

    SEIZE

    ADVANCE

    RELEASE

    SEIZE DEPART

    ADVANCE

    RELEASE

    TRANSFER

    TRANSFER

    20%

    TRANSFER

    Modelo GPSS

  • 7/29/2019 GPSS Pc

    35/83

    Modelo GPSS

    GENERATE 120,60 TIEMPO ENTRE LLEGADAS EN SEGUNDOS.

    TRANSFER .20,,FINAL PORCENTAJE QUE NO COMPRA

    QUEUE FILA FILA DE LOS QUE COMPRAN

    TRANSFER .25,,GALLET PORCENTAJE QUE ADQUIEREN GALLETAS

    SEIZE MBEBIDAS SOLICITAN ACCESO A LAS BEBIDAS 75%

    DEPART FILA SALEN DE LA FILA DE CLIENTES

    ADVANCE 90,30 TIEMPO DE SERVICIO

    RELEASE MBEBIDAS LIBERAN LA MAQUINA

    TERMINATE

    GALLET TRANSFER .40,,SOLOGALL PORCENTAJE QUE COMPRAN SOLO GALLETAS (10% DE 25%)

    SEIZE MBEBIDAS SOLICITAN ACCESO A LAS BEBIDAS

    ADVANCE 90,30 TIEMPO DE SERVICIO

    RELEASE MBEBIDA LIBERAN LA MAQUINA SOLOBO

    SOLOGALL SEIZE MGALLETAS SOLICITAN ACCESO A LAS BOTANAS

    ADVANCE 90,30 TIEMPO DE SERVICIO

    RELEASE MGALLETAS LIBERAN LA MAQUINA DE BOTANAS

    DEPART FILA SALEN DE LA FILA DE CLIENTES FINAL

    FINAL TERMINATE

    GENERATE 4*3600 TIEMPO DE SIMULACION

    TERMINATE 1

    START 1

  • 7/29/2019 GPSS Pc

    36/83

    Bloque: Test Esta instruccin de bloque controla el flujo de transacciones a travs

    de relaciones lgicas entre los atributos numricos estndar (SNA)del GPSS, que son variables internas de las cuales se sirve pararealizar la simulacin. La instruccin Test opera de dos modos:a) Cuando las transacciones se detienen hasta que la relacin lgica se cumple,

    (BLOQUEO) y

    b) Cuando las transacciones se dirigen a un bloque alterno cuando la relacinlgica no se cumple.

    La sintaxis de TEST es:

    TEST "X" A,B,C

    Donde "X" es un operador relacional que puede ser:

    L (menor que)/LE (menor o igual)/E (igual)/NE (diferente)/G (mayor que)/GE (mayoro igual).

    TEST

  • 7/29/2019 GPSS Pc

    37/83

    Bloque : Test ... El operando A es el primer SNA comparado, B es el segundo SNA

    comparado y C es la etiqueta del bloque alterno si la relacin lgica

    es falsa. A y B tambin pueden tomar valores constantes. Si se omitela etiqueta en el campo C, entonces TEST opera del primer modo,deteniendo las transacciones mientras la relacin no sea verdadera.Funcionando como una compuerta.

    En caso de que se aporte la etiqueta las transacciones seguirn porel bloque etiquetado cuando la relacin sea falsa.

    Ejemplo(S) :TEST LE Q$LINEA,7,SALIDA

    En este caso la instruccin enva las transacciones a la etiqueta SALIDA encaso de que la longitud de la fila LINEA sea mayor que 7. Si es menor o iguallas transacciones pasan al siguiente bloque.

    TEST E Q$LINEA,Q$INICIO

    Aqu la instruccin detendr las transacciones que intenten pasar al bloquesiguiente mientras las longitudes de las filas LINEA e INICIO sean diferentes.Cuando sean iguales las transacciones pasarn al siguiente bloque.

    SNAs SNA DEFINICION

  • 7/29/2019 GPSS Pc

    38/83

    SNA s SNA DEFINICIONNj Nmero total de transacciones que entran en el bloque j

    WJ Nmero de transacciones esperando en el bloque j

    Qj Contenido actual de la fila j (alternativamente podemos utilizar Q$nombre_cola)

    QAj Contenido promedio de la fila j

    QMj Contenido mximo de la fila j

    QCj Nmero total de entradas en la fila j

    QZj Nmero total de transacciones que no hicieron la fila j

    QTj Tpo prom. de las transacciones en la fila j

    QXj Tpo prom. de las transacciones en la fila j excluyendo las que no hicieron fila.

    Sj Contenido actual del storage j (alternativamente podemos utilizar S$nombre_almacen)

    Rj Nmero de unidades restantes en el storage jSRj Porcentaje actual de empleo del storage j

    SAj Contenido promedio del storage j

    SMj Contenido mximo del storage j

    SCj Nmero total de entradas en el storage j

    STj Tpo promedio en el storage j

    C1 Tpo del reloj relativo controlado desde el ltimo bloque Mark

    AC1 Tpo de reloj absoluto (desde el inicio de la simulacin)

    RNj Generador de nros. aleatorios uniforme j

    Xj... Es la transaccin j etc,

    Ejemplo 3: Restaurant

  • 7/29/2019 GPSS Pc

    39/83

    Ejemplo 3: Restaurant Simule la operacin del establecimiento por 8 horas y determine el

    tamao de los componentes de acuerdo a los resultados. Tome en cuentaque de las 13:00 a las 15:00 llegan exactamente tres personas ms por

    unidad de tiempo y que el comedor abre a la 11:00. Los clientes llegan a partir de las 11:00 de manera independiente con un

    tiempo entre llegadas distribuido con probabilidad uniforme entre 60 y 30segundos. El tiempo de cobro en la caja es aleatorio e uniformementedistribuido entre 90 y 50 segundos. Suponga que la comida se sirve sloen la parte inicial de la barra, tomando un tiempo de 40 20 segundos.

    Despus slo se recorre la barra hasta llegar a la caja para realizar supago.

    Suponga que las personas permanecen comiendo durante 18 5 min ydespus se retiran. Se desea una cola menor a 5 personas detrs delpunto inicial de la barra en espera de atencin (zona de servicio comida).

    Con base en los resultados de su programa diga cuantos lugares

    (asientos) debe tener el comedor (considere que un comensal puedesentarse en cualquier mesa siempre que exista un lugar libre en ella) ydiga el tamao de la barra que necesita (para cuantas personas).

  • 7/29/2019 GPSS Pc

    40/83

    Caja

    Barra

    Serviciocomida

    Entrada

    A

    reade

    M

    esas

    GENERATE 60,30 ab

  • 7/29/2019 GPSS Pc

    41/83

    QUEUE

    DEPART

    ENTER

    ADVANCE

    LEAVE

    DEPART

    ENTER

    ADVANCE LEAVE

    COLA

    BARRA

    COLA

    COLAMESA

    CAJA

    14,20

    90,50

    BARRA

    MESAS

    SEIZE

    RELEASE CAJA

    QUEUE COLAMESA

    ADVANCE18,5

    MESAS

    TERMINATE

    a

    b

    TESTL AC1,7200,OTRO

    TERMINATE

    TEST

    TRANSFER

    G AC1,14400,FIN

    C

    C

    ,VAN

    VAN

    FIN

    OTRO

  • 7/29/2019 GPSS Pc

    42/83

    TEST

    GE

    TRANSFER

    GENERATE 15,7.5,7200

    AC1,7200,SALIR

    TEST LE AC1,14400,SALIR

    TERMINATE

    C,VAN

    SALIR

    Ej l 4 D t Q j

  • 7/29/2019 GPSS Pc

    43/83

    Ejemplo 4: Dpto. Quejas Se simula la operacin de un Departamento

    que recibe y resuelve Quejas de clientes. ElDpto. tiene 2 especialistas que resuelvensituaciones diferentes cada uno de ellos,pero en caso de que se acumulen 5 o mascasos en espera de la atencin de uno deellos, la siguiente queja se pasar al otroespecialista para atender a los clientes de

    manera rpida. El tiempo inter arribo dequejas es de una cada 3015 min. El 48%son para el especialista A y el resto para elB. El tiempo de atencin de la queja esuniforme entre 10 y 30 min por queja, y encaso de ayuda su tiempo es de 30 5 min.

    La ayuda se da mientras algn especialistano tenga fila de espera. Simule la atencinde 100 quejas.

    GENERATE 30,15 SE GENERAN LAS QUEJAS (MIN) TRANSFER .52,ESPUNO,ESPDOS SE DISTRIBUYEN LOS CASOS 48% PARA UN ESP.

    ESPUNO TEST L Q$ESPA 5 AYUDB SI LA FILA ES DE 5 LA SIG SE TURNA AL OTR ESP

  • 7/29/2019 GPSS Pc

    44/83

    Modelo GPSS

    ESPUNO TEST L Q$ESPA,5,AYUDB SI LA FILA ES DE 5 LA SIG. SE TURNA AL OTR. ESP.

    NOAYB QUEUE ESPA SE FORMAN PARA VER EL ESP. A.

    SEIZE ESPECIA SOLICITAN ATENCION DEL ESP. A

    DEPART ESPA SALEN DE LA FILA

    ADVANCE 20,10 LOS ATIENDE EN 20 10 MIN.

    RELEASE ESPECIA SE DESOCUPA EL ESPECIALISTA A

    TERMINATE 1

    ESPDOS TEST L Q$ESPB,5,AYUDA SI LA FILA ES DE 5 LA SIG. SE TURNA AL OTR. ESP.

    NOAYA QUEUE ESPB SE FORMAN PARA VER AL ESP. B

    SEIZE ESPECIB SOLICITAN ATENCION DEL ESP. B

    DEPART ESPB SALEN DE LA FILA

    ADVANCE 20,10 LOS ATIENDE EN 20 10 MIN.

    RELEASE ESPECIB SE DESOCUPA EL ESPECIALISTA B

    TERMINATE 1

    AYUDA TEST E Q$ESPA,0,NOAYA SI EL ESP. NO TIENE QUEJAS ESPERANDO

    QUEUE ESPA SE FORMAN EN SU FILA

    SEIZE ESPECIA SOLICITAN SU ATENCION DEPART ESPA SE DESFORMAN

    ADVANCE 30,5 TIEMPO POR QUEJA (AYUDA)

    RELEASE ESPECIA SE DESOCUPA EL ESPECIALISTA A

    TERMINATE 1

    AYUDB TEST E Q$ESPB,0,NOAYB SI EL ESP. NO TIENE QUEJAS ESPERANDO

    QUEUE ESPB PASAN POR SU FILA

    SEIZE ESPECIB SOLICITAN SU ATENCION

    DEPART ESPB SALEN DE SU FILA

    ADVANCE 30,5 TIEMPO DE ATENCION POR QUEJA (AYUDA) RELEASE ESPECIB SE DESOCUPA EL ESPECIALISTA B

    TERMINATE 1

    START 100 SE SIMULAN 100 QUEJAS ATENDIDAS.

    Bl G tGATE

  • 7/29/2019 GPSS Pc

    45/83

    Bloque : Gate Esta es una instruccin semejante a TEST pero utiliza relaciones lgicas

    asociadas con entidades particulares. Tambin acta de los dos modos en

    que opera TEST. Su sintaxis es: GATE "X" A,B

    Donde "X" puede ser:

    NU (recurso especificado en A no esta en uso)

    U (recurso especificado en A esta en uso)

    SF (storage especificado en A esta lleno)

    SNF (storage especificado en A esta no lleno)

    SNE (storage especificado en A esta no vacio)

    SE (storage especificado en A esta vacio).

    El operando A se emplea para colocar el nombre de la entidad que seinspecciona y en el B se coloca la etiqueta del bloque alterno en caso de nocumplirse la relacin.

    Si se omite la etiqueta en B, la instruccin detendr las transacciones hastaque la relacin sea verdadera, en cuyo caso pasarn al siguiente bloque.

    GATE

  • 7/29/2019 GPSS Pc

    46/83

    Bloque : Gate ...

    Ejemplo(s) :

    GATE SNF NAVE,OTRO

    La transaccin al ingresar en el GATE preguntara si es verdad que el storagellamado NAVE no est totalmente lleno, si es verdad pasar al siguientebloque, si no se dirige al bloque etiquetado con OTRO.

    GATE NU CAJAS

    Aqu las transacciones se preguntan si el facility llamado CAJAS no estsiendo usado (sin usarse), si es verdad pasan al siguiente bloque y si es falsose detienen hasta que este sin usarse.

    GENERATE 30,15 SE GENERAN LAS QUEJAS (MIN)

    TRANSFER .52,ESPUNO,ESPDOS SE DISTRIBUYEN LOS CASOS 48% PARA UN ESP.

    ESPUNO TEST L Q$ESPA,5,AYUDB SI LA FILA ES DE 5 LA SIG. SE TURNA AL OTR. ESP.

  • 7/29/2019 GPSS Pc

    47/83

    Modelo GPSS

    , ,

    NOAYB QUEUE ESPA SE FORMAN PARA VER EL ESP. A.

    SEIZE ESPECIA SOLICITAN ATENCION DEL ESP. A

    DEPART ESPA SALEN DE LA FILA

    ADVANCE 20,10 LOS ATIENDE EN 20 10 MIN.

    RELEASE ESPECIA SE DESOCUPA EL ESPECIALISTA A

    TERMINATE 1

    ESPDOS TEST L Q$ESPB,5,AYUDA SI LA FILA ES DE 5 LA SIG. SE TURNA AL OTR. ESP.

    NOAYA QUEUE ESPB SE FORMAN PARA VER AL ESP. B

    SEIZE ESPECIB SOLICITAN ATENCION DEL ESP. B

    DEPART ESPB SALEN DE LA FILA

    ADVANCE 20,10 LOS ATIENDE EN 20 10 MIN.

    RELEASE ESPECIB SE DESOCUPA EL ESPECIALISTA B

    TERMINATE 1

    AYUDA GATE NU ESPECIA,NOAYA SI EL ESP. NO TIENE QUEJAS ESPERANDO

    QUEUE ESPA SE FORMAN EN SU FILA

    SEIZE ESPECIA SOLICITAN SU ATENCION DEPART ESPA SE DESFORMAN

    ADVANCE 30,5 TIEMPO POR QUEJA (AYUDA)

    RELEASE ESPECIA SE DESOCUPA EL ESPECIALISTA A

    TERMINATE 1

    AYUDB GATE NU ESPECB,NOAYB SI EL ESP. NO TIENE QUEJAS ESPERANDO

    QUEUE ESPB PASAN POR SU FILA

    SEIZE ESPECIB SOLICITAN SU ATENCION

    DEPART ESPB SALEN DE SU FILA

    ADVANCE 30,5 TIEMPO DE ATENCION POR QUEJA (AYUDA)

    RELEASE ESPECIB SE DESOCUPA EL ESPECIALISTA B

    TERMINATE 1

    START 100 SE SIMULAN 100 QUEJAS ATENDIDAS.

  • 7/29/2019 GPSS Pc

    48/83

    Ejemplo 5 : Personal Variable

    Elabore un programa de simulacin que simule laoperacin de una oficina, donde el nmero de personasque laboran es variable, y depende del tiempo promedioque tardan en atender una peticin. Las peticiones llegan

    cada 5 2 min. , el nmero inicial de empleados es de 3 ypueden aumentar hasta 5.

    Cada empleado atiende una peticin en 10 8 min. pero,si el tiempo promedio de espera en el sistema es de 15min o superior entonces se aumenta un empleado ms.Simule 8 horas de operacin.

    CONTRES STORAGE 3

    EXTRAS STORAGE 1

  • 7/29/2019 GPSS Pc

    49/83

    Modelo GPSS

    GENERATE 5,2 EN MINUTOS

    QUEUE FILA

    TEST L QT$FILA,15,OTRO

    NORMAL ENTER CONTRES

    ADVANCE 10,8

    LEAVE CONTRES

    DEPART FILA

    TERMINATE OTRO

    GATE UN UNOMAS,DOSEX

    TRANSFER BOTH,NORMAL,EXTRA

    EXTRA SEIZE UNOMAS

    ADVANCE 10,8

    RELEASE UNOMAS

    DEPART FILA

    TERMINATE

    DOSEX TRANSFER BOTH,NORMAL,DEXTRA

    DEXTRA ENTER EXTRAS

    ADVANCE 10,8

    LEAVE EXTRAS

    DEPART FILA

    TERMINATE

    GENERATE 8*60

    TERMINATE 1

    START 1

    Sentencia de Control: FUNCTION

  • 7/29/2019 GPSS Pc

    50/83

    Sentencia de Control: FUNCTION

    Para crear variables que tengan distribuciones y valores que varien

    de una manera funcional ya sea aleatoria o deterministica en GPSSse cuenta con la opcin FUNCTION que se puede utilizar de manerasdiversas.

    Las funciones, ya sean continuas o discretas, asocian valores de unavariable (independiente) con resultados especficos de los valoresque pueden tomar las variables dependientes. La sintaxis es:

    Etiqueta FUNCTION A,B,CX1,Y1/X2,Y2/X3,Y3/.../Xn,Yn

    Donde : A se emplea para declarar la variable que se usar como independiente

    B se emplea para definir el tipo de funcin que se desea

    C es el nmero de pares coordenados X,Y que se usan para determinarla forma funcional. Los pares X,Y son coordenadas que determinan laforma funcional que se desea.

  • 7/29/2019 GPSS Pc

    51/83

    Sentencia de Control: FUNCTION ... Algunas funciones aparecen de manera tan frecuente que

    su forma funcional ya esta predefinida en GPSS con el finde evitar un trabajo innecesario.

    Por ejemplo:

    TIEMPO Function RN5,C,8

    0,0/0.55,1/0.35,2/0.55,3/0.65,4/0.80.5/0.90,6/1.0,0

    ADVANCE FN$TIEMPO

    En esta instruccin de bloque se pide que la transaccin

    suspenda su recorrido por el modelo, durante un lapsoespecificado en la funcin tiempo.

    Function

  • 7/29/2019 GPSS Pc

    52/83

    Function Los tipos de funcin de que se dispone son :

    C (para denotar una funcin de tipo continuo)

    D (para denotar funciones de tipo discreto)

    L (para denotar el tipo lista)

    E (para el tipo discreto por atributos)

    M (tipo lista por atributos)

    S (tipo selector de entidad).

    La ETIQUETA se emplea para darle un nombre a la funcin que se declara,con el fin de llamarla as cuando se utilice en el programa GPSS. Para llamara la funcin desde alguna parte del programa se necesita llamar al SNAcorrespondiente, por ejemplo: Si se declar la funcin TIEMPO, cuando sedesea usar el valor actual de la funcin, dependiendo del valor actual de lavariable independiente, es necesario invocar al SNA FN$TIEMPO el cualtendr el valor deseado.

    El valor de la funcin se podr utilizar en muchos de los operandos de lasinstrucciones de bloque donde tenga sentido un valor como el que aporta lafuncin (o funciones) que defina.

  • 7/29/2019 GPSS Pc

    53/83

    Funcin Continua ( C )

    Output FUNCTION V$Input,C3

    1.1,10.1/20.5,98.7/33.3,889.2

    Xpdis FUNCTION RN200,C240,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38

    .8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2

    .97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8

  • 7/29/2019 GPSS Pc

    54/83

    Funcin Discreta ( D )

    DIista FUNCTION X$A2,D5

    1.1,6.9/2.1,7/6.33,9.4/7,10/9.9,12.01

    Ran1 FUNCTION RN1,D5

    0,0/.2,7.2/.4,6.667/.8,9.92/1.0,10

  • 7/29/2019 GPSS Pc

    55/83

    Funcin Lista ( L )

    Lista FUNCTION Q$Barbero,L5

    1,PAR1/2,PAR2/3,PAR3/4,PAR4/5,PAR5

    Cantidad FUNCTION P$tipo,L4

    1,10/2,15/3,25/4,50

    Funcin Discreta de

  • 7/29/2019 GPSS Pc

    56/83

    Funcin Discreta deatributo valuado ( E )

    Edisc FUNCTION X$QRA,E5

    1,S$Stor1/3,S$Stor2/5,S$Stor3/9,S$Stor5/10,S$Stor6

    Funcin lista de

  • 7/29/2019 GPSS Pc

    57/83

    Funcin lista deatributos valuados (M)

    Mlist FUNCTION X$Name1,M5

    1,Q$Nnam1/2,Q$NamX/3,Q$Nam4/4,Q$Nam6/5,F$Tan1

    Ejemplo 6 :

  • 7/29/2019 GPSS Pc

    58/83

    Ejemplo 6 :

    HORNOS STORAGE 2 Unidad de recursos multiple de tamao 2

    PINTORS STORAGE 2 Se declaran 2 pintores iguales

  • 7/29/2019 GPSS Pc

    59/83

    Modelo GPSS

    PINTORS STORAGE 2 Se declaran 2 pintores iguales

    PINUNO FUNCTION RN1,D4 TIEMPO DE PINTURA PARA EL PINTOR 1

    .1,70/.5,50/.8,60/1.0,65

    PINTOS FUNCTION RN2,BN TIEMPO DE PINTURA PARA LOS PINTORES 2 Y 3

    EXPON FUNCTION RN3, BE FUNCION EXPONENCIAL

    GENERATE FN$EXPON*30,,540,150 GENERACION DE LLEGADAS POISS. AUTOS (MIN) * * EMPIEZAN LAS LLEGADAS A LAS 9 HRS Y ES UN TOTAL DE 150 AUTOS. ****

    QUEUE FILAAP SE FORMA UN AUTO PARA PINTURA

    TRANSFER BOTH,DIRPINU,DIRPIND SE LOCALIZA EL PINTOR DESOCUPADO

    DIRPINU SEIZE PINTORU SE OCUPA AL PINTOR UNO

    DEPART FILAAP

    ADVANCE FN$PINUNO TIEMPO DE PINTADO

    RELEASE PINTORU TERMINA DE PINTAR Y SE DESOCUPA

    QUEUE FILAHOR FORMA EL AUTO PARA ENTRAR AL HORNO

    ENTER HORNOS SE SOLICITA ACCESO AL HORNO DEPART FILAHOR

    ADVANCE 30,5 SE HORNEA

    LEAVE HORNOS SE LIBERA EL HORNO

    QUEUE FILAINS SE FORMA PARA INSPECCION

    SEIZE INSPECC PASA AL PUESTO DE INSPECCION

    DEPART FILAINS LIBERA LA FILA DE INSP.

    ADVANCE 7,2 LO INSPECCIONAN

    RELEASE INSPECC LIBERA EL PUESTO DE INSP.

    TRANSFER .01,,REPIN SE MANDA A REPINTADO

    QUEUE FILAFIN FILA DE AUTOS TERMINADOS

    TERMINATE SE TERMINA UN AUTO

    DIRPIND ENTER PINTORS SE OCUPA UNO DE LOS DOS PINTORES SEMEJANTES

  • 7/29/2019 GPSS Pc

    60/83

    Modelo GPSS ...

    DIRPIND ENTER PINTORS SE OCUPA UNO DE LOS DOS PINTORES SEMEJANTES

    DEPART FILAAP SE LIBERA UN LUGAR DE LA FILA POR PINTAR

    ADVANCE FN$PINTOS*10+60 TIEMPO DE PINTURA

    LEAVE PINTORS SE LIBERA UN PINTOR

    QUEUE FILAHOR SE FORMA UN AUTO EN LA FILA PARA HORNEADO

    ENTER HORNOS SOL. ACC AL HORNO DEPART FILAHOR SE REDUCEN LOS AUTOS POR PINTAR

    ADVANCE 30,5 SE HORNEA EL AUTO

    LEAVE HORNOS LIBERA EL HORNO

    QUEUE FILAINS PASA A INSPECCION

    SEIZE INSPECC

    DEPART FILAINS

    ADVANCE 7,2

    RELEASE INSPECC

    TRANSFER .01,,REPIN QUEUE FILAFIN

    TERMINATE SE TERMINA UN AUTO DESPINTADO

    REPIN PRIORITY 1

    QUEUE FILAAP

    TRANSFER BOTH,DIRPINU,DIRPIND

    TERMINATE 0

    GENERATE 1080

    TERMINATE 1

    START 1

    Bloque : SplitSPLIT

  • 7/29/2019 GPSS Pc

    61/83

    q p

    La instruccin SPLIT permite simular que una

    pieza o un paquete se desensambla en variosque lo componen. Su sintaxis es:

    SPLIT A,B,C,D,E,F,G,H

    Donde A es el nmero de transacciones creadas

    en la cascada (cuantas transacciones saldrndespus de que alguna ingrese en el bloqueSPLIT. En B se coloca la direccin del bloque alcual se dirige la cascada creada.

    Nota : Para los operandos subsecuentes vase el manual de referenciacorrespondiente a la versin que posea ya que estn fuera del nivel de estecurso.

    Bl A bl

  • 7/29/2019 GPSS Pc

    62/83

    Bloque: Assemble

    La instruccin ASSEMBLE permite simular elensamble de piezas o construccin de paquetesya que sirve para unir varias transacciones enuna sola que represente el paquete. Su sintaxises:

    ASSEMBLE A

    Donde A sirve para colocar el nmero de

    transacciones que constituyen el paquete.

    ASSEMBLE

    Bloque: Assign Esta instruccin de bloque reemplaza aumenta o disminuye el contenido de los

    ASSIGN

  • 7/29/2019 GPSS Pc

    63/83

    Esta instruccin de bloque reemplaza, aumenta o disminuye el contenido de losparmetros de la transaccin que ingrese a el. Su sintaxis es:

    ASSIGN A,B,C

    Donde A es un operando donde se coloca el nmero del parmetro donde secolocar la informacin. Si esta seguido de un + o un - se indica que el valor queeste presente se ha de aumentar o disminuir en las unidades especificadas en A.

    El parmetro B se ocupa para colocar el valor que se emplea para reemplazar alvalor actual a travs de la operacin especificada en A.

    El operando C se ocupa para colocar una funcin modificadora que altera aloperando B, como se ilustra en los siguientes ejemplos.

    Ejemplos:ASSIGN 2,7

    Reemplaza el contenido actual del parmetro 2 (P2) con el valor 7.

    ASSIGN 2+,4

    Reemplaza el contenido en P2 sumndole al valor actual 4 unidades.

    ASSIGN 3-,10,FN$EXP

    Reemplaza el contenido en P3 con el resultado de restarle al valor actual de P3 lacantidad 10*FN$EXPO

    Bloque : SavevalueSAVEVALUE

  • 7/29/2019 GPSS Pc

    64/83

    Este bloque define una locacin de registro, y permite actualizar,

    adicionar o sustraer el valor de una variable de almacenamiento.

    Su sintaxis es :

    SAVEVALUE A,BDonde A. Nombre o nmero del SAVEVALUE. Puede ser seguido por

    un signo ms (+) o un signo menos (-) para indicar adicin o sustraccin

    del valor existente. El operando puede ser un nombre, un entero positivo

    o un SNA. Obligatorio. B. El valor a ser almacenado adicionado o

    sustrado. El operando puede ser un nombre, un entero o un SNA.

    Obligatorio.

    Ejemplo:SAVEVALUE CAJA_FINAL,CAJACuando una transaccin ingresa a este bloque el valor de la variablede almacenamiento CAJA es grabado en la variable CAJA_FINAL

    Sentencia de control Reset

  • 7/29/2019 GPSS Pc

    65/83

    La instruccin de control RESET se emplea para borrar todos losresultados estadsticos de la simulacin pero conservando lasituacin actual de las transacciones en los bloques, se empleadespus de START. Se puede emplear para simular elprecalentamiento de un sistema (warm-up).

    El warm-up de un sistema es necesario cuando el sistema a simularno esta vacio al iniciar sus operaciones (que se desean simular).

    Por ejemplo: una fbrica que produce muebles guardar los mueblesinconclusos despus de una jornada de trabajo para proseguir conellos a la jornada siguiente, por lo tanto si se esta simulando estesistema tal vez no sea adecuado tomar estadsticas cuando elsistema inicia como vaco, por tanto, para no tomar en cuenta lasestadsticas del inicio puede usar RESET. Su sintaxis es :

    RESET

    Esta instruccin no posee operandos, se usa en conjunto con START

    Sentencia de control Clear

  • 7/29/2019 GPSS Pc

    66/83

    Esta es una instruccin de control que borratodos los resultados estadsticos colectados a lafecha y adems borra la situacin actual de lastransacciones. Con ella es posible simular lasrepeticiones necesarias de un programa hasta

    que se estabilice. Su sintaxis es :

    CLEAR

    Esta instruccin no posee operandos, se usa enconjunto con START.

    Sentencia de Control EQU

  • 7/29/2019 GPSS Pc

    67/83

    Sentencia de Control EQU

    Esta sentencia evala una expresin yasigna el resultado a un nombre valuado.

    NOMBRE EQU X

    Nombre es el nombre valuado que recibir elvalor. Es requerido.

    X es la expresin a ser evaluada. Esrequerida.

    Ejemplo de EQU

  • 7/29/2019 GPSS Pc

    68/83

    Ejemplo de EQU

    Precio EQU 19.5

    Esta sentencia define el nombre PRECIO y leasigna el valor de 19.5. Cualquier referencia

    futura del nombre valuado usar el valor de19.5.

    Sentencia de Control INITIAL

  • 7/29/2019 GPSS Pc

    69/83

    Sentencia de Control INITIAL

    Permite inicializar una entidad Matrix(matriz), un Logicswitch, un Savevavlue oun elemento de una matriz.

    INITIAL A,B El operando A debe tener la forma de un SNA

    del tipo LS, X o MX o el nombre de una entidadMatriz. Es obligatorio.

    El operando B es el valor a ser asignado, quepor default es 1. Es opcional.

    Ejemplos de INITIAL

  • 7/29/2019 GPSS Pc

    70/83

    j p

    INITIAL X$InvInicial,25 Esta sentencia asigna el valor inicial de 25 a la variable

    global InvInicial del tipo Savevalue.

    INITIAL MX$Inventario(parte_5, nivelStock),163 Esta sentencia asigna el valor de 163 al elemento de la

    matriz denominada Inventario con nro. fila parte_5 y nro.

    columna nivelStock. Los nombres de la fila y la columna tienen que haber sido

    previamente asignados a travs de una sentencia EQU.

    INITIAL Resultados Esta sentencia prepara una entidad Matrix previamente

    definida y denominada Resultados para usar en unasimulacin a partir de una matriz sin datos.

    Bloque TABULATE TABULATE

  • 7/29/2019 GPSS Pc

    71/83

    Bloque TABULATE

    Permite organizar una coleccin de datos dentrode una entidad TABLE. TABULATE A,B

    El operando A es el nombre o nmero de la entidadtabla. Es obligatorio.

    El operando B es el factor de ponderacin para losdatos a tabular. Es opcional.

    Ej: TABULATE Ventas Cuando una transaccin ingresa a este bloque se

    ubica la entidad tabla denominada Ventas,

    especificada en una sentencia de control y tabula losdatos segn esta sentencia.

    Sentencia de Control TABLE

  • 7/29/2019 GPSS Pc

    72/83

    Sentencia de Control TABLE

    Esta sentencia permite definir e inicializar unatabla de distribucin de frecuencias.

    NOMBRE TABLE A,B,C,D Nombre es el nombre y etiqueta de localizacin de la

    tabla. Es requerido.

    El operando A es el argumento de la tabla, lo que seva a tabular. Puede ser un SNA.

    El operando B es el lmite superior del primer intervalode clases.

    El operando C es la longitud de la frecuencia de clase.

    El operando D es el nmero de frecuencias de clase.

    Ejemplo de TABLE

  • 7/29/2019 GPSS Pc

    73/83

    Ejemplo de TABLE

    Ventas Table X$ventas,10,10,5

    Define una entidad tabla que tabula los valoresde la variable global tipo savevalue

    denominada ventas en una tabla como lasiguiente:

    10 20 30 40 50 ventas

    1*************** Modelo utilizando parametrizacion ***************2 TIPOS FUNCTION RN5 D5

  • 7/29/2019 GPSS Pc

    74/83

    2 TIPOS FUNCTION RN5,D50.25,1/0.40,2/0.65,3/0.90,4/1.0,53 TPO_TIPO FUNCTION P$TIPO,L5

    1,10/2,15/3,30/4,45/5,604 COLA4 TABLE Q4,2,2,55*****************************************************************10 GENERATE 10,512 ASSIGN TIPO,FN$TIPOS13 TEST LE Q3,2,SALIR

    14 QUEUE P$TIPO16 SEIZE P$TIPO18 DEPART P$TIPO20 ADVANCE FN$TPO_TIPO22 RELEASE P$TIPO24 TABULATE COLA425 TERMINATE 126 SALIR TERMINATE

    GPSS World Simulation Report - MOD_PARAM.4.1

  • 7/29/2019 GPSS Pc

    75/83

    Friday, April 29, 2005 21:00:48

    START TIME END TIME BLOCKS FACILITIES STORAGES

    0.000 1138.502 11 5 0

    LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

    1 GENERATE 114 0 0

    2 ASSIGN 114 0 0

    3 TEST 114 0 0

    4 QUEUE 114 11 0

    5 SEIZE 103 1 06 DEPART 102 0 0

    7 ADVANCE 102 2 0

    8 RELEASE 100 0 0

    9 TABULATE 100 0 0

    10 TERMINATE 100 0 0

    SALIR 11 TERMINATE 0 0 0

    FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

    1 28 0.237 9.646 1 114 0 0 0 0

  • 7/29/2019 GPSS Pc

    76/83

    2 13 0.171 15.000 1 0 0 0 0 0

    3 27 0.711 30.000 1 0 0 0 0 0

    4 26 0.988 43.269 1 96 0 0 0 10

    5 9 0.438 55.470 1 112 0 0 0 1

    QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

    1 1 0 28 23 0.014 0.549 3.076 0

    2 1 0 13 11 0.014 1.206 7.837 0

    3 3 0 27 6 0.529 22.326 28.705 0

    4 11 11 36 2 3.233 102.239 108.253 0

    5 1 1 10 6 0.060 6.831 17.077 0

    TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%

    COLA4 3.170 2.094 0

    - 2.000 32 32.00

    2.000 - 4.000 51 83.00

    4.000 - 6.000 10 93.00

    6.000 - 8.000 5 98.00

    8.000 - _ 2 100.00

    Sentencia de control MATRIX

  • 7/29/2019 GPSS Pc

    77/83

    Sentencia de control MATRIX

    Define una entidad matriz, con un nmero de filasy columnas especficos.

    NOMBRE MATRIX A,B,C El Nombre es la etiqueta de localizacin y nombre de

    la matriz. Es requerido. El operando A no es utilizado.

    El operando B es el nmero de filas de la matriz. Esrequerido.

    El operando C es el nmero de columnas de la matriz.Es requerido.

    Ejemplo de Matriz

  • 7/29/2019 GPSS Pc

    78/83

    Produccion Matrix ,3,2 Define una entidad matriz de nombre Produccin, de

    3 filas y 2 columnas.

    Los elementos de una matriz se registran,incrementan o sustraen mediante un bloqueMSavevalue.

    Maq1: 1 Maq2: 2

    ProdA: 1

    ProdB: 2

    ProdC: 3

    Bloque MSAVEVALUEMSAVEVALUE

  • 7/29/2019 GPSS Pc

    79/83

    Bloque MSAVEVALUE

    Este bloque permite actualizar un elemento deuna entidad matriz.

    MSAVEVALUE A,B,C,D El operando A es el nombre o nmero de la entidad

    matriz. Puede opcionalmente ir acompaado de unsigno + o -. Es requerido.

    El operando B es el nmero de fila. Requerido.

    El operando C es el nmero de columna. Requerido.

    El operando D es el valor a ser almacenado,adicionado o sustrado. Requerido

    Ejemplo de MSAVEVALUE

  • 7/29/2019 GPSS Pc

    80/83

    Ejemplo de MSAVEVALUE

    Msavevalue Ventas+,parte_7,cliente_4,6.25

    Cuando una transaccin ingresa a este bloque elelemento de la matriz denominada Ventas,

    ubicado en la fila parte_7 y columna cliente_4 esincrementada en 6.25.

    Bloque LOGIC LOGIC

  • 7/29/2019 GPSS Pc

    81/83

    oque OG C

    Este bloque cambia el estado de una entidadswitch lgico (semforo). LOGIC O A

    El operando O es el operador lgico que puede serS (set), R (reset) o I (invertir).

    El operando A es el nombre o nmero de la entidadswitch lgico.

    Ej: Logic S represa Este bloque pone en set o verdadero el estado de la

    entidad Represa el cual puede significar abierto o

    cerrado.

    Bloque MARK MARK

  • 7/29/2019 GPSS Pc

    82/83

    q

    Este bloque estampa el tiempo de reloj absoluto dentro de latransaccin activa o dentro de un parmetro.

    MARK A El operando A es el nmero o nombre del parmetro que recibir el valor

    del tiempo del reloj del sistema. El tiempo colocado por un bloque Markpuede ser recuperado por M1, el cual retorna el tiempo de trnsito comola diferencia entre el tiempo de reloj absoluto y el tiempo registrado por el

    bloque Mark. Ej. Mark P2

    Cuando una transaccin ingresa a este bloque en el parmetrodenominado 2 de la transaccin se estampa el tiempo de reloj delsistema AC1.

    Ej. Mark Cuando una transaccin ingresa a este bloque se le estampa el tiempo

    de reloj absoluto del sistema AC1.

  • 7/29/2019 GPSS Pc

    83/83

    y todo lo dems