Está en la página 1de 25

Lenguaje de Simulacin GPSS Sentencia GPSS Sentencia GPSS

Estructura de una sentencia de declaracin GPSSW


Nmero Puede ser entero o decimal. Se utilizan solo para las sentencias del programa
salvable. Mximo 7 caracteres incluido el punto.
Si ingresa una sentencia sin numerar sta 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 bloque.
Operandos Dependen del severbo identificador utilizado.
Comentario Para explicar brevemente el significado de la sentencia.



Se puede pensar en un bloque GENERATE como una puerta a travs de la cual entran las
transacciones. No existe ningn lmite en cuanto a la cantidad de bloques GENERATE que
puede contener un modelo.

La instruccin de bloque que permite generar las transacciones e ingresarlas 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 de tiempo simulado.
No se pueden utilizar parmetros. Default = 0 (opcional).

B Es la dispersin en el tiempo de creacin promedio de las transacciones, es decir, el tiempo
de interarrivo de las transacciones al modelo ser de A + - B unidades de tiempo. Su valor por
omisin es cero. Default = 0 (opcional)

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

D Es el nmero lmite de transacciones creadas y su valor por omisin es infinito.
Default = (opcional)

E Es un operando donde se coloca la prioridad asignada a cada transaccin creada por el
GENERATE. En GPSS/PC las prioridades posibles son de 0 a 127. La prioridad mayor tiene
preferencia sobre las de prioridad inferior. Default = 0 (opcional)

En GPSS, las distribuciones de tiempos entre llegadas estn divididas en dos categoras:
1.- Distribucin uniforme
2.- Todas las otras distribuciones
En esta seccin slo se consideran la generacin de acuerdo con la distribucin uniforme; otras
distribuciones se vern en captulos posteriores.
Bloque: Generate

Para la distribucin uniforme, el operando A del bloque GENERATE representa el tiempo
medio entre llegadas, es decir, el tiempo promedio entre llegadas consecutivas de transacciones.
El operando B representa la mitad del ancho del tiempo entre llegadas. El valor del operando B
deber ser menor que el valor del operando A en todos los casos, de lo contrario ocurrira un
error al intentar generar una transaccin en el tiempo negativo.

El operando C se utiliza cuando solo se requiere fijar el tiempo de generacin de la primera
transaccin. La s transacciones subsecuentes se generan de acuerdo con los operandos A y B.

Ejemplos : Generate

GENERATE 6,4
Significa que el tiempo entre llegadas se distribuye uniformemente en el rango 6 4

GENERATE 8
Significa que el tiempo entre llegadas se distribuye uniformemente en el rango 8 0. Es decir
que las llegaras ocurriran exactamente cada 8 unidades de tiempo.

GENERATE 6,4,10
Significa que la primera transaccin ser generada al tiempo 10 y las transacciones subsecuentes
cada 6 4 a partir del tiempo 10.

GENERATE 6,4,,100
Significa que se generara un mximo de 100 transacciones que se distribuyen uniformemente
con el tiempo entre llegadas de 6 4.

GENERATE ,,,100
Significa que se generaran 100 transacciones con un tiempo entre llegadas de 0 0, es decir,
que se generaran 100 transacciones juntas (sin ningn tiempo entre ellas) al inicio de la
simulacin (tiempo 0)

GENERATE 2700,200,1000,100,50
Crea transacciones cada 2700 200 unidades de tiempo, pero la primera transaccin se crea al
tiempo 1000. Despus de 100 transacciones no se generan ms y cada una de las 100 generadas
tendr una prioridad de 50.

GENERATE 30,FN$XPDIS
Crea transacciones segn una distribucin exponencial negativa con media 30 unidades de
tiempo.






TERMINATE se emplea para destruir o remover las transacciones activas que ingresen a
ella, se puede emplear para simular que un elemento sale del sistema y ahorrar memoria. Ayuda
a que se cumplan las condiciones de terminacin de un programa ya que puede afectar al
contador del START. Su sintaxis es:
Bloque Terminate
TERMINATE A
Donde A es un operando donde se coloca el nmero (entero) con el que se disminuir el
contador de termino de la simulacin, cuyo nmero inicial se da en la instruccin de control
START. Cuando el contador alcanza un valor menor o igual a cero se ejecuta la siguiente
instruccin debajo del START, si es un END, la simulacin termina.

Ejemplos: Terminate
TERMINATE
Cada transaccin que ingresa a este bloque se destruye. Solo las acciones activas que pasen por
el, pero no coloca el tiempo de corrida de simulacin.
TERMINATE 5
Cada vez que una transaccin ingresa a este bloque se destruye y disminuye en 5 el contador de
finalizacin de la simulacin.
TERMINATE 1
START 100
En el momento en que una transaccin cruza por el TERMINATE, es destruida y sale del
sistema pero decremento el valor del START en una unidad. De esta manera, cuando 100
transacciones cruzan por el TERMINATE, el valor de START llegara a cero y el proceso de
simulacin se detendr.
TERMINATE 2
START 1000
Cuando una transaccin es cruza por el TERMINATE, es destruida y sale del sistema, pero
decrementa el valor START en dos unidades. De tal manera que cuando 500 transacciones
crucen por el TERMINATE, el valor START llegara a cero y el proceso de simulacin se
detendr.


El objetivo del bloque SEIZE es simular la captura de un servidor, proceso o instalacin.
Este bloque acta como controlador del flujo de las transacciones y trabaja en conjunto con el
bloque RELEASE. Su funcionamiento general consiste en el manejo de una variable interna
llamada F, la que puede tomar los valores de 0 y 1; cuando una transaccin llega a este
bloque y trata de entrar, lo podr hacer si el atributo numrico estndar (SNA) F tiene un valor
de 0 (ocioso) e inmediatamente cambiar el estado del atributo F a 1 (ocupado). Si una
transaccin llega al bloque y el atributo numrico estndar F tiene un valor de 1, la
transaccin ser enviada a la cadena de eventos actuales en espera de que el valor de F
cambie de 1 a 0.

Sirve para registrar el empleo de una unidad de servicio por parte de una transaccin que entra,
de tal forma que la unidad queda ocupada hasta que la transaccin ingresa a una instruccin.

RELEASE. Una sola transaccin podra ocupar varias unidades de servicio simultneamente.
Su sintaxis es:

SEIZE A
Donde el operando A se emplea para dar la identificacin a la unidad que se ocupa (nmero o
nombre).
Ejemplo:
SEIZE HORNO
Registra la ocupacin de una unidad de servicio llamada HORNO.
Bloque: Seize

Una instalacin puede ser capturada por una sola transaccin en un momento dado. Las
transacciones restantes esperaran de acuerdo con la disciplina de primeras entradas primeras
salidas para capturar la instalacin al menos que con otras instrucciones o bloques cambie la
disciplina de captura. Por ejemplo SEIZE CAJA significa que la transaccin entrante
capturara la instalacin con el nombre de CAJA.

El bloque RELEASE es la contraparte del bloque SEIZE y permite simular la liberacin del
servidor, proceso o instalacin que haba sido capturada. La funcin de este bloque es cambiar
el valor del atributo numrico estndar F de 1 (ocupado) a 0 (ocioso).

Sirve para desocupar la unidad de servicio ocupada previamente por la transaccin al haber
ingresado a un bloque SEIZE. No se reciben negativas para entrar a este bloque. Su sintaxis es:

RELEASE A

El operando A indica la identificacin de la unidad que se libera.

Cada SEIZE requiere acompaarse por un RELEASE, donde el operando A en ambos casos es
idntico. Una transaccin por medio de SEIZE captura una instalacin y por medio del
RELEASE suelta la misma instalacin al terminar el servicio deseado.

Al utilizar los bloques de SEIZE y RELEASE, saldr un reporte con informacin relevante
acerca de la instalacin. Este reporte incluye informacin tal como la utilizacin promedio del
servidor, el tiempo de servicio por transaccin y el nmero de entradas al bloque SEIZE.

Ejemplo:
RELEASE HORNO

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


Suspende el movimiento de una transaccin por una cantidad especfica de tiempo simulado.
Puede emplearse para simular el tiempo que una persona tarda en ocupar un equipo, en una sala
de espera, 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.
Bloque: Release
Bloque Advance
ADVANCE 5,FN$XPDIS
Retarda a la transaccin un tiempo distribuido exponencialmente con media 5.

Ejemplo 1
Elabore un programa de simulacin que represente el siguiente sistema:
La operacin de un telfono que sirve para que los empleados hagan sus llamadas. El tiempo
por llamada es de 3 a 7 min. con probabilidad uniforme; los empleados llegan al telfono cada
10 5 min. Simule 50 llamadas efectuadas. (Por ejemplo para saber si un telfono es suficiente
o es necesario otro.







BLOQUE QUEUE
El bloque QUEUE permite obtener estadsticas que se forman al momento que las transacciones
esperan usar un servidor. El bloque QUEUE debe complementarse con el bloque DEPART. El
bloque QUEUE se puede visualizar como punto de inicio para la toma de datos estadsticos de
las colas que se pueden formar.
La instruccin de bloque QUEUE se emplea para obtener estadsticas de las transacciones que
pasan por una fila o cola. Su sintaxis es:
QUEUE A,B


GENERATE 600,30



SEIZE TELEFON



ADVANCE 300,120



RELEASE TELEFON



TERMINATE 1


START 50
GENERA USUARIOS DE
TELEF. U/C 60030 SEG


SOLICITAN ACCESO AL
TELEFONO.



TPO. OCUPACION DEL
TELEF: 300 120 SEG


LIBERAN EL TELEFONO
DESPUES DE LLAMAR


SE CUENTA UNA
LLAMADA.

SE SIMULAN 50
LLAMADAS











Comentario [C1]: 600 segundos
(GENERATE)
Donde el operando A se emplea para colocar el nombre de la fila a la que se le asignarn las
estadsticas. Y B es el nmero de unidades que se deben sumar a la fila cuando una transaccin
pasa por la instruccin. El valor por omisin es de uno.
Ejemplo(s):
QUEUE FILAA
Declara una fila de nombre FILAA y le suma una unidad a la fila cuando una transaccin pasa
por ella.
QUEUE FILAB,3
Declara una fila de nombre FILAB y le suma 3 unidades cada vez que una transaccin pasa por
ella.

Reduce el contenido de una fila declarada con QUEUE, en una o ms unidades. DEPART es
el complemento de QUEUE ya que sirve para simular que un elemento de la fila se desforma y
se va.
Registra estadsticas que indican una reduccin en el contenido de la entidad de cola. El bloque
DEPART puede visualizarse como punto de terminacin para la toma de datos estadsticos de
las colas que se formaron.
Su sintaxis es:
DEPART A,B
Donde A es el operando donde se aporta el nombre de la fila a la que se le removern B
unidades, el valor por omisin de B es uno.
Ejemplo(s):
DEPART FILAA
Descuenta una unidad de la fila FILAA que se debe definir antes.
DEPART FILAB 3
La fila FILAB se reduce en 3 unidades cada vez que una transaccin pasa por esta instruccin.
Al utilizar el bloque QUEUE y DEPART en el reporte aparece una serie de datos estadsticos en
el reporte.

1.- Considere un torno manual que procesa piezas en 5 + - 2 minutos con
distribucin uniforme. El tiempo entre llegadas al torno sigue una distribucin uniforme
con parmetros de 7+-3 minutos. Realice un modelo en GPSS que simule el torneado de
500 piezas

generate 7,3
queue cola
seize torno
advance 5,2
release torno
terminate 1
start 500

GPSS World Simulation Report - Untitled Model 1.1.1


Tuesday, February 06, 2007 16:30:32
Bloque Depart

START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 3499.587 6 1 0


NAME VALUE
COLA 10000.000
TORNO 10001.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 500 0 0
2 QUEUE 500 0 0
3 SEIZE 500 0 0
4 ADVANCE 500 0 0
5 RELEASE 500 0 0
6 TERMINATE 500 0 0


FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER
RETRY DELAY
TORNO 500 0.712 4.983 1 0 0 0
0 0


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 500 500 500 0 248.934 1742.329
1742.329 0


FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
501 0 3499.968 501 0 1


2.- Modifique el modelo anterior si desea simular ademas un rectificado de las
piezas despus del torneado, en otro torno en el que el tiempo de operacin es de 6+ -
1 minuto con distribucin uniforme
Generate
seize torno
advance 5,2
release torno
queue cola2
seize torno2
depart cola2
advance 6,1
release torno2
terminate 1
start 500



GPSS World Simulation Report - Untitled Model 1.2.1


Tuesday, February 06, 2007 16:34:32

START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 3471.564 11 2 0


NAME VALUE
COLA 10000.000
COLA2 10002.000
TORNO 10001.000
TORNO2 10003.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 501 0 0
2 QUEUE 501 0 0
3 SEIZE 501 0 0
4 ADVANCE 501 1 0
5 RELEASE 500 0 0
6 QUEUE 500 0 0
7 SEIZE 500 0 0
8 DEPART 500 0 0
9 ADVANCE 500 0 0
10 RELEASE 500 0 0
11 TERMINATE 500 0 0


FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER
RETRY DELAY
TORNO 501 0.732 5.074 1 501 0 0
0 0
TORNO2 500 0.863 5.994 1 0 0 0
0 0


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 501 501 501 0 251.453 1742.387
1742.387 0
COLA2 2 0 500 233 0.132 0.917
1.718 0


FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
502 0 3472.055 502 0 1
501 0 3472.928 501 4 5
3.- Un puerto cuenta con una gra destinada a la descarga de barcos. Existen dos
tipos de barcos que entran al puerto a descargar; los tiempos de descarga siguen una
distribucin uniforme con parmetros de 10+- 2 y 17+- 5 horas para los barcos tipo1 y
tipo 2 respectivamente. El tiempo entre llegadas entre los barcos sigue una distribucin
uniforme con valores de 15+- 2 y de 24+- 5 horas para los del tipo 1 y tipo 2
respectivamente.
a) simule el sistema portuario hasta que se hayan descargado 90 barcos.

generate 15,2
queue cola
depart cola
seize grua
advance 10,2
release grua
terminate 1




generate 24,5
queue cola
seize grua
depart cola
advance 17,5
release grua
terminate 1
start 90

GPSS World Simulation Report - Untitled Model 1.3.1


Tuesday, February 06, 2007 16:44:39

START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 1629.703 13 1 0


NAME VALUE
COLA 10000.000
GRUA 10001.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 162 0 0
2 QUEUE 162 104 0
3 SEIZE 58 1 0
4 ADVANCE 57 0 0
5 RELEASE 57 0 0
6 TERMINATE 57 0 0
7 GENERATE 94 0 0
8 QUEUE 94 61 0
9 SEIZE 33 0 0
10 DEPART 33 0 0
11 ADVANCE 33 0 0
12 RELEASE 33 0 0
13 TERMINATE 33 0 0


FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER
RETRY DELAY
GRUA 91 0.993 17.784 1 91 0 0
0 165


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 223 223 256 0 110.518 703.559
703.559 0


CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
91 0 586.235 91 3 4


FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
257 0 1634.126 257 0 1
258 0 1637.743 258 0 7


b) Simule el sistema y finalice la simulacin en el momento en que
hayan sido descargados 40 barcos del tipo2

generate 15,2
queue cola
seize grua
depart cola
advance 10,2
release grua
terminate

generate 24,5
queue cola
seize grua
depart cola
advance 17,5
release grua
terminate 1
start 40


GPSS World Simulation Report - Untitled Model 1.1.1


Friday, September 19, 2014 14:23:02

START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 1327.688 14 1 0


NAME VALUE
COLA 10000.000
GRUA 10001.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 87 0 0
2 QUEUE 87 24 0
3 SEIZE 63 1 0
4 DEPART 62 0 0
5 ADVANCE 62 0 0
6 RELEASE 62 0 0
7 TERMINATE 62 0 0
8 GENERATE 56 0 0
9 QUEUE 56 16 0
10 SEIZE 40 0 0
11 DEPART 40 0 0
12 ADVANCE 40 0 0
13 RELEASE 40 0 0
14 TERMINATE 40 0 0


FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER
RETRY DELAY
GRUA 103 0.987 12.718 1 103 0 0
0 40


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 41 41 143 2 19.683 182.747
185.340 0


CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
103 0 952.745 103 3 4


FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
144 0 1330.572 144 0 1
145 0 1339.989 145 0 8




c) Simule el puerto durante una semana, dndole mayor prioridad en la descarga
de los barcos tipo1.


generate 15,2,,,5
queue cola
seize grua
depart cola
advance 10,2
release grua
terminate

generate 24,5
queue cola
seize grua
depart cola
advance 17,5
release grua
terminate

generate 168
terminate 1
start 1











NAME VALUE
COLA 10000.000
GRUA 10001.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 11 0 0
2 QUEUE 11 1 0
3 SEIZE 10 0 0
4 DEPART 10 0 0
5 ADVANCE 10 0 0
6 RELEASE 10 0 0
7 TERMINATE 10 0 0
8 GENERATE 6 0 0
9 QUEUE 6 2 0
10 SEIZE 4 0 0
11 DEPART 4 0 0
12 ADVANCE 4 1 0
13 RELEASE 3 0 0
14 TERMINATE 3 0 0
15 GENERATE 1 0 0
16 TERMINATE 1 0 0


FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER
RETRY DELAY
GRUA 14 0.894 10.733 1 11 0 0
0 3


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 4 3 17 2 1.441 14.236
16.134 0


FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
19 0 178.463 19 0 8
20 5 180.118 20 0 1
11 0 182.664 11 12 13
21 0 336.000 21 0 15


ENTER

El bloque ENTER tiene dos funciones; en la primera se utiliza para simular la seleccin o
captura de uno o ms servidores en paralelo; la segunda se utiliza para simular la entrada, el
inicio de estadsticas y la ocupacin de un espacio dentro de una fila de capacidad finita









A: Nombre o nmero de almacenaje (storage) por utilizar. El operando debe ser nombre, entero
positivo o SNA (requerido).

B: Nmero de unidades por las que se decrementa la capacidad disponible de almacenaje
(storage). Default = 1. El operando debe ser nombre, entero positivo o SNA ( opcional) .

B
A
ENTER A,
B
El operando B se puede definir tambin como el nmero de servidores que captura por
cada transaccin que entre al bloque ENTER. Para definir el nmero (capacidad) de servidores
existentes en paralelo se requiere utilizar la instruccin STORAGE.
La transaccin que entra al bloque ENTER capturar cualquier servido que est
disponible en ese momento. En caso de no encontrar ningn servidor disponible (segn la
capacidad definida en STORAGE), la transaccin en espera ser puesta a Delay Chain (cadena
de espera).

SNA
R: Capacidad disponible del storage
S: Cantidad del storage que est en uso
SA: Nmero promedio de transacciones que estn siendo atendidas(nmero de
servidores ocupados)
SC: Nmero de transacciones que han entrado al almacenaje
SE: Regresa el valor de 1 si el storage est vaco, y 0 de otra manera
SF: Regresa el valor de 1 si el storage esta lleno, y 0 de otra manera
SR: Utilizacin de la capacidad de almacenaje
SM: Nmero mximo de servidores ocupados
ST: Tiempo promedio de utilizacin de almacenaje
SV: Regresa 1 si el storage est en estado disponible, 0 de otra manera

LEAVE

Es la contraparte de bloque ENTER. Su funcin es la de simular la liberacin de uno o ms
servidores o la salida y la desocupacin de un lugar en una fila finita.








A: Nombre o nmero de almacenaje (storage) por utilizar. El operando debe ser nombre,
entero positivo o SNA requerido).
B: Nmero de unidades de almacenaje (storage). Default = 1. El operando debe ser
nombre, entero positivo o SNA (opcional)

Al utilizar los bloques ENTER y LEAVE, en el reporte aparece una serie de datos
estadsticos que contiene la siguiente informacin:

1. Capacidad disponible para la corrida de la simulacin.
2. El contenido promedio de uso del almacenaje.
3. El nmero total de transacciones que llegaron al bloque ENTER.
4. El tiempo promedio de servicio por cada transaccin.
5. La utilizacin promedio de los servidores.
6. El nmero de servidores que estn ocupados (en uso) al final de la simulacin.
7. El nmero mximo de servidores utilizados en cualquier momento en la corrida
de simulacin.

SNA

Son los mismos que el bloque ENTER.

STORAGE
B
A
LEAVE A,
B
La instruccin STORAGE se utiliza para definir la capacidad mxima almacenaje de nmero de
servidores paralelos utilizados en los bloques ENTER y LEAVE.

En GPSS/PC
TM
:
Nombre STORAGE A

En GPSS/H
TM

STORAGE S$Nombre1, capacidad1/S$Nombre2, capacidad2/..

Nombre: Nombre de referencia (el mismo nombre usado por ENTER y LEA VE). Este
campo debe ser nombre (requerido)
Capacidad total de almacenaje (STORAGE). Debe ser un nmero entero (requerido)

Si se requiere usar un nmero en la referencia de STORAGE o en el operando A del ENTER o
LEAVE, para usarlo en conjunto con los bloques SELECT O COUNT, debe seguir a la
definicin del STORAGE una instruccin de QUEUE.

4.- Se desea simular el sistema portuario presentado con anterioridad durante 500 horas,
suponiendo que existen tres gras.
gruas storage 2
Generate 15,2
queue cola
enter gruas
depart cola
advance 10,2
leave gruas
terminate

generate 24,5
queue cola
enter gruas
depart cola
advance 17,5
leave gruas
terminate

generate 500
terminate 1
start 1


GPSS World Simulation Report - Untitled Model 1.7.1


NAME VALUE
COLA 10001.000
GRUAS 10000.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 33 0 0
2 QUEUE 33 0 0
3 ENTER 33 0 0
4 DEPART 33 0 0
5 ADVANCE 33 0 0
6 LEAVE 33 0 0
7 TERMINATE 33 0 0
8 GENERATE 20 0 0
9 QUEUE 20 0 0
10 ENTER 20 0 0
11 DEPART 20 0 0
12 ADVANCE 20 1 0
13 LEAVE 19 0 0
14 TERMINATE 19 0 0
15 GENERATE 1 0 0
16 TERMINATE 1 0 0


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 1 0 53 53 0.000 0.000
0.000 0


STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL.
RETRY DELAY
GRUAS 2 1 0 2 53 1 1.330 0.665
0 0


FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
55 0 503.727 55 0 1
56 0 509.777 56 0 8
53 0 511.259 53 12 13
57 0 1000.000 57 0 15

5.- Una prensa procesa piezas en 5 minutos. El tiempo entre
llegadas sigue una distribucin uniforme con parmetros de de 7 +- 3
minutos. Al salir de la prensa se efecta una inspeccin de de 8 +- 2
minutos con distribucin uniforme, considerando la existencia de dos
inspectores realice un modelo en gpss que simule el procesado de 100
piezas.
inspector storage 2

generate 7,3
queue cola
seize prensa
depart cola
advance 5
release prensa

queue cola2
enter inspector
depart cola2
advance 8,2
leave inspector
terminate 1
start 100


GPSS World Simulation Report - Untitled Model 1.10.1


Tuesday, February 06, 2007 17:04:56

START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 720.729 12 1 1


NAME VALUE
COLA 10001.000
COLA2 10003.000
INSPECTOR 10000.000
PRENSA 10002.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 102 0 0
2 QUEUE 102 0 0
3 SEIZE 102 0 0
4 DEPART 102 0 0
5 ADVANCE 102 1 0
6 RELEASE 101 0 0
7 QUEUE 101 0 0
8 ENTER 101 0 0
9 DEPART 101 0 0
10 ADVANCE 101 1 0
11 LEAVE 100 0 0
12 TERMINATE 100 0 0


FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER
RETRY DELAY
PRENSA 102 0.703 4.966 1 102 0 0
0 0


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 1 0 102 80 0.023 0.159
0.738 0
COLA2 1 0 101 101 0.000 0.000
0.000 0


STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL.
RETRY DELAY
INSPECTOR 2 1 0 2 101 1 1.121 0.561
0 0


FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
102 0 724.217 102 5 6
103 0 725.728 103 0 1
101 0 725.803 101 10 11




BLOQUES INTERMEDIOS
En este captulo se toma en cuenta que los tiempos entre llegadas y de servicio pueden
ser distribuciones no uniformes y tener otras funciones probabilsticas.
Adems, este captulo cubre la forma de guardar informacin para realizar clculos
necesarios por medio de parmetros de modo permanente.
Cubre adems la especificacin indirecta de los operandos de los bloques, En
particular los bloques GENERATE y ADVANCE se pueden usar con este propsito.

FUNCTION .- Esta instruccin sirve para definir una distribucin de probabilidad en
base de una serie ( en pares) de datos que provienen de las observaciones:

Nombre function a,b

Nombre.- es el nombre de la referencia de la funcin . Debe ser requerido
A.- Argumento de la funcin. Deber ser, SNA o entero positivo (requerido )

B .- Tipo de funcin ( C,D,E,L,M ) seguido por el nmero de pares que aparecer
en forma X
i
, Y
i
( requerido )

SNA: FN .- El resultado de evaluar la funcin

EJMPLO1
Se ha observado en una mquina que el tiempo de proceso vara de acuerdo con la
siguiente funcin de probabilidad discreta:

Tiempo de proceso ( minutos ) 35 36 37 38 39 40
Frecuencia Relativa ..10 .20 .30 .20 .10 .10
Frecuencia Acumulada .10 .30 .60 .80 .90 1


TPROC FUNCTION RN1,D6

.1,35/.3,36/.6,37/.8,38/.9,39/1,40

EJEMPLO 2
Suponga que el tiempo de muestreo del tiempo de proceso de una mquina arroja los
datos mostrados en la tabla:

Tiempo de proceso Frecuencia Relativa Frecuencia Acumulada
Minutos
Menos de 35 0.00 0.00
De 35 a 40 0.05 0.05
De 40 a 45 0.12 0.17
De 45 a 50 0.33 0.50
De 50 a 55 0.40 0.90
De 55 a 60 0.10 1.00

TPROC FUNCTION RN1,C6

0,35/.05,40/.17,45/.50,50/.9,60/1,60
Una vez que la funcin queda definida se llama mediante las palabras FN$nombre, o
FNj usadas como operandos de algunos bloques, por ejemplo.:


Advance FN$TPROC

De tal forma que al cruzar cualquier transaccin por estos bloques, el tiempo de
procesamiento ser el correspondiente a la evaluacin de las funciones.

Ejemplo:
En un sistema de produccin el tiempo entre llegadas de las piezas sigue una
distribucin de probabilidad exponencial con media de 4 minutos. Al llegar las piezas se
envan a un torno manual, donde el tiempo de proceso se representa en la siguiente
tabla:
Tiempo Proceso ( minutos) 1 2 3 4 5
Frecuencia Relativa .40 .30 .15 .10 .05

Modele el sistema durante 8 horas con el fin de determinar el nmero de piezas que
fueron procesadas en ese intervalo.


TRAB FUNCTION RN1,D5
.4,1/.7,2/.85,3/.95,4/1,5
GENERATE (EXPONENTIAL(1,0,4))
QUEUE COLA
SEIZE MAQUINA
DEPART COLA
ADVANCE FN$TRAB
RELEASE MAQUINA
TERMINATE
GENERATE 480
TERMINATE 1
START 1


GPSS World Simulation Report - Untitled Model 1.1.1


Tuesday, February 06, 2007 18:21:58

START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 480.000 9 1 0


NAME VALUE
COLA 10001.000
MAQUINA 10002.000
TRAB 10000.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 922 0 0
2 QUEUE 922 697 0
3 SEIZE 225 0 0
4 DEPART 225 0 0
5 ADVANCE 225 1 0
6 RELEASE 224 0 0
7 TERMINATE 224 0 0
8 GENERATE 1 0 0
9 TERMINATE 1 0 0


FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER
RETRY DELAY
MAQUINA 225 1.000 2.133 1 226 0 0
0 697


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 697 697 922 1 337.997 175.964
176.155 0


FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
226 0 480.086 226 5 6
924 0 481.179 924 0 1
925 0 960.000 925 0 8












2.- El tiempo entre llegadas de los clientes a una pequea tienda sigue una
distribucin exponencial con media de 10 minutos/ cliente. En la tienda existen 15
carritos; los clientes llegan y no encuentran carrito disponible se retiran a otra tienda. El
tiempo real que ocupa cada cliente para seleccionar sus artculos sigue una distribucin
normal con media de 8 minutos y una varianza de 4, despus de lo cual el cliente se
dirige al cajero que lo atiende con una distribucin normal con media de 3 minutos y
una varianza de 1.
Simule 10 horas el sistema para determinar el nmero de clientes perdidos por falta de
carrito.


3.-Un componente se manufactura por medio de una secuencia de tres procesos, cada
uno seguido por dos minutos de inspeccin. El primer proceso requiere que el 20 % de
los componentes sea reprocesado . El segundo y tercer proceso requieren de 15% y 5%
de reproceso respectivamente.
El 60 % de los componentes reprocesados se tiran y el resto es tomado como producto
aceptable.. La manufactura del componente en promedio inicia cada 30 minutos
distribuido exponencialmente. El tiempo para el primer proceso se da en la siguiente
tabla:

Frecuencia .1 .13 .16 .22 .19 .15
Tiempo Proceso 10 14 21 32 38 45
El segundo proceso toma de 18+ - 6 minutos, y el proceso final toma24+ - 4 minutos
ambos distribuidos uniformemente. Construya un modelo y simule la fabricacin de 100
componentes, determine adems:
a) El tiempo que tom la simulacin
b) El nmero de componentes rechazados
BLOQUE TRANSFER:
El bloque transfer causa que una transaccin activa se dirija a una nueva ubicacin
dentro del modelo de simulacin.






A

D

B C


Transfer A,B,C,D


A Modalidad de transferencia. El operando debe ser BOTH, ALL, FN, PIC, P,
SBR, SIM, fraccin, nombre, SNA o nulo, (opcional).

B. Nmero o ubicacin del bloque. Debe ser nombre o nmero cuando est en
la modalidad de p. El operando debe ser nombre SNA o nulo ( opcional )

C Nmero de ubicacin del bloque. Debe ser el valor del incremento cuando
est en la modalidad de P o Fn, El operando debe ser nulo nombre o SNA
opcional.

D Numero del incremento del bloque cuando est en la modalidad de ALL
default = 1, el operando debe ser nulo, nombre o SNA opcional.




Modalidad incondicional 30 TRANSFER , reg

La transaccin que entra a este bloque se dirigir hacia el bloque con la etiqueta de
reg.


Modalidad aleatoria ( fraccional


El bloque transfer entra en la modalidad aleatoria cuando el operando A es un
nmero fraccional ( con decimal ) la transaccin activa ser dirigida hacia
la ubicacin indicada por el operando C con la probabilidad dada en el
operando A. La transaccin activa se dirigir hacia la ubicacin indicada por
el operando B con el complemento ( 1- A ) de la probabilidad dada en el
operando A. Por ejemplo:

30 TRANSFER .40, OPC1, OPC2



El 40 % de las transacciones que entran a este bloque se dirigirn hacia el bloque con la
etiqueta OPC2 el resto ( 60%) de las transacciones, se dirigirn hacia el bloque con la
etiqueta OPC1.

El 40 % de las transacciones que entran a este bloque con la etiqueta OPC2, el resto
de las transacciones se dirigir hacia el siguiente bloque secuencial.


Modalidad Both.

El bloque transfer entra en la modalidad BOTH , cuando el operando A es Both. En
esta modalidad cuando entra una transaccin activa, primero se prueba el operando B
para entrar al bloque cuya etiqueta est indicada en el operando B. Ewn caso de
rechazo, la transaccin intentar entarar al bloque cuya etiqueta est indicada por el
operando C. Si la transaccin no puede no puede entrar en ninguno de los bloques
indicados por las etiquetas B y C se quedar en el bloque transfer hasta que pueda
entrar en alguno de los dos bloques


30 TRANSFER BOTH,SEC1,SEC2

La transaccin que entra a este bloque, primero intentar entrar al bloque con la
etiqueta de SEC1, si no puede , intentar entrar al bloque con la etiqueta SEC2, y si
tambin es rechazado, permanecer en el bloque transfer hasta que pueda entrar a uno
de los dos bloques con las etiquetas SEC1 o SEC2.



MODALIDAD ALL.- 30 TRANSFER ALL, fin

Es una transferencia incondicional al bloque con etiqueta fin.


EEJMPLO:
A un proceso de torneado llegan piezas cada 5 +-3 minutos con una distribucin
uniforme dicho sistema cuenta con dos tornos el 30 % de las piezas se
procesan en el torno 1 y el resto en el torno 2 el primero procesa piezas en 8
+ - 2 minutos y el segundo en 6 - + 2 minutos con distribucin uniforme en
seguida pasan por un proceso de inspeccin para lo cual se requieren de tres
inspectores que tardan en revisar la pieza 3+ - 1 minuto y del cual el 10 %
requieren de volver a ser procesadas. Simule el sistema para 1 semana de
operacin y obtenga la utilizacin de cada torno y el tiempo de espera de las
piezas antes de entrar al torno.


Diagrama

Insp STORAGE 3
GENERATE 5,3
Reg QUEUE cola
TRANSFER .7,Torno1,Torno2
Torno1 SEIZE Tor1
DEPART cola
ADVANCE 8,2
RELEASE Tor1
Inspe QUEUE cola2
ENTER Insp
DEPART cola2
ADVANCE 3,1
LEAVE Insp
TRANSFER .1,FIN,Reg
FIN TERMINATE 1
Torno2 SEIZE Tor2
DEPART cola
ADVANCE 6,2
RELEASE Tor2
TRANSFER ALL,Inspe
GENERATE 2400
TERMINATE 1
START 1







Un sistema de telfonos tiene dos lneas externas, las llamadas llegan cada 100 + - 60
segundos. Cuando una lnea est ocupada, el que llama vuelve a llamar despus de 5 +
- 1 minuto . la duracin de una conversacin esta normalmente distribuida con media
de 5minutos y una desviacin estndar de 50 segundos. Cuanto tiempo se requiere para
que 200 llamadas se contesten completamente?


Diagrama Cdigo
Lnea STORAGE 2
GENERATE 100,60
Inicio QUEUE cola
TRANSFER Both,SI,NO
SI ENTER lnea
DEPART cola
ADVANCE 300,50
LEAVE lnea
TERMINATE 1
NO DEPART cola
ADVANCE 300,60
TRANSFER ALL,inicio
START 200

GPSS World Simulation Report - Untitled Model 2.4.1


Friday, September 26, 2014 14:22:25

START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 31506.520 11 0 1


NAME VALUE
COLA 10001.000
INICIO 2.000
LNEA 10000.000
NO 9.000
SI 4.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 322 0 0
INICIO 2 QUEUE 6705 0 0
3 TRANSFER 6705 0 0
SI 4 ENTER 201 0 0
5 DEPART 201 0 0
6 ADVANCE 201 1 0
7 LEAVE 200 0 0
8 TERMINATE 200 0 0
NO 9 DEPART 6504 0 0
10 ADVANCE 6504 121 0
11 TRANSFER 6383 0 0


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 1 0 6705 6705 0.000 0.000
0.000 0


STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL.
RETRY DELAY
LNEA 2 1 0 2 201 1 1.936 0.968
0 0



Un taller de reparacin de T V. Tiene un solo reparador que se dedica a tres
actividades principales

a) reparacin de Tv. En la tienda
b) servicio a clientes
c) revisin de t.v. a clientes que esperan



la actividad (a) inicia cada 40 + - 8 horas y toma 120 + - 30 minutos
realizarla.
La actividad ( b) ocurre cada 90 + - 10 minutos y tomo 15 + - 5 minutos y se
realiza de forma inmediata.
La actividad ( c ) para los clientes que esperan tiene mayor prioridad que la
actividad (a)

Simule la operacin de este taller durante 50 das de 8 horas y determine la utilizacin
del reparador suponga que cuando empieza una actividad este no puede interrumpirse.


GENERATE 2400,480
QUEUE cola
SEIZE reparador
DEPART cola
ADVANCE 120,30
RELEASE reparador
TERMINATE

GENERATE 90,10
QUEUE cola
SEIZE reparador
DEPART cola
ADVANCE 15,5
RELEASE reparador
TERMINATE

GENERATE 2400,480,,,2
QUEUE cola
SEIZE reparador
DEPART cola
ADVANCE 120,30
RELEASE reparador
TERMINATE

GENERATE 24000
TERMINATE 1
START 1

GPSS World Simulation Report - Untitled Model 5.1.1


Friday, September 26, 2014 14:59:28

START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 24000.000 23 1 0


NAME VALUE
COLA 10000.000
REPARADOR 10001.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT
RETRY
1 GENERATE 9 0 0
2 QUEUE 9 0 0
3 SEIZE 9 0 0
4 DEPART 9 0 0
5 ADVANCE 9 0 0
6 RELEASE 9 0 0
7 TERMINATE 9 0 0
8 GENERATE 266 0 0
9 QUEUE 266 0 0
10 SEIZE 266 0 0
11 DEPART 266 0 0
12 ADVANCE 266 0 0
13 RELEASE 266 0 0
14 TERMINATE 266 0 0
15 GENERATE 10 0 0
16 QUEUE 10 0 0
17 SEIZE 10 0 0
18 DEPART 10 0 0
19 ADVANCE 10 0 0
20 RELEASE 10 0 0
21 TERMINATE 10 0 0
22 GENERATE 1 0 0
23 TERMINATE 1 0 0


FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER
RETRY DELAY
REPARADOR 285 0.264 22.190 1 0 0 0
0 0


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
COLA 3 0 285 251 0.095 7.979
66.884 0

También podría gustarte