e de simulaci´on - iol.etsii.upm.es · pdf filecomo en cualquier modelo (y en particular...

208
E LEMENTOS DE SIMULACI ´ ON Un enfoque pr´ actico con Witness Marzo 2012 Universidad Polit´ ecnica de Madrid Alvaro Garc´ ıa S´ anchez Miguel Ortega Mier David Izquierdo Delgado

Upload: vanthuan

Post on 06-Feb-2018

254 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

ELEMENTOSDE

SIMULACIONUn enfoque practico

con Witness

Marzo 2012

Universidad Politecnica de Madrid

Alvaro Garcıa SanchezMiguel Ortega Mier

David Izquierdo Delgado

Page 2: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Indice general

Page 3: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Indice general 3

PROLOGOA quien va dirigido el libroComo utilizar el libroNo es un tratado exhaustivo de como utilizar WitnessNo es un libro de teorıa de simulacionDe que tipos de sistema se ocupa el libroExplicar el formato del texto: cuadros grises, cuadros blancos, ¿mas?Sobre los materiales. Nomenclatura de los archivos, como estan organizados,etc.Tipografıas Criterio de tipografıa:

Nombres de archivos Modelo.mod,Libro.xlspalabras resevadas de Witness PULL, PUSHPalabras correspondientes a codigo: ��LOGNORML(2,0.2)��Rutas para seguir menus: Menu / Submenu /SubsubmenuNombre de elementos en Witness Maquina001

Page 4: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1

INTRODUCCION A LA SIMULACION

1.1. Introduccion

Este libro se ocupa, con un caracter eminentemente practico, de las estapasque hay que realizar para desarrollar un estudio de simulacion discreta. En estecapıtulo se presentan los conceptos fundamentales sobre esta tecnica a modode marco general para el conjunto de problemas y tecnicas que se abordan enel resto de los capıtulos.

Estructura delcapıtulo

En primer lugar, se justifica la necesidad de recurrir a la simulacion para es-tudiar determinados problemas (1.2). A continuacion, se presenta un ejemplosencillo realizado con una hoja de calculo para ilustrar como opera un mode-lo de simulacion discreta (4.2). Sin embargo, un modelo de simulacion es mascomplejo que lo que se presenta en ese ejemplo, por lo que en el epıgrafe 1.4se explica de que elementos consta un modelo de simulacion completo. Masadelante, en el apartado 1.5, se explica con que se alimenta y que se obtiene deun modelo de simulacıon. Ademas, junto con los aspectos relacionados con laprogramacion, un estudio de simulacion implica otras actividades, las cualesse presentan en el apartado 1.6. Finalmente, en el apartado 1.7 se describenlas alternativas disonibles para constuir un modelo de simulacion.

1.2. Por que simular

La utilidad delos modelos

La utilizacion de modelos facilita el estudio de muchos sistemas. Generalmen-te, frente a la alternativa a ensayar directamente sobre el sistema estudidado,resulta menos costoso y menos arriesgado elaborar un modelo del sistema yestudiar su comportamiento mediante el analisis de ese modelo. Por ejemplo,para el estudio del comportamiento de un edificio es recomendable elaborarun modelo de la estructura correspondiente. A partir del analisis del modelose pueden establecer las caracterısticas de las vigas, los pilares, etc. para po-der garantizar que la estructura cumplira los requisitos establecidos para sucorrecto funcionamiento.

Page 5: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 5

Igualmente, el rediseno de una lınea de montaje de automoviles o la modifi-cacion de la operacion de una empresa logıstica se pueden estudiar mediantemodelos. Aunque la elaboracion de un modelo puede ser relativamente costo-sa, con frecuencia, resulta menos costosa que los posibles costes derivados deuna decision poco acertada.

Existen multitudde modelos

Existen modelos de muy diferente naturaleza, tan diferentes entre sı como losmodelos fısicos y los modelos de simulacion discreta. La naturaleza de dichosproblemas condiciona la idoneidad de los modelos utilizados y de las tecnicasapropiadas para explotar dichos modelos.

La Ingenierıa deOrganizacion

Los problemas que se plantean en Ingenierıa de Organizacion consisten, encon caracter muy general, obtener un buen (y si se puede, el mejor) funciona-miento de un sistema que opera con recursos limitados y sujeto a diferentesrestricciones. Por ejemplo, la Ingenierıa de Organizacion se ocupa de la asig-nacion de recursos a tareas, del rediseno de instalaciones, de la programacionde actividades, etc.

Los metodosexactos

Estos problemas se pueden abordar mediante modelos exactos. La Programa-cion Lineal, la Teorıa de Colas, la Programacion Dinamica son ejemplos demodelos para cuyo tratamiento existen tecnicas exactas. Los modelos de es-te tipo permiten representar en terminos analıticos tanto el problema como elobjetivo que se persigue con su estudio. Para muchos de estos modelos existentecnias que permiten obtener la mejor solucion para el problema estudiado. Engeneral, los metodos exactos son preferibles frente a otros.

Page 6: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 6

UN MODELO EXACTO

Una empresa fabrica bicicletas y triciclos. Con la venta de una bicicleta ob-

tienen un beneficio de 10 unidades monetarias (um) y con la de un triciclo 5

um. Como es natural, cada bicicleta necesita dos ruedas y cada triciclo tres.

Tanto las bicicletas como los triciclos necesitan el mismo tipo de manillar.

Si la empresa dispone de semanalmente de 100 ruedas y de 30 manillares,

¿cual es la produccion que le reporta un mayor beneficio?

Si se definen x1 como el numero de bicicletas producidas semanalmente y

x2 el de triciclos, el beneficio se puede computar como 10x1 + 5x2.

Por otro lado, el consumo de ruedas sera 2x1 + 3x2 y no puede superar las

100 ruedas disponibles, con lo que debera cumplirse 2x1 + 3x2 ≤ 100.

Igualmente, para los manillares debera cumplirse x1 + x2 ≤ 30.

Por ultimo, se debe cumplir que x1, x2 ≥ 0.

El modelo siguiente es un modelo de Programacion Lineal, para cuya resolu-

cion existen tecnicas de resolucion exactas, como el metodo del Simplex, que

permiten obtener la mejor solucion al problema.

max z =10x1 + 5x2

sujeto a:

2x1 + 3x2 ≤ 100

x1 + x2 ≤ 30

x1, x2 ≥ 0

(1.1)

Este es es un ejemplo muy sencillo de modelo de Programacion Lineal, pero

exiten otros modelos de naturaleza diferente

¿Cuandorecurrir a lasimulacion?

Sin embargo, en ocasiones, no es posible construir modelos abordables conmetodos exactos. A veces, no es posible representar de la operacion del siste-ma en terminos analıticos o no es posible hacerlo en terminos suficientementesencillos. En otras ocasiones, los modelos exactos son tan complejos que noes posible obtener soluciones en tiempos de computacion razonables. En estasocasiones, la simulacion de eventos discretos puede ser muy interesante.

La simulacion es especialmente adecuada en sistemas:

altamente complejos (donde no son validos los modelos exactos),de caracter dınamico (es decir, el sistema estudiado evoluciona con eltiempo) ycon fenomenos de caracter estocastico.

Varios tipos desimulacion

Existen muchos tipos de simulacion y en muchas disciplinas. La dinamica desistemas o el metodo de Montecarlo, por ejemplo, son tipos de simulacionaplicados a problemas de Ingenierıa de Organizacion.

Page 7: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 7

Eventos yestados

La simulacion de eventos discretos se caracteriza, fundamentalmente, por laexistencia de eventos (llegada de un cliente, finalizacion de la reparacion deuna maquina), que desencadenan el cambio del estado de los elementos delsistema (asignacion de un vendedor al cliente, liberacion del operario pararealizar otras tareas) y desencadenan nuevos eventos para los cuales se calculael instante en el que se produciran (llegada del nuevo cliente, nueva averıa dela maquina). Como resultado de lo anterior, en la simulacion discreta el estadodel sistema cambia de forma discreta con el tiempo y no existen funciones quedependan explıcitamente del tiempo.

A continuacion, en la seccion (4.2), se presenta un ejemplo sencillo de simula-cion discreta mediante la utilizacion de una hoja de calculo y, mas adelante,(en la seccion 1.4) se presentan los elementos especıficos de un modelo desimulacion discreta.

Modelosdescriptivos

Conviene senalar que los modelos de simulacion son de caracter descriptivo.Esto significa que permiten reproducir el comportamiento del sistema pero,por sı solos, no ofrecen soluciones buenas u optimas con respecto a alguncriterio. Los modelos normativos, como la Programacion Lineal, permiten des-cribir el comportamiento del sistema y sı guıan el proceso de busqueda de so-luciones. Por ello, es importante la intervencion del analista para la explotacionde un modelo de simulacion. Tambien, en ocasiones, se combina la simulacioncon tecnicas para la busqueda de soluciones en lo que se conoce, en ingles,como Simulation Optimization.

1.3. Un ejemplo sencillo

En este epıgrafe se presenta un problema sencillo que puede ser tratado me-diante el desarrollo de un modelo de simulacion basado en una hoja de calculo.Este tipo de simulacion se conoce como Metodo de Montecarlo, en el que se uti-lizan los numeros aleatorios distribuidos entre 0 y 1 para resolver problemasen los que aparecen fenomenos tanto de caracter aleatorio como determinista.

Page 8: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 8

Un deposito que contiene carbon atiende una demanda diaria de cantidadvariable, de manera que cada dıa se expide con un camion con una carga deentre 70 y 130 Tm. A partir de datos historicos se ha establecido la frecuenciade ocurrencia para los distintas cantidades exedidas, que figuran en la tablasiguiente.

Salidas (Tm) 70 80 90 100 110 120 130% casos observados 7 10 18 28 21 10 6

El aprovisionamiento del deposito se realiza por medio de trenes quetransportan una cantidad de carbon constante, pero que llegan a intervalosde tiempo variables (variando entre los 2 y los 8 dıas). Las frecuencias deocurrencia de los diferentes valores para el intervalo de tiempo entre llegadasfiguran en la tabla siguiente.

Tiempo entre llegadas (dıas) 2 3 4 5 6 7 8% casos observados 5 13 17 27 23 10 5

Teniendo en cuenta los patrones de demanda y del intervalo entre trenes, seha fijado el lote con el que cada tren alimenta el deposito en 500 Tm. Por otraparte, para cubrirse frente la aleatoriedad de la demanda y del tiempo entrellegadas de los trenes, a primeros de ano se puede comprar a un suministra-dor exterior una cierta cantidad que permite comenzar el ano con un nivel deinventario inicial.La demanda no se puede diferir, es decir, la demanda que no se atiende undıa no se sirve otro dıa, se trata de demanda perdida.El coste de almacenaje (CA) es 0,2 u.m./(dıa y Tm) y el coste de carencia (CC)es 100 u.m. cada dıa que se produce una carencia, es decir, este coste es inde-pendiente de la cantidad no servida.Se trata de determinar el nivel inicial de inventario que permita minimizar elcoste total.

Este problema es sencillo y se podrıa abordar de forma exacta mediante laaplicacion de la Teorıa de Colas. A modo de introduccion, a continuacion, sepresenta un modelo de simulacion, realizado con Excel, bastante simple conel que poder estudiar el comportamiento del sistema para diferentes valoresdel nivel se stock inicial. El archivo Ejemplo1-1.xls esta elaborado para fa-cilitar la construccion dicho modelo y poder llegar al resultado, disponible enEjemplo1-1 Solucion.xls

Page 9: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 9

Hojas de calculoy simulacion

Como en cualquier modelo (y en particular si es de simulacion), es necesariorealizar hipotesis acerca del sistema. En primer lugar, se admite que la frecuen-cia relativa de los casos observados es igual a la probabilidad de que ocurracada valor. Es decir, se espera que la probabilidad de que la demanda de carboncorrespondiente a un dıa cualquiera sea de 80 Tm es 0.1.

Hipotesis delmodelo

Para reproducir el comportamiento del sistema se admite que el tiempo avanzaen intervalos de tiempo constantes e iguales a un dıa. Ası, para simular laevolucion del sistema se obtendra el estado del sistema a lo largo de los 365dıas de un ano.

El archivo consta de dos hojas:

Estructura delarchivo .xls

una con las distribuciones (��Distribuciones��) yotra con la simulacion (��Simulacion��)

La hoja ��Distribuciones�� contiene la informacion necesaria para generar va-lores de las variables aleatorias correspondientes a la llegada de trenes y a lademanda diaria, conforme a las probabilidades que se han admitido como vali-das. En la figura 1.1 aparecen las celdas correspondientes a la generacion dela demanda diaria. Las tres primeras columnas contienen la siguiente informa-cion: la funcion de probabilidad (primera columna), la funcion de distribucion(segunda columna) y los posibles valores que puede tomar la variable aleatoria(tercera columna).

Generacion denumerosaleatorios

A partir de esas tres columnas, hay otras dos columnas dispuestas de tal ma-nera que mediante la funcion de Excel ��CONSULTARV�� (o ��BUSCARV�� paraversiones anteriores a Office 2010) y a partir de un valor aleatorio entre 0 y1 es posible generar valores de la demanda consistentes con la funcion deprobabilidad (ver cuadro 1.3).

PENDIENTE: poner caption al cuadro, que aparece referenciado como cuadro 1.3

FUNCION ��CONSULTARV�� EN EXCEL

La funcion ��CONSULTARV(Valor buscado;Matriz buscar en;-

Indicador columnas;Ordenado)�� busca en una tabla el Valor buscado

en la primera columna, situada mas a la izquierda, y devuel-

ve el valor que esta en la fila del Valor buscado en la colum-

na situada en la posicion Indicador columnas. De esta manera,

para los datos de la hoja Distribuciones, al invocar la funcion

��CONSULTARV(0.59;Distribuciones!G19:H26;2;VERDADERO)��, se busca

en la primera columna de las celdas sombreadas de la figura 1.1 el primer

valor que supera 0.59 y devuelve el valor que esta situado a su derecha: 100.

Page 10: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 10

Figura 1.1: datos historicos para la demanda diaria (en Tm).

La hoja ��Simulacion�� contiene la informacion relativa a la evolucion del siste-ma. Por un lado, a modo de resumen, en la parte superior (figura 1.2) apareceel valor del stock inicial (que es objeto de decision) y los costes del stock, de lascarencias y la suma de los dos para un posible ano de operacion del sistema.

Figura 1.2: resumen del comportamiento del sistema.

La simulacionpropiamentedicha

El resto de la hoja contiene la informacion relativa a la simulacion del sistema.Existen cuatro grupos de columnas, que permiten estudiar diferentes aspectos.

Contador de tiempos (columna A), donde se registran los enteros entre 1y 365, de manera que cada fila contiene la informacion correspondientea cada uno de los de los 365 dıas del ano.Llegada de trenes (columnas B-E), que contiene el dıa en en las que lle-gara el siguiente tren, informacion con la cual se actualiza el valor delstock cuando corresponde.Generacion de la demanda (columnas F y G), en las que se genera lademanda diaria de carbon.Evolucion del stock (columnas H-J), donde se calculan los valores delstock.Computo de los costes (columnas K y L, que permite calcular los costesde stock y los costes de carencia.

Existen tantas filas como dıas mas una fila inicial en la que se genera la infor-macion relativa a la llegada del primer tren. Cada fila contiene la informacioncorrespondiente a los trenes, la demanda, el stock y los costes de ese dıa.

Page 11: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 11

Las columnas B-E, sombreadas en azul, reproducen el la informacion relativaa la llegada de trenes.

Llegada detrenes

La primera fila sirve para realizar la inicializacion del modelo. Para generarcuando tendra lugar la llegada del primer tren. Para ello, tal y como se explicaen el epıgrafe 3.5 del capıtulo 3, se genera un numero aleatorio entre 0 y 1,con lo que se genera el tiempo hasta la llegada del primer tren. Este mismoproceso habra que realizarlo cada vez que llegue un tren. El evento “llegadade un tren” desencadena el siguiente evento llegada de tren. En la columnaB figuran los numeros aleatorios necesarios para generar los intervalos entretrenes y en la columna C figuran los valores de los intervalos correspondientesa los numeros aleatorios generados.

La columna D almacena el instante (no intervalo) en el que llegara el siguientetren. Para el caso del primer tren, ese instante coincide con el valor del inter-valo (porque el instante inicial es 0). Para el resto de trenes, cada vez que llegaun tren se calcula el instante en el que llegara el siguiente como el dıa actualmas los dıas correspondientes al intervalo entre llegadas, valor generado en lacolumna C . Cuando no hay llegada de tren, el dıa en el que llegara el siguientetren no se modifica.

Por ultimo, la columna E indica si el dıa correspondiente llega o no llega tren.Si llega, sera necesario modificar el valor del stock y generar la llegada delsiguiente tren.

Figura 1.3: llegada de trenes.

Por ejemplo, el la figura 1.3 se observa que el dıa 5 llega un tren. Cuando esoocurre, se genera un nuevo valor para la proxima llegada (columna D), el dıa11. Para ello, primero se genera un numero aleatorio entre 0 y 1 (columna B),a partir del cual se obtiene el numero de dıas hasta el siguiente tren (columnaC), en este caso es 5. Finalmente, el dıa en el que llegara el siguiente tren seobtiene como el dıa actual (5) mas el numero de dıas hasta el siguiente tren(6). En las filas siguientes, el valor de dicha columna no cambia hasta que elcontador de dıas (columna A) tiene el valor 11. Cuando esto es ası, se realizala misma operacion nuevamente.

Page 12: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 12

Las columnas F y G, sombreadas en amarillo, permiten generar la demanda.Todos los dıas existe una demanda. Para cada dıa (cada fila) se genera, primerouna numero aleatorio entre 0 y 1 (columna F ), y con ese valor, se genera unvalor de la demanda (columna G)

Generacion dela demanda

Las columnas H-J, sombreadas en gris, reproducen la evolucion del stock.Consta de tres columnas que permiten registrar:

Evolucion delstock

el stock teorico, columna H, como resultado de la diferencia entre lo queentra al deposito y lo que sale, y que puede ser negativo;el stock real, columna I, que es el maximo entre el stock teorico y 0; yla existencia de carencia o no, columna J; se produce una carencia si elstock teorico es menor que el real (es decir, cuando el stock real es iguala 0 y no se ha podido atender la demanda de ese dıa).

Las columnas K y L, en color salmon, computan los de cada dıa.

Computo de loscostes

Costes de stock, columna K. Para cada dıa se puede calcular el coste delstock como el proucto del stock del deposito multimplicado por el costeunitario por dıa y Tm de carbon.Costes de carencia, columna L. Cuando se producen una carencia (figuraun “SI” en la columna J se computa el coste de carencia, de 100 um.

Las celdas B6 contiene el coste para la simulacion de uno completo, que es lasuma de todos los costes de stock (computados en B4) y todos los cotes decarencia (computados en B5).

AnalisisEn las opciones de Excel, se ha activado la opcion de actualizacion manual. Sepuede modificar esta opcion accediendo a Herramientas/Opciones/Calcular,tal y como se puede observar en la figura 1.4. Al pulsar F9 se generannuevos valores aleatorios en todas las celdas que contengan la expresion��ALEATORIO()��.

Page 13: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 13

Figura 1.4: opciones de Excel. Calcular automatica o manualmente.

Pulsando repetidamente F9 se obtienen diferentes valores de los costes. Adi-cionalmente, se puede modificar la celda correspondiente al stock inicial B3y obtener, igualmente, diferentes valores del coste para dicho stock inicial.Realizando esto, se pueden comprobar varias cosas. En primer lugar, para undetermindado valor del stock inicial, cada vez que se actualizan los valores delos numeros aleatorios, se producen eventos en instantes diferentes y, por lotanto, los costes son diferentes. Ademas, en general, para valores elevados delstock inicial se obtienen costes de carencia altos y costes de stock reducidos.Al contrario, si el stock inicial es elevado, el coste de carencia es reducido acosta de asumir un coste de stock mayor

Se ha reproducido el comportamiento del sistema durante un ano. Cada vezque se modifican los numeros aleatorios se obtiene un posible comportamien-to del sistema durante un ano, se dice que realiza una replicacion. A pesarde poder observar varios fenomenos, como los que se han comentado, existenalgunas cosas que no quedan resueltas:

Para alimentar el modelo, la probabilidad de que cada variable aleatoriatome un determinado valor es igual a la frecuencia relativa con la que seha observado dicho valor, pero ¿es esto valido?Los valores de las variables aleatorias se he realizado a partir de la fun-cion ��ALEATORIO()��, ¿es correcto?Una sola replicacion puede no ser representativa del comportamientodel sistema, y como no es posible saberlo, realizar una sola replicaciones insuficiente. Es necesario realizar varias repliaciones, pero ¿cuantas?Incluso sabiendo el numero de replicaciones adecuado, ¿basta con obte-ner la media de los costes de todas las repliaciones?En este caso, interesarıa comparar los costes para diferentes valores delstock inicial. ¿Basta comparar las medias obtenidas para un conjunto dereplicaciones?

Page 14: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 14

Algunascuestionespendientes

Las cuestiones anteriores son algunos ejemplos de los aspectos que hay quetener en cuenta al realizar un estudio de simulacion. A lo largo de los capıtulosdel libro se abordan las cuestiones mas importantes para realizar de formacorrecta un estudio de simulacion.

El ejemplo planteado es un caso sencillo de simulacion discreta en el que larealizacion de determinados eventos desencadena otros y modifica el estadode los elementos del sistema. Por ejemplo, el evento llegada de un tren generaotro evento (la llegada del siguiente tren) y modifica el estado de un elemento(el stock se incrementa en 500 Tm. En el siguiente epıgrafe se describen todoslos elemntos de un modelo de simulacion discreta.

1.4. Elementos de un modelo de simulacion

Eventos yestados

Los problemas que se abordan mediante simulacion discreta son mas comple-jos que el sistema del ejemplo anterior. En esos sistemas hay mas elementos,mas eventos y mas estados. Por ejemplo, un puesto en una lınea de montajepuede estar en diferentes estados: ocioso, trabajando, averiado, esperando aun operario, etc. Igualmente, puede haber diferentes eventos: averıa del pues-to, fin de operacion, comienzo de operacion, fin de reparacion, etc. La gene-racion de eventos y la modificacion de estados son aspectos nucleares de lasimulacion de eventos discretos. En el siguiente apartado se presentan todoslos elementos de un modelo de simulacion de eventos discretos.

Para gobernar de forma sistematica estos cambios, un modelo de simulacionconsta de (ver [1], pag. 9):

Elementos de unmodelo desimulacion

El estado de sistema, es decir, un conjunto de variables que permitandescribir el estado de los diferentes elementos del sistemaEl reloj de la simulacion, que es un contador que guarda registro delinstante en el que se encuentra la simulacion.La lista de eventos, donde se almacenan los eventos que deben tenerlugar y cuando deben ocurrir (por ejemplo, la lista de eventos puedecontener la inforamcion siguiente “cuando el reloj de la simulacion tomeel valor 32.27 el llegara una nueva llamada al sistema”).Un procedimiento de inicializacion, es decir, un programa para que elestado del modelo de simulacion sea el deseado.Un procedimiento de actualizacion del reloj, para gobernar como avanzael reloj de la simulacion.Un procedimiento para la generacion de eventos, para generar eventos apartir de la ejecucion de eventos previos y del cambio de estado de loselementos del sistema.Procedimientos para la generacion de valores de variables aleatorias.

Page 15: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 15

Un generador de informes, que por defecto ofrece informacion sobre elcomportamiento del sistema (contadores, niveles de ocupacion, etc.)El programa principal, que gobierna la ejecucion de todo el modelo einvoca, cuando corresponde, a cada uno de los elementos interiores.

El ejemplo anterior, a pesar de ser muy sencillo, incluye una version poco so-fisticada de algunos de estos elementos. Por ejemplo, la celda que contiene elvalor del stock inicial forma parte de la inicializacion. Las columnas donde sealmacenan tanto la demanda como el siguiente dıa en el que se producira unallegada de tren actuan como las variables de un modelo de simulacion. Porultimo, la primera columna hace las veces del reloj de la simulacion, y paracada lınea se puede observar el estado del sistema.

Todos los paquetes de simulacion comerciales incluyen estos elementos y fa-cilitan enormemente el desarrollo y la explotacion de modelos de simulacion.En particular, en el capıtulo 2, se presentara la forma que adoptan estos ele-mentos para el caso de Witness.

1.5. Variables de entrada. Variables de salida. Parametros

El ejemplo del apartado 4.2 se ha presentado un modelo que podrıa utilizarsepara determinar el nivel del stock inicial necesario para conseguir el mınimovalor posible de los costes de stock y de carencia. Y para ello, se disponıa lainformacion relativa los comportamientos tanto de la demanda y como de lallegada de trenes. Toda la informacion anterior se puee clasificar de la siguien-te manera.

Variables yparametrospara el ejemplode la hoja decalculo

Datos de entrada, que son aquellos datos que sirven para alimentar elmodelo, dentro de los cuales se pueden distinguir dos tipos.

• Los datos relativos a los trenes y a la demanda, sobre los cuales eldecisor no tiene control. Para este problema, la demanda es algoque no se puede moficiar, como tampoco la cantidad de carbon yel tiempo entre llegada de los trenes

• El valor de stock inicial, sobre el cual el decisor sı tiene control. Dehecho, el estudio se realiza para determinar el valor del stock inicialmas adecuado.

Datos de salida, que son los datos que se obtienen al ejecutar el modelo,que son los costes de stock y de carencia.

Estos tres grupos de datos aparecen en cualquier estudio de simulacion y sedenominan, respectivamente, variables de entrada, parametros y variables desalida (figura 1.5)

Page 16: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 16

MODELOVariables de entrada

Parámetros de diseño

Variables de salida

Figura 1.5: variables y parametros.

En general, los datos que alimentan y los que se obtienen de un modelo sedefinen de la siguiente manera.

Definiciones yejemplos

Variables de entrada. Las variables de entrada son todos aquellos datosde entrada sobre los cuales el decisor no tiene control. Por ejemplo: lafrecuencia con la que llegan las llamadas de a un centro de atenciontelefonica, el tiempo entre averıas de una maquina, la demanda de undeterminado prodcuto, etc.Parametros. Los parametros son aquellos datos de entrada sobre los cua-les el decisor tiene control. Tıpicamente, en un estudio de simulacion setrata de obtener un conjunto de valores de los parametros (es decir, unaconfiguracion del sistema) satisfactoria o buena de acuerdo con alguncriterio. Por ejemplo: el numero de puestos de atencion al cliente en unaoficina, la cantidad de operarios con los que se cuenta en el sistema, elorden en que se realiza un conjunto de operaciones (el emabarque a unavion), etc.Variables de salida. Las variables de salida son todos aquellos valoresque permiten conocer la bondad del funcionamiento del sistema estudi-do. Como se ha dicho, con el desarrollo de un estudio de simulacion sepretende obtener una buena solucion con respecto a algun criterio. Losvalores de las variables de salida permiten evaluar el sistema. Por ejem-plo: el beneficio derivado de una nueva instalacion, el nivel de saturacionde los controladores aereos, la productividad de una lınea de montaje,etc.

Por ultimo, conviene notar que segun el estudio del que se trata un mismoelemento puede ser o bien una variable de entrada o bien un parametro. Porejemplo, en el diseno de las instalaciones de un nuevo aeropuerto, la tasa deaverıas de las maquinas que realizan el escaneado de las maletas puede serun parametro, ya que en ese tipo de estudio se pueden emplear diferentes ti-pos de maquina, cada una de ellas con su tasa de averıas correspondiente. Sinembargo, en el rediseno de las operaciones de control de equipaje de un aero-puerto existente (salvo si existe la posibilidad de invertir en nuevas maquinas),el dato de la tasa de averıas es una variable de entrada.

Page 17: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 17

Para desarrollar de forma correca un estudio completo de simulacion, es im-portante, en cada caso, identificar cuales son las variables de cada tipo y cualesson los parametros. A continuacion se presentas todas las etapas que compo-nen un estudio.

1.6. Etapas de un estudio de simulacion

Hasta el momento se han presentado algunos aspectos esenciales de la si-mulacion discreta y se ha construido un primer ejemplo sencillo. El pequenoejercicio de modelado con la hoja de Excel representa solo una etapa de todaslas que componen un estudio de simulacion. En la figura 1.6 se presentan unposible conjunto de etapas en las que se separan todas las tareas del estu-dio. A pesar de que la figura las muestra de forma secuencia, es frecuente quelos resultados de una etapa o la adquisicion de nueva informacion obliguen avolver a alguna etapa previa.

DE DEO E O DEL

EM

MODELOO E L

MODELOO M O

E LOD E O DE

E E ME O

DO MEM L

E L DO

MODELOOM O

E O D DED O

Figura 1.6: etapas de un estudio de simulacion.

La definicion del sitema y de los objetivos que se persiguen con el estudio esuna primera tarea que condiciona el resto del estudio. La definicion del sistemapasa por establecer cuales son los elementos que son parte del sistema y cualesno.

Page 18: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 18

Definicion delsistema y de losobjetivos

Por otro lado, los objetivos que se persiguen con el estudio de simulacion con-dicionan la seleccion de variables de salida y el nivel de detalle del modelo. Porejemplo, un modelo de un operador logıstico que quieres realizar un estudiopara determinar el tamano de la flota de camiones es muy diferente un modelopara establecer la forma de operacion de los muelles de un almacen. Mientrasen el segundo caso sera neceario reproducir con detalle los movimientos delmaterial destinado a la manutencion de la mercancıa, en el segundo no lo sera.Igualmente, las variables de salida de uno y otro modelo seran diferentes.

Para poder continuar es necesario recopilar informacion relevante para laconstruccion del modelo, relativas a las variables de entrada, a los posiblesvalores de los parametros, respecto a la forma en la que opera el sistema o lasformas en las que puede operar, etc.

Recogida dedatos

La realizacion de cualquier modelo de un sistema real exige asumir ciertashipotesis simplificadoras. Lo deseable es disponer de un sistema sencillo y querepresente suficientemente bien el sistema estudiado. El conjunto de hipotesisque se realizan al respecto del funcionamiento del sistema se conoce comomodelo conceptual. Por ejemplo, el tiempo de realizacion de una tarea porparte de un opeario de una linea de montaje no es perfectamente deterministay, sin embargo, se puede admitir como valido que sı lo es. Igualmente, a pesarde que un proceso quımico es continuo, en un estudio se puede realizar untratamiento discreto, admitiendo que todas las cantidades de productos sepueden representar en terminos de paquetes de 100 m3.

Modeloconceptual

En un estudio de simulacion es habitual que participen profesionales muy di-ferentes: el responsable ultimo que aprueba y toma decisiones a partir delmodelo, la persona que va a emplearlo cuando sea necesario, programadordel modelo, el interlocutor entre el programador y el decisor, etc. Los conoci-mientos sobre programacion y simulacion de todos los participantes es muydispar. Por ello y para garantizar que todas las partes comparten las directri-ces del trabajo que hay que realizar, se construye un modelo comunicativo,que puede ser interpretado, modificado, utilizado, etc. por los participantes enel proyecto.

Modelocomunicativo

La figura 1.7 ofrece un posible modelo comunicativo en el que se explicitan al-gunas de las hipotesis del modelo. Por ejemplo, se admite que la demanda tienelugar despues de que llegue el tren, el dıa en el que llega un tren. Podrıa haber-se admitido el orden inverso, y habrıa tenido efectos sobre el resultado de lasimulacion. Este modelo comunicativo no contiene expresiones matematicas,pero podrıa haberlo incluıdo. Dependiendo de los participantes en el estudio,convendra utilizar diferentes elementos en el modelo comunicativo.

Page 19: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 19

InicializaciónStock inicial

Costes

¿Llega tren?

Actualización del reloj de la simulación

Aumento del stock en500 Tm

¿Hay stock para atender la demanda?

Generación de la demanda

no

Actualización del nivel de stock de acuerdo

con la demanda

Cómputo del coste de carencia

Nivel del stock a 0

Cómputo del coste del stock

sí no

¿Se ha simulado un año?

no

Informe con costessí

Figura 1.7: ejemplo de modelo comunicativo.

Una vez definido el estudio que se quiere realizar (habiendo realizado las eta-pas anteriores), es necesario construir el modelo informatico. Dado que lasimulacion de sistemas complejos implica la realizacion de numerosos calcu-los, es absolutamente necesario desarrollar un programa que reproduzca elcomportamiento previsto por el modelo conceptual, alimentarlo con las va-riables de entrada adecuadas y con el que examinar diferentes valores de losparametros.

Modeloinformatico

Cuando se dispone del modelo informatico, es el momento de realizar su ex-plotacion. Para ello es necesario definir diferentes experimentos con los queevaluar diferentes alternativas y extraer conclusiones al respecto del funciona-miento del sistema estudidado.

Page 20: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 20

Explotacion ydiseno deexperimentos

Tras haber realizado el estudio correctamente, es el momento de tomar deci-siones consistentes con el analisis realizado gracias al modelo.

Documentacione implantacionde resultados

Finalemente, y como en proyectos de otra naturaleza, es neceario documen-tar el trabajo realizado. Para poder explotar de forma correcta el modelo enocasiones sucesivas, para poder introducir modificiaciones consistentes conposibles cambios del sistema modelado, etc. conviene documentar de formaexhaustiva el trabajo realizado. De no ser ası, es altamente probable que elmodelo no sea de utilidad en el futuro.

A lo largo de todo el proceso hay tres aspectos esenciales y que aparecenreflejados en la figura 1.6, de los cuales depende el exito de un estudio desimulacion

Validacion. Se dice que un modelo es valido si ofrece una representa-cion correcta para los objetivos perseguidos. Para que un modelo seavalido debe “comportarse como la realidad”. En la figura 1.6 aparece endos puntos del proceso. Por un lado, el modelo conceptual debe ser ade-cuado para el sistema estudiado. Es decir, las hipotesis admitidas debenser aceptables. Sin embargo, algunas la validez de esas hipotesis no sepuede contrastar en esa etapa del proceso, sino que es necesario disonerdel modelo de simulacion construido y, entonces, comparar el compor-tamiento del sistema real con los resultados que ofrece el modelo desimulacion. En el caso de que no exista el sistema, no es posible haceresto, porque no existe sistema real con el que comparar, por lo que con-viene utilizar otras estrategias de validacion.

Verificacion. La verificacion de un modelo consiste en depurar el modelo,es decir, garantizar que el modelo “se comporte como nostros queremosque lo haga”. El modelo debe ser consistente con el modelo conceptualy, por lo tanto, con el modelo comunicativo donde esta especificado.

Credibilidad. Por ultimo, para que un estudio de simulacion se realicecon exito, es necesario que sea creıble, es decir, que la personas respon-sables del sistema concedan credito a dicho modelo. Es relativamentefrecuente encontrar buenos estudios de simulacion que no cuentan conel apoyo de los directivos o de los responsables que deberıan hacer usode ellos y de sus resultados. En esos casos, el modelo resulta inutil.

Verificacion,validacion ycredibilidad

En este libro, a lo largo de los capıtulos, se presentan los aspectos mas im-porantes de las etapas que se han comentado. En cada caso, se ofrecen lastecnicas mas frencuentemente utilizadas, primero con una introduccion teori-ca y despues con ejercicios de aplicacion practica.

Page 21: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 21

Algunos aspectos quedan fuera de o que se puede abordar en un texto dela naturaleza de este. Por ejemplo, la credibilidad de un modelo es de difıciltratamiento si no es es un caso real. Igualmente, la validacion de un modelopasa por disponer de un sistema del cual obtener datos para contrastar enque medida los resultados que ofrece el modelo de simulacion correspondientese ajustan a aquellos datos.

1.7. Software para la elaboracion de modelos de simulacion

La etapa central de un estudio de simulacion es la construccion del modeloinformatico. Existen diferentes alternativas para desarrollar el modelo.

Hojas de calculo (como en el epıgrafe 4.2). Las hojas de calculo, auncuando pueden incluir algun tipo de macro para modelar situaciones mascompleas, permiten abordar sistemas poco sencillos y son demasiadopobres para represenar medianamente complejas.

Software de proposito general. Lenguajes de programacion como C++,C#, Java, etc. permiten construir cualquier modelo de simulacion, porcomplejo que sea.

Software especıfico. En los comienzos de la simulacion discreta existıanlenguajes de programacion desarrollados para la construccion de mode-los de simulacion, algunos de los cuales existen y se siguen utilizando,como GPSS o GPSS/H. Actualmente existen entornos de simulacion ba-sados en lenguajes parecidos y que incluyen elmentos especıficos y unentorno grafico para la construccion de modelos. Ademas, ofrecen masprestaciones, como por ejemplo, modulos de representacion en 3D, deanalisis de datos o paquetes de “optimizacion”. Witness, Arena, Promo-del o Simul8 son algunos de ejemplos de estos tipos de entornos.)

Page 22: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 22

Hojas de cálculoPara casos muy sencillos

Lenguajes de propósito generalC++, C#, Java…

Lenguajes de simulación

Entornos de simulaciónWitnessArenaPromodelSimul8

Cos

te d

el s

oftw

are

Esf

uerz

o de

pro

gram

ació

n

-

-

+

+

Figura 1.8: alternativas de software para el desarrollo de modelos de simula-cion.

Tal y se indica en la figura 1.8 existe un compromiso entre el precio de la solu-cion adoptada para construir el modelo y el esfuerzo necesario para construirun modelo de simulacion. Los entornos de simulacion son relativamente carospero facilitan enormemente la construccion de elementos.

Todos los ejercicios practicos que empleados en este libro (salvo el de estecapıtulo) se han desarrollado usando Witness 2008, herramienta desarrolladapor Lanner Group, a cuyo estudio se dedica el capıtulo siguiente.

1.8. Resumen

La utlizacion de modelos facilita el estudio de muchos sistemas. En general, losmetodos exactos son preferibles, pero en muchos casos no es posible formularmodelos exactos o no es posible resolverlos. Principalmente en estos casos, lasimulacion discreta consituye una herramienta muy valiosa.

La simulacion de eventos discretos se caracterıza por la descripcion del sis-tema estudiado en terminos del estado de sus elementos, que cambia con laocurrencia de eventos, que, a su vez, desencadenan nuevos eventos. Medianteun modelo informatico se incorporan estos aspectos, para lo cual se disponede diferentes alternativas. Sin embargo, la parte de construccion del modeloinformatico es solo una de las etapas de las que consta un estudio de simula-cion, que comienza con la definicion del sistema y de los objetivos del estudioy finaliza con la implementacion de los resultados y la documentacion del tra-

Page 23: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 23

bajo realizado.

En los capıtulos que siguen se presentan las tecnicas mas importantes parala realizacion de un estudio de simulacion de eventos discretos correspon-dientes a las etapas descritas en el epıgrafe 1.6. Cada capıtulo consta de unaintroduccion de caracter teorico con la presentacion de los aspectos esencia-les. Despues, se proponen ejemplos de aplicacion sencillo desarrollados enWitness.

Page 24: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 1. INTRODUCCION A LA SIMULACION 24

dd

Page 25: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2

CONSTRUCCION DE MODELOS CON WITNESS

2.1. Introduccion

Para la construccion de modelos de simulacion existen diferentes alternativas,tal y como se comento en 1.7. Una de ellas, consiste en utilizar entornos es-pecıficos de simulacion. Estos entornos son mas caros que las herramientas deprogramacion de caracter general. Como contrapartida, facilitan enormementela tarea de contruccion, verificacion y explotacion de los modelos. En primerlugar, incorporan elmentos especıficos para construir los modelos. En segun-do, disponen de multiples funcionalidades para generar valores de variablesaleatorias, realizar animaciones, analizar los valores de las variables de salida,etc.

WitnessWitness es uno de estos entornos profesionales, desarrollada por LannerGroup Ltd, Witness permite construir modelos de forma sencilla y ofrece todasherramientas para poder crear modelos complejos y representar multitud desistemas reales.

Estrucutra delcapitulo

El el apartado siguiente, 2.2, se presenta el conjunto de modulos que acom-panan a Witness y que permiten realizar diferentes tareas relacionadas con eldesarrollo de un estudio de simulacion. En el apartado 2.3 se describen losaspectos fundamentales relativos a la manera en la que se construyen los mo-delos usando Witness. A continuacion, los elementos que permiten constuirmodelos se presentan en el epıgrafe 2.4. Finalmente, en los apartados 2.5 - 2.9se desarrollan cinco modelos sencillos que ilustran todo lo anterior.

Objetivo delcapıtulo

Este capıtulo no pretende ser un manual exhaustivo orientado al aprendizajede Witness. El objetivo es, por un lado, dar a conocer los aspectos fundamenta-les que permitan entender e, incluso, elaborar todos los modelo que se utilizanen es texto. Ademas, este capıtulo permite una primera toma de contacto conWitness.

Page 26: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 26

Paraprofundizar

Para aprender mas sobre la programacion con Witness, recomendamos la lec-tura del documento Getting Started (referencia PENDIENTE), la consulta de laayuda de Witness y de los ejemplos que se proporcionan en la carpeta Demoen el directorio de instalacion de Witness. Para conocer mas sobre la aplica-cion de Witness a diferentes situaciones, recomendamos visitar la pagina deLanner, http://www.lanner.com/.

2.2. Witness 2008

Witness SuiteCon Witness es posible desarrollar y explotar modelos de simulacion. Para ex-tender las posiblidades, Lanner ofrece un conjunto de modulos que se puedenutilizar junto con Witness, que son las siguientes.

Witness Scenario Manager. Este modulo facilita la explotacion de los re-sultados de los modelos elaborados. Permite, de forma sencilla, gestionarel numero y la longitud de las replicaciones, el tiempo de calentamiento.Facilita el estudio de diferentes configuraciones, es decir, de diferfen-tes valores de las caracterısticas de un modelo. Por ejemplo, es sencilloevaluar el tiempo medio de los clientes en una cola, para diferentes es-cenarios corresondientes a diferentes numero de personas que atiendenla cola. Admemas, permite obtener de forma sencilla intervalos de con-fianza para diferntes valores. La informacion que obtiene del modelo sepuede exportar a otro software (hoja de calculo, software de estadıstica)para realizar analisis mas avanzados.

Witness Optmizer. Con este modulo es posible gobernar la busquedade soluciones buenas para el modelo estudiado mediante algoritmos debusqueda eficientes. Por ejemplo, el tiempo que tarda un donante enrealizar todo el proceso de donacion en un hospital puede depender,del numero de profesionales de cada tipo (administrativos, enfermeros,medicos) del numero de camas, del reparto de tareas entre el personal,etc. Generalmente, el numero de combinaciones es muy elevado y resul-ta inviable evaluar toda las combinaciones. El modulo Witness Optmizerincluye diferentes algoritmos para explotar combinaciones y encontrarbuenas soluciones.

Witness Presentation Manager. Este modulo permite presentar de formamuy visual los resultados de un modulo de simulacion, con diferentes ti-pos de elementos parecidos al cuadro de mandos de una maquina. Deesta manera, se puede disponer de forma muy visual la informacion rele-vante del comportamiento del sistema, tanto durante su ejecucion comoal final de la misma.

Realidad Virtual. El modelo de realidad virtual permite constuir anima-ciones en tres dimensiones de los modelos de Witness. Esto puede permi-tir disponer de una vision mas realista del comportamiento del sistema.En particular, los resonsables del sistema para el que se desarrolla el

Page 27: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 27

modelo de simulacion pueden establecer mas sencillamente la analogıaentre el modelo y su sistema.

Documentor. Por ultimo, con el modulo Documentor se puede generarun archivo .rtf que permite recopilar de forma sistematica toda la in-formacion de los elmentos de un modelo y de su comportamiento. Comose vera a lo largo del texto, el codigo en un modelo de simulacion apareceen diferentes elementos y algunas caracterısticas pueden no quedar biendocumentadas. Este modulo facilita esta tarea.

Otros productosAdemas, Lanner ofrece herramientas de simulacion de caracter especıfico paraalgunas actividades, por ejemplo, para el sector farmaceutico. De todo el con-junto de productos, Witness es la herramienta mas importante. A continuacionse presenta la logica para constuir modelos.

2.3. Como construir modelos

El entornoAl arrancar Witness desde el menu de Inicio, se abre el archivo StartUp.modpor defecto, cuyo aspecto es el de la figura 2.1. Este archivo se encuentra en lacarpeta \ Demo, dentro de la carpeta de instalacion de Witness

En esa primera pantalla se puede ver lo siguiente.

La ventana de Seleccion de elementos, a la izquierda, que contiene trespestanas, una de ellas, Modelo contiene diferentes tipos de elementospara construir el modelo.La Ventana 1, que ocupa la mayor parte de la pantalla, que es una de lasventanas en las que aparece la representacion grafica del modelo.La ventana de los Elementos predefinidos, que contiene varias pestanas.Por defecto, aparece selccionada la pestana Basico con algunos de loselementos de Witness.Un conjunto de barras de herramientas con botones para acceder a dife-rentes funcionesUna pequena ventana con un reloj analogico que indica el instante en elque se encuentra la simulacion.

Page 28: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 28

Figura 2.1: aspecto de Witness al abrir el archivo StartUp.mod.

Entidades opiezas

La logica general con la que se construyen los modelos es la siguiete. Existenentidades que circulan por el modelo. Las entidades pueden represetar mu-chos elementos de un sistema real; por ejepmlo, piezas de un taller de mecani-zado, personas un centro comercial, llamadas telefonicas. Estas entidades sepueden transformar, agrupar, separar, almacenar, transportar, etc. Las piezasen un taller mecanico pueden ser torneadas, pulidas, etc. Los clientes de uncentro comercial pueden acumularse y esperar en las colas de las cajas. Lasllamadas telefonicas pueden ser atendidas, rechazadas, acumuladas en unacola de llamadas, transferidas entre departamentos, etc.

ReglasEl resto de los elementos actividades, colas, caminos, etc gobiernan el con-trol del flujo de las entidades mediante lo que se conoce como reglas. Porejemplo, cuando un viajero (entidad) ha terminado de realizar la facturacionen un aeropuerto, debe haber alguna regla que conduzca a ese cliente hacia elcontrol de suguridad. La sintaxis de Witness permite constuir una regla equi-valente a empujar al viajero a la cola del control de seguridad. Igualmente,habra que introducir alguna regla del tipo empujar el equipaje del viajero a lazona de manutencion de equipajes.

AccionesAdemas, para completar la logica del modelo, generalmente hay que utilizaracciones, que modifican el estado de los elementos. Por ejemplo, tras finalizarla facturacion del viajero, una accion puede actualizar el contador que registracuantos viajeros han realizado la facturacion para ese vuelo en particular. Para

Page 29: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 29

ello habrıa que introducir alguna accion del tipo incrementar el contador delnumero viajeros en una unidad.

2.4. Tipos de elementos

ElementosLos modelos se construyen a partir de elementos de diferente tipo. Caracte-rizando de forma correcta el comportamiento de estos elementos, se puedeconstuir un modelo que, en conjunto, represente de forma correcta el siste-ma estudiado. Configurar los elementos, significa, por un lado, indicar comofuncionan y, por otro, como se relacionan con el resto de los elmentos delmodelo.

Servicios yfabricacion

Existen dos ediciones de Witness, que se diferencia unicamente en la nomen-clatura de los elementos. Por ejemplo, el elemento de tipo pieza en la edicionde fabricacion es equivalente al elemento tipo entidad de la edicion de servi-cios. Ambos elementos son identicos y solo se diferencian en el nombre. Igual-mente, las versiones de edicion y fabriacion tienen algunas funciones identi-cas pero con diferente nombre. Por ejemplo, la funcion ��NPARTS�� y ��NENTS��devuelven el mismo valor. En cualquier caso, un modelo construido con unaedicion se puede abrir, modificar y ejecutar con la otra. En el texto se empleanambas terminologıas, en cada caso la que resulte mas natural.

Segun sunaturaleza

Los elmentos se pueden dividir en tres grandes grupos atendiendo a su natu-raleza:

Elementosfısicos

Elementos de tıpo fısico. Son elementos pueden representar elementosexistente en un sistema real. Por ejemplo, los elementos de tipo piezao entidad (segun la edicion) pueden representar muchos elementos deun sistema real, como se ha comentado. Los elementos de tipo maquinao actividad realizan algun tipo de operacion con las entidades y per-miten representar, por ejemplo, un torno, una planta de fabricacion en-tera, un puesto de atencion al publico... Un buffer o cola son lugaresdonde se almacenan entidades y pueden representar, por ejemplo, unarea de almacenamiento de producto intermedio, una cola de personasa la espera de ser atendidas, un lugar donde se somete a un procesode enfriamiento a las piezas que llegan. Otros elementos de tipo fısico

son: las cintas transportadoras, los recursos, las vıas, los vehıculos, loscaminos, etc. En los modelos de este texto, los elementos de este tipoque se han utilizado son piezas, maquinas, buffers y caminos. Estos

elementos tambien pueden no representar elementos fısicos del sistmareal. Por ejemplo, una actividad puede servir para computar el valor dedeterminadas variables cada cierto tiempo.

Page 30: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 30

Elementoslogicos

Elementos de tipo logico. Son los elmentos que permiten gestionar lainformacion y la logica del modelo. En particular, en este texto se utlizan:variables, atributos, distribuciones (tanto predefinidas como definidaspor el usuario) y funciones (de usuario y predefinidas).

Elementosgraficos

Elementos de tipo grafico. Son elementos que permiten visualizar grafi-camente algun aspecto del modelo, como, por ejemplo, la evolucion deltiempo medio de entrega de pedidos o el numero de productos enviadosa los clientes. En los modelos que siguen se han utilizado diagramas detarta e histogramas.

Segun como sealmacenan

Los elementos tambien se pueden clasificar segun la forma en la que se alma-cenan, que condiciona la forma en la que se utilizan. Estos tipos de elementosestan organizados en cuatro carpetas, cuyo contenido se puede visualizar enla ventana de Selecion de elementos (figura ).

Figura 2.2: tipos de elementos.

Carpeta TipoLa carpeta Tipo contiene todos los tipos de elementos basicos a partir delos cuales se pueden contruir los modelos en Witness. Estos elementosestan disponibles en su version mas simple, es decir, sin ningun tipode caracterizacion. Por ejemplo, existe un elemento variable, pero noesta configurada como variable entera, real, etc.

Carpeta SistemaLa carpeta Sistema almacena un conjunto de elementos especiales. Porejemplo, el elemento TIME que almacena el tiempo del reloj de la simu-lacion, el elemento WORLD que permite introducir piezas al modelo.

CarpetaPredefinidos

En la carpeta Predefinidos existen diferentes tipos de elementos, organi-zados por grupos, que aparecen, tambien, en diferentes pestanas en laventana de Elementos predefinidos. Cuando se selecciona una pestana enesta ventana, los elementos correspondientes se muestran en la carpetaverde Predefinidos. Los elementos predefinidos, son elementos que pue-den tener algun grado de configuracion. Por ejemplo, una variable puedeestar definida como un vector de cinco componentes de tipo entero. Es-tos elementos estan disponibles para, a partir de ellos, crear elementosidenticos en el modelo. Por ejemplo, si una actividad representa una cajaen un centro comercial, es posible definir un elmento predefinido tipo

Page 31: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 31

actividad para representar una caja y, con ella, como se muestra masadelante, crear tantas cajas como sean necesarias en uno o varios mode-los.

CarpetaSimulacion

Por ultimo, la carpeta Simulacion contiene los elementos de la simulacionpropiamente dicha, es decir, aquellos que representan, efectivamente, elcomportamiento del sistema real. Esta carpeta, por defecto, esta vacıa,ya que el archivo StartUp.mod esta vacıo. Para introducir elementos dela simulacion se pueden emplear los elementos de la carpeta Tipo o de lacarpeta Predefinidos.

Introduccion deelementos. Trespasos

Para introducir elementos en el modelo y caracterizar la forma en la que fun-cionan, hay que realizar tres pasos: definir, configurar y representar cada unode los elementos.

DefinirDefinir. Esta operacion consiste en introducir elementos en el modelo,es decir, en la carpeta, Simulacion. Existen dos formas de introducir unelemento en el modelo. La primera consiste en hacer uso de los elemen-tos predefinidos. Para ello hay que hacer clic con el boton principal enun elemento de la ventana Elementos predefinidos y hacer clic de nuevo(sin arrastar) en la Ventana 1. De esta manera se crea un elemento en lacarpeta Simulacion que es identico al elemento predefinido correspon-diente, con el mismo nombre seguido de “001”, por elemplo, Pieza001,como en la figura 2.3.

Figura 2.3: definicion de elementos a partir de elementos predefinidos.

La segunda manera consiste en hacer clic con el boton secundario delraton y, en menu contextual que aparece, seleccionar la opcion Definir.

Page 32: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 32

Figura 2.4: definicion de elementos.

Se abre una nueva ventana, como la de la figura 2.4, en la que hay queintroducir el nombre y seleccionar el tipo de elemento en el cuadro des-plegable Tipo de elemento. Para algunos tipos de elementos hay que intro-ducir algun dato mas. En este segundo caso, se puede seleccionar (arriba)si el elemento se crea como elemento de la simulacion o como elementopredefinido (para ser reutilizado de nuevo de la manera anterior).

ConfigurarConfigurar Una vez que se ha definido el elemento, ya se puede con-figurar, es decir, establecer cual es su comportamiento. Esto significa,por ejemplo, determinar cuanto dura la realizacion de una actividad,con que frecuencia se producen las averıas, como entran y salen lasentidades de las colas, etc. La configuracion tambien incluye la intro-duccion de las reglas que gobiernan el movimiento de las entidades ylas acciones que modifican los estados del sistema. Para configurar un

elmento se puede hacer de dos maneras. La primera, haciendo doble clicen el nombre correspondiente en la ventana de Seleccion de elementoso bien haciendo clic con el boton secundario y seleccionando la opcionConfigurar.

RepresentarRepresentar La representacion de un elemento no es un paso estricta-mente necesario para que el elemento funcione dentro del modelo. Dehecho, se podrıa construir un modelo sin ningun tipo de representaciongrafica. Sin embargo, la animacion de la representacion grafica proporcio-na informacion tanto durante la construcion como durante la explotaciondel modelo. Los elementos creados a partir de elementos predefinidos in-

corporan la representacion grafica del elemento utilizado. Por ejemplo,

Page 33: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 33

al crear el elemento Pieza001, la representacion grafica incorpora dos co-sas: el nombre de la entidad y un sımbolo (un cırculo rojo) con el queapareceran representadas las entidades de ese tipo en todo el modelo(figura 2.3. Tanto la representacion de elementos que no han sido crea-

dos a partir de los elementos predefinidos como la actualizacion de larepresentacion de cualquier elemento se puede hacer de la siguiente ma-nera. Haciendo clic con el boton secundario sobre el elemento (bien en sunombre dentro de la carpeta Simulacion o en cualquiera de sus elemen-tos representados) y eligiendo Representar dentro del menu contextual,se muestra la ventana de la figura 2.5

Figura 2.5: representacion de elementos.

La ventana de representacion permite, bien dibujar nuevos elementos enla representacion o bien actualizar los elementos existentes. Al seleccio-nar Dibujar en el primer menu desplegable, en el segundo se puedenencontrar todos los elementos de representacion que se pueden anadir yque dependen del tipo de elemento. Cuando se selecciona Actualizar, ensegundo menu desplegable, aparecen los elementos de representacion yaexistentes y que se pueden modificar. En el caso de la pieza Pieza001, sepuede actualizar el sımbolo, haciendo clic en el boton situado mas a laizquierda (con el icono de un lapiz) y aparece una nueva ventana comola de la figura 2.7.

Figura 2.6: representacion de elementos.

Page 34: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 34

En los ejemplos siguientes, se realizan estas tres operaciones para intro-ducir diferentes tipos de elementos en un modelo de simulacion sencillo,se indica como ejecutar el modelo y como obtener alguna informacionpreliminar sobre el resultado de la simulacion.

2.5. Ejemplo 1

Construir un modelo para representar un torno que tornea redondosde acero y tarda 5 minutos por pieza. Siempre existen redondos paratornear y, una vez procesados, se expulsan fuera del sistema.

ResumenEn este ejemplo, se presentan los siguientes aspectos de Witness:• maquinas de tipo simple,• piezas pasivas,• reglas ��PULL��, ��PUSH�� y ��WAIT��,• ejecucion paso a paso,• representacion del flujo de elementos.

Para crear este modelo solo son necesarios dos elementos, uno de tipopieza para representar los redondos y otro de tipo maquina simple pararepresentar el torno.

Piezas pasivasEn primer lugar, hay que definir un elemento pieza, por ejemplo, ha-ciendo uso de los elementos predefinidos, como se ha indicado en elapartado anterior. Entrando en la ventana de configuracion (figura 2.9)es posible modificar el nombre del elemento.

Page 35: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 35

Figura 2.7: ventana de configuracion de la pieza Redondo.

Las piezas pasivas son aquellas que solo entran en el modelo porquealgun elemento del modelo hace que entren. En este caso, cada vez queel torno termine de realizar una operacion, obtendra una nueva piezaRedondo del elemento de sistema WORLD y la introducira en el modelo.

La ventana de configuracion de un elemento tiene algunas pestanas es-pecıficas y otras que son comunes a todos los elementos: General, Accio-nes, Costes, Notas e Informes.

La pestana General de una pieza permite introducir el nombre de lapieza (Redondo), el tipo (pasiva, en este caso) y permite configurar as-pectos relativos a los eventos correspondientes a la entrada y a la salidadel sistema de cada pieza.

Maquinassimples

A contiunuacion, hay que introducir una maquina a partir de los elemen-tos predefinidos. La configuracion de este nuevo elemento (figura 2.8)tambien presenta varias pestanas (comunes y especıficas). Por ejemplo,la pestana General, permite definir algunos aspectos basciso como elnombre (Torno) o el tipo. Las masquinas simples toman las piezas deuna en una, las procesan y pasan a otro elemento del sistema. Existenotros tipos de maquinas que, por ejemplo, producen piezas a partir deuna dada o trabajan con lotes. Torno es una maquina simple.

Page 36: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 36

Figura 2.8: ventana de configuracion de la maquina Torno.

Regla ��PULL��Ademas, en la pestana General se pueden configurar aspectos relativosa la entrada, a la salida de las piezas, y al proceso que son sometidas. Enparticular, se puede configurar la regla de entrada de la maquina hacien-do clic en el boton Desde....

Figura 2.9: regla de entrada de Torno.

La regla que aparece por defecto es ��WAIT��. Esta regla significa queTorno no trata de conseguir piezas de entrada, sino que solo procesapiezas si algun otro elemento hace que le lleguen. Tecleando la regla��PULL from Redondo out of WORLD��, como en la figura 2.9, Torno intro-ducira una pieza Redondo en el modelo e, inmediatamente, la comenza-ra a tornear.

Page 37: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 37

Tiempo de cicloUna vez que Redondo tiene una pieza puede comenzar su ciclo, cuyaduracion se indica dentro del cuadro de texto Duracion. En este caso,el valor es 5. De esta manera, se admite que una unidad del reloj de lasimulacion simula el transcurso de un minuto de la realidad, y sera ne-cesario mantener la consistencia a lo largo de todos los valores que seintroduzcan en el modelo.

Regla ��PUSH��Por ultimo, si la configuracion de Torno se deja en este punto, lo queocurrira es que tras tornear el primer Redondo, quedara bloqueada y norealzara mas operaciones, debido a que no tiene asignada una relga desalida y no hay ningun otro elemento en el modelo que trate de tomarel Redondo de Torno. Por eso es necesario introducir una regla de salidahaciendo clic en Hacia.... En este caso, con la regla ��PUSH to SERVED�� eltorno, tras finalizar el proceso de torneado, expulsa la pieza fuera delmodelo (al elemento de sistema SERVED) y esta en condiciones de cogeruna nueva pieza y repetir el ciclo.

Flujo deelementos

Existe una forma que facilita la comporobacion de que las reglas sehan editado correctamente. Activando la opcion Flujo de elementos delmenu Ver, haciendo clic en Aceptar, se puede muestra lıneas que enla-zan los elementos de acuerdo con las reglas del modelo. En este caso,el aspecto del modelo tras activa el Flujo de elementos es el de la figura2.10.

Figura 2.10: Ejecucion del modelo Paso a paso.

Ejecucion pasoa paso

Con esto el modelo ya tiene los dos elementos y esta configurado pa-ra funcionar como se desea. Este modelo, ya construido, corresponde alarchivo Ejemplo2-1.mod. Existen diferentes formas de ejecucion del mo-delo. Una de ellas es la opcion Paso a paso. Al ejecutar el modelo de estamanera se ejecutan los eventos uno tras otros y se muestra la evoluciondel estado del sistema en una nueva ventana: la Ventana de interaccion.

Page 38: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 38

En la figura 2.10 se puede ver la barra de herramientas Ejecutar, en laque aparece el boton Paso a paso dentro de un marco rojo. Al hacer clicen el varias veces, aparecen mensajes en la Ventana de interaccion, en lasque se describe la entrada de la primera pieza Redondo a Torno en elinstante 0,00. Despues, simplemente, se actualiza el contador de tiempoy no se produce ningun evento hasta que no finaliza la operacion detorneado en el instante 5,00. En ese instante, Torno finaliza con la piezaque estaba procesando, la expulsa a SERVED y toma inmediatamente unanueva pieza para procesar.

Figura 2.11: Representacion grafica del modelo con Flujo de elementos.

2.6. Ejemplo 2

Modificar el modelo anterior para representar lo siguiente. Los redondosllegan a un stock previo al torno con un tiempo entre llegadas que sedistribuye segun una exponencial de media 8 minutos. El proceso detorneado no es determinista, sino que sigue una distribucion normallogarıtmica de media 5 minutos y desviacion tıpica de 0,2.

ResumenEn este ejemplo, se presentan los siguientes aspectos de Witness:• buffers,• distribuciones,• opcion ejecutar,• opcion ejecucion ralentizada e• informes de Witness.

Page 39: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 39

Para modificar el modelo solo es necesario introducir un nuevo elementode tipo buffer para el stock de redondos a la espera de ser procesados.

El archivo Ejemplo2-2.mod contiene el modelo correspondiente a esteejemplo, construido tal y como se indica a continuacion.

BuffersEn primer lugar, hay que anadir un elemento de tipo buffer al mode-lo, por ejemplo, utilizando los elementos predefinidos. Accediendo a laVentana de configuracion del elemento, aparecen las pestanas de estetipo de elemento. En particular, en la pestana General es posible modi-ficar el nombre (para llamarlo Cola), establecer el numero de entidadesque puede albergar y los aspectos relativos a la entrada, la salida y lapermanencia de las piezas en el buffer (figura 2.12).

Figura 2.12: ventana de configuracion del elemento Cola.

Por defecto, las piezas entran por detras y salen por delante, y no hayningun requisito con respecto al tiempo de permanencia en el buffer,con lo que la disciplina de cola por defecto es FIFO. Se pueden establecercondiciones tanto en la entrada como en la salida, para que las piezasentren o salgan segun alguna condicion, por ejemplo. Tambien se puedeestablecer un tiempo maximo o un tiempo mınimo de permanencia. Porejemplo, esto permite representar el hecho de que los clientes que llevanmas de 10 minutos esperando en una cola abandonan el sistema.

Page 40: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 40

Piezas activasA diferencia del modelo anterior, ahora las piezas entran al sistema deforma autonoma, de acuerdo con un tiempo entre llegadas. Para ello, esnecesario modificar la configuracion de Redondo y convertirla en piezaactiva, con lo que la Ventana de configuracion muestra un aspecto dife-rente, como el de la figura 2.13.

Figura 2.13: ventana de configuracion de Redondo, pieza activa.

Para configurar una pieza activa, hay que establecer, entre otras cosas,el numero maximo de llegadas de ese tipo, el instante en el que llega laprimera, el tamano de lote y la regla de salida, es decir a que elementotrata de acceder cuando llega al modelo. Para configurar esto ultimo hayque acceder a las reglas de salida, haciendo clic en el boton Hacia... Eneste caso, estas piezas llegan a Cola, por lo que la regla serıa: ��PUSH toCola��.

Aleatoriedad.Distribuciones

Ademas, hay que indicar, para Redondo, cual es el intervalo entre llega-das en el cuadro de texto correspondiente de su Ventana de configura-cion. Este valor no es determinista, sino que es una variable aleatoria:una exponencial de media 8 minutos. Witness permite generar variablesaleatorias de diferentes tipos. En este caso, el valor para el el Intervaloentre llegadas es ��NEGEXP(8)��.

Ejecucion RunUna vez construido el modelo, se puede ejecutar como se presento enel ejercicio anterior para comprobar su evolucion paso a paso. Alternati-vamente, se puede utilizar la opcion Ejecutar, mediante la cual, se poneen marcha el modelo y se muestra como se modifica la representaciongrafica de los elementos a medida que transcurre el tiempo. Ademas, sepuede fijar un valor para el tiempo durante el cual ejecutar el modelo.

Page 41: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 41

Para ello, tal y como se puede ver en la figura 2.14, hay que dejar pulsadoel boton que contiene el icono de un reloj, a su derecha teclear el instanteen el que el modelo se detendra y, finalmente, pulsar en el boton Ejecutar(un triangulo negro apuntando hacia la derecha).

Figura 2.14: ventana de configuracion de Redondo, pieza activa.

Ejecucionralentizada

Adicionalmente, se pueden representar graficamente los movimientos delas entidades entre los diferentes elementos. Al pulsar en el boton quecontiene un icono de un muneco se activa esta opcion, ejecucion ralenti-zada, y con la barra de desplazamiento que esta a su derecha se establecela velocidad con las que las entidades se mueven.

InformesUna vez el modelo se ha ejecutado hasta el instante 100, se pueden ob-tener informes de tipo estandar de los elementos del modelo. Para ello,en la ventana de seleccion de elementos se pueden marcar todos los ele-mentos, hacer clic con el boton secundario y seleccionar Estadısticas.

Figura 2.15: informes estandar del modelo.

Page 42: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 42

De esta manera se muestra una ventana parecida a la de la figura 2.15.Por ejemplo, para el elemento Cola se indica cuantas entidades hanentrado (15), cuantas han salido 13, el numero medio 0,46, el tiempomedio de permenencia, 3,08, etc. Para conocer las estadısticas de otroselementos, basta con hacer clic en los botones que tienen flechas haciala izquierda y hacia la derecha. Para cada elmeentos se ofrece diferentetipo de informacion. Por ejemplo, para las maquinas se indica el numerode operaciones o el porcentaje de timpo que han permanecido en cadauno de los posibles estados.

Informes yaleatoriedad

Conviene notar que los resultados que se obtienen con la ejecucion delmodelo dependen de los numeros aleatorios que se utilicen para generarlos distintos eventos. Por eso, los numeros obtenidos pueden ser dife-rentes. En el capıtulo 6 se comenta mas detalle el efecto de los numerosaleatorios sobre el analisis de los datos de salida.

2.7. Ejemplo 3

Ademas de las piezas que llegaban antes (redondos de tipo A), ahorallega tambien otros redondos (de tipo B) con otras caracterısticas. Alllegar al sistema, cada tipo se almacena de forma independiente antesde ser torneado. Los nuevos redondos llegan segun una exponencial demedia 18 minutos. Cuando el torno termina una operacion, toma unredondo del stock que contenga mas piezas.Ambos tipos de piezas pueden ser o bien de calidad alta (el 20 %) o alta(80 % baja), de manera que el tiempo de tornado depende de la calidad ydel tipo de redondo. En particular, los tiempos de torneado son variablesnormales logarıtmicas conlas medias y las desviaciones de la siguientetabla:

c. baja c. alta

Pieza A (5,0,0,10) (6,0,15)Pieza B (4,5,0,12) (5,2,0,16)

Se pide modificar el modelo para representar esta nueva situacion.

Page 43: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 43

ResumenEn este ejemplo, se presentan los siguientes aspectos de Witness:• atributos de sistema y atributos de usuario,• sentencias de control ��IF... ELSE... ENDIF��,• funciones de predefinidas y funciones de usuario,• ejecucion acelerada,• acciones de elementos,• modificaciones de la representacion de los elementos.

Para modificar el modelo solo es necesario introducir cuatro nuevoselementos: una nueva entidad, un nuevo buffer, un atributo y unafuncion.

El archivo Ejemplo2-3.mod contiene el modelo correspondiente a esteejemplo, construido tal y como se indica a continuacion.

En primer lugar, para distinguir los dos tipos de redondo, se puede re-nombrar el elemento Redondo y llamarlo RedondoA, ası como llamarColaA a Cola. A contnuacion, hay que definir una nueva entidad, Re-dondoB, y un nuevo buffer, ColaB. Tambien es necesario que las reglasde salida de RedondoA y RedondoB sean ��PUSH to ColaA�� y ��PUSH toColaB��, respectivamente.

Cambio de larepresentacion

Para distiguir unas piezas de otras durante la animacion, se puede modi-ficar el aspecto con el que aparece RedondoB. Para ello, se puede accedera la Representacion (similar a la figura ). Se puede modificar el color (ycambiar el rojo por el verde, por ejemplo) y mantener el icono de unapequeno cırculo.

Page 44: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 44

Figura 2.16: definicion del atributo Calidad.

Atributos deusuario

Tambien es necesario definir un atributo. Tal y como se ha explica-do ya con otros elementos, se puede definir un atributo de tipo cadenade caracteres con el nombre Calidad (ver figura ). Cuando se define elatributo Calidad, cada entidad que entra al modelo tiene asociada unacadena de caracteres, que se puede leer y modificar. Un atributo operacomo una tarjeta adhesiva liagada a cada entidad donde se almacenainformacion especıfica de dicha entidad, en este caso, la calidass cadaredondo. Cuando un redondo deba ser torneado, el tiempo que dure laoperacion dependera del valor de este atributo.

Acciones a crearCuando un RedondoA o un RedondoB entra al modelo, hay que asignarun valor a su atributo Calidad, a traves de las Acciones al crear cadapieza, a las que se puede acceder a traves de la ventana de configuracionde RedondoA y de RedondoB (figura 2.17).

Page 45: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 45

Figura 2.17: acciones al crear RedondoA.

Funcionespredefinidas.RANDOM()

Para asignar un valor a Calidad, se genera un valor aleatorio entre 0 y 1mediante la funcion predefinida ��RANDOM()��

Sentencia IFCuando el valor devuelto por ��RANDOM()�� es menor que 0.2 Calidadtoma el valor “alta” (lo que ocurre el 20 % de los casos) y toma el valor“baja” el resto de los casos. Para esto se utiliza una sentencia ��IF... ELSE...ENDIF�� tal y como aparecen en la figura 2.17.

Funcionespredefinidas.NENTS()

Una posible forma de incorporar en el modelo la manera segun la cual setoman redondos de las respectivas colas, es utilizando una sentencia ��IF��junto con la funcion ��NENTS()��, que devuelve el numero de entidadesdentro del elemento al que se aplica la funcion.

Page 46: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 46

Figura 2.18: nueva regla para Torno.

De esta manera, cuando Torno queda libre, si hay mas piezas en ColaAo en ColaB y toma una del que tenga mas, o de ColaA si la cantidad es lamisma.

Funciones deusuario

La duracion del tiempo de torneado depende de la calidad y del tipo deredondo. Por ello, lo que se puede hacer es crear una funcion que de-vuelva el valor deseado dependiendo de los atributos correspondientesy en la Duracion de Torno, llamar a esta funcion con la informacion dela pieza procesada.

Figura 2.19: Pestana General de TiempoTorno.

Page 47: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 47

Por lo tanto, hay que definir una funcion, TiempoTorno. Esta funciondevuelve un valor real a partir de dos parametros, uno de tipo cadena(llamado CalidadPieza) y otro de tipo nombre (TipoPieza (ver figura 2.19).El cuerpo de la funcion es el codigo que se ejecuta con los valores delos parametros. La funcion incluye sentencias de tipo ��RETURN�� con lasque se indica el valor devuelto por la funcion.

Figura 2.20: Cuerpo de TiempoTorno.

Atributos desistema. TYPE

TYPE es un atributo de sistema de todas las entidades que almacenael tipo de entidad. Para las entidades RedondoA, TYPE toma el va-lor RedondoA. Por ultimo, en la Duracion de Torno, se puede introducir��TiempoTorno (Calidad,TYPE)��. De esta manera se invoca a la funcionTiempoTorno con los valores de los atributos Calidad y TYPE y se ob-tiene un valor de acuerdo con el codigo del cuerpo de la funcion Tiem-poTorno.

Page 48: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 48

Ejecucionacelerada

Para finalizar este ejemplo, se puede ejecutar el modelo con la opcion deEjecucion acelerada. Como en el ejemplo anterior, senalando una instan-te para finalizar la simulacion, se puede omitir la animacion grafica, demanera que solo se consumen recursos de computacion para la genera-cion de eventos y para la actualizacion de los estados de los elementos.Para ello, se puede utilizar el boton con dos triangulos apuntando haciala derecha (boton de Ejecucion acelerada).

2.8. Ejemplo 4

Una vez que los redondos son torneados, se acumulan en una zona dealmacenamiento intermedio. Para llegar hasta ese punto desde el torno,siguen una trayectoria en la que se tarda 5 minutos.Los pales torneados se agrupan en pales de cinco en cinco, del mismotipo (no necesariamente de la misma calidad). Existen dos maquinas quemontan los pales, una con redondos A y la otra con redondos B, y tardanen montar cada pale exactamente 10 minutos, desde el momento en elque los cinco redondos han entrado en la maquina. En ocasiones, conun 1 % de probabilidad, al montar el pale, el procedimiento no realiza deforma correcta, y ese pale se debe desechar.Modificar el modelo del ejemplo anterior para representar la situacionanterior. Ademas:

• representar los elementos ColaA y ColaB como un unico elemento,(Cola), con cantidad 2 y

• sustituir la regla de entrada del torno por una regla de tipo ��MOSTENTITIES��.

ResumenEn este ejemplo, se presentan los siguientes aspectos de Witness:• los elementos de tipo camino,• las maquinas de tipo ensambladora• las reglas ��PERCENT�� y ��MOST ENTITIES��,• las funciones ��CHANGE�� y ��ELEMENT��• gestion de elmentos con cantidad superior a 1,

El archivo ejemplo2-4.mod contiene una propuesta para representarla situacion descrita. Este modelo incorpora tres nuevos elementos: uncamino, una maquina, un buffer y dos nuevas piezas.

Page 49: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 49

Nuevoselementos

Primero, como se ha hecho en los ejercicios anteriores, hay que definir :• una maquina, que tendra el nombre slPaletizadora,• un buffer, con el nombre de ColaPaletizadora,• dos nuevas entidades, llamadas PaleA y PaleB y• un camino, con el nombre CaminoAPale.

Cantidad de unelemento

En primer lugar, se puede renombrar el elemento ColaA, llamarlo Colay modificar su cantidad, de manera que sea 2. Al hacer todo esto, la re-presentacion de este elemento se modifica y aparecen dos flechas, unacorrepondiente al lugar donde apareceran acumuladas las entidades delprimer elemento de Cola y otro donde aparecen las del segundo elemen-to.

Cantidad de unelemento

Ahora, es posible referirse a cada uno de los dos elementos con la sinta-xis cola(1) y

Cantidad de unelemento

, en definitiva, al tener un elemento con cantidad superior a 1 es parecidoa tener un vector de elementos con todas las componentes indenticas.

Cantidad de unelemento

Para ser consistente con el cambio de notacion, hay que mofificar lasreglas de salida de las piezas RedondoA y RedondoB. Ahora seran, res-pectivamente, ��PUSH to Cola(1)�� y ��PUST to Cola(2)��.

Regla MOSTENTITIES

La regla de entrada del torno, que antes utilizaba una sentencia ��IF�� sepuede modificar por la siguiente regla ��MOST ENTITIES Cola(1), Cola(2)��,lo cual significa que Torno, al quedar libre, evaluara en cual de los doselementos (Cola(1) y Cola(2)) hay mas entidades y, de aque que tengamas, cogera una.

Eliminarelementos

El elemento ColaB ya no es necesario, porque ahora Cola(2) hace la fun-cion de stock de redondos de tipo B a la espera de ser torneados. Unaforma de eliminar un elemento consiste en hacer clic con el boton secun-dario sobre su nombre o sobre algun algun elemento de representaciondel mismo y elegir la opcion Eliminar del menu contextual que aparece.Solo es posible eliminar elementos que no esten referenciados en ningu-na otra parte del modelo.

Configuraciondel camino

Los caminos permiten conectar dos elementos, de tal manera que al des-plazarse las entidades entre esos dos elementos, pueden hacerlo si-guiendo ese camino. Los aspectos mas importantes de la configuracionde un camino son los dos elementos que conecta y el tiempo de transitoentre estos dos elementos.

Page 50: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 50

Tal y como aparece en la figura 2.21, el tiempo de recorrido es 5 minutosy conecta los elmentos Torno (elemento de origen) y ColaPaletizadora(elemento de destino)

Figura 2.21: Configuracion de CaminoAPale.

��Using Path��Para que las piezas transiten por el camino, es necesario modificar laregla de salida del Torno ��PUSH to Cola using Path��. Si no se modifica lasintaxis, el desplazamiento se realiza de forma inmediata.

ConfiguracionPaletizadora

Con respecto a la maquina que agrupa los redondos, como toma 5 re-dondos y devuelve un pale, se trata de una maquina de ensamblado. Enla ventana de configuracion de Paletizadora se puede indicar el Tipo, yen la cantidad de entrada, indicar 5. El tiempo de ciclo es de 10 minutos.Por ultimo, como existen 2 maquinas que montan los pales, la cantidadde este elemento debe ser 2.

Variable NPaletizadora tiene cantidad igual a 2, pero no operan de forma identica,sino que Paletizadora(1) monta pales de RedondoA y Paletizadora(2) deRedondoB. Para poder introducir esta distincion en el codigo, una alter-nativa consiste en hacer uso de la variable de sistema N. Esta variableopera de la siguiente manera: cada uno de los elementos que forman Pa-letizadora tiene asociado un valor de N, para Paletizadora(1), N = 1 ypara Paletizadora(2), N = 2.

Page 51: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 51

Figura 2.22: regla de entrada de Paletizadora.

Por eso, con la regla de la figura 2.22, Paletizadora(1) solo buscaentidades de tipo RedondoA y Paletizadora(2) solo busca entidadesde tipo RedondoB

Para que efecivamente, la regla anterior funcione correctamente es nece-sario modificar la opcion de Salida de ColaPaletizadora y que sea Cual-quiera. Con la opcion Primero, solo podrıa salir la primera entidad (yafuera por delante o por detras, segun la configuracion), y si esa entidadno coincide con la que uno de los elementos de Paletizadora trata deretirar, no podrıa continuar montando el pale.

Regla PERCENTLa regla de salida de Paletizadora se puede construir con una sentenciade tipo ��IF��. Sin embargo, Witness proporciona una regla mas compac-ta que opera tal y como se desea en este caso. Con ��PERCENT SERVED99.00 ,LOST 1.00 ��, todas las piezas salen del sistema, el 99 % se dirigena SERVED y el resto a LOST. Si fuera necesario, se pueden poner otrosdestinos (mas de dos), que pueden ser diferentes elementos del modelo.

FuncionCHANGE

Por ultimo, dado que la piezas que salen de Paletizadora ya no son re-dondos, sino que son pales, conviene reflejar ese cambio en el modelo.Con la funcion CHANGE es posible cambiar un tipo de pieza en otra. Taly como aparece en la figura se puede realizar el cambio en las accionesal finalizar el ciclo de Paletizadora

Page 52: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 52

Figura 2.23: acciones al finalizar el ciclo de Paletizadora.

2.9. Ejemplo 5

Modificar el modelo del ejemplo anterior de la siguiente manera.

• Generalizar el tamano de los pales, de forma que el la cantidad deensamblado de Paletizadora dependa de una variable.

• Representar en una serie temporal el pales servidos por hora.• Representar en un diagrama de tarta la proporcion de tiempo

que Paletizadora(1) ha estado montando pales y el tiempo que haestado sin operar.

• Representar graficamente el numero de redondos de tipo A y detipo B que contiene ColaPaletizadora.

• Detener la ejecucion del modelo cuando, en total, han entrado almodelo 200 redondos

ResumenEn este ejemplo, se presentan los siguientes aspectos de Witness:• elementos de representacion grafica: serie temporal y diagramade tarta,

• variables,• funciones predefinidas ��NCREATE��, ��NSERVED��, ��STOP�� y• acciones de inicializacion.

VariablesEn primer lugar, para que el numero de redondos que componen unpale no sea neceariamente 5 se puede hacer lo siguiente. En primer lu-gar, haciendo uso de los elementos predefinidos se puede definir unavariable de tipo entero (VInteger en la pestana Variables), con el nom-bre TamanoPale. Despues, en Paletizadora, en vez de asignar a la cantdad

Page 53: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 53

de entrada el valor 5, se puede introducir el nombre de la variable Ta-manoPale.

Acciones deinicializacion

Si se ejecuta el modelo con esa modificacion, se producira un error porel hecho de que, por defecto, las variables se inicializan a 0, y unamaquina de ensamblado no puede operar con una cantidad de entradaigual a 0. A traves del menu (Modelo / Acciones de inicializacion) se pue-de acceder a una ventana en la que se pueden introducir todas aquellasacciones que se deben realizar antes de comenzar la ejecucion del mode-lo. En este caso se puede introducir, por ejemplo, la accion ��TamanoPale= 6��. Se podrıa solicitar por pantalla al usuario, mediante un cuadro dedialogo, que indicara el valor de TamanoPale, o se podrıa leer desde unarchivo .xls o desde un .mdb.

Serie temporalLas series temporales permiten representar graficamente al evolucion dealgun valor del modelo mediante un eje de coordenadas, donde en lasabscisas se representa el tiempo y en las ordendadas los valores ob-servados. Haciendo uso del elemento predefinido Serie temporal enla pestana de Informes se puede crear un elemento de este tipo con elnombre PalesMontados.

NSERVEDPara representar el numero de pales servidos por hora, es necesariocomputar todos los que se han servido hasta el momento y dividirlopor el numero de horas transcurridas. Para conocer el numero de ele-mentos PaleA y PaleB servidos, se puede utilizar la funcion ��NSERVED��y el numero de horas trascurridas es ��TIME/60��, de manera que las dosmagnitudes que hay que represenar son ��NSERVED(PaleA)/(TIME/60))��Y ��NSERVED(PaleA)/(TIME/60))��. Estas expresiones son las que deben fi-gurar en los campos Graf.1 y Graf.2 del histograma (como en la figura2.24).

Page 54: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 54

Figura 2.24: ventana de configuracion de PalesMontados.

Representacionde seriestemporales

Se puede modificar la representacion de PalesMontados y actualizar elelemento de representacion Serie temporal, y acceder a la ventana derepresentacion. Existen diferentes valores que permiten modificar el as-pecto de la serie temporal. Con los valores que aparecen en la figura2.25 es aspecto de PalesMontados es adecuado.

Figura 2.25: representacion de PalesMontados.

Page 55: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 55

Diagrama detarta

Se puede definir un diagrama de tarta a partir de los elementos pre-definidos y renombrarlo como TasaPaletizadora. Al hacer esto apareceya una primera representacion grafica de ese elemento.

Funcion PUTIL.Estados de unelemento

Con el Diagrama de tarta se pueden mostrar diferentes magnitudes,este caso, la proporcion del tiempo que Paletizadora(1) ha estado ocu-pada y la que ha estado operando. La forma de obtener estos valores esmediante la fuccion ��PUTIL��. Por ejemplo, la expresion ��PUTIL (Paleti-zadora(1),1)�� devuelve la proporcion del tiempo que Paletizadora(1) haestado estado en el estado de disponible, mientras que ��PUTIL (Paletiza-dora(1),2)�� devuelve la proporcion del tiempo que ha estado operando.En la ayuda de Witness se pueden consultar los diferentes estados en losque se puede encontrar cada uno de los diferentes elementos.

Las dos expresiones anteriores deben aparecer en la configuracion deTasaPaletizadora1, tal y como aparece en la figura 2.26. En este caso, eldiagrama cuenta con dos sectores, pero se pueden anadir mas haciendoclic en el boton que tiene el icono de un rectangulo con lınea discontinua.

Figura 2.26: configuracion de TasaPaletizadora1.

Page 56: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 56

VariablesPara completar la representacion grafica, se puede mostrar el numero depiezas de cada tipo que contiene ColaPaletizadora. Para ello se puededefinir una variable de tipo entero con cantidad igual a 3 con el nombrede RedondosEnCola. Esta variable tiene tres componentes. La primeraalmacenara el numero total de piezas en ColaPaletizadora, la segundael numero de redondos de tipo A y la tercera los de tipo B.

Cada vez que una entidad entra o sale de ColaPaletizadora se modificael numero total de entidades en ese elemento y el numero que contienede alguno de los dos tipos de entidades, por lo que habra que introduciracciones al entrar y accones al salir de ColaPaletizadora para actualizarlos valores de la variable RedondosEnCola.

FuncionesNENTS yNENTS2

Las funcion ��NENTS�� devuelve el numero de entidades del elemen-to al que se aplica. ��NENTS(ColaPaletizadora)�� devuelve el numero deentidases en ColaPaletizadora. Por otro lado, para conocer el nume-ro de entidades de un determinado tipo se puede utilizar la funcion��NENTS2��. ��NENTS(ColaPaletizadora, RedondoA, 0)�� devuelve el nume-ro de entidades RedondoA que hay en ColaPaletizadora. De la maneraanaloga se puede proceder con RedondoB.

Figura 2.27: acciones al entrar de ColaPaletizadora.

NCREATE. STOPPor ultimo, para detner el modelo cuando ha entrado el redondo numero200 es necesario evaluar cual es el numero total de entidades que haentrado cada vez que entra una nueva. Por ello, es necesario ampliar lasacciones al crear de las dos entidades RedondoA y RedondoB. La fun-cion ��NCREATE�� devuelve el numero de entidades de un determinadotipo que han sido creadas. Por otro lado, la funcion ��STOP�� detiene laejecucion del modelo. Si se incluyen las acciones de la figura 2.28 en lasacciones al entrar de RedondoA y de RedondoB, el modelo se detiene

Page 57: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 2. CONSTRUCCION DE MODELOS CON WITNESS 57

cuando entra el redondo numero 200.

Figura 2.28: ampliacion de acciones al crear de RedondoA y RedondoB.

2.10. Resumen

Bla, bla

Page 58: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3

REPASO DE ESTADISTICA

3.1. Introduccion

Como se comento en 1.2, la mayorıa de los sistemas que se estudianmediante simulacion presentan fenomenos de caracter estocastico. Pa-ra garantizar la validez de los resultados obtenidos es necesario tenerpresente las caracterısticas que presentan estos fenomenos y aplicar lastecnicas estadısticas apropiadas. La necesidad de aplicar estas tecnicasse pone de manifiesto a largo de todo un estudio de simulacion (ver figu-ra 3.1). A continuacion se comentan los aspectos mas importantes.

La estadıstica alo largo de unestudio desimulacion

• En primer lugar, para alimentar de forma correcta un modelo conlos valores correspondientes a las variables de entrada (ver 1.5) esnecesario, primero, analizar de forma correcta los datos historicosdel sistema estudiado para caracterizar los fenomenos a los que serefieren dichos datos.

• Ademas, es necesario generar valores de las variables de entrada deacuerdo con los resultado del analisis anterior para poder reprodu-cir un comportamiento consistente con el comportamiento real delsistema.

• Para validar del modelo se deben emplear tecnicas para comparanlos resultados que ofrece el modelo con los datos historicos delsistema real.

• Dado que, generalmente, las variables de entrada son estocasticas,las variables de salida tambien lo son. Para una determinada confi-guracion de un sistema, se debe caracterizar correctmente el com-portamiento de una variable de salida. Una primera caracterizacionconsiste en una estimacion puntual del valor esperado (junto al deun intervalo de confianza de dicha estimacion).

• Generalmente, en un estudio de simulacion se evaluan diferentesconfiguraciones alternativas, por lo que es necesario identificar sihay diferencias siginificativas entre los comportamientos de dichasconfiguraciones.

Page 59: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 59

• Adicionalemnte, puede ser interesante evaluar la influencia de de-terminados factores sobre el funcionamiento del sistema. Para elloes adecuado realizar un diseno de experimentos con varios facto-res.

Experimentación

MODELO

Test de ajuste

Validación

O

O

...

Análisis de resultados

Generación de variables aleatorias

EME L

Figura 3.1: la simulacion esta presente en muchas etapas de un estudio desimulacion

Este capıtulo no pretende ser un amplio tratado de estadıstica. El objetivoes proveer al lector de una guıa clara y concisa (en la mayorıa de loscasos sin entrar en demostraciones) de los principios de estadıstica yprobabilidad necesarios para desarrollar un estudio de simulacion.

3.2. Variables aleatorias en simulacion

Muestra ypoblacion

Los estudios de simulacion emplean tıpicamente variables aleatorias, esdecir, variables cuyos valores vienen determinados por el azar. Tantoen el caso de las variables de entrada como en el de las variables desalida, generalmente lo que se estudia es una muestra finita de una po-blacion infinita y el objetivo es inferir las propiedades de la poblaciona partir de dicha muestra. El objetivo es modelar el comportamiento deun fenomeno mediante una funcion de distribucion que establece unarelacion entre lo observado (muestra) y lo desconocido (poblacion).

NotacionEl conjunto de posibles valores que puede tomar la variable estudiadase conoce como espacio muestral, mientras que el valor que toma en uncaso concreto se conoce como valor puntual u observacion. A lo largo loscapıtulos que componen este texto, las variables aleatorias se denotanmediante letras mayusculas (X,Y ,Z) mientras que las observaciones serepresentan mediante letras minusculas (x,y, z).

Page 60: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 60

Variablesaleatoriasindependientes

Dos variables aleatorias X e Y son independientes cuando el conoci-miento de los valores que toma una de ellas no aporta informacion res-pecto de los valores de la otra, y son dependientes en el caso contrario.En otros terminos, la probabilidad de que la variable X tome el valore xno esta condicionado por el valor que tome la variable Y . Ademas de estaclasificacion, las variables aleatorias pueden dividirse en dos categorıasque se explican a continuacion: discretas y continuas.

3.2.1. Variables aleatorias discretas

DefinicionSe dice que una variable aleatoria es discreta cuando puede tomar unnumero contable de valores. Algunos ejemplos de variables aleatoriasdiscretas son: el resultado del lanzamiento de una moneda al aire, cuyoresultado puede ser cara o cruz o la nota entera correspondiente a lacalificacion de un examen, que puede tomar valores enteros entre 0 y 10.

Caracterizacionde una variablediscreta

El comportamiento de una variable discreta se puede caracterizar me-diante dos funciones: la funcion de probabilidad (de caracter puntual) yla funcion de distribucion (de caracter acumulativo).

Funcion de probabilidad

La funcion de probabilidad de una variable discreta, que se deontapor p(x), representa la probabilidad de que X tome un valor concretox, es decir:

p(xi) = P(X = xi) (3.1)

Si S representa el espacio muestral, debe cumplirse la siguiente propie-dad: ∑

i/xi∈Sp(xi) = 1 (3.2)

Funcion de distribucion

Una forma equivalente de caracterizar el comportamiento de X esa partir de la funcion de distribucion, F(x), que en cada punto xirepresenta la probabilidad de que la variable tome un valor menor oigual que xi. Es decir:

F(xi) = P(X ≤ xi) (3.3)

Si X puede tomar los valores x1, x2, · · · , xn, la siguiente expresion indicacomo calcular F(x) a partir de p(x):

Page 61: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 61

F(xi) =i∑j=1

p(xj) (3.4)

F(x) cumple las siguientes propiedades:

a) 0 ≤ F(x) ≤ 1 para todo x.

b) F(x) debe ser no decreciente en su dominio (es decir, si x1 < x2,entonces F(x1) ≤ F(x2)).

c) lımx→∞F(x) = 1 y lım

x→−∞F(x) = 0

3.2.2. Variables aleatorias continuas

DefinicionSe dice que una variable aleatoria es continua cuando en un intervalopuede tomar un numero infinito e incontable de valores. Algunos ejem-plos de este tipo de variables son: el volumen de agua que contiene unrecipiente o la tiempo entre llegadas de dos autobuses a una determina-da estacion.

Funcion de densidad

Es equivalente a la funcion de probabilidad en el caso de variablesaleatorias discretas. Se denota por f(x) y cumple las siguientespropiedades:

a) f(x) ≥ 0

b)∫∞−∞f(x)dx = 1

Estrictamente, la probabilidad de que una variable tome un valor exactoes cero (por ejemplo, que una pieza mida 15,456324841... cm), y debe es-tudiarse la probabilidad dentro de un intervalo de valores (por ejemplo,entre 15,450 cm y 15,455 cm). El conocimiento de la funcion de densidadpermite calcular, por integracion, la probabilidad de que X pertenezca aun determinado intervalo:

P(X ≤ x0) =∫ x0

−∞f(x)dx ; P(x0 ≤ X ≤ x1) =

∫ x1

x0

f(x)dx

Funcion de distribucion

La funcion de distribucion de una variable aleatoria X, que se denotapor F(x), al igual que en el caso discreto, representa la probabilidad deque la variable X tome un valor menor o igual que x, es decir:

F(x1) = P(X ≤ x1)

Page 62: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 62

La relacion entre la funcion de distribucion y la de probabilidad se esta-blece mediante la siguiente expresion (analoga a 3.4):

F(x1) = P(X ≤ x1) =∫ x1

−∞f(x)dx (f(x) �→ F(x)) (3.5)

f(x) = dF(x)dx

(F(x) �→ f(x)) (3.6)

Ademas, se verifican las siguientes propiedades:a) lım

x→−∞F(x) = 0

b) lımx→∞F(x) = 1

c) Es no decreciente en su dominio (si x1 < x2, entonces F(x1) ≤F(x2)).

3.2.3. Medidas caracterısticas de una variable aleatoria

Las funciones anteriores permiten suficiente para caracterizar el com-portamiento de una variable. Existen otras medidas que permiten dispo-ner de informacion derivada de dichas funciones que, entre otras cosas,permite disponer de informacion mas elaborada. A continuacion, se pre-senta un conjunto de medidas que complementan a f(x) y F(x). Lasmas importantes son las de centralizacion, que indican la tendencia delvalor medio de los datos, y las de dispersion, que miden su variabilidad.

Medidas de centralizacion

La medida de centralizacion mas utilizada es la media, μ, o espe-ranza matematica, E(X). Se obtiene a partir de la suma de los posiblesvalores que puede tomar la variable aleatoria ponderados por susrespectivas posiblidades:

μ = E(X) =

⎧⎪⎪⎨⎪⎪⎩∑xip(xi) variables discretas

∫∞−∞ xf(x)dx variables continuas

(3.7)

Otra medida de centralizacion es la mediana, xme. Representa el valorpara el cual las probabilidades de que X sea mayor y de que sea menorque xm son identicas. Su expresion matematica es la siguiente:

PENDIENTErevisar definicion

xme =

⎧⎪⎪⎨⎪⎪⎩F(x) ≤ 0,5 variables discretas

F(x) < 0,5 variables continuas

(3.8)

Page 63: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 63

PENDIENTErevisar definicionUna medida menos utilizada es la moda, xmo, que representa el valormas frecuente de X y su expresion matematica es 3.9:

xmo/f(xmo) = (3.9)

Medidas de dispersion

La medida de disperson mas utilizada es la varianza. Se denotapor σ 2 y mide la dispersion de X de los valores de X en torno a la media,E(X), como muestra la figura 3.2. Se calcula de la siguiente manera:

σ 2 = Var(X) =

⎧⎪⎪⎨⎪⎪⎩∑(xi − μ)2p(xi) variables discretas

∫∞−∞(x − μ)2f(x)dx variables continuas

(3.10)La varianza cumple las siguientes propiedades:

1. Var(X) ≥ 0.

2. Var(cX) = c2Var(X).

3. Var(∑ni=1Xi) =

∑ni=1Var(Xi), si las variables Xi son independien-

tes.

Interpretacionde la varianza:la desviaciontıpica

Otra forma habitual de caracterizar la dispersion es mediante la desvia-cion estandar, definida como σ =

√σ 2. Conocer la media y la desviacion

tıpica de una variable aleatoria permite calcular la proporcion de una dis-tribucion que esta situada entre μ±kσ , siendo k una constante positiva,mediante la acotacion de Tchebychev:

P(μ − kσ ≤ X ≤ μ + kσ) ≥ 1− 1/k2 (3.11)

Por ejemplo, la probablidad de que la variable X tome un valor pertene-ciente al intervalo μ ± 3σ es de, al menos, el 89 % y para μ ± 4σ es de, almenos, el 94 %.

Page 64: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 64

μ

σ 2

baja

(a)

μ

σ 2

alta

(b)

Figura 3.2: funciones de densidad de una variable continua con varianza alta(a) y baja (b)

Medidas de relacion lineal de dos variables

Al estudiar dos variables aleatorias, X e Y , puede interesar cono-cer si existe una relacion lineal entre ellas. La covarianza permitecuantificar dicha relacion y se define como sigue:

Cov(X,Y) = E[(X − μX)(Y − μY )] = E[XY]− μXμY (3.12)

donde μX y μY son los valores de las medias de X e Y , respectivamente.La interpretacion de su valor es la siguiente:

• Si X e Y son independientes, su covarianza es nula. No se cum-ple lo contrario, es decir, la covarianza nula no indica, en general,independencia (salvo en el caso de que ambas variables sigan unadistribucion normal).

• Si Cov(X,Y) > 0, se dice que X e Y estan correlacionadas positi-vamente. En este caso, si x > μX en una determinada observacion,existe una tendencia a que y > μY , y si x < μX la tendencia esy < μY . Cuando Cov(X,Y) < 0 se dice que estan correlacionadasnegativamente y la tendencia es la contraria a la del caso anterior(x > μX ⇒ y < μY ; x < μX ⇒ y > μY )

La covarianza no es una medida adimensional, lo cual representa un inco-veniente ya que varia al cambiar las unidades de medida de las variables.Por ejemplo, la covarianza es diferente si X e Y representan longitudesen cm que si se hace en m, por lo que, aunque su signo aporta informa-cion, su valor absoluto es difıcil de interpretar.

Page 65: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 65

Una medidaadimensional dela dependencia

Para eliminar este inconveniente se define el coeficiente de correlacioncomo:

ρ(x,y) = Cov(X,Y)σXσY

(3.13)

Se puede demostrar que −1 ≤ ρ(X,Y) ≤ 1 y su signo tiene el mismosignificado que el de Cov(X,Y). Ademas, cuanto mas cerca este ρ(X,Y)de 1, mayor es la correlacion positiva entre X e Y . Del mismo modo,cuanto mas se acerca ρ(X,Y) a -1, mayor es la correlacion negativa.

3.2.4. Media y varianza de una combinacion lineal de variables alea-torias

La obtencion de un intervalo de confianza para la media de una variable desalida es el analisis mas sencillo de un modelo de simulacion. La obtencionde dicho intervalo se basa, entre otras cosas, en la expresion de la meida y lavarianza correspondientes a variable aleatoria, Y , definida como una combina-cion lineal de n variables aleatorias independientes, X1, X2, · · · , Xn:

Y = k1X1 + k2X2 + · · · + knXn

A continuacion se expresan las principales medidas de Y en funcion de las deX1, X2, · · · , Xn:

Media:

E(Y) = k1E(X1)+ k2E(X2)+ · · · + knE(Xn) =n∑i=1

kiE(Xi) (3.14)

Varianza:

Var(Y) = k21Var(X1)+ k2

2Var(X2)+ · · · + k2nVar(Xn) =

n∑i=1

k2iVar(Xi) (3.15)

Varianza de sumas y diferencias de dos variables

La varianza de una variable Z definida como la suma o la diferencia deX e Y puede calcularse mediante las siguientes expresiones:

Z = X + Y ⇒ Var(Z) = Var(X)+ Var(Y)+ 2Covar(X, Y) (3.16)

Z = X − Y ⇒ Var(Z) = Var(X)+ Var(Y)− 2Covar(X, Y) (3.17)

Page 66: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 66

3.2.5. Estimadores de maxima verosimilitud

JustificacionEn muchas ocasiones, se desea caracterizar algun fenomeno, que correspon-de a una variable aleatoria, de la cual se conocen algunas observaciones. Porejemplo, el tiempo que se tarda en realizar el montaje de un subconjunto enuna planta de fabricacion no es determinista, sino que es de caracter aleatorio.En este caso, puede interesar caracterizar el comportamiento de dicho tiempoen terminos de una variable aleatoria. Si se admite, por ejemplo, que el tiemosigue una exponencial, sera necesario estimar cual es el parametro de dicha ex-ponencial. En general, interesa estimar los parametros de la variable aleatoriade la que se pueda tratar a partir de un conjunto de observaciones.

Funcion demaximaverosimilitud

Dado un conjunto de n observaciones x1, x2, ..., xn, y dada una funcion dedistribucion,φ, con un parametro, θ, la funcion de maxima verosmilitud, L(θ),se define como

L(θ) = pθ(x1) · pθ(x2) · · ·pθ(xn) (3.18)

si φ es discerta, donde pθ(x1) es la funcion de probabilidad de φ, o bien sedefine como

L(θ) = fθ(x1) · fθ(x2) · · ·fθ(xn) (3.19)

siφ es continua, donde fθ(x1) es la funcion de densidad deφ, o bien se definecomo

InterpretacionLa funcion de verosimilitud, indica, para cada valor del parametro θ, cual es laprobabilidad de que obtener ese conjutnto valores x1, x2, ..., xn. El estimadormaximo verosımil es aquel valor de θ que hace maximo el valor de la funcionφ, es decir, la probabilidad de que se obtengan los valores xi.

ProcdeimientoPor ello, para obtener el valor de θ, hay que resolver la siguiente ecuacion:

dL(θ)dθ

= 0 (3.20)

Mas de unparametro

En el caso de que existiera mas de un parametro, el razonamiento serıa analo-go, pero con una funcion de varias variables, en cuyo caso, habrıa que igualara cero las derivadas parciales con respecto a cada uno de los parametros.

En las funciones que se presentan mas adelante se indica cuales son los esti-madores de maxima verosimilitud de los parametros correspondientes.

Page 67: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 67

3.3. Variables aleatorias frecuentes en simulacion

En esta seccion se presentan las variables aleatorias mas frecuentemente em-pleadas en simulacion, y se ofrece una breve descripcion de sus propiedades.Se han agrupado en dos bloques: continuas y discretas. Para cada una de ellasse indica lo siguiente:

Principales aplicaciones de la distribucion.Funcion de densidad (variables continuas) o de probabilidad (discretas).Funcion de distribucion.Descripcion de sus parametros.Rango de valores que puede tomar la variable.Media, varianza y moda.Estimadores maximo-verosımiles de sus parametros.Comentarios acerca de la distribucion.

3.3.1. Distribuciones continuas

Uniforme U(a,b)

Posiblesaplicaciones

Se emplea cuando una variable toma valores en unrango finito de valores equiprobables.

Sirve como primera aproximacion cuando se conoce elrango de valores de una variable pero no se tiene infor-macion acerca de su distribucion.

Densidad f(x) =

⎧⎪⎪⎨⎪⎪⎩1b−a si a ≤ x ≤ b

0 resto de casos

Distribucion F(x) =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩0 si x < a

x−ab−a si a ≤ x ≤ b1 si x > b

Parametros a y b son numeros reales con a < b.

Rango [a, b]

Mediaa+ b

2

Page 68: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 68

Varianza(b − a)2

12

Moda Todos los valores en (a, b) son equiprobables.

Estimadores a = mın1≤i≤n

xi , b = max1≤i≤n

xi

1/(a− b)

0 a b x

f(x)

Figura 3.3: funcion de densidad de U(a,b)

Triangular triang(a,b,m)

Posiblesaplicaciones

Modelo aproximado en ausencia de datos.

Densidad f(x) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

2(x−a)(b−a)(m−a) si a ≤ x ≤m

2(b−x)(b−a)(b−m) si m ≤ x ≤ b

0 resto de casos

Distribucion F(x) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

0 si x < a

(x−a)2(b−a)(m−a) si a ≤ x ≤m

1− (b−x)2(b−a)(b−m) si m ≤ x ≤ b

1 si x > b

Page 69: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 69

Parametros a,b y m numeros reales con a < m < b.

Rango [a, b]

Mediaa+ b +m

3

Varianzaa2 + b2 +m2 − ab − am− bm

18

Moda m

Estimadores Dado que se emplea en ausencia de datos, los estima-dores no son relevantes.

0

2/(b − a)

0 a m b x

f(x)

Figura 3.4: funcion de densidad de triang(a, b,m)

Page 70: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 70

Exponencial Exp(β)

Posiblesaplicaciones

Tiempo entre llegadas de clientes o piezas a un siste-ma.

Tiempo entre averıas de un equipo.

No resulta apropiada para tiempos de espera.

Densidad f(x) =

⎧⎪⎪⎨⎪⎪⎩1βe

−x/β si x ≥ 0

0 resto de casos

Distribucion F(x) =

⎧⎪⎪⎨⎪⎪⎩1− e−x/β si x ≥ 0

0 resto de casos

Parametros β > 0

Rango [0,∞]

Media β

Varianza β2

Moda 0

Estimadores β = x(n)

Comentarios Es un caso de especial de Gamma(1, β) y Weibull(1, β).

Page 71: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 71

0

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 6 7

f(x)

x

Figura 3.5: funcion de densidad de Exp(1)

Gamma Gamma(α,β))

Posiblesaplicaciones

Tiempo para completar una tarea. Por ejemplo: dura-cion de un servicio o de una reparacion.

Densidad f(x) =

⎧⎪⎪⎨⎪⎪⎩β−αxα−1e−x/βΓ(α) si x > 0

0 resto de casos

Distribucion F(x) =

⎧⎪⎪⎨⎪⎪⎩1− e−x/β∑α−1

j=0(x/β)jj! si x > 0

0 resto de casos

donde Γ(α) es la funcion gamma completa definida por

Γ(α) = ∫∞0tz−1e−t .

Parametros α > 0 y β > 0

Rango [0,∞]

Media αβ

Varianza αβ2

Moda β(α− 1) si α ≥ 1, 0 si α < 1 .

Estimadores -

Page 72: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 72

Comentarios 1. Exp(β)=Gamma(1, β).

2. lımx→∞f(x) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

∞ si α < 1

1β si α = 1

0 si α > 1

0

0.2

0.4

0.6

0.8

1

1.2

1 2 3 4 5 6 7

f(x)

x

α = 12

α = 1

α = 2α = 3

Figura 3.6: funcion de densidad de Gamma(α,1) para algunos valores de α

Normal N(μ,σ 2)

Posiblesaplicaciones

Variables que representan la suma de otras variables.

Variables con distribucion simetrica (por ejemplo,tiempos de ciclo)

Dependiendo de los parametros empleados, la funcionpuede devolver valores negativos.

Densidad f(x) =

⎧⎪⎪⎪⎨⎪⎪⎪⎩1

x√

2πσ2 e−(x−μ)2

2σ2 si x > 0

0 resto de casos

Distribucion No tiene expresion analıtica.

Page 73: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 73

Parametros μ ∈ (−∞,∞) , σ > 0

Rango [0,∞]

Media μ

Varianza σ 2

Moda μ

Estimadores μ =∑ni=1 xin

, σ 2 =[n− 1n

S2(n)]

Comentarios 1. Si la correlacion lineal entre dos variables distri-buidas normalmente es nula, tambien son inde-pendientes.

2. A la funcion N(0,1) = Φ(x) se conoce como nor-mal estandar y se encuentra tabulada. Es sencilloobtener el valor de cualquier normal a partir deella mediante la siguiente relacion:

N(μ,σ 2) = Φ(x − μσ

) (3.21)

3. Si X � N(μ,σ 2), entonces eX sigue una distribu-cion lognormal.

0.1

0.2

0.3

0.4

0.5

-3 -2 -1 0 1 2 3 x

f(x)

Figura 3.7: funcion de densidad de N(0,1)

Page 74: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 74

Lognormal LN(μ,σ 2)

Posiblesaplicaciones

Su principal aplicacion se da en variables que son elproducto de un gran numero de variables aleatorias(por ejemplo, la produccion total de un sistema en elque hay varias categorıas de piezas).

Tiempo para completar una tarea. Tiene una formasimilar a gamma(α,β) o weibull(α,β), pero con sumaximo mas cerca de x = 0.

Modelos aproximados donde no hay muchos datos.

Densidad f(x) =

⎧⎪⎪⎪⎨⎪⎪⎪⎩1

x√

2πσ2 e−(lnx−μ)2

2σ2 si x > 0

0 resto de casos

Distribucion No tiene expresion analıtica.

Parametros eμ > 0 y σ > 0

Rango [0,∞]

Media eμ+σ2/2

Varianza e2μ+σ2/2(eσ − 1)

Moda eμ−σ2/2

Estimadores μ =∑ni=1 lnxin

, σ 2 =∑ni=1 lnxi − μ2

n

Comentarios 1. Se dice que una variable X se distribuye segununa lognormal(μ,σ 2) cuando se cumple:

X � LN(μ,σ 2)⇐⇒ lnX � N(μ,σ 2)

Es decir, si x1, x2, · · · , xn se distribuyen segununa lognormal, lnx1, lnx2, · · · , lnxn lo hacensegun una normal. Esta relacion afecta a: lahipotesis de que distribucion sigue una muestra,la estimacion de parametros y tests de bondad,entre otras cosas.

Page 75: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 75

2. Mientras que en Excel (y en la mayorıa de lasaplicaciones informaticas) los parametros dela funcion son los indicados anteriormente, enWitness μ representa E(X) y σ 2 representaVar(X). Por tanto, si (μe, σ 2

e ) y (μw,σ 2w) son los

parametros en Excel y Witness respectivamente,la relacion entre ellos es la siguiente:

μw = eμe �⇒ μw =∑ni=1 xin

σ 2w = e2μe+σ2

e /2(eσe − 1) �⇒ σ 2e =

∑ni=1 xi − μ2

wn

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5

f(x)

x

σ = 32

σ = 12

σ = 1

Figura 3.8: funcion de densidad de LN(0, σ 2)

Weibull Weibull(α,β)

Posiblesaplicaciones

Tiempo para completar alguna tarea.

Intervalo entre dos averıas de un equipo.

Tiempo de vida de un dispositivo.

Modelos aproximados donde no hay muchos datos.

Densidad f(x) =

⎧⎪⎪⎨⎪⎪⎩αβ−αxα−1e−(x/β)α si x > 0

0 resto de casos

Page 76: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 76

Distribucion F(x) =

⎧⎪⎪⎨⎪⎪⎩1− e−(x/β)α si x > 0

0 resto de casos

Parametros α > 0 , β > 0

Rango [0,∞]

MediaβαΓ ( 1α

)

Varianzaβ2

α

{2Γ ( 2

α

)− 1α

[Γ ( 1α

)]2}

Moda

⎧⎪⎪⎪⎨⎪⎪⎪⎩β(α−1α

1/α)

si α ≥ 1

0 si α < 1

Estimadores Se deben cumplir las siguientes 2 ecuaciones1:∑ni=1 x

αi lnxi∑n

i=1 xαi

− 1α=∑ni=1 lnxin

β =(∑n

i=1 xαi

n

)1/α

Comentarios 1. La distribucion Weibull(2, β) tambien se cono-ce como distribucion de Rayleigh, denotada porRayleigh(β)

2. lımx→∞f(x) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

∞ si α < 1

1β si α = 1

0 si α > 1

1la primera de ellas debe resolverse numericamente (ver [1], pag. 286)

Page 77: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 77

0

0.2

0.4

0.6

0.8

1

1.2

1.4

0 1 2 3 4 5 x

f(x)

α = 1

α = 3

α = 0,5

α = 2

Figura 3.9: funcion de densidad de Weibull(α,1).

3.3.2. Distribuciones discretas

Bernoulli Bernoulli(p)

Posiblesaplicaciones

Suceso aleatorio con dos posibles valores.

Base de otras distribuciones discretas (binomial,geometrica, binomial negativa...)

Probabilidad p(x) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

1− p si x = 0

p si x = 1

0 resto de casos

Distribucion F(x) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

0 si x < 0

1− p si 0 ≤ x < 1

0 si x ≥ 1

Parametros p ∈ (0,1)

Rango 0,1

Media p

Page 78: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 78

Varianza p(1− p)

Moda

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

0 si p < 12

0 y 1 si p = 12

1 si p > 12

Estimadores p = x(n)

Comentarios 1. La distribucion Bernoulli(p) representa un expe-rimento con dos posibles resultados: exito (1) ofracaso (0). A este tipo de experimentos se les co-noce por ensayos de Bernoulli.

2. Si X1, X2, · · · , Xt son t variables aleatorias in-dependientes distribuidas segun Bernoulli(p), en-tonces X1+X2+· · ·+Xt se distribuye segun unaBinomial(t, p).

3. Si X representa el numero de fracasos antes deobservar el primer exito en ensayo de Bernoulli,X � geom(p). El numero de facrasos antes de ob-servar el s-esimo exito se distribuye segun unabinomial negativa con parametros s y p.

1− p

p

0 1 x

p(x)

Figura 3.10: funcion de probabilidad de Bernoulli(p) con p > 0,5.

Page 79: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 79

Binomial Binomial(n,p)

Posiblesaplicaciones

Numero de fallos en un lote de piezas.

Tamano de un lote de piezas o de un grupo de perso-nas.

Cantidad de piezas de un pedido.

Probabilidad p(x) =

⎧⎪⎪⎨⎪⎪⎩(tx

)px(1− p)t−x si x ∈ 0,1, · · · , t

0 resto de casos

donde

(tx

)es el coeficiente binomial expresado por:

(tx

)= t!x!(t − x)!

Distribucion F(x) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

0 si x < 0

∑x�i=0

(ti

)pi(1− p)1−i si 0 ≤ x ≤ t

0 si x > tdonde x� representa el mayor numero entero menorque x.

Parametros t entero positivo, p ∈ (0,1)

Rango 0,1, · · · , t

Media tp

Varianza tp(1− p)

Moda

⎧⎪⎪⎨⎪⎪⎩p(t + 1)− 1 y p(t + 1) si p(t + 1) es entero

p(t + 1)resto de casos

Estimadores p = x(n)t

Page 80: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 80

Comentarios 1. Si X1, X2, · · · , Xt son t variables aleatorias in-dependientes distribuidas segun Bernoulli(p), en-tonces X1 +X2 + · · · +Xt � Binomial(t, p).

2. Es simetrica si y solo si p = 1/2.

3. Binomial(1, p)=Bernoulli(p).

00.10.20.30.40.50.60.70.8

0 1 2 3 4 5 6 7 8 x

p(x)

Figura 3.11: funcion de probabilidad de Binomial(8,0,2).

Geometrica geom(p)

Posiblesaplicaciones

Numero de piezas inspeccionadas antes de encontrarla primera defectuosa.

Tamano de un lote de piezas o de un grupo de perso-nas.

Cantidad de piezas de un pedido.

Probabilidad p(x) =

⎧⎪⎪⎨⎪⎪⎩p(1− p)x si x ∈ 0,1, · · ·

0 resto de casos

Page 81: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 81

Distribucion F(x) =

⎧⎪⎪⎨⎪⎪⎩1− (1− p)x�+1 si x ≥ 0

0 resto de casos

Parametros p ∈ (0,1)

Rango 0,1, · · ·

Media1− pp

Varianza1− pp2

Moda 0

Estimadores p = 1x(n)+ 1

Comentarios 1. Si X representa el numero de fracasos antes deobservar el primer exito en ensayo de Bernoulli,X � geom(p).

2. Es el equivalente a una distribucion exponencialen el caso de variables discretas.

00.10.20.30.40.50.60.70.8

0 1 2 3 4 5 6 7 8 x

p(x)

Figura 3.12: funcion de probabilidad de geom(0,5).

Page 82: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 82

Poisson Poisson(λ)

Posiblesaplicaciones

Numero de eventos que ocurren en u intervalo detiempo cuando esos eventos suceden de uno en uno ycon una tasa constante.

Tamano de un lote de piezas o de un grupo de perso-nas.

Cantidad de piezas de un pedido.

Probabilidad p(x) =

⎧⎪⎪⎨⎪⎪⎩e−λλxx! si x ∈ 0,1, · · ·

0 resto de casos

Distribucion F(x) =

⎧⎪⎪⎨⎪⎪⎩0 si < 0

−λ∑x�i=0

λii! si x ≥ 0

Parametros λ > 0

Rango 0,1, · · ·

Media λ

Varianza λ

Moda

⎧⎪⎪⎨⎪⎪⎩λ− 1 si λ es entero

λ� resto de casos

Estimadores λ = x

Page 83: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 83

Comentarios 1. Si la distribucion Poisson(λ) describe el numerode eventos por unidad de tiempo, la distribucionexp(1/λ) representa el tiempo que transcurre en-tre dos eventos sucesivos.

2. Si X1, X2, · · · , Xn son variables aleatorias inde-pendientes distribuidas segun Poisson(λi) res-pectivamente, entonces X1 + X2 + · · · + Xn � sedistribuye segun una Poisson(λ1+λ2+· · ·+λn).

00.10.20.30.40.50.60.70.8

0 1 2 3 4 5 6 7 8 x

p(x)

Figura 3.13: funcion de probabilidad de Poisson(0,2).

3.4. Estimacion de la media y de la varianza

3.4.1. Estimacion puntual

En muchos casos, sobre todo cuando se estudian variables de salida, no esnecesario conocer con profundidad como se comporta una variable aleatoriaX y basta con obtener informacion al respecto de sus caracterısticas princi-pales: la media y la varianza. En este apartado se explica como estimar estaspropiedades de X.

Page 84: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 84

Estimacion de lamedia de unavariablealeatoria

Se supone que se dispone de una muestra x1, x2, · · · , xn compuesta por va-lores independientes identicamente distribuidos de X, donde μ y σ 2 son, res-pectivamente, la media y la varianza de la poblacion de dicha variable. Paraestimar μ se puede emplear la media de la muestra expresada por:

μ = x(n) =∑ni=1 xin

(3.22)

donde μ es un estimador centrado o insesgado de μ, es decir, independiente-mente del tamano de la muestra:

E(μ) = μ

Estimacion de lavarianza de unavariablealeatoria

La estimacion de la varianza de X se puede realizar a partir de la varianza dela muestra:

σ 2 = S2(n) =∑ni=1 [xi − x(n)]2

n− 1(3.23)

que es un estimador centrado, es decir E(S2(n)) = σ 2.

Un estimadorpuntual no essuficiente...

Por la propia definicion de μ, aun siendo un estimador centrado, en kmuestrasμ toma k valores que, en general, son diferentes. En unos casos, los valoresanteriores estan mas cerca de μ que en otros. Esto se debe a que μ tambien esuna variable aleatoria, que depende de los valores observados en la muestra,cuya varianza Var[x(n)] se expresa por:

Var [x(n)] = Var

⎛⎝ 1n

n∑i=1

xi

⎞⎠ = 1n2

Var

⎛⎝ n∑i=1

xi

⎞⎠= 1

n2

n∑i=1

Var(xi) (porque xi son independientes)

= 1n2nσ 2 = σ 2

n(3.24)

Dado que E[x(n)] = μ, cuanto menor es el valor de su varianza mayor es suprecision como estimador, es decir, menor es la distancia esperada entre x(n)y el verdadero valor de μ. El valor de Var[x(n)] se puede estimar aplicando laecuacion 3.23 en la expresion anterior:

Var [x(n)] = S2(n)n

=∑ni=1 [xi − x(n)]2n(n− 1)

(3.25)

Por todo ello, no se puede garantizar que la media de una muestra tome unvalor cercano a μ. Lo que sı es cierto es que, en general, a medida que aumentael tamano de la muestra es mas probable que μ se acerque a μ. El metodo mashabitual de evaluar la precision de μ como estimador de μ es acompanar alvalor puntual de un rango de valores dentro del cual se encuentra μ con unaprobabilidad determinada. A ese rango de valores se le conoce por intervalode confianza y se trata con mas detalle en el siguiente apartado.

Page 85: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 85

3.4.2. Intervalos de confianza para la media

Como se ha visto anteriormente, junto al valor del estimador de la media con-viene dar un intervalo de valores entre los cuales se encuentre μ con una proba-bilidad alta, conocido como intervalo de confianza. A partir de ahora, cuandose habla de un intervalo de confianza para μ con un nivel de confianza 1 − αse hace referencia a un intervalo [a, b] que cumple que el 100 · (1−α)% de losintervalos ası construidos contienen al verdadero valor de μ (a y b dependende la muestra analizada).

A continuacion, se indica como construir un intervalo de confianza para elvalor esperado de una variable aleatoria X a partir de un conjunto de n obser-vaciones x1, x2, · · · , xn.

Sean μ y σ 2 los valores de la media y la varianza de X respectivamente. Paraello se define una nueva variable aleatoria Zn mediante la siguiente expresion:

Zn = |x(n)− μ|√σ 2/n

(3.26)

y se denota por Fn(z) a la funcion de distribucion de dicha variable. A conti-nuacion se enuncia el teorema central del lımite:

Teorema 1 Fn(z) → Φ(z) cuando n → ∞, independientemente de la distribu-cion que siga la variable aleatoria X, donde Φ(z) es la funcion de distribucionnormal con parametros μ = 0 y σ 2, tambien conocida como normal estandar(ver apartado 3.3).

Segun este teorema, si n es lo “suficientemente” grande, Zn se aproxima auna distribucion normal estandar. Pero la aplicacion del teorema anterior paraconstruir un intervalo para μ tiene un inconveniente: generalmente no se cono-ce σ 2. Sin embargo, como S2(n) converge a σ 2 a medida qu crece n, el teoremacentral del lımite sigue siendo cierto si en la expresion 3.26 se sustituye σ 2 porS2(n) como sigue:

Zn = |x(n)− μ|√S2(n)/n

(3.27)

La variable Zn ası definida sigue una distribucion N(0,1) para valores elevadosde n. Como se conoce su distribucion, se puede construir un intervalo [a, b]donde P(a ≤ z ≤ b) = 1 − α. Si el intervalo [a, b] se construye centrado enx(n), entonces a = −z1−α/2 y b = z1+α/2 que tienen el siguiente significado(ver figura 3.14):

P(Z < −z1−α/2) = 1−α/2P(Z > z1−α/2) = 1−α/2

Page 86: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 86

−z1−α/2 x(n) z1−α/2 x

f(x)

P(z ∈ area sombreada) = 1−α

Figura 3.14: funcion de densidad normal estandar

Estos valores se pueden consultar en la tabla 1. Para valores altos de n secumple la siguiente expresion:

PENDIENTECambiar tabla 1 por un comando ref.

P(−z1−α/2 ≤ x(n)−μ√

S2(n)/n≤ z1−α/2

)

= P

⎛⎝x(n)− z1−α/2

√S2(n)n

≤ μ ≤ x(n)+ z1−α/2

√S2(n)n

⎞⎠≈ 1−α (3.28)

Por lo tanto, para valores altos den, con una probabilidad de (1−α), μ este per-tenecera al intervalo:

x(n)± z1−α/2

√S2(n)n

(3.29)

El intervalo de confianza para μ = E(X) se construye a partir de la expresionanterior: ⎡⎣x(n)− z1−α/2

√S2(n)n

,x(n)+ z1−α/2

√S2(n)n

⎤⎦ (3.30)

Su interpretacion es la siguiente: si se dispone un numero elevado de mues-tras de n observaciones, con n lo “suficientemente”grande, construyendo unnumero elevado de intervalos de confianza con un nivel (1−α) para cada unade estas muestras, la proporcion de intervalos que contienen a μ es aproxima-damente (1−α).

Page 87: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 87

¿Cuando n es“suficientemen-te” grande?

El problema de las expresiones anteriores es que se considera que n es “sufi-cientemente” grande. Normalmente, n toma un valor demasiado pequeno paraaplicar el teorema central del lımite. Si se considera que X sigue una distribu-cion normal, entonces la variable definida por la siguiente expresion

|x(n)− μ|√S2(n)/n

se distribuye segun una distribucion t con n− 1 grados de libertad y se puedecalcular un intervalo para μ de la siguiente manera:

x(n)± tn−1,1−α/2

√S2(n)n

(3.31)

donde el valor tn−1,1−α/2 se puede consultar en la tabla 2. En general, se consi-dera que para n ≥ 30 se puede aplicar el teorema central del lımite.

PENDIENTEEliminar tabla 2 y poner comando ref

¿Y si X no sigueuna distribucionnormal?

En realidad, lo mas frecuente es que X no se distribuya normalmente. En es-tos casos la afirmacion de que el intervalo dado por la expresion 3.31 cubreel 100 · (1 − α)% de las casos se hace aun mas aproximada, sobre todo si Xsigue una distribucion asimetrica. A pesar de ello, como tn−1,1−α/2 > z1−α/2, elintervalo proporcionado por la expresion 3.31 es mayor que el que se obtienemediante 3.29, por lo que, generalmente, es mas probable que cubra el nivel deconfianza (1−α) y se puede considerar como valido. Por este motivo se reco-mienda emplear la expresion 3.31 para construir el intervalo de confianza parala media de una variable aleatoria. En el capıtulo 6 se aplica este procedimientode manera practica mediante el calculo de varios intervalos de confianza paraanlalizar variables de salida.

3.5. Generacion de valores de variables aleatorias

Los sistemas estudiados mediante simulacion, tıpicamente, incluyen fenome-nos de caracter estocastico. Como es necesario reproducir el comportamientode esos fenomenos, es necesario generar valores que se comoporten de for-ma consistente con dicho comportamiento. Por ejemplo, si se conoce que elintervalo entre la llegada de dos clientes a una gasolinera sigue una exponen-cia de media 52 segundos, es necesario generar valores que se comorten deesa manera. Una manera de obtener esos valroes es, primero, generar numerosaleatorios entre 0 y 1 (U(0,1)) y, con ellos, generar los valores deseados. Acontinuacion se presenta una forma de obtener valores de variables aleatorias.

Page 88: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 88

3.5.1. Generacion de numeros aleatorios para U(0,1)

Existen numerosos metodos para generar valores de una variable aleatoria. Lamayorıa de ellos se basan en la utilizacion de numeros aleatorios, definidoscomo valores independientes de una muestra uniforme continua en el inter-valo (0,1). Si se considera una muestra de n numeros aleatorios, se denotapor ri el i-esimo de estos valores. De su definicion se deducen las siguientespropiedades:

La probabilidad de que ri tome un valor concreto es independiente delos valores que toma en el resto de la muestra.

Todos los puntos tienen la misma probabilidad de aparecer.

Si se considera una muestra de N observaciones y se divide el intervalo(0,1) en n subintervalos de igual longitud, el numero esperado de obser-vaciones en cada intervalo es N/n.

Numerosaleatorios ypseudo-aleatorios

En los sistemas reales, los numeros aleatorios aparecen de manera natural y sepueden aprovechar esos fenomenos para conseguir secuencias de valores ri.Por ejemplo, las primeras tablas de numeros aleatorios construidas en Espanase obtuvieron a partir de la secuencia de numeros premiados en la loterıa na-cional. Otra posibilidad consiste en generarlos con algun metodo que no es, dehecho, aleatorio. En la practica, existen diversas tecnicas para obtener secuen-cias de valores ri. A diferencia de lo que ocurre en la naturaleza, estos numerosno son aleatorios ya que al conocerse el metodo mediante el cual son gene-rados, la secuencia esta perfectamente determinada. No obstante, se puedenobtener valores que cumplen las principales propiedades de los numeros alea-torios: uniformidad e independencia. Por ello, son conocidos como numerospseudo-aleatorios y, a efectos practicos, se pueden considerar numeros aleato-rios (en adelante, salvo especificacion previa, se consideran aleatorios).

Si existen en lanaturaleza,¿porque generarlos?

Por lo tanto, una alternativa a la generacion de numeros aleatorios es cons-truir tablas de valores ri que se almacenen en el ordenador. El principal in-conveniente es que, debido a la gran cantidad de valores necesarios, ocuparıanmucha memoria de almacenamiento (por ejemplo, Witness incluye cerca de3×1057 numeros aleatorios). La generacion de numeros aleatorios resuelve es-te problema ya que, en la mayorıa de los casos, se generan mediante algoritmossencillos que permiten generar numeros aleatorios cuando son necesarios, conun uso mucho mas eficiente de los recursos de computacion.

Page 89: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 89

Metodo decongruencialineal

Uno de los metodos mas utilizados para la generacion de numeros aleatorioses el llamado de congruencia lineal. Con este metodo se obtiene una muestrade numeros aleatorios en el intervalo de numeros naturales [0,m− 1] me-diante un calculo recurrente, en el cual un nuevo numero aleatorio se obtienea partir del ultimo generado aplicando la siguiente expresion:

zi = (a · zi−1 + b)mod(m)

donde el valor inicial z0 se denomina semilla, a es la constante multiplicativa,c es el incremento, y m es el modulo2, todos ellos enteros no negativos. Eli-esimo numero aleatorio entre 0 y 1 se obtiene a partir de zi de la siguientemanera:

ri = zim

Los numeros aleatorios ası generados tienen las siguientes propiedades:

La precision de ri esta limitada por 1/m, es decir, los posibles valores deri son: 0/m,1/m, · · · ,m− 1/m.El numero de valores diferentes que se pueden generar es finito y, comomaximo, igual al valor del parametro m.

Ejemplo 1.1: generacion de numeros aleatorios mediante el metodo de congruen-cia lineal con z0 = 53, a = 13, b = 38 y m = 100.

z1 = (a · z0 + b)mod(m) = (13 · 53+ 38)mod(100) = 727mod(100) = 27

r1 = z1100 = 27

100 = 0,27

z2 = (13 · 27+ 31)mod(100) = 89

r2 = 89100 = 0,89

vdots

Cabe destacar que la seleccion de los parametros del generador afecta consi-derablemente a las propiedades ideales y a la longitud del ciclo. Para obtenermas informacion acerca de el generador congruente lineal o de otros metodosde generacion de numeros aleatorios se recomienda consultar [1].

2La operacion (x)mod(y) da como resultado el resto de la division de x entre y .

Page 90: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 90

Numerosaleatorios en losprogramas desimulacion

Los programas de simulacion incorporan o bien algoritmos para generar nume-ros aleatorios, o listas de estos numeros. Por ejemplo, el paquete de simulacionWitness no genera valores ri cuando los necesita, si no que incorpora una listade numeros aleatorios organizados en series y subseries (para mas informa-cion acerca de este tema se recomienda consultar la ayuda de Witness).

PENDIENTERevisar si esto es cierto o no

3.5.2. Generacion de valores de variables aleatorias

¿Como seutilizan losnumerosaleatorios?

Hasta ahora se ha visto un metodo para generar valores de una variable alea-toria que se distribuye uniformemente en el intervalo (0,1). Sin embargo, engeneral, las variables aleatorias necesarias para construir un modelo de si-mulacion tienen distribuciones diferentes de la uniforme. A continuacion, seexplica uno de los numerosos metodos existentes para generar valores de unavariable aleatoria, cuya funcion de distribucion es conocida: el metodo de latransformada inversa.

Metodo de latransformadainversa

La idea en la que se fundamenta el metodo de la transformada inversa es lasiguiente: generar un numero aleatorio ri entre 0 y 1, y evaluar la inversa de lafuncion de distribucion, F(x), en ese punto. La figura 3.15 ilustra graficamentecomo se aplica el metodo. Se puede demostrar que los valores generados deesta manera se distribuyen segun F(x) y que si los valores ri son independien-tes entre sı, tambien lo son los valores xi. Los numeros aleatorios introducenla aleatoriedad que permite imitar el comportamiento estocastico de ciertosfenomenos, mientras que mediante el metodo de la transformada inversa seconsigue que los valores generados se distribuyan segun una funcion concreta.

Aplicacion paraalgunasfunciones

En el cuadro 3.12 se indica como aplicar el metodo anterior a varias funcionesde distribucion utilizadas frecuentemente en simulacion. En dichas expresio-nes, r indica siempre un numero aleatorio (U(0,1)), y x el valor de la variablealeatoria que se desea generar.

Programas desimulacion

Los paquetes de simulacion permiten controlar la generacion de numeros alea-torios para garantizar que los valores generados sean independientes. En par-ticular, Witness permite al analista elegir que subserie de numeros aleatoriosse utilizan en cada variable. Mediante el control de la generacion de numerosaleatorios es posible obtener mejores resultados computacionales, como se ex-plica en el capıtulo 9 dedicado a la presentacion de tecncias de reduccion dela varianza.

Page 91: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 91

0

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 x

F(x)

ri

xi

Figura 3.15: metodo de la transformada inversa para una funcion continua

Page 92: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 3. REPASO DE ESTADISTICA 92

U(a,b) x = a+ (b − a)r

Exp(β) x = −β ln r

N(0,1)

1. v1 = 2r1 − 1v2 = 2r2 − 1

2. w = v21 + v2

2

3. Si w < 1 volver al paso 1. Si w ≥ 1:

y = √−2 lnw/w

x1 = v1y

x2 = v2y

4. Si N(μ,σ 2), hacer:

x′ = μ + xσ

weibull(α,β) x = β(− ln r)1/α

Funcionesdiscretas

x = xj tal que se cumpla la siguiente expresion:

j−1∑i=1

p(xi) ≤ r ≤j∑i=1

p(xi)

Cuadro 3.12: generacion de variables aleatorias de varias funciones de distri-bucion mediante el metodo de la transformada inversa.

Page 93: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4

ANALISIS DE DATOS DE ENTRADA

METER OTRAS FORMAS DE ALIMENTAR EL MODELO EN WITNESS: .PAR, DIS-TRIBUCIONES

4.1. Introduccion

Uno de los elementos de los que depende la calidad de un estudio de simu-lacion es la calidad de los datos con los que se alimenta dicho modelo. Comose explico en el apartado 1.5, las variables de entrada son aquellos datos deentrada sobre los que el decisor no tiene control. Sin embargo, las variables deentrada no pueden tomar cualquier valor. Para representara de forma correctael comportamiento del sistema, conviene caracterizar bien como se comportanlas variables de entrada y generar valores de acuerdo con esa caracterizacion

Por ejemplo, si en el resideno de la distribucion en planta de un taller no sedisonen de datos correctos respecto a la composicion de la demanda de esetaller, el resultado puede ser muy poco valido, bien infradimensionando o biensobredimensionando las instalaciones.

En los sistema objetos de estudio, genralmente no se conoce en terminosanalıticos o precisos el comportamiento de las variables de entrada. En oca-siones sı se dispone de datos historicos en mas o menos cantidad (no ası siel sistema no existe). A partir de los datos historicos o de alguna otra mane-ra conviene establecer de forma adecuada el comportamiento de las variablesde entrada. En este capıtulo se muestran diferentes formas de alimentar unmodelo de simulacion y se presentan tecnicas para obtener distribuciones quepermitan alimentar bien el modelo.

Formas dealimentar unmodelo desimulacion

Cuando se dispone de datos historicos del sistema estudiado, existen tres po-sibles maneras de alimentar el modelo de simulacion corresondiente: con lospropios datos historicos, con una funcion de distribucion empırica o con unafuncion de distribucion teorica.

1. La primera posibilidad consiste en alimentar al modelo con los datoshistoricos tal y como se han recogido. Por ejemplo, si se estudia el mo-delo de un muelle de descarga de camiones, en la simulacion se utilizan

Page 94: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 94

los valores observados correspondientes a la operacion de descarga, demanera que cada operacion de descarga tiene una duracion identica auna operacion real que tuvo lugar en algun momento.

Figura 4.1: alimentacion del modelo mediante datos historicos

2. Una segunda alternativa consiste en construir una distribucion empıricaa partir de los datos historicos y, con ella, generar valores de la varia-ble de entrada. Para ello, se divide el espacio muestral en intervalos (ovalores puntuales en caso de las variables discretas) y se asigna a cadauno de ellos una probabilidad proporcional a la frecuencia con la queaparecen en la muestra historica. A diferencia de la alternativa anterior,esta permite obtener un numero infinito de valores comprendidos entreel maximo y el mınimo de los valores historicos.

Figura 4.2: alimentacion del modelo con datos obtenidos de una distribucionempırica

3. La ultima alternativa consiste en obtener una distribucion teorica, me-diante un test de ajuste, que caracterice de forma aceptable el compor-tamiento de la variable de entrada. Por ejemplo, dada una muestra delnumero de clientes que llegan a una tienda en una hora, se compruebasi el numero de clientes que llegan en cada intervalo de tiempo se puedecaracterizar suficientemente bien mediante una distribucion de Poisson.

Figura 4.3: alimentacion del modelo con datos obtenidos mediante una distri-bucion teorica

La primera alternativa no es muy interesante desde el punto de vista de la ex-plotacion del modelo de simulacion ya que presenta las siguientes desventajas.

Se dispone de un numero limitado de valores para utilizar durante laejecucion el modelo, por lo que se podran obtener un numero limitado

Page 95: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 95

de valores de salida que, ademas, solo representan algunas situacionesde todas las posibles.

Por otro lado, ya se conoce la respuesta del sistema en esos casos debidoa que han ocurrido en la realidad. Por lo tanto, en el mejor de los casosobtendremos un conjunto de resultados parecidos a lo que sucedio en elsistema real.

Sin embargo, los datos historicos son muy valiosos para la validacion del mo-delo, es decir, para confirmar que el modelo representa de forma adecuada elsistema estudiado, contrastando los resultados obtenidos en la simulacion conlo ocurrido en el sistema real.

Distribucionempırica

En el caso de formar una distribucion empırica con las observaciones se pue-den generar todos los valores entre los el menor y el mayor valor. Por lo tanto,en terminos de su utilidad para la explotacion del modelo no presentan losinconvenientes que aparecen con la alimentacion del modelo con los datoshistoricos. Las principales desventajas de este metodo son dos.

Debido a la aleatoriedad del fenomeno observado, la muestra puede pre-sentar irregularidades, sobre todo si se han recogido pocos datos.

Al emplear una distribucion empırica solo se pueden generar valoresdentro del rango de los datos recogidos, y quiza la probabilidad de obte-ner valores fuera de ese rango no sea cero.

Distribucionteorica

El uso de una funcion teorica presenta ventajas sobre el uso de una distribu-cion empırica, sobre todo si el numero de datos no es muy elevado.

Se obtiene una funcion consistente en todo el rango, sin posibles irregu-laridades.

Mediante distribuciones teoricas se pueden generar valores fuera de loslımites de los datos observados durante el periodo de muestreo.

Es mas compacta y facilmente modificable en el caso de querer estudiarel efecto de cambios en las condiciones de entrada.

Por todo lo anterior, esta ultima suele ser la mejor opcion y solo en caso de noencontrar una distribucion teorica que se ajuste bien a los datos historicos sejustifica el uso de funciones empıricas.

Estructura delcapıtulo

A continuacion, se muestra como alimentar con distribuciones empıricas unmodelo de simulacion construido con Witness. A continuacion se presenta elproceso de ajuste de los datos historicos a distribuciones teoricas. En la sec-cion 4.3 se indican los pasos del ajuste y en un cuadro se resume el proceso.En la seccion ?? se explica como hacer este ajuste usando una hoja de calculomediante un ejemplo practico. Para finalizar, en el ultimo apartado se resuelveel mismo problema usando una aplicacion especıfica.

Page 96: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 96

0

0.1

0.2

0.3

0.4

0 2.5 5 7.5 x

frelativa

(a) Distribucion empırica

0

0.1

0.2

0.3

0.4

0 2.5 5 7.5 x

frelativa

(b) Distribucion teorica

Figura 4.4: representacion grafica para una muestra de 50 datos de la funcionempırica y de una posible funcion teorica.

4.2. Ejemplo 1. Distribuciones empıricas en Witness

A partir de los datos correspondientes al tiempo entre llegadas del ejemplo4.2 del capitulo 1, construir una funcion de distribucion empırica en Witness.

Tiempo entre llegadas (dıas) 2 3 4 5 6 7 8% casos observados 5 13 17 27 23 10 5

Page 97: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 97

ElementoDistribucion

Witness dispone de un tipo de elemento, llamado distribucion para in-troducir variables aleatorias empıricas. Se puede crear un elemento de ti-po con la opcion Definir (como en la figura 4.5). Existen diferentes tipos dedistribuciones, segun devuelva un numero entero, un numero real o unnombre y segun sea discreta, continua o se defina de acuerdo a una curva deprobabilidad acumulada. En este caso, se trata de una distribucion discretaque devuelve valores enteros.

Figura 4.5: definicion de la distribucion TiempoEntreCamiones.

ConfiguracionEsta funcion se puede configurar introduciendo los datos correspondientes alas frecuencia obsevada para cada uno de los valores de la variable “tiempoentre camiones”. Ası, se pueden introducir todos los pares Valor-Peso, 2 − 5,3 − 13, ..., 8 − 5. La suma de todos los pesos no tiene que ser necesariamente100. La figura 4.6 muestra como el aspecto de la ventana de configuracion trasintroducir todos los datos.

Page 98: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 98

Figura 4.6: configuracion de la distribucion TiempoEntreCamiones.

UtilizacionUna vez definida y configurada la distribucion, se puede utilizar en el mo-delo, de la misma manera que, por ejemplo, se utiliza la distribucion pre-definida ��NEGEXP(10)��. Como se ha comentado, tal y como se ha definido ladistribucion no es posible obtener valores menores que 2 ni mayores que8. Por otro lado, modificar una distribucion empırica exige un poco mas detrabajo que modificar una funcion teorica. Por eso, en la medida de lo posible,es preferible utilizar distribuciones teoricas, para lo cual es necesario realizarun test de ajuste a partir de los datos historicos, tal y como se indica en elproximo epıgrafe.

4.3. Tests de ajuste

Contraste dehipotesis

Tal y como se ha discutido, cuando es posible, conviene alimentar el modelocon distribuciones teoricas. Para ello, es necesario disponer de un conjunto den datos historicos, x1, x2, · · · , xn correspondientes a una variable de entrada,X. El objetivo es ajustar el comportamiento de X a una funcion de densidad(o probabilidad en el caso de que X sea discreta) poder generar valores conlos que ejecutar el modelo. Para ello, en primer lugar se estudia la manera enla que se distribuyen los valores de la muestra para establecer una hipotesiscomo la siguiente:

H0: La variable X se ajusta a la distribucion de probabilidad f(x)con parametros α,β, · · · .

H1: La variable X no se ajusta a la distribucion anterior.

Page 99: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 99

El siguiente paso es comprobar, mediante un test de ajuste, si la hipotesisH0 es cierta. Si no se puede demostrar que sea falsa, se acepta como cierta.Para realizar estos tests se establece un nivel de confianza, α, que representala probabilidad de rechazar H0 siendo cierta. A continuacion se presenta deforma detallada todo el procedimiento.

Page 100: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 100

1. Comprobar la independencia de los datos historicos. Se agrupan los datos en pare-jas (xi, xi+1) y se representan en el espacio XY. Se puede apreciar graficamente si losdatos estan correlacionados (ver figura 4.7).

2. Identificar la distribucion. Se divide el rango de las observaciones en k intervalosde igual amplitud (se recomienda k >

√n). A partir de esta division se construye un

histograma donde la altura de cada barra representa la frecuencia relativa con la queaparecen los valores de la muestra en ese intervalo. A partir del aspecto de esta graficase eligen las posibles distribuciones para el ajuste.

3. Estimar los parametros. Para ello se aconseja emplear los estimadores maximoverosımiles. En el capıtulo dedicado a repaso de estadıstica se detalla ampliamentecomo llevar a cabo este paso para cada distribucion (ver 3.2.5).

4. Formular la hipotesis del test. Se formula la hipotesis nula conforme a la eleccionde la distribucion y la estimacion de sus parametros.

Test de la χ2 Test de Kolmogorov-Smirnov

4. Dividir el rango de las observacionesen k intervalos. Es aconsejable que estosintervalos sean equiprobables para la fun-cion f(x) considerada. En este caso la pro-babilidad de que una valor de la variable Xpertenezca a cada intervalo es p = 1/k y serecomienda tomar k tal que np > 5

5. Construir el estadıstico:

χ2 =k∑i=1

(Ni −npi)2npi

(4.1)

donde Nj es el numero de observacionespertenecientes al intervalo i-esimo y pi esla probabilidad (segun la funcion teoricaelegida) de que un valor pertenezca a esemismo intervalo.

6. Aplicar el criterio de decision. No se re-chaza H0 si:

χ2 < χ2k−m−1,1−α

donde χ2k−m−1,1−α es el valor obtenido en la

tabla 3, α el nivel de confianza y m repre-senta el numero de parametros estimados.

4. Ordenar las observaciones en ordencreciente (asignando a x(1) el menor valorde xi y a x(n) el mayor).

5. Calcular la funcion de distribucionempırica de la muestra, Fn(x), que se defi-ne como:

Fn(x) =

⎧⎪⎪⎪⎨⎪⎪⎪⎩0, si x ≤ x(1),in , si x(i) ≤ x ≤ x(i+1),

1, si x ≥ X(n)(4.2)

6. Calcular para cada observacion x(i):

Di = max{∣∣∣Fn(X(i−1))− F(X(i))∣∣∣ ,∣∣∣Fn(X(i))− F(X(i))∣∣∣}

7. Aplicar el criterio de decision. No se re-chaza H0 si:

D(α,n) ≥ maxDi

donde D(α,n) es un valor obtenido en latabla 4 y α el nivel de confianza.

Page 101: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 101

PENDIENTECuales son las tabla 3 y 4 (a la que se refiere el cuadro resumen del test)

Figura 4.7: diagrama de dispersion de una muestra no correlacionada y de otracorrelacionada linealmente

4.4. Ejemplo 2

En este apartado se presentan un ejemplo en el que se emplea una hoja decalculo para reproducir todos los calculos resumidos anteriormente.

En este apartado, se presenta el analisis de un conjunto de datos historicos,y se realizan los dos tests de ajuste presentados haciendo uso de Excel parareproducir los calculos.

Para seguir la explicacion se recomienda trabajar sobre los siguientes archivos:

Ejemplo2-1.xls, que contiene los datos de partida y las hojas necesa-rias para reproducir todos los calculos.Ejemplo2-1 solucion.xls, donde estan todos calculos ya hechos.

4.4.0.1. Primer paso: comprobacion de la independencia

En la hoja ��Datos�� del archivo Ejemplo2-1.xls se muestran los valores de las500 observaciones que se analizan en este ejemplo. De acuerdo con el cuadrode la seccion 4.3, en primer lugar, hay que comprobar la independencia de lasobservaciones. Para ello hay que hacer lo siguiente.

1. Agrupar los valores en parejas (xi, xi+1) para formar puntos en el es-pacio XY, de manera que queden n − 1 puntos (x1, x2), (x2, x3), · · · ,(xn−1, xn). Para ello, lo que hay que hacer es copiar en dos columnasadyacentes los valores observados de tal modo que cada xi tenga a suderecha el valor xi+1.

Page 102: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 102

2. Representar graficamente estos puntos para decidir, de manera visual, sila muestra esta compuesta por datos independientes. Para ello, es nece-sario crear un grafico en Excel: ( Grafico / Tipo de grafico / XY (Dispersion)).

En la figura 4.8 se muestra el resultado de este proceso. No se observa quelos puntos se agrupen de acuerdo con ninguna relacion particular, y se puedeadmitir que los datos de la muestra son independientes.

0

50

100

150

200

0 50 100 150 200 xi

xi+1

Figura 4.8: ejemplo de grafico de dispersion XY

4.4.0.2. Segundo paso: identificacion de la funcion de probabilidad

A continuacion hay que identificar, mediante un histograma, a que posiblesfunciones pueden asociarse los datos de la muestra. Para construir dicho his-tograma hay que agrupar las observaciones en k intervalos de igual amplitud.Una orientacion a la hora de elegir el k es escoger un valor cercano a

√n. En

este caso se ha elegido dividir en 20 intervalos (√

500 = 22,36) cuya longitudes:

172,93− 0,0120

= 8,646

Para completar el histograma se recomienda seguir los siguientes pasos:

1. Ordenar los datos en orden creciente y copiarlos en la hoja��Identificacion funcion��.

2. Encontrar el numero de datos de la muestra que pertenecen a cada inter-valo. Mediante la funcion matricial de Excel ��FRECUENCIA�� (ver cuadro

Page 103: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 103

4.4.0.2 o la ayuda de Excel) se obtiene el numero de valores pertenecien-tes a cada intervalo. Para obtener la frecuencia relativa se divide cadauno de estos valores entre el tamano de la muestra, n = 500.

3. Representar las frecuencias relativas en un histograma como el de lafigura 4.9 ( Grafico / Tipo de grafico / Columnas ).

Figura 4.9: tabla de frecuencias e histograma en Excel

La forma del histograma sugiere como variables potencialmente interesantes,entre otras, una distribucion lognormal o una exponencial. En adelante se ana-lizan cada una de estas posibilidades, comparando los resultados para amboscasos.

Page 104: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 104

FUNCION FRECUENCIA EN EXCEL

La funcion ��FRECUENCIA(datos;grupos)�� calcula la frecuencia con la que serepiten los valores de un rango en un conjunto de datos. Se trata de unafuncion matricial, ya que da como resultado un conjunto de valores en formade matriz. Por lo que su uso es diferente al de una funcion normal. Paraintroducirla en una celda, hay que seguir los siguientes pasos.

1. Seleccionar las celdas donde se quieren obtener las frecuencias obser-vadas para cada intervalo.

2. Introducir ��=frecuencia(��.

3. Seleccionar las celdas donde se encuentran los datos de la muestra.

4. Introducir ��;��.

5. Seleccionar las celdas donde se encuentran los lımites superiores delos intervalos.

6. Mantener pulsadas las teclas Ctrl+Mayusculas+Enter.

Como resultado se obtienen las frecuencias absolutas con las que se repiten

las observaciones en cada rango de valores.

Para este caso concreto, la expresion es ��FRECUENCIA(B2:B501;F6:F25)��.

4.4.0.3. Tercer paso: estimacion de parametros

Dependiendo de la funcion considerada, se deben estimar parametros dife-rentes. En la seccion 3.3 pueden encontrarse estimadores maximo verosımilespara las distribuciones teoricas mas comunes. En este caso, los estimadoresson:

Lognormal (LN(μ,σ 2)) Exponencial (exp(β))

μ =∑ni=1 lnxin

β = x(n)

σ 2 =∑ni=1 lnxi − μ2

n

Cuadro 4.1: estimadores MLE para lognormal y exponencial

Mediante estas expresiones se obtienen los paraemtros corresponeientes a lalognormal, μ = 2,62 y σ 2 = 1,89, y el correspondiente a la exponencial β =26,09.

4.4.0.4. Cuarto Paso: test de ajuste

Test χ2

Page 105: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 105

χ2, lognormalEn primer lugar se realiza el test χ2 para la hipotesis lognormal y despues parala exponencial. En el primer caso, la formulacion de la hipotesis es la siguiente:

H0: La variable X se ajusta a la distribucion de probabilidadLN(2,62,1,89).

H1: La variable X no se ajusta a la hipotesis anterior.

A continuacion se presenta como realizar el contraste χ2 de H0 paso a paso:

1. Calcular la amplitud de los intervalos. Se divide la funcion en k inter-valos equiprobables y para cumplir la recomendacion np > 5 se toman20 intervalos (p = 1/k = 0,05 ⇒ np = 500 · 0,05 = 25 > 5). Los interva-los se constituyen de tal manera que la probabilidad de que una variableque se distribuya segun una LN(2,62,1,89) tome valor dentro de el seap = 1/20 = 0,05.

2. Calcular el extremo superior e inferior de cada intervalo. Para cadaintervalo i hay que evaluar la inversa de la funcion de distribucion enx = 0,05 · (i − 1) y en x = 0,05 · i. La inversa de una distribucionde probabilidad se obtiene despejando la variable x en la funcion dedistribucion:

y = F(x) �⇒ x = F−1(y)

En el caso de la lognormal, no se puede despejar directamente debi-do a la forma de la funcion de distribucion. Excel dispone de la fun-cion ��DISTR.LOG.INV(probabilidad;media;desv-estandar)�� que proporcio-na directamente el valor de x tal que P(X < x) = probabilidad. La expre-sion para calcular los extremos del intervalo i es la siguiente:

lımite inferior �→ DISTR.LOG.INV(0,05 * (i-1) ;2,62;RAIZ(1,89))

lımite superior �→ DISTR.LOG.INV(0,05 * i ;2,62;RAIZ(1,89))

Procediendo de este modo se obtienen unos intervalos como los del cua-dro 4.2.

3. Calcular el numero de observaciones pertenecientes a cada intervalo.Se lleva a cabo aplicando de nuevo la funcion matricial ��FRECUENCIA��,esta vez con los lımites superiores obtenidos en el paso anterior. El re-sultado se muestra en la columna Ni del cuadro 4.1.

4. Calcular el estadıstico χ2 mediante la ecuacion 4.1.

5. Obtener el nivel crıtico χ2k−m−1,1−α para α = 0,9, α = 0,95, y α = 0,99.

Para ello se emplea la funcion de Excel ��PRUEBA.CHI.INV(probabilidad ;grados-de-libertad)��, donde probabilidad toma el valor 1−α (notese queel numero de grados de libertad es 20-1-1=18).

Page 106: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 106

Intervalo Limiteinferior

Limitesuperior

Frecuencia ob-servada (Ni)

Frecuencia es-perada (npi)

(Ni −npi)2npi

1 0,00 1,43 30 25 1,002 1,43 2,36 21 25 0,643 2,36 3,30 18 25 1,964 3,30 4,32 16 25 3,245 4,32 5,43 25 25 0,006 5,43 6,67 20 25 1,007 6,67 8,08 22 25 0,368 8,08 9,69 15 25 4,009 9,69 11,55 21 25 0,6410 11,55 13,72 20 25 1,0011 13,72 16,31 37 25 5,7612 16,31 19,44 27 25 0,1613 19,44 23,31 27 25 0,1614 23,31 28,22 33 25 2,5615 28,22 34,68 32 25 1,9616 34,68 43,64 38 25 6,7617 43,64 57,05 40 25 9,0018 57,05 79,90 30 25 1,0019 79,90 131,66 25 25 0,0020 131,66 ∞ 3 25 19,36

χ2 = 60,56

Cuadro 4.2: intervalos equiprobables, frecuencias y estadısticohipotesis lognormal

Comparando el estadıstico experimental con el nivel crıtico (cuadro 4.4) serechaza la hipotesis de que la muestra siga una distribucion lognormal conparametros μ = 2,62 y σ 2 = 1,89 con un nivel de confianza 90 %.

χ2, exponencialAlternativamente, se puden formular las hipotesis correspondientes a la dis-tribucion exponencial:

H0: La variable X se ajusta a la distribucion de probabilidadExp(26,09).

H1: La variable X no se ajusta a la hipotesis anterior.

Al contrario que en el caso anterior, la inversa de la exponencial se puede des-pejar directamente y no existe una funcion en Excel para calcularla. Por tanto,para obtener los extremos de los intervalos debe introducirse la expresion ma-tematica que se obtiene despejando de su distribucion de distribucion:

y = F(x) =⎧⎨⎩1− e−x/β si x ≥ 0

0 otros casos

Page 107: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 107

x = F−1(y) = −β ln(1− p) (4.3)

donde p es el valor en el que se evalua dicha funcion. Procediendo como en elcaso anterior se obtiene un cuadro como 4.3:

Intervalo Limiteinferior

Limitesuperior

Frecuencia ob-servada (Ni)

Frecuencia es-perada (npi)

(Ni −npi)2npi

1 0,00 1,33 28 25 0,362 1,33 2,74 31 25 1,443 2,74 4,24 24 25 0,044 4,24 5,82 35 25 4,005 5,82 7,50 28 25 0,366 7,50 9,30 19 25 1,447 9,30 11,23 18 25 1,968 11,23 13,32 21 25 0,649 13,32 15,59 34 25 3,2410 15,59 18,08 24 25 0,0411 18,08 20,83 22 25 0,3612 20,83 23,90 20 25 1,0013 23,90 27,38 24 25 0,0414 27,38 31,41 15 25 4,0015 31,41 36,16 29 25 0,6416 36,16 41,99 21 25 0,6417 41,99 49,49 31 25 1,4418 49,49 60,07 24 25 0,0419 60,07 78,15 24 25 0,0420 78,15 ∞ 28 25 0,36

χ2 = 22,08

Cuadro 4.3: intervalos equiprobables, frecuencias y estadısticohipotesis exponencial

Como el estadıstico χ2 es menor que χ18,0,99 (cuadro 4.4), se deduce que lahipotesis de que la muestra sigue una distribucion exponencial con β = 26,09no se puede rechazar al nivel 99 % por lo que, segun este test de ajuste, estadistribucion podrıa ser suficientemente buena para alimentar al modelo desimulacion al que se refieren los datos historicos disponibles.

Page 108: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 108

Lognormal Exponencialχ2 = 127,6 χ2 = 22,08

χ18,0,9 25,989 RECHAZADA ACEPTADA

χ18,0,95 28,869 RECHAZADA ACEPTADA

χ18,0,99 34,805 RECHAZADA ACEPTADA

Cuadro 4.4: criterio de decision del test χ2.

Test de Kolmogorov-Smirnov

K-S, lognormalIgual que con es test anterior, en primer lugar se realiza el contraste corres-pondiente a la distribucion lognormal. El procedimiento para realizar el testde Kolmogorov-Smirnov es el que sigue.

1. Ordenar los valores de la muestra en orden creciente y copiarlos en ellugar correspondiente de la hoja ��Test K-S��. A partir de ahora, x(1) es elprimero de estos valores y x(n) el ultimo.

2. Calcular la funcion Fn(x) en cada punto x(i). En la celda i-esima de lacolumna Fn(x) se calcula el valor de esta funcion para x(i)) mediante laexpresion:

Fn = i500

3. Obtener Di para cada valor xi. Para ello, se calculan en cada x(i) las dossiguientes expresiones1:

a)∣∣Fn(x(i−1))− F(x(i))

∣∣b)

∣∣Fn(x(i))− F(x(i))∣∣y en cada punto Di toma el mayor de los valores anteriores.

4. Obtener el valor del estadıstico de contraste D(α,n) de la tabla 4. Enel cuadro 4.5 se muestran los valores de D(0,9,500), D(0,95,500) yD(0,99,500) con los que se compara maxDi.

PENDIENTEReferencias a la tabla 4

Como D > D(0,9,500), se rechaza la hipotesis de que la muestra sigue unadistribucion lognormal con parametros μ = 2,62 y σ 2 = 1,89 (ver cuadro 4.6).

1para evaluar LN(μ,σ2) en x en Excel se emplea la expresion ��DISTR.LOG.NORM(x;μ,σ )��.

Page 109: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 109

i x(i) Fn(x(i)) F(xi)∣∣Fn(x(i−1)− F(xi)

∣∣ ∣∣Fn(x(i)− F(xi)∣∣ Di1 0,01 0,002 0,000 - 0,002 0,002

2 0,03 0,004 0,000 0,002 0,004 0,004

3 0,05 0,006 0,000 0,004 0,006 0,006

4 0,08 0,008 0,000 0,006 0,008 0,008

5 0,23 0,010 0,001 0,007 0,009 0,009

......

......

......

...

496 127,34 0,992 0,947 0,043 0,045 0,045

497 128,19 0,994 0,948 0,044 0,046 0,046

498 136,26 0,996 0,953 0,041 0,043 0,043

499 158,80 0,998 0,963 0,033 0,035 0,035

500 172,93 1,000 0,967 0,031 0,033

D = maxDi = 0,087

Cuadro 4.5: test de Kolmogorov-Smirnov para la hipotesis LN(2,62,1,89).

Lognormal ExponencialD = 0,124 D = 0,044

D0,9,500 0,055 RECHAZADA ACEPTADA

D0,95,500 0,061 RECHAZADA ACEPTADA

D0,99,500 0,073 RECHAZADA ACEPTADA

Cuadro 4.6: criterio de decision del test K-S.

K-S, ExponencialProcediendo de manera analoga para la hipotesis exponencial2 se obtiene quesegun este test no se puede rechazar con un nivel de confianza del 99 % que lamuestra siga una distribucion Exp(26,9). Por lo tanto, al igual que sucede enel test χ2, se rechaza la hipotesis lognormal y se acepta la exponencial.

ComentariosCabe destacar que, aunque en este caso coincidan, los resultados de los dostests pueden ser diferentes. En estos casos se puede recurrir a otros tests comoAnderson-Darling (ver Law 2001 [1], pags. 351-352).

2para evaluar exp(β) en x en Excel se emplea la expresion ��DISTR.EXP(x; 1/β;VERDADERO))��.

Page 110: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 110

4.5. Ejemplo 3. Test de ajuste empleando Bestfit

A continuacion muestra una herramienta, Bestfit, que permite realizar un testde ajuste para el conjunto de datos anterior, x1, x2, · · · , x500. Bestfit, desarro-llado por Palisade, forma parte del paquete @Risk, del cual es posible descargarversiones de prueba desde la pagina de Palisade (www.Palisade.com)

Para obtener los resultados del test, hay que realizar lo siguiente.

1. Introducir los datos de entrada. El programa permite analizar tres tiposde datos: muestras, curvas de densidad o curvas de distribucion (Fitting /Input Data Options...) Igualmente, permite elegir entre variables discretaso continuas. En este caso, el tipo de datos coincide con la configuracionpor defecto (muestra de una variable continua). Para introducir los 500datos, basta con copiar directamente desde Excel y se pegar sobre lacolumna Sample.

2. Seleccionar la funcion para realizar el ajuste. Bestfit permite hacerlo dedos maneras: o bien se especifica la funcion que se desea ajustar y susparametros, o se deja que sea el programa el que estime los parametrosde las funciones que elija el usuario. Esto se selecciona en (Fitting / Spe-cify Distributions to Fit...) En este ejemplo se deja que el programa estimelos parametros y compare las siguientes funciones: beta, exponencial,gamma, lognormal23, normal, triangular, uniforme y weibull.

3. Realizar el ajuste. Para realizar el ajuste se elige Run Fit en el menu Fit-ting.

4. Interpretar los resultados. Despues del paso anterior se abre una venta-na como la de la figura 4.10. En ella se pueden distinguir tres bloques deinformacion.

a) A la izquierda se enumeran las distribuciones seleccionadasen orden creciente de bondad del ajuste segun tres tests: χ2,Kolmogorov-Smirnov y Anderson-Darling. El test se selecciona enla pestana desplegable de la parte inferior del bloque.

b) En la parte central aparece una grafica que compara el histogramade la muestra con las funcion teorica. Ademas se pueden seleccio-nar otros tres tipos de graficos: Difference, que muestra la diferen-cia en cada punto entre la muestra y la funcion teorica, P-P, dondese representa la probabilidad de la funcion empırica de la mues-tra frente a la funcion de densidad considerada (interesa que sealo mas lineal posible), y Q-Q, donde se representan los percentiles

3Besfit tiene dos formatos para esta funcion y este es el que coincide con el utilizado en estetexto.

Page 111: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 111

de la muestra frente a los de la inversa de la funcion de densidadconsiderada.

c) En la parte derecha aparece un informe de las caracterısticas prin-cipales de la funcion ajustada como son: valor de los parametrosestimados, rango, media, varianza... Seleccionando la opcion GOFse muestran los resultados de los 3 tests de ajuste.

Figura 4.10: ventana de resumen de los resultados del ajuste en Bestfit

Los resultados de cada test se presentan en el cuadro 4.7. No existe una re-gla para decidir que test es mejor en cada caso. Cada uno tiene sus ventajase inconvenientes por lo que una buena opcion es estudiar los resultados delos tres conjuntamente. En este caso, por ejemplo, no hay ninguna razon parapensar que la muestra no se ajusta a una Exp(26,08), ya que los resultados delos tres para esta funcion son aceptables. Aunque tambien es razonable acep-tar que se distribuye segun una Beta(0,88 , 27,35), que es la que proporcionaun ajuste mejor segun los test χ2 y K-S.

Page 112: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 112

Orden χ2 K-S A-D

1o beta beta exp

2o exp exp lognormal

3o lognormal lognormal normal

4o normal normal uniforme

5o triangular triangular beta

6o uniforme uniforme triangular

Cuadro 4.7: orden de las funciones en funcion de la bondad del ajuste.

La estimacion de los parametros se realiza mediante una version mejorada delos estimadores maximo verosımiles (para obtener mas informacion acerca deello ver la ayuda del programa). En algunas funciones los parametros de Bestfitno coinciden con los presentados en la seccion 3.3, por lo que es convenienteconsultar la ayuda para saber que representan exactamente en cada.

4.6. Resumen

Alimentar un modelo de simulacion de la forma correcta es un requisito im-prescindible (aunque no el unico) para realizar un analisis correcta del sistemaestudiado.

Existen tres formas de alimentar un modelo. Con datos historicos, con datosgenerados a partir de una distribucion empırica y con datos generados a travesde una distribucion teorica.

Con los datos historicos es posible realizar la validacion del modelo. Sin em-gargo, como el numero de valores de los datos historicos no suele ser muygrande, no resultan utiles para explorar diferentes configuraciones y evaluarel comportamiento del sistema para tomar una decision.

Al utilizar variables aleatorias se resuelve el problema anterior. Sin embargo,generalmente, es preferible utilizar distribuciones teoricas. Por un lado, per-miten generar valores dentro de un rango mas amplio, son mas manejables ypermiten evitar los errores derivados de las observaciones historicas atıpicas.

Para alimentar un modelo con una funcion de distribucion teorica, es necesariorealizar un test de ajuste, tal y como se realizado, primero con Excel y, despues,con Bestfit.

Page 113: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 4. ANALISIS DE DATOS DE ENTRADA 113

En el siguiente capıtulo se presentan diferentes estrategias de verificacion yvalidacion, para lo cual es necesario disponer de buenos datos de entrada, taly como se ha presentado en este capıtulo.

Page 114: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5

VERIFICACION Y VALIDACION DE MODELOS

PENDIENTE: REVISAR CALIDAD IMAGENES

5.1. Introduccion

DefinicionesPara que un modelo sea de utilidad debe estar “bien hecho”. Esto significa doscosas: primero, debe estar bien programado y, segundo, debe representar bienla realidad. Al proceso que garantiza que un modelo esta bien programado, sele denomina verificacion, mientras que el que se refiere a la representacionadecuada del sistema estudiado, se denomina validacion.

Dicho de otra manera, en terminos de las etapas de un estudio de simulacion,la verificacion garantiza que el modelo informatico es coherente con el modelocomunicactivo desarrollado, que es reflejo del modelo conceptual. Por su par-te, la validacion garantiza el modelo conceptual representa de forma correctael sistema estudiado para los objetivos fijados. En la figura 5.4, el termino vali-dacion aparece reflejando esto ultimo y aparece tambien en la etapa de explo-tacion. La explicacion es que si se desea comparar los resultados que ofreceel modelo con los del sistema real (cuando existe) es necesario disponer delmodelo informatico construido para comprobar que, efectivamente, es valido.Finalemente, la credibilidad de un modelo esta relacionada con la confianzaque se deposita en el en terminos de la puesta en practica de las conclusionesque se obtienen a partir de su analisis.

PENDIENTE: mejorar calidad figura

Page 115: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 115

DE DEO E O DEL

EM

MODELOO E L

MODELOO M O

E LOD E O DE

E E ME O

DO MEM L

E L DO

MODELOOM O

E O D DED O

Figura 5.1: verificacion, validadacion y credibilidad en un estudio de simula-cion.

Un modelo no verificado difıcilmente puede ser valido. Sin embargo, un modelobien verificado no necesariamente es valido, ya que un modelo puede estarmuy bien programado para representar un modelo conceptual muy alejadodel sistema real.

A lo largo del capıtulo se presentan algunas tecnicas relativas a la verficacion yla validacion de modelos, se plantean algunos ejemplos sencillos para ilustrarcomo verificar modelos y se presentan las caracterısticas mas importantes deWitness para facilitar la verificacion de modelos.

5.2. Como verificar un modelo

A continuacion se presentan algunas tecnicas de caracter general para verificarmodelos (consultar Law para profundizar mas).

Tecnicas deverificacion

Emplear, cuando sea posible, una estructura modular. Al construir unmodelo conviene identificar subsistemas independientes, modelarlos yverificarlos por separado. Ademas, estos subsistemas se pueden repetiren un modelo o se pueden reutilizar para otros modelos, de forma que sise dispone de un modulo bien verificado, se podra reutilizar con buenosresultados. Por ejemplo, al modelar una planta de montaje de automovi-les, puede ser interesante modelar de forma independiente, el montajeen bruto, la seccion de pintura y el montaje final, depurar cada modulo

Page 116: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 116

por separado y, finalmente, construir el modelo con todos los elementos.

Es recomendable elaborar los modelos con un grado creciente de deta-lle, comenzando con modelos sencillos e incrementando la complejidada medida que se comprueba que el modelo esta bien programado en ca-da caso. En el ejemplo anterior, en una primera aproximacion, la lineaauxiliar que prepara los motores puede representarse como una unicaactividad, tras comprobar que el modelo es correcto, se puede sustituiresa actividad por un conjunto de actividades que representen los puestosde dicha linea.

La participacion de varias personas puede facilitar la deteccion de erro-res, el intercambio de impresiones al respecto de como elaborar el mode-lo de forma mas eficaz y eficiente, etc. Por otra parte, esto facilitara queel modelo sea mas legible, ya que si varias personas deben trabajar sobreel mismo codigo, sera mas sencillo que este se elabore de tal manera quesea facilmente inteligible por otros programadores.

Si se dispone de suficiente informacion, se puede ejecutar el modelo asig-nando valores a los parametros para los cuales se conocen los resulta-dos que deberıan obtenerse. Por ejemplo, un sistema de espera, paradeterminadas pautas para los tiempos de servicio y para las llegadas delos clientes puede modelarse con teorıa de colas. Por ello, si se alimentael modelo de acuerdo con esos suspuestos, se podrıan comparar con losresultados teoricos. Tras verificarlo, se deberıan introducir los valoresorigninales.

Para conocer en detalle como se comporta el modelo, se puede realizarun seguimiento de los eventos a medida que se ejecutan y ası comprobarque el modelo informatico reproduce el comportamiento deseado.

Tambien se pueden utilizar hipotesis simplificadoras, para las cualesse conoce el comportamiento del sistema y comprobar si el resultadoes correcto. Una forma sencilla puede ser establecer todos los tiemposcomo deterministas y observar si el comportamiento es el esperado.

Los entornos de simulacion comerciales ofrecen la posiblidad de crearuna animacion, cuya observacion puede permitir identificar posibleserrores del modelo. Por ejemplo, al representar el movimientos de lastraspaletas en un almacen, puede ocurrir que existan colisiones que nose identifiquen si no es a traves de la representacion grafica de sus mo-vimientos.

La generacion de numeros aleatorios debe ser consistente con las distri-buciones seleccionadas y, en general, se deben generar valors indepen-dientes. Por ello, se puede comprobar que la media y la varianza de losvalores generados corresponden a los espeardos y, adicionalmente, sepuede realizar algun test de independencia de los valores generados.

Page 117: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 117

En general, las herramientas comerciales ofrecen herramientas especıfi-cas para realizar la verificacion, lo cual constituye una ventaja con res-pecto a los lenguajes de programacion general a la hora de construir unmodelo.

En el siguiente apartado se muestran algunos ejemplos de verificacion paramodelos sencillos construidos con Witness y, ademas, se comentan las herra-mientas especıficas de este entorno que resultan utiles para la depuracion.

5.3. Ejemplos de verificacion

Los ejemplos que se muestran en este epıgrafe son sencillos, con lo cual, mu-chas de las comprobaciones pueden parecer triviales, pero en modelos com-plejos, son extremadamente utiles.

5.3.1. Ejemplo 1

El siguiente ejemplo ilustra la estrategia de verificacion consistente en confi-gurar el modelo con datos de entrada para los cuales se conoce el resultadoteorico.

Un centro de atencion telefonica recibe dos tipos de llamadas: llamadas VIP yllamadas normales. Los tiempos entre llegadas de dichas llamadas siguen dosexponenciales, de medias 20 y 1.5 minutos, respectivamente. A medida quelas llamadas llegan quedan en una unica cola.Existen cuatro operadores de nivel 1 que atienden las llamadas de la cola, demanera que las lamadas VIP tienen preferencia sobre las llamadas normales.Tiempo de atencion de las llamadas sigue una exponencial de media 4 minu-tos, independientemente del tipo de llamada.Despues se derivan a otros operadores especıficos. El tiempo que permane-cen despues en el sistema sigue una normal logarıtmica de media 6 minutosy desviacion tıpica 0.5.Se pide constuir el modelo, realizar una analogıa con la teorıa de colas y com-probar que el modelo es correcto.

El archivo Ejemplo5-1.mod ofrece un posible modelo para representar el sis-tema anterior. Este modelo consta de los siguientes elementos:

LlamadaVIP y LlamadaNormal, elementos tipo entidad activa con un in-tervalo entre llegadas de ��NEGEXP(20)�� Y ��NEGEXP(1.5)��, respectivamen-te.

Page 118: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 118

LlamadasEnEspera es una cola donde se almacenan todas las llamadas,donde la opcion de salida es ��Cualquiera��, para permitir que el elementoque representa a los operadores de nivel 1 pueda atender las llamadasVIP de forma preferente.La actividad OperadoresNivel1, con cantidad igual a 4, mediante la re-gla ��PULL from LlamadaVIP out of LlamadasEnEspera, LlamadaNormalout of LlamadasEnEspera�� atienden primero las llamadas VIP y, al finali-zar, las envıan al resto del sistema.La cola RestoSistema tiene un tiempo de permanencia maximo de��LOGNORML (6,0.5)�� para representar el tiempo durante el cual las lla-madas permancen aun en el sistema. Finalmente, tras ese tiempo, lasllamadas se expulsan del modelo.

Segun la Teorıa de Colas, si n servidores en paralelo cuyos tiempos de serviciosiguen exponenciales de media μ atienden a clientes que llegan segun unaexponencial de media λ, su nivel de ocupacion, ρ, viene dado por la expresionsiguiente:

ρ = μnλ

(5.1)

En el caso del ejercicio, no existe la llegada de un solo cliente, sino dos di-ferentes, que siguen distribuciones exponenciales. En una hora, por terminomedio, llegan 3 llamadas VIP y 40 llamadas normales, es decir, 43 llamadas enconjunto. El tiempo entre llamadas (independientemente del tipo) es 60

43 , quees el valor de λ para la expresion 5.1. Por otra parte, n = 4 y μ = 4, por lo queel tiempo medio de ocupacion esperado sera:

ρ = 4

4 6043

= 71,67 (5.2)

Una posible forma de comprobar si esto es ası es la que se ofrece en el archivoEjemplo5-1 solucion.mod. La solucion consiste en lo siguiente.

Existe un nuevo elemento, de tipo Diagrama de tarta, con dos secto-res, uno con el valor ��PUTIL(OperadoresNivel1,2)�� (para mostrar la pro-porcion del tiempo durante el cual los operadores de nivel 1 han estadoocupados) y el otro con el complemento a 100 de dicho valor. En la fi-gura 5.2 aparece la ventana de configuracion del diagrama de tarta. Paragenerar nuevos sectores es necesario hacer clic en el boton sobre el cualesta el cursor en dicha figura.

PENDIENTE mejorar calidad imagen

Page 119: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 119

Figura 5.2: configuracion del diagrama de tarta

Se han creado nuevos elementos en la representacion del elementoOperadoresNivel1. El mas importante es el elemento de representacionde tipo expresion, para representar ��PUTIL(OperadoresNivel1,2)��.

Figura 5.3: tasa de ocupacion de OperariosNivel1

La figura 5.3 muestra el valor de la tasa de ocupacion de OperadoresNivel1cuando se ha ejecutado el modelo durante un tiempo relativamente grande y,se observa, que el valor obtenido (71.59 %) es muy proximo al valor esperadosegun la teorıa de colas (71,67 %).

Page 120: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 120

El tiempo de servicio no suele ser exponencial. Incluso el tiempo entre las lle-gadas de los clientes podrıa no seguir una distribucion exponencial. En estecaso, una posible forma de proceder serıa modificar el modelo e introducirdistribuciones exponenciales, comprobar que el resultado es correcto para esaconfiguracion y, despues, volver a introducir las distribuciones originales. Seentiende que si los valores son correctos cuando las distribucinoes son expo-nenciales, la logica del modelo es correcta y los seguira siendo al cambiar lasexpresion de los tiempos de servicio y del tiempo entre llegadas de clientes.

5.3.2. Ejemplo 2

Otra manera de verificar el modelo es examinar que eventos y en que instantese producen cuando se ejecuta el modelo.

Confirmar mediante la Ventana de interaccion que, efectivamente, tal y comoesta programado el modelo, las llamadas VIP se atienden preferentemente.

Una posible propuesta, correspondiente al modelo del archivo Ejemplo5-2solucion.mod, consiste en los siguiente:

Modificar el codigo en acciones al entrar y en acciones al salir de Lla-madasEnEspera para registrar y mostrar la cantidad de llamadas de cadatipo que existe cuando entra y cuando sale, respectivamente, una llama-da a la cola LlamadasEnEspera.Ejecutar el modelo Paso a pasoAnalizar el resultado en la Ventana de interaccion

La figura 5.4 muestra el codigo correspondiente a las acciones al entrar. Es-te codigo opera de la siguiente manera. Si la llamada que entra es Normal(��TYPE=LlamadaNormal��) se imprime una cadena de caracteres donde apareceun texto seguido del numero de entidades que hay en el Cola de un determi-nado tipo (utilizando la funcion ��NENTS��, ver el apartado 2.7).

IF TYPE = LlamadaNormal PRINT "\n" + "Llamadas VIP en espera " + NENTS2 (ELEMENT,LlamadaVIP,0)PRINT "Llamadas normales en espera " + STR (NENTS2 (ELEMENT,LlamadaNormal,0))ELSEPRINT "\n" + "Llamadas VIP en espera " + STR (NENTS2 (ELEMENT,LlamadaVIP,0))PRINT "Llamadas normales en espera " + NENTS2 (ELEMENT,LlamadaNormal,0)ENDIF

Figura 5.4: acciones al entrar del elemento LlamadasEnEspera

Page 121: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 121

El codigo correspondiente a las acciones al salir es de naturaleza similar, con launica diferencia de que hay que restar una unidad al valor obtenido mediante��NENTS�� para el tipo de pieza que sale de ColaLlamadas.

La instruccion ��Print�� muestra en la Ventana de interaccion aquello que le

sigue.

��PRINT \n�� introduce un retorno de carro y permite separar texto el lıneas

diferentes.

��PRINT \f�� borra todo el contenido de la Ventana de interaccion

Acciones deentrada y salida

La figura 5.5 muestra parte de lo que se puede visualizar en la Ventana deinteraccion. En el instante 16.73 llega una llamada VIP , entra en LlamadasE-nEspera y se muestra por pantalla el contenido del este elemento. Como hayuna llamada VIP, esta es la primera que deberıa salir en cuanto un operadorse desocupe. Efectivamente, en 16.90 el segundo operador queda libre y de lascuatro llamadas que hay en cola, la que se atiende es la llamada VIP.

Para este caso, se puede comprobar visualmente el comportamiento del siste-ma. Sin embargo, en sistemas mas complejos no es tan sencillo y la ejecuciondel modelo siguiendo la ejecucion de eventos puede ser muy util.

Figura 5.5: analisis de los eventos en la Ventana de Interaccion

5.3.3. Ejemplo 3

Ejecucion pasoa paso

Otra estrategia de depuracion es el analisis detallado de la animacion. En losejercicios anteriores, se ha hecho uso de las herramientas de caracter grafi-co para mostrar informacion, como por ejemplo, al utilizar un diagrama detarta o introduciendo la representacion grafica del valor de una variable.

Page 122: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 122

A modo de ilustracion, en el archivo Ejemplo5-3.mod se muestra un ejemplomuy sencillo de una interseccion de carreteras en T, representadas por ele-mentos de tipo camino. Los coches entran al modelo desde tres localizacionesen los extremos de la T y se dirigen a alguno de los otros dos extremos. Sim-plemente, al representar los coches con iconos sencillo, se puede comprobarque la animacion permite identificar visualmente colisiones entre esos iconos.Una representacion mas detallada, permitirıa evaluar esas posbiles colisionespara casos mas realistas.

5.3.4. Ejemplo 4. Funcionalidades de Witness

En este apartado se presentan algunas funcionalidades adicionales de Witnessque facilitan la verificacion de modelos.

En una parte de una planta pintan y secan productos para servidos a otra par-te de la fabrica. Los productos que hay que pintar llegan a un almacen previoa la zona de pintado segun una exponencial de media 4 minutos.El proceso de pintado puede realizarse con tres calidades: baja, media y alta.Las proporciones en las que deben pintar productos con estas calidades son20, 40 y 40 %, respectivamente.Igualmente, los productos son de tres tamanos: pequeno, mediano y grande,en proporciones del 15, 50 y 35 %. Los tiempos de pintado siguen distribu-cinoes lognormales de parametros (μ,σ ) dependientes del tamano y de lacalidad, y son los que se indican en la siguiente tabla

c. baja c. media c. alta

t. pequeno (2,0,0,22) (2,5,0,30) (3,0,0,3)t. mediano (2,3,0,2) (2,6,0,24) (3,2,0,30)t. grande (2,5,0,2) (2,8,0,30) (3,6,0,35)

El tiempo de secado es de 30 minutos y es independiente de las caracterısticasdel producto. Los productos se transportan a la siguiente area de trabajo enpales completos de cinco unidades, donde los pales puede estar formados porproductos de diferente tipo.

Una posible forma de representar el sistema descrito es el correspondiente alarchivo Ejemplo5-4.mod, cuyas caracterısticas son las siguientes:

Tamano y Calidad son dos atributos de tipo cadena de caracteres, don-de se registraran las caracterısticas de los productos que se pintan.Producto es una entidad que llega al sistema segun una distribucion��NEGEXP(4)��. En las Acciones a la entrada hay un codigo que asigna valo-res a los atributos anteriores de acuerdo con las proporciones dadas.

Page 123: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 123

ColaPintura y ColaEnvio son dos colas que almacenan, respectivamente,las entidades a la espera de ser pintadas y las piezas pintadas y secas.Secado es un un colas con tiempos de permanencia maximo y mınimo eiguales a 30 minutos. Esto junto con la regla de salida ��PUSH to ColaEn-vio�� hace que las entidades, una vez que han pasado 30 minutos en estecola se dirijan a ColaEnvio a la espera de salir del sistema.TiempoPintura es una funcion que devuelve el valor del tiempo de pin-tado, en funcion de dos argumentos Cal y Tam.Pintura es una actividad que representa el proceso de pintado. Eltiempo de ciclo se obtiene invocando la funcion interior con los va-lores de los atributos del Producto que se va a pintar.

Figura 5.6: regla de entrada para Envio

Por ultimo, Envio es una actividad que permite retirar cinco unidadesde Producto cuando estan cinco o mas disponible. Para ello, la Regla deentrada es ��PULL from ColaEnvio�� cuando se cumple ��IF NENTS (Envio)+ NENTS (ColaEnvio) >= 5�� (ver la figura 5.6).

5.3.4.1. Acciones inmediatas

1. Mostrar en la Ventana de interaccion diferentes valores del tiempo deciclo dePintura y comprobar que los valores parecen correctos.

2. Analizar el contenido del cola Secado. En particular, detener el modelocuando haya mas de dos productos en este almacen y mostrar en laVentana de interaccion el valor del atributo Calidad para el productosituado en la segunda posicion del cola Secado.

3. Modificar el valor del atributo Calidad del una pieza almacenada enColaPintura.

Witness dispone de un tipo de acciones conocidas como Acciones inmediatas.Con estas acciones se puede ejecutar codigo cuando el modelo esta detenido.Para ejecutar Acciones inmediatas, es necesario utilizar la barra de herramien-tas Modelo, que tiene el aspecto de la figura 5.7. Si esta barra no esta visible, sepuede mostrar haciendo clic en Ver / Barras de Herramientas / Modelo.

Page 124: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 124

En el cuadro de texto se puede teclear el codigo de la accion. Al hacer clic en elicono situado inmediatamente a la izquierda del cuadro de texto (con un rayo)se ejecuta dicho codigo. Alternativamente, se puede hacer clic en Ejecutar /Acciones inmediatas.

Figura 5.7: barra de herramientas Modelo

Mediante la instruccion ��Print�� es posible mostrar en la Ventana de interaccionaquello que sigue a dicha expresion. Por ejemplo, al ejecutar ��Print TiempoPin-tura(“grande”,“alta”)�� varias veces, se obtiene una secuencia de valores comolos que se muestran en la figura 5.8, que no parecen inconsistentes con losvalores esperados.

Figura 5.8: resultado de la accion ��Print��.

Tambien se pueden utilizar las Acciones inmedaitas para modificar el estadode algun elmento del sistema. Para comprobar esto, se recomienda ejecutar elmodelo hasta que haya, por ejemplo, dos entidades en Secado. La expresion��Nombre Elemento at Numero Entero:Nombre Atributo�� se refiere al valor delatributo Nombre-Atributo de la pieza situada en la posicion Numero-Enterodel elemento Nombre-Elemento.

En particular, ��Secado at 2:Calidad�� se refiere al atributo Calidad de la piezasituada en la segunda posicion de Secado. Si en la ventana de Acciones inmedia-tas se teclea ��Print Secado at 2:Calidad�� aparecera en la Ventana de interaccionel valor de dicho atributo.

printAlternativamente, para conocer el contenido de un elemento, se puede utili-zar la opcion Examinar. En concreto, haciendo clic con el boton derecho encualquier elemento aparece un menu contextual que contiene la opcion Exa-minar.... Al seleccionar esta opcion para Secado, aparece una ventana con elcontenido de dicho elemento, tal y como aparece en la figura 5.9

Page 125: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 125

Figura 5.9: opcion Examinar...

La figura 5.9 muestra el contenido de Secado. Su estado es normal y contie-ne dos entidades Producto, en las posiciones 1 y 2 respectivamente. Paracada una de las entidades, se indican, entre otras cosas, los valores de susatributos y, entre ellos, Calidad y Tamano.

Por ultimo, mediante las Acciones inmediatas es posible modificar el estado dealgun elemento del modelo. Siguiendo el ejemplo previo, al teclear ��Secado at2:Calidad=“alta”�� se accede al atributo Calidad de la entidad situada en lasegunda posicion de Secado y se modifica su valor para que sea “alta”.

En definitiva, para obtener informacion del modelo en un determinado instantese puede utilizar la instruccion ��Print�� combinanda con las Acciones inmedia-tas y la Ventana de interaccion. Tambien se puede modificar el estado de loselementos mediante las Acciones inmediatas.

5.3.4.2. Acciones de usuario

Otra forma de ejecutar codido en un instante determinado, con el modelo de-tenido, es mediante las Acciones de Usuario. La cadena de caracteres que sepuede escribir en las Acciones inmediatas tiene un lımite, por lo que no sirvepara comprobar el comportamiento de un conjunto de acciones relativamentegrande.

Haciendo uso de las Acciones de usuario imprimir por pantalla los valores delos atributos Calidad y Tamano de las entidades que estan en Secado.

Page 126: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 126

Seleccionando la opcion Modelo / Acciones de usuario se abre una ventanasimilar a otras ventanas en las que se introducen acciones.

Figura 5.10: codigo de las Acciones de usuario

Si se introduce y ejecuta el codigo de la figura 5.10 se mostrara en la Ventanade Interaccion el contenido de Secado: el numero de entidades y dos de losatributos de esas entidades, tal y como se puede observar en la figura 5.11.Para ejecutar estas acciones hay que hacer clic en el icono situado a la izquier-da, en la barra de herramientas Modelo (con los iconos de un rayo y un icono).Alternativamente, se puede hacer clic en Ejecutar / Acciones de usuario.

Figura 5.11: resultado tras la ejecucion de las Acciones de usuario.

5.3.4.3. Archivos .trc. Registro en archivo

Se puede disponer de un archivo .trc que ofrece el resultado que se obtieneen la Ventana de interaccion cuando se ejecuta el modelo Paso a paso. Estose puede hacer de dos maneras, bien haciendo clic en el icono que se muestraen la figura 5.12 o bien activando la opcion Ejecutar / Registro en archivo

Figura 5.12: activacion y desactivacion de generacion de archivo .trc

Page 127: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 127

Al activar esta opcion se solicita el nombre del archivo al que se enviara lainformacion. Una vez activado, se puede ejecutar el modelo hasta un determi-nado instante. El resultado es un archivo como Ejemplo5-4-3.trc.

5.3.4.4. Archivo .log. Registro de piezas y fluidos

Se puede generar un archivo .log en el que se registran todas las moficica-ciones relativas a las entidades y a los fluidos del modelo. La activacion deesta opcion tambien se puede hacer de dos maneras, bien haciendo clic en elicono que se muestra en la figura 5.13 o bien activando la opcion Ejecutar /Registro de piezas y fluidos

Figura 5.13: activacion y desactivacion de generacion de archivo .log.

Operando de forma similar al caso anterior, se puede generar un archivo comoEjemplo5-4-4.log. Este archivo ofrece la informacion a cada entidad que seha generado. La figura 5.14, por ejemplo, muestra la informacion correspon-diente a una entidad de tipo Producto. Esta entidad se creo en el instante 0,fue empujada a ColaPintura, de donde fue capturada por Pintura(1), ası hastaser enviada fuera del sistema en el instante 68.34. Adicionalmente, se indicael tiempo que ha permanecido en el modelo (que en este caso coincide con elvalor del instante en el que se envıa fuera del sistema).

Adicionalemnte, al final del archivo .log se puede encontrar un resumen de lainformacion de las entidades del modelo.

Figura 5.14: contenido del archivo .log.

5.3.4.5. Archivo .txt. Seguimiento de variables

Existe un tercer tipo de archivo que devuelve informacion al respecto de comoha evolucionado el sistema y que muestra los diferentes valores que tomanalgunas o todas las variables definidas en el modelo.

Page 128: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 128

Crear una variable que registre el numero de entidades que se han servido detipo calidad alta y tamano grande. Comprobar que representa la proporcionesperada, dadas las probabilidades con las que llegan ese tipo de productos.

Informacion delarchivo .log

Una posilbe forma de computar la cantidad y la proporcion de entidades detipo Producto que son grandes y de calidad alta es la siguiente (y que figura enel archivo Ejemplo5-4-5.mod).

Crear dos variables: Contador, de tipo entero, y Proporcion, de tiporeal.En las acciones al salir de Envio se actualiza Contador si la entidad quese sirve es grande y con calidad de pitado alta. Y en cualquier caso, se ac-tualiza Proporcion como ��Proporcion = Contador/NCREATE(Producto)��.

Figura 5.15: activacion y desactivacion de generacion de archivo .txt

Una vez creadas las variables, para obtener el archivo de seguimiento devariables, hay que activar esa opcion, bien haciendo clic en el boton de la figura5.15 o mediante Ejecutar / Seguimiento. Ademas, es necesario seleccionar lasvariables de las cuales se va a realizar el seguimiento, accediendo al fomularioque se muestra en la figura 5.16.

Figura 5.16: seleccion de las variables para hacer su seguimiento

Page 129: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 129

Despues de hacer todo lo anterior se puede ejecutar el modelo durante untiempo determinado y se obtiene un archivo como Ejemplo5-4-5.txt, delque se ofrece un fragmento en la figura 5.17.

Figura 5.17: contenido del archivo de Seguimiento .txt

5.3.4.6. Depurador

Witness ofrece tambien la herramienta del Depurador, que sirve para ejecu-tar el codigo de manera que sea mas sencillo evaluar si ha sido programadocorrectamente.

A modo de ejemplo, se puede utilizar el depurador para comprobar como seejecuta el codigo de la funcion TiempoPintura. Para activar el depurador, esnecesario activar la opcion Detener y abrir depurador al entrar, tal y comoaparece en la figura 5.18.

Figura 5.18: activacion del depurador.

Page 130: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 130

Despues de activar el depurador, al ejecutar el modelo, cuando sea invocada lafuncion se motrara un formulario como el de la figura 5.19. A la derecha apare-cen algunos botones que permiten gobernar el avance de la ejecucion del codi-go. Por ejemplo, se puede ejecutar el codigo Paso a paso y comprobar cualesinstrucciones se ejecutan y cuales no. Ademas, se muestran la informacion lo-cal del codigo que se esta ejecutando, que en este caso son los argumentosde la funcion Tam y Cal, de manera que, en este caso, se puede comprobar siel valor devuelto por la funcion es el deseado de acuerdo con los valores dedichos argumentos. Adicionalmente, se puede realizar el seguimiento de otrosvalores

Figura 5.19: depurador para el cuerpo de la funcion TiempoPintura.

5.3.4.7. Estructura modular

Por ultimo, otra practica que facilita la construccion de modelos bien verifi-cados es mediante el uso de modulos, que, una vez verificados, se puedenreutilizar bien en un mismo modelo o bien en diferentes modelos.

Crear un modulo con Pintura, Secado, ColaEnvio y Envio y duplicar estos ele-mentos.

Page 131: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 131

La forma mas sencilla para crear un modulo consiste en seleccionar los ele-mentos que se desea que formen parte del modulo en y hacer clic en el botoncomo el de la figura 5.19. A continuacion, Witness solicita el nombre del nue-vo modulo. En el archivo Ejemplo5-4-7.mod a este modulo se le ha dado elnombre PinturaSecado.

Figura 5.20: boton para crear modulos

Al igual que se puede hacer con cualquier elemento que forma parte del mode-lo de simulacion, es posible clonar modulos. Seleccionando el elemento, en es-te caso el modulo PinturaSecado, con Elementos / Clonar se genera un moduloidentico al anterior, pero con un nombre distinto, PinturaSecado01, como semuestra en la figura 5.21.

Figura 5.21: elementos de la simulacion tras clonar el modulo.

Los modulos se pueden almacenar como archivos de tipo .mdl, anadirlos alconjunto de elementos predefinidos y reutilizarlos en nuevos modelos dondeese modulo forme parte de los elementos predefinidos. Se recomienda consularla ayuda de Witness para conocer las diferentes maneras de crear y gestionarmodulos.

5.3.4.8. Documentor

Uno de los aspectos mas importantes para mantener un modelo bien verifica-do es disponer de una buena documentacion del mismo. Como se ha podidocomprobar, el codigo de un modelo de Witness aparece en diferentes elemen-tos y, dentro de cada elemento, en diferentes ventanas. El modulo Documentorpermite recopilar toda esta informacion de manera sistematica en un archivode texto .rtf.

Page 132: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 132

Figura 5.22: ventana para configurar el informe .rtf

Para ello, se puede acceder al menu (Modelo / Documentor...) y aparece unaventana como la de la figura 5.22. El informe que se genera puede contenerinformacion de caracter general, como el nombre del modelo, las notas, lasacciones de inicializacion, etc. y tambien informacion relativa a cada uno de loselementos. De cada uno de los elementos del modelo, se puede elegir documen-tar diferentes aspectos, como las caracterısticas generales (pestana General dela configuracion), las reglas. etc.

En la imagen 5.22 se muestra la ventana para obtrener un informe correspon-diente al modelo del elemplo 5.3.1 y en la imagen

Figura 5.23: fragmento de un informe .rtf correspondiente a la entidad Lla-madaNormal.

Page 133: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 133

5.4. Validacion y credibilidad

La validacion de un modelo consiste en el proceso mediante el cual se garan-tiza la adecuacion de este al sistema estudiado para los objetivos propuestos.Por la propia naturaleza de la tarea, no es posible ofrecer, de manera senci-lla, ejemplos de caracter practico como el resto de los que se proponen eneste libro. A continuacion se citan algunas tecnicas para mejorar la validez delosmodelos construidos (para mas detalle, consultar Law).

Configuraciondel informe

Es necesario recopilar informacion de calidad y de las fuentes adecua-das. En ocasiones esto puede significar hablar con las personas que tra-bajan en el sistema estudiado. Por ejemplo, para conocer el detalle dela operacion de un stock intermedio en una lınea de montaje, puede sermuy interesante preguntar al encargado de esa operacion en la propiaplanta. En otras ocasiones, sera necesario preguntar a los gestores delsistema en cuestion.Cuando la informacion no esta disponible puede ser adecuado tomar me-didas de la operacion del propio sistema o revisar literatura existente alrespecto, bien de caracter teorico o bien a traves de trabajos de natura-leza similar.

Los directivos o responsables de la decisiones relacionadas con el mo-delo deben estar implicados en el proceso. En la medida en la que estosea ası, los objetivos estaran mejor definidos, se dispondra de acceso amas y mejor informacion, etc.

Es muy valioso explicitar las hipotesis del modelo y documentarlas deforma exhaustiva. Existen muchos motivos por los cuales se deben do-cumentar los modelos. En primer lugar, dado que existen diferentes par-ticipantes en un estudio de simulacion, si se explicitan las hipotesis, esposible que alguno de ellos identifique asunciones no validas. Como esposible que diferentes personas programen el codigo, de esta manera seevitan inconsistencias en el desarrllo del modelo. Igualmente, cuando semodifica un modelo previamente desarrollado, conviene tener presentestodas las hipotesis que se admitieron cuando se construyo inicialmente,para comprobar si esas hipotesis siguen siendo validas o no.

Se deben utilizar tecnicas cuantitativas para validar el modelo. Por ejem-plo, cuando se generan numeros aleatorios para fenomenos que son in-dependientes, conviene garantizar que esto sea ası. Para ello, se puedenrealizar tests sobre los valores correspondientes a dichos fenomenos.Por otro lado, para aspectos relativamente importantes del modelo esinteresante realizar un analisis de sensibilidad. Por ejemplo, el analisisde sensibilidad se puede referir al nivel de detalle. Si se representa unconjunto de procesos quımicos, se puede discretizar el problema y re-presentar todo el fluido en paquetes de determinado volumen. El analisis

Page 134: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 5. VERIFICACION Y VALIDACION DE MODELOS 134

de sensibilidad permitirıa obtener un tamano adecuado de los paquetessin un consumo de recursos de computacion demasiado elevado.

Cuando el modelo esta finalmente construido hay que analizar los re-sultados finales con detalle. Es posible constrastar los resultados delmodelo con datos historicos del mismo. Para esta tarea es adecuado ali-mentar al modelo con datos historicos, y comparar los valores de lasvariables de salida que ofrece el modelo con los que se dieron en la reali-dad. En caso de que el sistema no exista, conviene discutir los resultadoscon expertos, conocedores del comportamiento de sistemas parecidos alestudiado o, incluso, comparar los resultados de ese modelo con el deotros de naturaleza parecida y que hayan sido validados previamente.

La animacion puede ser de gran utilidad para realizar el estudio, ya quepuede permitir observar la evolucion del modelo y que las personas quepueden contribuir a la validacion del modelo dispongan de mas informa-cion.

Por ultimo, la credibilidad de un modelo consiste en la confianza que depositanen ese modelo las personas responsables de tomar decisiones. Queda fuera delalcance de este texto discutir en profundidad como construir modelos creıbles,aunque es una tarea de gran importancia. Algunas de las pautas relativas a lavalidacion tambien contribuyen positivamente a la credibilidad de un modelo.Por ejemplo, la implicacion de los directivos o la aprobacion por parte de algunexperto con credito para los directivos pueden concederle mas credibilidadal modelo. Por ultimo, conviene senalar que un modelo podra ser tanto mascreıble cuanto mas valido sea, aunque no existen garantıas de que un modeloperfectamente validado resulte creıble.

5.5. Resumen

ValidacionLos procesos de verificacion y validacion garantizan, respectivamente, que unmodelo de simulacion esta bien programado y que un modelo representa deforma adecuada el sistema estudiado para los objetivos propuestos. Existendiferentes tecnicas, algunas de las cuales se han presentado brevemente eneste capıtulo. En particular, se han mostrado algunos ejemplos de verificaciony se han presentado las herramientas mas importantes de las que disponeWitness para realizar las tareas de verificacion.

Tecnicas para lavalidacion

Un modelo bien verificado y validado se pueden explotar para ayudar a latoma de decisiones. Para ello, es necesario realizar el analisis de las variablesde salida de forma rigurosa, que es a lo que se dedica el capıtulo siguiente.

Page 135: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6

ANALISIS DE DATOS DE SALIDA. ANALISIS

DE UNA ALTERNATIVA

6.1. Introduccion

En un estudio de simulacion, cuando se dispone de un modelo bien construidoy alimentado con datos de entrada correctos, es posible realizar la explotaciondel modelo. Realizar el analisis de comportamiento de las variables de salidade forma correcta es especialmente importante, ya que de ese analisis depen-deran las decisiones que se adopten. El proposito mas frecuente de un estudiode simulacion suele ser analizar el comportamiento de un sistema (para unaconfiguracion determinada) o comparar dos o mas configuraciones alternati-vas para dicho sistema. En este capıtulo se trata el primer caso, y en el capıtulo7 se aborda como realizar la comparacion de alternativas.

Es necesarioanalizar conrigor los datosde salida

Durante la simulacion, para reproducir el comportamiento del sistema estu-diad se usan valores aleatorios de las variables de entrada, que siguen distribu-ciones conocidas (por ejemplo, la frecuencia de llegada de clientes a un bancopuede seguir una exponencial). Los resultados de la simulacion dependen deestos valores y, debido a ello, las variables de salida tambien son aleatoriaspero con el inconveniente de que en este caso no se conoce su distribucion.

Dos errorescomunes

Existen dos errores que se cometen con frecuencia en relacion con la naturale-za estocastica de los sistemas que se analizan mediante simulacion. El primeroconsiste en analizar el comportamiento durante un solo periodo de tiempo, esdecir, realizar una sola replicacion. Por ejemplo, serıa erroneo extraer conclu-siones sobre el funcionamiento de un puerto mediante en analisis del modelodurante un solo mes. Los datos correspondientes a ese mes pueden no ser re-presentativos. Es necesario realizar varias replicaciones y obtener informacionsignificativa a patir de ellas. El segundo error consiste en realizar la experi-mentacion de forma poco rigurosa y estadısticamente erronea. Por ejemplo, siexiste correlacion entre los datos obtenidos en una replicacion y los datos dela anterior, en analisis que se propone aquı no tiene validez y las conclusionespueden ser equivocadas.

Page 136: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 136

Caracterizacionde un sistema

En primera aproximacion, se puede caracterizar una variable aleatoria median-te un valor puntual acompanado de un intervalo de confianza que mida elerror de esta estimacion. Tambien se pueden realizar analisis de otra naturale-za para caracterizar aspectos diferentes del valor esperado para las variablesde salida, como, por ejemplo, la probabilidad de que ocurra un determina-do fenomeno (la probabilidad de que se produzca, por ejemplo, un rotura destock).

Estructura delcapıtulo

A lo largo del resto del capıtulo se presenta como realizar el analisis de unaalternativa. En primer lugar, en la seccion 6.2 se presenta la diferencia entrele regimen permanente y el regimen transitorio. En la sigiente seccion, 6.3, sedescriben los tipos de simulacion atendiendo al tipo de analisis que requierecada una de ellas: las simulaciones con terminacion, cuyo analisis se presentacon detalle en la seccion 6.4 y las simulaciones sin terminacion, a las que sededica la seccion 6.5. En la seccion 6.6 se proponen dos ejemplo, uno paracada tipo de simulacion. Finalmente, se resumen las ideas mas importantesdel capıtulo en la seccion 6.7.

6.2. Regimen transitorio y regimen estacionario

Comportamientode las variablesde salida

Para ilustrar el concepto de regimen permanente, vamos a emplear un ejemplosencillo. Imaginemos una lınea de montaje de electrodomesticos. Una variablede salida para en un estudio de simulacion de dicha lınea podrıa ser la produc-cion de electrodomesticos. Podrıamos, en particular, considerar las variablesde salida Yi como el numero de productos finalizados en la hora i-esima. Exis-ten varias consideraciones importantes al respecto de estas variables.

Yi en una variable aleatoria, es decir, la produccion de durante la hora ino es un valor determinista. Dado que la evolucion del sistema dependede fenomenos aleatorios, la produccion en cada hora no se puede deter-minar de forma inequıvoca. Sin embargo, sı que existe una funcion dedistribucion para las variables Yi, FYi(y) = p(Yi ≤ y).Siempre existen condiciones inciales del sistema, I. Para este ejemplo, lascondiciones iniciales podrıan ser: el contenido de la lınea al comienzo dela simulacion, el tiempo restante hasta la siguiente averıa de cada unade las maquinas, etc. La produccion horaria dependera de las condicio-nes iniciales del sistema durante un determinado periodo de tiempo. Enefecto, si la lınea esta inicialmente vacıa, la produccion correspondientea las primeras horas sera menor que si esta llena.Tıpicamente, a patir de cierto instante, el comportamiento de Yi no de-pende de las condiciones iniciales y, ademas, no cambia con el tiempo.Es decir, FYi(y) = FYi−1(y), lo que siginifica que el comportamiento dela variable de salida se ha estabilizado. Es decir, la funcion de distribu-cion de la variable de salida no cambia. Esto no siginifica que el valor dela variable de salida ya no se modifique. Para cada valor de i, una vez

Page 137: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 137

estabilizado el comportamiento de Y , se obtendra un posible valor deacuerdo con la funcion de distribucion FY (y)

{PENDIENTE: poner figura con evolucion de las Fs y referencia a ella en el texto}

Regimentransitorio yregimenpermanente

En los sistemas en los que, efectivamente, el comportamiento de las variablesse estabiliza a partir de un cierto instante, se puede distinguir entre el regi-men transitorio y el regimen permanente. El regimen transitorio es el tiempodurante el cual las funciones de distribucion de Yi cambian con el tiempo. Elregimen permanente se alcanza una vez que dichas variables aleatorias ya nose modifican con el tiempo. El regimen transitorio sı depende de las condicio-nes iniciales. El tiempo en el que se tarda en alcanzar el regimen permanentedepende de las condiciones iniciales, pero no ası el regimen permanente pro-piamente dicho.

6.3. Tipos de simulacion

La importancia relativa y el tratamiento de los regımenes transitorio y estacio-nario dependen del tipo de simulacion. En este sentido, existen dos tipos desimulacion: simulacion sin terminacion y simulacion con terminacion.

Simulacionescon terminacion

Una simulacion con terminacion es aquella en la que el final de la mismaesta definido por un evento interno que sucede en t = TE y, por lo tanto,tiene una duracion definida en el intervalo temporal [0, TE]. Tıpicamente, traseste instante el sistema es devuelto un estado determinado, a partir del cualvuelve a comenzar a operar. Por ejemplo, la operacion de la sucursal de unbanco puede ser una simulacion terminacion, donde al final de cada joranadael banco se vacıa y al dıa siguiente se comienza de nuevo con la sucursal vacıa.

Simulaciones sinterminacion

Por otro lado, una simulacion sin terminacion es aquella en la que no hayun evento que marque el fin de la misma y en la que el inicio tampoco sueleuna parte representativa del mismo. Las simulaciones sin terminacion puedenser de tres tipos. Con regimen permanente, en las que, como se ha comentadoantes, el comportamiento de las variables de salida se estabiliza y a partirde cierto instante ya no varıa. Con regimen permanente periodico, en que sepuede observar un comportamiento cıclico de las variables de salida. Otrostipos en los que no se puede hablar de ningun regimen permanente ni cıclico.

En este texto nos ocuparemos de las simulaciones sin terminacion y las simi-luaciones con terminacion y con regimen permanente.

Page 138: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 138

Analisis de lassimulacionesconnterminacion

Los problemas especıficos de los que depende el analisis de las simulacionescon terminacion son dos: establecer las condiciones inciales y caracterizar lasvariables de salida.

Condiciones inciales. Para obtener resultados fiables, es necesario repre-sentar, con la herramienta de software correspondiente, las condicionesiniciales a partir de las cuales opera el sistema.Estimacion de media y de otros parametros. Tıpicamente, en un primeranalisis se obtiene una estimacion de la media de la variable de salidaestudiada y un intervalo de confianza para la misma. Por supuesto, sepueden realizar analisis mas amplios.

Analisis de lassimulaciones sinterminacion

En el caso de las las simulaciones sin terminacion, los problemas son los si-guientes.

Estimar cuando se ha alcanzado el regimen permanente para deterim-nar cual es el tiempo de calentamiento durante el cual se debe correr elmodelo y a partir del cual se deben tomar resultados.Estimacion de media y de otros parametros, como en el caso de las simu-laciones con terminacion. En este caso, como se comentara, existen dosalternativas.

A continuacion se trata detalladamente como realizar estos dos tipos de anali-sis, explicando como caracterizar los resultados de la simulacion.

6.4. Analisis de los datos de salida de simulaciones con termi-nacion

Partiendo de n replicaciones de un modelo con terminacion, donde cada unaempieza con las mismas condiciones iniciales y termina con el evento E, la in-dependencia de estas replicaciones depende de la independencia de los nume-ros aleatorios usados en cada una de ellas. Por simplicidad, se supone a par-tir de ahora que unicamente interesa el resultado de una variable del mo-delo Y , donde el valor tomado en cada replicacion se expresa mediante yj(j = 1, · · · , n). A continuacion se detalla como llevar a cabo el analisis de estetipo de simulaciones.

6.4.1. Estimacion de parametros

Estimacion de lamedia

Generalmente, la primera forma de caracterizar un sistema es mediante la esti-macion del valor esperado (media) de la variable de salida estudiada, μY . Rea-lizando n replicaciones independientes, se obtiene una muestra y1, · · · , yncuya media Y(n) es un estimador sin sesgo del valor esperado de la varia-ble de salida. Sin embargo, aunque sea un estimador sin sesgo, como se ha

Page 139: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 139

obtenido a partir de una muestra finita de valores, se desconoce como de cer-ca esta Y(n) de μY . Por este motivo conviene acompanar a este valor de unintervalo de confianza cuya expresion es:⎡⎣Y(n)− tn−1,1−α/2

√S2(n)n

,Y(n)+ tn−1,1−α/2

√S2(n)n

⎤⎦ (6.1)

Intervalo deconfianza parala media

donde Y(n) =∑ni=1 yin y S2 =

∑ni=1(yi−Y(n))2

n−1

La probabilidad de que μY este contenido en el intervalo anterior es cercanaa 1 − α (tanto mas cuanto mas cerca este Y de una distribucion normal). Engeneral, se obtienen mejores resultados con variables que siguen una distribu-cion simetrica y con valores de n altos (consultar el capıtulo 3, de repaso deestadıstica).

Obtener unaprecisionconcreta

Cuanto mayor es el nivel de confianza, 1 − α, mayor es la amplitud del inter-valo que acompana al valor puntual y, por lo tanto, menor la precision de laestimacion de la variable deseada. Explicado de otra manera, para un determi-nado numero n de observaciones de la variable de salida, cuanto mayor es laamplitud del intervalo mayor sera la probabilidad de que dicho intervalo con-tenga, efectivamente, a la media. Para aumentar esta precision, o lo que es lomismo reducir la amplitud del intervalo para un α determinado, existen dosalternativas:

Aumentar el numero de observaciones de la variable de salida, es decir,aumentar el numero de replicaciones n.Reducir la varianza de la muestra. Este punto es ampliamente descritoen el capıtulo 9

A continuacion se explica como determinar el numero de replicaciones nece-sarias para estimar μY con un error de precision concreto.

Estimacion de la media con un determinado error absoluto maximo

Numero dereplicacionespara obtener unerror absolutomaximo

El error en la estimacion de la media es β = |Y(n) − μY |, por lo que el error

absoluto maximo de la estimacion de la media es tn−1,1−α/2√S2(n) . En efecto,

si la media pertenece al intervalo de confianza dado por la expresion 6.1, enel peor de los casos, el error maximo se comete si la media μY es igual a unode los dos extremos del intervalo, en cuyo caso, el error cometido al estimar lamedia con Y(n) es igual a la semiamplitud del intervalo. Por lo tanto el numerode replicaciones necesarias, na(β), para obtener un error absoluto maximo enla estimacion, β :

na(β) =min⎧⎨⎩i ≥ n tal que ti−1,1−α/2

√S2(n)i

≤ β⎫⎬⎭ (6.2)

Page 140: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 140

Para calcular na(β) hay que seguir los siguientes pasos:

1. Realizar n ≥ 2 replicaciones y calcular S2(n).2. Para ese valor de S2(n), iterar incrementando i hasta encontrar un valor

que cumpla

ti−1,1−α/2

√S2(n)i

≤ β

3. Una vez encontrado ese valor de i, realizar na(β) − n replicaciones adi-cionales. Con las na(β) observaciones de Y , calcular un intervalo comoel de la expresion 6.1

La precision de 6.2 depende de la efectividad de S2(n) como estimador deVar(Y), por lo que n debe ser suficientemente alto.

Estimacion de la media con un determinado error relativo maximo

Numero dereplicacionespara obtener unerror relativomaximo

Alternativamente se puede perseguir un intervalo de confianza con un errorrelativo maximo, que viene dado por la expresion Y(n) tiene un error relativoγ, donde

∣∣∣Y(n)− μY∣∣∣ / |μY | = γ. Para encontrar el numero de replicacionesnecesarias para obtener esa precision se calcula:

na(γ) =min

⎧⎪⎨⎪⎩i ≥ n tal queti−1,1−α/2

√S2(n)i

Y (n)≤ γ

1− γ

⎫⎪⎬⎪⎭ (6.3)

El proceso para obtener una estimacion de μY , con un error relativo γ y unnivel de confianza 1−α, es el siguiente:

1. Realizar n ≥ 2 replicaciones y calcular S2(n).2. Para ese valor de S(n)2, calcular na(γ), segun 6.3.3. Realizar na(γ) − n replicaciones adicionales y tomar Y(na(γ)) como

estimador puntual de μY con un intervalo de confianza:[Y(na(γ))− tna(γ)−1,1−α/2

√S2(na(γ))na(γ)

, Y(na(γ))+ tna(γ)−1,1−α/2

√S2(na(γ))na(γ)

]

Estimacion de otros parametros

Hay casos en los que interesa estudiar otros valores relativos al compor-tamiento del sistema diferentes al valor esperado de una variable. Porejemplo, si se analiza el funcionamiento de una cola, puede interesar, ademasdel tiempo medio de espera, conocer en profundidad como se distribuye esaespera: la probabilidad de que el tiempo en cola supere un valor concreto, latasa de ocupacion de los puestos de servicio, etc. En otro caso, por ejemplo,puede ser interesante conocer la probabilidad de que un pedido se rechaceporque el sistema de fabricacion este saturado.

Page 141: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 141

Estimacion delparametro deuna distribucionbinomial

Aunque queda fuera del alcance de este texto revisar en profundidad este tipode analisis, a continuacion, a tıtulo ilustrativo, se comenta un ejemplo. Paraestimar la probabilidad p de que una variable Y tome algun valor dentro delintervalo B, es decir, P(Y∈ B) basta con realizar n replicaciones independien-tes, con las que se obtiene una muestra y1, · · ·yn. Sea S el numero de ob-servaciones que caen dentro del intervalo B. La variable S se distribuye segununa binomial de parametros p y n. El valor de p y su intervalo de confianzaasociado (con un nivel 1−α) se estima mediante las expresiones:

p = Sn⎡⎣p − z1−α/2

√p(1− p)

n, p − z1−α/2

√p(1− p)

n

⎤⎦ (6.4)

donde z1−α/2 es la probabilidad de que una variable que se distribuye segunun normal estandar sea menor que 1−α/2.

6.4.2. Eleccion de las condiciones iniciales

El problema deestablecer lascondicionesiniciales

Como se indica en la seccion 6.3, la eleccion de las condiciones iniciales esuna parte importante en el analisis de simulaciones con terminacion, ya queel comportamiento durante el regimen transitorio es relevante para el analisis.En algunos casos las condiciones iniciales estan bien definidas y su eleccionno constituye un problema. En ejemplo de la sucursal bancaria, al comienzo decada jornada no hay clientes ni en las colas de espera ni en los puestos. Pero enotros casos esta eleccion no es tan sencilla. Por ejemplo, si se pretende estudiarel funcionamiento de la oficina bancaria solo entre las doce del mediodıa y elcierre de la misma. A continuacion se explican dos metodos para la eleccionde las condiciones iniciales, ilustradas con el ejemplo anterior.

Comenzardesde un estadoprevio conocido

El primero de ellos consiste en comenzar la simulacion desde un esta-do previo conocido y ejecutar el modelo hasta el instante a partir delcual se desea realizar el analisis del modelo. En el ejemplo del banco,se simularıa desde la apertura de la oficina hasta el cierre, pero solose tendrıan en cuenta los tiempos de espera a partir las 12:00 pm. Estemetodo presenta dos desventajas: la primera de ellas es el coste de untiempo de simulacion ya que el modelo corre durante un tiempo solopara que este las condiciones iniciales adecuadas a partir del instanteinicial del periodo que se desea analizar; la segunda desventaja es queno ofrece garantıas de que el estado a partir del cual comienza la tomade datos sea representativo de las verdaderas condiciones iniciales delsistema.

Page 142: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 142

Reproducir elestado inicial apatir de datoshistoricos

El segundo metodo consiste en recoger datos del estado de las variablesen el sistema real y modelar las condiciones iniciales a partir de las dis-tribuciones de probabilidad que mejor se ajusten a los mismos. De estemodo, las condiciones iniciales de cada replicacion vendran determina-das por variables aleatorias independientes. Aplicandolo al ejemplo, setratarıa de tomar muestras en el sistema del numero de clientes a las12:00 pm, e intentar ajustar estos datos mediante una funcion de proba-bilidad para, posteriormente, al iniciar cada replicacion generar valoresde dichas variables con los cuales configurar el estado inicial del modelo.

6.5. Analisis de los datos de salida de simulaciones sin termi-nacion

El problema deltiempo decalentamiento

En las simulaciones sin terminacion, las condiciones iniciales y la duracion dela simulacion no son relevantes para la evaluacion del comportamiento delsistema y, generalmente, interesa el comportamiento durante el regimen esta-cionario. En estos casos, hay que aislar la parte de la simulacion pertenecienteal regimen transitorio, que depende del estado inicial del modelo, para no in-cluirla en el analisis. Si no se hace ası, dado que el valor esperado de la variablede salida es diferente en el regimen transitorio con respecto al estacionario, laestimacion obtenida tiene un sesgo respecto al verdadero valor esperado du-rante el regimen estacionario. Independientemente de las condiciones inicialeselegidas, pasado un tiempo, la simulacion converge al regimen estacionario sinafectar al valor esperado, aunque el tiempo que tarda en converger sı dependede las condiciones iniciales. Por lo tanto, es necesario identificar el regimentransitorio y ejecutar el modelo durante un periodo de tiempo hasta que elcomportamiento de la variable de salida (y en particular su valor esperado) seestabilice. Cuando se alcanza este momento, a partir del estado en el que seencuentra el modelo, se comienza la toma de datos de las variables de salidapara el analisis del sistema. El tiempo durante el cual hay que correr el modeloantes de tomar datos se conoce como tiempo de calentamiento del modelo.

Expresionmatematica delproblema

Si se denomina Y(j) a la variable aleatoria que caracteriza el comportamientode la variable de salida Y en el j-esimo valor observado en la simulacion, elobjetivo es encontrar:

μY = lımj→∞

E(Y(j))

Si se dispone de un conjunto de m valores de la variable de salida Y ,y(1), · · · , y(m), correspondientes a los instantes 1,2, · · · ,m, estimar el valor

de μY a patir de la media de todos esos valores(Y(m) =

∑mj=1 y(j)m

)es claramen-

te erroneo ya que existen observaciones que pertenecen al regimen transitorioy, por lo tanto, no corresponden a valores de la variable aleatoria Y una vez sucomportamiento de ha estabilizado.

Page 143: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 143

Un estimador menos sesgado que el anterior consistirıa en eliminar todosaquellos valores que pertenecen al regimen transitorio. Es decir, obtener elsiguiente estimador, donde l representa el conjunto de observaciones que per-tenecen al regimen permanente:

Y(m, l) =∑mj=l+1y(j)m− l (0 ≤ l ≤m− 1)

Y(m, l) es un estimador de μY menos sesgado que Y(m) al haber eliminado lasobservaciones dependientes de condiciones iniciales. El problema del tiempode calentamiento consiste, entonces, en determinar l, es decir cuanto tarda elsistema en alcanzar aproximadamente el regimen estacionario.

Errores en elcalculo deltiempo decalentamiento

Convierte senalar, que la eleccion de un valor demasiado elevado para l setraduicirıa en una menor eficiencia de computacion, ya que se descartarıanvalores de la variable de salida que sı pertenecen al regimen permanente, con loque se estarıa empleando un tiempo de computacion mayor del estrictamentenecesario para obtener un estimador de la media. Por otro lado, la eleccion deun valor de l demasiado pequeno harıa que el estimador fuera sesgado, quees, precisamente, lo que se trata de evitar. Por ello, es importante disponer deuna tecnica que permita obtener un valor de l suficientemente grande comopara evitar el incluir observaciones del regiment tansitorio pero sin incurrir enelevados tiempo de computacion.

6.5.1. Calculo del tiempo de calentamiento

El metodo deWelch

El metodo de Welch es un metodo sencillo, de caracter grafico, que permitedeterminar el tiempo de calentamiento. En general, es difıcil determinar l yaque, a pesar de que con la evolucion de la simulacion E(y(j)) → μY , cualquiermuestra analizada y(1), y(2), · · · esta compuesta por valores aleatorios y estatendencia, generalmente, no se aprecia de forma nıtida (ver figura 6.1).

Page 144: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 144

Figura 6.1: representacion de una muestra y(j).

El metodo de Welch se basa en contrarrestar esta aleatoriedad estudiando, envez de una sola muestra, el promedio de las observaciones de varias repli-caciones. En lo que sigue, se denota con yi(j) a la j-esima observacion de lareplicacion i-esima (i = 1, · · · , n y j = 1, · · · ,m). El metodo de Welch constade cuatro pasos:

1. Realizar n replicaciones (n ≥ 5) de longitudm, dondem debe ser grandeen relacion al valor esperado de l.

2. Obtener:

y(j) =∑ni=1yi(j)n

para i = 1,2, · · · ,m. La serie y(1), y(2), · · · , y(n) tiene un valor espera-do E(Y (j)) = E(Y(j)) y varianza Var(Y (j)) = Var(Y(j))/n.

3. Para alisar las oscilaciones de alta frecuencia de y(1), y(2), · · · (peromanteniendo la tendencia de su evolucion) se define la media movily(j)(w) como:

y(j)(w) =

⎧⎪⎨⎪⎩∑ws=−w y(j+s)

2w+1 , si j = w + 1, · · · ,m−w,∑j−1s=−(j−1) y(j+s)

2j−1 , si j = 1, · · · ,w(6.5)

4. Representar Y(j)(w) para j = 1,2, · · · ,m −w y darle a l el valor de jpara el que la serie y(1)(w),y(2)(w), · · · parezca converger (ver figura6.3).

Page 145: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 145

Figura 6.2: calculo de la media movil para w = 1.

{PENDIENTE.Ampliar la figura, cambiar el PIE para que quede mejor ilustrado}

Figura 6.3: representacion grafica de una media movil (w = 20).

Recomendacionespara el metodode Welch

Al aplicar este metodo es recomendable:

Realizar 5 o 10 replicaciones con m mucho mayor que el valor previstopara l. En particular, m debe ser lo bastante grande para permitir queocurran eventos poco frecuentes (p.e. averıas en las maquinas).

Representar Y(i)(w), aumentando el valor de w hasta que la curva apa-rezca razonablemente lisa. A partir de esta grafica elegir l.

Si no se encuentra ningun w que alise la grafica lo suficiente, aumentarel numero de replicaciones y repetir el proceso desde el paso 2.

El principal inconveniente de este metodo es que el numero de replicacionesnecesarias para elegir l puede ser relativamente alto si la variable Y presentamucha variabilidad. A esto hay que sumar que la eleccion de l no se realiza deuna manera objetiva.

Page 146: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 146

6.5.2. Estimacion de parametros

Para estimar el valor esperado de una variable de salida, existen dos alterna-tivas: realizar varias replicaciones o realizar una unica replicacion de mayorlongitud. A continuacion se presentan estas dos alternativas.

Multiples replicaciones

Una primera forma de obtener estimacion de parametros consiste en lo quese denomiena metodo de replicacion/eliminacion, que consiste en realizar nreplicaciones independientes de longitud m, descartando la parte correspon-diente al tiempo de calentamiento en cada una de ellas. Los datos restantes seanalizan como en el caso de simulaciones con terminacion (ver apartado 6.4).Suponiendo que se realizan n replicaciones de longitud m cada una (donde mes mucho mayor que l), se define yi como:

yi =∑mj=l+1yi(j)m− l

con i = 1,2, · · · , n, entonces E(yi) ≈ μY y para dar una estimacion acom-panada de un intervalo de confianza al (1 − α) para la variable de salida seemplea la siguiente expresion:⎡⎣Y(n)− tn−1,1−α/2

√S2(n)n

,Y(n)+ tn−1,1−α/2

√S2(n)n

⎤⎦ (6.6)

donde Y(n) y S2 tiene la misma expresion que en 6.1.

{PENDIENTE. Cambiar figura, que ponga Y mayuscula}

Page 147: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 147

Figura 6.4: estimacion de parametros en simulaciones sin terminacion. Metodode multiples replicaciones.

Replicacion unica

En el metodo de replicacion unica solo se hace una replicacion pero con untamano muy superior a las anteriores. Una vez eliminadas las primeras l ob-servaciones, se agrupan los datos restantes en k lotes de longitud m que seanalizan de la misma forma que en el metodo replicacion/eliminacion. Por lotanto, la duracion total de la replicacion es l + k · · ·m (ver figura 6.5). Comoventaja, solamente hay que eliminar un tiempo de calentamiento que tiene lamisma duracion que el eliminado en cada una de las replicaciones anteriores.

{PENDIENTE. Cambiar figura, que ponga Y mayuscula}

Page 148: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 148

Figura 6.5: estimacion de parametros en simulaciones sin terminacion. Metodode replicacion unica.

El inconvenientede realizar unaunicareplicacion

La dificultad de este metodo se encuentra en la eleccion de m, por la siguienterazon. Dado que el comienzo de cada conjunto de datos esta obtenido a partirde la situacion en la que quedo el modelo despues del conjunto de datos inme-diatamente anterior, existe correlacion entre los valores de la variable de salidade un lote y del inmediatamente anterior. Cuanto mayor es el valor de m, masdebil es la correlacion, de manera que para valores relativamente grandes, lacorrelacion es despreciable y el analisis propuesto es valido. El problema con-siste, por lo tanto, en escoger un valor de m suficientemente elevado para quela correlacion no sea apreciable pero no tan elevado como para que el esfuer-zo computacional resulte ineficiente. Para obtener mas informacion acerca decomo elegir k se recomienda consultar Banks, 2000.

6.6. Ejemplos de aplicacion

A continuacion se proponen dos ejemplos. En el primero, se estima la mediay la probabilidad de que una variable de salida tome valores dentro de undeterminado intervalo. En el segundo se calcula el tiempo de calentamientopara un sistema dado.

Page 149: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 149

6.6.1. Ejemplo 6.1: analisis de los datos de salida de un estudio desimulacion sin terminacion

Una sucursal bancaria abre a las 9:00 de la manana y cierra sus puertas alas 14:00, pero la sucursal no termina el servicio hasta que son atendidostodos los clientes que estan dentro en el momento del cierre. La oficinatiene tres puestos de servicio: dos cajas, donde se atienden las operacionesmas rapidas, y una mesa, donde se llevan a cabo los servicios de mayorimportancia que, ademas, requieren mas tiempo. Los clientes se puedenagrupar en tres tipos, cuya caracterizacion viene dada por la tabla siguiente:

Cliente A Cliente B Cliente C

Tiempo entre llegadas (min) Exp(4) Exp(20) Exp(50)

Tiempo servicio caja (min) Gamma(6,1) Gamma(4,2) -

Tiempo servicio en mesa (min) - Gamma(3,5) Gamma(6,5)

Se pide estimar:

el tiempo medio que los clientes pasan en la cola, acompanado de unintervalo de confianza al 90 % con un error relativo maximo para laestimacion de la media menor del 15 %;la probabilidad de que el servicio se extienda mas alla de las 14:00.Calcular el valor puntual acompanado de un intervalo de confianza al90 %.

Para resolver el ejemplo, inicialmente se realizan 20 replicaciones del modelo,y a partir de S2(n) de esta muestra se calcula el numero total de replicacionesnecesarias para conseguir la precision pedida. Con los valores de la variablede salida obtenidos se estima el valor esperado del tiempo de espera, acom-panado de su intervalo de confianza. Para completar el ejemplo se calcula laprobabilidad de que en un dıa concreto haya clientes esperando a ser servidosa la hora de cerrar las puertas.

PlanteamientoPara seguir la resolucion del ejemplo se recomienda trabajar sobre los siguien-tes ficheros:

Ejemplo1-1.mod: contiene el modelo del sistema en Witness.Ejemplo6-1.xls: es la hoja de calculo donde se propone resolver elejemplo.Ejemplo6-1 experimento1.xpt: archivo preparado para obtener 20 re-plicaciones independientes.Ejemplo6-1 experimento2.xpt: archivo preparado para obtener las re-plicaciones adicionales.

Page 150: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 150

Ejemplo6-1 solucion.xls: muestra como debe quedar la hoja decalculo una vez resuelto el ejemplo.

Archivosdisponibles

El experimentoEl primer paso es abrir el modelo Ejemplo1-1.mod. Se compone, principal-mente, de:

Tres elementos de tipo entidadpara modelan los tres tipos de clientes.Tres elementos actividadpara los puestos de servicio.Un elemento colaque representa la cola antes del servicio.La variableTcierre, que registra la hora en la que se termina de atenderal ultimo cliente.

A continuacion se debe abrir el experimento Ejemplo1-1 experimento.xpt(Modelo / Experimento / Abrir...) y se puede ejecutar la simulacion (Modelo /Experimento / Ejec. acel.)

Salida csv modeloAl realizar el experimento, se vuelcan los informes del experimento en un ar-chivo csv (en este caso Ej611.csv, tal y como esta configurado el archivo xpt).Tal y como esta configurado el modelo, en este csv de salida solo se guardanlos informes de dos elementos: la cola y la variable Tcierre.

Page 151: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 151

La ayuda de Witness ofrece la informacion que los archivos csv contienen

para cada tipo de elemento. Para acceder a esta informacion, tras abrir la

ayuda (F1), hay que seleccionar la pestana de “Buscar” y realizar una busque-

da del termino csv. El sistema de ayuda ofrece un conjunto de entradas: “CSV

output for buffers”, “CSV output for carrieres”, etc.

Seleccionando cada una de las entradas se puede acceder la explicacion del

contenido del csv, como, por ejemplo, al de las entidades (parts).

Contenido delarchivo csv

El tiempo medio que los elementos entidad pasan en un elemento tipo colase almacena en la columna numero 13 del archivo de salida csv. Esta infor-macion se utiliza para obtener el tiempo medio que los clientes pasan en lacola en cada replicacion. Con la variable Tcierre se registra la salida del ulti-mo cliente para comprobar si la duracion de esa replicacion es mayor de 300minutos (columna 9 del fichero csv).

Page 152: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 152

El analisis estadıstico

Se recomienda seguir los siguientes pasos:

1. Importar el archivo Ej611.csv en la primera hoja del fichero (Datos /Obtener datos externos / Importar datos ...) de manera que el primer datoquede en la celda A1. Para hacerlo correctamente, marcar ��Delimitados��en la primera ventana del asistente; en la segunda ��Coma�� como separa-dor y en la tercera, dentro de la opcion ��Avanzadas��, seleccionar comoseparador decimal �� . �� y como separador de miles �� , ��.

2. Ordenar los datos importados, primero por ��columna E�� y despues de��columna B�� (Datos / Ordenar). De esta manera queda agrupada la infor-macion de Cola y la de Tcierre y, a su vez, quedan ordenadas por ordencreciente de replicaciones.

3. Copiar los 20 valores del tiempo medio de espera en la hoja ��Calculo rep.adicionales�� (columna 13 del csv, ��columna M�� una vez importado).

4. Rellenar esta hoja de acuerdo con el contenido del cuadro 1 6.1. Como elcociente entre la semiamplitud del intervalo y la estimacion de la media(0.2) es mayor que γ

1−γ = 0,15 es necesario realizar replicaciones adicio-nales.

5. Para hallar el numero de replicaciones necesarias se aplica la expresion

6.2. En particular, se trata de evaluar el valor del cocienteti−1,0,95

√(S2(n)/i)

Y(n) ,

donde se admite que Y(n) y S2(n), obtenidas con las n primeras repli-caciones, son buenas estimaciones de la media y de la varianza de Y ,respectivamente. Examinando diferentes valores de i, se obtiene que, sila varianza se mantiene, es suficiente realizar un total de 25 replicacio-nes:

i ti−1,0,95

√(S2(n)/i)

Y(n)21 0.194

24 0.180

25 0.176

6. Realizar cinco nuevas replicaciones (cargando el experimentoEjemplo6-1 experimento2.xpt ) y repetir los pasos anteriores.Con cuatro replicaciones podrıa ser suficiente, ya que para n = 24, sealcanza exactamente el valor de 0.18, pero con animo conservador serealiza una replicacion adicional a las que en teorıa son estrictamentenecesarias. El cociente entre la semiamplitud del intervalo y la estima-cion de la media es igual a 0.18, por lo que el nuevo intervalo cumple conel requisito establecido en terminos del error relativo maximo admitido.

1A la hora de calcular tn−1,1−α/2 hay que tener en cuenta que los parametros de esta funcionen Excel son ��DISTR.T.INV(α,grados de libertad)��

Page 153: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 153

Funcion en Excel(n=20) Valor(n=20) Valor(n=25)

Y(n) PROMEDIO(D14:D33) 4.98 4.98

S2(n) VAR(D14:D33) 6.56 7.00

t49,0,95 DISTR.T.INV(0.1;19) 1.73 1.71

Semi-amplitud intervalo D7*RAIZ(D6/20) 0.99 0.91

Limite sup. D5-D8 3.99 4.08

Limite inf. D5+D8 5.97 5.89

Semi-ampl/Promedio D8/D5 0.20 0.18

Cuadro 6.1: resultado del analisis estadıstico del ejemplo 6.1.

Segun el analisis realizado, con un 90 % de probabilidad, el valor esperado parael tiempo medio de espera de los clentes esta comprendido en el intervalo[5,10,6,75].

Para completar el ejemplo, hay que estimar la probabilidad de que quedenclientes por servir a las 14:00. Si en una replicacion el valor de la variableTcierre es mayor que 300 minutos (tiempo transcurrido desde las 9:00 a las14:00), el banco presta servicio despues de cerrar sus puertas. En primer lugar,se copian los valores de la variable Tcierre en las 25 replicaciones anterioresen la hoja ��Probabilidad cierre��. En segundo lugar, se calcula el numero deveces que Tcierre>300 (funcion de Excel ��CONTAR.SI(B8:B68;”>300”)��). Segunla expresion 6.4 se obtiene:

p = Sn= 9

25= 0,36

p ± z1−α/2

√p(1− p)

n= 0,36± 1,64

√0,36 · 0,64

25= 0,36± 0,16

Probabilidad dequeden clientesa las 14h

Se estima que la probabilidad de que en un dıa el banco cierre mas tarde de las14:00 se encuentra en el intervalo [0,20,0,52], con un 90 % de probabilidad.

La funcion en Excel para calcular z0,95 es ��DISTR.NORM.ESTAND.INV(0.95)��.

Page 154: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 154

6.6.2. Ejemplo 6.2: analisis de los datos de salida de un estudio de si-mulacion con terminacion. Calculo del tiempo de calentamien-to

Se pretende estimar el numero medio de piezas producidas por hora en unpequeno taller de fabricacion. El taller consta de un centro de mecanizado yun centro de inspeccion colocados en serie como muestra la figura 6.6. Se sabeque los pedidos llegan a la fabrica con un tiempo entre llegadas que sigue unadistribucion exponencial de media 1.3 minutos. El tiempo de procesado en elcentro de mecanizado puede aproximarse mediante una distribucion unifor-me en el intervalo [0,65,0,7] minutos, mientras que el tiempo necesario parainspeccionar una pieza es uniforme en el intervalo [0,75,0,8]minutos. El 90 %de las piezas inspeccionadas se aceptan como validas, mientras que el 10 %restante deben ser mecanizadas de nuevo. El centro de mecanizado a vecesse averıa. El tiempo entre cada dos averıas consecutivas sigue una distribu-cion exponencial de media 6 horas. El tiempo de reparacion es uniforme enel intervalo [8,12] minutos. Si el centro de mecanizado esta procesando unapieza cuando ocurre una averıa, esta se termina de mecanizar cuando acabala reparacion.

A partir de los datos anteriores se pide proporcionar un intervalo de confian-za al 95 % que contenga el valor esperado del numero de piezas producidaspor hora calculando, previamente, el tiempo de calentamiento del modelo.

Figura 6.6: esquema del taller de fabricacion.

Se trata de una simulacion sin terminacion de un sistema del que interesa, basica-mente, su comportamiento una vez alcanzado el regimen permanente. Por lo tanto,el primer paso para estimar la produccion media por hora en regimen estacionario,μY , consisten en el calculo del tiempo de calentamiento, expresado por el numero dehoras l que hay que dejar pasar para superar el regimen transitorio. Una vez que seconozca l, se puede estimar el valor esperado de la variable de salida acompanado deun intervalo de confianza.

Page 155: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 155

Para abordar el problema que se recomienda utilizar los archivos siguientes:

Ejemplo6-2.mod: contiene el modelo del sistema en Witness.Ejemplo6-2 Experimento.xpt: es el experimento para realizar 10 replicacio-nes de 160 horas (9600 minutos) de duracion de manera que en el archivo csvde salida se recojan datos cada 60 minutos).Ejemplo6-2.xls: es la hoja de calculo donde se propone abordar el problema.Ejemplo6-2 solucion.xls: muestra como debe quedar la hoja de calculo unavez resuelto el ejemplo.

PlanteamientoEl experimento

Primero, es necesario obtener la muestra yi(j) (donde yi(j) representa el nume-ro de piezas producidas en la hora j-esima en la replicacion i-esima, i = 0. · · · ,10 yj = · · · ,160). A partir de esa muestra se obtendran los valores de y(j) y, finalmente,los valores alisados y(j)(w). Para ello, se deben seguir los siguientes pasos.

1. Abrir el archivo Ejemplo1-2.mod.

2. Cargar el experimento Ejemplo1-2 experimento.xpt y ejecutarlo (Modelo /Experimento / Ejec. acel.)

3. Los datos de la simulacion se almacenan en el fichero Ej62.csv. Importar dichoarchivo a la hoja ��CSV�� del archivo Ejemplo6-2.xls.

(a) Datos / Ordenar (b) Datos / Filtro / Autofiltro

Figura 6.7: ordenar y filtrar los datos del ejemplo en Excel.

Archivosdisponibles

Calculo del tiempo de calentamiento: metodo de Welch

1. Ordenar los datos de la hoja ��CSV�� primero por el instante al que correspondenlos datos (columna D) y despues por replicacion (columna C), como en la figura6.7(a).

Page 156: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 156

2. Copiar los 10 × 160 valores de yi(j) en el lugar correspondiente de la hoja��Tiempo de calentamiento��. Estos valores se encuentran en la columna 8 (verayuda de Witness para achivos csv corresondientes a entidades). La columna Cde la hoja ��Tiempo de calentamiento�� debe contener la produccion de entidadesde tipo pieza cada hora para cada una de las replicaciones. Por ejemplo, el rangoC4:C13 debe contener la produccion de entidades durante la primera hora paralas diez replicaciones (C4 contendra la produccion para la primera hora de laprimera replicacion y C13 contendra la produccion para la primera hora de ladecima replicacion). Igualmente, el rango C14:C23 contendra la produccion deentidades durante la segunda hora para las diez replicaciones, y ası sucesiva-mente con las 160 horas.

3. Calcular, en las celdas sombreadas de la columna D, 2 el promedio, para cadahora j, del numero de piezas producidas en las 10 replicaciones (y(j)). De estamanera se obiene la media para los grupos de valores correspondientes a losrangos C4:C13 (primera hora, j = 1), C14:C23 (segunda hora), C24:C33 (tercerahora), etc.

4. Filtrar las celdas no vacıas (figura 6.7(b)) y copiar los 160 valores y(j) en lacolumna G.

5. Calcular, segun la expresion 6.5, la media alisada del conjunto y(j) aumentandow hasta apreciar con claridad el paso de regimen transitorio a estacionario. Enconcreto, tomar w = 5, w = 10 y w = 15. y representar graficamente dichosvalores (figura 6.8).

Figura 6.8: medias alisadas para w = 5, w = 10 y w = 15.

A patir del grafico correspondiente a y(j)(15) (w = 15) se puede admitir que tras 25horas para que el sistema ha alcanzardo el regimen permanente. Es decir, l = 25.

2funcion en Excel ��=SI(B5=B4;;PROMEDIO(C5:C14))��

Page 157: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 157

Estimacion del valor esperado

Para estimar el numero de piezas producidas por hora, solo se tienen en cuen-ta los valores yi(j) con i = 1, · · · ,10 y j = 26, · · · ,160:

1. Ordenar los datos de la hoja CSV primero por replicacion y despues por hora(al contrario que para el tiempo de calentamiento).

2. Copiar los 10 × 135 valores de yi(j) en el lugar correspondiente de la hoja��Estimacion de la produccion��.

3. Calcular, para cada replicacion, el promedio de las piezas producidas en unahora. Copiar los valores obtenidos en la columna yi

4. Para concluir el analisis, completar un cuadro como 6.2.

Funcion en Excel Valor

Y(n) PROMEDIO(H13:H22) 59.58

S2(n) VAR(H13:H22) 0.49

t9,0,975 DISTR.T.INV(0.05;9) 2.26

Semi-amplitud intervalo H5*RAIZ(H4/10) 0.50

Lımite sup. H3-H6 59.07

Lımite inf. H3+H6 60.08

Cuadro 6.2: resultados del analisis estadıstico del ejemplo 6.2.

Como conclusion del analisis, el valor esperado del numero de piezas que se producenpor hora se encuentra en el intervalo [59,07,60,08], con una probabilidad de 95 %.

6.7. Resumen

En analisis riguroso y de un modelo de simulacion es de gran importancia. Existendiferentes formas de caracterizar el comportamiento de sistema. Uno de los aspectosmas importantes es estimar el valor esperado de las variables de salida y construir unintervalo de confianza para dicho valor. Exiten dos tipos de simulacion que requierenannalisis especıficos: las simulaciones con terminacion (en las que hay que determinarlas condiciones iniciales de la simulacion) y las simulaciones sin terminacion (para lascuales, si existe un regimen permanente, es necesario estimar el tiempo de calenta-miento).

Este capitulo se ha dedicado al analisis de una configuracion. En otras ocasiones, esnecesario comparar el comportamiento de un sistema para diferentes configuraciones,que es a lo que se dedica el capıtulo 7.

Page 158: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7

ANALISIS DE DATOS DE SALIDA.

COMPARACION DE VARIAS ALTERNATIVAS

7.1. Introduccion

En el capıtulo anterior se ha explicado la importancia de completar el estudio de simu-lacion de un sistema con un analisis estadıstico para extraer conclusiones correctas.En este capıtulo se explica como llevar a cabo ese analisis cuando se comparan variossistemas con el objetivo de identificar el mejor. Este tipo de estudios tienen una granimportancia ya que una de las utilidades de la simulacion es ayudar a tomar la decisionde que alternativa implementar cuando se tienen varias opciones.

Una manera intuitiva de tratar este problema es ejecutar los modelos durante un tiem-po determinado y, dependiendo de si interesa un valor alto o bajo de la variable desalida, elegir el que tenga mejor respuesta. Pero, al igual que sucede en el caso de es-tudiar una configuracion unica, la salida de estos modelos es un fenomeno estocasticoy no hay garantıas de que la alternativa elegida por este metodo sea la adecuada.

En este capıtulo se presentan varios metodos para resolver problemas de compara-cion de configuraciones alternativas. En la seccion 7.2 se trata el caso de comparardos alternativas mediante el intervalo de confianza de la diferencia de sus variablesde salida. En la seccion 7.3 se discute como hacer la comparacion cuando se tienenmas de 2 alternativas. Estos conceptos se ponen en practica en la seccion 7.4 median-te la resolucion de dos ejercicios sencillos. Para finalizar el capıtulo, se proponen 2problemas acompanados de su solucion.

7.2. Comparacion de dos configuraciones alternativas

En esta seccion se explica como comparar dos alternativas suponiendo que se evaluasu comportamiento a traves de una unica variable de salida1. A partir de ahora y1i

representa el valor en la i-esima replicacion de la variable de salida en la primera al-ternativa (Y1) y que su valor esperado es υ1 = E(Y1) (υ2 = E(Y2) para la segundaalternativa). La comparacion se hace a partir de una nueva variable aleatoria, Z , defi-nida como la diferencia de la variable de salida en las alternativas 1 y 2, Z = Y1 − Y2.

1cuando se quiere estudiar el comportamiento de mas de una variable simultaneamente, elproblema se conoce como decision multicriterio y su resolucion se escapa del objetivo de estetexto. Para mas informacion se recomienda consultar la referencia Law, 2001

Page 159: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 159

El problema de comparar las dos alternativas consiste entonces en calcular el signode E(Z) = ζ = υ1 − υ2. Construyendo un intervalo de confianza para esa variable seconsidera que existe una diferencia significativa entre ambas configuraciones si dichointervalo no contiene al cero.

A continuacion se explica detalladamente este proceso suponiendo que se tratade un modelo de simulacion con terminacion (ver seccion ??). En el caso de queinterese el comportamiento en estado estacionario se procede de forma similar peroteniendo en cuenta el problema del tiempo de calentamiento de cada configuracionpor separado.

NOTA: Y1 e Y2 son variables aleatorias que representan un fenomeno a lo largode una replicacion completa. Por ejemplo, y1i puede ser el tiempo medio de espera delos barcos que quieren amarrar en un puerto a lo largo de un dıa (considerando quela duracion de cada replicacion es de un dıa), pero no el tiempo que tiene que esperarun unico barco.

En caso de querer comparar dos configuraciones que se representan mediante modelosde simulacion con terminacion se aconseja seguir los siguientes pasos:

1. Obtener un conjunto de observaciones independientes [(y11, · · · , y1n) ,(y21, · · · , y2n)]. Se consigue haciendo n replicaciones independientes de cadamodelo.

2. Calcular (z1, · · · , zn), donde zi = y1i −y2i.

3. Construir un intervalo de confianza para ζ a partir de (z1, · · · , zn):

z(n)± tn−1,1−α/2

√S2(n)n

(7.1)

donde:

z(n) =∑ni=1 zin

y S2(n) =∑ni=1 [zi − z(n)]2

n− 1

Si Z esta normalmente distribuida, la probabilidad de que ζ este contenido en esteintervalo es de (1−α); en el resto de casos esta probabilidad se aproxima para valoresaltos de n (teorema central del lımite, seccion 3.4.2). Por tanto, si el intervalo no con-tiene a 0, la probabilidad de que el valor esperado de ambas alternativas sea diferentees de 1 − α. En este caso se considera que la diferencia es significativa y segun susigno se elige la mas favorable.

7.3. Comparacion de varias alternativas

En la seccion 7.2 se explica como comparar dos alternativas mediante el intervalo deconfianza de su diferencia. Pero es frecuente encontrar problemas donde se barajenmas de dos alternativas y en este caso el proceso de seleccion es mas complejo.

Page 160: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 160

Una manera intuitiva de resolver el problema es hacer varios intervalos de confianzacomparando todas las alternativas dos a dos. Pero este metodo tiene una limitacion: sise forman k intervalos de confianza Is para las variables νs , donde el nivel de confianzaen cada uno de ellos es αs , puede demostrarse que la probabilidad de que se cumplantodos simultaneamente esta limitada por la desigualdad de Bonferroni:

P(νs ∈ Ispara todos = 1,2, · · · , k) ≥ 1−k∑s=1

αs (7.2)

Por lo tanto si queremos que el nivel de confianza asociado a k intervalos sea al menos1−α, el nivel de confianza de cada intervalo particular se debe elegir de manera que secumpla

∑ks=1αs = α. Si se toma el mismo valor para todos ellos, αs = α/k. Por ejemplo,

suponiendo que se quieren comparar 5 alternativas mediante este metodo es necesariohacer 10 intervalos Iij (donde i y j representan las alternativas comparadas). Paraconseguir que el nivel de confianza de la eleccion sea 90 %, es decir que la probabilidadde que se cumplan simultaneamente todos los Iij sea del 90 %, y considerando que setoma el mismo nivel de confianza:

10 ·αij = α �⇒ αij = 0,110

= 0,01

por lo que el nivel de confianza de cada intervalo individual es 99 %. El resultado esque los intervalos son mas amplios y posiblemente no significativos, ya que es masprobable que contengan a 0. Esto hace que este metodo sea poco aconsejable.

A continuacion se exponen dos metodos: el primero de ellos para comparar variossistemas respecto a uno que se considera la referencia, y el segundo para seleccionarla mejor alternativa cuando se dispone de varias.

7.3.1. Comparacion de varias alternativas frente a una referencia

A partir de ahora se supone que se tienen k alternativas y se pretende comparar surendimiento con una de ellas que se toma como referencia (por ejemplo, porque esla que actualmente existe y se estudia la posibilidad de reemplazarla por otra delconjunto). En este caso, y siempre que k no sea muy grande, se puede aplicar el metodoanterior construyendo k− 1 intervalos de confianza para las diferencias ν2 − ν1 ,ν3 −ν1 · · · , νk − ν1. Teniendo en cuenta la ecuacion 7.2, para que la probabilidad de quetodos ellos se cumplan simultaneamente sea al menos 1− α, el nivel de confianza delos intervalos individuales debe ser 1− α/(k− 1). La interpretacion de los resultadosobtenidos es la siguiente: si ningun intervalo contiene el valor 0, la probabilidad deque todas las alternativas sean significativamente diferentes a la de referencia es almenos 1 − α. Por el contrario, si el intervalo Ii contiene el valor 0 se puede decir queno existe diferencia significativa entre la alternativa i y a la de referencia.

Otra forma de aplicar este metodo, ademas del caso en el que se quiera contrastarposibles alternativas frente a una existente, es comparar varias alternativas tomandocomo referencia la que tenga una media menor (o mayor, depende de que se busque).De este modo se comprueba si la alternativa aparentemente mejor realmente es signi-ficativamente diferente al resto.

Page 161: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 161

7.3.2. Clasificacion y seleccion de la mejor alternativa

Hasta ahora se ha explicado como comparar varias alternativas entre sı cuando elnumero de opciones disponibles es mayor de dos. El objetivo de esta seccion es masambicioso: se expone un metodo para elegir la mejor alternativa de k posibles con unnivel de confianza determinado.

Planteamiento delmetodo

Sea Yji la variable de interes de la alternativa j en la replicacion i y sea νj = E(Yji).Para aplicar este metodo es necesario que los valores Yji se hayan obtenido a partir dereplicaciones independientes para cada sistema y que se distribuyan normalmente2.Debido a la aleatoriedad de Yji no se puede asegurar al 100 % que la eleccion a partirde una muestra sea la correcta, pero si es posible fijar una probabilidad de aciertoP∗. Del mismo modo, no tiene sentido complicar en exceso los calculos para discernirque alternativa es la mejor si la diferencia entre las 2 mejores es muy pequena. Portanto es aceptable fijar un d∗ tal que si la alternativa elegida es ν1, la diferencia entreesta y cualquier otra no supere dicho valor (es decir, νi−ν1 ≤ d∗ para todo i). En resu-men, aplicando este metodo se puede afirmar que, con probabilidad P∗, la diferenciade las medias de la alternativa elegida y la mejor del conjunto no supera el valord∗.

AplicacionEl metodo se estructura en dos etapas claramente diferenciadas: en la primera, apartir de los resultados de n replicaciones, se busca el numero de replicacionesnecesarias para elegir una alternativa. En la segunda se realizan las replicacionesadicionales necesarias y, a partir de una media ponderada de los resultados de lasreplicaciones de las dos etapas, se elige la mejor. A continuacion se enumeran lospasos para aplicarlo.

Primera etapa

1. Realizar n0 replicaciones independientes de las k alternativas y calcular la mediay la varianza de cada muestra obtenida:

y(1)j (n0) =∑n0i=1 yjin0

y S2j (n) =

∑n0i=1 [yji −y(1)j (n0)]2

n0 − 1

Se recomienda que como mınimo n0 = 20.

2. Calcular el numero total de replicaciones, Nj , necesarias para llevar a cabo laseleccion:

Nj = max

{n0 + 1,

⌈h2

1S2j (n0)

(d∗)2

⌉}(7.3)

donde �x� es el mayor entero menor o igual que x y h1 es una constante tabu-lada que se puede consultar en la tabla 5.

Segunda etapa

2Aunque esta ultima suposicion parezca un problema no lo es en realidad ya que no es muysensible ante pequenas variaciones

Page 162: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 162

1. Realizar las Nj − n0 replicaciones que faltan para alcanzar Nj y calcular sumedia:

Y(2)j (Nj −n0) =∑Nji=n0+1

YjiNj −n0 (7.4)

2. Calcular los pesos Wj1 y Wj2 para i = 1,2, · · · , k:

Wj1 = n0

Nj

⎡⎣1+√√√√1− Nj

n0

(1− (Nj −n0)(d∗)2

h21S

2j (n0)

) ⎤⎦ (7.5)

Wj2 = 1−Wj1 (7.6)

3. Calcular la media ponderada de cada alternativa:

Xj(Nj) = Wj1Y(1)j (n0)+Wj2Y

(2)j (Nj −n0)

4. Finalmente se elige la alternativa con menor (o mayor) Xj(Nj).

Los valores de P∗ y d∗ son eleccion del analista y dependeran de los objetivos delestudio de simulacion. Logicamente, cuanto mayor sea P∗ y menor d∗ mayor sera elcoste de computacion pero mejores los resultados obtenidos.

Page 163: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 163

7.4. Ejemplos de aplicacion

7.4.1. Ejemplo 4.1: comparacion de dos alternativas

La empresa municipal de transportes de una ciudad se plantea internalizarel servicio de mantenimiento de sus vehıculos. El ingeniero responsable delproyecto, despues de recoger toda la informacion necesaria y analizar el pro-blema, considera dos posibles soluciones para el taller de reparaciones (figura7.1):

1. Un puesto de inspeccion y dos de reparacion.

2. Dos puestos de inspeccion y uno unico de reparacion.

La llegada de vehıculos al taller se puede modelar mediante una distribucionexponencial de media 1 hora. El tiempo medio de inspeccion de cada autobusse aproxima a una distribucion uniforme entre 0,5 y 1,1 horas mientras queel tiempo de reparacion lo hace segun una gamma de parametros α = 2,2 yβ = 1. A partir de los datos historicos se estima que el 30 % de los vehıculosque se revisan necesitan alguna reparacion, mientras que el resto sale deltaller sin ser sometidos a ninguna otra operacion. Todas las colas siguen unadisciplina FIFO.

Dado que el coste de un centro de inspeccion y de uno de reparaciones muy parecido, se decide seleccionar la alternativa en la que el tiempomedio que los vehıculos pasan en el taller sea menor. Si fuese el encargadode tomar la decision, ¿que alternativa elegirıa?

Figura 7.1: configuraciones alternativas para el taller del ejemplo 4.1

PlanteamientoLa variable de salida es el tiempo medio que cada vehıculo pasa en el siste-ma una vez que la simulacion alcanza el estado estacionario. Para resolver elproblema, se toma como tiempo de calentamiento 720 horas (se deja su calcu-lo como ejercicio) y se realiza un experimento como el que se muestra en elcuadro 7.1. La resolucion del problema consiste, basicamente, en obtener unintervalo de confianza (en este caso al 99 %) de la diferencia de la variable desalida en cada modelo, Y1 e Y2.

El ejemplo se desarrolla siguiendo los siguientes archivos:

Page 164: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 164

Numero de replicaciones 40

Tiempo de calentamiento 720 horas

Longitud de cada replicacion 4000 horas

Variable de salida Tiempo medio en el sistema

Cuadro 7.1: caracterısticas del estudio de simulacion. La duracion de replica-cion no incluye el tiempo de calentamiento

Ejemplo4-1a.mod : contiene el modelo de la primera alternativa en Wit-ness.Ejemplo4-1b.mod : contiene el modelo de la segunda alternativa en Wit-ness.Ejemplo4-1.xls : es la hoja de calculo donde se debe resolver el ejem-plo.Ejemplo4-1 experimento.txt : Preparado para obtener 40 replicacio-nes independientes de longitud 4000 horas y un tiempo de calentamientode 120 horas.Ejemplo4-1 solucion.xls : muestra como debe quedar la hoja decalculo una vez resuelto el ejemplo.

(a) Alternativa 1 (b) Alternativa 2

Figura 7.2: modelo en Witness de las dos alternativas

El experimento

El primer paso es obtener las dos muestras (y11, y12, · · · , y140) e(y21, y22, · · · , y240) a partir de las que se evaluan las configuracionesalternativas. Estos valores se obtienen del informe del elemento ��Autobus�� delarchivo de salida CSV de la simulacion. Se deben seguir los siguientes pasos:

1. Abrir el modelo de la primera alternativa, Ejemplo4-1a.mod , y cargarel experimento Ejemplo4-1 experimento.txt (Model / Experiment/ Open).

Page 165: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 165

2. Seleccionar Ejemplo4-1a.mod como el modelo de ejecucion del ex-perimento (Model / Experiment / Define / Situations).

3. Importar los datos del archivo ��Ej4-1.csv�� en la hoja ��CSV alternativa 1��del archivo Ejemplo4-1.xls .

4. Los tiempos medios de espera en la cola se guardan en la columna N. Or-denar los datos por numero de replicacion ( Datos / Ordenar / ColumnaB) y copiarlos en el lugar correspondiente de la hoja ��Comparacion dealternativas��.

5. Repetir el proceso para la segunda configuracion (Ejemplo4-1b.mod).

Analisis estadıstico

1. Calcular, en la hoja ��Comparacion de alternativas��, la diferencia de losvalores de salida en las dos alternativas en cada replicacion (zi).

2. Completar el analisis calculando un cuadro como 7.2.

Funcion Excel Valor

z(n) PROMEDIO(F13:F52) 0,68

S2(n) VAR(F13:F52) 0,04

t39,0,995 DISTR.T.INV(0,01;39) 2,71

Semi-longitud delintervalo 99 % F6*RAIZ(F5/60) 0,07

Lımite superior F4+F7 0,61

Lımite inferior F4-F7 0,75

Cuadro 7.2: resultado de la comparacion de las dos alternativas. El analisis essignificativo.

Segun este analisis, el valor esperado de la variable Z = Y1−Y2 se encuentra enel intervalo (0,61,0,75) con una probabilidad del 99 % y su estimacion puntuales ζ = 0,68 . Como el objetivo es elgir la alternativa con menor valor esperadoy segun este analisis, conviene poner en funcionamiento la segunda alternativa(2 centros de inspeccion y uno de reparacion).

Page 166: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 166

7.4.2. Ejemplo 4.2: comparacion de varias configuraciones alternati-vas

Un sistema de fabricacion esta compuesto por 5 maquinas iguales que traba-jan de manera independiente. La maquinas operan continuamente con la uni-ca excepcion de las paradas por averıas y en la actualidad un unico mecanicose encarga de las reparaciones de todas las maquinas. El tiempo que cadamaquina funciona sin tener una averıa puede aproximarse a una distribucionexponencial de media 8 horas y la duracion de una reparacion se asemeja auna exponencial de media 2 horas.El mecanico encargado de las reparaciones ha sugerido a su superior que elcoste de mantenimiento se reducirıa si la plantilla de mecanicos se ampliase,ya que considera que es muy frecuente que mas de una maquina este ave-riada a la vez. Ante esta situacion el departamento de mantenimiento decidehacer un estudio de simulacion para comparar la respuesta del sistema cuan-do varıa el numero de mecanicos, hasta un maximo de 4. Se considera que losunicos costes de mantenimiento son el coste por parada de las maquinas (55€/h·maquina) y el coste de la mano de obra de reparacion (10€/hora·mecani-co). Se pide hacer un estudio de simulacion para averiguar cual es el numerooptimo de mecanicos para minimizar dicho coste.

PlanteamientoEn este caso, se consideran 4 configuraciones alternativas donde la unicadiferencia entre ellas es el numero de mecanicos. Al igual que en el ejercicioanterior interesa el comportamiento durante el estado estacionario y para ellobasta con tomar un tiempo de calentamiento de 200 horas (se deja su calculocomo ejercicio). El coste de mantemiento, que es la variable de salida que hayque comparar, se calcula de la siguiente manera:

Y = Tparada × 55+ Thoras ×nmecanicos × 10

En primer lugar, se compara el sistema actual de un solo mecanico con el restode alternativas mediante intervalos de confianza individuales (apartado 7.3.1).Despues se utiliza el metodo explicado en 7.3.2 para clasificar las alternativasy seleccionar la mejor.

A continuacion se presentan los archivos que acmpanan al enunciado:

Ejemplo4-2.mod : contiene el modelo del sistema en Witness.Ejemplo4-2a.xls : es la hoja de calculo donde se debe resolver el ejem-plo tomando el sistema actual como referencia.Ejemplo4-2a solucion.xls : muestra como debe quedar la hoja decalculo anterior una vez resuelto el ejemplo.

Page 167: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 167

Ejemplo4-2b.xls : es la hoja de calculo donde se debe resolver el ejem-plo mediante el metodo de seleccion de la mejor alternativa.Ejemplo4-2b solucion.xls : muestra como debe quedar la hoja decalculo anterior una vez resuelto el ejemplo.Ejemplo4-2a experimento.txt : Preparado para obtener 40 replica-ciones independientes de longitud 4000 horas y un tiempo de calenta-miento de 200 horas.Ejemplo4-2b experimento1.txt : Preparado para obtener las replica-ciones adicionales en el metodo de seleccion de una alternativa de laconfiguracion 1.Ejemplo4-2b experimento2.txt : Preparado para obtener las replica-ciones adicionales en el metodo de seleccion de una alternativa de laconfiguracion 2.Ejemplo4-2b experimento3.txt : Preparado para obtener las replica-ciones adicionales en el metodo de seleccion de una alternativa de lasconfiguraciones 3 y 4.

Figura 7.3: modelo en Witness del sistema del ejemplo 4.2.

SISTEMA ACTUAL COMO REFERENCIA

El experimento

Para cambiar el numero de mecanicos (y ası cambiar de alternativa), se modi-fica la propiedad ��Quantity�� del elemento mecanicos. En la variable Tparadase almacena el numero total de horas que las maquinas han estado paradasdebido a una averıa una vez superado el tiempo de calentamiento, que es elunico valor que se extrae de cada replicacion.

Page 168: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 168

Los pasos para realizar obtener los datos de la simulacion son los siguientes:

1. Abrir el modelo Ejemplo4-2.mod y comprobar que el numero demecanicos es 1.

2. Abrir el experimento Ejemplo4-2a experimento.txt (Model / Experi-ment / Open) y ejecutarlo (Model / Experiment / Batch).

3. Importar los datos del archivo Ej4-2.csv en la hoja ��CSV alternativa 1��del archivo Ejemplo4-2a.xls .

4. El tiempo total que han estado paradas las 5 maquinas en cada replica-cion se guarda en la columna I. Ordenar los datos por numero de repli-cacion ( Datos / Ordenar / Columna B) y copiarlos en el lugar correspon-diente de la hoja ��Comparacion de alternativas��.

5. Repetir el proceso anterior cambiando el numero de mecanicos (2, 3, y4).

Calculo del coste de mantenimiento

A primera vista se aprecia que el tiempo de parada se reduce considera-blemente al pasar de 1 mecanico a 2. Tambien se observa que al aumentarel numero de mecanicos a 3 y 4, aunque tambien se produce una reduccion,el efecto no es tan alto. A pesar de ello, lo que realmente interesa es larepercusion en el coste de mantemiento. Los siguientes pasos son:

1. Calcular el coste de mantenimiento de cada replicacion en la columnay1i. Por ejemplo, para la y11, el coste de mantenimiento (expresado enmiles de €) se calcula de la siguiente manera:

y11 = (976,33× 55+ 800× 1× 10)/1000 = 61,70

2. Repetir el proceso anterior cambiando el numero de mecanicos (2, 3, y4) para obtener el coste de mantemiento en el resto de configuraciones(y2i, y3i e y4i).

Analisis estadıstico

La comparacion se realiza sobre la diferencia de las alternativas (2, 3 y4) con la de referencia (1). Para ello se deben seguir los siguientes puntos:

1. Calcular las diferencias z2i = y2i −y1i, z3i = y3i −y1i y z4i = y4i −y1i.Estos valores representan el coste de mantenimiento en miles de euros.

Page 169: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 169

2. Realizar para cada una de estas diferencias un intervalo de confianza al97 %, de manera analoga al ejemplo anterior. Los resultados se presentanen el cuadro 7.3.

Funcion Excel alternativa 1 z2i z2i z2i

z(n) PROMEDIO(M13:M32) -14,15 -8,26 -0,44

S2(n) VAR(M13:M32) 8,34 10,41 10,51

t19,0,985 DISTR.T.INV(0,03;19) 2,35 2,35 2,35

Semi-longituddel intervalo 99 %

M6*RAIZ(M5/60) 0,07 0,98 0,98

Lımite superior M4+M7 0,61 -9,24 -1,42

Lımite inferior M4-M7 0,75 -7,28 0,54

Cuadro 7.3: intervalos individuales al 97 % para las comparaciones con el sis-tema actual. Valores en miles de euros

ConclusionLos dos primeros intervalos no contienen al cero y son negativos por lo quese puede decir que hay una mejora significativa al tener un total de 2 o 3mecanicos en plantilla. Por otro lado, con estos datos no se pude afirmar queexista una diferencia significativa entre el sistema actual y tener 4 mecanicos.

NOTA: la probabilidad de que se cumpla cada una de las afirmacionesanteriores por separado es del 97 % mientras que la probabilidad de que secumplan conjuntamente es del 90 %.

SELECCION DE LA MEJOR ALTERNATIVA

Con el metodo anterior se sabe que el coste de mantenimiento al contratarmas mecanicos se reduce, pero no permite elegir entre tener 2 o 3 mecanicos.Dado que el coste de mantenimiento ronda los 60.000€, parece suficiente to-mar d∗ = 1,000; para P∗ se elige 90 %. A continuacion se aplica el metodo deseleccion visto en 7.3.2.

Primera etapa

Para la primera etapa se pueden aprovechar los valores de yji obteni-dos anteriormente. Por tanto n0 = 20 y se siguen los siguientes pasos:

1. Copiar la matriz de valores 3× 20 de yji en la hoja ��Primera etapa�� delarchivo Ejemplo4-2b.xls .

Page 170: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 170

2. Calcular la media y la varianza de cada muestra yji:

j y(1)j(20) S2j (20)

1 68,79 19,72

2 54,63 3,66

3 60,53 1,86

4 68,34 1,88

3. Obtener de la tabla h1 el valor de h21. Para k = 5, n0 = 20 y P∗ = 0,90,

h1 = 2,583.

4. Calcular Ni, que representa el mayor valor3 entre n0+1 (21 en este caso)y el valor de la expresion 4: ⎡⎢⎢⎢h

21S

2j (n0)

(d∗)2

⎤⎥⎥⎥Para cada alternativa, Nj toma los siguientes valores:

j n0

⌈h2

1S2j (n0)

(d∗)2

⌉Nj replicaciones adicionales

1 21 131,55 132 112

2 21 24,40 25 5

3 21 12,42 21 1

4 21 12,57 21 1

5. Realizar, para cada alternativa, las replicaciones adicionales ne-cesarias para la segunda etapa. Para ello ejecutar los expe-rimentos Ejemplo4-2b experimento1.xls para 1 mecanico,Ejemplo4-2b experimento2.xls para 2 mecanicos y Ejemplo4-2bexperimento4.xls para 3 y 4 mecanicos e importar los datos genera-dos en las hojas ��CSV adicional j��.

6. Calcular para los valores obtenidos en las nuevas replicaciones el costede mantenimiento como se hizo en para las 20 replicaciones originales.

3la funcion de EXCEL ��MAX(n1;n2; · · · )�� devuelve el valor maximo del conjunto n1, n2, · · ·4para calcular �x� puede emplearse, entre otras, la funcion ��MULTIPLO.SUPERIOR(x;1)��

Page 171: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 171

Segunda etapa

1. Calcular las medias de las nuevas observaciones:

j y(2)j (Nj − 20)1 69,962 55,213 58,754 66,64

2. Calcular los pesos W1i y W2i a partir de la ecuacion 7.6 (ver cuadro 7.4).

3. Calcular el coste medio ponderado de cada alternativa.

Primera etapa Segunda etapa

no mec. y(1)i (20) S2i (20) Ni y(2)i (20) W1i W2i yi

1 68,79 19,72 132 69,96 0,17 0,83 69,76

2 54,63 3,66 25 55,21 0,86 0,14 54,71

3 60,53 1,86 21 58,75 1,13 -0,13 60,76

4 68,34 1,88 21 66,64 1,13 -0,13 68,56

Cuadro 7.4: intervalos individuales al 97 % para las comparaciones con el sis-tema actual

ConclusionComo se aprecia en el cuadro 7.4, la mejor opcion es tener en plantilla 2mecanicos (con una probabilidad del 90 %).

Page 172: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8

DISENO DE EXPERIMENTOS Y SUPERFICIES

DE RESPUESTA

8.1. EL MODELO HA CAMBIADO Y HAY QUE REPETIR TODA LAEXPERIMENTAICON Y CAMBIAR IMAGENES Y TODO

8.2. Introduccion

Naturaleza delas alternativas

Un estudio de simulacion se puede realizar para evaluar un conjunto de alter-nativas ya conocidas. Por ejemplo, para el diseno de una gasolinera se puedenestudiar varias configuraciones para la disposicion de los surtidores y de losproductos que se sirven en cada uno. En estos casos, el analisis que se deberealizar debe ser conforme lo que se ha presentado en el capıtulo 7.

Sin embargo, en otros estudios las alternativas pueden estar menos claramen-te definidas. Por ejemplo, puede ser interesante estudiar cual es el tamano delote de transferencia´mas ventajoso en un taller, es decir, el numero de piezasque componen cada lote, de tal manera que hasta que no se procesan todaslas piezas de ese lote en una parte del taller, no se envıa el conjunto a la si-guiente etapa. Pueden existir, de hecho, diferentes factores que condicionan elcomportamiento del sistema. En este caso, el interes puede ser buscar un con-junto de valores para dicho parametros que de lugar a un comportamiento delsistema suficientemente bueno (si no el mejor). Sin embargo, evaluar todas lasposibles combinaciones de todos los factores puede ser computacionalmenteinviabel, por el elevadısimo numero de alternativas. En este capıtulo se pre-senta, primero, una metodologıa para evaluar la influencia de los parametros,para conocer si su influencia es significativa (diseno de experimentos), y, des-pues, una forma de obtener un modelo del propio modelo de simulacion parapoder precedir el comportamiento del modelo y elegir una buena combinacionde factores (superficie de respuesta).

Page 173: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 173

FactoresCuando se realizan disenos de experimentos, se habla de factores y de res-puestas. Los factores son aquellos datos de entrada que condicionan los valo-res de las variables de salida y cuyo efecto se pretende estudiar. Los factoresgeneralmente se refieren a los parametros del modelo de simulacion, es decir,a aquellos datos sobre los que el decisor tiene contro. Sin embargo, una va-riable de entrada podrıa ser un parametro (por ejemplo, puede ser interesanterealizar un analisis de sensibilidad y evaluar el comportamiento del sistemafrente a diferentes valores de la demanda).

EjemplosEn una lınea de montaje, un factor puede ser el tamano de los stocks interme-dios; el un centro de atencion telefonica, el numero de teleoperadores de losque se dispone en cada nivel; en un supermercado, la disciplina de colas quese adopta en las cajas.

RespuestasPor otra parte, la respuesta del sistema es el valor que toma la variable desalida considerada. Cuando existen varios factores que pueden condicionar larespuesta del sistema, el objetivo es evaluar el efecto de estos factores paraalcanzar una combinacion de sus valores que ofrezca una buen valor de larespuesta.

Un soloparametro

Cuando solo hay un parametro que modificar, evaluar su efecto pasa por eje-cutar el modelo para cada uno de los posibles valores de ese parametro (o paraun conjunto de valores) y emplear las tecnicas presentadas en el capıtulo 7.

Varios factoresCuando existen mas de dos parametros, factores de ahora en adelante, unaposible estrategia podrıa consistir en fijar el valores de todos los parametrosmenos uno, Fi. A continuacion, modificar el valor de Fi y evaluar si tiene unimpacto significativo sobre la respuesta del sistema. Este enfoque tiene dosdeficiencias:

primero, es muy poco eficiente, porque si el numero de factores es relati-vamente algo, el numero de combinaciones que hay que estudiar es muyalto y hace que el analisis sea computacionalmente inviable;

segundo, este analisis solo permite evaluar el efecto de la modificacionde cada factor por separado, pero no evalua las interacciones. Por ejem-plo, aumentar la plantilla o aumentar la capacidad de la maquinaria enuna planta, por separado, no permitan aumentar la produccion, pero alhacerlo de forma conjunta sı se obtenga un incrementos significativo.

En el siguiente epıgrafe se presenta una manera de salvar estas dos deficien-cias, mediante el diseno de un conjunto de experimentos que permiten, deforma mas eficiente, estudiar el efecto de cada uno de los factores y, tambien,el de sus intreacciones.

Page 174: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 174

8.3. Disenos factoriales

En este epıgrafe se explica como realizar un disneo factorial 2k. Existen otrosdisenos de experimentos mas complejos, que quedan fuera del alcance de estetexto.

Procedimientogeneral

Para realizar el diseno de experimentos, se siguen los siguientes pasos:

1. Se identifcan k factores y se seleccionan dos niveles para cada unos deellos. Se suele representar con signo menos al nivel inferior de los facto-res y signo mas para el valor superior de los factores.

2. Se estudia el valor de la respuesta para cada una de las posibles com-binaciones de valores, que en total son 2k. En un entorno determinista,bastarıa con calcular una vez la respuesta para cada combinacion. Enun modelo de simulacion con fenomenos estocasticos es necesario reali-zar varias replicaciones (n) para cada combinacion. Por ejemplo, Para unestudio con tres factores, la tabla 8.3 muestra todas las posibles combi-naciones.

3. Se identifica el efecto de cada uno de los factores y de sus interacciones.

Cuadro 8.1: Combinaciones de factores para un diseno factorial 23.

Combinacion c F1 F2 F3 Rc1 − − − R1

2 + − − R2

3 − + − R3

4 + + − R4

5 − − + R5

6 + − + R6

7 − + + R7

8 + + + R8

A continuacion se presenta como se pueden calcular los efectos a partir delas respuestas Rc , con c = 1, ...,2k obtenidas al realizar los diferentes expe-rimentos. Primero, se admitira que el sistema es determinista, con lo cual larespuesta que se obtiene al analizar una determinada combinacion de factoreses siempre el mismo. Despues se extiende la metodologıa al caso estocastico.

Page 175: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 175

Efectosprincipales

El efecto principal del factor Fi, que se denota por ei, mide el efecto en larespuesta al modificar modificar el factor Fi del nivel − al nivel +, mientras elresto de factores mantienen sus niveles. En particular, los valores de e1, e2 ye3 vendrıan dado por la expresiones 8.1

e1 = (R2 − R1)+ (R4 − R3)+ (R6 − R5)+ (R8 − R7)4

e2 = (R3 − R1)+ (R4 − R2)+ (R7 − R5)+ (R8 − R6)4

e3 = (R5 − R1)+ (R6 − R2)+ (R7 − R3)+ (R8 − R4)4

(8.1)

Regla sencillaExiste una forma sencilla de computar los efectos principales con ayuda dela tabla 8.3. Por ejemplo, si se reordenan los terminos que aparecen en e1 enla expresion 8.1, se puede obtener la expresion 8.2, en la que cada respuestaaparece con el signo con el que aparece el nivel del F1 en dicha tabla.

e1 = −R1 + R2 − R3 + R4 − R5 + R6 − R7 + R8

4(8.2)

Interaccionesi× j

Existe la posiblidad de que la influencia de un factor Fi dependa del nivel deotro factor Fj , es decir, que exista interaccion entre ellos. La interaccion entreestos dos factores se calcula como la diferencia entre el efecto del factor Ficuando Fj esta en su nivel + y el efecto del factor Fi cuando Fj esta un sunivel −, en ambos casos mateniendose al mismo nivel el resto de los factores.Por convencion, se divide esta diferencia, entre dos, tal y como aparece en lasexpresiones 8.3.

e12 = 12

[(R4 − R3)+ (R8 − R7)

2− (R2 − R1)+ (R6 − R5)

2

]

e13 = 12

[(R6 − R5)+ (R8 − R7)

2− (R2 − R1)+ (R4 − R3)

2

]

e23 = 12

[(R7 − R5)+ (R8 − R6)

2− (R3 − R1)+ (R4 − R2)

2

](8.3)

Regla sencillaDe nuevo, existe una forma sencilla de computar estos efectos. En la tabla 8.3se muestran tres nuevas columnas, en particular, aparece una nueva con lacabecera F1×F2, donde, para combinacion de factores aparece el producto delsigno correspondiente al nivel del factor F1 por el signo correspondiente a F2.Aplicando estos signos a cada una de las respuestas Rc , se obiene la expresion

Page 176: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 176

8.4 que es la misma que se obtendrıa ordenando la que aparece en 8.3

e12 = R1 − R2 − R3 + R4 + R5 − R6 − R7 + R8

4(8.4)

Cuadro 8.2: Tabla para construir los efectos principales y ls interacciones delos factores para un diseno factorial 23

Combinacion c F1 F2 F3 F1 × F2 F1 × F3 F2 × F3 F1 × F2 × F3 Rc1 − − − + + + − R1

2 + − − − − + + R2

3 − + − − + − + R3

4 + + − + − − − R4

5 − − + + − − + R5

6 + − + − + − − R6

7 − + + − − + − R7

8 + + + + + + + R8

Interaccionesi× j × k

Por ultimo, para este ejemplo, se puede evaluar el efecto de la interaccion delos tres factores, que se define como la semidiferencia entre la interaccion delos factores F1 y F2 cuando el factor F3 esta en su nivel + y la interaccion delos factores F1 y F2 cuando el factor F3 esta en su nivel −, tal y como se puedever en la expresion 8.5.

e123 = 12

[(R8 − R7)+ (R6 − R5)

2− (R4 − R3)+ (R2 − R1)

2

](8.5)

Regla sencillaReorganizando la expresion anterior, se puede comprobar que los signos de lacolumna F1 × F2 × F3 permiten reconstruir de forma sencilla la expresion e123,asignando a cada termino Rc el signo que indica aquella columna.

e123 = −R1 + R2 + R3 − R4 + R5 − R6 − R7 + R8

4(8.6)

Masinteracciones

En este ejemplo solo hay tres factores, de manera que no existen interaccionesde nivel superior. Sin embargo en disenos con 4, 5, etc factores se podrıan defi-nir de forma analoga y evaluar, todas y cada una de las posibles interacciones.

Page 177: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 177

Caracteraleatorio de Rc

Tıpicamente, en un modelo de simulacion cada vez que se calcula Rc para unacombinacion de factores se obtiene un valor dierente. La forma de abordar unestudio con respuestas estocasticas es la siguiente.

1. Realizar n replicaciones para cada combinacion de factores. Ası Rcn serıala respuesta del sistema para la replicacion r -esima de la combinacion c(r = 1, ..., n y c = 1, ..,2k).

2. Estimar tantos valores de ei, eij . etc. como replicaciones: eir , eijr , etc.con r = 1...n. Por ejemplo, para el efecto principal del factor F1 en undiseno 23 y realizando 10 replicaciones (k = 3, n = 10), se obtendrıan 10valores e1r :

e1r = −R1r + R2r − R3r + R4r − R5r + R6r − R7r + R8r

4(8.7)

Eso mismo se podrıa realizar con el resto de factores y con sus interac-ciones.

3. Caluclar, para cada factor y para cada una de sus interacciones, un inter-valo de confianza con un determinado nivel de confianza. La expresioncorresponde al intervalo para el mismo efecto principal F1.⎛⎝e1(n)− tn−1,1−α/2

√S2e1(n)n

, e1(n)+ tn−1,1−α/2

√S2e1(n)n

⎞⎠ (8.8)

donde:

e1(n) =n∑r=1

e1r

S2e1 (n) =

∑nr=1 (e1r − e1(n))2

n− 1

(8.9)

.En el siguiente apartado se propone un ejercicio para elaborar un diseno deexperimentos con dos factores para una polıtica de gestion de stocks.

Page 178: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 178

8.4. Ejemplo 1

d

Una empresa mayorista sirve productos a sus cliente, que son minoristas. Laempresa compra productos a un proveedor, los almacena, y de ahı sirve a susclientes.La demanda diaria agragada para todos los minoristas sigue una distribucionuniforme entre 240 y 260 productos.El Lead time del proveedor sigue una lognormal de media 2 dıas y desviaciontıpica 0.5.Existe relacionados con la gestion de stocks para atender la demanda son lossiguientes.

Coste unitario de stock o de almacenamiento: 1 unidad monetaria (um)por unidad de producto (up) y por dıa.Coste de carencia 10 um por unidad de producto no servido.Coste de emision de un pedido: 250 um.

La demanda no atendida en un dıa determinado se pierde, es decir, la empresano entrega productos con retraso.La polıtica que se quiere evaluar consiste en pedir un lote de productos alproveedor cuando el stock disponible, que es la cantidad de productos en elalmacen mas la cantidad de productos pendientes de recibir, cae por debajode un determinado nivel. Las diferentes formas que puede adptar esta polıticase caracteriza mediante los dos parametros siguientes:

el tamano de pedido, Q yel nivel de reaprovisionamiento, s, que es el valor tal que cuando elstock disponible es inferior a el, se lanza un pedido al proveedor.

Se pide realizar un diseno de experimentos para analizar el efecto de los fac-tores s y Q.

Materialdisponible

Para realizar este analisis, se recomienda el uso de lo siguientes archivos:

Ejemplo8-1.mod, que contiene un modelo para representar la polıticaestudiada,Ejemplo8-1.xls, con lo que se facilita reproducir los calculos que si-guen a continuacion.Ejemplo8-1 solucion.xls, donde se puede encontrar el analisis reali-zado.Ejemplo8-10R.xpt, para facilitar la realizacion de las replicaciones delas diferentes combinaciones de factores.

Page 179: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 179

8.4.1. El modelo

El modelo que se ofrece en Ejemplo8-1.mod, y cuya representacion grafica semuestra en la figura 8.1, esta contruido de la siguiente manera:

En primer lugar, existen dos variables de tipo entero: s y Q que son losparametros del modelo, los factores del diseno de experimentos.

Dos piezas, Producto y NoServido, representan, respectivamente, lasunidades de producto servidas y las unidades de producto no servidas.

El buffer Stock representa el stock fısico del que dispone la empresa.Desde este buffer se retiran los productos para atender la demanda yes adonde llegan los productos que entrega el proveedor.

La Maquina Clientes reproduce el comportamiento de la demanda. Ca-da dıa genera un valor de la demanda. Y con ese valor, trata de reti-rar unidades de producto de Stock. Cuando no hay suficientes, obtienepiezas NoServido de ��WORLD��. Al final de cada operacion (de cada dıa)se computan los costes (esto se comenta con mas detalle mas adelante).

El buffer StockProveedor permite reproducir el lead time del provee-dor. Cuando un Producto enviado desde el proveedor al stock del cliente,permanece un tiempo en este buffer correspondiente al lead time.

La maquina Proveedor gobierna la resposicion del stock. Cuando la can-tidad de Productos que hay en Stock mas la cantidad de productos quehay en StockProveedor cae por debajo del valor de s, se lanza un pedidode tamano Q, que Proveedor genera y empuja hacia StockProveedor.

Ademas, existen todos las variables para calcular los costes de cadatipo y el coste total y las variables correspondientes a los valores de lademanda y del lead time.

Para representar la evolucion del stock fısico y del stock disponible, hayun histograma que se actualiza cada dıa simulado.

Por ultimo, en Acciones de inicializacion es donde se da valores a losparametros y donde se genera el primer valor de Demanda.

Page 180: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 180

Figura 8.1: representacion grafica correspondiente al modelo.

Computo de loscostes

Para computar los costes, se calculan los tres costes: carencia, emision y alma-cenamiento como con el codigo de la figura . En particular:

El coste de almacenamiento (CosteStock) se calcula como sigue. El pro-ducto del numero medio de Productos en Stock por el valor de TIME esigual a la suma, para todas las piezas producto del tiempo que ha per-manecido cada una de ellas en Stock. Al multiplicar el valor anterior porel coste unitario de almacenamiento, se obtiene el coste total de almace-namiento hasta el instante TIME.

El costes de carencia se computa, simplemente, como el numero depiezas de tipo NoServido por el coste unitario de carencia, ya que ca-da vez que se deja de atender la demanda de un Producto se genera unapieza de tipo NoServido.

El coste de emision se calculan como el producto de las veces que seha realizado un pedido (que es igual al numero de ciclos de la maquinaProveedor por el coste unitario de emitir un pedido.

El coste total se actualiza cada dıa calculando la suma de los tres costesanteriores.

Figura 8.2: codigo para el computo de los costes.

Page 181: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 181

8.4.2. Experimentacion

Estimacionespreliminares

Si el problema fuera determinista, se puede demostrar (PENDIENTE, buscarreferencia) que el tamano de lote optimo, Q∗ es igual a la siguiente expresion:

Q∗ =√

2×D × CECA

CA+ CCCC

(8.10)

Estimacion de QSi el problema fuera determinista con los valores medios, entonces D = 250.Los datos correspondientes a los costes son CE = 200, CC = 10 y CA = 1,por lo que, de acuerdo con la expresion , el tamano de lote economico optimoserıa, redondeando, Q∗ = 331.

Estimacion de sPor otro lado, si el lead time del proveedor fuera determinista e igual a 2 dıas,el nivel de reaprovisionamiento serıa igual a la demanda correspondiente a eseperiodo, es decir, s = 2× 250 = 500.

Niveles de s y QPara determinar el efecto de los factores s y Q, se pueden estudiar dos valorespara cada factor, uno inferior y otro superior al valor teorico que se habrıaobtenido en el caso no estocastico. Estos valores se muestran en el cuadro8.4.2.

Cuadro 8.3: combinaciones de los factores s y Q.

s(−) s(+)450 550

Q(−) 315 R1 R3

Q(+) 345 R2 R4

Por ultimo, se puede construir la tabla correpondiente a estas combinacionesde factores tal y como se muestra en el cuadro .

Cuadro 8.4: tabla con los experimentos para los factores s y Q.

Combinacion c s Q s ×Q Rc1 − − + R1

2 + − − R2

3 − + − R3

4 + + + R4

Page 182: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 182

Tiempo decalentamiento ylongitud de lasreplicaciones

En primer lugar, como se trata de un modelo de simulacion sin terminacion,hay que calcular en tiempo de calentamiento. Se deja al lector como ejercicioque lo calcule. Empleando el metodo de Welch, se comprueba que un tiempo decalentamiento de 60 dıas es suficiente para alcanzar el regimen permanente.Con respecto a la longitud de las replicaciones, es razonable estudiar los costesasociados a un periodo de un ano. Con ello, cada replicacion tendra un tiempode calentamiento de 60 dıas y una duracion (una vez alcanzado el regimenpermanente) de 365 dıas.

ReplicacionesLo primero que hay que hacer es realizar un conjunto de diez replicaciones(n = 10) para cada una de las combinaciones de factores. Para eso hay quehacer los siguiente:

1. Abrir el archivo Ejemplo8-1.mod, y modificar las Acciones de inicializa-cion para fijar los valores deseados de s y Q.

2. Abrir el libro Ejemplo8-1.xls y seleccionar la hoja Experimentos ysuperficie.

3. Abrir (si no esta ya abierto) el archivo de experimentacion Ejemplo8-110R.xpt.

4. Ejecutar el archivo anterior (Modelo / Experimento / Ejec. acel.)

5. Importar el contenido del archivo Exp.csv a una hoja auxiliar.

6. Seleccionar los valores correspondientes a la variable CosteTotal paracada replicacion y copiarla en las celdas con fondo azul del libro de Excel,en la fila que corresponda segun la combinacion de factores estudiada.

PENDIENTEImagenes del xls

Calculo de es ,eQ y eSQ

A continuacion, hay que calcular los efectos principales y la interaccion delos dos efectos para las diez replicaciones, para lo cual se puede usar zonasombreada de color amarillo. En la figura , por ejemplo, se han introducidolas formulas, de manera que los valores −63,55, −41,67 y 22,71 se calculan apartir de los valores para la primera replicacion de cada combinacion: 293,18,250,05, 260,99 y 240,57. Por ejemplo: −63,55 = −293,18+ 250,05,−260,99+240,57.

Page 183: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 183

Figura 8.3: calculo de los efectos para cada replicacion

Intervalos paraes , eQ y eSQ

Una vez que se dispone de los valores de los efectos para cada replicacion,se puede calcular un intervalo de confianza para cada uno de ellos, como semuestra en la figura 8.4. Para ello, de la misma manera que en el capıtulo 6,se calcula estiman la media y la varianza, se establece un nivel de confianzay se obtiene la semiamplitud del intervalo, con lo que, finalmente, se puedencalcular los extremos superior e inferior del intervalo.

Figura 8.4: intervalos de confianza para los efectos

Analisis deresultados

Los intervalos que se han obtenido para los efectos principales y para la inter-accion de los dos factores son:

es ∈ (−68,78,−53,51)

eQ ∈ (−43,20,−16,74)

esQ ∈ (−10,89,−6,59)

(8.11)

IntepretacionSe puede concluir que cuando sı que existe PENDIENTE.

Page 184: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 184

PENDIENTECuidado con

8.5. Superficies de respuestas

Un metamodeloComo se ha mostrado en los apartados anteriores, con el diseno de experi-mentos se puede evaluar si el efecto de los factores (F1, F2, ..., Fk) y los efectosde sus interacciones sobre la respuesta del modelo (R) son significativos o no.Un paso mas puede consiste en disponer de un metamodelo: un modelo querelacione el valor de los factores con el valor de la respuesta del modelo desimulacion, de la forma E[R] =ϕ(F1, F2, ..., Fk)

OptimizacionCon un metamodelo bien construido es posible

1. predecir el comportamiento del sistema para diferentes valores de losfactores (especialmente interesante cuando el la ejecucion de un modelolleva mucho tiempo) y

2. buscar los valores de dichos factores que proporcionen un valor optimode la respuesta.

Modelo deregresion

A partir del diseno de experimentos con dos factores a dos niveles del ejemploanterior, se puede construir un primer modelo de regresion de primer ordende la siguiente forma:

E [R(s,Q)] = β0 + βsxs + βQxQ + βsQxsxQ (8.12)

Donde las variables xs y xQ se definen de la siguiente manera:

xs = 2(s − s)ΔsxQ = 2(Q−Q)ΔQ

(8.13)

y s yQ representan, respectivamente, la media corresondiente a los dos nivelespara el factor s y el factor Q; y Δs y ΔQ representan, respectivamente, ladiferencia entre los dos valores de los factores s y Q.

Las definiciones de xs y xQ son tales que cuando s y Q toman, respectivamenteel valor correspondient al nivel − en el diseno de experimentos (en el ejemplo(450 y 315), xs y xQ toman el valor −1. Cuando s y Q alcanzan el nivel +, xs yxQ toman el valor −1

Page 185: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 185

Al sustituir las expresion de xs y xQ en 8.17, se obtiene un modelo donde larespuesta es funcion de los valores de s y Q:

E [R(s,Q)] = β0 + βs 2(s − s)Δs + βQ 2(Q−Q)ΔQ + βsQ 2(s − s)Δs 2(Q−Q)ΔQ (8.14)

EstimadoresSe puede demostrar que los mejores estimadores de los valores de β0, βs , βQy βsQ son los siguientes (ver Montgomery [?]):

β0 = RF(n)

βs = es(n)2

βQ =eQ(n)

2

βsQ =esQ(n)

2

(8.15)

Donde es(n), eQ(n) y esQ(n) son los valores medios de las respuesta corres-pondientes a las cuatro combinaciones de los niveles de los factores al realizarn replicaciones. RF(n) es el valor medio de la respuesta para todas las combi-naciones y para las n replicaciones.

Validez de lasuperficie

El metamodelo anterior es un modelo de regresion de primer orden. Sin em-bargo, no existen garantıas de que la superficie se ajuste bien al verdaderocomportamiento de la respuestas dentro de los valores correspondientes a losniveles − y + de los factores. Para comprobar si, efectivamente, la aproxima-cion es valida, una alternativa consiste en reproducir la propia superficie derespuestas reales del modelo y comparar con las previsiones que se puedenrealizar con el metamodelo. Obviamente, precisamente es esto de lo que seprentende huir con la construccion de la superficie.

PENDIENTEFigura con el punto C y comentarios

ComprobacionComo solucion alternativa, se puede estudiar en que medida el metamodelopredice bien el comportamiento del sistema para el punto central C , definidopor s = s y Q = Q. Con las n replicaciones realizadas para construir la super-ficie de respuesta se puede realizar la prediccion del metamodelo, E[R(s,Q)]que cuando s = s y Q = Q toma el valor E[R(s,Q)] = RF(n). Por otro lado,se pueden realizar n repliaciones del modelo para el punto central, RC(n).Se podrıa calcular la diferencia entre RC(n) y RF(n). Sin embargo esta serıauna posible observacion de la variable aleatorio D(n) = RF(n) − RC(n), quemide la diferencia entre el comportamiento del modelo y del metamodelo, ycomprobar si esta diferencia es significativa, para lo cual hay que construir unintervalo de confianza para la media de D(n).

Page 186: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 186

Diferenciasignificativa

Para obtener un intervalo de confianza para la media de la variable D(n) =RF(n) − RC(n). Para ello es necesario, obtener m observaciones de RF(n) yotras tantas de RC(n) y obtener un intervalo de confianza a partir de estosvalores. Si el intervalo contiene al 0, no existe diferencia significativa entre losvalores que ofrecen el modelo y el metamodelo para el punto C : la curva seconsidera suficientemente buena.

Para cada dos de los 2 ×m valores anteriores, se puede calcular Dj(n) comola diferencia entre los valores del modelo RjC(n) y del metamodelo RjF(n), conj = 1, ...,m, de manera que el intervalo para la media deD(n) = RF(n)−RC(n),con un nivel de confianza α vendrıa dado por la expresion siguiente:

⎛⎜⎝D(n)− tm−1,1−α/2

√√√√S2Dj(n)(m)

m,D(n)+ tm−1,1−α/2

√√√√S2Dj(n)(m)

m

⎞⎟⎠ (8.16)

Para cada una de losm valores anteriores es necesario realizar n replicacionespara cada una de las combinaciones de lo factores (4) y para el punto C . Esdecir, hay que realizar m×n× 5 repliaciones.

Otrassuperficies

En el caso de que se identificara que hay diferencia significativa entre el modeloy la superficie para el punto C , habrıa que evaluar la posibilidad de contruirun modelo de regresion de segundo orden o cuadratico, de la forma siguiente:

E [R(s,Q)] = β0 + βsxs + βQxQ + βsQxsxQ + βssx2s + βQQx2

Q (8.17)

Para obtener los coeficientes βss y βQQ es necesario definir nuevas combinacio-nes de los valores de los factores adicionales a las utilizadas para la superficiede primer orden. Para conocer como construir la superficie, se recomiendaconsultar Montgomery [?].

Explotacion delmetamodelo

Por ultimo y admitiendo que la superficie fuera adecuada es posible explotarel modelo para buscar optimos locales cercanos a los puntos correspondientesa las combinaciones de las factores estudiadas.

Incluso si la superficie no es suficientemente buena se puede hacer lo siguiente.A partir de la expresion corresondiente al modelo de regresion de primer ordensin el termino no lineal, E [R(s,Q)] = β0 + βsxs + βQxQ) se puede, operando,expresar la superficia en funcion de los factores s yQ, E [R(s,Q)] = γ0+γsxs+γQxQ) . A continuacion se puede proceder de la siguiente manera.

A partir del punto central C , identificar la direccion en la que disminuyemas rapidamente el valor de la respuesta: (−γs,−γQ) (gradiente).

Page 187: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 187

Desplazarse desde el punto considerado (inicialmente C) hacia otro pun-to segun la direccion anteior (o a un lugar punto proximo, dada la condi-cion de integralidad de s y Q).Ejecutar el modelo para esa configuracion. Si el el valor de la respuesta essignificativamente menor, continuar avanzando en esa direccion. En casode que no sea ası, realizar de nuevo un diseno factorial en el entorno delultimo punto evaluado. A continuacion avanzar de acuerdo con el nuevogradiente hasta que no se pueda reducir el valor de la respuesta.Detener el proceso cuando al obtener una superficie de respuestas seobtiene una superficie plana.

8.6. Ejemplo 2

Para la situacion del ejemplo 1:

Obtener una superficie de respuesta, tanto dependiendo de xs y sQ yde s y QComprobar el comportamiento de la superficie para el punto C (xs = 0y xQ = 0).

Para realizar este ejercicio, ademas del material disponible para el ejercicioanterior, se puede utilizar el archivo Ejemplo8-1 100R.xpt para facilitar larealizacion de las replicaciones que permiten obtener las diferencias RjC(n) y

RjF(n)

Estimacion delas βs

En primer lugar, para obtener la expresion de la superficie 8.17, hay que obte-ner la estimacion de β0, βs , βQ y βsQ de acuerdo con las expresiones 8.15. Paraello, en la fila 20 de la hoja Experimentos y superficie hay que introducirlas fomulas, que se refieren a los efectos de los factores calculados en las cel-das P13:P15. Haciendo esto se obtienen los valores β0 = 263,65,βs = −30,57,βQ = −14,99 y βsQ = −1,08, de manera que la superficie, en funcion de xs yde xQ tiene la forma siguiente:

Superficie enfuncion de xs yxQ

E [R(s,Q)] = 263,25− 30,57xs − 14,99xQ − 1,08xsxQ (8.18)

Page 188: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 188

Valores de xs ysQ

Para poder hacer predicciones a partir del metamodelo, si se utiliza la expre-sion anterior, es necesario obtener los valores de xs y sQ a partir de s y Q.

xs = 2(s − s)Δs = 2(s − 500)100

= s − 50050

xQ = 2(Q−Q)ΔQ = 2(Q− 330)30

= Q− 33015

(8.19)

PrediccionesEn terminos del archivo de Excel, se puede hacer los siguiete:

Introducir en las celdas correspondientes Calculos auxiliaresIntroducir en las celdas corresopndientes a Valores de loo factores algu-nos puntos que se desee evaluar. En la hoja con la solucion aparecen losvertices y el centro del cuadro de la figura PENDIENTE. Para cada par devalores de s yQ, obtener los valores de las variables xs y sQ en las celdasVariables Auxiliares.Finalmente, en la fila Prevision del metamodelo se puede construir la ex-presion de la respeusta prevista para cada par de valores de los factores.Adicionalmente, existen algunas celdas de fondo blando para poder eva-luar en que medida la prediccion fue correcta. Se trata de un calculo decaracter academico. En un estudio de un modelo complejo, se realzarıauna comprobacion del punto central, C a traves de un intervalo de con-fianza. En este caso se ilustra la diferencia para varias observaciones.Para hacer esto hay que realizar lo siguiente:

• Modificar las Acciones de inicializacion del modelo para que las va-riables s y Q tomen los valroes deseados.

• Abrir y ejecutar el experimento contenido en Ejemplo1-10R.xpt,con lo que se dispondra de 10 valores de la respuesta del modelo.

• Importar los dat0s del archivo csv resultante a la hoja de calculo(la hoja CSV tiene incorporada la busqueda de datos). Copiar losvalores de las 10 observaciones de CosteTotal a la columna corres-pondiente en la hoja Experimentos y superficie.

Figura 8.5: previsiones realizadas con la superficie.

Page 189: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 189

Superficie enfuncion de s y Q

Alternativamente, se puede obtener la superficie en funcion de los valores des y Q, operando a partir de los valores de xs y xQ y se podrıan realizar previ-siones, igualmente, con esta expresion.

E [R(s,Q)] = 662,095− 0,138s − 0,282Q− 0,001sQ (8.20)

ComprobacionesPara la comprobacion de la validez de la superficie hay que caluclar un interva-lo de confianza para la variable D(n) = RF(n)−RC(n). La hoja Comprobacionpunto C esta disenada para facilitar la tarea.

Estructura hojaComprobacionpunto C

Existen 10 cuadros azules, cada uno correspondiente las m = 10 observacio-nes de RjF(n) y las m = 10 observaciones de RjC(n). Cada cuadro contienecinco filas corresondientes a cuatro combinaciones de los factores de experi-mentacion. Los cuatro primeros, correspondientes a un diseno 22 y la quintacorresondiente al punto C . Cada cuadro tiene ademas tantas columnas dispo-nibles como las replicaciones que hay que realizar en cada caso (n = 10). Paracada cuadro, es posible obtener los valores de RjF(n) y RjF(n)

En la parte superior aparecen tres filas corresondientes a los diferentes valo-res de RjF(n), R

jC(n) y Dj(n), a partir de los cuales obtener el intervalo de

confianza y comprobar si existe diferencia significativa o no.

Figura 8.6: Calculo de R1F (10) y R1

C(10).

ProcedimientoPara obtener el intervalo, se recomienda hacer lo siguiente:

1. Seleccionar una combinacion de factores y modificar las Acciones de ini-cializacion.

2. Abrir y ejecutar el experimento Ejemplo8-1 100R.xpt e importar losdatos del archivo .csv generado.

3. Emplear los datos corresondientes a las diez primeras replicaciones paraj = 1, las diez siguientes para j = 2 y ası sucesivamente hasta j = m.Para ello, copiar los valores en

4. Hacer todo lo anterior para las cinco combinaciones.5. Para cada valor de j = 1, ...,m, calcular RjC(10) y RjF(10)

Page 190: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 190

6. Con los valores anteriores, en las celdas superiores, construir un el in-tervalo de confianza para la media de D(10), como se ha hecho en otrasocasiones para otras variables.

Figura 8.7: Diferenicias entre RjF(10) y RjC(10).

Analisis de losresultados

El intervalo obtenido en el archivo Ejemplo8-1 solucion.xls es (7,11,7,86),que no contiene al 0, con lo que sı existe diferencia significativa entre la esti-macion realizada con la superficie para el punto C y el comportamiento delsistema para ese valor. Para disponer de una superficie mas fiel a la realidadserıa necesario introducir los terminos en x2

s y x2Q, y habrıa que estimar nue-

vos coeficientes. Para ello se deben realizar calculos parecidos a los que se hanpresentado en este capıtulo y se remite al lector al texto Montgomery [?] paraprofundizar mas.

8.7. Resumen

El analisis del comportamiento de un sistema puede estar condicionado porlos varores de diferentes datos de entrada. Es decir, la respuesta del sistema(variable de salida) puede depender de varios datos de entrada (variables deentrada o parametros). Mediante el disneo de experimentos se puede estudiarde forma eficaz y eficiente la existencia o no de influencia significativa del valorde dichos factores sobre la respuesta del sistema. El caso mas sencillo es el deldiseno factorial 2k donde se estudian k factores, para cada uno de los cualesse consideran dos posibles niveles (alto y bajo).

Si los modelos son muy pesados, y su ejecucion lleva mucho tiempo, puederesultar interesante disponer de un metamodelo que permita predecir el com-portamiento del modelo para diferentes valores de los factores sin necesidadde realizar replicaciones. En primera aproximacion, un modelo de regresion deprimer orden puede ser suficiente. Si no lo fuera, se pueden construir metamo-delos de orden superior, que son mas fieles al modelo pero exigen un mayortiempo de computacion.

Page 191: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9

REDUCCION DE LA VARIANZA

9.1. Introduccion

Como se ha dicho en capıtulos anteriores, el resultado de alimentar un mo-delo con entradas aleatorias son salidas tambien aleatorias. Por tanto, paraextraer conclusiones correctas, es necesario aplicar tecnicas estadısticas paracaracterizar estos datos de salida. Pero la mayorıa de los modelos complejosrequieren una gran cantidad de recursos para ser simulados (tanto en tiempode computacion como espacio para almacenar datos) y las tecnicas estadısti-cas generalmente se basan en la realizacion de multiples replicaciones. Poreste motivo, en algunos casos, el coste de un analisis estadıstico es demasiadoalto en relacion a los resultados que se obtienen (medidos por la amplitud delintervalo de confianza).

Como mejorarla eficiencia

La calidad de los resultados se puede medir segun la amplitud del intervalo deconfianza que acompana al valor estimado, expresado por:

y(n)± tn−1,1−α/2

√S2(n)n

(9.1)

Uno de los caminos para aumentar la eficiencia de la simulacion es mejorarla programacion para conseguir modelos que requieran menos recursos parasu ejecucion. De este modo, con el mismo esfuerzo de computacion, se puedeaumentar el numero de replicaciones (n) por lo que el intervalo anterior seestrecha. Otro camino se dirige a mejorar la , es decir, que los datos de salidade la simulacion tengan una varianza menor. Si se consiguen datos con me-nor varianza, S2(n) disminuye y el intervalo de confianza sera mas estrecho.Por tanto la precision de los resultados crece sin aumentar la duracion de lasimulacion. Al conjunto de tecnicas empleadas para lograr este proposito seles conoce como tecnicas de reduccion de la varianza (en ingles de ��VarianceReduction Techniques��, VRT ) y su aplicacion puede ser la unica manera deobtener resultados utiles de un proyecto.

Page 192: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 192

¡Las VRT nosiemprefuncionan!

Como se explica mas adelante, la forma de aplicar estas tecnicas depende decada modelo en particular y no se puede saber de antemano los beneficiosen la reduccion de la varianza de aplicarlas. Como consecuencia, la mayorıade las estas tecnicas necesitan un estudio previo para saber si su aplicacioncontribuye a una mejora en la eficiencia de los recursos o si, por el contrario,conllevan una perdida de rendimiento.

Estructura delcapıtulo

En la secciones 9.2 y 9.3 se desarrollan brevemente los fundamentos de dostecnicas de reduccion de la varianza (numeros aleatorios comunes y variablesantiteticas). Estas tecnicas se desarrollan de forma practica en la resolucion deun problema real mediante simulacion (seccion 9.4).

9.2. Numeros aleatorios comunes

9.2.1. Fundamentos

La primera de las tecnicas de reduccion de la varianza que se expo-ne en este capıtulo se conoce como numeros aleatorios comunes (eningles ��Common Random Numbers��, CRN ) y se aplica para comparardos o mas configuraciones alternativas. Se basa en la idea de estudiar el com-portamiento de las alternativas bajo ��condiciones de simulacion similares��, esdecir, alimentandolas con entradas lo mas parecidas posible. De este modo,se asegura que las diferencias en los datos de salida se deben principalmen-te al comportamiento de los modelos y no a fluctuaciones en el valor de lasvariables de entrada.

A partir de ahora se considera que se quieren comparar dos alternativas (1y 2) en funcion del comportamiento de una variable de salida (Y1 e Y2). Sedenota por y1i e y2i los valores de estas variables en la i-esima replicacion. Lacomparacion se lleva a cabo a traves de una nueva variable, (Y ), que representala diferencia de las anteriores, Y = Y1 − Y2, y que toma los valores yi = y1i −y2i). El analisis se realiza mediante el siguiente intervalo:

y(n) =∑ni=1yin

=∑ni=1y1i −y2i

n

y(n)± tn−1,1−α/2√S2(n)

Para mas informacion acerca de este intervalo se recomienda ver el capıtulo6 de este texto. Por tanto, para mejorar la precision del analisis es necesarioreducir la varianza de y(n), que se puede expresar mediante la expresion (verel apartado 3.2.4):

Var[y(n)] = Var(yi)n

= Var(y1i)+ Var(y2i)− 2Cov(y1i, y2i)n

(9.2)

Page 193: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 193

Por tanto, si se consigue que los valores de cada par (y1i, y2i) se correlacionenpositavemente, Var[y(n)] se reduce, y el intervalo de confianza se estrecha.Se puede conseguir esta correlacion si en cada replicacion i se usan los mismosnumeros aleatorios para generar1 las variables de entrada de ambas alterna-tivas. De este modo se simulan situaciones similares en ambos modelos porlo que es de esperar que las salidas tambien esten relacionadas. Cada nume-ro aleatorio ri(0,1) se utiliza para generar variables equivalentes en las dosalternativas.

Ejemplo 5.2.1 Una empresa decide instalar un sistema telefonico de atencion alcliente (a partir de ahora SAT). Para ello cuenta con dos propuestas y realiza unestudio de simulacion para elegir aquella que ofrezca un tiempo total medio dellamada menor. En ambos modelos existen dos variables de entrada: tiempo en-tre llamadas (T ) y duracion de cada llamada (D). Si cada replicacion se finalizatras 100 llamadas, seran necesarios 100 valores tj y otros 100 dj (donde j tomavalores entre 1 y 100) que se generan a partir de 200 numeros aleatorios. Paraaplicar CRN se utilizan los mismos 200 numeros aleatorios en ambas alternativasde manera que cada pareja (y1i, y2i) comparte los 100 valores (tj, dj). Si en unareplicacion el conjunto d1, · · · , d100, por ejemplo, toma valores altos tanto y1i

como y2i tenderan a ser mayores y de este modo se introduce una correlacionpositiva en cada par.

9.2.2. Sincronizacion

La mayor dificultad de aplicar esta tecnica reside en conseguir utilizar los mis-mos numeros aleatorios con el mismo proposito en ambas configuraciones. Sise utiliza el numero aleatorio ri(0,1) en la primera alternativa con un proposi-to determinado debe utilizarse con ese mismo proposito tambien en la segun-da. A diferencia del ejemplo anterior, cada configuracion puede necesitar unnumero diferente de ri(0,1), y si se quieren hacer n replicaciones se complicalocalizar donde se ha empleado cada numero aleatorio. Para solucionar esteproblema la mayorıa de los programas de simulacion agrupan sus numerosaleatorios en series numeradas a las que se puede acceder selectivamente. Deeste modo se puede sincronizar el uso de los numeros aleatorios empleandouna serie concreta con un el mismo proposito en las dos configuraciones. Estemetodo de sincronizacion se conoce como series dedicadas.

1ver seccion 3

Page 194: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 194

Ejemplo 5.2.2 En el cuadro 9.2.2 se organiza el uso de los numeros aleatoriospara el caso del SAT del ejemplo anterior en el caso de hacer 10 replicaciones. Seutilizan los primeros 100 numeros de cada serie para generar 100 valores de tj ode dj .

Rep.Configuracion 1 Configuracion 2t d t d

1 Serie 10 Serie 20 Serie 10 Serie 20

2 Serie 11 Serie 21 Serie 11 Serie 21

3 Serie 12 Serie 22 Serie 12 Serie 22

4 Serie 13 Serie 23 Serie 13 Serie 23

5 Serie 14 Serie 24 Serie 14 Serie 24

6 Serie 15 Serie 25 Serie 15 Serie 25

7 Serie 16 Serie 26 Serie 16 Serie 26

8 Serie 17 Serie 27 Serie 17 Serie 27

9 Serie 18 Serie 28 Serie 18 Serie 28

10 Serie 19 Serie 29 Serie 19 Serie 29

9.2.3. Estudio preliminar

Como se ha dicho anteriormente, no se sabe de antemano si con la aplicacionde esta tecnica se mejora la precision del analisis o por el contrario empeora.Ademas, en el caso de funcione, no se sabe que mejora se puede esperar. Portanto, si es posible, se recomienda hacer un pequeno estudio preliminar paraasegurar que su aplicacion es util. En el caso de dos configuraciones alternati-vas los pasos son:

1. Realizar n replicaciones de cada modelo aplicando CRN. Se obtienen y1i

e y2i.

2. Calcular para cada replicacion yi = y1i −y2j y S2y(n).

3. Hacer n replicaciones de cada modelo sin aplicar CRN y calcular S2y1(n)

y S2y2(n).

4. Si S2y(n) < S2

y1(n)+ S2

y2(n) se recomienda usar CRN.

9.3. Variables antiteticas

9.3.1. Fundamentos

La tecnica de variables antiteticas (en ingles ��Antithetic Variables�� , AV ) esaplicable al analisis de resultados de una unica configuracion. La idea basica

es estudiar el promedio de la salida de dos replicaciones (y(1)i , y(2)i ), agru-padas de tal modo que si la salida en una de ellas tiene un valor bajo, se

Page 195: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 195

compense con un valor alto en la otra (es decir, que esten correlacionadas ne-gativamente). El promedio de estas parejas tiene el mismo valor esperado quela salida del modelo pero con una varianza menor. Esta idea se fundamentamatematicamente de la siguiente manera:

mi =y(1)i +y(2)i

2⇒ E(M) = E

(Y(1) + Y(2)

2

)= μY + μY

2= μY

Var[m(n)] = Var(mj)n

= Var(y(1)i )+ Var(y(2)i )+ 2Covar(y(1)i , y(2)i )n

y, por tanto, cuanto mayor sea la correlacion negativa entre y(1)i e y(2)i menores la varianza de m(n). Como E(M) = E(Y), M(n) es un estimador sin sesgode μ = E(Y) y los resultados del analisis de M son aplicables a Y . Como ven-taja, tiene una varianza menor por lo que se obtiene un intervalo de confianzamas estrecho.

9.3.2. Aplicacion

Para conseguir esta correlacion se utilizan numeros aleatorios complementa-rios en las replicaciones que forman cada par. Ası, si se emplea rk para generarel valor de una variable de entrada en Y(1)i , se utiliza 1− rk para su equivalen-

te en Y(2)i . Suponiendo que las variables se generan mediante el metodo de la

transformada inversa, si rk genera un tiempo de servicio alto en Y(1)i , 1−rk ge-

nera uno bajo en Y(2)i . Haciendo lo mismo con todos los valores de entrada decada pareja se consigue la correlacion negativa buscada. A las variables gene-radas a partir de los numeros aleatorios originales se les denomina regularesmientras que a las generadas a partir de sus complementarios se les conocencomo antiteticas. La mayorıa de programas de simulacion permiten elegir conque tipo de variables alimentar al modelo. Para aplicar AV es necesario utilizarseries dedicadas para cada proposito, empleando las mismas series para obte-ner y(1)i e y(2)i pero seleccionando el modo ��variables regulares�� y ��variablesantiteticas�� respectivamente.

Page 196: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 196

Rep.Y(1) Y (2)

Variables: regulares Variables: antiteticast d t d

1 Serie 10 Serie 20 Serie 10 Serie 20

2 Serie 11 Serie 21 Serie 11 Serie 21

3 Serie 12 Serie 22 Serie 12 Serie 22

4 Serie 13 Serie 23 Serie 13 Serie 23

5 Serie 14 Serie 24 Serie 14 Serie 24

6 Serie 15 Serie 25 Serie 15 Serie 25

7 Serie 16 Serie 26 Serie 16 Serie 26

8 Serie 17 Serie 27 Serie 17 Serie 27

9 Serie 18 Serie 28 Serie 18 Serie 28

10 Serie 19 Serie 29 Serie 19 Serie 29

Cuadro 9.1: aplicacion de AV para una de las configuraciones del ejemplo 5.2.1

9.4. Ejemplos de aplicacion

9.4.1. Ejemplo 5.1: aplicacion de CRN

La sucursal de un banco decide cambiar su cajero automatico y debe elegirentre dos alternativas: un cajero modelo Zippy o dos modelo Klunky. Aunqueel primer modelo Zippy permite realizar las operaciones mas rapidamenteque el Klunky, su coste es aproximadamente el doble, por lo que no seconsidera el coste como criterio de decision. El director encarga un estudiode simulacion al departamento de asesorıa y desarrollo de la sede centralpara elegir la alternativa que reduzca el tiempo que los clientes esperan paraser atendidos, ya que considera que este es el punto mas molesto para ellos.

La llegada de clientes a la sucursal puede aproximarse a una distribu-cion de Poisson con un ratio de un cliente por minuto. Segun los datosrecogidos en otras sucursales del grupo, el tiempo de servicio por clientede un cajero Zippy se puede aproximar a una exponencial con media 0,9minutos. El comportamiento de los cajeros Klunky es similar pero con media1,8 minutos cada uno. Se considera que en las dos alternativas se forma unaunica cola de tipo FIFO. Se elegira la alternativa que tenga un tiempo mediode espera en cola menor para los 100 primeros clientes. Si fuese el analista alque se encarga dicho trabajo, ¿que alternativa aconsejarıa instalar?

Fuente: Law A, 2001

Page 197: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 197

Objetivos delejemplo

En primer lugar se resuelve el ejemplo anterior sin aplicar ninguna tecnica dereduccion de la varianza y despues se resuelve aplicando CRN. Como conclu-sion se comparan los resultados obtenidos por ambos metodos. Por tanto, elobjetivo de esta seccion es doble: por un lado, exponer de manera practicacomo aplicar el metodo CRN y, por otro, demostrar el gran beneficio que enalgunos casos supone aplicar este tipo de tecnicas.

PlanteamientoEn la figura 9.1 se muestra un esquema del procedimiento para resolver elproblema. Se define la variable Y como la diferencia entre el tiempo mediode espera de los 100 primeros clientes en la alternativa 1, Y1, y en la 2, Y2,es decir, Y = Y1 − Y2. A partir de 100 replicaciones de cada alternativa secalcula un intervalo de confianza al 90 % para E(Y ). Si E(Y) > 0 en todo elintervalo, se considera que el tiempo de espera de la primera alternativa essignificativamente mayor que el de la segunda, en cuyo caso se elige la segundaalternativa. Si, por el contrario, E(Y) < 0, es de esperar que los clientes pasenmenos tiempo en cola en la alternativa 1, por lo que esta sera la elegida. Si elintervalo de confianza contiene al cero, la diferencia entre ambas alternativasse considera no significativa.

Figura 9.1: esquema del procedimiento para obtener un intervalo de confianzapara E(Y ).

El resultado seconoce deantemano...

El problema del ejemplo puede resolverse analıticamente aplicando teorıa decolas (para mas informacion acerca de esta disciplina se recomienda consultarSaaty, 1983). De este modo se obtiene que los valores esperados del tiem-po medio de espera de los 100 primeros clientes en las dos alternativas son:E(Y1) = 4,13 y E(Y2) = 3,70. Por lo tanto, se debe elegir la alternativa 2 ya quela espera de cada cliente se reduce en 0,43 minutos de media respecto a la al-ternativa 1. Mediante estos valores se pueden evaluar los resultados obtenidosmediante simulacion.

Page 198: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 198

A continuacion se presentan los archivos necesarios para seguir la resolucionde este ejemplo:

Ejemplo5-1a.mod : contiene el modelo la alternativa de 1 en Witness.Ejemplo5-1b.mod : contiene el modelo la alternativa de 2 en Witness.Ejemplo5-1 Experimento.txt : con este experimento se consiguen100 replicaciones independientes.Ejemplo5-1.xls : es la hoja de calculo donde se debe resolver el ejem-plo.Ejemplo5-1 solucion.xls : muestra como debe quedar la hoja decalculo una vez resuelto el ejemplo.

(a) Vista del modelo en Witness de la alternativa 1

(b) Datos / Filtro / Autofiltro

Figura 9.2: vista del modelo en Witness de la alternativa 2

Page 199: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 199

Primer experimento (sin aplicar CRN)

Si se desconocen las tecnicas de reduccion de la varianza, la simulacionse realiza sin controlar el uso de semillas, es decir, del mismo modo queen los ejemplos de los capıtulos anteriores. Los pasos para realizar las 100replicaciones independientes de la primera alternativa son los siguientes:

1. Abrir el modelo Ejemplo5-1a.mod.

2. Cargar el experimento Ejemplo5-1 Experimento.txt (Model / Experi-ment / Open).

3. Ejecutar el experimento (Model / Experiment / Batch).

4. Importar los datos del archivo generado Ej5-1.csv en la hoja ��CSV1�� del archivo Ejemplo5-1.xls .

5. Ordenar los datos importados segun el numero de replicacion (columnaB).

6. En la columna M se almacenan los tiempos medios de espera en cola, y1i.Copiarlos en la columna correspondiente de la hoja ��Analisis CRN��.

A continuacion se describe el proceso para obtener los tiempos medios deespera de la segunda alternativa, y2i:

1. Abrir el modelo Ejemplo5-1b.mod .

2. Cargar el experimento Ejemplo5-1 Experimento.txt (Model / Experi-ment / Open).

3. Seleccionar el modelo Ejemplo5-1b.mod en (Model / Experiment / Defi-ne).

4. Proceder como en el caso anterior para llevar los datos generados al lugarcorrespondiente de la hoja ��Analisis CRN��.

Segundo experimento (aplicando CRN)

Semillas enWitness

Las semillas de Witness se organizan en series y subseries tal y como muestrala figura 9.3. Hay un total de 400.000 series, divididas a su vez en 10.000 subse-ries. Cada subserie contiene 7,5x1047 numeros aleatorios. Estos numeros alea-torios se usan como semillas para generar valores de las variables aleatoriasdel modelo (ver seccion 3.5). Se puede controlar el uso de semillas asignandoseries concretas las funciones. La sintaxis para hacerlo es la siguiente:

FUNCION(parametros, serie)

FUNCION(parametros, serie,subseries)

Los argumentos serie y subserie son opcionales, es posible asignar la serie y lasubserie, solamente la serie o ninguna de las dos. Si no se especifica ninguna

Page 200: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 200

de las dos, Witness asigna automaticamente una serie que no se emplea enninguna otra funcion (para obtener mas informacion acerca del uso de semillasse recomienda consultar la ayuda de Witness)

Como asignarlas series paraaplicar CRN enel ejemplo

Como se explica en la seccion 9.2, la base de la tecnica CRN es la sincroni-zacion. En los dos modelos se utilizan numeros aleatorios con los mismospropositos: generar tiempos entre llegadas de nuevos clientes y generar dura-ciones de servicio. La sincronizacion se consigue asignando la misma serie enlas dos alternativas, para cada uno de estos propositos.

Figura 9.3: estructura de las series de semillas en Witness.

Los pasos para resolver el ejemplo aplicando CRN son los siguientes:

Primera alternativa:

1. Abrir el modelo Ejemplo5-1a.mod .

2. Asignar una serie a la funcion mediante la que se generan los tiemposentre llegadas de clientes. Para ello, sustituir, por ejemplo, POISSON(1)por POISSON(1,100) en Cliente / Inter arrival time.

3. Asignar una serie a la funcion mediante la que se generan las duracio-nes de los servicios. Para evitar que se solapen2 las series utilizadas enesta funcion y la anterior hay que dejar como mınimo 100 series entreambas (tantas como replicaciones). Por tanto, sustituir, por ejemplo, NE-GEXP(0.9,200) por NEGEXP(0.9,200)) en Zippy / Cycle Time.

4. Guardar los cambios y cargar el experimento Ejemplo5-1Experimento.txt .

5. Seleccionar el modelo Ejemplo5-1a.mod en (Model / Experiment / Defi-ne).

6. Ejecutar el experimento (Model / Experiment / Batch).

7. Importar los datos del archivo Ej5-1.csv generado en la hoja ��CSV CRN1�� del archivo Ejemplo5-1.xls .

8. Ordenar los datos importados segun el numero de replicacion (columnaB).

2Debido a la estructura del archivo Ejemplo5-1 Experimento.txt , al cambiar de replica-cion tambien se cambia de serie. Por ejemplo, si en una funcion se emplea la serie 50 en lareplicacion 1, al pasar a la replicacion 2 se emplea la serie 51

Page 201: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 201

9. Como en el experimento anterior, los tiempos medios de espera en colase almacenan en la columna M. Copiarlos en el lugar correspondiente dela hoja ��Analisis CRN��.

Segunda alternativa:

1. Abrir el modelo Ejemplo5-1b.mod .2. Asignar las mismas series que en la alternativa anterior (cambiar POIS-

SON(1) por POISSON(1,100) en ��Cliente�� y NEGEXP(1.8,200) por NE-GEXP(1.8,200) en los elementos ��Klunky1�� y ��Klunky2��).

3. Guardar los cambios y cargar el experimento Ejemplo5-1Experimento.txt .

4. Seleccionar el modelo Ejemplo5-1b.mod en (Model / Experiment / Defi-ne).

5. Ejecutar el experimento (Model / Experiment / Batch).

6. Proceder como en el caso anterior para copiar los datos generados allugar correspondiente de la hoja ��Analisis CRN��.

El analisis de los datos

Una vez que se tienen los datos y1,1, · · · , y1,100 e y2,1, · · · , y2,100, secalculan los 100 valores de Y . Se obtienen dos conjuntos de 100 de yi, querepresentan la diferencia del tiempo medio de espera de los 100 primerosclientes en la replicacion i aplicando CRN y sin aplicarlo. A partir de estosvalores se obtiene un cuadro como 9.2 donde se presentan los resultados delanalisis.

NOTA: Existe una fuerte correlacion entre y1i e y2i (0,72) a pesar de nohaberla inducido intencionadamente. Se debe a que con la asignacion au-tomatica de Witness se consigue una sincronizacion parcial debido a lasencillez del modelo. Para apreciar este concepto se presentan los resultadospara un experimento donde las series se han escogido intencionadamentepara que y1i e y2i sean completamente independientes.

ConclusionesComo se menciona en el planteamiento del ejemplo, si se resuelve el mismoproblema analıticamente se obtiene que E(Y1) = 4,13 y E(Y2) = 3,70, por loque E(Y) = 0,43. De este modo se pueden evaluar los resultados obtenidosmediante los dos metodos:

Si no se aplica CRN el valor estimado de la diferencia en ambas alterna-tivas es 0,16 , mientras que si se aplica CRN este valor coincide con elvalor esperado, 0,43.

Page 202: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 202

Funcion Excel Independ. Sin CRN Con CRN

y(n) PROMEDIO(F14:F113) 0,72 0,16 0,43

S2(n) VAR(F14:F113) 19,94 4,88 0,08

t99,0,95 DISTR.T.INV(0,1;99) 2,26

Semi-amplitudal 90 %

F7*RAIZ(F6/60) 0,74 0,37 0,05

Lim. inferior F5-F8 0,02 -0,32 0,37

Lim. superior F5+F8 1,47 0,63 0,49

Covar(y1i, y2i) COVAR 1,43 6,05 11,16(D16:D115;E16:E115)

ρ(y1i, y2i) COEF.DE.CORREL 0,13 0,72 1,00(D16:D115;E16:E115)

Proporcion de CONTAR.SI 56 % 55 % 96 %aciertos (F16:F115;′′ > 0′′)/100

Resultado NO NO SIsignificativo

Cuadro 9.2: resultados estadısticos de la aplicacion de CRN

Al aplicar CRN la varianza de yi se reduce de 4,88 a 0,08, es decir un98,41 %. Esta reduccion repercute en la semi-longitud del intervalo deconfianza, que pasa de 0,37 a 0,05, una reduccion del 87 %.

Si no se aplica CRN solo el 55 % de los valores yi son positivos, mientrasque aplicando CRN esta cifra se eleva hasta el 95 %. De esta cifra se de-duce que, en el caso de realizar menos replicaciones, si no se aplica CRNla probabilidad de cometer una eleccion equivocada es mayor.

Esta reduccion de la varianza es consecuencia del aumento de la cova-rianza que pasa de 6,05 a 11,16. Analizando este aspecto adimensional-mente, el coeficiente de correlacion pasa de 0,72 a 1,00. Los graficos 9.4y 9.5 ayudan a comprender la mejora experimentada.

Ademas, como conclusion final, si no se aplica CRN los resultados obtenidosson no significativos por lo que no se podrıa elegir una de las alternativas. Esun ejemplo de como, a partir de CRN, se pueden extraer resultados relevantesde un proyecto que, de otra manera, no se podrıa.

Page 203: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 203

Figura 9.4: grafico de correlacion entre Y2i (eje vertical) e Y1i (eje horizontal)

Figura 9.5: comparacion del valor de los pares (Y1i, Y2i) ordenados por repli-cacion

9.4.2. Ejercicio 5.2: Aplicacion de AV

Despues de ver los resultados del estudio de comparacion de ambas alter-nativas, el director del banco del ejercicio 11.1 decide optar por la segundaalternativa, instalar dos cajeros Klunky. Debido a los buenos resultadosobtenidos en el primer estudio decide encargar otro estudio para asegurarsede que el servicio prestado sera correcto en terminos del tiempo de espera.

¿Cual serıa su estimacion del tiempo medio que pasaran los clientes enla cola antes de poder utilizar uno de los cajeros? El resultado debeexpresarse en forma de un intervalo de confianza al 90 %.

Page 204: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 204

Al igual que en el ejemplo anterior, en primer lugar se resuelve el problema como sino se conociese ninguna tecnica de reduccion de la varianza y despues se resuelvaaplicando una tecnica de reduccion de la varianza, en este caso AV. Para finalizar, secomparan los resultados obtenidos por los dos caminos anteriores.

PlanteamientoEn este caso solo se considera una unica alternativa, por lo que el problema consiste enestimar el tiempo medio de espera del servicio (como en el caso anterior se consideransolo los 100 primeros clientes). Para observar la reduccion de la varianza resultante deaplicar AV , se lleva a cabo el estudio de simulacion mediante dos experimentos conla misma duracion:

El primero de ellos consta de 200 replicaciones sin controlar la asignacion denumeros aleatorios. Los valores obtenidos se analizan como 200 observacionesdel tiempo medio de espera. El resultado se da en forma de un intervalo deconfianza al 90 % para la media de esta variable.

En el segundo, se realizan 100 pares de replicaciones aplicando AV. Promedian-do los dos resultados de cada par, se obtienen 100 observaciones de una variableque tiene la misma media que la del experimento anterior, pero menor varianza.Si se construye un intervalo a partir de estos datos tambien res valido para elvalor esperado del tiempo medio de espera.

Ya se sabe elresultado...

Como se comento en el ejemplo anterior, este problema se puede resolver analıtica-mente y el valor esperado de la variable de salida es E(Y) = 3,70. La comparacion delos dos metodos se hace en funcion del valor puntual obtenido y de la amplitud delintervalo de confianza al 90 % que lo acompana.

Los archivos necesarios para seguir la resolucion de este ejemplo son los siguientes:

Ejemplo5-2.mod : coincide con el modelo Ejemplo5-2.mod .Ejemplo5-2 Experimento1.txt : es el experimento para conseguir 200 repli-caciones sin aplicar CRN.Ejemplo5-2 Experimento2.txt : es el experimento para conseguir 200 repli-caciones aplicando CRN. En las 100 primeras replicaciones se emplean valoresregulares de las semillas y de la 101 a la 200 se emplean los valores antiteticos.Ejemplo5-2.xls : es la hoja de calculo donde se debe resolver el ejemplo.Ejemplo5-2 solucion.xls : muestra como debe quedar la hoja de calculo unavez resuelto el ejemplo.

Experimento 1 (sin aplicar AV)

Si no se aplica ninguna tecnica de reduccion de la varianza, la manera habitualde llevar a cabo el estudio de simulacion es hacer un numero n de replicacionesindependientes y tratar cada observacion como un valor de la variable de salida. Parahacer un experimento con 200 replicaciones independientes de la alternativa elegidahay que seguir los siguientes pasos:

1. Abrir el modelo Ejemplo5-2.mod .

2. Cargar el experimento Ejemplo5-2 Experimento1.txt (Model / Experiment /Open).y ejecutarlo (Model / Experiment / Batch).

Page 205: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 205

3. Importar los datos del archivo generado Ej5-2.csv en la hoja ��CSV�� delarchivo Ejemplo5-2.xls .

4. Ordenar los datos importados segun el numero de replicacion (columna B).

5. Copiar los tiempos medios de espera (columna M) en la columna correspondien-te de la hoja ��Analisis de los datos��.

Experimento 2 (aplicando AV)

Para aplicar la tecnica AV se realizan 100 pares de replicaciones (200 en total)de las que se obtienen 100 parejas (y(1)i , y(2)i ). Para obtener cada pareja se utilizanlas mismas series de numeros aleatorios, pero en el primer caso con valores regularesy en el segundo con antiteticos. Esta diferencia se indica en la definicion de los ex-perimentos, dentro de los archivos Ejemplo5-2 Experimento1.txt y Ejemplo5-2Experimento2.txt (figura 9.6).

Figura 9.6: ejemplo de definicion en Witness de un par de replicaciones:(Y (1)8 , Y (2)8 )

A continuacion se enumeran los pasos para ejecutar correctamente el experimento:

1. Abrir el modelo Ejemplo5-2.mod .

2. Asignar una serie a la funcion mediante la que se generan los tiempos entrellegadas de clientes, tal y como se hizo en el ejemplo anterior (por ejemplo,POISSON(1) por POISSON(1,100)).

3. Del mismo modo, asignar una serie a la funcion mediante la que se generan lasduraciones de los servicios. Para evitar que se solapen sustituir, por ejemplo,NEGEXP(0.9,200) por NEGEXP(0.9,200).

4. Cargar el experimento Ejemplo5-2 Experimento2.txt (Model / Experiment /Open).y ejecutarlo (Model / Experiment / Batch).

5. Importar los datos del archivo generado Ej5-2.csv en la hoja ��CSV AV��del archivo Ejemplo5-2.xls .

Page 206: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 206

6. Ordenar los datos importados segun el numero de replicacion (columna B).

7. Copiar los tiempos medios de espera (columna M) en la columna correspondien-te de la hoja ��Analisis de los datos��, teniendo en cuenta que las 100 primerasreplicaciones son los valores obtenidos mediante semillas regulares, y(1)i y de la101 a la 200 los obtenidos mediante semillas antiteticas, y(2)i .

El analisis de los datos

Para analizar los datos del primer experimento se calcula directamente un in-tervalo de confianza de su media al 90 %. En el segundo experimento. Por otro lado,en el segundo experimento el intervalo ed confianza se calcula para el conjunto devalores obtenidos promediando cada par (y(1)i , y(2)i ). En el cuadro 9.3 se presentanlos intervalos obtenidos mediante los dos metodos.

Sin AV Con AV

y(n) PROMEDIO(D14:D213) 4,11 PROMEDIO(H14:H113) 4,04

S2(n) VAR(D14:D213) 9,08 VAR(H14:H113) 3,79

t99,0,95 DISTR.T.INV(0,1;199) 1,65 DISTR.T.INV(0,1;99) 1,66

Semi-amplitudal 90 %

D7*RAIZ(D6/100) 0,64 H7*RAIZ(H6/100) 0,42

Lim. inferior F5-F8 3,47 H5-H8 3,62

Lim. superior F5+F8 4,75 H5+H8 4,46

Covar(y1i, y2i) COVAR -4,53(F15:F114;G15:G114)

ρ(y(1)i, y(2)i) COEF.DE.CORREL -0,38(F15:F114;G15:G114)

Pronosticoacertado

SI SI

Cuadro 9.3: resultados estadısticos de la aplicacion de AV

Ademas, se observa que aunque en ambos casos el valor real esperado (Y = 3,70)esta contenido en el intervalo de confianza, el valor puntual se acerca mas en el casode aplicar AV.

Page 207: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 9. REDUCCION DE LA VARIANZA 207

5

Page 208: E DE SIMULACI´ON - iol.etsii.upm.es · PDF fileComo en cualquier modelo (y en particular si es de simulaci´on), es necesario Simulacion

Capıtulo 10

OPTIMIZACION Y SIMULACION

10.1. La simulacion: una tecnica descriptiva

10.2. Simulacion y optimizacion

10.3. Ejemplo