La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

GPSS/H Una introducción

Presentaciones similares


Presentación del tema: "GPSS/H Una introducción"— Transcripción de la presentación:

1 GPSS/H Una introducción

2 GPSS – H Bloques Transacciones (Xact)
GENERAL PURPOSE SIMULATING SYSTEM CREADOR: G. GORDON (60´S) Bloque 1 Operación que realiza una transacción Bloques Bloque 2 Transacciones (Xact) Todo aquello que fluye a través de un sistema (entidades).

3 Programación en GPSS Establecer un modelo del sistema
Mapear los elementos (entidades) del sistema a componentes del GPSS Unidad básica es la Transacción (entidad activa del sistema) Entidades básicas: De equipo (servidores, switches, cadenas) Computacionales (variables y funciones del GPSS)

4 Programación en GPSS Estadísticas (colas, tablas) Almacenamiento de datos (Savevalues) Establecer la lógica del modelo de acuerdo a las reglas del GPSS Instrucciones de control Depuración

5 Programación en GPSS Programación por Bloques Cadena de eventos
Lugar donde se envían transacciones que durante su recorrido a través de los bloques hay una condición que impide su flujo libre.

6 Programación en GPSS Cadena de eventos, continuación
Bloqueo de Retraso Transacción entra en t1 saldrá en t2. Generación de clientes arribando al sistema Generación de servicio Cadena de eventos futuros

7 Programación en GPSS Cadena de eventos, continuación
b) Bloqueo Condicional XACT intenta entrar a un bloque pero hay impedimento y espera ser liberado. Capturar un servidor Cadena de eventos actuales

8 OPERACIÓN DE BLOQUES Elemento básico de producción.
Llamada al elemento básico Salida del elemento básico Inicio de la actividad retraso actividad Inicio del retraso Fin del retraso Fin de la actividad 1

9 LLEGADA AL ELEMENTO BÁSICO: Una transacción hace entrada
OPERACIÓN DE BLOQUES LLEGADA AL ELEMENTO BÁSICO: Una transacción hace entrada a) No provenga de otro bloque GENERATE b) De otro bloque i 2

10 OPERACIÓN DE BLOQUES INICIO DEL RETRASO:
Actividad no planeada no se puede iniciar la actividad buscada. Medición del retraso se hace con QUEUE. INICIO DE LA ACTIVIDAD: XACT pasa de espera a actividad, el recurso disponible. SEIZE o ENTER

11 OPERACIÓN DE BLOQUES FIN DEL RETRASO:
Ocurre al mismo tiempo que la actividad anterior. Fin a la espera, dar por terminado el retraso o espera: DEPART ACTIVIDAD: Acción primordial XACT. Entra al elemento básico de producción. Modificar tiempos de proceso. ADVANCE

12 OPERACIÓN DE BLOQUES FIN DE LA ACTIVIDAD:
Este evento ocurre cuando transcurre tiempo de proceso o transporte, libera al recurso. RELEASE y LEAVE. SALIDA DEL ELEMENTO: Salir del elemento básico de producción a) Abandono del sistema: TERMINATE b) 2 bloques interconectados, la salida se transforma en llegada al siguiente bloque. 5

13 Elementos del Lenguaje
Transacciones Recursos Bloques Instrucciones de control Directivas del compilador Atributos Numéricos Estándar

14 Estructura del Lenguaje
Definición de variables FUNCTION Función STORAGE No. de máquinas MATRIX -- EQU Igualdad o asimilación TABLE Histograma.

15 BLOQUES PRINCIPALES INICIO PROCESO Y CAPTURA MAQUINA SEIZE
FIN DE PROCESO Y LIBERACION MAQUINA RELEASE ENTRADA / SALIDA A UN ALMACEN QUEUE/DEPART ENTRADA DE TRANSACCIONES AL SISTEMA GENERATE SALIDA DE XACT DEL SISTEMA TERMINATE CONTROL DE FLUJO DE XACT TRANSFER TEST LOOP DIVERSOS PROCESOS ADVANCE ASSEMBLE OPERACIONES ARITMETICAS SAVEVALUE ESTADISTICAS TABULATE

16 FORMATOS EN GPPS/H La columna 1 se deja para meter un asterisco (*) para comentarios Etiquetas se emplean de la columna 2 a la 9. Las operaciones separadas de las etiquetas por un espacio, (columna 10) Operaciones se meten de la columna 11 a la 20. Columna 21 en blanco Operandos de operadores a partir de la columna 22. Los operadores van separados por comas, sin espacios

17 FORMATOS EN GPPS/H Comentarios a partir del último operando del bloque, separados por un espacio Para continuar un texto usar _ como último elemento del renglón.

18 Formatos en GPSS/H 1 Etiqueta (2-9) 10 Operación (11-20) Operandos
(22-72) GENERATE 12.5,5.8,3 BANDA ADVANCE 10 comentario * comentario

19 EJEMPLOS DE INSTRUCCIONES
GENERATE A, B, C, D, E GENERATE 6, ok GENERATE 6, ¡Incorrecto! GENERATE 6, 4, 10 GENERATE 6, 4, , 100 GENERATE , , , 500 GENERATE 10, 3, , , 3 6

20 Ejemplo Torno Un torno manual procesa 1 pieza en 5 ± 2 minutos con distribución uniforme. El tiempo entre llegadas tiene una distribución uniforme con tiempo entre 4 y 10 minutos. Realice un modelo en GPSS que simule el torneado de 500 piezas. SALE PROCESO TORNO ESPERA EN PROCESO

21 Modelo del Torno en GPSS
SIMULATE GENERATE 7,3 QUEUE COLA SEIZE TORNO DEPART COLA ADVANCE 5,2 RELEASE TORNO TERMINATE 1 START 500 END Genera piezas Inicia cola Solicita atención Empieza torneado y se acaba la cola Torneado de la pieza Fin del torneado

22 Extensión Ejemplo Torno
Modificar ejemplo con una rectificación después del torno con tiempo de operación de 6 ± 1 minutos. T R MP SALIDA COLA R COLA T

23 Ejemplo Banda Las cajas de un producto se ponen en una banda transportadora cada 25 ± 20 minutos y pasan 100 minutos exactos en la banda hasta que la abandonan. Estime el número mayor de cajas que exista en la banda en cualquier instante SIMULATE GENERATE 25, 20 QUEUE Banda ADVANCE DEPART Banda TERMINATE 1 START END

24 Movimiento no secuencial
BLOQUE TRANSFER TRANSFER (B) TRANSFER , B B : ETIQUETA Banda transportadora recibe 2 tipos de material A y B. Los objetos A llegan 15, 45, 75, … cada 30 seg; los objetos B llegan 30, 60, 90 … Ambos objetos se ponen en la banda y tardan 250 seg para llegar hasta el punto final.

25 Código en GPSS SIMULATE GENERATE 30, , 15 TRANSFER , BANDA GENERATE 30
BANDA ADVANCE 250 TERMINATE 1 START END

26 Ejemplo Almacén Una línea de ensamble consiste de una tornamesa que reparte trabajos a tres estaciones. Una pieza puede ser maquinada en cualquier estación. Las piezas se ponen en la tornamesa y les toma 120 segundos en llegar a la primera estación. Si la estación está desocupada, acepta el trabajo; en caso contrario, la pieza se manda a la segunda estación y llega después de 120 segundos. De nuevo, la pieza es aceptada si la estación está desocupada; de otra manera, se manda a la tercera estación y llega después de 120 segundos.

27 Ejemplo Almacén Si la tercera estación está ocupada, entonces la pieza se manda a la primera estación para dar otra vuelta. La tornamesa solo puede aceptar 6 piezas en cualquier momemento; si ésta está llena, las piezas se rechazan. El tiempo de maquinado es de 40 8 segundos, y las piezas llegan en forma constante cada 50 segundos.

28 Codificación STORAGE S$MESA,6 SIMULATE GENERATE 50 *Segunda estación
TRANSFER BOTH,,RECH ENTER MESA EST1 ADVANCE 120 TRANSFER BOTH,,EST2 SEIZE MAQ1 LEAVE MESA ADVANCE 40,35 RELEASE MAQ1 TERMINATE 1 *Segunda estación EST2 ADVANCE 120 TRANSFER BOTH,,EST3 SEIZE MAQ2 LEAVE MESA ADVANCE 40,35 RELEASE MAQ2 TERMINATE 1

29 Codificación *Tercera estación EST3 ADVANCE 120 *Rechazo
TRANSFER BOTH,,EST1 SEIZE MAQ3 LEAVE MESA ADVANCE 40,35 RELEASE MAQ3 TERMINATE 1 *Rechazo RECH TERMINATE * START 1000 END

30 Nota sobre TRANSACCIONES
Toda XACT puede tener los siguientes atributos: Prioridad Parámetros. Estos pueden ser de distinto tipo: entero y real. Al momento de creación en un GENERATE, se asignan estos parámetros.

31 Nota sobre TRANSACCIONES
Valores de default Prioridad = 0 (operando E en el GENERATE) 12 parámetros de tipo entero de media palabra, designados como 1PH, 2PH, 3PH, ...,12PH Asignados en los operandos F-I del GENERATE.

32 Nota sobre TRANSACCIONES
Parámetros posibles Tipo Característica Rango PF Entero, palabra completa 231 -1 PH Entero, media palabra 215 -1 PB Entero, byte 27 -1 PL Real, punto flotante 224 -1

33 Nota sobre TRANSACCIONES
Ejemplos a) GENERATE 245,20 XACT con prioridad 0 y 12 parámetros tipo PH b) GENERATE 245,20,,,5 XACT con prioridad 5 y 12 parámetros tipo PH c) GENERATE 245,20,,,,2PB,5PF,3PH,10PL XACT con prioridad 0 y 2 parámetros tipo PB, 5 tipo PF, 3 tipo PH Y 10 tipo PL

34 Nota sobre TRANSACCIONES
Hay un bloque llamado PRIORITY que puede cambiar la prioridad de una XACT ya creada. Formato: PRIORITY A,BUFFER A prioridad asignada a la XACT BUFFER opción de buffer, puede ser nulo o BUFFER; modifica la secuencia de ejecución (ver el bloque BUFFER)

35 Bloque SAVEVALUE Guardar en memoria un valor de una variable
Usados para guardar valores transitorios Formato SAVEVALUE A,B,C A puede ser una variable que se conoce como savevalue, designado por un número o variable B valor que modifica a A C tipo de variable, indicada por XH,XF,XB o XL Inicializado con INITIAL, posible

36 Bloque SAVEVALUE SAVEVALUE 6,10,XH
El savevalue entero de mitad palabra no. 6 toma el valor 10 SAVEVALUE 2+,10,XF El savevalue entero de palabra completa no. 2 toma el valor actual y se le suma 10 SAVEVALUE TOTAL-,5,XH El savevalue entero de media palabra TOTAL toma el valor actual y se le resta 5

37 Bloque de control INITIAL
Bloque usado para iniciar una variable savevalue, switch lógico o matrix savevalue Similar a definir condiciones iniciales de una o varias variables Se localiza este bloque antes de iniciar el modelo, antes de SIMULATE Necesario hacer referencia al tipo de palabra que representa a variable a iniciarse

38 Bloque de control INITIAL
Formato INITIAL A,B[/C,D...] A switch lógico (Lk$nombre o Lki), savevalue (Xk$nombre o Xki) o matrix savevalue (MX$nombre o Mki) B valor que toma la variable / indica que hay varias variables a inicializarse

39 Bloque de control INITIAL
INITIAL X$CUENTA,100/XH1-XH3,8 Inicializa el savevalue CUENTA a 100 y los savevalues de media palabra 1,2 y 3 a 8 INITIAL XL3,3.1416 Inicializa el savevalue de punto flotante a INITIAL MX$A(1,1),100 Incializa el elemento a(1,1) a 100 INITIAL ML5(1-3,1-3),-1.25 Inicializa la matriz número 5 de punto flotante a – 1.25

40 Ejemplo de supermercado
Una caja de supermercado es el sistema. Se van a simular 1000 clientes. Tiempo entre arribos es exponencial con media 4.5 minutos y el tiempo de servicio está distribuído normalmente con una media de 3.2 minutos y una desviación de .6 minutos. Se desea estimar el tiempo medio de respuesta y la proporción media o promedio de los clientes que les lleva 4 o más minutos en el sistema ( w >= 4)

41 Ejemplo de supermercado
Bloques o funciones nuevas: Variables aleatorias diferentes a la uniforme Comparación de valores Variables que llevan la cuenta de cierta acción

42 Código en GPSS SIMULATE GENERATE RVEXP(1, 4.5) QUEUE COLA SEIZE CAJA
DEPART COLA ADVANCE RVNORM(1,3.2,0.6 ) RELEASE CAJA TEST GE M1,4,TER SAVEVALUE 1+,1,XF TER TERMINATE 1 START 1000 END

43 Ejemplo Taller de Maquinado
Un taller de remachado cuenta con tres remachadoras, las cuales emplean tienen las mismas características y les toma hacer su operación con un tiempo dsitribuido normalmente con una media de 60 segundos y una desviación estándar de 20 segundos. A este taller, llegan piezas a ser remachadas de 5 tipos diferentes, con un tiempo entre arribos distribuido exponencialmente con una media de 25 segundos.

44 Ejemplo Taller de Maquinado
Los tipos de piezas tienen la siguiente distribución Tipo 1 2 3 4 5 Proba-bilidad 0.1 0.25 0.2 0.3 0.15 Se desea contar cuántas piezas de cada tipo se han procesado, en una jornada de trabajo de 8 horas.

45 Ejemplo Taller de Maquinado
Nuevos conceptos: Piezas tienen un tipo diferente (atributos diferentes en cada XACT) Contar piezas procesadas de acuerdo a su tipo

46 Ejemplo Taller de Maquinado
Uso de bloque FUNCTION para definir el tipo de pieza Uso de bloque ASSIGN para modificar el valor de un parámetro de una XACT Uso de bloques SAVEVALUES para contar las piezas de cada tipo

47 Ejemplo Taller de Maquinado
STORAGE S$REMACH,3 SIMULATE TIPO FUNCTION RN1,D5 tipo de pieza 0.1,1/0.35,2/0.55,3/0.85,4/1.0,5 PARTES FUNCTION PH1,L5 separacion de piezas 1,TIPO1/2,TIPO2/3,TIPO3/4,TIPO4/5,TIPO5 GENERATE RVEXP(1,25) ASSIGN 1,FN$TIPO,PH asigna tipo QUEUE COLA ENTER REMACH DEPART COLA

48 Ejemplo Taller de Maquinado
ADVANCE RVNORM(1,60,20) LEAVE REMACH TRANSFER FN,PARTES PARTE1 SAVEVALUE 1+,1,XH TERMINATE PARTE2 SAVEVALUE 2+,1,XH PARTE3 SAVEVALUE 3+,1,XH PARTE4 SAVEVALUE 4+,1,XH

49 Ejemplo Taller de Maquinado
PARTE5 SAVEVALUE 5+,1,XH TERMINATE GENERATE TERMINATE 1 START 1 END

50 RESET Se borran las estadísticas recolectadas hasta ese momento y se iniciará el modelo de nuevo en condiciones de estado estacionario La forma de usar esta instrucción es como sigue: START 50, NP no imprime estadisticas RESET START 1000 END

51 RESET Otros efectos la instrucción RESET son:
Los números aleatorios no se reinicializan. El reloj relativo se pone en cero. No se cambian valores de savevalues ni el contenido de matrices. No afecta a los interruptores lógicos.

52 RESET Es posible dejar ciertas estadísticas intactas al momento de ejecutarse el RESET, las cuales pueden ser: Cadenas de atributos, CHj Almacenes, Sj Instalaciones, Fj Colas, Qj Tablas, TBj    RESET Q2, S3, F1 – F3

53 CLEAR Hacer varias corridas de un modelo, pero variando una característica en particular Borra todas las estadísticas sin excepción, remueve todas las transacciones del modelo, pone los relojes relativo en cero, pero no inicializa los generadores de números aleatorios

54 CLEAR START 100,NP RESET START 1000
CLEAR se prepara una segunda corrida INITIAL XH$REP, se inicializa la variable RE al valor de 30.8 START 100,NP START 1000


Descargar ppt "GPSS/H Una introducción"

Presentaciones similares


Anuncios Google