La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 GPSS/H Una introducción. 2 GENERAL PURPOSE SIMULATING SYSTEM CREADOR: G. GORDON (60´S) GPSS – H Bloque 1 Bloque 2 Bloques Transacciones (Xact) Operación.

Presentaciones similares


Presentación del tema: "1 GPSS/H Una introducción. 2 GENERAL PURPOSE SIMULATING SYSTEM CREADOR: G. GORDON (60´S) GPSS – H Bloque 1 Bloque 2 Bloques Transacciones (Xact) Operación."— Transcripción de la presentación:

1 1 GPSS/H Una introducción

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

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

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

5 5 GPSS 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 6 GPSS Programación en GPSS Cadena de eventos, continuación a)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 7 GPSS 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 8 Elemento básico de producción. Llamada al elemento básico Inicio del retraso Inicio de la actividad Salida del elemento básico Fin del retraso Fin de la actividad retrasoactividad OPERACIÓN DE BLOQUES

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

10 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 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 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.

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

14 14 Estructura del Lenguaje Definición de variables FUNCTIONFunción STORAGENo. de máquinas MATRIX-- EQUIgualdad o asimilación TABLEHistograma.

15 15 INICIO PROCESO Y CAPTURA MAQUINASEIZE FIN DE PROCESO Y LIBERACION MAQUINARELEASE ENTRADA / SALIDA A UN ALMACENQUEUE/DEPART ENTRADA DE TRANSACCIONES AL SISTEMAGENERATE SALIDA DE XACT DEL SISTEMATERMINATE. CONTROL DE FLUJO DE XACTTRANSFER TEST LOOP.. DIVERSOS PROCESOSADVANCE ASSEMBLE. OPERACIONES ARITMETICASSAVEVALUE ESTADISTICAS TABULATE BLOQUES PRINCIPALES

16 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 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 18 Formatos en GPSS/H 1 Etiqueta (2-9)10 Operación (11-20) Operandos (22-72) GENERATE12.5,5.8,3 BANDAADVANCE10 comentario *comentario

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

20 20 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 ESPERA EN PROCESO PROCESO TORNO Ejemplo Torno

21 21 Modelo del Torno en GPSS Genera piezas Inicia cola Solicita atención Empieza torneado y se acaba la cola Torneado de la pieza Fin del torneado SIMULATE GENERATE 7,3 QUEUECOLA SEIZETORNO DEPARTCOLA ADVANCE5,2 RELEASETORNO TERMINATE1 START500 END

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

23 23 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 100 DEPART Banda TERMINATE 1 START 500 END Ejemplo Banda

24 24 BLOQUE TRANSFER (B) TRANSFER 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. Movimiento no secuencial

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

26 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 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 28 Codificación STORAGE S$MESA,6 SIMULATE GENERATE50 TRANSFER BOTH,,RECH ENTER MESA EST1ADVANCE 120 TRANSFERBOTH,,EST2 SEIZEMAQ1 LEAVEMESA ADVANCE40,35 RELEASEMAQ1 TERMINATE1 *Segunda estación EST2ADVANCE 120 TRANSFERBOTH,,EST3 SEIZEMAQ2 LEAVEMESA ADVANCE40,35 RELEASEMAQ2 TERMINATE1

29 29 Codificación *Tercera estación EST3ADVANCE 120 TRANSFERBOTH,,EST1 SEIZEMAQ3 LEAVEMESA ADVANCE40,35 RELEASEMAQ3 TERMINATE1 *Rechazo RECHTERMINATE * START1000 END

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

31 31 Nota sobre TRANSACCIONES u 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 32 Nota sobre TRANSACCIONES u Parámetros posibles TipoCaracterísticaRango PFEntero, palabra completa PHEntero, media palabra PBEntero, byte PLReal, punto flotante

33 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 34 Nota sobre TRANSACCIONES u Hay un bloque llamado PRIORITY que puede cambiar la prioridad de una XACT ya creada. u Formato: PRIORITY A,BUFFER Aprioridad asignada a la XACT BUFFERopción de buffer, puede ser nulo o BUFFER; modifica la secuencia de ejecución (ver el bloque BUFFER)

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

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

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

39 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, 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 40 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) Ejemplo de supermercado

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

42 42 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 Código en GPSS

43 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 44 Ejemplo Taller de Maquinado Los tipos de piezas tienen la siguiente distribución Tipo12345 Proba- bilidad Se desea contar cuántas piezas de cada tipo se han procesado, en una jornada de trabajo de 8 horas.

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

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

47 47 Ejemplo Taller de Maquinado STORAGE S$REMACH,3 SIMULATE TIPOFUNCTION RN1,D5 tipo de pieza 0.1,1/0.35,2/0.55,3/0.85,4/1.0,5 PARTESFUNCTIONPH1,L5 separacion de piezas 1,TIPO1/2,TIPO2/3,TIPO3/4,TIPO4/5,TIPO5 GENERATE RVEXP(1,25) ASSIGN1,FN$TIPO,PH asigna tipo QUEUECOLA ENTERREMACH DEPARTCOLA

48 48 Ejemplo Taller de Maquinado ADVANCE RVNORM(1,60,20) LEAVEREMACH TRANSFERFN,PARTES PARTE1SAVEVALUE 1+,1,XH TERMINATE PARTE2SAVEVALUE 2+,1,XH TERMINATE PARTE3SAVEVALUE 3+,1,XH TERMINATE PARTE4SAVEVALUE 4+,1,XH TERMINATE

49 49 Ejemplo Taller de Maquinado PARTE5SAVEVALUE 5+,1,XH TERMINATE GENERATE TERMINATE1 START1 END

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

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

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

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

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


Descargar ppt "1 GPSS/H Una introducción. 2 GENERAL PURPOSE SIMULATING SYSTEM CREADOR: G. GORDON (60´S) GPSS – H Bloque 1 Bloque 2 Bloques Transacciones (Xact) Operación."

Presentaciones similares


Anuncios Google