Sunteți pe pagina 1din 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

Diseos de Experimento con GPSS


Introduccin
GPSS soporta tres tipos distintos de diseos de experimentos: Los experimentos de Exploracin (Screening) Los experimentos de Optimizacin Los experimentos de Usuario

Los experimentos de Exploracin


Los resultados de un diseo de exploracin muestran los factores que no son significativos y les da menor prioridad en los estudios adicionales. Adems, la sensibilidad de los resultados de un experimento de uno o ms de los factores explorados da una alerta sobre las hiptesis hechas que deben ser verificadas cuidadosamente. GPSS tiene un generador de experimentos automtico que puede crear un diseo de experimentos para el usuario. Para hacerlo hay que completar un dilogo que se accede desde el men Edit de la ventana Principal. Esto hace que se inserte un cdigo PLUS en el objeto modelo. Opcionalmente este proceso cargar una tecla de funciones con el comando apropiado CONDUCT para la simulacin. Despus de esto, se crea el objeto simulacin (Ctrl+Alt+S), se comienza el experimento (F11), y se analizan los resultados.

Los experimentos de Optimizacin


La optimizacin se hace a travs de una superficie de respuesta, que es una ecuacin que predice los resultados de la simulacin. Es frecuentemente deseable determinar una superficie de respuesta para resumir resultados, dar una metodologa predictiva, cuantificar la sensibilidad de los resultados a las entradas numricas y otras hiptesis y determinar los niveles ptimos del tratamiento. Se puede generar una superficie de respuesta automticamente basada en la entrada desde el dilogo del usuario. El experimento resultante intenta usar el mtodo de etapas ascendentes y un mtodo de exploracin local para encontrar un valor ptimo. Si es favorable, se informa la descripcin matemtica del mejor ajuste de la superficie de respuesta y las condiciones ptimas predichas en el Journal Window del objeto simulacin. Como con los experimentos de exploracin, la generacin automtica de un experimento de optimizacin comienza en el men Edit del GPSS World. Cuando se selecciona un objeto modelo, se puede cliquear en Edit / Insert Experiment / Optimizing... para abrir el dilogo. Cuando se lo completa y se edita el procedimiento de corrida, el GPSS World
Pgina 1 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

inserta el Experimento PLUS terminado en su modelo y opcionalmente carga el comando CONDUCT apropiado en la tecla funcin F12. Despus, se debe comenzar el experimento, creando el objeto Simulacin (Ctrl+Alt+S) y presionando F12.

Los experimentos de Usuario


Finalmente encontramos los experimentos que son realizados por el usuario, stos son ms flexibles pero deben ser creados y corridos de manera manual por el mismo. El usuario debe dar los datos para el procedimiento de la biblioteca ANOVA del GPSS, que analizar los experimentos hasta 6 factores y incluyendo interacciones de 2 a 3 factores. El principal requisito del GPSS ANOVA es pasarle el nombre de la matriz de GPSS donde se guardaron los resultados del experimento.

Pgina 2 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

Creando un experimento de Exploracin


Los experimentos de Screening como ya se dijo pueden ser creados automticamente por GPSS. Como ejemplo de aplicacin podemos tomar el Ejercicio 7 de la Gua Practica 5, Parte 2. Para ello debemos abrir primero el modelo. Luego de abrir el modelo podemos insertar un experimento de exploracin:

Y completar la informacin sobre el nombre del experimento a generar, el nombre del procedimiento que va a invocar las diferentes ejecuciones, el nombre y los posibles valores de las variables a utilizar como factores, el tipo de diseo, ya sea completo(2 k), Half(2k-1), Quarter(2k-2), etc; y finalmente la expresin que definir la variable de salida del experimento.

Pgina 3 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

Esto agregar al cdigo original, toda la codificacin en PLUS para definir y correr el experimento, y mostrar sus resultados. Luego creamos la simulacin:

Pgina 4 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

Y ejecutamos el experimento con F11 utilizando el comando CONDUCT:

Pgina 5 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

Finalmente podemos observar el resultado en el reporte de GPSS:

Pgina 6 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

Creando un experimento de Usuario


Introduccin
EL objetivo inmediato para un diseo de experimentos de usuario en GPSS es proveer los datos para la Matriz de Resultados de la cual el procedimiento ANOVA tomar los datos. Para estoy utilizaremos el lenguaje PLUS que provee el programa para poder realizar las distintas corridas con las variaciones de los niveles. Se debera comenzar seleccionando los factores que utilizaremos para el estudio y la cantidad de niveles que asignaremos a cada uno. Cada uno de ellos lo asignaremos a una dimensin de la Matriz de Resultados. Normalmente se utiliza la ltima dimensin para las repeticiones.

El lenguaje PLUS
PLUS es el lenguaje que nos permitir la definicin del experimento. Naci como una fuente para realizar subrutinas programables para ser accedidas durante las simulaciones. Con el tiempo evolucion hasta convertirse en un lenguaje de control que puede dirigir los detalles de las corridas de los experimentos y reportar los resultados. Un experimento es un Procedimiento PLUS en donde la palabra clave PROCEDURE es reemplazada por la palabra EXPERIMENT. Los experimentos pueden hacer todo lo que un procedimiento puede hacer, y bastante ms. Los comandos ms importantes que tenemos que conocer para poder realizar experimentos de usuario con PLUS son: EXPERIMENT Descripcin: el procedimiento PLUS que nos permite definir un experimento de usuario. Sintaxis: EXPERIMENT NombreExperimento (Parametro1,Parametro2,) BEGIN END; NombreExperimento: Nombre del experimento que vamos a definir. Parametro1, Parametro2,: son los valores que vamos a pasar al experimento por medio del comando CONDUCT.

Pgina 7 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

PROCEDURE Descripcin: nos permite definir un procedimiento PLUS (funcin). Sintaxis: PROCEDURE NombreProcedimiento (Parametro1,Parametro2,) BEGIN END; NombreProcedimiento: Nombre del procedimiento que vamos a definir. Parametro1,Parametro2,: son los valores que vamos a pasar al procedimiento cuando lo llamemos. DOCOMMAND Descripcin: traduce el argumento entre parntesis y lo enva a la simulacin para ser ejecutado. Solo puede ser utilizado en procedimientos o experimentos. Sintaxis: DOCOMMAND (NombreComando)

NombreComando: Lo que vamos a ejecutar en la simulacin. WHILE DO Descripcin: permite realizar LOOPS dentro del experimento. Sintaxis: WHILE (Condicion) DO BEGIN END; Condicion: condicin de corte del loop While.

La Matriz de Resultados
En GPSS una entidad matriz puede tener hasta seis dimensiones, si bien no hay limitaciones para el tamao de cada dimensin ms all de la cantidad de memoria disponible en la PC. Hay que tener en cuenta que al tener seis dimensiones nos vemos limitados a esa misma cantidad de factores (Cinco factores en caso de utilizar repeticiones). La matriz puede verse tanto en la pantalla de Matriz como en el reporte estndar, pero hay que tener en cuenta que solo 2 dimensiones pueden ser vistas al mismo tiempo en el programa.

Pgina 8 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

Ahora bien, para un experimento la fuente primaria de datos de una simulacin es guardada, como se dijo antes, en la Matriz de Resultados. Para que el procedimiento ANOVA pueda analizar los resultados de un experimento es necesario completar esta matriz correctamente. Para inicializar la matriz de resultados utilizamos el comando INITIAL de la siguiente manera: INITAL NombreMatriz,UNSPECIFIED Este comando causa que todos los elementos de la matriz sean establecidos en el estado UNESPECIFIED. Normalmente estableceremos este comando fuera del experimento de GPSS. Establecer de esta manera la matriz tambin nos permite que el experimento pueda ser guardado y reseteado sin repetir corridas que ya han sido hechas.

Estructura de un Experimento de Usuario


El experimento lo deberemos estructurar de manera que al inicio definamos la matriz de resultados y la inicialicemos. Luego de hecho esto lo que debemos hacer es definir el Experimento en s, el cual normalmente estructuraremos en bloques anidados, uno por cada factor, dentro de los cuales iremos incrementando los niveles de los factores hasta que en el mas interior de los WHILE guardaremos el valor que deseamos en la matriz resultado. Podremos definir adems funciones adicionales que nos permitan mayor claridad a la hora de estructurar el experimento. Por ltimo insertaremos la llamada al procedimiento ANOVA, pasndole como argumento la matriz, para que de esta manera en el reporte salga el resultado.

El procedimiento de librera ANOVA


El procedimiento ANOVA de GPSS puede manejar anlisis de varianza considerando hasta seis factores y las combinaciones de hasta 3 de ellos. ANOVA Descripcin: el procedimiento ANOVA es la herramienta que nos brinda GPSS para realizar el anlisis de varianza. Sintaxis: ANOVA (MatrizResultado,Repeticiones,Interacciones)

MatrizResultado: Nombre de la matriz en donde se encuentran los datos para realizar el ANOVA (requerido).

Pgina 9 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

Repeticiones: la dimensin de la matriz en donde se encuentran las repeticiones de las corridas (opcional). En caso de no utilizar repeticiones esta columna se deja en 0. Interacciones: este argumento controla la cantidad de interacciones entre factores a ser incluida en la salida del ANOVA. El valor 1 en caso de no incluir interacciones. Y los valores 2 y 3 para interacciones de 2 y 3 factores. GPSS solo soporta hasta interacciones entre 3 factores. La salida del procedimiento es la siguiente:

En la misma podemos observar todos los datos pertinentes para obtener la significancia de los factores.

Ejecutar el Experimentos
Para poder ejecutar los experimentos que hemos realizado primero deberemos armar la simulacin, lo que permite que GPSS tome cuenta de los experimentos que hemos realizado. Para ello vamos a el men Command / Create Simulation o simplemente utilizamos el atajo Ctrl+Alt+S. GPSS nos mostrar por la salida que se han registrado los procedimientos que definimos.
Pgina 10 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

Luego de esto deberemos ir al men Command nuevamente pero esta vez seleccionaremos Conduct, y llamaremos al procedimiento del experimento con los parmetros que seteamos, en el caso del ejemplo:

Y luego se ejecutar el experimento y podremos analizar la salida del ANOVA.

Ejemplo de un Experimento con dos Factores


A continuacin se incluye un experimento sencillo de 2 factores, el cual puede ser corrido directamente en GPSS.
;======================================================================== ; Matriz Inicial ;======================================================================== MatrizRdo MATRIX ,3,3,3 INITIAL MatrizRdo,UNSPECIFIED MatrizRdo_Residuals TABLE ,-5,1,10 ;======================================================================== ; Experimento ;======================================================================== EXPERIMENT Experimento(MinSala,MaxSala,MinEmp,MaxEmp) BEGIN DOCOMMAND("SHOW """" "); DOCOMMAND("SHOW (""**** Test de ANOVA con 2 Factores****"")"); DOCOMMAND("SHOW """" "); NF1 = 1; CapaEspera = MinSala;

Pgina 11 de 12

SIMULACIN Ingeniera Sistemas de Informacin

Unidad 7

WHILE ((CapaEspera <= MaxSala)) DO BEGIN NF2 = 1; CantEmpleados = MinEmp; WHILE ((CantEmpleados <= MaxEmp)) DO BEGIN Repeticion = 1; WHILE (Repeticion <= 3) DO BEGIN HacerLaCorrida(CapaEspera,CantEmpleados,Repeticion); MatrizRdo[NF1,NF2,Repeticion] = QT$COLA_TOTAL; Repeticion = Repeticion + 1; END; NF2 = NF2 + 1; CantEmpleados = CantEmpleados + 1; END; NF1 = NF1 + 1; CapaEspera = CapaEspera + 1; END; DOCOMMAND("SHOW """" "); ANOVA(MatrizRdo,3,2); DOCOMMAND("SHOW """" "); END; ;======================================================================== ; Funcin Auxiliar ;======================================================================== PROCEDURE HacerLaCorrida(CapEspera,CantEmpleados,NumRepeticion) BEGIN TEMPORARY SemillaAleatoria1; SemillaAleatoria1 = 11 # NumRepeticion; DOCOMMAND("CLEAR OFF"); DOCOMMAND(Catenate("RMULT ",SemillaAleatoria1)); DOCOMMAND(Catenate("ESPERA STORAGE ",CapEspera)); DOCOMMAND(Catenate("EMPLEADOS STORAGE ",CantEmpleados)); DOCOMMAND("START 1,NP"); END; ;======================================================================== ; Cdigo GPSS ;======================================================================== GENERATE 120,100 QUEUE COLA_TOTAL QUEUE COLA_CALLE ENTER ESPERA DEPART COLA_CALLE ENTER EMPLEADOS LEAVE ESPERA DEPART COLA_TOTAL ADVANCE 240,80 LEAVE EMPLEADOS TERMINATE GENERATE 18000 TERMINATE 1
Pgina 12 de 12

S-ar putea să vă placă și