Está en la página 1de 45

GPSS -- 2 ---SIMULACION

Capítulo 6 - Comandos GPSS


Los comandos se utilizan para definir entidades y para controlar la ejecución de
simulaciones. Los comandos pueden formar parte de la traducción del modelo inicial o pueden
enviarse como declaraciones interactivas a una simulación existente.

Como parte de la traducción del modelo inicial, los comandos se envían al objeto de simulación
como un grupo, después de que se hayan enviado todos los bloques. De lo contrario, se envían
cuando los ingresas. Estos se llaman comandos interactivos.

Para enviar un comando a una simulación existente, use el menú Comando en la ventana del
modelo. Esto traducirá un comando y lo enviará al objeto de simulación para su ejecución.

Cada simulación tiene una cola de comandos asociada a ella. El objeto de simulación ejecuta
cada comando en la cola uno después del otro, hasta que esté HALTADO o hasta que se
quede sin cosas que hacer. Incluso los comandos en el archivo de modelo, que no sean HALT
y SHOW, se colocan en la cola de comandos antes de que se realicen.

Los comandos son Inmediatos o En cola . Los comandos inmediatos, como HALT y SHOW, se


realizan tan pronto como son recibidos por el objeto de simulación. Otros comandos se ponen
en cola. Se colocan al final de una lista de Comandos que aún no se han completado. Cuando
un Objeto de simulación no tiene más Comandos Inmediatos para hacer en nombre de una
simulación, ejecuta el siguiente Comando en la Cola de Comandos de la simulación. Si se
ejecuta una simulación cuando se recibe un Comando inmediato, la simulación se suspende
temporalmente mientras se ejecuta el Comando inmediato.

El Comando HALT es un caso especial. No solo es un Comando inmediato, sino que también
elimina cualquier Comando restante aún en la Cola de Comandos. Después de ejecutar un
comando HALT, el objeto de simulación no tiene nada más que hacer en nombre de esa
simulación.

A menudo es conveniente colocar una lista de los comandos de uso frecuente en un archivo de
texto pequeño. Luego puede usar el comando INCLUIR para enviar la secuencia completa al
objeto de simulación. Aún más fácil, puede cargar una tecla de función con un comando
INCLUIR, y hacer que toda la lista de comandos se realice con una sola pulsación de tecla. El
capítulo 2 le muestra cómo hacer esto.

Los comandos son:

BVARIABLE - Definir una entidad variable booleana.

BORRAR - Restablecer estadísticas y eliminar Transacción.

CONTINUAR - Reanudar la simulación.

EQU - Asignar un valor a una variable de usuario.

SALIR - Termina la Sesión Mundial de GPSS.


FUNCIÓN - Definir una entidad de función.

FVARIABLE - Defina una Entidad Fvariable.

HALT - Detiene la simulación y elimina todos los comandos en cola.

INCLUYE - Leer y traducir un archivo de modelo secundario.

INICIAL : inicialice o modifique un Logicswitch, Savevalue o Matrix Entity.

INTEGRAR : integre automáticamente un diferencial de tiempo en una variable de usuario.

MATRIX - Definir una entidad de matriz.

QTABLE - Definir una entidad Qtable.

INFORME : establezca el nombre del archivo de informe o solicite un informe inmediato.

RESET - Restablecer las estadísticas de la simulación.

RMULT - Establece las semillas de los primeros 7 generadores de números aleatorios

MOSTRAR - Evaluar y mostrar la expresión.

INICIO : establezca el conteo de terminación y comience una simulación.

PASO - Intente un número limitado de entradas de Bloque.

DETENER : establece una condición de detención en función de los intentos de entrada del
bloque.

ALMACENAMIENTO - Definir una entidad de almacenamiento.

TABLA - Definir una entidad de tabla.

VARIABLE - Definir una entidad variable.

Operandos
Los estados de cuenta generalmente tienen uno o más operandos que debe completar. La
mayoría de los operandos tienen varios formularios diferentes que son válidos. En las
descripciones que siguen, una palabra válida en cursiva puede describir una clase válida de
operandos. Debe elegir un miembro de la clase y escribirlo en el campo Operando. Por
ejemplo, si una de las formas válidas de un operando se da como PosInteger , podría escribir:

21

Las palabras en cursiva suelen ser sugerentes, pero es posible que deba consultar la definición
formal en el Apéndice.

Windows
Una amplia variedad de ventanas están disponibles para que usted observe los efectos de los
Comandos en sus simulaciones. En general, las ventanas están especializadas por el tipo de
entidad.

 Ventana de modelo - Vista de texto - Editor de modelo textual de pantalla completa.

 Ventana de diario - Grabar eventos de sesión.

 Ventana de bloques - Vista en línea de dinámica de bloques.

 Ventana de expresiones - Vista en línea de los valores de las expresiones.

 Ventana de Instalaciones - Vista en línea de la dinámica de la Entidad de Instalaciones.

 Ventana de Logicswitches - Vista en línea de la dinámica de la entidad Logicswitch.

 Ventana de matriz: vista en línea de la dinámica de una sección transversal de matriz.

 Ventana de trazado: vista en línea de un diagrama de hasta 8 expresiones.

 Ventana de colas - Vista en línea de la dinámica de la entidad de cola.

 Ventana Savevalues - Vista en línea de la dinámica de la entidad Savevalue.

 Ventana de almacenamiento: vista en línea de la dinámica de la entidad de almacenamiento.

 Ventana de tabla - Vista en línea de la dinámica de entidad de tabla.

 Instantánea de la transacción: imagen del estado de una transacción en la simulación.

 Instantánea CEC: imagen del estado de la cadena de eventos actuales en la simulación.

·  Foto de FEC - Imagen del estado de la cadena de eventos futuros en la simulación.


 Instantánea de grupos numéricos: imagen del estado de los grupos numéricos en la
simulación.

 Instantánea de Userchains - Imagen del estado de las Entidades de la Cadena de Usuario


en la simulación.

 Captura de grupos de transacciones: imagen del estado de los grupos de transacciones en


la simulación.

BVARIABLE
Un Comando BVARIABLE define una Entidad Bvariable.

NOMBRE BVARIABLE X

Etiqueta / Operando
NOMBRE - Etiqueta de entidad para esta entidad. Necesario. El campo debe ser Nombre .

X  - Expresión. Necesario. Debe ser la expresión . Las expresiones se discuten en la Sección


3.4.

Ejemplo
LINE11 BVARIABLE (BV $ CLK'AND'BV $ PHASE2)

Este ejemplo define una Entidad Bvariable que se evaluará cuando se encuentre un SNA BV $
LINE11. Cuando se evalúa, el resultado es 1 ("VERDADERO") si las entidades bvariables CLK
y FASE2 son VERDADERAS cuando se evalúan. De lo contrario, la Bvariable LINE11 devuelve
un 0 ("FALSO").

Acción
El comando BVARIABLE es un comando en  cola . Cuando el objeto de simulación recibe uno,
lo coloca al final de la cola de comandos de la simulación.

Cuando se ejecuta un comando BVARIABLE, el objeto de simulación crea o redefine una


entidad variable de GPSS. La Entidad Bvariable así creada se evalúa cuando el Objeto de
simulación encuentra un Atributo Numérico del Sistema en la clase BV, en referencia a esta
entidad en particular.

La expresión contenida en un comando BVARIABLE se evalúa de acuerdo con las reglas del
Capítulo 3, y puede incluir llamadas a procedimientos PLUS o procedimientos de biblioteca. El
resultado final se convierte al entero 0, si es 0, o al entero 1 si el resultado no era cero. La
evaluación se realiza de forma diferente en el modo de compatibilidad GPSS / PC.

Las expresiones deben estar bien formadas de acuerdo con las reglas del álgebra
elemental. Una definición formal se puede encontrar en el Apéndice. Puede usar cualquiera de
los operadores aritméticos y lógicos enumerados en la Sección 3.4. Si los SNA se utilizan en el
campo Expresión, se evalúan con respecto a la Transacción activa. Un valor con nombre al que
no se le ha asignado explícitamente un valor no se puede utilizar como un elemento en una
expresión. Para hacerlo, debe asignarle un valor antes de evaluar la Expresión. Las
asignaciones a las variables de usuario se realizan mediante los comandos EQU o en los
procedimientos PLUS.

Las expresiones en el comando BVARIABLE no se limitan a operadores lógicos. Pueden incluir


operadores aritméticos y llamadas a procedimientos de biblioteca. Los valores de verdad de
VERDADERO y FALSO se tratan internamente como números enteros 1 y 0, respectivamente.

Una vez que se crea una Entidad Bvariable en una simulación, nunca se destruye. Sin
embargo, puede ser redefinido más tarde por un comando interactivo BVARIABLE.

Compatibilidad GPSS / PC
 Todos los SNA se truncan en el modo de compatibilidad de GPSS / PC.

 En la evaluación de entidades bvariables en modo de compatibilidad GPSS / PC, los


resultados intermedios se truncan.

SCN relacionado
 BV Entnum  - Resultado de la evaluación de Entidad Entidad Bvariable .

CLARO
Un comando BORRAR devuelve la simulación al estado no
utilizado.

Limpiar un

Operando
A  - ON u OFF. Si se omite el Operando A, se asume ON. Opcional. El operando debe estar
activado, apagado o nulo .

Acción
El comando BORRAR es un comando en cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

El comando BORRAR restablece todos los acumuladores de estadísticas, borra todas las
transacciones de la simulación y luego ceba cada bloque GENERAR con su primera
transacción.

El estado de todas las Entidades de Instalación y Entidades de Almacenamiento se restablece


para mostrar una condición desocupada. El contenido de todos los Bloques se convierte en 0.

Cuando se ejecuta un comando CLEAR o CLEAR ON:

 Todas las transacciones se eliminan de la simulación.

 Los conteos actuales se establecen en 0.

 El reloj del sistema está configurado a 0.

 instalaciones están inactivas y disponibles.

 tablas se ponen a 0.

 almacenes están configurados a plena disponibilidad.


 Los productos de espacio, tiempo de instalaciones, almacenamientos, colas y cadenas de
usuarios están configurados en 0.

 Las cuentas totales se establecen igual a 0.

 valores mínimos y máximos se establecen igual al contenido actual en Entidades de


colas, Entidades de cadena de usuarios y Entidades de almacenamiento.

 Los generadores de números aleatorios no se reinician.

 El recuento local de transacciones generadas en un bloque GENERATE se establece en 0.

 Los miembros son eliminados de todos los grupos numéricos.

 Las entidades de valor de guardado se establecen en cero.

 Se restablecen las entidades de Logicswitch.

 elementos de la matriz se establecen en 0.

Si se utiliza un CLEAR OFF, todo lo anterior ocurre excepto los últimos tres elementos. Cuando
el Operando A está desactivado, las Entidades de valores de guardado, las Entidades de
conmutación lógica y los Elementos de matriz permanecen sin cambios.

Restricciones especiales
Ninguna.

SCN relacionadas
Ninguna.

CONDUCTA
Un Comando CONDUCTA comienza un experimento.

Realizar un

Operandos
A  - PLUS Llamada de Procedimiento de Experimento. Opcional. El operando debe
ser ProcedureCall .

Acción
El comando CONDUCT es un comando  inmediato que solo se puede enviar a un objeto de
simulación HALTed.
El comando CONDUCT comienza y pasa los argumentos a un experimento PLUS previamente
registrado en un objeto de simulación. Si el Objeto de simulación solo tiene un Experimento
único sin argumentos, no se requiere el operando A en el Comando CONDUCT.

Ejemplo
CONDUCTA MyExperiment (NumberOfTellers, StartingReplicateNumber)

En este ejemplo, el experimento de experiencia PLUS se inicia como cualquier otro


procedimiento. Las variables de usuario globales NumberOfTellers y StartingReplicateNumber
se utilizan para indicar al experimento dónde comenzar o reanudar las ejecuciones de
simulación. Los argumentos se evalúan en el contexto global y se pasan al Experimento
invocado.

Una vez que haya comenzado un experimento con un comando de CONDUCTA, su capacidad
para interactuar con la simulación es limitada. Siempre puede mostrar el reloj del sistema de
simulación en ejecución ( Ver / Reloj ), pero generalmente tendrá que HALTAR el experimento
para interactuar con el objeto de simulación.

Restricciones especiales
Un comando CONDUCT no puede ser emitido por una invocación DoCommand.

Solo los comandos HALT están disponibles durante un experimento.

El procedimiento de la biblioteca DoCommand solo puede invocarse durante un experimento.

SCN relacionadas
Ninguna.

CONTINUAR
Un comando CONTINUAR hace que una simulación detenida se
reanude.

CONTINUAR

Operandos
Ninguna.

Ejemplo
CONTINUAR

Este comando se utiliza para reanudar la ejecución de una simulación.

Acción
El comando CONTINUAR es un comando en  cola . Cuando el objeto de simulación recibe uno,
lo coloca al final de la cola de comandos de la simulación.

El comando CONTINUAR hace que se reanude una simulación detenida. Una simulación se


detiene cuando encuentra una condición de parada, se emite un comando HALT, encuentra
una parada de error. Detente, o termina normalmente. Las condiciones se pueden establecer
mediante un comando STOP o STEP.

Si la simulación encontró una condición de parada, el comando CONTINUAR omite la


condición de parada original pero no la elimina. Si vuelve a ocurrir la misma condición, la
simulación se detendrá nuevamente. Las condiciones de detención deben eliminarse
explícitamente mediante la opción DESACTIVADO en un comando DETENER o en la ventana
Bloques. Cuando se traduce un modelo, se eliminan todas las condiciones de detención. Esto
se trata en el Capítulo 2 de la Sección, Configuración de condiciones de detención .

Se puede usar un CONTINUAR cuando una simulación ha sido interrumpida por un Comando
HALT. Dado que un comando HALT elimina todos los comandos de la cola de comandos de la
simulación, solo se reanudarán la simulación, y los comandos que no sean exitosos.

Cuando el objeto de simulación procesa un comando CONTINUAR, primero determina si existe


un recuento de terminación positivo. Esto significa que no se ha completado un Comando
START anterior. Si el Recuento de terminación no es estrictamente positivo, CONTINUAR hace
que se escriba el informe estándar opcional pero no programa ninguna Transacción. De lo
contrario, el objeto de simulación llama al programador de transacciones para comenzar a
procesar las transacciones nuevamente.

Tecla de acceso rápido


Se puede enviar un comando CONTINUAR a la simulación presionando la combinación de
teclas [Ctrl] + [Alt] + [C] . Una ventana de GPSS World debe tener el foco de entrada.

EQU
Un comando EQU evalúa una expresión y asigna el resultado a un
valor con nombre.

NOMBRE EQU X

Etiqueta / Operando
NOMBRE - Valor con nombre para recibir un valor. Necesario. El campo debe ser Nombre .

X  - Expresión. Necesario. Debe ser la expresión . Las expresiones se discuten en la Sección


3.4.

Ejemplos
Precio EQU 19.95

Este comando define el nombre Precio y le asigna el valor 19.95. Las referencias futuras al
Precio de valor con nombre utilizarán un valor numérico de 19.95.

Acción
El comando EQU es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

Cuando el objeto de simulación procesa un comando EQU, crea o redefine una variable con
nombre y evalúa la expresión en el comando. El nombre así creado se asocia con un valor
igual al resultado de la Expresión evaluada. Este valor reemplaza las referencias al nombre
definido cuando un operando o expresión se evalúa más adelante.

Los valores con nombre se pueden usar para su valor intrínseco como variables de usuario, o
se pueden usar como especificadores de entidad como etiquetas de entidad. Normalmente, no
asignará un valor a un nombre utilizado como etiqueta de entidad. Los nombres definidos por el
sistema, es decir, los nombres que aún no han aparecido en un comando EQU, no son válidos
por sí mismos en Expresiones u operandos. Sin embargo, pueden usarse como un
especificador de entidad en un SNA. El objeto de simulación asignará automáticamente un
valor distinto a dicho nombre.

La expresión contenida en un comando EQU se evalúa de acuerdo con las reglas del Capítulo
3 y puede incluir llamadas a los procedimientos PLUS o a los procedimientos de la
biblioteca. Las expresiones deben estar bien formadas de acuerdo con las reglas del álgebra
elemental. Una definición formal se puede encontrar en el Apéndice. Puede usar cualquiera de
los operadores aritméticos y lógicos enumerados en la Sección 3.4. Si los SNA se utilizan en el
campo Expresión, se evalúan con respecto a la Transacción activa. Un valor con nombre al que
no se le ha asignado explícitamente un valor no se puede utilizar como un elemento en una
expresión. Para hacerlo, debe asignarle un valor antes de evaluar la Expresión. Las
asignaciones a las variables de usuario se realizan mediante los comandos EQU o en los
procedimientos PLUS.

Una vez que se crea un valor con nombre en una simulación, nunca se destruye. Sin embargo,
las variables de usuario pueden cambiar los valores como resultado de los comandos EQU
posteriores, las asignaciones en los procedimientos PLUS o la integración. La integración
numérica de las variables de usuario se describe en el Capítulo 1, y más adelante, bajo el
comando INTEGRAR.

Restricciones especiales
 Los valores de las etiquetas de bloque no se pueden cambiar en un comando EQU.
 SNAs son evaluados con respecto a la Transacción Activa.

 Si un nombre utilizado como especificador de entidad se cambia después de que se define
la entidad, no podrá acceder a la entidad original utilizando ese nombre.

 Las entidades FVARIABLE y BVARIABLE comparten el mismo espacio de nombre.

 Si desea asignar un valor numérico a un nombre de entidad para su uso en un bloque
SELECT, asegúrese de que las asignaciones de nombre / número en los comandos EQU
preceden a las definiciones de entidad. Por ejemplo:

100 Stor1 EQU 1

200 STOR1 ALMACENAMIENTO 10000


En SNA y operandos, este ALMACENAMIENTO ahora puede ser referido por el número 1 o el
nombre Stor1.

SCN relacionadas
Ninguna.

SALIDA
Un comando EXIT concluye la Sesión Mundial GPSS.

SALIDA

Operandos
A  - Código de salida. Opcional. El operando debe ser -1 , 0 , 1 o Nulo .

Acción
El comando EXIT termina la sesión inmediatamente.

El Operando A se puede usar para controlar la escritura de Objetos de modelo y Objetos de


simulación en archivos. Si el Operando a es 0 o no está especificado, todos los archivos
modificados muestran un cuadro de mensaje que pregunta si se debe guardar o no cada
objeto. Si el operando A es 1 , todos los objetos se guardan. Si el operando A es -1 , no se
guardan objetos.

El comando EXIT se puede usar en modo Batch, para que una "Sesión invisible" se pueda
ejecutar y terminar sin operaciones de ventana. El modo por lotes se discute en la Sección
2.3.2.
La operación de salida también está disponible como un procedimiento de biblioteca y, por lo
tanto, puede iniciarse en un procedimiento PLUS.

Restricciones especiales
Ninguna.

SCN relacionadas
Ninguna.

FUNCIÓN
Un comando de FUNCIÓN define las reglas para una búsqueda de
tabla.
Hay varios tipos de entidades funcionales. Cada uno tiene sus propias reglas relativas a la
búsqueda de tablas. Para cada uno, la tabla de búsqueda se especifica en una o más
declaraciones de seguidor de funciones. Las funciones tipo C son un caso especial. Utilizan
una tabla de búsqueda, seguida de una interpolación lineal.

El uso de los Comandos de Función para definir distribuciones de probabilidad ha sido


suplantado en gran medida por las distribuciones incorporadas en la Biblioteca de
Procedimientos. Esto se trata en el Capítulo 8. Los tipos de funciones anteriores aún son
compatibles con GPSS World.

NOMBRE FUNCION A, B

Etiqueta / Operandos
NOMBRE - Entidad Etiqueta de esta entidad. Necesario. El campo debe ser Nombre .

A  - Argumento de la función. Necesario. El operando debe


ser Name , PosInteger , String , ParenthesizedExpression, SNA o SNA * Parameter .

B  - Tipo de función (una letra) seguido inmediatamente por el número de pares de datos en las
declaraciones de seguidor de funciones. Necesario.

Acción
El comando FUNCTION es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

Un comando de FUNCIÓN junto con una o más declaraciones de seguidor de función define
una entidad de función GPSS. Las referencias posteriores a un SNA de la clase FN pueden
evaluar la función y devolver el resultado. El operando A del comando FUNCTION se evalúa
numéricamente. Hay varios tipos de funciones que deben considerarse individualmente. El tipo
se especifica en el Operando B del comando FUNCTION.

Cada comando de FUNCIÓN debe ir seguido inmediatamente por una lista de pares de datos,
separados por barras inclinadas, que definen una tabla. Las líneas de texto que contienen la
lista se denominan declaraciones de seguidor de funciones. Cada par de datos tiene un valor X
y un valor Y (o SNA) separados por una coma. Las declaraciones de seguidor de funciones
crean tablas en la simulación que permiten evaluar una función matemática de una
variable. Cuando el objeto de simulación encuentra una referencia a un FNA Entnum SNA,
evalúa la entidad de función y devuelve el resultado. Las tablas y la forma en que se hace
referencia dependen del tipo de función.

Modificadores de funciones
Los SNA de clase FN utilizados en el Operando B de las declaraciones GENERATE o
ADVANCE se denominan Modificadores de función. Cuando una transacción ingresa en un
bloque GENERAR o AVANZADO con un modificador de función, el resultado de la función se
multiplica por el operando A del bloque y se usa como el incremento de tiempo.

El operando C de una sentencia ASSIGN también se denomina un modificador de función,


aunque se especifica de manera diferente. En este caso, solo el especificador de entidad, no la
clase FNA SNA, se usa en la instrucción ASSIGN. Cuando una transacción ingresa en un
bloque ASSIGN con un modificador de función, el operando C se usa para determinar el
número de entidad de función. Luego, el resultado de evaluar esa Función se multiplica por el
Operando B del Bloque ASSIGN y el resultado se usa como el valor ASSIGN.

Tipos de funciones
Hay 5 tipos diferentes de Entidades de Función:

Funciones tipo C
Tipo C - Función de valor "continuo". Dado un valor X, después de una interpolación lineal, la
función devuelve un valor Y. Un argumento aleatorio es un caso especial.

En las declaraciones de seguidor de funciones de las funciones de tipo C, los valores de X e Y


deben ser enteros o reales .

En una función de tipo C, sin un argumento aleatorio, los pares de datos en las declaraciones
de seguidor de función definen una función lineal por tramos del argumento. El primer par de
datos define el punto final izquierdo y el último par de datos define el punto final más a la
derecha. Los valores de X e Y se almacenan como números de punto flotante de doble
precisión.

La evaluación de la función comienza con la evaluación del argumento. El resultado se utiliza


para identificar el segmento de línea de la función. El argumento se utiliza luego en una
interpolación lineal de doble precisión para llegar al resultado de doble precisión de la
Función. Si el argumento cae fuera de los puntos finales de la definición de la función, se
devuelve el valor en el punto final más cercano.

Cuando el Operando A del comando FUNCIÓN es un SNA de clase RN, se dice que la Función
tiene un argumento aleatorio. Una función de tipo C con un argumento aleatorio se usa para
definir una distribución de probabilidad "continua". Este es un caso especial. La función se
especifica como la función de distribución acumulativa (CDF) con 0 como el valor del punto final
izquierdo y 1 el valor del punto final derecho. Como antes, el CDF se especifica como una
función lineal por partes. Un número aleatorio entre 0 y .999999, inclusive, se toma del flujo de
números aleatorios y se usa en una interpolación lineal para llegar al valor de doble precisión
de la Función.

Ejemplo

Salida FUNCIÓN V $ Entrada, C3 


1.1,10.1 / 20.5,98.7 / 33.3,889.2

Este ejemplo define una función lineal por partes con dos segmentos de línea. Cuando la
entidad de función se evalúa para un SNA de salida de FN $, primero se evalúa el argumento
de función V $ de entrada. Si el resultado del argumento está fuera del rango definido, 1.1 a
33.3, se devuelve el punto final más cercano. Por ejemplo, si V $ Input devuelve 1 o menos, FN
$ Output devuelve 10.1.

Si el resultado del argumento cae dentro de un segmento de línea definido, se realiza una
interpolación lineal. Por ejemplo, si V $ Input devuelve 25, entonces FN $ Output devuelve el
resultado del siguiente cálculo:

98.7 + (889.2-98.7) # (25-20.5) / (33.3-20.5)

Por lo tanto, FN $ Output devuelve 376.6101563.

Ejemplo

Xpdis FUNCIÓN RN200, C24 


0,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

En este ejemplo definimos la Entidad de Función llamada Xpdis. El comando FUNCIÓN


nombra la función, utiliza el generador de números aleatorios 200 y le dice a GPSS World que
debe ser una entidad de función tipo C con 24 pares de datos a seguir en una o más
declaraciones de seguidor de funciones.

Este es un ejemplo de una aproximación a una distribución exponencial negativa con una
media de 1. Puede usar una distribución de probabilidad incorporada de la Biblioteca de
procedimientos, que es un poco más precisa, pero las Entidades de función son generalmente
más eficientes.

Funciones tipo D
Tipo D - Función de valor discreto. A cada argumento o masa de probabilidad se le asigna un
valor numérico. Un argumento aleatorio es un caso especial.

En las declaraciones de seguidor de funciones de las funciones de tipo D, los valores de X


deben ser expresiones y los valores de y deben ser enteros , reales o de nombre .

En una función de tipo D, sin un argumento aleatorio, los pares de datos en las declaraciones
de seguimiento de función definen un conjunto de valores de argumento que están asociados
con valores de función específicos. Los valores de X en las declaraciones de seguidor de
funciones no deben disminuir. Se almacenan internamente en doble precisión. Cuando se
evalúa la función, los valores de X de las declaraciones de seguimiento de funciones se buscan
del valor más bajo al más alto. Cuando se encuentra un valor de X que es mayor o igual que el
valor del argumento, se devuelve el valor de Y correspondiente. Si no hay tal valor de X, se
devuelve el valor de Y o el valor con nombre asociado con el valor de X más grande.

Ejemplo

FUNCIÓN DIIS1 X $ A2, D5 


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

Tipo AD La función con un argumento aleatorio se usa para definir una distribución de
probabilidad discreta. La función se especifica como una función de distribución acumulativa
(CDF) con 0 como el valor del punto final izquierdo y 1 el valor del punto final derecho. Cuando
se evalúa dicha función, se toma un número aleatorio entre 0 y .999999 de la secuencia de
números aleatorios y se usa. Se selecciona el valor X más pequeño en la declaración de
seguidor de función que es mayor o igual que el número aleatorio. El valor Y asociado se
devuelve como el valor de la Función.

Ejemplo

Ran1 FUNCIÓN RN1, D5 


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

Funciones Tipo E
Tipo E - Discreto, función "atributo valorado". A cada argumento de valor o masa de
probabilidad se le asigna un SNA para ser evaluado. Un argumento aleatorio es un caso
especial.

En las declaraciones de seguidor de funciones de las funciones de tipo E, los valores de X


deben ser expresiones y los valores de y deben ser enteros , reales,
nombres , SNA o expresiones de paréntesis .

Una función de tipo E se evalúa de la misma manera que una función de tipo D, excepto que
una función de tipo E requiere un paso más. Después de elegir el valor X apropiado, el SNA
asociado (valor Y) se evalúa y se devuelve como resultado de la función.

Ejemplo

Edisc FUNCTION X $ QRA, E5 


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

Funciones de tipo L
Tipo L - Función de lista de valores. El valor del argumento se utiliza para determinar la
posición de la lista del valor que se devolverá.

En las declaraciones de seguidor de funciones de las funciones de tipo L, los valores de X


deben ser enteros , y los valores de Y deben ser enteros , reales o de nombre .

Las declaraciones de seguidor de función definen una lista de valores a partir de los cuales se
elige el resultado. Cuando se evalúa la función, el argumento se evalúa y se usa como el
número ordinal (valor X) del miembro de la lista. El valor Y con esa posición dentro de la lista se
devuelve como resultado. Si el argumento es demasiado grande o menor que 1, se produce
una parada de error. Los valores de X deben comenzar con 1 e incrementarse en 1 para cada
par de datos sucesivos. Los valores de X no se pueden omitir en las declaraciones de seguidor
de funciones.
Ejemplo

Tipo de lista FUNCIÓN Q $ Peluquero, L5 


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

Funciones tipo M
Tipo M - Función de valor de lista de atributos. El valor del argumento se utiliza para determinar
la posición de la lista del SNA que se evaluará y devolverá como resultado.

En las declaraciones de seguidor de funciones de las funciones de tipo M, los valores de X


deben ser expresiones y los valores de y deben ser números enteros , reales,
nombres , SNA o expresiones entre  paréntesis .

Una función de tipo M se evalúa de la misma manera que una función de tipo L, excepto que
una función de tipo M requiere un paso más. Después de elegir la posición de la lista, el SNA
asociado se evalúa y se devuelve como el valor de Y.

Ejemplo

Mlist FUNCTION X $ Name1, M5 


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

Reglas para funciones


Debes obedecer varias reglas cuando creas una función. Se aplican tanto a los comandos de
FUNCIÓN como a las declaraciones de seguidor de funciones.

 Los valores X de las declaraciones de seguidor de función no deben disminuir.

 declaraciones de seguidor de funciones NUNCA se numeran en línea.

 Una función que tiene un argumento aleatorio debe describir una distribución de
probabilidad acumulativa válida en las declaraciones de seguidor de función.

 Todos los campos en un comando de función son obligatorios.

 Se requieren todos los valores de X y valores de Y en las declaraciones de seguidor de


función.

 El número de pares de datos indicado en el Operando B de los Comandos de FUNCIÓN


debe corresponder a los pares separados por barras diagonales, [/], en las Declaraciones de
seguidor de funciones.

· X 1 , el primer valor de probabilidad que especifica una función continua aleatoria debe ser 0.
Los valores de CDF deben ser no negativos, no deben reducirse y no pueden exceder de 1.  

 declaraciones de seguidor de función no tienen campo de comentarios.

 En una declaración de seguidor de función, un valor de X es seguido por [,], [,] es seguido
por un valor de Y, un valor de Y es seguido por [/] o [CR], y [/] es seguido por una X valor.

 CDF no deben disminuir entre 0 y 1, inclusive. Cualquier probabilidad que falte en las


funciones del tipo C se da al intervalo más a la derecha, de lo contrario, la probabilidad que
falta es un error.
 funciones de tipo C, D y L no pueden tener SNA para los valores de Y.

 Las funciones de tipo E y M deben tener SNA, o expresiones entre paréntesis, para los
valores de Y.

 Las funciones tipo L y M pueden no tener argumentos aleatorios.

 Las declaraciones de seguidor de funciones de tipo L y M Las funciones deben tener valores
X secuenciales que comiencen con 1.

Las reglas especiales que se aplican cuando se ejecuta en el modo de compatibilidad GPSS /
PC se describen en el Capítulo 3.

SCN relacionado
 FN Entnum  - Función. Resultado de la evaluación de la función Entnum .

Variable
Un comando FVARIABLE define una entidad variable de
"aritmética de punto flotante".

NOMBRE FVARIABLE X

Etiqueta / Operando
 

NOMBRE - Etiqueta de entidad para esta entidad. Necesario. El campo debe ser Nombre .

X  - Expresión. Necesario. Las expresiones se discuten en la Sección 3.4.

Ejemplo
VAR1 FVARIABLE 5 # LOG (Q $ WAITINGLINE)

Este comando define una entidad variable de tipo "punto flotante" que se evaluará cuando se
encuentre un V $ VAR1. Los SNA de clase V acceden a las variables definidas por los
comandos VARIABLE y FVARIABLE. Cuando se evalúa el SNA V $ VAR1, se debe evaluar la
expresión que define la entidad variable denominada VAR1. Comienza con la evaluación de la
Q $ WAITINGLINE SNA. El logaritmo del resultado de doble precisión se calcula y multiplica
por 5. El resultado se trunca y se devuelve como el valor del SNA.
 

Acción
El comando FVARIABLE es un comando en cola . Cuando el objeto de simulación recibe uno,
lo coloca al final de la cola de comandos de la simulación.

Cuando se ejecuta un comando FVARIABLE, el objeto de simulación crea o redefine una


entidad variable de GPSS. La Entidad Variable así creada se evalúa cuando el Objeto de
Simulación encuentra un Atributo Numérico del Sistema en la clase V, refiriéndose a esta
entidad en particular.

La expresión contenida en un comando FVARIABLE se evalúa de acuerdo con las reglas del
Capítulo 3 y puede incluir llamadas a procedimientos PLUS o procedimientos de biblioteca. La
evaluación se realiza de forma diferente en el modo de compatibilidad GPSS / PC.

Las expresiones deben estar bien formadas de acuerdo con las reglas del álgebra
elemental. Una definición formal se puede encontrar en el Apéndice. Puede usar cualquiera de
los operadores aritméticos y lógicos enumerados en la Sección 3.4. Si los SNA se utilizan en el
campo Expresión, se evalúan con respecto a la Transacción activa. Un valor con nombre al que
no se le ha asignado explícitamente un valor no se puede utilizar como un elemento en una
expresión. Para hacerlo, debe asignarle un valor antes de evaluar la Expresión. Las
asignaciones a las variables de usuario se realizan mediante los comandos EQU o en los
procedimientos PLUS.

Una vez que se crea una entidad variable en una simulación, nunca se destruye. Sin embargo,
puede ser redefinido más adelante por un comando interactivo FVARIABLE.

Si la simulación no se ejecuta en el modo de compatibilidad GPSS / PC, los comandos


FVARIABLE y VARIABLE se tratan de la misma manera.

Compatibilidad GPSS / PC
 Todos los SNA se truncan en el modo de compatibilidad de GPSS / PC.

SCN relacionado

· V Entnum  - Resultado de evaluar un Entnum de entidad variable . 

DETENER
Un comando HALT interrumpe la simulación y purga la cola de
comandos.

DETENER

Operandos
Ninguna

Acción
Un comando HALT es un comando inmediato y, por lo tanto, el objeto de simulación no lo
coloca en la cola de comandos. En su lugar, se realiza de inmediato, lo que provoca que la
simulación se coloque en el estado detenido y se eliminen los comandos restantes de la cola
de comandos. La simulación puede ser reanudada por un comando CONTINUAR posterior.

Ejemplo
DETENER

Esto en la única forma de usar el comando GRUPOS.

Tecla de acceso rápido


Se puede enviar un comando HALT a la simulación presionando la combinación de teclas
[Ctrl] + [Alt] + [H] . Una ventana de simulación de GPSS World debe tener el foco de entrada.

INCLUIR
El comando INCLUIR traduce un archivo de declaraciones
modelo.

INCLUIR UN

Operando
A  - Filespec. Una cadena que representa la especificación de archivo del archivo de modelo
secundario o la lista de comandos a traducir. Necesario. El operando debe ser String .

Ejemplo
INCLUYE "SAMPLE1.TXT"

En este ejemplo, cuando el Traductor encuentra el comando INCLUIR, incluirá las


declaraciones del Objeto de Texto SAMPLE1.TXT en la simulación creada. Dado que no se
proporciona una ruta de archivo, GPSS World asume que el archivo está en el Directorio de
modelos.

Acción
El comando INCLUDE es un comando  inmediato . Hace que las declaraciones de un objeto de
texto se recuperen y traduzcan. Los objetos de texto son archivos de texto plano. Cuando se
utilizan en una declaración INCLUDE, también se denominan archivos de modelo secundarios.

El operando A se utiliza como la especificación de archivo de una Lista de comandos o un


Archivo de modelo secundario. Si no se incluye una ruta en la especificación de archivo, se
usará la ubicación del archivo modelo que contiene el comando INCLUIR.

Cuando se traduce un comando INCLUDE, el Traductor Mundial de GPSS lo reemplaza con un


objeto de texto y lo traduce en lugar del comando INCLUIR. El traductor abre el archivo de
modelo secundario y traduce cada declaración de modelo de uno en uno.

Las declaraciones de modelo en un archivo de comando o archivo de modelo secundario se


tratan como si ocurrieran en línea, en lugar del comando INCLUIR. El anidamiento se permite
hasta una profundidad de 5. Cuando todas las declaraciones modelo se han traducido, se
envían al objeto de simulación para su procesamiento.

Si se detecta algún error, GPSS World emite una señal de audio, genera un mensaje de error
de sintaxis e intenta encontrar errores adicionales. El mensaje de error contiene el número de
línea infractor en el Archivo de modelo secundario. El manejo de los errores se describe en el
Capítulo 2. Los sonidos de audio se pueden suprimir seleccionando Silencio en la página
Opciones del Cuaderno de configuración.

Para propósitos de prueba, puede ser más conveniente traducir cada archivo de modelo
secundario por sí mismo, antes de usarlo en un comando INCLUIR. Así es cómo:

1. Lea el archivo de modelo secundario en una ventana de modelo.

2. Traducir el modelo parcial representado en la ventana del modelo.

3. Corregir errores de sintaxis.

4. Guarde el archivo del modelo secundario.

Los comandos INCLUDE se pueden ingresar de forma interactiva o cargar en las teclas de
función, como cualquier otra declaración GPSS. Esto se discute en el Capítulo 2.

Números de archivo de modelo


Los números de archivo de modelo se utilizan en la ventana Bloques y en los mensajes de
Detención de errores para identificar la Declaración de Bloque que creó una Entidad de Bloque
determinada.

A medida que el Traductor se encuentra con los archivos de modelo, asigna un número entero
que se usará más adelante para identificar el archivo. Al objeto modelo se le asigna el número
0, y los archivos INCLUDE sucesivos se asignan a enteros sucesivos a medida que el
Traductor los encuentra. A partir de entonces, las entidades de bloque se pueden asociar a la
línea de texto apropiada en el archivo de modelo.

Cada aparición de un archivo hace que se asigne un Número de archivo de modelo distinto. A
varias apariciones de un solo archivo también se les asignan números distintos. Como cada
aparición hace que se cree un conjunto distinto de Bloques, se requieren Números de Archivos
de Modelo distintos para una identificación única.

Restricciones especiales
 Puedes usar los comandos INCLUDE para anidar archivos de modelo a una profundidad
máxima de 5.

 No puede colocar un comando INCLUIR dentro de un procedimiento PLUS.

INICIAL
Un comando INICIAL inicializa una Entidad de Matriz, una Entidad
de conmutador de Logics, una Entidad de Valor de Guardar o un
elemento de una Entidad de Matriz.

INICIAL A, B

Operandos
A  : elemento Logicswitch, Savevalue o Matrix especificado como SNA, o el nombre de una
entidad Matrix. El Operando A debe tener la forma de un SNA de clase LS, X o MX o un
Nombre de matriz. Necesario. El operando debe ser Name , LS PosInteger , LS $ Name ,
X PosInteger , X $ Name , MX PosInteger ( m, n ) o MX $ Name ( m, n ). Las coordenadas ( m,
n ) deben ser Name o PosInteger .

B  - Valor a asignar, o "NO ESPECIFICADO". El valor predeterminado es 0. Opcional. El


operando debe ser Nulo , Número, Cadena , Nombre o NO ESPECIFICADO.

Acción
El comando INICIAL es un comando en cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

El Comando INICIAL hace que un valor especificado por el operando B, que se asignará a la
Logicswitch, Savevalue o Matriz Entidad según lo especificado por el operando A . Si no se
utiliza el Operando B, se asigna un valor de 1 a la entidad o elemento. 

Si el Operando B es la palabra clave UNSPECIFIED, el elemento Savevalue o Matrix, o Matrix


se coloca en el estado "Sin especificar" sin asignar. Esto se puede usar para indicar los datos
faltantes en una Matriz de Resultados que se analizará con la Subrutina de la Biblioteca
ANOVA. 

Si el Operando A especifica una Entidad de conmutador lógico, solo se asigna el valor de 0 o


1. Si el Operando B se especifica explícitamente como 0, se asigna el valor de 0. De lo
contrario, se asigna el valor 1. La opción UNSPECIFIED no se puede usar con una clase LS
SNA, porque las Entidades de Logicswitch no tienen un estado no especificado.

Si el Operando A especifica el nombre de una Entidad Matricial, todos los elementos en la


matriz se colocan en el estado indicado por el operando B. El valor predeterminado es un valor
de 0. El MX SNA se puede usar en el Operando A para asignar elementos en matrices
bidimensionales, pero tendrá que usar una asignación de lenguaje PLUS para matrices de más
de 2 dimensiones. Para colocar dichos elementos en el estado NO ESPECIFICADO, puede
INICIALIZAR una entidad de valor de guardado a NO ESPECIFICADO y usar PLUS para
completar la asignación.

El comando INICIAL se puede usar cuando no hay una transacción activa, o cuando no se
puede confiar en el contenido del parámetro de transacción. Sin embargo, una gama más
completa de operandos está disponible mediante LOGICSWITCH, SAVEVALUE y
MSAVEVALUE Block Statements de forma interactiva.

Ejemplos
Cita inicial de X $, "Ahora es el momento ..."

Este comando asigna una constante de cadena a la entidad Savevalue, QUOTE.

Inventario MX $ INICIAL (Parte_39, nivel de inventario), 200

Este comando asigna el valor 200 al elemento de la entidad de matriz denominada Inventario
con el número de fila de Part_39 y el número de columna de Stocklevel. Los nombres Part_39 y
Stocklevel deben haberse asignado previamente los enteros apropiados en los comandos
EQU.

RESULTADO INICIAL, NO ESPECIFICADO

Este comando prepara la entidad de matriz definida anteriormente llamada MainResult para su
uso en un experimento en el que pueden faltar datos.

Restricciones especiales
 Operando A debe tener la forma de un SNA de clase LS, X o MX, o el nombre de una
Entidad Matricial.

 No puede usar parámetros de transacción en ninguna parte del Operando A.

 No puede usar UNSPECIFIED para inicializar un Logicswitch.

SCN relacionadas
Entnum  LS  - Logicswitch. Se devuelve el valor del Entity Entity de Logicswitch .

Entnum  MX (m, n) - Valor del elemento de matriz. Se devuelve el valor en la fila m, columna


n del Entnum Entidad Matricial .

 X Entnum  - Guardar valor. el valor de Savevalue Entidad Entnum se devuelve.

Bloques Relacionados
 LÓGICA: asigne un valor a una entidad Logicswitch.

 MSAVEVALUE: asigna un valor o incrementa un elemento de una entidad de matriz.


 SALVAR VALOR: asigne un valor o incremente una Entidad de valores de guardado.

INTEGRAR
Un comando INTEGRAR configura la integración y los umbrales
de una variable continua.

NOMBRE INTEGRAR A, B, C, D, E

Operandos
NOMBRE - Variable de usuario. Necesario. El campo debe ser Nombre .

A  - Derivado. Necesario. El operando debe ser Nombre , Número , Cadena , Expresión entre


paréntesis o SNA .

B  - Umbral 1. Opcional. El operando debe ser Null,


Name , Number , String , ParenthesizedExpression o SNA .

C  - Bloque de llegada 1. Opcional. El operando debe ser Null,


Name , PosInteger , ParenthesizedExpression o SNA .

D  - Umbral 2. Opcional. El operando debe ser Null,


Name , Number , String , ParenthesizedExpression o SNA .

E  - Bloque de llegada 2. Opcional. El operando debe ser Null,


Name , PosInteger , ParenthesizedExpression o SNA .

Ejemplos
Conejos INTEGRAR (a_ # Conejos) - (b_ # Conejos # Zorros)

Zorros INTEGRAR (- c_ # Zorros) + (d_ # Conejos # Zorros)

Conejos EQU 10000

Zorros EQU 1500

a_ EQU 0.9

b_ EQU 0.4

c_ EQU 0.2

d_ EQU 0.1

Este ejemplo define un modelo de "Predator-Prey" que relaciona una población de conejos con
una población de zorros. Las expresiones en los comandos INTEGRATE se utilizan como
derivadas con respecto al tiempo. Los valores de las constantes en las Expresiones y los
valores iniciales de las poblaciones se establecen mediante los Comandos EQU. Cuando se
ejecuta la simulación, las integraciones se realizan automáticamente cuando el reloj avanza.

X_ INTEGRAR (Y _), 0.707, Wake_Up

Y_ INTEGRAR (-X_)

X_ EQU 1.0

Y_ EQU 0.0

Este ejemplo define un sistema acoplado de ecuaciones diferenciales ordinarias (EDO) cuya
solución es X_ = cos (Y_VAR) e Y _ = - sin (X_VAR). Las expresiones en los Comandos
INTEGRAR se utilizan como derivadas con respecto al tiempo. Los valores iniciales de las
variables continuas son establecidos por los Comandos EQU. Cuando se ejecuta la simulación,
las integraciones se realizan automáticamente entre instantes de tiempo discretos.

Se utiliza un umbral para la variable de usuario X_. Cuando esta variable cruza el valor 0.707,
desde cualquier dirección, se crea una nueva Transacción y se programa para el Bloque con la
etiqueta WAKE_UP.

X es una clase SNA y, por lo tanto, no puede utilizarse como un valor con nombre. Aquí
utilizamos X_. Siempre es seguro crear nombres si incluyen un carácter de subrayado.

Acción
El comando INTEGRAR es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

Cuando se ejecuta un comando INTEGRAR, las estructuras de datos se configuran de modo


que una variable de usuario se integre automáticamente cuando el reloj del sistema
avance. Las integraciones se realizan utilizando un método de Runge Kutta Fehlberg de quinto
orden modificado (RK4 (5)), con un tamaño de paso variable.

Todas las variables de usuario involucradas en una integración deben recibir valores iniciales
antes de que se ejecute la simulación. Puede hacer esto con los comandos EQU o mediante
declaraciones de asignación en los procedimientos PLUS.

El Operando A del Comando INTEGRAR se usa para la derivada de la Variable de Usuario con
respecto al tiempo. Puede ser muy simple o bastante complejo. En este último caso, es posible
que desee definir un Procedimiento PLUS y colocar una Llamada de Procedimiento en la
Expresión entre paréntesis utilizada para el Operando A.

Cada comando INTEGRAR puede tener cero, uno o dos umbrales numéricos. Los operandos B
y C se pueden usar para especificar el umbral 1, y / o los operandos D y E se pueden usar para
especificar el umbral 2. En cualquier caso, el primer operando del par determina el valor del
umbral, el segundo indica el Bloque que Recibirá Transacciones generadas.

Durante la integración, si el valor de la variable integrada cruza el valor de un umbral, desde


cualquier dirección, se crea una nueva Transacción. Se le asigna una prioridad de 0 y está
programado para ingresar el Bloque asociado con ese umbral en el Comando INTEGRAR. El
tiempo de entrada de la Transacción en el modelo se estima mediante una interpolación
lineal. Para mejorar la precisión, el paso de integración se reduce cuando un umbral es
inminente.
Los umbrales pueden ser constantes, expresiones entre paréntesis o incluso llamadas a
procedimientos. Además, las Transacciones generadas por un cruce de umbral pueden usarse
para mover el umbral.

Las integraciones se inician automáticamente en el estado activo o "habilitado". Sin embargo,


puede activar o desactivar una integración mientras se está ejecutando una simulación
utilizando uno o más Bloques de INTEGRACIÓN. Esto se discute en el Capítulo 7.

Fases
Las simulaciones se ejecutan en fases continuas y discretas alternativas. En cualquier
momento donde se programan eventos, la simulación se ejecuta en una fase discreta. El reloj
no avanza en un instante en una fase discreta. Entre instantes, la simulación se ejecuta en una
fase continua, durante la cual las integraciones se realizan en pequeños incrementos de tiempo
llamados ministeps. Las variables de integración trazadas informan valores intermedios al final
de ministeps.

Cuando un cruce de umbral genera una transacción, la simulación entra en una fase
discreta. De esta manera, las fases continua y discreta pueden estar estrechamente
interrelacionadas. A la inversa, a las variables de usuario se les pueden asignar nuevos valores
en una fase discreta incluso si se están integrando. Puede hacerlo utilizando un comando EQU
o una declaración de asignación PLUS. Si desea que dichas asignaciones ocurran dentro de la
ejecución de la simulación, debe definir un Procedimiento PLUS que realice la asignación. Por
ejemplo, si definió un procedimiento PLUS como

        PROCEDIMIENTO SetPop (PopLevel) BEGIN 


                Foxes = PopLevel; 
        FINAL ;
puede reinicializar la variable de usuario de Foxes ingresando un bloque PLUS, como

        MÁS (SetPop (200))


o utilizando una Expresión entre paréntesis que invoque SetPop () en algún otro tipo de Bloque.

Error de integración
Se utiliza una configuración de modelo llamada Tolerancia de integración para limitar el error de
truncamiento local de cada integración individual. Si reduce la tolerancia, las integraciones
tomarán más tiempo, pero serán más precisas. Esto se establece en la página de simulación
del cuaderno de configuraciones del modelo.

                                ELEGIR Ver / Configuraciones / Modelo

luego selecciona la página Simular . Luego complete el valor deseado en el cuadro de


entrada marcado Tolerancia de integración . El valor predeterminado de la
instalación es 10 -6 .

El modelado de estado continuo también se discute en el Capítulo 2.

Bloque relacionado
 INTEGRACIÓN: activa o desactiva la integración de una variable de usuario.
Ventanas relacionadas
 Ventana de expresiones - Vista en línea de los valores de las expresiones.

 Ventana de trazado: vista en línea de un diagrama de hasta 8 expresiones.

Las restricciones
 Si se usa el Operando B o el Operando C, ambos deben usarse.

 Si se usa el Operando D o el Operando E, ambos deben usarse.

MATRIZ
Un comando MATRIX define una entidad de matriz GPSS.

NOMBRE MATRIZ A, B, C, D, E, F, G

Etiqueta / Operandos
NOMBRE - Etiqueta de entidad para esta entidad. Necesario. El campo debe ser Nombre .

A  - Campo no utilizado (para compatibilidad con implementaciones GPSS anteriores).

B  - Requerido. Cuenta máxima de elementos en primera dimensión. Número de filas de


matrices. El operando debe ser PosInteger .

C  - Requerido. Cuenta máxima de elementos en segunda dimensión. Número de columnas


matriciales. El operando debe ser PosInteger .

D  - Opcional. Recuento máximo de elementos en la tercera dimensión. El operando puede


ser PosInteger .

E  - Opcional. Cuenta máxima de elementos en cuarta dimensión. El operando puede


ser PosInteger .

F  - Opcional. Cuenta máxima de elementos en quinta dimensión. El operando puede


ser PosInteger .

G  - Opcional. Cuenta máxima de elementos en sexta dimensión. El operando puede


ser PosInteger .

Ejemplo
Inventario MATRIX, 1000,5
Este comando define una entidad de matriz denominada Inventario con 1000 filas y 5
columnas.

Acción
El comando MATRIX es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

Un comando MATRIX hace que se cree una Entidad Matriz en la simulación. Una entidad
matricial debe definirse específicamente en un comando MATRIX antes de poder referenciarla.

El Operando A no tiene ningún propósito en GPSS World porque no es necesario especificar la


precisión de los elementos de Matrix. Este operando se conserva solo por compatibilidad con
versiones anteriores de GPSS.

Una entidad matricial puede tener hasta 6 dimensiones. Sin embargo, solo se puede acceder a
las dos primeras dimensiones en un bloque MSAVEVALUE. En este caso, se supone que todas
las coordenadas que faltan son 1.

Los procedimientos PLUS pueden acceder a todos los elementos de cualquier matriz. Si
necesita usar matrices de más de 2 dimensiones, tendrá que crear uno o más Procedimientos
PLUS para acceder a ellos. Las matrices definidas en un comando MATRIX tienen alcance
global y son conocidas por todos los procedimientos PLUS. Además, se pueden crear matrices
temporales con alcance local durante la invocación de un procedimiento PLUS. Esto se discute
más adelante en el Capítulo 8.

Las entidades matriciales nunca se eliminan de la simulación. Sin embargo, una Entidad Matriz
puede ser redefinida por otro Comando MATRIX.

Cuando se crea una Entidad Matricial por primera vez, o cuando se usa un Comando CLEAR
ON, a todos los elementos se les asigna el valor de 0. Sin embargo, puede usar el Comando
INICIAL para dar a los elementos el estado de NO ESPECIFICADO. Esto es útil cuando está
utilizando una entidad matricial para mantener los resultados de un experimento. Cuando pase
dicha Matriz de resultados al Procedimiento de biblioteca ANOVA, los elementos NO
ESPECIFICADOS se tratarán como datos faltantes, en lugar de resultados de 0.0.

  

Restricción de memoria
 Las entidades matriciales están limitadas a la solicitud de memoria máxima en el Cuaderno
de configuración del modelo. Esto se discute en el Capítulo 2.

SCN relacionado
Entnum  MX (m, n)  - Elemento de entidad matricial. Se devuelve el valor en la fila m,
columna n de entnum de matriz . Sólo los nombres, enteros o SNA de clase P se pueden usar
para los valores de fila y columna.

Bloque relacionado
 MSAVEVALUE: asigna o incrementa un elemento de una entidad de matriz.
Comandos relacionados

  INICIAL : inicialice una entidad de matriz a 0 o NO ESTÁ DEFINIDA .

  BORRAR - inicializa una entidad de matriz a 0 ..

Ventanas relacionadas
 Una entidad de matriz se puede ver en una ventana de matriz en línea. Esta ventana
muestra una sección transversal bidimensional de cualquier matriz.

 Cualquier SNA se puede ver en una ventana de expresiones o de ploteo.

QTABLE
Un comando QTABLE inicializa una tabla de distribución de
frecuencia de tiempo de cola.

NOMBRE QTABLE A, B, C, D

Etiqueta / Operandos
NOMBRE - Etiqueta de entidad para esta entidad. Necesario. El campo debe ser Nombre .

A  - Nombre de la entidad de la cola. Necesario. El operando debe ser PosInteger o Name .

B  - Límite superior de la primera clase de frecuencia. El argumento máximo que hace que la
primera clase de frecuencia se actualice. Necesario. El operando debe ser Number o String.

C  - Tamaño de las clases de frecuencia. La diferencia entre el límite superior y el límite inferior
de cada clase de frecuencia. Necesario. El operando debe ser Number o String .

D  - Número de clases de frecuencia. El operando debe ser PosInteger .

Acción
El comando QTABLE es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

Al usar un comando QTABLE, las estadísticas se guardarán automáticamente para las


transacciones que ingresan los bloques QUEUE y DEPART. La entidad de cola que se mide se
especifica en el Operando A del comando de definición QTABLE.

Cuando una Transacción ingresa en un Bloque de COLA que se refiere a una Entidad de Cola
que tiene una o más Qtables, se crea una marca de tiempo especial y se mantiene con la
Transacción. Para recopilar un elemento de datos, una transacción debe ingresar un bloque
DEPART que se refiere a esta misma entidad de cola. Cuando se ingresa dicho Bloque
DEPART, se calcula un argumento de la tabla restando la marca de tiempo guardada anterior
de la hora actual del sistema. Si el argumento de la tabla calculada es menor o igual que el
Operando B del Comando QTABLE, se elige la primera clase de frecuencia de la tabla. Si el
argumento de la tabla no se ajusta a la primera clase de frecuencia, la clase se elige dividiendo
el valor del argumento por el Operando C del Comando QTABLE. El límite inferior de una clase
de frecuencia se incluye en la clase anterior. Si la tabla no es lo suficientemente grande para
acomodar este valor,

Luego el entero en la clase de frecuencia elegida y el conteo total para todas las clases se
incrementa por el Operando B del Bloque DEPART. Finalmente, se actualizan los
acumuladores para la media y la desviación estándar del argumento Qtable.

Una entidad Qtable se puede redefinir mediante un segundo comando QTABLE con la misma
etiqueta que la primera.

Ejemplo
WaitTimes QTABLE WaitingLine, 100,100,10

En este ejemplo simple, la distribución de los intervalos QUEUE-DEPART se ingresa en la tabla


llamada WaitTimes. El comando QTABLE crea una tabla con un total de 10 clases de
frecuencia.

Todos los intervalos de tiempo en o por debajo de 100 hacen que la primera clase de
frecuencia de la tabla se actualice. Normalmente esto significa que el número entero para la
primera clase de frecuencia se incrementa en 1, sin embargo, hay un factor de ponderación
disponible en el Operando B del Bloque DEPART. Esto tiene el efecto de agregar el factor de
ponderación al entero para la clase de frecuencia. El factor de ponderación también se aplica a
la media y a la desviación estándar, y tiene el mismo efecto que varias entradas en el bloque
DEPART.

Si el intervalo de tiempo de la transacción es mayor que 900, se colocará en la décima y última


clase de frecuencia. Si el intervalo de tiempo no corresponde ni a la primera ni a la última clase
de frecuencia, se utiliza para elegir entre las clases de frecuencia igualmente espaciadas de la
segunda a la novena.

Por ejemplo, si el intervalo de tiempo es 290, la tercera clase de frecuencia se actualizaría.

Las estadísticas recopiladas en una entidad de Qtable se imprimen en el informe estándar. Un


informe de muestra se encuentra en el Capítulo 11.

SCN relacionadas
 Q Entnum  - Contenido de la cola actual. El valor de conteo actual de la cola Entnum .

Entidad de  control de calidad  : contenido promedio de la cola. El tiempo promedio


ponderado cuenta para la cola Entnum .

 QC Entnum  - Total de entradas de cola. La suma de todos los recuentos de entradas de


cola para la cola Entnum .

 QM Entnum  - Contenido máximo de la cola. El recuento máximo (marca de límite superior )


de la cola Entnum .
Entorno de  QT  - Tiempo promedio de residencia en la cola. El tiempo ponderado promedio
de la cuenta para la cola Entnum .

Entorno de  QX  : tiempo promedio de residencia en la cola, excluyendo las entradas cero. El
promedio ponderado de tiempo del recuento para la cola Entnum sin contar las entradas con un
tiempo de residencia cero.

 QZ Entnum  - Recuento de entrada cero en la cola. El número de entradas de la


cola Entnum con un tiempo de residencia cero.

Restricción de memoria
 Las entidades de Qtable están limitadas a la solicitud de memoria máxima en el Cuaderno
de configuración del modelo. Esto se discute en el Capítulo 2.

Bloques Relacionados
 QUEUE - registrar estadísticas desde el principio de un tiempo de espera.

 SALIDA: registrar estadísticas para el final de un tiempo de espera utilizando un factor de


ponderación opcional.

Ventanas relacionadas
 Una entidad de Qtable se puede ver en una ventana de tabla en línea.

 Cualquier SNA se puede ver en una ventana de expresiones o de ploteo.

INFORME
Un comando REPORT hace que se cree un informe
inmediatamente.

INFORME A, B

Operandos
A - Debe ser nulo .

B - AHORA, para escribir un Informe Estándar, de inmediato. Opcional. El operando debe ser
NOW o Null .

Ejemplo
INFORME

Este comando ordena a GPSS World crear un informe estándar de inmediato.

Informe, ahora

Este comando se mantiene con fines de campatibilidad. Como en el ejemplo anterior, hace que
se cree un Informe estándar de forma inmediata.

Acción
El comando REPORT es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

Cuando un objeto de simulación se encuentra con un comando REPORT, crea inmediatamente


un informe estándar de acuerdo con la configuración "En Windows" del objeto de
simulación. Esto se puede encontrar en la página Informes del Cuaderno de configuraciones.

Si se configura la opción "En Windows", el objeto de simulación crea un nuevo objeto de


informe que contiene el nuevo informe estándar. Entonces puede ser guardado en un archivo o
descartado. Si "En la ventana" no está configurado, se crea el Informe estándar, se le asigna
un número de serie secuencial y se coloca en un archivo.

El INFORME ya no usa el operando A, y siempre asume que el Operando AHORA se usa en el


Operando B. Ignora la Configuración de "Crear Informe Estándar", que se usa para la creación
automática del Informe Estándar, e ignora el operando B del Comando START usado para el
simulación actual.

Normalmente no es necesario utilizar el comando REPORT. Los informes se administran


automáticamente de acuerdo con los ajustes de configuración. Esto se discute en el Capítulo
11.

Configuración relacionada
 Los informes estándar normalmente se envían a Report Windows, pero se pueden enviar
directamente al archivo. Esto se controla mediante la configuración "En ventana" en la página
Informes del Cuaderno de configuraciones.

REINICIAR
Un comando RESET marca el comienzo de un período de
medición.

REINICIAR

Operandos
Ninguna.

Acción
El comando RESET es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

Un comando RESET inicializa los acumuladores de estadísticas sin eliminar transacciones de


la simulación. Esto es útil para la replicación de experimentos de simulación y para desechar
datos que representan un período de inicio transitorio.

RESET establece el tiempo de inicio del período de medición para igualar el reloj del sistema
actual, y luego inicializa los acumuladores de estadísticas para Instalaciones, Colas y
Entidades de almacenamiento. Esto permite el inicio de una nueva ventana de tiempo utilizada
en la recopilación de estadísticas.

Un Comando RESET no elimina Transacciones de la simulación, mientras que un Comando


BORRAR no lo hace

RESET no tiene ningún efecto en los generadores de números aleatorios, el reloj del sistema o
la numeración de las transacciones.

Cuando se ejecuta un comando RESET.

 Los productos de espacio, tiempo de instalaciones, almacenes, colas y entidades de cadena


de usuario están configurados en 0.

 Los conteos totales son iguales a los conteos actuales.

 valores mínimos y máximos se establecen igual al contenido actual en colas, cadenas


de usuario y entidades de almacenamiento.

 Los generadores de números aleatorios no se reinician.

 El reloj relativo (tiempo desde el último RESET) se establece en 0.

 Las estadísticas de la tabla se restablecen a 0.

RMULT
Un comando RMULT establece las semillas para generadores de
números aleatorios.

RMULT A, B, C, D, E, F, G

 
Operandos
A  - Semilla para el número de generador de números aleatorios 1. Opcional. El operando debe
ser nulo , o PosInteger .

B  - Semilla para el número de generador de números aleatorios 2. Opcional. El operando debe
ser nulo , o PosInteger .

C  - Semilla para el número de generador de números aleatorios 3. Opcional. El operando debe
ser nulo , o PosInteger .

D  - Semilla para el número de generador de números aleatorios 4. Opcional. El operando debe
ser nulo , o PosInteger .

E  - Semilla para el número de generador de números aleatorios 5. Opcional. El operando debe
ser nulo , o PosInteger .

F  - Semilla para el número de generador de números aleatorios 6. Opcional. El operando debe
ser nulo , o PosInteger .

G  - Semilla para el número de generador de números aleatorios 7. Opcional. El operando debe
ser nulo , o PosInteger .

Ejemplo
RMULT, 111

En este ejemplo, el generador de números aleatorios 3 se inicializa con una semilla de 111.

Acción
El comando RMULT es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

El comando RMULT inicializa hasta 7 generadores de números aleatorios con nuevas


semillas. Sólo los generadores de números aleatorios numerados con 7 o menos pueden
controlarse mediante un comando RMULT. Sin embargo, dado que la semilla predeterminada
de un generador de números aleatorios es su número de entidad, de hecho, puede tener
cualquier número de generadores de números aleatorios, y puede elegir la semilla inicial de
cada uno. Después de la primera simulación, las semillas solo se pueden controlar fácilmente
con el comando RMULT en los generadores 1-7.

Puede seleccionar qué secuencia de números aleatorios utiliza GPSS World para calcular
incrementos de tiempo aleatorios en ADVANCE y GENERAR Bloques, en Modo Fraccional,
TRANSFER y TRANSFER PICK Blocks y para resolver la programación de los lazos de
tiempo. Esto se establece en la página "Aleatorio" del Cuaderno de configuración del modelo.

                                ELEGIR Ver / Configuraciones / Modelo

A continuación, seleccione la página aleatoria . Luego complete el número de la Entidad de


transmisión de números aleatorios deseada en los cuadros de entrada correspondientes. El
valor predeterminado de la instalación es utilizar el número 1 de Random Number Stream en
cada caso.

Como GPSS World usa generadores de números aleatorios multiplicativos congruentes, es


posible controlar pares de flujos de números aleatorios para propósitos de reducción de
varianza. Esto se hace haciendo coincidir las semillas de los generadores de números
aleatorios. Si s es la semilla para el primer generador de números aleatorios, entonces una
opción de 2147483647- s para la semilla del segundo generador de números aleatorios
generará un flujo de números aleatorios con propiedades antitéticas.

Restricción especial
 Las semillas de números aleatorios deben ser enteros positivos.

SCN relacionado
 RN Entnum  - Número aleatorio. RN Entnum devuelve un entero aleatorio 0-999 del
generador de números aleatorios Entnum.

Ventana relacionada
 La ventana ANOVA puede realizar un análisis de varianza y calcular intervalos de confianza.

ESPECTÁCULO
Un comando SHOW envía una expresión para que la evalúe el
objeto de simulación y escribe el resultado en la línea de estado.

MOSTRAR X

Operando
X - Expresión.

Ejemplo
MOSTRAR 2 # REGISTRO (Q $ Peluquero)

Este comando encuentra el logaritmo natural del SNA Q $ Barber, lo duplica y escribe el
resultado en la línea de estado de la ventana del modelo.

Acción
El comando SHOW es un comando  inmediato . Se realiza cuando es recibido por el objeto de
simulación.

El comando MOSTRAR evalúa una expresión en el contexto de la simulación y escribe el


resultado en la línea de estado de la ventana del modelo. Los mensajes adicionales se envían
a cualquier diario abierto de Windows.

Las reglas para evaluar Expresiones se pueden encontrar en la Sección 3.4. Las expresiones
deben estar bien formadas de acuerdo con las reglas del álgebra elemental. Puede usar
cualquiera de los operadores aritméticos y lógicos enumerados en la Sección 3.4.

Si los SNA se utilizan en el campo Expresión, se evalúan con respecto a la Transacción


activa. Si no hay una transacción activa porque no se ha iniciado una simulación, se escribirá
un mensaje de error. Los nombres que no se han asignado explícitamente a los valores no se
pueden usar en Expresiones. Para hacerlo, debe asignar un valor mediante un comando EQU
antes de evaluar la expresión.

Ejemplos

SHOW C1

muestra el reloj del sistema en la línea de estado.

MOSTRAR 4 # (SQR (2) + SIN (C1))

muestra el resultado de 4 veces la suma de la raíz cuadrada de 2 y el seno del reloj del
sistema.

SHOW N1 ^ W $ Silla

muestra el resultado de aumentar el número de Transacciones que han entrado en el Bloque 1


a la potencia del número de Transacciones que esperan en el Bloque denominado Presidente.

Restricciones especiales
 Algunos SNA no pueden ser evaluados a menos que haya una Transacción Activa.

 SHOW muestra hasta 38 caracteres o dígitos.

Ventanas relacionadas
 Cualquier expresión válida se puede ver en una ventana de expresiones o gráficos.

COMIENZO
Un Comando START comienza una simulación.

INICIO A, B, C, D

Operandos
A  - Recuento de terminaciones. Necesario. El operando debe ser PosInteger .

B  - Operando de impresión. NP para "sin impresión". Por defecto es imprimir un informe


estándar. Opcional. El operando debe ser NP o Nulo .

C  - No utilizado. Se mantiene la compatibilidad con los dialectos más antiguos de GPSS.

D  - Impresión de la cadena. 1 para incluir la CEC y la FEC en el informe estándar. Opcional. El


operando debe ser nulo , o PosInteger .

Acción
El comando START es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

El comando START se usa para configurar y comenzar la simulación real. La simulación no


termina hasta que el recuento de terminación, establecido por el Operando A, llega a cero o se
convierte en negativo. TERMINATE Los bloques se utilizan para reducir el recuento de
terminaciones.

La simulación puede detenerse en corto si se emite un comando HALT, o si se detecta una


condición de parada.

Los operandos B y D se utilizan para controlar la generación automática de informes. Si no se


usa el Operando B, se escribe un informe estándar. Si el Operando B es NP, que significa "sin
impresión", no se escribe ningún informe estándar. Si el Operando D es distinto de cero, se
informa la Cadena de eventos actuales (CEC) y la Cadena de eventos futuros (FEC). De lo
contrario no se informan. En los Capítulos 11 y 12 se puede encontrar una discusión adicional
sobre el control y el contenido del informe estándar.

El operando C se mantiene por compatibilidad con versiones anteriores de GPSS. Se usó como
un recuento "instantáneo" para publicar un informe periódicamente. Esta función está
disponible usando más de un comando de INICIAR y REPORTAR.

Cuando se ejecuta un comando START:

 Se establece el recuento de terminación.

 Todos los bloques generados marcados como "no iniciados" se ceban con una sola
transacción.

 Los generadores de números aleatorios no se reinician.

 Si el tiempo es 0, se realiza un REAJUSTE de los acumuladores de estadísticas. Vea la


discusión del comando RESET en este capítulo.
Ejemplo
START 1000 ,,, 1

En este ejemplo, el recuento de terminaciones se establece en 1000 y se inicia la


simulación. Cuando el conteo de terminaciones llega a cero o se convierte en negativo (por una
reducción debida a los bloques TERMINATE en la simulación), se escribe un informe estándar
que incluye información sobre la cadena de eventos actuales (CEC) y la cadena de eventos
futuros (FEC).

SCN relacionado
 TG1 - Recuento de terminaciones.

Bloques Relacionados
 TERMINAR: destruye la transacción y, opcionalmente, reduce el recuento de terminación.

PASO
Un comando STEP hace que la simulación proceda a un número
específico de entradas de Bloque.

PASO A

Operando
A - Recuento de entradas de bloque. Necesario. A debe ser un entero positivo, más
formalmente, PosInteger .

Ejemplo
PASO 1

Este comando hace que la simulación proceda exactamente una entrada de Bloque y luego se
detenga. Luego se dice que la simulación está en el estado "Detenido".

Acción
El comando STEP es un comando en cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.
El comando STEP hace que el objeto de simulación simule el número especificado de entradas
de bloque. Cuando una simulación alcanza el número requerido de entradas de Bloque, el
Objeto de simulación envía un mensaje a la Línea de estado y cualquier Windows de diario que
esté abierto. El mensaje indica la hora, el número de la transacción activa, el bloque actual de
la transacción activa y el siguiente bloque programado de la transacción activa.

Una simulación iniciada por un comando STEP no termina cuando el recuento de terminación
se pone a cero, termina cuando se produce el número requerido de entradas de Bloque.

Cuando se ejecuta un comando STEP:

 El conteo de terminación no está establecido.

 Todos los bloques generados marcados como "no iniciados" están imprimados.

 Los generadores de números aleatorios no se reinician.

Tecla de acceso rápido


Se puede enviar un comando PASO 1 a la simulación presionando la combinación de teclas
[Ctrl] + [Alt] + [1]  . Una ventana de GPSS World debe tener el foco de entrada.

Ventanas relacionadas
 El paso de las simulaciones se puede ver dinámicamente en la ventana Bloques.

DETENER
Un comando STOP establece o elimina una condición de
detención.

Parada A, B, C

Operandos
A - Número de transacción. A debe ser un entero positivo. Si se omite el Operando A, cualquier
número de Transacción cumplirá la condición. Opcional. El operando debe ser nulo ,
o PosInteger .

B - Número de bloque. Si se omite el Operando B, cualquier Bloque satisfará la


condición. Opcional. El operando debe ser Null , Name o PosInteger .

C - ON u OFF. Si se omite el Operando C, se asume ON. Opcional. El operando debe estar


activado, apagado o nulo .

Ejemplo
Parada 100,52

Este comando inserta una condición de parada que hará que una simulación en ejecución se
detenga cuando la transacción número 100 intente ingresar el número de bloque 52.

Acción
El comando STOP es un comando en cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

El comando DETENER con la opción ON inserta una condición de detención en la simulación,


pero no hace que la simulación se inicie. Se debe ingresar un INICIO, PASO o CONTINUAR
posterior.

Cuando una simulación alcanza una condición de parada, el objeto de simulación envía un
mensaje a la línea de estado y a cualquier Windows de diario que esté abierto. El mensaje
indica la hora, el número de la transacción activa, el bloque actual de la transacción activa y el
siguiente bloque programado de la transacción activa.

Cuando se detecta una condición de parada, las condiciones de parada establecidas


permanecen en vigor. Si se emite un comando CONTINUAR, el comando CONTINUAR omite
la Condición de detención original pero no la elimina. Si vuelve a ocurrir la misma condición, la
simulación se detendrá nuevamente. Las Condiciones de detención deben eliminarse
explícitamente al ingresar un nuevo Comando DETENER que contiene la opción
APAGADO. También se eliminan cuando se traduce un modelo.

Los comandos de DETENER se pueden enviar utilizando las operaciones de mouse en la


ventana de Bloques. Esto se discute con más detalle en el Capítulo 5.

Si omite el Operando A, cualquier Transacción cumplirá con la Condición de Parada. Si omite el


Operando B, cualquier Bloque satisfará la Condición de Parada. Un comando STOP sin
operandos hará que la simulación se detenga inmediatamente.

Se puede establecer cualquier número de Condiciones de detención.

El comando DETENER con la opción DESACTIVADA elimina cualquier condición de detención


existente que satisfaga las condiciones de transacción y bloqueo especificadas por los
operandos A y B.

Ejemplos
DETENER

Sin operandos, el comando DETENER hará que cualquier simulación subsiguiente se detenga
inmediatamente.

PARADA

Este comando elimina todas las condiciones de detención de la simulación.

Parada 2

Este comando hará que la simulación se detenga cuando la transacción 2 se convierta en la


transacción activa.

 
Parada, silla

Este comando hará que la simulación se detenga cuando cualquier Transacción intente
ingresar al Bloque en la ubicación SILLA.

Parada, silla, apagado

Este comando eliminará todas las condiciones de detención que especifican la presidencia
como el nombre del bloque.

Ventanas relacionadas
 operaciones del mouse se pueden usar en la ventana de bloques para colocar y
eliminar las condiciones de detención.

ALMACENAMIENTO
Un comando de almacenamiento define una entidad de
almacenamiento.

NOMBRE ALMACENAMIENTO A

Etiqueta / Operando
NOMBRE - Etiqueta de entidad para esta entidad. Necesario. El campo debe ser Nombre .

A  - Capacidad total de almacenamiento. Necesario. El operando debe ser PosInteger .

Ejemplo
MotorPool ALMACENAMIENTO 20

Este comando define una Entidad de almacenamiento llamada MotorPool con una capacidad
total de 20 unidades.

Acción
El comando ALMACENAMIENTO es un comando en cola . Cuando el objeto de simulación
recibe uno, lo coloca al final de la cola de comandos de la simulación.
Un comando de ALMACENAMIENTO define una Entidad de Almacenamiento en la
simulación. Cuando una transacción intenta entrar en un bloque ENTER, su demanda de
almacenamiento se compara con el almacenamiento disponible en la entidad de
almacenamiento. Si se puede conceder la demanda, se permite que la Transacción entre en el
Bloque INTRO y se reduzca la capacidad de almacenamiento disponible de la Entidad de
Almacenamiento. Si la demanda de la Transacción no se puede satisfacer, la Transacción se
detiene en la simulación en la Cadena de Retraso de la Entidad de Almacenamiento. Las
entidades de almacenamiento se explican con más detalle en el Capítulo 4.

Una entidad de almacenamiento se puede redefinir ingresando un nuevo comando de


ALMACENAMIENTO con la misma etiqueta que la anterior.

Si debe referirse a las Entidades de Almacenamiento por número, no por nombre, un Comando
EQU debe preceder a la definición de ALMACENAMIENTO. Esto es necesario si desea hacer
referencia a un rango de ALMACENES en un bloque SELECT o COUNT.

SCN relacionadas
 R Entnum  - Capacidad de almacenamiento no utilizada. El contenido de almacenamiento (o
espacios "token") disponibles para su uso al ingresar Transacciones en el Entnum
de almacenamiento .

 S Entnum  - Almacenamiento en uso. S Entnum devuelve la cantidad de contenido de


almacenamiento (o espacios "token") actualmente en uso al ingresar Transacciones en el
almacenamiento Entnum .

Entnum  SA  - Almacenamiento promedio en uso. SA Entnum devuelve el promedio


ponderado en el tiempo de la capacidad de almacenamiento (o espacios "token") en uso en
el Entnum de almacenamiento .

Entnum  SC  - Recuento de uso de almacenamiento. Número total de unidades de


almacenamiento que se han introducido en (o "token" espacios que se han utilizado
en) Entnum de almacenamiento .

 SE Entnum  - Almacenamiento vacío. SE Entnum devuelve 1 si el almacenamiento Entnum


no está en uso, 0 en caso contrario.

Entnum  SF  - Almacenamiento completo. SFentnum devuelve 1 si el


almacenamiento Entnum se utiliza completamente, 0 en caso contrario.

Entnum  SR  - Utilización del almacenamiento. La fracción del uso total representado por el
almacenamiento promedio en uso en Entnum de almacenamiento . SR Entnum se expresa en
partes por cada mil y, por lo tanto, devuelve un valor real de 0-1000, inclusive.

Entnum  SM  : almacenamiento máximo en uso en Entnum de almacenamiento . La "marca


de agua alta".

Entnum  ST  : tiempo de retención promedio por unidad en el entnum de almacenamiento .

 SV Entnum  - Almacenamiento en estado disponible. SV Entnum devuelve 1 si el


almacenamiento Entnum está en el estado disponible, 0 en caso contrario.

 
Bloques Relacionados
 ENTER: tome o espere el espacio de almacenamiento disponible.

 LEAVE: libere espacio de almacenamiento para que lo utilicen otras transacciones.

Ventanas relacionadas
 Las entidades de almacenamiento GPSS son visibles en la ventana de almacenamiento.

 Cualquier SNA se puede ver en una ventana de expresiones o de ploteo.

MESA
Un comando TABLE inicializa una tabla de distribución de
frecuencia.

NOMBRE TABLA A, B, C, D

Etiqueta / Operandos
NOMBRE - Etiqueta de entidad para esta entidad. Necesario. El campo debe ser Nombre . La
longitud de un nombre de tabla está limitada a 32 caracteres.

A  - Argumento de la tabla. Opcional. El elemento de datos cuya distribución de frecuencia


debe ser tabulada. El operando debe ser Nombre , Número , Cadena , Expresión entre
paréntesis o SNA . Ignorado por ANOVA, pero debe especificarse cuando se usa por
TABULATE Blocks.

B  - Límite superior de la primera clase de frecuencia. El argumento máximo que hace que la
primera clase de frecuencia se actualice. Necesario. El operando debe ser Number o String .

C  - Tamaño de las clases de frecuencia. La diferencia entre el límite superior y el límite inferior
de cada clase de frecuencia. Necesario. El operando debe ser Number o String .

D  - Número de clases de frecuencia. Necesario. El operando debe ser PosInteger .

Acción
El comando TABLE es un comando en  cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

Un comando TABLE se usa para definir una entidad de tabla GPSS para recopilar una
distribución de frecuencia, sus frecuencias relativas acumulativas, su media y su desviación
estándar. 
Además de la recopilación de datos de propósito general, se puede usar una entidad de tabla
para tabular los residuos en un análisis de varianza. Este uso especializado se discute a
continuación.  

Para recopilar un elemento de datos, una Transacción debe ingresar un Bloque TABULAR que
se refiere a esta TABLA. Cuando se ingresa un bloque TABULATE, se evalúa el argumento de
la tabla (Operando A en el comando TABLE). Si es menor o igual que el Operando B del
comando TABLE, se elige la primera clase de frecuencia de la tabla. Si el argumento de la tabla
no se ajusta a la primera clase de frecuencia, la clase se elige dividiendo el valor del argumento
por el Operando C del comando TABLE. El límite inferior de una clase de frecuencia se incluye
en la clase anterior. Si la tabla no es lo suficientemente grande para acomodar este valor, se
elige la última clase de frecuencia en la tabla.

Luego, el entero en la clase de frecuencia elegida y el conteo acumulado se incrementa por el


Operando B del comando TABULAR. El incremento predeterminado es 1.

Finalmente, se actualizan los acumuladores para la media y la desviación estándar de la tabla.

Una entidad de tabla se puede redefinir o reinicializar mediante un segundo comando TABLE
con la misma etiqueta que la primera.

Ejemplo
Tabla de ventas TABLA P $ Precio, 9.95,10,10

En este ejemplo simple, la distribución del Parámetro de Precio de las Transacciones se


ingresa en la tabla llamada Tabla de Ventas. El comando TABLE crea una tabla con un total de
10 clases de frecuencia.

Todos los valores de precio en o por debajo de 9.95 hacen que la primera clase de frecuencia
de la tabla se actualice. Normalmente, esto significa que el número entero para la primera clase
de frecuencia se incrementa en 1. Sin embargo, hay un factor de ponderación disponible en el
Operando B del bloque TABULATE. Esto tiene el efecto de agregar el factor de ponderación al
valor entero actual en la clase de frecuencia apropiada. El factor de ponderación se aplica
también a la media y a la desviación estándar, y tiene el mismo efecto que las múltiples
entradas en el bloque TABULATE.

Si el valor del parámetro de precio es mayor que 89.95, se actualizarán la décima y última clase
de frecuencia. Si el valor del parámetro de precio no corresponde ni a la primera ni a la última
clase de frecuencia, se utiliza para elegir entre las clases de frecuencia equidistantes de la
segunda a la novena.

Por ejemplo, si el valor del precio es 29.49, la tercera clase de frecuencia se actualizaría.

Las estadísticas recopiladas en una entidad de tabla GPSS se imprimen en el informe


estándar. Un ejemplo está en el capítulo 11.

Residuos de ANOVA
 Cuando pasa una Matriz de Resultados nombrada al Procedimiento de la Biblioteca ANOVA,
puede hacer que los residuos del Análisis se tabulen automáticamente. Todo lo que necesita
hacer es haber definido una entidad de tabla con el mismo nombre que la entidad matriz con un
sufijo de "_RESIDUALES". Por ejemplo, si pretendes usar

ANOVA (MainResult, 3, 1)

puede tener los residuos tabulados automáticamente definiendo una entidad de tabla como

MainResult_Residuals TABLE, -5, .5.20

Antes de la invocación de ANOVA. 

Al hacer esto, el Procedimiento ANOVA ignora el Operando A de la TABLA y tabula los


residuos que surgen del análisis de la Matriz de Resultados. La tabla ANOVA y las estadísticas
de celda descriptivas aparecen en la ventana del diario. Luego, puede examinar los residuos
abriendo una ventana de tabla en la tabla MainResult_Residuals.

Restricción de memoria
 Las entidades de la tabla están limitadas a la solicitud de memoria máxima en el Cuaderno
de configuración del modelo. Esto se discute en el Capítulo 2.

SCN relacionadas
 TB Entnum  - Promedio no ponderado de las entradas en la tabla Entnum .

Entnum  TC  : recuento de entradas de tabla no ponderadas en la tabla Entnum .

Entnum de  TD  : Desviación estándar de las entradas de la tabla no ponderada en la


tabla Entnum .

Bloques Relacionados
 TABULAR: registrar estadísticas para un elemento de datos en una entidad de tabla.

Ventanas relacionadas
 Una tabla se puede ver en la ventana de tabla en línea.

 Cualquier SNA se puede ver en una ventana de expresiones o de ploteo.

VARIABLE
Un comando VARIABLE define una entidad variable aritmética.

NOMBRE VARIABLE X
Etiqueta / Operando
NOMBRE - Etiqueta de entidad para esta entidad. Necesario. El campo debe ser Nombre .

X  - Expresión. Necesario. Las expresiones se discuten en la Sección 3.4.

Ejemplo
Var1 VARIABLE 5 # LOG (Q $ WaitingLine)

Este comando define una entidad variable que debe evaluarse cuando se encuentra un V $
Var1. Cuando se evalúa este SNA, la expresión que define la entidad variable denominada
Var1 se evalúa y se devuelve como resultado.

Acción
El comando VARIABLE es un comando en cola . Cuando el objeto de simulación recibe uno, lo
coloca al final de la cola de comandos de la simulación.

Cuando se ejecuta un comando VARIABLE, el objeto de simulación crea o redefine una entidad
variable GPSS. La Entidad Variable así creada se evalúa cuando el Objeto de Simulación
encuentra un Atributo Numérico del Sistema en la clase V, refiriéndose a esta entidad en
particular.

La expresión en un comando VARIABLE se evalúa de acuerdo con las reglas del Capítulo 3 y
puede incluir llamadas a los procedimientos PLUS o a los procedimientos de la biblioteca. La
evaluación se realiza de forma diferente en el modo de compatibilidad GPSS / PC.

Las expresiones deben estar bien formadas de acuerdo con las reglas del álgebra
elemental. Una definición formal se puede encontrar en el Apéndice. Puede usar cualquiera de
los operadores aritméticos y lógicos enumerados en la Sección 3.4. Si los SNA se utilizan en el
campo Expresión, se evalúan con respecto a la Transacción activa. Un valor con nombre al que
no se le ha asignado explícitamente un valor no se puede utilizar como un elemento en una
expresión. Para hacerlo, debe asignarle un valor antes de evaluar la Expresión. Las
asignaciones a las variables de usuario se realizan mediante los comandos EQU o en los
procedimientos PLUS.

Una vez que se crea una entidad variable en una simulación, nunca se destruye. Sin embargo,
puede ser redefinido más tarde por un comando interactivo VARIABLE.

Si la simulación no se ejecuta en el modo de compatibilidad GPSS / PC, los comandos


FVARIABLE y VARIABLE se tratan de la misma manera.

Compatibilidad GPSS / PC
 Todos los SNA se truncan en el modo de compatibilidad de GPSS / PC.

 En la evaluación de la entidad variable en el modo de compatibilidad GPSS / PC, los


resultados intermedios se truncan.

SCN relacionado
 V Entnum  : devuelve el resultado de la evaluación de un Entnum de entidad variable
aritmética .

Ventanas relacionadas
 Cualquier SNA se puede ver en una ventana de expresiones o de ploteo.

 [Tabla de contenido] 

También podría gustarte