You are on page 1of 208

E LEMENTOS

DE
SIMULACION
Un enfoque practico
con Witness
Marzo 2012

Universidad Politecnica de Madrid

Alvaro Garca Sanchez


Miguel Ortega Mier
David Izquierdo Delgado
Indice general
Indice general 3

PROLOGO
A quien va dirigido el libro
Como utilizar el libro
No es un tratado exhaustivo de como utilizar Witness
No es un libro de teora de simulacion
De que tipos de sistema se ocupa el libro
Explicar el formato del texto: cuadros grises, cuadros blancos, mas?
Sobre los materiales. Nomenclatura de los archivos, como estan organizados,
etc.
Tipografas Criterio de tipografa:

Nombres de archivos Modelo.mod,Libro.xls


palabras resevadas de Witness PULL, PUSH
Palabras correspondientes a codigo: LOGNORML(2,0.2)
Rutas para seguir menus: Menu / Submenu /Subsubmenu
Nombre de elementos en Witness Maquina001
Captulo 1

INTRODUCCION A LA SIMULACION

1.1. Introduccion

Este libro se ocupa, con un caracter eminentemente practico, de las estapas


que hay que realizar para desarrollar un estudio de simulacion discreta. En este
captulo se presentan los conceptos fundamentales sobre esta tecnica a modo
de marco general para el conjunto de problemas y tecnicas que se abordan en
el resto de los captulos.

En primer lugar, se justica la necesidad de recurrir a la simulacion para e s- Estructura del


tudiar determinados problemas (1.2). A continuacion, se presenta un ejemplo captulo
sencillo 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 mas
complejo que lo que se presenta en ese ejemplo, por lo que en el epgrafe 1.4
se explica de que elementos consta un modelo de simulacion completo. Mas
adelante, en el apartado 1.5, se explica con que se alimenta y que se obtiene de
un modelo de simulacon. Ademas, junto con los aspectos relacionados con la
programacion, un estudio de simulacion implica otras actividades, las cuales
se presentan en el apartado 1.6. Finalmente, en el apartado 1.7 se describen
las alternativas disonibles para constuir un modelo de simulacion.

1.2. Por que simular

La utilizacion de modelos facilita el estudio de muchos sistemas. Generalmen- La utilidad de


te, frente a la alternativa a ensayar directamente sobre el sistema estudidado, los modelos
resulta menos costoso y menos arriesgado elaborar un modelo del sistema y
estudiar su comportamiento mediante el analisis de ese modelo. Por ejemplo,
para el estudio del comportamiento de un edicio es recomendable elaborar
un modelo de la estructura correspondiente. A partir del analisis del modelo
se pueden establecer las caractersticas de las vigas, los pilares, etc. para po-
der garantizar que la estructura cumplira los requisitos establecidos para su
correcto funcionamiento.
Captulo 1. INTRODUCCION A LA SIMULACION 5

Igualmente, el rediseno de una lnea de montaje de automoviles o la mod i-


cacion de la operacion de una empresa logstica se pueden estudiar mediante
modelos. Aunque la elaboracion de un modelo puede ser relativamente costo-
sa, con frecuencia, resulta menos costosa que los posibles costes derivados de
una decision poco acertada.

Existen modelos de muy diferente naturaleza, tan diferentes entre s como los Existen multitud
modelos fsicos y los modelos de simulacion discreta. La naturaleza de dichos de modelos
problemas condiciona la idoneidad de los modelos utilizados y de las tecnicas
apropiadas para explotar dichos modelos.

Los problemas que se plantean en Ingeniera de Organizacion consisten, en La Ingeniera de


con caracter muy general, obtener un buen (y si se puede, el mejor) funciona- Organizacion
miento de un sistema que opera con recursos limitados y sujeto a diferentes
restricciones. Por ejemplo, la Ingeniera de Organizacion se ocupa de la asig-
nacion de recursos a tareas, del rediseno de instalaciones, de la programacion
de actividades, etc.

Estos problemas se pueden abordar mediante modelos exactos. La Programa- Los metodos
cion Lineal, la Teora de Colas, la Programacion Dinamica son ejemplos de exactos
modelos para cuyo tratamiento existen tecnicas exactas. Los modelos de es-
te tipo permiten representar en terminos analticos tanto el problema como el
objetivo que se persigue con su estudio. Para muchos de estos modelos existen
tecnias que permiten obtener la mejor solucion para el problema estudiado. En
general, los metodos exactos son preferibles frente a otros.
Captulo 1. INTRODUCCION A LA SIMULACION 6

UN MODELO EXACTO
Una empresa fabrica bicicletas y triciclos. Con la venta de una bicicleta ob-
tienen un benecio 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 benecio?
Si se denen x1 como el numero de bicicletas producidas semanalmente y
x2 el de triciclos, el benecio 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 (1.1)
x1 + x2 30
x1, x2 0

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


exiten otros modelos de naturaleza diferente

Sin embargo, en ocasiones, no es posible construir modelos abordables con Cuando


metodos exactos. A veces, no es posible representar de la operacion del siste- recurrir a la
ma en terminos analticos o no es posible hacerlo en terminos sucientemente simulacion?
sencillos. En otras ocasiones, los modelos exactos son tan complejos que no
es posible obtener soluciones en tiempos de computacion razonables. En
estas ocasiones, 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 dnamico (es decir, el sistema estudiado evoluciona con el
tiempo) y
con fenomenos de caracter estocastico.

Existen muchos tipos de simulacion y en muchas disciplinas. La dinamica de Varios tipos de


sistemas o el metodo de Montecarlo, por ejemplo, son tipos de simulacion simulacion
aplicados a problemas de Ingeniera de Organizacion.
Captulo 1. INTRODUCCION A LA SIMULACION 7

La simulacion de eventos discretos se caracteriza, fundamentalmente, por la Eventos y


existencia de eventos (llegada de un cliente, nalizacion de la reparacion de estados
una maquina), que desencadenan el cambio del estado de los elementos del
sistema (asignacion de un vendedor al cliente, liberacion del operario para
realizar otras tareas) y desencadenan nuevos eventos para los cuales se calcula
el instante en el que se produciran (llegada del nuevo cliente, nueva avera de
la maquina). Como resultado de lo anterior, en la simulacion discreta el estado
del sistema cambia de forma discreta con el tiempo y no existen funciones que
dependan explcitamente 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 especcos de un modelo de
simulacion discreta.

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

1.3. Un ejemplo sencillo

En este epgrafe 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 problemas
en los que aparecen fenomenos tanto de caracter aleatorio como determinista.
Captulo 1. INTRODUCCION A LA SIMULACION 8

Un deposito que contiene carbon atiende una demanda diaria de cantidad


variable, de manera que cada da se expide con un camion con una carga de
entre 70 y 130 Tm. A partir de datos historicos se ha establecido la frecuencia
de ocurrencia para los distintas cantidades exedidas, que guran en la tabla
siguiente.

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 que


transportan una cantidad de carbon constante, pero que llegan a intervalos
de tiempo variables (variando entre los 2 y los 8 das). Las frecuencias de
ocurrencia de los diferentes valores para el intervalo de tiempo entre llegadas
guran en la tabla siguiente.

Tiempo entre llegadas (das) 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, se


ha jado el lote con el que cada tren alimenta el deposito en 500 Tm. Por otra
parte, para cubrirse frente la aleatoriedad de la demanda y del tiempo entre
llegadas 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 de
inventario inicial.
La demanda no se puede diferir, es decir, la demanda que no se atiende un da
no se sirve otro da, se trata de demanda perdida.
El coste de almacenaje (CA) es 0,2 u.m./(da y Tm) y el coste de carencia (CC)
es 100 u.m. cada da 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 el
coste total.

Este problema es sencillo y se podra abordar de forma exacta mediante la


aplicacion de la Teora de Colas. A modo de introduccion, a continuacion, se
presenta un modelo de simulacion, realizado con Excel, bastante simple con el
que poder estudiar el comportamiento del sistema para diferentes valores
del nivel se stock inicial. El archivo Ejemplo1-1.xls esta elaborado para fa-
cilitar la construccion dicho modelo y poder llegar al resultado, disponible en
Ejemplo1-1 Solucion.xls
Captulo 1. INTRODUCCION A LA SIMULACION 9

Como en cualquier modelo (y en particular si es de simulacion), es necesario Hojas de calculo


realizar hipotesis acerca del sistema. En primer lugar, se admite que la frecuen- y simulacion
cia relativa de los casos observados es igual a la probabilidad de que ocurra
cada valor. Es decir, se espera que la probabilidad de que la demanda de carbon
correspondiente a un da cualquiera sea de 80 Tm es 0.1.

Para reproducir el comportamiento del sistema se admite que el tiempo avanza Hipotesis del
en intervalos de tiempo constantes e iguales a un da. As, para simular la modelo
evolucion del sistema se obtendra el estado del sistema a lo largo de los 365
das de un ano.

El archivo consta de dos hojas:

una con las distribuciones (Distribuciones) y Estructura del


otra con la simulacion (Simulacion) archivo .xls

La hoja Distribuciones contiene la informacion necesaria para generar va-


lores de las variables aleatorias correspondientes a la llegada de trenes y a la
demanda diaria, conforme a las probabilidades que se han admitido como vali-
das. En la gura 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).

A partir de esas tres columnas, hay otras dos columnas dispuestas de tal ma- Generacion de
nera que mediante la funcion de Excel CONSULTARV (o BUSCARV para numeros
versiones anteriores a Oce 2010) y a partir de un valor aleatorio entre 0 y1 aleatorios
es posible generar valores de la demanda consistentes con la funcion de
probabilidad (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 la del Valor buscado en la o
c
lu
m- 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 gura 1.1 el p
rim
e
r valor
que supera 0.59 y devuelve el valor que esta situado a su derecha: 100.
Captulo 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 (gura 1.2) aparece
el valor del stock inicial (que es objeto de decision) y los costes del stock, de las
carencias y la suma de los dos para un posible ano de operacion del sistema.

Figura 1.2: resumen del comportamiento del sistema.

El resto de la hoja contiene la informacion relativa a la simulacion del sistema. La simulacion


Existen cuatro grupos de columnas, que permiten estudiar diferentes aspectos. propiamente
dicha
Contador de tiempos (columna A), donde se registran los enteros entre 1
y 365, de manera que cada la contiene la informacion re itca cada uno de
d
n
o
sp
los de los 365 das del ano.
Llegada de trenes (columnas B-E), que contiene el da en en las que lle-
gara el siguiente tren, informacion con la cual se actualiza el valor del
stock cuando corresponde.
Generacion de la demanda (columnas F y G), en las que se genera la
demanda diaria de carbon.
Evolucion del stock (columnas H-J), donde se calculan los valores del
stock.
Computo de los costes (columnas K y L, que permite calcular los costes
de stock y los costes de carencia.

Existen tantas las como das mas una la inicial en la que se genera la infor-
macion relativa a la llegada del primer tren. Cada la contiene la informacion
correspondiente a los trenes, la demanda, el stock y los costes de ese da.
Captulo 1. INTRODUCCION A LA SIMULACION 11

Las columnas B-E, sombreadas en azul, reproducen el la informacion relativa


a la llegada de trenes.

La primera la sirve para realizar la inicializacion del modelo. Para g racuando


n
e Llegada de
tendra lugar la llegada del primer tren. Para ello, tal y como se explica en el trenes
epgrafe 3.5 del captulo 3, se genera un numero aleatorio entre 0 y 1, con
lo que se genera el tiempo hasta la llegada del primer tren. Este mismo
proceso habra que realizarlo cada vez que llegue un tren. El evento llegada
de un tren desencadena el siguiente evento llegada de tren. En la columna B
guran los numeros aleatorios necesarios para generar los intervalos e n
tretrenes
y en la columna C guran los valores de los intervalos co re
sp
on
d
ie
n
te
s a los numeros
aleatorios generados.

La columna D almacena el instante (no intervalo) en el que llegara el siguiente


tren. 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 llega
un tren se calcula el instante en el que llegara el siguiente como el da actual
mas los das correspondientes al intervalo entre llegadas, valor generado en la
columna C. Cuando no hay llegada de tren, el da en el que llegara el siguiente
tren no se modica.

Por ultimo, la columna E indica si el da correspondiente llega o no llega tren.


Si llega, sera necesario modicar el valor del stock y generar la llegada d e
l
siguiente tren.

Figura 1.3: llegada de trenes.

Por ejemplo, el la gura 1.3 se observa que el da 5 llega un tren. Cuando e so


ocurre, se genera un nuevo valor para la proxima llegada (columna D), el da
11. Para ello, primero se genera un numero aleatorio entre 0 y 1 (columna B),
a partir del cual se obtiene el numero de das hasta el siguiente tren (columna
C), en este caso es 5. Finalmente, el da en el que llegara el siguiente tren se
obtiene como el da actual (5) mas el numero de das hasta el siguiente tren
(6). En las las siguientes, el valor de dicha columna no cambia hasta que el
contador de das (columna A) tiene el valor 11. Cuando esto es as, se realiza
la misma operacion nuevamente.
Captulo 1. INTRODUCCION A LA SIMULACION 12

Las columnas F y G, sombreadas en amarillo, permiten generar la demanda.


Todos los das existe una demanda. Para cada da (cada la) se genera, prim
rouna
e
numero aleatorio entre 0 y 1 (columna F ), y con ese valor, se genera un valor
de la demanda (columna G)

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

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

Las columnas K y L, en color salmon, computan los de cada da.

Costes de stock, columna K. Para cada da se puede calcular el coste del Computo de los
stock como el proucto del stock del deposito multimplicado por el coste costes
unitario por da y Tm de carbon.
Costes de carencia, columna L. Cuando se producen una carencia (guraun
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 la


suma de todos los costes de stock (computados en B4) y todos los cotes de
carencia (computados en B5).

En las opciones de Excel, se ha activado la opcion de actualizacion manual. Se Analisis


puede modicar esta opcion accediendo a Herramientas/Opciones/Calcular,
tal y como se puede observar en la gura 1.4. Al pulsar F 9 se generan nuevos
valores aleatorios en todas las celdas que contengan la expresion
ALEATORIO().
Captulo 1. INTRODUCCION A LA SIMULACION 13

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

Pulsando repetidamente F 9 se obtienen diferentes valores de los costes. Adi-


cionalmente, se puede modicar la celda correspondiente al stock inicial B3 y
obtener, igualmente, diferentes valores del coste para dicho stock inicial.
Realizando esto, se pueden comprobar varias cosas. En primer lugar, para un
determindado valor del stock inicial, cada vez que se actualizan los valores de
los numeros aleatorios, se producen eventos en instantes diferentes y, por lo
tanto, los costes son diferentes. Ademas, en general, para valores elevados del
stock 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 a
costa de asumir un coste de stock mayor

Se ha reproducido el comportamiento del sistema durante un ano. Cada vez


que se modican los numeros aleatorios se obtiene un posible comportamien-
to del sistema durante un ano, se dice que realiza una replicacion. A pesar de
poder observar varios fenomenos, como los que se han comentado, existen
algunas cosas que no quedan resueltas:

Para alimentar el modelo, la probabilidad de que cada variable aleatoria


tome un determinado valor es igual a la frecuencia relativa con la que se
ha 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 comportamiento
del sistema, y como no es posible saberlo, realizar una sola replicacion
es insuciente. 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, interesara comparar los costes para diferentes valores del
stock inicial. Basta comparar las medias obtenidas para un conjunto de
replicaciones?
Captulo 1. INTRODUCCION A LA SIMULACION 14

Las cuestiones anteriores son algunos ejemplos de los aspectos que hay que Algunas
tener en cuenta al realizar un estudio de simulacion. A lo largo de los captulos cuestiones
del libro se abordan las cuestiones mas importantes para realizar de forma pendientes
correcta un estudio de simulacion.

El ejemplo planteado es un caso sencillo de simulacion discreta en el que la


realizacion de determinados eventos desencadena otros y modica el estado
de los elementos del sistema. Por ejemplo, el evento llegada de un tren genera
otro evento (la llegada del siguiente tren) y modica el estado de un elmento(el
stock se incrementa en 500 Tm. En el siguiente epgrafe se describen todos los
elemntos de un modelo de simulacion discreta.

1.4. Elementos de un modelo de simulacion

Los problemas que se abordan mediante simulacion discreta son mas comple- Eventos y
jos que el sistema del ejemplo anterior. En esos sistemas hay mas elementos, estados
mas eventos y mas estados. Por ejemplo, un puesto en una lnea de montaje
puede estar en diferentes estados: ocioso, trabajando, averiado, esperando a
un operario, etc. Igualmente, puede haber diferentes eventos: avera del pues-
to, n de operacion, comienzo de operacion, n de reparacion, etc. La gene-
racion de eventos y la modicacion de estados son aspectos nucleares de a l
simulacion de eventos discretos. En el siguiente apartado se presentan todos
los elementos de un modelo de simulacion de eventos discretos.

Para gobernar de forma sistematica estos cambios, un modelo de simulacion


consta de (ver [1], pag. 9):

El estado de sistema, es decir, un conjunto de variables que permitan Elementos de un


describir el estado de los diferentes elementos del sistema modelo de
El reloj de la simulacion, que es un contador que guarda registro del simulacion
instante en el que se encuentra la simulacion.
La lista de eventos, donde se almacenan los eventos que deben tener
lugar y cuando deben ocurrir (por ejemplo, la lista de eventos puede
contener la inforamcion siguiente cuando el reloj de la simulacion tome
el valor 32.27 el llegara una nueva llamada al sistema).
Un procedimiento de inicializacion, es decir, un programa para que el
estado del modelo de simulacion sea el deseado.
Un procedimiento de actualizacion del reloj, para gobernar como avanza
el reloj de la simulacion.
Un procedimiento para la generacion de eventos, para generar eventos a
partir de la ejecucion de eventos previos y del cambio de estado de los
elementos del sistema.
Procedimientos para la generacion de valores de variables aleatorias.
Captulo 1. INTRODUCCION A LA SIMULACION 15

Un generador de informes, que por defecto ofrece informacion sobre el


comportamiento del sistema (contadores, niveles de ocupacion, etc.)
El programa principal, que gobierna la ejecucion de todo el modelo e
invoca, cuando corresponde, a cada uno de los elementos interiores.

El ejemplo anterior, a pesar de ser muy sencillo, incluye una version poco so-
sticada de algunos de estos elementos. Por ejemplo, la celda que contiene el
valor del stock inicial forma parte de la inicializacion. Las columnas donde se
almacenan tanto la demanda como el siguiente da en el que se producira una
llegada de tren actuan como las variables de un modelo de simulacion. Por
ultimo, la primera columna hace las veces del reloj de la simulacion, y para
cada lnea 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 captulo 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 podra utilizarse


para determinar el nivel del stock inicial necesario para conseguir el mnimo
valor posible de los costes de stock y de carencia. Y para ello, se dispona la
informacion relativa los comportamientos tanto de la demanda y como de la
llegada de trenes. Toda la informacion anterior se puee clasicar de la siguien
- te
manera.

Datos de entrada, que son aquellos datos que sirven para alimentar el Variables y
modelo, dentro de los cuales se pueden distinguir dos tipos. parametros
Los datos relativos a los trenes y a la demanda, sobre los cuales el para el ejemplo
decisor no tiene control. Para este problema, la demanda es algo de la hoja de
que no se puede mociar, como tampoco la cantidad de carbon yel calculo
tiempo entre llegada de los trenes
El valor de stock inicial, sobre el cual el decisor s tiene control. De
hecho, el estudio se realiza para determinar el valor del stock inicial
mas 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 se


denominan, respectivamente, variables de entrada, parametros y variables de
salida (gura 1.5)
Captulo 1. INTRODUCCION A LA SIMULACION 16

Variables de entrada
MODELO
Variables de salida

Parmetros de diseo

Figura 1.5: variables y parametros.

En general, los datos que alimentan y los que se obtienen de un modelo se


denen de la siguiente manera.

Variables de entrada. Las variables de entrada son todos aquellos datos Deniciones y
de entrada sobre los cuales el decisor no tiene control. Por ejemplo: la ejemplos
frecuencia con la que llegan las llamadas de a un centro de atencion
telefonica, el tiempo entre averas de una maquina, la demanda de un
determinado prodcuto, etc.
Parametros. Los parametros son aquellos datos de entrada sobre los cua-
les el decisor tiene control. Tpicamente, en un estudio de simulacion se
trata de obtener un conjunto de valores de los parametros (es decir, una
conguracion del sistema) satisfactoria o buena de acuerdo con algun
criterio. Por ejemplo: el numero de puestos de atencion al cliente en una
ocina, la cantidad de operarios con los que se cuenta en el sistema, el
orden en que se realiza un conjunto de operaciones (el emabarque a un
avion), etc.
Variables de salida. Las variables de salida son todos aquellos valores
que permiten conocer la bondad del funcionamiento del sistema estudi-
do. Como se ha dicho, con el desarrollo de un estudio de simulacion se
pretende obtener una buena solucion con respecto a algun criterio. Los
valores de las variables de salida permiten evaluar el sistema. Por ejem-
plo: el benecio derivado de una nueva instalacion, el nivel de saturacion
de los controladores aereos, la productividad de una lnea de montaje,
etc.

Por ultimo, conviene notar que segun el estudio del que se trata un mismo
elemento puede ser o bien una variable de entrada o bien un parametro. Por
ejemplo, en el diseno de las instalaciones de un nuevo aeropuerto, la tasa de
averas de las maquinas que realizan el escaneado de las maletas puede ser
un parametro, ya que en ese tipo de estudio se pueden emplear diferentes ti-
pos de maquina, cada una de ellas con su tasa de averas correspondiente. Sin
embargo, 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 averas es una variable de entrada.
Captulo 1. INTRODUCCION A LA SIMULACION 17

Para desarrollar de forma correca un estudio completo de simulacion, es im-


portante, en cada caso, identicar cuales son las variables de cada tipo y cuales
son 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 pequeno
ejercicio de modelado con la hoja de Excel representa solo una etapa de todas
las que componen un estudio de simulacion. En la gura 1.6 se presentan n u
posible conjunto de etapas en las que se separan todas las tareas del estu-
dio. A pesar de que la gura las muestra de forma secuencia, es frecuente qu
elos
resultados de una etapa o la adquisicion de nueva informacion obliguen a
volver a alguna etapa previa.

DE DE
O E O DEL
EM

E O D DE
DO

MODELO
O E L

MODELO OM

O
MODELO
O M O

E LO
D E O DE
E E ME O

DO ME
M L
E L DO

Figura 1.6: etapas de un estudio de simulacion.

La denicion del sitema y de los objetivos que se persiguen con el estudio es


una primera tarea que condiciona el resto del estudio. La denicion del sistema
pasa por establecer cuales son los elementos que son parte del sistema y cuales
no.
Captulo 1. INTRODUCCION A LA SIMULACION 18

Por otro lado, los objetivos que se persiguen con el estudio de simulacion con- Denicion del
dicionan la seleccion de variables de salida y el nivel de detalle del modelo. Por sistema y de los
ejemplo, un modelo de un operador logstico que quieres realizar un estudio objetivos
para determinar el tamano de la ota de camiones es muy diferente un m o
d
lopara
e
establecer la forma de operacion de los muelles de un almacen. Mientras en el
segundo caso sera neceario reproducir con detalle los movimientos del
material destinado a la manutencion de la mercanca, 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 la


construccion del modelo, relativas a las variables de entrada, a los posibles
valores de los parametros, respecto a la forma en la que opera el sistema o las
formas en las que puede operar, etc.

La realizacion de cualquier modelo de un sistema real exige asumir ciertas Recogida de


hipotesis simplicadoras. Lo deseable es disponer de un sistema sencillo y que datos
represente sucientemente bien el sistema estudiado. El conjunto de hipotesis
que se realizan al respecto del funcionamiento del sistema se conoce como
modelo conceptual. Por ejemplo, el tiempo de realizacion de una tarea por
parte de un opeario de una linea de montaje no es perfectamente
determinista y, sin embargo, se puede admitir como valido que s lo es.
Igualmente, a pesar de que un proceso qumico es continuo, en un estudio
se puede realizar un tratamiento discreto, admitiendo que todas las
cantidades de productos se pueden representar en terminos de paquetes de
100 m3.

En un estudio de simulacion es habitual que participen profesionales muy di- Modelo


ferentes: el responsable ultimo que aprueba y toma decisiones a partir del conceptual
modelo, la persona que va a emplearlo cuando sea necesario, programador
del modelo, el interlocutor entre el programador y el decisor, etc. Los conoci-
mientos sobre programacion y simulacion de todos los participantes es muy
dispar. 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, modicado, utilizado, etc. por los participantes e n
el proyecto.

La gura 1.7 ofrece un posible modelo comunicativo en el que se explicitan al- Modelo
gunas de las hipotesis del modelo. Por ejemplo, se admite que la demanda tiene comunicativo
lugar despues de que llegue el tren, el da en el que llega un tren. Podra haber-
se admitido el orden inverso, y habra tenido efectos sobre el resultado de la
simulacion. Este modelo comunicativo no contiene expresiones matematicas,
pero podra haberlo includo. Dependiendo de los participantes en el estudio,
convendra utilizar diferentes elementos en el modelo comunicativo.
Captulo 1. INTRODUCCION A LA SIMULACION 19

Inicializacin
Stock inicial
Costes

Actualizacin del reloj


de la simulacin

s Llega tren?

Aumento del stock en


no
500 Tm

Generacin de la
demanda

no

Hay stock para atender


s no
la demanda?

Actualizacin del nivel Cmputo del coste de


de stock de acuerdo carencia
con la demanda Nivel del stock a 0

Cmputo del coste del


stock

Informe con
Se ha simulado un
s costes
ao?

Figura 1.7: ejemplo de modelo comunicativo.

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

Cuando se dispone del modelo informatico, es el momento de realizar su ex- Modelo


plotacion. Para ello es necesario denir diferentes experimentos con los q u
e informatico
evaluar diferentes alternativas y extraer conclusiones al respecto del funciona-
miento del sistema estudidado.
Captulo 1. INTRODUCCION A LA SIMULACION 20

Tras haber realizado el estudio correctamente, es el momento de tomar deci- Explotacion y


siones consistentes con el analisis realizado gracias al modelo. diseno de
experimentos
Finalemente, y como en proyectos de otra naturaleza, es neceario documen- Documentacion
tar el trabajo realizado. Para poder explotar de forma correcta el modelo en e implantacion
ocasiones sucesivas, para poder introducir modiciaciones consistentes c on de resultados
posibles cambios del sistema modelado, etc. conviene documentar de forma
exhaustiva el trabajo realizado. De no ser as, es altamente probable que el
modelo no sea de utilidad en el futuro.

A lo largo de todo el proceso hay tres aspectos esenciales y que aparecen


reejados en la gura 1.6, de los cuales depende el exito de un estudio de
simulacion

Validacion. Se dice que un modelo es valido si ofrece una representa-


cion correcta para los objetivos perseguidos. Para que un modelo sea
valido debe comportarse como la realidad. En la gura 1.6 aparece en
dos puntos del proceso. Por un lado, el modelo conceptual debe ser ade-
cuado para el sistema estudiado. Es decir, las hipotesis admitidas deben
ser aceptables. Sin embargo, algunas la validez de esas hipotesis no se
puede contrastar en esa etapa del proceso, sino que es necesario disoner
del modelo de simulacion construido y, entonces, comparar el compor-
tamiento del sistema real con los resultados que ofrece el modelo de
simulacion. En el caso de que no exista el sistema, no es posible hacer
esto, porque no existe sistema real con el que comparar, por lo que con-
viene utilizar otras estrategias de validacion.

Vericacion. La vericacion de un modelo consiste en depurar el m l, es


e
d
o
decir, garantizar que el modelo se comporte como nostros queremos
que lo haga. El modelo debe ser consistente con el modelo conceptual
y, por lo tanto, con el modelo comunicativo donde esta especicado.

Credibilidad. Por ultimo, para que un estudio de simulacion se realice


con exito, es necesario que sea creble, es decir, que la personas respon-
sables del sistema concedan credito a dicho modelo. Es relativamente
frecuente encontrar buenos estudios de simulacion que no cuentan con
el apoyo de los directivos o de los responsables que deberan hacer uso
de ellos y de sus resultados. En esos casos, el modelo resulta inutil.

En este libro, a lo largo de los captulos, se presentan los aspectos mas im- Vericacion,
porantes de las etapas que se han comentado. En cada caso, se ofrecen las validacion y
tecnicas mas frencuentemente utilizadas, primero con una introduccion teori- credibilidad
ca y despues con ejercicios de aplicacion practica.
Captulo 1. INTRODUCCION A LA SIMULACION 21

Algunos aspectos quedan fuera de o que se puede abordar en un texto de la


naturaleza de este. Por ejemplo, la credibilidad de un modelo es de difcil
tratamiento si no es es un caso real. Igualmente, la validacion de un modelo
pasa por disponer de un sistema del cual obtener datos para contrastar en
que medida los resultados que ofrece el modelo de simulacion correspondiente
se 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 modelo


informatico. Existen diferentes alternativas para desarrollar el modelo.

Hojas de calculo (como en el epgrafe 4.2). Las hojas de calculo, aun


cuando pueden incluir algun tipo de macro para modelar situaciones mas
compleas, permiten abordar sistemas poco sencillos y son demasiado
pobres para represenar medianamente complejas.

Software de proposito general. Lenguajes de programacion como C++,


C#, Java, etc. permiten construir cualquier modelo de simulacion, por
complejo que sea.

Software especco. En los comienzos de la simulacion discreta existan


lenguajes 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 especcos y un
entorno graco para la construccion de modelos. Ademas, ofrecen mas
prestaciones, como por ejemplo, modulos de representacion en 3D, de
analisis de datos o paquetes de optimizacion. Witness, Arena, Promo-
del o Simul8 son algunos de ejemplos de estos tipos de entornos.)
Captulo 1. INTRODUCCION A LA SIMULACION 22

+ Hojas de clculo -
Para casos muy sencillos

Esfuerzo de programacin
Lenguajes de propsito general

Coste del software


C++, C#, Java

Lenguajes de simulacin

Entornos de simulacin
Witness
Arena
Promodel

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

Tal y se indica en la gura 1.8 existe un compromiso entre el precio de la


solu- cion adoptada para construir el modelo y el esfuerzo necesario para
construir un modelo de simulacion. Los entornos de simulacion son
relativamente caros pero facilitan enormemente la construccion de elementos.

Todos los ejercicios practicos que empleados en este libro (salvo el de este
captulo) se han desarrollado usando Witness 2008, herramienta desarrollada
por Lanner Group, a cuyo estudio se dedica el captulo siguiente.

1.8. Resumen

La utlizacion de modelos facilita el estudio de muchos sistemas. En general, los


metodos exactos son preferibles, pero en muchos casos no es posible formular
modelos exactos o no es posible resolverlos. Principalmente en estos casos, la
simulacion discreta consituye una herramienta muy valiosa.

La simulacion de eventos discretos se caracterza por la descripcion del sis-


tema estudiado en terminos del estado de sus elementos, que cambia con la
ocurrencia de eventos, que, a su vez, desencadenan nuevos eventos. Mediante
un modelo informatico se incorporan estos aspectos, para lo cual se dispone
de diferentes alternativas. Sin embargo, la parte de construccion del modelo
informatico es solo una de las etapas de las que consta un estudio de simula-
cion, que comienza con la denicion del sistema y de los objetivos del e studioy
naliza con la implementacion de los resultados y la documentacion del tra-
Captulo 1. INTRODUCCION A LA SIMULACION 23

bajo realizado.

En los captulos que siguen se presentan las tecnicas mas importantes para
la realizacion de un estudio de simulacion de eventos discretos correspon-
dientes a las etapas descritas en el epgrafe 1.6. Cada captulo consta de una
introduccion de caracter teorico con la presentacion de los aspectos esencia-
les. Despues, se proponen ejemplos de aplicacion sencillo desarrollados en
Witness.
Captulo 1. INTRODUCCION A LA SIMULACION 24

dd
Captulo 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-
peccos de simulacion. Estos entornos son mas caros que las herramientas de
programacion de caracter general. Como contrapartida, facilitan enormemente
la tarea de contruccion, vericacion y explotacion de los modelos. En primer
lugar, incorporan elmentos especcos para construir los modelos. En segun-
do, disponen de multiples funcionalidades para generar valores de variables
aleatorias, realizar animaciones, analizar los valores de las variables de
salida, etc.

Witness es uno de estos entornos profesionales, desarrollada por Lanner Witness


Group Ltd, Witness permite construir modelos de forma sencilla y ofrece todas
herramientas para poder crear modelos complejos y representar multitud de
sistemas reales.

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

Este captulo no pretende ser un manual exhaustivo orientado al aprendizaje Objetivo del
de Witness. El objetivo es, por un lado, dar a conocer los aspectos fundamenta- captulo
les que permitan entender e, incluso, elaborar todos los modelo que se utilizan
en es texto. Ademas, este captulo permite una primera toma de contacto con
Witness.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 26

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

2.2. Witness 2008

Con Witness es posible desarrollar y explotar modelos de simulacion. Para ex- Witness Suite
tender las posiblidades, Lanner ofrece un conjunto de modulos que se pueden
utilizar 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, gestionar
el numero y la longitud de las replicaciones, el tiempo de calentamiento.
Facilita el estudio de diferentes conguraciones, es decir, de difern- tes
valores de las caractersticas de un modelo. Por ejemplo, es sencillo
evaluar el tiempo medio de los clientes en una cola, para diferentes es-
cenarios corresondientes a diferentes numero de personas que atienden
la cola. Admemas, permite obtener de forma sencilla intervalos de con-
anza para diferntes valores. La informacion que obtiene del modelo se
puede exportar a otro software (hoja de calculo, software de estadstica)
para realizar analisis mas avanzados.

Witness Optmizer. Con este modulo es posible gobernar la busqueda


de soluciones buenas para el modelo estudiado mediante algoritmos de
busqueda ecientes. Por ejemplo, el tiempo que tarda un donante en
realizar 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 Optmizer
incluye diferentes algoritmos para explotar combinaciones y encontrar
buenas soluciones.

Witness Presentation Manager. Este modulo permite presentar de forma


muy visual los resultados de un modulo de simulacion, con diferentes ti-
pos de elementos parecidos al cuadro de mandos de una maquina. De
esta manera, se puede disponer de forma muy visual la informacion rele-
vante del comportamiento del sistema, tanto durante su ejecucion como
al nal 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
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 27

modelo de simulacion pueden establecer mas sencillamente la analoga


entre el modelo y su sistema.

Documentor. Por ultimo, con el modulo Documentor se puede generar


un archivo .rtf que permite recopilar de forma sistematica toda la in-
formacion de los elmentos de un modelo y de su comportamiento. Como
se vera a lo largo del texto, el codigo en un modelo de simulacion aparece
en diferentes elementos y algunas caractersticas pueden no quedar bien
documentadas. Este modulo facilita esta tarea.

Ademas, Lanner ofrece herramientas de simulacion de caracter especco p r


a Otros productos
algunas actividades, por ejemplo, para el sector farmaceutico. De todo el con-
junto de productos, Witness es la herramienta mas importante. A continuacion
se presenta la logica para constuir modelos.

2.3. Como construir modelos

Al arrancar Witness desde el menu de Inicio, se abre el archivo StartUp.mod El entorno


por defecto, cuyo aspecto es el de la gura 2.1. Este archivo se encuentra en la
carpeta \ 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 tres


pestanas, una de ellas, Modelo contiene diferentes tipos de elementos
para construir el modelo.
La Ventana 1, que ocupa la mayor parte de la pantalla, que es una de las
ventanas en las que aparece la representacion graca del modelo.
La ventana de los Elementos predenidos, que contiene varias pestanas.
Por defecto, aparece selccionada la pestana Basico con algunos de los
elementos de Witness.
Un conjunto de barras de herramientas con botones para acceder a dife-
rentes funciones
Una pequena ventana con un reloj analogico que indica el instante en el
que se encuentra la simulacion.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 28

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

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

El resto de los elementos actividades, colas, caminos, etc gobiernan el con- Reglas
trol del ujo de las entidades mediante lo que se conoce como reglas. Por
ejemplo, cuando un viajero (entidad) ha terminado de realizar la facturacion
en un aeropuerto, debe haber alguna regla que conduzca a ese cliente hacia el
control 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 la
zona de manutencion de equipajes.

Ademas, para completar la logica del modelo, generalmente hay que utilizar Acciones
acciones, que modican el estado de los elementos. Por ejemplo, tras n liz
a
r la
facturacion del viajero, una accion puede actualizar el contador que registra
cuantos viajeros han realizado la facturacion para ese vuelo en particular. Para
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 29

ello habra que introducir alguna accion del tipo incrementar el contador del
numero viajeros en una unidad.

2.4. Tipos de elementos

Los modelos se construyen a partir de elementos de diferente tipo. Caracte- Elementos


rizando de forma correcta el comportamiento de estos elementos, se puede
constuir un modelo que, en conjunto, represente de forma correcta el siste-
ma estudiado. Congurar los elementos, signica, por un lado, indicar como
funcionan y, por otro, como se relacionan con el resto de los elmentos del
modelo.

Existen dos ediciones de Witness, que se diferencia unicamente en la nomen- Servicios y


clatura de los elementos. Por ejemplo, el elemento de tipo pieza en la edicion fabricacion
de 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 una
edicion se puede abrir, modicar y ejecutar con la otra. En el texto se e
mp
nambas
a
le
terminologas, en cada caso la que resulte mas natural.

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

Elementos de tpo fsico. Son elementos pueden representar elementos Elementos


existente en un sistema real. Por ejemplo, los elementos de tipo pieza fsicos
o entidad (segun la edicion) pueden representar muchos elementos de
un sistema real, como se ha comentado. Los elementos de tipo maquina
o 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 lugares
donde se almacenan entidades y pueden representar, por ejemplo, un
area de almacenamiento de producto intermedio, una cola de personas a
la espera de ser atendidas, un lugar donde se somete a un proceso de
enfriamiento a las piezas que llegan. Otros elementos de tipo fsico

son: las cintas transportadoras, los recursos, las vas, los vehculos, los
caminos, etc. En los modelos de este texto, los elementos de este tipo
que se han utilizado son piezas, maquinas, buffers y caminos. Estos

elementos tambien pueden no representar elementos fsicos del sistma


real. Por ejemplo, una actividad puede servir para computar el valor de
determinadas variables cada cierto tiempo.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 30

Elementos de tipo logico. Son los elmentos que permiten gestionar la Elementos
informacion y la logica del modelo. En particular, en este texto se utlizan: logicos
variables, atributos, distribuciones (tanto predenidas como d e
n
ia
s por el
usuario) y funciones (de usuario y predenidas).

Elementos de tipo graco. Son elementos que permiten visualizar gra- Elementos
camente algun aspecto del modelo, como, por ejemplo, la evolucion del gracos
tiempo medio de entrega de pedidos o el numero de productos enviados
a los clientes. En los modelos que siguen se han utilizado diagramas
de tarta e histogramas.

Los elementos tambien se pueden clasicar segun la forma en la que se a lm


-a Segun como se
cenan, que condiciona la forma en la que se utilizan. Estos tipos de elementos almacenan
estan organizados en cuatro carpetas, cuyo contenido se puede visualizar en
la ventana de Selecion de elementos (gura ).

Figura 2.2: tipos de elementos.

La carpeta Tipo contiene todos los tipos de elementos basicos a partir de Carpeta Tipo
los cuales se pueden contruir los modelos en Witness. Estos elementos
estan disponibles en su version mas simple, es decir, sin ningun tipo
de caracterizacion. Por ejemplo, existe un elemento variable, pero no
esta congurada como variable entera, real, etc.

La carpeta Sistema almacena un conjunto de elementos especiales. Por Carpeta Sistema


ejemplo, el elemento TIME que almacena el tiempo del reloj de la simu-
lacion, el elemento WORLD que permite introducir piezas al modelo.

En la carpeta Predenidos existen diferentes tipos de elementos, organi-zados Carpeta


por grupos, que aparecen, tambien, en diferentes pestanas en la Predenidos
ventana de Elementos predenidos. Cuando se selecciona una pestana en
esta ventana, los elementos correspondientes se muestran en la carpeta
verde Predenidos. Los elementos predenidos, son elementos que p u-eden
tener algun grado de conguracion. Por ejemplo, una variable p ue
deestar
denida como un vector de cinco componentes de tipo entero. Es- tos
elementos estan disponibles para, a partir de ellos, crear elementos
identicos en el modelo. Por ejemplo, si una actividad representa una caja
en un centro comercial, es posible denir un elmento predenido tipo
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 31

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

Por ultimo, la carpeta Simulacion contiene los elementos de la simulacion Carpeta


propiamente dicha, es decir, aquellos que representan, efectivamente, el Simulacion
comportamiento del sistema real. Esta carpeta, por defecto, esta vaca,
ya que el archivo StartUp.mod esta vaco. Para introducir elementos de
la simulacion se pueden emplear los elementos de la carpeta Tipo o de la
carpeta Predenidos.

Para introducir elementos en el modelo y caracterizar la forma en la que fun- Introduccion de


cionan, hay que realizar tres pasos: denir, congurar y representar cada u
ode
n elementos. Tres
los elementos. pasos

Denir. Esta operacion consiste en introducir elementos en el modelo, Denir


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

Figura 2.3: denicion de elementos a partir de elementos predenidos.

La segunda manera consiste en hacer clic con el boton secundario del


raton y, en menu contextual que aparece, seleccionar la opcion Denir.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 32

Figura 2.4: denicion de elementos.

Se abre una nueva ventana, como la de la gura 2.4, en la que hay que
introducir 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 elemento
predenido (para ser reutilizado de nuevo de la manera anterior).

Congurar Una vez que se ha denido el elemento, ya se puede c on- Congurar


gurar, es decir, establecer cual es su comportamiento. Esto signica,
por ejemplo, determinar cuanto dura la realizacion de una actividad,
con que frecuencia se producen las averas, como entran y salen las
entidades de las colas, etc. La conguracion tambien incluye la intro-
duccion de las reglas que gobiernan el movimiento de las entidades y
las acciones que modican los estados del sistema. Para congurar un

elmento se puede hacer de dos maneras. La primera, haciendo doble clic


en el nombre correspondiente en la ventana de Seleccion de elementos
o bien haciendo clic con el boton secundario y seleccionando la opcion
Congurar.

Representar La representacion de un elemento no es un paso estricta- Representar


mente necesario para que el elemento funcione dentro del modelo. De
hecho, se podra construir un modelo sin ningun tipo de representacion
graca. Sin embargo, la animacion de la representacion graca p rci- na
o
informacion tanto durante la construcion como durante la explotacion
del modelo. Los elementos creados a partir de elementos predenidos
in-

corporan la representacion graca del elemento utilizado. Por ejemplo,


Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 33

al crear el elemento Pieza001, la representacion graca incorpora dos co


-
sas: el nombre de la entidad y un smbolo (un crculo rojo) con el que
apareceran representadas las entidades de ese tipo en todo el modelo
(gura 2.3. Tanto la representacion de elementos que no han sido crea-
dos a partir de los elementos predenidos como la actualizacion de a l
representacion de cualquier elemento se puede hacer de la siguiente ma-
nera. Haciendo clic con el boton secundario sobre el elemento (bien en su
nombre 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 gura 2.5

Figura 2.5: representacion de elementos.

La ventana de representacion permite, bien dibujar nuevos elementos en


la representacion o bien actualizar los elementos existentes. Al seleccio-
nar Dibujar en el primer menu desplegable, en el segundo se pueden
encontrar todos los elementos de representacion que se pueden anadir y
que dependen del tipo de elemento. Cuando se selecciona Actualizar, en
segundo menu desplegable, aparecen los elementos de representacion ya
existentes y que se pueden modicar. En el caso de la pieza Pieza001, se
puede actualizar el smbolo, haciendo clic en el boton situado mas a la
izquierda (con el icono de un lapiz) y aparece una nueva ventana como
la de la gura 2.7.

Figura 2.6: representacion de elementos.


Captulo 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 informacion
preliminar sobre el resultado de la simulacion.

2.5. Ejemplo 1

Construir un modelo para representar un torno que tornea redondos


de acero y tarda 5 minutos por pieza. Siempre existen redondos para
tornear y, una vez procesados, se expulsan fuera del sistema.

En este ejemplo, se presentan los siguientes aspectos de Witness: Resumen


maquinas de tipo simple,
piezas pasivas,
reglas PULL, PUSH y WAIT,
ejecucion paso a paso,
representacion del ujo de elementos.

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

En primer lugar, hay que denir un elemento pieza, por ejemplo, ha- Piezas pasivas
ciendo uso de los elementos predenidos, como se ha indicado en el
apartado anterior. Entrando en la ventana de conguracion (gura 2.9) es
posible modicar el nombre del elemento.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 35

Figura 2.7: ventana de conguracion de la pieza Redondo.

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

La ventana de conguracion de un elemento tiene algunas pestanas es-


peccas y otras que son comunes a todos los elementos: General, Acio-nes,
Costes, Notas e Informes.

La pestana General de una pieza permite introducir el nombre de la


pieza (Redondo), el tipo (pasiva, en este caso) y permite congurar as-
pectos relativos a los eventos correspondientes a la entrada y a la salida
del sistema de cada pieza.

A contiunuacion, hay que introducir una maquina a partir de los elemen- Maquinas
tos predenidos. La conguracion de este nuevo elemento (gura 2.8) simples
tambien presenta varias pestanas (comunes y especcas). Por ejemplo,
la pestana General, permite denir algunos aspectos basciso como el
nombre (Torno) o el tipo. Las masquinas simples toman las piezas de
una en una, las procesan y pasan a otro elemento del sistema. Existen
otros tipos de maquinas que, por ejemplo, producen piezas a partir de
una dada o trabajan con lotes. Torno es una maquina simple.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 36

Figura 2.8: ventana de conguracion de la maquina Torno.

Ademas, en la pestana General se pueden congurar aspectos re la


tiv
o
s a la Regla PULL
entrada, a la salida de las piezas, y al proceso que son sometidas. En
particular, se puede congurar 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 signica queTorno
no trata de conseguir piezas de entrada, sino que solo procesa piezas
si algun otro elemento hace que le lleguen. Tecleando la regla
PULL from Redondo out of WORLD, como en la gura 2.9, Torno intro-
ducira una pieza Redondo en el modelo e, inmediatamente, la comenza-
raa tornear.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 37

Una vez que Redondo tiene una pieza puede comenzar su ciclo, cuya Tiempo de ciclo
duracion 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 la
simulacion simula el transcurso de un minuto de la realidad, y sera ne-
cesario mantener la consistencia a lo largo de todos los valores que se
introduzcan en el modelo.

Por ultimo, si la conguracion de Torno se deja en este punto, lo qu e Regla PUSH


ocurrira es que tras tornear el primer Redondo, quedara bloqueada y no
realzara mas operaciones, debido a que no tiene asignada una relga de
salida y no hay ningun otro elemento en el modelo que trate de tomar
el Redondo de Torno. Por eso es necesario introducir una regla de salida
haciendo clic en Hacia.... En este caso, con la regla PUSH to SERVED el
torno, tras nalizar el proceso de torneado, expulsa la pieza fuera del
modelo (al elemento de sistema SERVED) y esta en condiciones de coger
una nueva pieza y repetir el ciclo.

Existe una forma que facilita la comporobacion de que las reglas se Flujo de
han editado correctamente. Activando la opcion Flujo de elementos del elementos
menu Ver, haciendo clic en Aceptar, se puede muestra lneas 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 g
u
ra 2.10.

Figura 2.10: Ejecucion del modelo Paso a paso.

Con esto el modelo ya tiene los dos elementos y esta congurado pa- Ejecucion paso
ra funcionar como se desea. Este modelo, ya construido, corresponde al a paso
archivo 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 esta
manera se ejecutan los eventos uno tras otros y se muestra la evolucion
del estado del sistema en una nueva ventana: la Ventana de interaccion.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 38

En la gura 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 clic en
el varias veces, aparecen mensajes en la Ventana de interaccion, en las
que se describe la entrada de la primera pieza Redondo a Torno en el
instante 0,00. Despues, simplemente, se actualiza el contador de tiempo
y no se produce ningun evento hasta que no naliza la operacion de
torneado en el instante 5,00. En ese instante, Torno naliza con la paque
i
e
z
estaba procesando, la expulsa a SERVED y toma inmediatamente una
nueva pieza para procesar.

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

2.6. Ejemplo 2

Modicar el modelo anterior para representar lo siguiente. Los redondos


llegan a un stock previo al torno con un tiempo entre llegadas que se
distribuye segun una exponencial de media 8 minutos. El proceso de
torneado no es determinista, sino que sigue una distribucion normal
logartmica de media 5 minutos y desviacion tpica de 0,2.

En este ejemplo, se presentan los siguientes aspectos de Witness: Resumen


buffers,
distribuciones,
opcion ejecutar,
opcion ejecucion ralentizada e
informes de Witness.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 39

Para modicar el modelo solo es necesario introducir un nuevo elmentode tipo


buffer para el stock de redondos a la espera de ser procesados.

El archivo Ejemplo2-2.mod contiene el modelo correspondiente a este


ejemplo, construido tal y como se indica a continuacion.

En primer lugar, hay que anadir un elemento de tipo buffer al mode- Buers
lo, por ejemplo, utilizando los elementos predenidos. Accediendo a la
Ventana de conguracion del elemento, aparecen las pestanas de e sttipo
de elemento. En particular, en la pestana General es posible modi- car
el nombre (para llamarlo Cola), establecer el numero de e n
tid
a
d
sque puede
e
albergar y los aspectos relativos a la entrada, la salida y la permanencia
de las piezas en el buffer (gura 2.12).

Figura 2.12: ventana de conguracion del elemento Cola.

Por defecto, las piezas entran por detras y salen por delante, y no hay
ningun requisito con respecto al tiempo de permanencia en el buffer,
con lo que la disciplina de cola por defecto es FIFO. Se pueden establecer
condiciones tanto en la entrada como en la salida, para que las piezas
entren o salgan segun alguna condicion, por ejemplo. Tambien se puede
establecer un tiempo maximo o un tiempo mnimo de permanencia. Por
ejemplo, esto permite representar el hecho de que los clientes que llevan
mas de 10 minutos esperando en una cola abandonan el sistema.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 40

A diferencia del modelo anterior, ahora las piezas entran al sistema de Piezas activas
forma autonoma, de acuerdo con un tiempo entre llegadas. Para ello, es
necesario modicar la conguracion de Redondo y convertirla en p aactiva,
z
ie
con lo que la Ventana de conguracion muestra un aspecto dife
-rente, como
el de la gura 2.13.

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

Para congurar una pieza activa, hay que establecer, entre otras cosas,
el numero maximo de llegadas de ese tipo, el instante en el que llega la
primera, el tamano de lote y la regla de salida, es decir a que elemento
trata de acceder cuando llega al modelo. Para congurar esto ultimo hay
que acceder a las reglas de salida, haciendo clic en el boton Hacia... En
este caso, estas piezas llegan a Cola, por lo que la regla sera: PUSH
to Cola.

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

Una vez construido el modelo, se puede ejecutar como se presento en Ejecucion Run
el ejercicio anterior para comprobar su evolucion paso a paso. Alternati-
vamente, se puede utilizar la opcion Ejecutar, mediante la cual, se pone
en marcha el modelo y se muestra como se modica la representacion
graca de los elementos a medida que transcurre el tiempo. Ademas, se
puede jar un valor para el tiempo durante el cual ejecutar el modelo.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 41

Para ello, tal y como se puede ver en la gura 2.14, hay que dejar p u
d
a
ls
oel
boton que contiene el icono de un reloj, a su derecha teclear el instante
en el que el modelo se detendra y, nalmente, pulsar en el boton
Ejecutar (un triangulo negro apuntando hacia la derecha).

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

Adicionalmente, se pueden representar gracamente los movimientos de Ejecucion


las entidades entre los diferentes elementos. Al pulsar en el boton que ralentizada
contiene un icono de un muneco se activa esta opcion, ejecucion ralenti-
zada, y con la barra de desplazamiento que esta a su derecha se establece
la velocidad con las que las entidades se mueven.

Una vez el modelo se ha ejecutado hasta el instante 100, se pueden ob- Informes
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 Estadsticas.

Figura 2.15: informes estandar del modelo.


Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 42

De esta manera se muestra una ventana parecida a la de la gura 2.15.


Por ejemplo, para el elemento Cola se indica cuantas entidades han
entrado (15), cuantas han salido 13, el numero medio 0,46, el tiempo
medio de permenencia, 3,08, etc. Para conocer las estadsticas de otros
elementos, basta con hacer clic en los botones que tienen echas hacia la
izquierda y hacia la derecha. Para cada elmeentos se ofrece diferente
tipo de informacion. Por ejemplo, para las maquinas se indica el numero
de operaciones o el porcentaje de timpo que han permanecido en cada
uno de los posibles estados.

Conviene notar que los resultados que se obtienen con la ejecucion del Informes y
modelo dependen de los numeros aleatorios que se utilicen para generar aleatoriedad
los distintos eventos. Por eso, los numeros obtenidos pueden ser dife-
rentes. En el captulo 6 se comenta mas detalle el efecto de los numeros
aleatorios sobre el analisis de los datos de salida.

2.7. Ejemplo 3

Ademas de las piezas que llegaban antes (redondos de tipo A), ahora
llega tambien otros redondos (de tipo B) con otras caractersticas. Al
llegar al sistema, cada tipo se almacena de forma independiente antes
de ser torneado. Los nuevos redondos llegan segun una exponencial de
media 18 minutos. Cuando el torno termina una operacion, toma un
redondo 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 y
del tipo de redondo. En particular, los tiempos de torneado son
variables normales logartmicas conlas medias y las desviaciones de la
siguiente tabla:

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 modicar el modelo para representar esta nueva situacion.


Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 43

En este ejemplo, se presentan los siguientes aspectos de Witness: Resumen


atributos de sistema y atributos de usuario,
sentencias de control IF... ELSE... ENDIF,
funciones de predenidas y funciones de usuario,
ejecucion acelerada,
acciones de elementos,
modicaciones de la representacion de los elementos.

Para modicar el modelo solo es necesario introducir cuatro n


u
o
v
e
selementos:
una nueva entidad, un nuevo buffer, un atributo y una funcion.

El archivo Ejemplo2-3.mod contiene el modelo correspondiente a este


ejemplo, 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 llamar
ColaA a Cola. A contnuacion, hay que denir una nueva entidad, Re -
dondoB, y un nuevo buffer, ColaB. Tambien es necesario que las reglas
de salida de RedondoA y RedondoB sean PUSH to ColaA y PUSH to
ColaB, respectivamente.

Para distiguir unas piezas de otras durante la animacion, se puede modi- Cambio de la
car el aspecto con el que aparece RedondoB. Para ello, se puede a e
c
de
ra la representacion
Representacion (similar a la gura ). Se puede modicar el color (y
cambiar el rojo por el verde, por ejemplo) y mantener el icono de una
pequeno crculo.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 44

Figura 2.16: denicion del atributo Calidad.

Tambien es necesario denir un atributo. Tal y como se ha explica- Atributos de


do ya con otros elementos, se puede denir un atributo de tipo c a
dn
e
ade usuario
caracteres con el nombre Calidad (ver gura ). Cuando se dene el
atributo Calidad, cada entidad que entra al modelo tiene asociada una
cadena de caracteres, que se puede leer y modicar. Un atributo
opera como una tarjeta adhesiva liagada a cada entidad donde se
almacena informacion especca de dicha entidad, en este caso, la
calidass cada redondo. Cuando un redondo deba ser torneado, el
tiempo que dure la operacion dependera del valor de este atributo.

Cuando un RedondoA o un RedondoB entra al modelo, hay que asignar Acciones a crear
un valor a su atributo Calidad, a traves de las Acciones al crear cada
pieza, a las que se puede acceder a traves de la ventana de conguracion
de RedondoA y de RedondoB (gura 2.17).
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 45

Figura 2.17: acciones al crear RedondoA.

Para asignar un valor a Calidad, se genera un valor aleatorio entre 0 y 1 Funciones


mediante la funcion predenida RANDOM() predenidas.
RANDOM()
Cuando el valor devuelto por RANDOM() es menor que 0.2 Calidad Sentencia IF
toma 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 gura 2.17.

Una posible forma de incorporar en el modelo la manera segun la cual se Funciones


toman redondos de las respectivas colas, es utilizando una sentencia IF predenidas.
junto con la funcion NENTS(), que devuelve el numero de entidades NENTS()
dentro del elemento al que se aplica la funcion.
Captulo 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 ColaA
o en ColaB y toma una del que tenga mas, o de ColaA si la cantidad es la
misma.

La duracion del tiempo de torneado depende de la calidad y del tipo de Funciones de


redondo. Por ello, lo que se puede hacer es crear una funcion que de- usuario
vuelva el valor deseado dependiendo de los atributos correspondientes
y en la Duracion de Torno, llamar a esta funcion con la informacion de
la pieza procesada.

Figura 2.19: Pestana General de TiempoTorno.


Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 47

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

Figura 2.20: Cuerpo de TiempoTorno.

TYPE es un atributo de sistema de todas las entidades que almacena Atributos de


el tipo de entidad. Para las entidades RedondoA, TYPE toma el va- lor sistema. TYPE
RedondoA. Por ultimo, en la Duracion de Torno, se puede introducir
TiempoTorno (Calidad,TYPE). De esta manera se invoca a la funcion
TiempoTorno 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.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 48

Para nalizar este ejemplo, se puede ejecutar el modelo con la opcion d e Ejecucion
Ejecucion acelerada. Como en el ejemplo anterior, senalando una instan- acelerada
te para nalizar la simulacion, se puede omitir la animacion graca, d e
manera 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 hacia
la derecha (boton de Ejecucion acelerada).

2.8. Ejemplo 4

Una vez que los redondos son torneados, se acumulan en una zona de
almacenamiento 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 mismo
tipo (no necesariamente de la misma calidad). Existen dos maquinas que
montan los pales, una con redondos A y la otra con redondos B, y tardan
en montar cada pale exactamente 10 minutos, desde el momento en el
que los cinco redondos han entrado en la maquina. En ocasiones, con
un 1 % de probabilidad, al montar el pale, el procedimiento no realiza de
forma correcta, y ese pale se debe desechar.
Modicar el modelo del ejemplo anterior para representar la situacion
anterior. 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 MOST
ENTITIES.

En este ejemplo, se presentan los siguientes aspectos de Witness: Resumen


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 representar


la situacion descrita. Este modelo incorpora tres nuevos elementos: un
camino, una maquina, un buffer y dos nuevas piezas.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 49

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

En primer lugar, se puede renombrar el elemento ColaA, llamarlo Cola Cantidad de un


y modicar su cantidad, de manera que sea 2. Al hacer todo esto, la re- elemento
presentacion de este elemento se modica y aparecen dos echas, a n
u
correpondiente al lugar donde apareceran acumuladas las entidades del
primer elemento de Cola y otro donde aparecen las del segundo elemen-
to.

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

, en denitiva, al tener un elemento con cantidad superior a 1 es p


a
rec
id
oa Cantidad de un
tener un vector de elementos con todas las componentes indenticas. elemento

Para ser consistente con el cambio de notacion, hay que mocar la s Cantidad de un
reglas de salida de las piezas RedondoA y RedondoB. Ahora seran, res- elemento
pectivamente, PUSH to Cola(1) y PUST to Cola(2).

La regla de entrada del torno, que antes utilizaba una sentencia IF se Regla MOST
puede modicar por la siguiente regla MOST ENTITIES Cola(1), Cola(2), ENTITIES
lo cual signica que Torno, al quedar libre, evaluara en cual de los dos
elementos (Cola(1) y Cola(2)) hay mas entidades y, de aque que tenga
mas, cogera una.

El elemento ColaB ya no es necesario, porque ahora Cola(2) hace la fun- Eliminar


cion de stock de redondos de tipo B a la espera de ser torneados. Una elementos
forma de eliminar un elemento consiste en hacer clic con el boton secun-
dario sobre su nombre o sobre algun algun elemento de representacion
del 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.

Los caminos permiten conectar dos elementos, de tal manera que al des- Conguracion
plazarse las entidades entre esos dos elementos, pueden hacerlo si- del camino
guiendo ese camino. Los aspectos mas importantes de la conguracion
de un camino son los dos elementos que conecta y el tiempo de transito
entre estos dos elementos.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 50

Tal y como aparece en la gura 2.21, el tiempo de recorrido es 5


minutos y conecta los elmentos Torno (elemento de origen) y
ColaPaletizadora (elemento de destino)

Figura 2.21: Conguracion de CaminoAPale.

Para que las piezas transiten por el camino, es necesario modicar a l Using Path
regla de salida del Torno PUSH to Cola using Path. Si no se modica a
l
sintaxis, el desplazamiento se realiza de forma inmediata.

Con respecto a la maquina que agrupa los redondos, como toma 5 re- Conguracion
dondos y devuelve un pale, se trata de una maquina de ensamblado. En Paletizadora
la ventana de conguracion de Paletizadora se puede indicar el Tipo, y
en 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 cantidad
de este elemento debe ser 2.

Paletizadora tiene cantidad igual a 2, pero no operan de forma identica, Variable N


sino que Paletizadora(1) monta pales de RedondoA y Paletizadora(2) de
RedondoB. Para poder introducir esta distincion en el codigo, una alter-
nativa consiste en hacer uso de la variable de sistema N. Esta variable
opera de la siguiente manera: cada uno de los elementos que forman Pa-
letizadora tiene asociado un valor de N, para Paletizadora(1), N = 1 y
para Paletizadora(2), N = 2.
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 51

Figura 2.22: regla de entrada de Paletizadora.

Por eso, con la regla de la gura 2.22, Paletizadora(1) solo busca


entidades de tipo RedondoA y Paletizadora(2) solo busca entidades
de tipo RedondoB

Para que efecivamente, la regla anterior funcione correctamente es nece-


sario modicar la opcion de Salida de ColaPaletizadora y que sea Cual-
quiera. Con la opcion Primero, solo podra salir la primera entidad (ya
fuera por delante o por detras, segun la conguracion), y si esa entidad no
coincide con la que uno de los elementos de Paletizadora trata de
retirar, no podra continuar montando el pale.

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

Por ultimo, dado que la piezas que salen de Paletizadora ya no son re- Funcion
dondos, sino que son pales, conviene reejar ese cambio en el modelo. CHANGE
Con la funcion CHANGE es posible cambiar un tipo de pieza en otra. Tal
y como aparece en la gura se puede realizar el cambio en las acciones
al nalizar el ciclo de Paletizadora
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 52

Figura 2.23: acciones al nalizar el ciclo de Paletizadora.

2.9. Ejemplo 5

Modicar el modelo del ejemplo anterior de la siguiente manera.


Generalizar el tamano de los pales, de forma que el la cantidad de
ensamblado 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 ha
estado sin operar.
Representar gracamente el numero de redondos de tipo A y de
tipo B que contiene ColaPaletizadora.
Detener la ejecucion del modelo cuando, en total, han entrado al
modelo 200 redondos

En este ejemplo, se presentan los siguientes aspectos de Witness: Resumen


elementos de representacion graca: serie temporal y dia
g
r
a
m
a de
tarta,
variables,
funciones predenidas NCREATE, NSERVED, STOP y
acciones de inicializacion.

En primer lugar, para que el numero de redondos que componen un Variables


pale no sea neceariamente 5 se puede hacer lo siguiente. En primer lu-
gar, haciendo uso de los elementos predenidos se puede denir u n
a
variable de tipo entero (VInteger en la pestana Variables), con el nom-
bre TamanoPale. Despues, en Paletizadora, en vez de asignar a la cantdad
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 53

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


manoPale.

Si se ejecuta el modelo con esa modicacion, se producira un error por Acciones de


el hecho de que, por defecto, las variables se inicializan a 0, y una inicializacion
maquina de ensamblado no puede operar con una cantidad de entrada
igual a 0. A traves del menu (Modelo / Acciones de inicializacion) se pue-
de acceder a una ventana en la que se pueden introducir todas aquellas
acciones 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 podra solicitar por pantalla al usuario, mediante un cuadro de
dialogo, que indicara el valor de TamanoPale, o se podra leer desde un
archivo .xls o desde un .mdb.

Las series temporales permiten representar gracamente al evolucion d e Serie temporal


algun valor del modelo mediante un eje de coordenadas, donde en las
abscisas se representa el tiempo y en las ordendadas los valores ob-
servados. Haciendo uso del elemento predenido Serie temporal e n la
pestana de Informes se puede crear un elemento de este tipo con el
nombre PalesMontados.

Para representar el numero de pales servidos por hora, es necesario NSERVED


computar todos los que se han servido hasta el momento y dividirlo
por 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 dos
magnitudes que hay que represenar son NSERVED(PaleA)/(TIME/60))
Y NSERVED(PaleA)/(TIME/60)). Estas expresiones son las que deben -
gurar en los campos Graf.1 y Graf.2 del histograma (como en la gu
ra
2.24).
Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 54

Figura 2.24: ventana de conguracion de PalesMontados.

Se puede modicar la representacion de PalesMontados y actualizar e l Representacion


elemento de representacion Serie temporal, y acceder a la ventana de de series
representacion. Existen diferentes valores que permiten modicar el as- temporales
pecto de la serie temporal. Con los valores que aparecen en la gura
2.25 es aspecto de PalesMontados es adecuado.

Figura 2.25: representacion de PalesMontados.


Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 55

Se puede denir un diagrama de tarta a partir de los elementos pre- Diagrama de


denidos y renombrarlo como TasaPaletizadora. Al hacer esto a
p
a
re
cya una tarta
primera representacion graca de ese elemento.

Con el Diagrama de tarta se pueden mostrar diferentes magnitudes, Funcion PUTIL.


este caso, la proporcion del tiempo que Paletizadora(1) ha estado ocu- Estados de un
pada y la que ha estado operando. La forma de obtener estos valores es elemento
mediante la fuccion PUTIL. Por ejemplo, la expresion PUTIL (Paleti-
zadora(1),1) devuelve la proporcion del tiempo que Paletizadora(1) ha
estado 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 los
que se puede encontrar cada uno de los diferentes elementos.

Las dos expresiones anteriores deben aparecer en la conguracion d e


TasaPaletizadora1, tal y como aparece en la gura 2.26. En este caso, el
diagrama cuenta con dos sectores, pero se pueden anadir mas haciendo
clic en el boton que tiene el icono de un rectangulo con lnea discontinua.

Figura 2.26: conguracion de TasaPaletizadora1.


Captulo 2. CONSTRUCCION DE MODELOS CON WITNESS 56

Para completar la representacion graca, se puede mostrar el numero de Variables


piezas de cada tipo que contiene ColaPaletizadora. Para ello se puede
denir una variable de tipo entero con cantidad igual a 3 con el nombre
de RedondosEnCola. Esta variable tiene tres componentes. La primera
almacenara el numero total de piezas en ColaPaletizadora, la segunda
el numero de redondos de tipo A y la tercera los de tipo B.

Cada vez que una entidad entra o sale de ColaPaletizadora se m o


d
ic
ael
numero total de entidades en ese elemento y el numero que contiene
de alguno de los dos tipos de entidades, por lo que habra que introducir
acciones al entrar y accones al salir de ColaPaletizadora para actualizar
los valores de la variable RedondosEnCola.

Las funcion NENTS devuelve el numero de entidades del elemen- Funciones


to al que se aplica. NENTS(ColaPaletizadora) devuelve el numero de NENTS y
entidases en ColaPaletizadora. Por otro lado, para conocer el nume- NENTS2
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 manera
analoga se puede proceder con RedondoB.

Figura 2.27: acciones al entrar de ColaPaletizadora.

Por ultimo, para detner el modelo cuando ha entrado el redondo numero NCREATE. STOP
200 es necesario evaluar cual es el numero total de entidades que ha
entrado cada vez que entra una nueva. Por ello, es necesario ampliar las
acciones al crear de las dos entidades RedondoA y RedondoB. La fun-
cion NCREATE devuelve el numero de entidades de un determinado
tipo que han sido creadas. Por otro lado, la funcion STOP detiene la
ejecucion del modelo. Si se incluyen las acciones de la gura 2.28 en la s
acciones al entrar de RedondoA y de RedondoB, el modelo se detiene
Captulo 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
Captulo 3

REPASO DE ESTADISTICA

3.1. Introduccion

Como se comento en 1.2, la mayora de los sistemas que se estudian


mediante simulacion presentan fenomenos de caracter estocastico. Pa-
ra garantizar la validez de los resultados obtenidos es necesario tener
presente las caractersticas que presentan estos fenomenos y aplicar las
tecnicas estadsticas apropiadas. La necesidad de aplicar estas tecnicas
se pone de maniesto a largo de todo un estudio de simulacion (ver u gra
-
3.1). A continuacion se comentan los aspectos mas importantes.

En primer lugar, para alimentar de forma correcta un modelo con La estadstica a


los valores correspondientes a las variables de entrada (ver 1.5) es lo largo de un
necesario, primero, analizar de forma correcta los datos historicos estudio de
del sistema estudiado para caracterizar los fenomenos a los que se simulacion
reeren dichos datos.

Ademas, es necesario generar valores de las variables de entrada de


acuerdo con los resultado del analisis anterior para poder reprodu-
cir un comportamiento consistente con el comportamiento real del
sistema.

Para validar del modelo se deben emplear tecnicas para comparan


los resultados que ofrece el modelo con los datos historicos del
sistema real.

Dado que, generalmente, las variables de entrada son estocasticas,


las variables de salida tambien lo son. Para una determinada con-
guracion de un sistema, se debe caracterizar correctmente el com-
portamiento de una variable de salida. Una primera
caracterizacion consiste en una estimacion puntual del valor
esperado (junto al de un intervalo de conanza de dicha
estimacion).

Generalmente, en un estudio de simulacion se evaluan diferentes


conguraciones alternativas, por lo que es necesario identicar
sihay diferencias siginicativas entre los comportamientos de
dichas conguraciones.
Captulo 3. REPASO DE ESTADISTICA 59

Adicionalemnte, puede ser interesante evaluar la inuencia de de-


terminados factores sobre el funcionamiento del sistema. Para ello
es adecuado realizar un diseno de experimentos con varios facto-
res.

Validacin

EM Anlisis de resultados

EL
Generacin de O
variables aleatorias

MODELO

...
O
Test de ajuste

Experimentacin

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


simulacion

Este captulo no pretende ser un amplio tratado de estadstica. El objetivo


es proveer al lector de una gua clara y concisa (en la mayora de los
casos sin entrar en demostraciones) de los principios de estadstica y
probabilidad necesarios para desarrollar un estudio de simulacion.

3.2. Variables aleatorias en simulacion

Los estudios de simulacion emplean tpicamente variables aleatorias, es Muestra y


decir, variables cuyos valores vienen determinados por el azar. Tanto poblacion
en el caso de las variables de entrada como en el de las variables de
salida, generalmente lo que se estudia es una muestra nita de una p o
-
blacion innita y el objetivo es inferir las propiedades de la poblacion
a partir de dicha muestra. El objetivo es modelar el comportamiento de
un fenomeno mediante una funcion de distribucion que establece una
relacion entre lo observado (muestra) y lo desconocido (poblacion).

El conjunto de posibles valores que puede tomar la variable estudiada Notacion


se conoce como espacio muestral, mientras que el valor que toma en un
caso concreto se conoce como valor puntual u observacion. A lo largo los
captulos que componen este texto, las variables aleatorias se denotan
mediante letras mayusculas (X, Y , Z) mientras que las observaciones se
representan mediante letras minusculas (x, y, z).
Captulo 3. REPASO DE ESTADISTICA 60

Dos variables aleatorias X e Y son independientes cuando el conoci- Variables


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

3.2.1. Variables aleatorias discretas

Se dice que una variable aleatoria es discreta cuando puede tomar un Denicion
numero contable de valores. Algunos ejemplos de variables aleatorias
discretas son: el resultado del lanzamiento de una moneda al aire, cuyo
resultado puede ser cara o cruz o la nota entera correspondiente a la
calicacion de un examen, que puede tomar valores enteros entre 0 y 10.

El comportamiento de una variable discreta se puede caracterizar me- Caracterizacion


diante dos funciones: la funcion de probabilidad (de caracter puntual) y de una variable
la funcion de distribucion (de caracter acumulativo). discreta

Funcion de probabilidad

La funcion de probabilidad de una variable discreta, que se deonta


por p(x), representa la probabilidad de que X tome un valor concreto
x, es decir:

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

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


dad: .
p(xi) = 1 (3.2)
i/xi S

Funcion de distribucion

Una forma equivalente de caracterizar el comportamiento de X es


a partir de la funcion de distribucion, F(x), que en cada punto xi
representa la probabilidad de que la variable tome un valor menor o
igual que xi. Es decir:

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

Si X puede tomar los valores x1 , x2 , , xn , la siguiente expresion indica


como calcular F(x) a partir de p(x):
Captulo 3. REPASO DE ESTADISTICA 61

.
i
F(xi) = p(xj) (3.4)
j=1

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) lm F(x) = 1 y lm F (x) = 0
x x

3.2.2. Variables aleatorias continuas

Se dice que una variable aleatoria es continua cuando en un intervalo Denicion


puede tomar un numero innito e incontable de valores. Algunos ejem-
plos de este tipo de variables son: el volumen de agua que contiene un
recipiente 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 variables


aleatorias discretas. Se denota por f (x) y cumple las siguientes
propiedades:
a) f (x) 0

b) f(x)dx = 1

Estrictamente, la probabilidad de que una variable tome un valor exacto


es 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 densidad
permite calcular, por integracion, la probabilidad de que X pertenezca a
un determinado intervalo:

x0 x1
P (X x ) = f(x)dx ; P (x X x ) = f(x)dx
0 0 1
x0

Funcion de distribucion

La funcion de distribucion de una variable aleatoria X, que se denota


por F(x), al igual que en el caso discreto, representa la probabilidad de
que la variable X tome un valor menor o igual que x, es decir:

F(x1) = P (X x1)
Captulo 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):
x1
F (x ) = P (X x ) = f (x)dx (f (x) F(x)) (3.5)
1 1
dF(x)
f (x) = (F (x) f (x)) (3.6)
dx
Ademas, se verican las siguientes propiedades:
a) lm F(x) = 0
x
b) lm F(x) = 1
x

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


F(x2)).

3.2.3. Medidas caractersticas de una variable aleatoria

Las funciones anteriores permiten suciente 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). Las mas importantes son las de centralizacion, que indican la
tendencia del valor 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 posibles
valores que puede tomar la variable aleatoria ponderados por sus
respectivas posiblidades:
,

xi p(xi ) variables discretas
= E(X) = (3.7)
,

xf (x)dx variables continuas

Otra medida de centralizacion es la mediana, xme . Representa el valor


para el cual las probabilidades de que X sea mayor y de que sea menor
que xm son identicas. Su expresion matematica es la siguiente:

revisar denicion PENDIENTE



F (x) 0, 5
variables discretas
x (3.8)


=
m F (x) < 0, 5 variables continuas
e
Captulo 3. REPASO DE ESTADISTICA 63

revisar denicion PENDIENTE


Una medida menos utilizada es la moda, xmo, que representa el valor
mas 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 denota


por 2 y mide la dispersion de X de los valores de X en torno a la media,
E(X), como muestra la gura 3.2. Se calcula de la siguiente manera:

,
2
(xi ) p(xi )
variables discretas
2
= Var(X) =
, (x )2 f (x)dx

variables continuas

(3.10)
La varianza cumple las siguientes propiedades:
1. Var(X) 0.

2. Var(cX) = c2Var(X).
,n ,n
3. Var( i=1 Xi ) = i=1 Var(Xi), si las variables Xi son independien-
tes.

Otra forma habitual de caracterizar la dispersion es mediante la desvia- Interpretacion



cion estandar, denida como = 2 . Conocer la media y la desviacion de la varianza:
tpica de una variable aleatoria permite calcular la proporcion de una dis- la desviacion
tribucion que esta situada entre k , siendo k una constante positiva, tpica
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, al
menos, el 94 %.
Captulo 3. REPASO DE ESTADISTICA 64

2 2
baja alta

(a) (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 permite
cuanticar dicha relacion y se dene como sigue:

Cov(X, Y ) = E[(X X)(Y Y )] = E[XY ] XY (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 una
distribucion 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 es
y < Y . Cuando Cov(X, Y ) < 0 se dice que estan correlacionadas
negativamente 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 longitudes
en cm que si se hace en m, por lo que, aunque su signo aporta informa-
cion, su valor absoluto es difcil de interpretar.
Captulo 3. REPASO DE ESTADISTICA 65

Para eliminar este inconveniente se dene el coeciente de correlacion Una medida


como: adimensional de
la dependencia
(x, y) =
Cov(X, Y ) (3.13)
X Y
Se puede demostrar que 1 (X, Y ) 1 y su signo tiene el mismo
signicado 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 conanza para la media de una variable de


salida es el analisis mas sencillo de un modelo de simulacion. La obtencion de
dicho intervalo se basa, entre otras cosas, en la expresion de la meida y la
varianza correspondientes a variable aleatoria, Y , denida como una co mb
in
a
- 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 de


X1, X2, , Xn:

Media:

.
n
E(Y ) = k1E(X1) + k2E(X2) + + knE(Xn) = kiE(Xi) (3.14)
i=1

Varianza:
.n
Var(Y ) = k12Var(X1) + k22Var(X2) + + k2nVar(Xn) = k2Var(X
i
i) (3.15)

i=1

Varianza de sumas y diferencias de dos variables

La varianza de una variable Z denida como la suma o la diferencia de


X 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)


Captulo 3. REPASO DE ESTADISTICA 66

3.2.5. Estimadores de maxima verosimilitud

En muchas ocasiones, se desea caracterizar algun fenomeno, que correspon- Justicacion


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

Dado un conjunto de n observaciones x1 , x2 , ..., xn , y dada una funcion de Funcion de


distribucion, , con un parametro, , la funcion de maxima verosmilitud, L(), maxima
se dene como verosimilitud

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

si es discerta, donde p (x1 ) es la funcion de probabilidad de , o bien se


dene 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 dene


como

La funcion de verosimilitud, indica, para cada valor del parametro , cual es la Interpretacion
probabilidad de que obtener ese conjutnto valores x1, x2, ..., xn. El estimador
maximo verosmil es aquel valor de que hace maximo el valor de la funcion
, es decir, la probabilidad de que se obtengan los valores xi.

Por ello, para obtener el valor de , hay que resolver la siguiente ecuacion: Procdeimiento

dL()
=0 (3.20)
d

En el caso de que existiera mas de un parametro, el razonamiento sera analo- Mas de un


go, pero con una funcion de varias variables, en cuyo caso, habra que igualar parametro
a 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.
Captulo 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 ellas
se 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-verosmiles de sus parametros.
Comentarios acerca de la distribucion.

3.3.1. Distribuciones continuas

Uniforme U(a, b)
Posibles Se emplea cuando una variable toma valores en un
aplicaciones rango nito de valores equiprobables.

Sirve como primera aproximacion cuando se conoce el


rango de valores de una variable pero no se tiene infor-
macion acerca de su distribucion.
1

ba si a x b
Densidad f (x) =

0 resto de casos

0 si x < a


Distribucion F (x) = xa
ba
si a x b

1 si x > b

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

Rango [a, b]

a+b
Media
2
Captulo 3. REPASO DE ESTADISTICA 68

(b a)2
Varianza
12

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

Estimadores a = mn xi , b = max xi
1in 1in

f (x)

1/(a b)

0 a b x

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

Triangular triang(a, b, m)
Posibles Modelo aproximado en ausencia de datos.
aplicaciones

2(xa)
(ba)(m a) si a x m



2(bx)
Densidad f (x) = (b si m x b
a)(bm)


0 resto de casos


0 si x < a
(xa)2 si a x m

(ba)(ma)
Distribucion F (x) =
(bx)2
1 (ba)(bm) si m x b


1 si x > b
Captulo 3. REPASO DE ESTADISTICA 69

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

Rango [a, b]

a+b+m
Media 3

a2 + b2 + m2 ab am bm
Varianza 18

Moda m

Estimadores Dado que se emplea en ausencia de datos, los estima-


dores no son relevantes.

f (x)

2/(b a)

0
0 a m bx

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


Captulo 3. REPASO DE ESTADISTICA 70

Exponencial Exp()
Posibles Tiempo entre llegadas de clientes o piezas a un siste-
aplicaciones ma.

Tiempo entre averas de un equipo.

No resulta apropiada para tiempos de espera.


1
x/

e si x 0
=
Densidad f (x)

0 resto de casos


x/
1 e
si x 0
Distribucion F (x) =

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, ).


Captulo 3. REPASO DE ESTADISTICA 71

f (x)

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 x

Figura 3.5: funcion de densidad de Exp(1)

Gamma Gamma(, ))
Posibles Tiempo para completar una tarea. Por ejemplo: dura-
aplicaciones cion de un servicio o de una reparacion.
x 1 ex/ si x > 0

()
Densidad f (x) =


0 resto de casos

,1 (x/)j si x > 0
x/
1 e

j=0 j!
Distribucion F (x) =


0 resto de casos

donde () es la funcion gamma completa denida por




() = tz1et .
0

Parametros >0y>0

Rango [0, ]

Media

Varianza 2

Moda ( 1) si 1, 0 si < 1 .

Estimadores -
Captulo 3. REPASO DE ESTADISTICA 72

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



si < 1

1
2. lm f (x) = si = 1
x


0 si > 1

f (x)
1.2
1
1 = 2

0.8
=1
0.6
=2
0.4
=3
0.2
0
x
1 2 3 4 5 6 7

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

Normal N(, 2)
Posibles Variables que representan la suma de otras variables.
aplicaciones
Variables con distribucion simetrica (por ejemplo,
tiempos de ciclo)

Dependiendo de los parametros empleados, la funcion


puede devolver valores negativos.
2
(x
)


1
x 2 2 e 2 2 si x > 0
Densidad f (x) =


0 resto de casos

Distribucion No tiene expresion analtica.


Captulo 3. REPASO DE ESTADISTICA 73

Parametros (, ) , > 0

Rango [0, ]

Media

Varianza 2

Moda

,n n1
xi
= , 2
Estimadores
i=1 = S2(n)
n 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 sencillo
obtener el valor de cualquier normal a partir de
ella mediante la siguiente relacion:
x
N(, 2) = ( ) (3.21)

3. Si X ~ N(, 2), entonces eX sigue una distribu-


cion lognormal.

f (x)

0.5

0.4

0.3

0.2

0.1

-3 -2 -1 0 1 2 3 x

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


Captulo 3. REPASO DE ESTADISTICA 74

Lognormal LN(, 2)
Posibles Su principal aplicacion se da en variables que son el
aplicaciones producto de un gran numero de variables aleatorias
(por ejemplo, la produccion total de un sistema en el
que hay varias categoras de piezas).

Tiempo para completar una tarea. Tiene una forma


similar a gamma(, ) o weibull(, ), pero con su
maximo mas cerca de x = 0.

Modelos aproximados donde no hay muchos datos.


2
(ln x)


1
x 2 2 e 2 2 si x > 0
Densidad f (x) =

0
resto de casos

Distribucion No tiene expresion analtica.

Parametros e > 0 y > 0

Rango [0, ]

2/2
Media e+

2 /2
Varianza e2+ (e 1)

2
Moda e /2

,n ,n
ln xi 2 = i=1 lnxi 2
Estimadores =
i=1 ,
n n

Comentarios 1. Se dice que una variable X se distribuye segun


una lognormal(, 2) cuando se cumple:

X ~ LN(, 2) ln X ~ N(, 2)

Es decir, si x1 , x2 , , xn se distribuyen segun


una lognormal, ln x1, ln x2, , ln xn lo hacen
segun una normal. Esta relacion afecta a: la
hipotesis de que distribucion sigue una muestra,
la estimacion de parametros y tests de bondad,
entre otras cosas.
Captulo 3. REPASO DE ESTADISTICA 75

2. Mientras que en Excel (y en la mayora de las


aplicaciones informaticas) los parametros de
la funcion son los indicados anteriormente, en
Witness representa E(X) y 2 representa
Var(X). Por tanto, si ( e, e2) y ( w , 2 w
) son los
parametros en Excel y Witness respectivamente,
la relacion entre ellos es la siguiente:
,n
i=1 xi
w = e e
w =
=
n ,n 2
x
e
w
2
= e2e +
2 i
/2
(ee 1) = e2= i=1 w
n

f (x) 3
1 = 2
1
= 2
0.8

0.6
=1
0.4

0.2

0 1 2 3 4 5 x

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

Weibull Weibull(, )
Posibles Tiempo para completar alguna tarea.
aplicaciones
Intervalo entre dos averas de un equipo.

Tiempo de vida de un dispositivo.

Modelos aproximados donde no hay muchos datos.



1 e(x/) si x > 0

x
Densidad f (x) =
0 resto de casos
Captulo 3. REPASO DE ESTADISTICA 76


(x/)
1 e
si x > 0
Distribucion F (x) =

0 resto de casos

Parametros >0,>0

Rango [0, ]
.
1
Media

. . . 2
2 2 1 1
2
Varianza


.
1 1/
si 1

Moda

0 si < 1

Estimadores Se deben cumplir las siguientes 2 ecuaciones1:


,n ,n
1 x ln xi 1 ln xi

= i

=
i
n
,n i=1
x
i=1 i

. ,n 1/
xi
=
i=1
n

Comentarios 1. La distribucion Weibull(2, ) tambien se cono-


ce como distribucion de Rayleigh, denotada por
Rayleigh()

si < 1


1
2. lm f (x) = si = 1
x


0 si > 1

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


Captulo 3. REPASO DE ESTADISTICA 77

f (x)
1.4
1.2 =3

1
=2
0.8
0.6 =1
0.4 = 0,5
0.2
0
0 1 2 3 4 5 x

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

3.3.2. Distribuciones discretas

Bernoulli Bernoulli(p)
Posibles Suceso aleatorio con dos posibles valores.
aplicaciones
Base de otras distribuciones discretas (binomial,
geometrica, binomial negativa...)

1 p si x = 0


Probabilidad p(x) = p si x = 1



0 resto de casos

0 si x < 0



Distribucion F (x) = 1 p si 0 x < 1



0 si x 1

Parametros p (0, 1)

Rango 0, 1

Media p
Captulo 3. REPASO DE ESTADISTICA 78

Varianza p(1 p)

0 si p < 1
2



1
Moda 0y1 si p =
2


1 si p > 1
2

Estimadores p = x(n)

Comentarios 1. La distribucion Bernoulli(p) representa un expe-


rimento con dos posibles resultados: exito (1) o
fracaso (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 una
Binomial(t, p).

3. Si X representa el numero de fracasos antes de


observar 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 una
binomial negativa con parametros s y p.

p(x)

1p

0 1 x

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


Captulo 3. REPASO DE ESTADISTICA 79

Binomial Binomial(n, p)
Posibles Numero de fallos en un lote de piezas.
aplicaciones
Tamano de un lote de piezas o de un grupo de perso-
nas.

Cantidad de piezas de un pedido.


. t
x p (1 p) si x 0, 1, , t
x tx

Probabilidad p(x) =

0 resto de casos
.
t
donde es el coeciente binomial expresado por:
x
.
t t!
=
x x!(t x)!


0 si x < 0


, .
x ] t
Distribucion F (x) = i =0 i pi (1 p)1i si 0 x t


0 si x > t
donde x] representa el mayor numero entero menor
que x.

Parametros t entero positivo, p (0, 1)

Rango 0, 1, ,t

Media tp

Varianza tp(1 p)

p(t + 1) 1
y p(t + 1) si p(t + 1) es entero
Moda

p(t + 1)resto de casos

Estimadores x(n)
p=

t
Captulo 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).

p(x)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 x

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

Geometrica geom(p)
Posibles Numero de piezas inspeccionadas antes de encontrar
aplicaciones la primera defectuosa.

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


nas.

Cantidad de piezas de un pedido.



p(1 p) si x 0, 1,
x

Probabilidad p(x) =
0 resto de casos
Captulo 3. REPASO DE ESTADISTICA 81


x]+1
1 (1 p)
si x 0
Distribucion F (x) =

0 resto de casos

Parametros p (0, 1)

Rango 0, 1,

1 p
Media
p

1 p
Varianza
p2

Moda 0

Estimadores 1
p=

x(n) + 1

Comentarios 1. Si X representa el numero de fracasos antes de


observar el primer exito en ensayo de Bernoulli,
X ~ geom(p).

2. Es el equivalente a una distribucion exponencial


en el caso de variables discretas.

p(x)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 x

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


Captulo 3. REPASO DE ESTADISTICA 82

Poisson Poisson()
Posibles Numero de eventos que ocurren en u intervalo de
aplicaciones tiempo cuando esos eventos suceden de uno en uno y
con una tasa constante.

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


nas.

Cantidad de piezas de un pedido.


x si x 0, 1,
e
!
x
Probabilidad p(x) =


0 resto de casos


0
si < 0
Distribucion F (x) =

,ix0] i si x 0
= i!

Parametros >0

Rango 0, 1,

Media

Varianza

1
si es entero
Moda

] resto de casos

Estimadores = x
Captulo 3. REPASO DE ESTADISTICA 83

Comentarios 1. Si la distribucion Poisson() describe el numero


de eventos por unidad de tiempo, la distribucion
exp(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 ~ se
distribuye segun una Poisson(1 + 2 + + n ).

p(x)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
x
0 1 2 3 4 5 6 7 8

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 es


necesario conocer con profundidad como se comporta una variable aleatoria
X y basta con obtener informacion al respecto de sus caractersticas princi-
pales: la media y la varianza. En este apartado se explica como estimar estas
propiedades de X.
Captulo 3. REPASO DE ESTADISTICA 84

Se supone que se dispone de una muestra x1, x2, , xn compuesta por va- Estimacion de la
lores independientes identicamente distribuidos de X, donde y 2 son, res- media de una
pectivamente, la media y la varianza de la poblacion de dicha variable. Para variable
estimar se puede emplear la media de la muestra expresada por: aleatoria
,n
xi
= x(n) = i=1 (3.22)
n
es un estimador centrado o insesgado de , es decir, independiente-
donde
mente del tamano de la muestra:

=
E()

La estimacion de la varianza de X se puede realizar a partir de la varianza de Estimacion de la


la muestra: ,n varianza de una
i=1 x x(n) [ ]i 2 variable
2 = S2(n) = (3.23)
n1 aleatoria
que es un estimador centrado, es decir E(S2(n)) = 2.

Por la propia denicion de , aun siendo un estimador centrado, en k mu e


stra Un estimador

toma k valores que, en general, son diferentes. En unos casos, los valores puntual no es

anteriores tambien es
estan mas cerca de que en otros. Esto se debe a que suciente...
una variable aleatoria, que depende de los valores observados en la muestra,
cuya varianza Var[x(n)] se expresa por:

1
1 . xi .
n n
Var [x(n)] = Var n = 2 Var xi
i=1 n i=1
. 1
n

= Var(x ) (porque
i i x son independientes)
n2
i=1
1 2
= n 2 = (3.24)
n2 n
Dado que E[x(n)] = , cuanto menor es el valor de su varianza mayor es su
precision 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 la
ecuacion 3.23 en la expresion anterior:
,n
S2(n) [xi x(n)]2
Var [x(n)] = = i=1
(3.25)
n n(n 1)
Por todo ello, no se puede garantizar que la media de una muestra tome un
valor cercano a . Lo que s es cierto es que, en general, a medida que aumenta
el tamano de la muestra es mas probable que se acerque a . El metodo mas

habitual de evaluar la precision de como estimador de es acompanar al
valor puntual de un rango de valores dentro del cual se encuentra con una
probabilidad determinada. A ese rango de valores se le conoce por intervalo
de conanza y se trata con mas detalle en el siguiente apartado.
Captulo 3. REPASO DE ESTADISTICA 85

3.4.2. Intervalos de conanza 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 conanza. A partir de ahora,
cuando se habla de un intervalo de conanza para con un nivel de
conanza 1 se hace referencia a un intervalo [a, b] que cumple que el
100 (1 ) % de los intervalos as construidos contienen al verdadero valor
de (a y b dependen de la muestra analizada).

A continuacion, se indica como construir un intervalo de conanza para el


valor 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. Para


ello se dene una nueva variable aleatoria Zn mediante la siguiente expresion:
|x(n) |
Zn = , (3.26)
2 /n
y se denota por Fn (z) a la funcion de distribucion de dicha variable. A conti-
nuacion se enuncia el teorema central del lmite:

Teorema 1 Fn(z) (z) cuando n , independientemente de la distribu-


cion que siga la variable aleatoria X, donde (z) es la funcion de distribucion
normal con parametros = 0 y 2 , tambien conocida como normal estandar
(ver apartado 3.3).

Segun este teorema, si n es lo sucientemente grande, Zn se aproxima a


una distribucion normal estandar. Pero la aplicacion del teorema anterior para
construir 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 teorema
central del lmite sigue siendo cierto si en la expresion 3.26 se sustituye 2 por
S2(n) como sigue:

|x(n) |
Zn = , (3.27)
S2(n)/n

La variable Zn as denida sigue una distribucion N(0,1) para valores elevados de


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 en
x(n), entonces a = z1/2 y b = z1+/2 que tienen el siguiente signicado
(ver gura 3.14):
P (Z < z1/2) = 1 /2

P (Z > z1/2) = 1 /2
Captulo 3. REPASO DE ESTADISTICA 86

f (x)

P (z area sombreada) = 1

z1/2 x(n) z1/2 x

Figura 3.14: funcion de densidad normal estandar

Estos valores se pueden consultar en la tabla 1. Para valores altos de n se


cumple la siguiente expresion:

Cambiar tabla 1 por un comando ref. PENDIENTE


.
P z1/2 x(n)
2
z1/2
S (n)/n

, ,
S2(n) S 2 (n)
= P x(n) z 1/2 x(n) + z 1/2
n n
1 (3.28)

Por lo tanto, para valores altos de n, con una probabilidad de (1), este per-
tenecera al intervalo: ,
S2(n)
x(n) z1/2 (3.29)
n
El intervalo de
conanza para , = E(X) se construye a ,
partir dela expresion
anterior: x(n) z1/2 S (n) S (n)
, x(n) + z 1/2 (3.30)
2 2

n n
n n

Su interpretacion es la siguiente: si se dispone un numero elevado de mues-


tras de n observaciones, con n lo sucientementegrande, construyendo un
numero elevado de intervalos de conanza con un nivel (1 ) para cada un
ade
estas muestras, la proporcion de intervalos que contienen a es aproxima-
damente (1 ).
Captulo 3. REPASO DE ESTADISTICA 87

El problema de las expresiones anteriores es que se considera que n es su- Cuando n es


cientemente grande. Normalmente, n toma un valor demasiado pequeno para sucientemen-
aplicar el teorema central del lmite. Si se considera que X sigue una distribu- te grande?
cion normal, entonces la variable denida por la siguiente expresion

|x(n) |
,
S2(n)/n

se distribuye segun una distribucion t con n 1 grados de libertad y se puede


calcular un intervalo para de la siguiente manera:
,
S2(n)
x(n) tn1,1/2 (3.31)
n

donde el valor tn1,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 lmite.

Eliminar tabla 2 y poner comando ref PENDIENTE

En realidad, lo mas frecuente es que X no se distribuya normalmente. En es- Y si X no sigue


tos casos la armacion de que el intervalo dado por la expresion 3.31 cubreel una distribucion
100 (1 ) % de las casos se hace aun mas aproximada, sobre todo si X normal?
sigue una distribucion asimetrica. A pesar de ello, como tn1,1/2 > z1/2 , el
intervalo proporcionado por la expresion 3.31 es mayor que el que se obtiene
mediante 3.29, por lo que, generalmente, es mas probable que cubra el nivel de
conanza (1 ) y se puede considerar como valido. Por este motivo se reco-
mienda emplear la expresion 3.31 para construir el intervalo de conanza para
la media de una variable aleatoria. En el captulo 6 se aplica este procedimiento
de manera practica mediante el calculo de varios intervalos de conanza
para anlalizar variables de salida.

3.5. Generacion de valores de variables aleatorias

Los sistemas estudiados mediante simulacion, tpicamente, incluyen fenome-


nos de caracter estocastico. Como es necesario reproducir el comportamiento
de esos fenomenos, es necesario generar valores que se comoporten de for-
ma consistente con dicho comportamiento. Por ejemplo, si se conoce que el
intervalo entre la llegada de dos clientes a una gasolinera sigue una exponen-
cia de media 52 segundos, es necesario generar valores que se comorten de
esa manera. Una manera de obtener esos valroes es, primero, generar numeros
aleatorios entre 0 y 1 (U(0, 1)) y, con ellos, generar los valores deseados. A
continuacion se presenta una forma de obtener valores de variables aleatorias.
Captulo 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. La


mayora de ellos se basan en la utilizacion de numeros aleatorios, denidos
como valores independientes de una muestra uniforme continua en el inter-
valo (0,1). Si se considera una muestra de n numeros aleatorios, se denota
por ri el i-esimo de estos valores. De su denicion se deducen las siguientes
propiedades:

La probabilidad de que ri tome un valor concreto es independiente de


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

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

Por lo tanto, una alternativa a la generacion de numeros aleatorios es cons- Si existen en la


truir tablas de valores ri que se almacenen en el ordenador. El principal in- naturaleza,
conveniente es que, debido a la gran cantidad de valores necesarios, ocuparan por
mucha memoria de almacenamiento (por ejemplo, Witness incluye cerca de 3 que generarlos?
1057 numeros aleatorios). La generacion de numeros aleatorios resuelve es-
te problema ya que, en la mayora de los casos, se generan mediante algoritmos
sencillos que permiten generar numeros aleatorios cuando son necesarios, con
un uso mucho mas eciente de los recursos de computacion.
Captulo 3. REPASO DE ESTADISTICA 89

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

zi = (a zi1 + 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. El
i-esimo numero aleatorio entre 0 y 1 se obtiene a partir de zi de la siguiente
manera:
zi
ri =
m
Los numeros aleatorios as generados tienen las siguientes propiedades:

La precision de ri esta limitada por 1/m, es decir, los posibles valores de


ri son: 0/m, 1/m, ,m 1/m.
El numero de valores diferentes que se pueden generar es nito y, como
maximo, 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 = z1
= 27 =
100
0,
100
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 obtener
mas informacion acerca de el generador congruente lineal o de otros metodos
de generacion de numeros aleatorios se recomienda consultar [1].

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


Captulo 3. REPASO DE ESTADISTICA 90

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

Revisar si esto es cierto o no PENDIENTE

3.5.2. Generacion de valores de variables aleatorias

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

La idea en la que se fundamenta el metodo de la transformada inversa es la Metodo de la


siguiente: generar un numero aleatorio ri entre 0 y 1, y evaluar la inversa de la transformada
funcion de distribucion, F (x), en ese punto. La gura 3.15 ilustra gracamente inversa
como se aplica el metodo. Se puede demostrar que los valores generados de
esta 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 introducen
la aleatoriedad que permite imitar el comportamiento estocastico de ciertos
fenomenos, mientras que mediante el metodo de la transformada inversa se
consigue que los valores generados se distribuyan segun una funcion
concreta.

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

Los paquetes de simulacion permiten controlar la generacion de numeros alea- Programas de


torios para garantizar que los valores generados sean independientes. En par- simulacion
ticular, Witness permite al analista elegir que subserie de numeros aleatorios
se utilizan en cada variable. Mediante el control de la generacion de numeros
aleatorios es posible obtener mejores resultados computacionales, como se ex-
plica en el captulo 9 dedicado a la presentacion de tecncias de reduccion de
la varianza.
Captulo 3. REPASO DE ESTADISTICA 91

F(x)
1

0.8
ri
0.6

0.4

0.2

0
0 1 2 xi 3 4 5 x

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


Captulo 3. REPASO DE ESTADISTICA 92

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

Exp() x = ln r

1. v1 = 2r1 1
v2 = 2r2 1
2. w = v2 + v2
1 2

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


N(0,1)
,
y = 2 ln w/w

x1 = v1 y

x2 = v2 y

4. Si N(, 2), hacer:

x' = + x

weibull(, ) x = ( ln r )1/

x = xj tal que se cumpla la siguiente expresion:


j1 j
Funciones . .
discretas p(xi) r p(xi)
i=1 i=1

Cuadro 3.12: generacion de variables aleatorias de varias funciones de distri-


bucion mediante el metodo de la transformada inversa.
Captulo 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. Como
se explico en el apartado 1.5, las variables de entrada son aquellos datos de
entrada sobre los que el decisor no tiene control. Sin embargo, las variables de
entrada no pueden tomar cualquier valor. Para representara de forma correcta
el comportamiento del sistema, conviene caracterizar bien como se comportan
las 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 se


disonen de datos correctos respecto a la composicion de la demanda de ese
taller, el resultado puede ser muy poco valido, bien infradimensionando o bien
sobredimensionando las instalaciones.

En los sistema objetos de estudio, genralmente no se conoce en terminos


analticos 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 si
el sistema no existe). A partir de los datos historicos o de alguna otra mane-
ra conviene establecer de forma adecuada el comportamiento de las variables
de entrada. En este captulo se muestran diferentes formas de alimentar un
modelo de simulacion y se presentan tecnicas para obtener distribuciones que
permitan alimentar bien el modelo.

Cuando se dispone de datos historicos del sistema estudiado, existen tres po- Formas de
sibles maneras de alimentar el modelo de simulacion corresondiente: con los alimentar un
propios datos historicos, con una funcion de distribucion emprica o con una modelo de
funcion de distribucion teorica. simulacion
1. La primera posibilidad consiste en alimentar al modelo con los datos
historicos 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
Captulo 4. ANALISIS DE DATOS DE ENTRADA 94

los valores observados correspondientes a la operacion de descarga, de


manera que cada operacion de descarga tiene una duracion identica a
una 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 emprica


a 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 (o
valores puntuales en caso de las variables discretas) y se asigna a cada
uno de ellos una probabilidad proporcional a la frecuencia con la que
aparecen en la muestra historica. A diferencia de la alternativa anterior,
esta permite obtener un numero innito de valores comprendidos entre
el maximo y el mnimo de los valores historicos.

Figura 4.2: alimentacion del modelo con datos obtenidos de una distribucion
emprica

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 del
numero de clientes que llegan a una tienda en una hora, se comprueba
si el numero de clientes que llegan en cada intervalo de tiempo se puede
caracterizar sucientemente bien mediante una distribucion de Poison.

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 la


ejecucion el modelo, por lo que se podran obtener un numero limitado
Captulo 4. ANALISIS DE DATOS DE ENTRADA 95

de valores de salida que, ademas, solo representan algunas situaciones


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

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

En el caso de formar una distribucion emprica con las observaciones se pue- Distribucion
den generar todos los valores entre los el menor y el mayor valor. Por lo tanto, emprica
en terminos de su utilidad para la explotacion del modelo no presentan los
inconvenientes que aparecen con la alimentacion del modelo con los datos
historicos. 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 emprica solo se pueden generar valores
dentro del rango de los datos recogidos, y quiza la probabilidad de obte-
ner valores fuera de ese rango no sea cero.

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

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


laridades.
Mediante distribuciones teoricas se pueden generar valores fuera de los
lmites de los datos observados durante el periodo de muestreo.
Es mas compacta y facilmente modicable en el caso de querer e
stu
d
ia
rel
efecto de cambios en las condiciones de entrada.

Por todo lo anterior, esta ultima suele ser la mejor opcion y solo en caso de no
encontrar una distribucion teorica que se ajuste bien a los datos historicos se
justica el uso de funciones empricas.

A continuacion, se muestra como alimentar con distribuciones empricas un Estructura del


modelo de simulacion construido con Witness. A continuacion se presenta el captulo
proceso 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 calculo
mediante un ejemplo practico. Para nalizar, en el ultimo apartado se re lvel
su
mismo problema usando una aplicacion especca.
Captulo 4. ANALISIS DE DATOS DE ENTRADA 96

frelativa

0.4

0.3

0.2

0.1

0
0 2.5 5 7.5 x

(a) Distribucion emprica

frelativa

0.4

0.3

0.2

0.1

0
0 2.5 5 7.5 x

(b) Distribucion teorica

Figura 4.4: representacion graca para una muestra de 50 datos de la


funcion emprica y de una posible funcion teorica.

4.2. Ejemplo 1. Distribuciones empricas en Witness

A partir de los datos correspondientes al tiempo entre llegadas del ejemplo


4.2 del capitulo 1, construir una funcion de distribucion emprica en Witness.

Tiempo entre llegadas (das) 2 3 4 5 6 7 8


% casos observados 5 13 17 27 23 10 5
Captulo 4. ANALISIS DE DATOS DE ENTRADA 97

Witness dispone de un tipo de elemento, llamado distribucion para in- Elemento


troducir variables aleatorias empricas. Se puede crear un elemento de ti- Distribucion
po con la opcion Denir (como en la gura 4.5). Existen diferentes tipos d e
distribuciones, segun devuelva un numero entero, un numero real o un
nombre y segun sea discreta, continua o se dena de acuerdo a una curva de
probabilidad acumulada. En este caso, se trata de una distribucion discreta
que devuelve valores enteros.

Figura 4.5: denicion de la distribucion TiempoEntreCamiones.

Esta funcion se puede congurar introduciendo los datos correspondientes a Conguracion


las frecuencia obsevada para cada uno de los valores de la variable tiempo
entre 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 necesariamente
100. La gura 4.6 muestra como el aspecto de la ventana de conguracion tra s
introducir todos los datos.
Captulo 4. ANALISIS DE DATOS DE ENTRADA 98

Figura 4.6: conguracion de la distribucion TiempoEntreCamiones.

Una vez denida y congurada la distribucion, se puede utilizar en el -m odelo, Utilizacion


de la misma manera que, por ejemplo, se utiliza la distribucion pre-
denida NEGEXP(10). Como se ha comentado, tal y como se ha denido a l
distribucion no es posible obtener valores menores que 2 ni mayores que
8. Por otro lado, modicar una distribucion emprica exige un poco mas de
trabajo que modicar una funcion teorica. Por eso, en la medida de lo posible,
es preferible utilizar distribuciones teoricas, para lo cual es necesario realizar
un test de ajuste a partir de los datos historicos, tal y como se indica en el
proximo epgrafe.

4.3. Tests de ajuste

Tal y como se ha discutido, cuando es posible, conviene alimentar el modelo Contraste de


con distribuciones teoricas. Para ello, es necesario disponer de un conjunto de hipotesis
n 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 con
los que ejecutar el modelo. Para ello, en primer lugar se estudia la manera en
la que se distribuyen los valores de la muestra para establecer una hipotesis
como 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.
Captulo 4. ANALISIS DE DATOS DE ENTRADA 99

El siguiente paso es comprobar, mediante un test de ajuste, si la hipotesis


H0 es cierta. Si no se puede demostrar que sea falsa, se acepta como cierta.
Para realizar estos tests se establece un nivel de conanza, , que represnta la
probabilidad de rechazar H0 siendo cierta. A continuacion se presenta de
forma detallada todo el procedimiento.
Captulo 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 gracamente si los
datos estan correlacionados (ver gura 4.7).

2. Identicar la distribucion. Se divide el rango de las observaciones en k intervalos de



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 que
aparecen los valores de la muestra en ese intervalo. A partir del aspecto de esta graca
se eligen las posibles distribuciones para el ajuste.

3. Estimar los parametros. Para ello se aconseja emplear los estimadores maximo
verosmiles. En el captulo dedicado a repaso de estadstica se detalla ampliamente
como 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 eleccion


de la distribucion y la estimacion de sus parametros.

Test de la 2 Test de Kolmogorov-Smirnov

4. Dividir el rango de las observaciones 4. Ordenar las observaciones en orden


en k intervalos. Es aconsejable que estos creciente (asignando a x(1) el menor valor
intervalos sean equiprobables para la fun- de xi y a x(n) el mayor).
cion f (x) considerada. En este caso la pro-
5. Calcular la funcion de distribucion
babilidad de que una valor de la variable X
emprica de la muestra, Fn (x), que se de- ne
pertenezca a cada intervalo es p = 1/k y se
como:
recomienda tomar k tal que np > 5
0, si x x(1) ,
5. Construir el estadstico:
Fn(x) = i
n
, si x(i) x x(i+1), (4.2)
k
. (Ni npi)2
1, si x X(n)
2
= (4.1)
i=1 npi

donde Nj es el numero de observaciones 6. Calcular para cada observacion x(i) :


pertenecientes al intervalo i-esimo y pi es
la probabilidad (segun la funcion teorica D i = max
.. . . .
. . . .
elegida) de que un valor pertenezca a ese .Fn (X(i1) ) F (X(i)). , .Fn (X(i) ) F (X(i) ).
mismo intervalo.
7. Aplicar el criterio de decision. No se re-
6. Aplicar el criterio de decision. No se re- chaza H0 si:
chaza H0 si:
D(, n) max Di
2 < 2
km1,1
donde D(, n) es un valor obtenido en la
donde 2 es el valor obtenido en la
km1,1 tabla 4 y el nivel de conanza.
tabla 3, el nivel de conanza y m repre-
senta el numero de parametros estimados.
Captulo 4. ANALISIS DE DATOS DE ENTRADA 101

Cuales son las tabla 3 y 4 (a la que se reere el cuadro resumen del test) PENDIENTE

Figura 4.7: diagrama de dispersion de una muestra no correlacionada y de otra


correlacionada linealmente

4.4. Ejemplo 2

En este apartado se presentan un ejemplo en el que se emplea una hoja de


calculo 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 para
reproducir 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 las


500 observaciones que se analizan en este ejemplo. De acuerdo con el cuadro
de la seccion 4.3, en primer lugar, hay que comprobar la independencia de las
observaciones. 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), ,
(xn1, xn). Para ello, lo que hay que hacer es copiar en dos columnas
adyacentes los valores observados de tal modo que cada xi tenga a su
derecha el valor xi+1.
Captulo 4. ANALISIS DE DATOS DE ENTRADA 102

2. Representar gracamente estos puntos para decidir, de manera visual, si


la muestra esta compuesta por datos independientes. Para ello, es nece-
sario crear un graco en Excel: ( Graco / Tipo de graco / XY (Dispersion)
).

En la gura 4.8 se muestra el resultado de este proceso. No se observa q


u
e los
puntos se agrupen de acuerdo con ninguna relacion particular, y se puede
admitir que los datos de la muestra son independientes.

xi+1
200

150

100

50

0
0 50 100 150 200 xi

Figura 4.8: ejemplo de graco de dispersion XY

4.4.0.2. Segundo paso: identicacion de la funcion de probabilidad

A continuacion hay que identicar, mediante un histograma, a que posibles


funciones 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 longitud
es:
172, 93 0, 01 =
20 8, 646
Para completar el histograma se recomienda seguir los siguientes pasos:

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


Identicacion 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
Captulo 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 cada
uno de estos valores entre el tamano de la muestra, n = 500.

3. Representar las frecuencias relativas en un histograma como el de la


gura 4.9 ( Graco / Tipo de graco / 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 ambos
casos.
Captulo 4. ANALISIS DE DATOS DE ENTRADA 104

FUNCION FRECUENCIA EN EXCEL


La funcion FRECUENCIA(datos;grupos) calcula la frecuencia con la que se
repiten los valores de un rango en un conjunto de datos. Se trata de una
funcion matricial, ya que da como resultado un conjunto de valores en forma
de matriz. Por lo que su uso es diferente al de una funcion normal. Para
introducirla 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 lmites superiores de


los 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 verosmiles
para las distribuciones teoricas mas comunes. En este caso, los estimadores
son:

Lognormal (LN(, 2)) Exponencial (exp())


,n
ln xi

= i=1 = x(n)
n
,n
ln xi 2
2 = i=1
n

Cuadro 4.1: estimadores MLE para lognormal y exponencial

Mediante estas expresiones se obtienen los paraemtros corresponeientes a la


lognormal, = 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
Captulo 4. ANALISIS DE DATOS DE ENTRADA 105

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

H0 : La variable X se ajusta a la distribucion de probabilidad


LN(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 toman
20 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 variable
que se distribuya segun una LN(2, 62, 1, 89) tome valor dentro de el sea
p = 1/20 = 0, 05.

2. Calcular el extremo superior e inferior de cada intervalo. Para cada


intervalo i hay que evaluar la inversa de la funcion de distribucion en
x = 0, 05 (i 1) y en x = 0, 05 i. La inversa de una distribucion
de probabilidad se obtiene despejando la variable x en la funcion de
distribucion:
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:

lmite inferior DISTR.LOG.INV(0,05 * (i-1) ;2,62;RAIZ(1,89))

lmite 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 lmites superiores obtenidos en el paso anterior. El re-
sultado se muestra en la columna Ni del cuadro 4.1.

4. Calcular el estadstico 2 mediante la ecuacion 4.1.


5. Obtener el nivel crtico 2
para = 0,9, = 0,95, y = 0,99.
k m 1,1
Para ello se emplea la funcion de Excel PRUEBA.CHI.INV(probabilidad ;
grados-de-libertad), donde probabilidad toma el valor 1 (notese que
el numero de grados de libertad es 20-1-1=18).
Captulo 4. ANALISIS DE DATOS DE ENTRADA 106

(Ni npi)2
Frecuencia es-
Intervalo Limite Limite Frecuencia ob-
npi
inferior superior servada (Ni) perada (npi)
1 0,00 1,43 30 25 1,00
2 1,43 2,36 21 25 0,64
3 2,36 3,30 18 25 1,96
4 3,30 4,32 16 25 3,24
5 4,32 5,43 25 25 0,00
6 5,43 6,67 20 25 1,00
7 6,67 8,08 22 25 0,36
8 8,08 9,69 15 25 4,00
9 9,69 11,55 21 25 0,64
10 11,55 13,72 20 25 1,00
11 13,72 16,31 37 25 5,76
12 16,31 19,44 27 25 0,16
13 19,44 23,31 27 25 0,16
14 23,31 28,22 33 25 2,56
15 28,22 34,68 32 25 1,96
16 34,68 43,64 38 25 6,76
17 43,64 57,05 40 25 9,00
18 57,05 79,90 30 25 1,00
19 79,90 131,66 25 25 0,00
20 131,66 3 25 19,36
2 = 60, 56
Cuadro 4.2: intervalos equiprobables, frecuencias y estadstico
hipotesis lognormal

Comparando el estadstico experimental con el nivel crtico (cuadro 4.4) se


rechaza la hipotesis de que la muestra siga una distribucion lognormal con
parametros = 2, 62 y 2 = 1, 89 con un nivel de conanza 90 %.

Alternativamente, se puden formular las hipotesis correspondientes a la dis- 2, exponencial


tribucion exponencial:

H0 : La variable X se ajusta a la distribucion de probabilidad


Exp(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:

1 ex/ si x 0
y = F(x) =
0 otros casos
Captulo 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 el


caso anterior se obtiene un cuadro como 4.3:

(Ni npi)2
Frecuencia es-
Intervalo Limite Limite Frecuencia ob-
npi
inferior superior servada (Ni) perada (npi)
1 0,00 1,33 28 25 0,36
2 1,33 2,74 31 25 1,44
3 2,74 4,24 24 25 0,04
4 4,24 5,82 35 25 4,00
5 5,82 7,50 28 25 0,36
6 7,50 9,30 19 25 1,44
7 9,30 11,23 18 25 1,96
8 11,23 13,32 21 25 0,64
9 13,32 15,59 34 25 3,24
10 15,59 18,08 24 25 0,04
11 18,08 20,83 22 25 0,36
12 20,83 23,90 20 25 1,00
13 23,90 27,38 24 25 0,04
14 27,38 31,41 15 25 4,00
15 31,41 36,16 29 25 0,64
16 36,16 41,99 21 25 0,64
17 41,99 49,49 31 25 1,44
18 49,49 60,07 24 25 0,04
19 60,07 78,15 24 25 0,04
20 78,15 28 25 0,36
2 = 22, 08
Cuadro 4.3: intervalos equiprobables, frecuencias y estadstico
hipotesis exponencial

Como el estadstico 2 es menor que 18,0,99 (cuadro 4.4), se deduce que la


hipotesis de que la muestra sigue una distribucion exponencial con = 26, 09
no se puede rechazar al nivel 99 % por lo que, segun este test de ajuste, esta
distribucion podra ser sucientemente buena para alimentar al modelo de
simulacion al que se reeren los datos historicos disponibles.
Captulo 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

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

1. Ordenar los valores de la muestra en orden creciente y copiarlos en el


lugar correspondiente de la hoja Test K-S. A partir de ahora, x(1) es el
primero 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 la


columna Fn (x) se calcula el valor de esta funcion para x(i)) mediante la
expresion:

F=
n
i
500
3. Obtener Di para cada valor xi. Para ello, se calculan en cada x(i) las dos
siguientes expresiones1:
. .
a) .Fn (x(i1) ) 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 estadstico de contraste D(, n) de la tabla 4. En


el cuadro 4.5 se muestran los valores de D(0, 9, 500), D(0, 95, 500) y
D(0, 99, 500) con los que se compara max Di .

Referencias a la tabla 4 PENDIENTE

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

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


Captulo 4. ANALISIS DE DATOS DE ENTRADA 109

. . . .
i x(i) Fn(x(i)) F(x i) .Fn (x(i1 ) F(xi ). .Fn (x(i ) F(xi ). Di
1 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 = max Di = 0, 087

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

Lognormal Exponencial
D = 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.

Procediendo de manera analoga para la hipotesis exponencial2 se obtiene que K-S, Exponencial
segun este test no se puede rechazar con un nivel de conanza del 99 % que la
muestra siga una distribucion Exp(26, 9). Por lo tanto, al igual que sucede en
el test 2 , se rechaza la hipotesis lognormal y se acepta la exponencial.

Cabe destacar que, aunque en este caso coincidan, los resultados de los dos Comentarios
tests pueden ser diferentes. En estos casos se puede recurrir a otros tests como
Anderson-Darling (ver Law 2001 [1], pags. 351-352).
2 para evaluar exp() en x en Excel se emplea la expresion DISTR.EXP(x; 1/;VERDADERO)).
Captulo 4. ANALISIS DE DATOS DE ENTRADA 110

4.5. Ejemplo 3. Test de ajuste empleando Bestt

A continuacion muestra una herramienta, Bestt, que permite realizar un test


de ajuste para el conjunto de datos anterior, x1, x2, , x500. Bestt, desarro-
llado por Palisade, forma parte del paquete @Risk, del cual es posible descargar
versiones 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 tipos


de datos: muestras, curvas de densidad o curvas de distribucion (Fitting /
Input Data Options...) Igualmente, permite elegir entre variables discretas
o continuas. En este caso, el tipo de datos coincide con la conguracion
por defecto (muestra de una variable continua). Para introducir los 500
datos, basta con copiar directamente desde Excel y se pegar sobre la
columna Sample.

2. Seleccionar la funcion para realizar el ajuste. Bestt permite hacerlo d e


dos maneras: o bien se especica la funcion que se desea ajustar y sus
parametros, o se deja que sea el programa el que estime los parametros
de las funciones que elija el usuario. Esto se selecciona en (Fitting / Spe-
cify Distributions to Fit...) En este ejemplo se deja que el programa estime
los 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 gura 4.10. En ella se pueden distinguir tres bloques d e
informacion.
a) A la izquierda se enumeran las distribuciones seleccionadas en
orden creciente de bondad del ajuste segun tres tests: 2 ,
Kolmogorov-Smirnov y Anderson-Darling. El test se selecciona en
la pestana desplegable de la parte inferior del bloque.

b) En la parte central aparece una graca que compara el h isto


g
ra
made la
muestra con las funcion teorica. Ademas se pueden seleccio- nar
otros tres tipos de gracos: Dierence, que muestra la diferen- cia
en cada punto entre la muestra y la funcion teorica, P-P, donde se
representa la probabilidad de la funcion emprica de la mues- tra
frente a la funcion de densidad considerada (interesa que sea lo
mas lineal posible), y Q-Q, donde se representan los percentiles
3 Best tiene dos formatos para esta funcion y este es el que coincide con el utilizado en es
ttexto.
Captulo 4. ANALISIS DE DATOS DE ENTRADA 111

de la muestra frente a los de la inversa de la funcion de densidad


considerada.

c) En la parte derecha aparece un informe de las caractersticas prin-


cipales de la funcion ajustada como son: valor de los parametros
estimados, rango, media, varianza... Seleccionando la opcion GOF
se muestran los resultados de los 3 tests de ajuste.

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

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 ventajas e
inconvenientes por lo que una buena opcion es estudiar los resultados de los
tres conjuntamente. En este caso, por ejemplo, no hay ninguna razon para
pensar que la muestra no se ajusta a una Exp(26,08), ya que los resultados de
los 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 proporciona
un ajuste mejor segun los test 2 y K-S.
Captulo 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


o
4 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 de


los estimadores maximo verosmiles (para obtener mas informacion acerca de
ello ver la ayuda del programa). En algunas funciones los parametros de Bestt
no coinciden con los presentados en la seccion 3.3, por lo que es conveniente
consultar 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 sistema
estudiado.

Existen tres formas de alimentar un modelo. Con datos historicos, con datos
generados a partir de una distribucion emprica y con datos generados a traves
de 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 muy
grande, no resultan utiles para explorar diferentes conguraciones y evaluar el
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 y
permiten evitar los errores derivados de las observaciones historicas atpicas.

Para alimentar un modelo con una funcion de distribucion teorica, es necesario


realizar un test de ajuste, tal y como se realizado, primero con Excel y, despues,
con Bestt.
Captulo 4. ANALISIS DE DATOS DE ENTRADA 113

En el siguiente captulo se presentan diferentes estrategias de vericacion y


validacion, para lo cual es necesario disponer de buenos datos de entrada, tal
y como se ha presentado en este captulo.
Captulo 5

VERIFICACION Y VALIDACION DE MODELOS

PENDIENTE: REVISAR CALIDAD IMAGENES

5.1. Introduccion

Para que un modelo sea de utilidad debe estar bien hecho. Esto signica dos Deniciones
cosas: primero, debe estar bien programado y, segundo, debe representar bien
la realidad. Al proceso que garantiza que un modelo esta bien programado, se
le denomina vericacion, mientras que el que se reere a la representacion
adecuada del sistema estudiado, se denomina validacion.

Dicho de otra manera, en terminos de las etapas de un estudio de simulacion,


la vericacion garantiza que el modelo informatico es coherente con el modelo
comunicactivo desarrollado, que es reejo del modelo conceptual. Por su par-
te, la validacion garantiza el modelo conceptual representa de forma correcta
el sistema estudiado para los objetivos jados. En la gura 5.4, el termino
vali- dacion aparece reejando esto ultimo y aparece tambien en la etapa de
explo- tacion. La explicacion es que si se desea comparar los resultados que
ofrece el modelo con los del sistema real (cuando existe) es necesario
disponer del modelo informatico construido para comprobar que,
efectivamente, es valido. Finalemente, la credibilidad de un modelo esta
relacionada con la conanza que se deposita en el en terminos de la puesta en
practica de las conclusiones que se obtienen a partir de su analisis.

PENDIENTE: mejorar calidad figura


Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 115

DE DE
O E O DEL
EM

E O D DE
DO

MODELO
O E L

MODELO OM

O
MODELO
O M O

E LO
D E O DE
E E ME O

DO ME
M L
E L DO

Figura 5.1: vericacion, validadacion y credibilidad en un estudio de simula-


cion.

Un modelo no vericado difcilmente puede ser valido. Sin embargo, un


modelo bien vericado no necesariamente es valido, ya que un modelo puede
estar muy bien programado para representar un modelo conceptual muy
alejado del sistema real.

A lo largo del captulo se presentan algunas tecnicas relativas a la vercacion y


la validacion de modelos, se plantean algunos ejemplos sencillos para ilustrar
como vericar modelos y se presentan las caractersticas mas importantes de
Witness para facilitar la vericacion de modelos.

5.2. Como vericar un modelo

A continuacion se presentan algunas tecnicas de caracter general para v


e
a
c
rimodelos

(consultar Law para profundizar mas).

Emplear, cuando sea posible, una estructura modular. Al construir un Tecnicas de


modelo conviene identicar subsistemas independientes, modelarlos y vericacion
vericarlos por separado. Ademas, estos subsistemas se pueden repetir
en un modelo o se pueden reutilizar para otros modelos, de forma que
si se dispone de un modulo bien vericado, se podra reutilizar con
buenos resultados. Por ejemplo, al modelar una planta de montaje de
automovi- les, puede ser interesante modelar de forma independiente,
el montaje en bruto, la seccion de pintura y el montaje nal, depurar
cada modulo
Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 116

por separado y, nalmente, 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 complejidad
a medida que se comprueba que el modelo esta bien programado en ca-
da caso. En el ejemplo anterior, en una primera aproximacion, la linea
auxiliar que prepara los motores puede representarse como una unica
actividad, tras comprobar que el modelo es correcto, se puede sustituir
esa actividad por un conjunto de actividades que representen los puestos
de 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 ecaz y eciente, etc. Por otra parte, esto facilitara queel
modelo sea mas legible, ya que si varias personas deben trabajar sobre el
mismo codigo, sera mas sencillo que este se elabore de tal manera que
sea facilmente inteligible por otros programadores.

Si se dispone de suciente informacion, se puede ejecutar el modelo a ig


s -
nando valores a los parametros para los cuales se conocen los resulta-
dos que deberan obtenerse. Por ejemplo, un sistema de espera, para
determinadas pautas para los tiempos de servicio y para las llegadas de
los clientes puede modelarse con teora de colas. Por ello, si se alimenta
el modelo de acuerdo con esos suspuestos, se podran comparar con los
resultados teoricos. Tras vericarlo, se deberan introducir los v alo
s
re
origninales.

Para conocer en detalle como se comporta el modelo, se puede realizar


un seguimiento de los eventos a medida que se ejecutan y as comprobar
que el modelo informatico reproduce el comportamiento deseado.

Tambien se pueden utilizar hipotesis simplicadoras, para las cuales se


conoce el comportamiento del sistema y comprobar si el resultado es
correcto. Una forma sencilla puede ser establecer todos los tiempos
como deterministas y observar si el comportamiento es el esperado.

Los entornos de simulacion comerciales ofrecen la posiblidad de crear


una animacion, cuya observacion puede permitir identicar posibleserrores
del modelo. Por ejemplo, al representar el movimientos de las
traspaletas en un almacen, puede ocurrir que existan colisiones que no
se identiquen si no es a traves de la representacion graca 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 los
valores generados corresponden a los espeardos y, adicionalmente, se
puede realizar algun test de independencia de los valores generados.
Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 117

En general, las herramientas comerciales ofrecen herramientas espec-


cas para realizar la vericacion, lo cual constituye una ventaja con res-
pecto a los lenguajes de programacion general a la hora de construir un
modelo.

En el siguiente apartado se muestran algunos ejemplos de vericacion p r


a
modelos sencillos construidos con Witness y, ademas, se comentan las herra-
mientas especcas de este entorno que resultan utiles para la depuracion.

5.3. Ejemplos de vericacion

Los ejemplos que se muestran en este epgrafe 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 vericacion consistente en con-


gurar el modelo con datos de entrada para los cuales se conoce el resultado
teorico.

Un centro de atencion telefonica recibe dos tipos de llamadas: llamadas VIP y


llamadas normales. Los tiempos entre llegadas de dichas llamadas siguen dos
exponenciales, de medias 20 y 1.5 minutos, respectivamente. A medida que
las llamadas llegan quedan en una unica cola.
Existen cuatro operadores de nivel 1 que atienden las llamadas de la cola, de
manera 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 especcos. El tiempo que permane- cen
despues en el sistema sigue una normal logartmica de media 6 minutos y
desviacion tpica 0.5.
Se pide constuir el modelo, realizar una analoga con la teora 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.
Captulo 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 elemento
que representa a los operadores de nivel 1 pueda atender las llamadas
VIP de forma preferente.
La actividad OperadoresNivel1, con cantidad igual a 4, mediante la re-
gla PULL from LlamadaVIP out of LlamadasEnEspera, LlamadaNormal
out of LlamadasEnEspera atienden primero las llamadas VIP y, al nali-zar,
las envan 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, las
llamadas se expulsan del modelo.

Segun la Teora de Colas, si n servidores en paralelo cuyos tiempos de servicio


siguen exponenciales de media atienden a clientes que llegan segun una
exponencial de media , su nivel de ocupacion, , viene dado por la expresion
siguiente:

= (5.1)
n

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 termino
medio, llegan 3 llamadas VIP y 40 llamadas normales, es decir, 43 llamadas en
conjunto. El tiempo entre llamadas (independientemente del tipo) es 43 60
, que
es el valor de para la expresion 5.1. Por otra parte, n = 4 y = 4, por lo que
el tiempo medio de ocupacion esperado sera:

4
= = 71,67 (5.2)
4 60
43

Una posible forma de comprobar si esto es as es la que se ofrece en el archivo


Ejemplo5-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 estado
ocupados) y el otro con el complemento a 100 de dicho valor. En la -
gura 5.2 aparece la ventana de conguracion del diagrama de tarta. Para
generar nuevos sectores es necesario hacer clic en el boton sobre el cual
esta el cursor en dicha gura.

PENDIENTE mejorar calidad imagen


Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 119

Figura 5.2: conguracion del diagrama de tarta

Se han creado nuevos elementos en la representacion del elemento


OperadoresNivel1. El mas importante es el elemento de representacion
de tipo expresion, para representar PUTIL(OperadoresNivel1,2) .

Figura 5.3: tasa de ocupacion de OperariosNivel1

La gura 5.3 muestra el valor de la tasa de ocupacion de Op


ra
e
d
o
sN
re
iv
l1cuando se ha
e
ejecutado el modelo durante un tiempo relativamente grande y, se observa,
que el valor obtenido (71.59 %) es muy proximo al valor esperado segun la
teora de colas (71,67 %).
Captulo 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 podra no seguir una distribucion exponencial. En este
caso, una posible forma de proceder sera modicar el modelo e introducir
distribuciones exponenciales, comprobar que el resultado es correcto para esa
conguracion y, despues, volver a introducir las distribuciones originales. Se
entiende que si los valores son correctos cuando las distribucinoes son expo-
nenciales, la logica del modelo es correcta y los seguira siendo al cambiar las
expresion de los tiempos de servicio y del tiempo entre llegadas de clientes.

5.3.2. Ejemplo 2

Otra manera de vericar el modelo es examinar que eventos y en que instante se


producen cuando se ejecuta el modelo.

Conrmar mediante la Ventana de interaccion que, efectivamente, tal y como


esta programado el modelo, las llamadas VIP se atienden preferentemente.

Una posible propuesta, correspondiente al modelo del archivo Ejemplo5-2


solucion.mod, consiste en los siguiente:

Modicar el codigo en acciones al entrar y en acciones al salir de L la


-
madasEnEspera para registrar y mostrar la cantidad de llamadas de cada
tipo que existe cuando entra y cuando sale, respectivamente, una llama-
da a la cola LlamadasEnEspera.
Ejecutar el modelo Paso a paso
Analizar el resultado en la Ventana de interaccion

La gura 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 aparece
un 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))
ELSE
PRINT "\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


Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 121

El codigo correspondiente a las acciones al salir es de naturaleza similar, con la


unica 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 lneas
diferentes.
PRINT \f borra todo el contenido de la Ventana de interaccion

La gura 5.5 muestra parte de lo que se puede visualizar en la Ventana de Acciones de


interaccion. En el instante 16.73 llega una llamada VIP , entra en LlamadasE- entrada y salida
nEspera y se muestra por pantalla el contenido del este elemento. Como hay
una llamada VIP, esta es la primera que debera salir en cuanto un operador
se desocupe. Efectivamente, en 16.90 el segundo operador queda libre y de las
cuatro 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 ejecucion
del 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

Otra estrategia de depuracion es el analisis detallado de la animacion. En los Ejecucion paso


ejercicios anteriores, se ha hecho uso de las herramientas de caracter gra- a paso
co para mostrar informacion, como por ejemplo, al utilizar un diagrama de
tarta o introduciendo la representacion graca del valor de una variable.
Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 122

A modo de ilustracion, en el archivo Ejemplo5-3.mod se muestra un ejemplo


muy sencillo de una interseccion de carreteras en T, representadas por ele-
mentos de tipo camino. Los coches entran al modelo desde tres localizaciones
en 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 comprobar
que la animacion permite identicar visualmente colisiones entre esos icon os.Una
representacion mas detallada, permitira evaluar esas posbiles colisiones para
casos mas realistas.

5.3.4. Ejemplo 4. Funcionalidades de Witness

En este apartado se presentan algunas funcionalidades adicionales de Witness


que facilitan la vericacion 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 previo
a 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 son
20, 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 la
calidad, 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 caractersticas


del producto. Los productos se transportan a la siguiente area de trabajo en
pales completos de cinco unidades, donde los pales puede estar formados por
productos de diferente tipo.

Una posible forma de representar el sistema descrito es el correspondiente al


archivo Ejemplo5-4.mod, cuyas caractersticas son las siguientes:

Tamano y Calidad son dos atributos de tipo cadena de caracteres, don-


de se registraran las caractersticas 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.
Captulo 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 mnimo e
iguales 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 este
cola 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. El
tiempo de ciclo se obtiene invocando la funcion interior con los va-
lores de los atributos del Producto que se vaa pintar.

Figura 5.6: regla de entrada para Envio

Por ultimo, Envio es una actividad que permite retirar cinco unidades
de Producto cuando estan cinco o mas disponible. Para ello, la Regla de
entrada es PULL from ColaEnvio cuando se cumple IF NENTS (Envio)
+ NENTS (ColaEnvio) >= 5 (ver la gura 5.6).

5.3.4.1. Acciones inmediatas

1. Mostrar en la Ventana de interaccion diferentes valores del tiempo de


ciclo dePintura y comprobar que los valores parecen correctos.

2. Analizar el contenido del cola Secado. En particular, detener el modelo


cuando haya mas de dos productos en este almacen y mostrar en la
Ventana de interaccion el valor del atributo Calidad para el producto
situado en la segunda posicion del cola Secado.

3. Modicar el valor del atributo Calidad del una pieza almacenada en


ColaPintura.

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 gura 5.7. Si esta barra no esta visible, se
puede mostrar haciendo clic en Ver / Barras de Herramientas / Modelo.
Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 124

En el cuadro de texto se puede teclear el codigo de la accion. Al hacer clic en el


icono 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 interaccion


aquello que sigue a dicha expresion. Por ejemplo, al ejecutar Print TiempoPin-
tura(grande,alta) varias veces, se obtiene una secuencia de valores como
los que se muestran en la gura 5.8, que no parecen inconsistentes con los
valores esperados.

Figura 5.8: resultado de la accion Print.

Tambien se pueden utilizar las Acciones inmedaitas para modicar el estad


ode
algun elmento del sistema. Para comprobar esto, se recomienda ejecutar el
modelo hasta que haya, por ejemplo, dos entidades en Secado. La expresion
Nombre Elemento at Numero Entero:Nombre Atributo se reere al valor del
atributo Nombre-Atributo de la pieza situada en la posicion Numero-Entero
del elemento Nombre-Elemento.

En particular, Secado at 2:Calidad se reere al atributo Calidad de la pieza


situada 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 interaccion
el valor de dicho atributo.

Alternativamente, para conocer el contenido de un elemento, se puede utili- print


zar la opcion Examinar. En concreto, haciendo clic con el boton derecho en
cualquier elemento aparece un menu contextual que contiene la opcion Exa-
minar.... Al seleccionar esta opcion para Secado, aparece una ventana con el
contenido de dicho elemento, tal y como aparece en la gura 5.9
Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 125

Figura 5.9: opcion Examinar...

La gura 5.9 muestra el contenido de Secado. Su estado es normal y contie- ne


dos entidades Producto, en las posiciones 1 y 2 respectivamente. Para cada
una de las entidades, se indican, entre otras cosas, los valores de sus
atributos y, entre ellos, Calidad y Tamano.

Por ultimo, mediante las Acciones inmediatas es posible modicar el estado de


algun elemento del modelo. Siguiendo el ejemplo previo, al teclear Secado at
2:Calidad=alta se accede al atributo Calidad de la entidad situada en la
segunda posicion de Secado y se modica su valor para que sea alta.

En denitiva, para obtener informacion del modelo en un determinado in sta


n
tese
puede utilizar la instruccion Print combinanda con las Acciones inmedia- tas
y la Ventana de interaccion. Tambien se puede modicar el estado de los
elementos 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 se
puede escribir en las Acciones inmediatas tiene un lmite, por lo que no sirve
para comprobar el comportamiento de un conjunto de acciones relativamente
grande.

Haciendo uso de las Acciones de usuario imprimir por pantalla los valores de
los atributos Calidad y Tamano de las entidades que estan en Secado.
Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 126

Seleccionando la opcion Modelo / Acciones de usuario se abre una ventana


similar 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 gura 5.10 se mostrara en la Ventanade


Interaccion el contenido de Secado: el numero de entidades y dos de los
atributos de esas entidades, tal y como se puede observar en la gura 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 obtiene


en la Ventana de interaccion cuando se ejecuta el modelo Paso a paso. Esto
se puede hacer de dos maneras, bien haciendo clic en el icono que se muestra
en la gura 5.12 o bien activando la opcion Ejecutar / Registro en archivo

Figura 5.12: activacion y desactivacion de generacion de archivo .trc


Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 127

Al activar esta opcion se solicita el nombre del archivo al que se enviara la


informacion. 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 uidos

Se puede generar un archivo .log en el que se registran todas las mocia-ciones


relativas a las entidades y a los fluidos del modelo. La activacion de esta
opcion tambien se puede hacer de dos maneras, bien haciendo clic en el icono
que se muestra en la gura 5.13 o bien activando la opcion Ejecutar /Registro
de piezas y uidos

Figura 5.13: activacion y desactivacion de generacion de archivo .log.

Operando de forma similar al caso anterior, se puede generar un archivo como


Ejemplo5-4-4.log. Este archivo ofrece la informacion a cada entidad que se
ha generado. La gura 5.14, por ejemplo, muestra la informacion re n
o
sp
-cdiente 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 hasta ser
enviada fuera del sistema en el instante 68.34. Adicionalmente, se indica el
tiempo que ha permanecido en el modelo (que en este caso coincide con el
valor del instante en el que se enva fuera del sistema).

Adicionalemnte, al nal del archivo .log se puede encontrar un resumen de a


l
informacion 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 como


ha evolucionado el sistema y que muestra los diferentes valores que toman
algunas o todas las variables denidas en el modelo.
Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 128

Crear una variable que registre el numero de entidades que se han servido de
tipo calidad alta y tamano grande. Comprobar que representa la proporcion
esperada, dadas las probabilidades con las que llegan ese tipo de productos.

Una posilbe forma de computar la cantidad y la proporcion de entidades de Informacion del


tipo Producto que son grandes y de calidad alta es la siguiente (y que gura en archivo .log
el archivo Ejemplo5-4-5.mod).

Crear dos variables: Contador, de tipo entero, y Proporcion, de tipo


real.
En las acciones al salir de Envio se actualiza Contador si la entidad que
se 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 de


variables, hay que activar esa opcion, bien haciendo clic en el boton de la
gura
5.15 o mediante Ejecutar / Seguimiento. Ademas, es necesario seleccionar las
variables de las cuales se va a realizar el seguimiento, accediendo al fomulario
que se muestra en la gura 5.16.

Figura 5.16: seleccion de las variables para hacer su seguimiento


Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 129

Despues de hacer todo lo anterior se puede ejecutar el modelo durante un


tiempo determinado y se obtiene un archivo como Ejemplo5-4-5.txt, del
que se ofrece un fragmento en la gura 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 programado
correctamente.

A modo de ejemplo, se puede utilizar el depurador para comprobar como se


ejecuta el codigo de la funcion TiempoPintura. Para activar el depurador, es
necesario activar la opcion Detener y abrir depurador al entrar, tal y como
aparece en la gura 5.18.

Figura 5.18: activacion del depurador.


Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 130

Despues de activar el depurador, al ejecutar el modelo, cuando sea invocada la


funcion se motrara un formulario como el de la gura 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 cuales
instrucciones se ejecutan y cuales no. Ademas, se muestran la informacion lo-
cal del codigo que se esta ejecutando, que en este caso son los argumentos
de la funcion Tam y Cal, de manera que, en este caso, se puede comprobar si
el valor devuelto por la funcion es el deseado de acuerdo con los valores de
dichos argumentos. Adicionalmente, se puede realizar el seguimiento de otros
valores

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 veri-
cados es mediante el uso de modulos, que, una vez vericados, se pueden
reutilizar bien en un mismo modelo o bien en diferentes modelos.

Crear un modulo con Pintura, Secado, ColaEnvio y Envio y duplicar estos ele-
mentos.
Captulo 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 boton
como el de la gura 5.19. A continuacion, Witness solicita el nombre del n
u
e
- vo
modulo. En el archivo Ejemplo5-4-7.mod a este modulo se le ha dado el
nombre 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 modulo
identico al anterior, pero con un nombre distinto, PinturaSecado01, como se
muestra en la gura 5.21.

Figura 5.21: elementos de la simulacion tras clonar el modulo.

Los modulos se pueden almacenar como archivos de tipo .mdl, anadirlos al


conjunto de elementos predenidos y reutilizarlos en nuevos modelos dond
eese
modulo forme parte de los elementos predenidos. Se recomienda consular la
ayuda de Witness para conocer las diferentes maneras de crear y gestionar
modulos.

5.3.4.8. Documentor

Uno de los aspectos mas importantes para mantener un modelo bien verica-
do es disponer de una buena documentacion del mismo. Como se ha podido
comprobar, el codigo de un modelo de Witness aparece en diferentes elemen-
tos y, dentro de cada elemento, en diferentes ventanas. El modulo Documentor
permite recopilar toda esta informacion de manera sistematica en un archivo
de texto .rtf.
Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 132

Figura 5.22: ventana para congurar el informe .rtf

Para ello, se puede acceder al menu (Modelo / Documentor...) y aparece una


ventana como la de la gura 5.22. El informe que se genera puede c on
n
te
r
informacion de caracter general, como el nombre del modelo, las notas, las
acciones de inicializacion, etc. y tambien informacion relativa a cada uno de los
elementos. De cada uno de los elementos del modelo, se puede elegir documen-
tar diferentes aspectos, como las caractersticas generales (pestana General de
la conguracion), 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.
Captulo 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 en
este libro. A continuacion se citan algunas tecnicas para mejorar la validez de
losmodelos construidos (para mas detalle, consultar Law).

Es necesario recopilar informacion de calidad y de las fuentes adecua- Conguracion


das. En ocasiones esto puede signicar hablar con las personas que tra- del informe
bajan en el sistema estudiado. Por ejemplo, para conocer el detalle de la
operacion de un stock intermedio en una lnea de montaje, puede ser
muy interesante preguntar al encargado de esa operacion en la propia
planta. En otras ocasiones, sera necesario preguntar a los gestores del
sistema en cuestion.
Cuando la informacion no esta disponible puede ser adecuado tomar me-
didas de la operacion del propio sistema o revisar literatura existente al
respecto, 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 esto
sea as, los objetivos estaran mejor denidos, se dispondra de acceso a
mas y mejor informacion, etc.

Es muy valioso explicitar las hipotesis del modelo y documentarlas de


forma 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, es
posible que alguno de ellos identique asunciones no validas. Como es
posible que diferentes personas programen el codigo, de esta manera se
evitan inconsistencias en el desarrllo del modelo. Igualmente, cuando se
modica un modelo previamente desarrollado, conviene tener p re
snte
stodas
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 pueden
realizar tests sobre los valores correspondientes a dichos fenomenos.
Por otro lado, para aspectos relativamente importantes del modelo es
interesante realizar un analisis de sensibilidad. Por ejemplo, el analisis
de sensibilidad se puede referir al nivel de detalle. Si se representa un
conjunto de procesos qumicos, se puede discretizar el problema y re-
presentar todo el uido en paquetes de determinado volumen. El
analisis
Captulo 5. VERIFICACION Y VALIDACION DE MODELOS 134

de sensibilidad permitira obtener un tamano adecuado de los paquetes


sin un consumo de recursos de computacion demasiado elevado.

Cuando el modelo esta nalmente construido hay que analizar los e -r


sultados nales con detalle. Es posible constrastar los resultados del
modelo con datos historicos del mismo. Para esta tarea es adecuado ali-
mentar al modelo con datos historicos, y comparar los valores de las
variables 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 resultados
con expertos, conocedores del comportamiento de sistemas parecidos al
estudiado o, incluso, comparar los resultados de ese modelo con el de
otros de naturaleza parecida y que hayan sido validados previamente.

La animacion puede ser de gran utilidad para realizar el estudio, ya que


puede permitir observar la evolucion del modelo y que las personas que
pueden contribuir a la validacion del modelo dispongan de mas informa-
cion.

Por ultimo, la credibilidad de un modelo consiste en la conanza que depositan


en ese modelo las personas responsables de tomar decisiones. Queda fuera del
alcance de este texto discutir en profundidad como construir modelos crebles,
aunque es una tarea de gran importancia. Algunas de las pautas relativas a la
validacion tambien contribuyen positivamente a la credibilidad de un modelo.
Por ejemplo, la implicacion de los directivos o la aprobacion por parte de algun
experto con credito para los directivos pueden concederle mas credibilidad
al modelo. Por ultimo, conviene senalar que un modelo podra ser tanto mas
creble cuanto mas valido sea, aunque no existen garantas de que un modelo
perfectamente validado resulte creble.

5.5. Resumen

Los procesos de vericacion y validacion garantizan, respectivamente, que u n Validacion


modelo de simulacion esta bien programado y que un modelo representa de
forma adecuada el sistema estudiado para los objetivos propuestos. Existen
diferentes tecnicas, algunas de las cuales se han presentado brevemente en
este captulo. En particular, se han mostrado algunos ejemplos de vericacion
y se han presentado las herramientas mas importantes de las que dispone
Witness para realizar las tareas de vericacion.

Un modelo bien vericado y validado se pueden explotar para ayudar a a l Tecnicas para la
toma de decisiones. Para ello, es necesario realizar el analisis de las variables validacion
de salida de forma rigurosa, que es a lo que se dedica el captulo siguiente.
Captulo 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 construido


y alimentado con datos de entrada correctos, es posible realizar la explotacion
del modelo. Realizar el analisis de comportamiento de las variables de salida
de forma correcta es especialmente importante, ya que de ese analisis depen-
deran las decisiones que se adopten. El proposito mas frecuente de un estudio
de simulacion suele ser analizar el comportamiento de un sistema (para una
conguracion determinada) o comparar dos o mas conguraciones a i- vas para
rn
lte
dicho sistema. En este captulo se trata el primer caso, y en el captulo 7 se
aborda como realizar la comparacion de alternativas.

Durante la simulacion, para reproducir el comportamiento del sistema estu- Es necesario


diad se usan valores aleatorios de las variables de entrada, que siguen distribu- analizar con
ciones conocidas (por ejemplo, la frecuencia de llegada de clientes a un banco rigor los datos
puede seguir una exponencial). Los resultados de la simulacion dependen de de salida
estos valores y, debido a ello, las variables de salida tambien son aleatorias
pero con el inconveniente de que en este caso no se conoce su distribucion.

Existen dos errores que se cometen con frecuencia en relacion con la naturale- Dos errores
za estocastica de los sistemas que se analizan mediante simulacion. El primero comunes
consiste en analizar el comportamiento durante un solo periodo de tiempo, es
decir, realizar una sola replicacion. Por ejemplo, sera erroneo extraer conclu-
siones sobre el funcionamiento de un puerto mediante en analisis del modelo
durante un solo mes. Los datos correspondientes a ese mes pueden no ser re-
presentativos. Es necesario realizar varias replicaciones y obtener informacion
signicativa a patir de ellas. El segundo error consiste en realizar la experi-
mentacion de forma poco rigurosa y estadsticamente erronea. Por ejemplo, si
existe correlacion entre los datos obtenidos en una replicacion y los datos de
la anterior, en analisis que se propone aqu no tiene validez y las conclusiones
pueden ser equivocadas.
Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 136

En primera aproximacion, se puede caracterizar una variable aleatoria median- Caracterizacion


te un valor puntual acompanado de un intervalo de conanza que mida e l de un sistema
error de esta estimacion. Tambien se pueden realizar analisis de otra naturale-
za para caracterizar aspectos diferentes del valor esperado para las variables
de salida, como, por ejemplo, la probabilidad de que ocurra un determina- do
fenomeno (la probabilidad de que se produzca, por ejemplo, un rotura de
stock).

A lo largo del resto del captulo se presenta como realizar el analisis de una Estructura del
alternativa. En primer lugar, en la seccion 6.2 se presenta la diferencia entre captulo
le regimen permanente y el regimen transitorio. En la sigiente seccion, 6.3, se
describen los tipos de simulacion atendiendo al tipo de analisis que requiere
cada una de ellas: las simulaciones con terminacion, cuyo analisis se presenta
con detalle en la seccion 6.4 y las simulaciones sin terminacion, a las que se
dedica la seccion 6.5. En la seccion 6.6 se proponen dos ejemplo, uno para
cada tipo de simulacion. Finalmente, se resumen las ideas mas importantes
del captulo en la seccion 6.7.

6.2. Regimen transitorio y regimen estacionario

Para ilustrar el concepto de regimen permanente, vamos a emplear un ejemplo Comportamiento


sencillo. Imaginemos una lnea de montaje de electrodomesticos. Una variable de las variables
de salida para en un estudio de simulacion de dicha lnea podra ser la produc- de salida
cion de electrodomesticos. Podramos, en particular, considerar las variables
de salida Yi como el numero de productos nalizados 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 i


no es un valor determinista. Dado que la evolucion del sistema depende
de fenomenos aleatorios, la produccion en cada hora no se puede deter-
minar de forma inequvoca. Sin embargo, s que existe una funcion de
distribucion para las variables Yi , FYi (y) = p(Yi y).
Siempre existen condiciones inciales del sistema, I. Para este ejemplo, las
condiciones iniciales podran ser: el contenido de la lnea al comienzo de
la simulacion, el tiempo restante hasta la siguiente avera de cada una
de las maquinas, etc. La produccion horaria dependera de las condicio-
nes iniciales del sistema durante un determinado periodo de tiempo. En
efecto, si la lnea esta inicialmente vaca, la produccion correspondiente
a las primeras horas sera menor que si esta llena.
Tpicamente, 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) = FYi1 (y), lo que siginica que el comportamiento de la
variable de salida se ha estabilizado. Es decir, la funcion de distribu-
cion de la variable de salida no cambia. Esto no siginica que el valor d ela
variable de salida ya no se modique. Para cada valor de i, una vez
Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 137

estabilizado el comportamiento de Y , se obtendra un posible valor de


acuerdo con la funcion de distribucion FY (y)

{PENDIENTE: poner figura con evolucion de las Fs y referencia a ella en el texto}

En los sistemas en los que, efectivamente, el comportamiento de las variables Regimen


se estabiliza a partir de un cierto instante, se puede distinguir entre el regi- transitorio y
men transitorio y el regimen permanente. El regimen transitorio es el tiempo regimen
durante el cual las funciones de distribucion de Yi cambian con el tiempo. El permanente
regimen permanente se alcanza una vez que dichas variables aleatorias ya no
se modican con el tiempo. El regimen transitorio s depende de las condicio-
nes iniciales. El tiempo en el que se tarda en alcanzar el regimen permanente
depende 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 regmenes transitorio y estacio-


nario dependen del tipo de simulacion. En este sentido, existen dos tipos de
simulacion: simulacion sin terminacion y simulacion con terminacion.

Una simulacion con terminacion es aquella en la que el nal de la misma Simulaciones


esta denido por un evento interno que sucede en t = TE y, por lo tanto, con terminacion
tiene una duracion denida en el intervalo temporal [0, TE ]. Tpicamente, tras
este instante el sistema es devuelto un estado determinado, a partir del
cual vuelve a comenzar a operar. Por ejemplo, la operacion de la sucursal
de un banco puede ser una simulacion terminacion, donde al nal de cada
joranada el banco se vaca y al da siguiente se comienza de nuevo con la
sucursal vaca.

Por otro lado, una simulacion sin terminacion es aquella en la que no hay Simulaciones sin
un evento que marque el n de la misma y en la que el inicio tampoco suele terminacion
una parte representativa del mismo. Las simulaciones sin terminacion pueden
ser de tres tipos. Con regimen permanente, en las que, como se ha comentado
antes, el comportamiento de las variables de salida se estabiliza y a partir de
cierto instante ya no vara. Con regimen permanente periodico, en que se
puede observar un comportamiento cclico de las variables de salida. Otros
tipos en los que no se puede hablar de ningun regimen permanente ni cclico.

En este texto nos ocuparemos de las simulaciones sin terminacion y las simi-
luaciones con terminacion y con regimen permanente.
Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 138

Los problemas especcos de los que depende el analisis de las simulaciones Analisis de las
con terminacion son dos: establecer las condiciones inciales y caracterizar las simulaciones
variables de salida. conn
terminacion
Condiciones inciales. Para obtener resultados ables, es necesario repre-
sentar, con la herramienta de software correspondiente, las condiciones
iniciales a partir de las cuales opera el sistema.
Estimacion de media y de otros parametros. Tpicamente, en un primer
analisis se obtiene una estimacion de la media de la variable de salida
estudiada y un intervalo de conanza para la misma. Por supuesto, e s
pueden realizar analisis mas amplios.

En el caso de las las simulaciones sin terminacion, los problemas son los si- Analisis de las
guientes. simulaciones sin
terminacion
Estimar cuando se ha alcanzado el regimen permanente para deterim-
nar cual es el tiempo de calentamiento durante el cual se debe correr el
modelo 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 dos
alternativas.

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 una


empieza 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 este
tipo de simulaciones.

6.4.1. Estimacion de parametros

Generalmente, la primera forma de caracterizar un sistema es mediante la esti- Estimacion de la


macion del valor esperado (media) de la variable de salida estudiada, Y . Rea- media
lizando n replicaciones independientes, se obtiene una muestra y1 , , yn
cuya 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
Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 139

obtenido a partir de una muestra nita de valores, se desconoce como de cer-


ca esta Y (n) de Y . Por este motivo conviene acompanar a este valor de un
intervalo de conanza cuya expresion es:
, ,
Y (n) t n1,1/2 S2(n) S 2 (n)
, Y (n) + t n1,1/2 (6.1)
n n

,n ,n 2

y S2 = (yiY(n)) Intervalo de conanza


donde Y (n) = i =1 yi i=1
n n1
p
ar
la media
La probabilidad de que Y este contenido en el intervalo anterior es cercana
a 1 (tanto mas cuanto mas cerca este Y de una distribucion normal). En
general, se obtienen mejores resultados con variables que siguen una distribu-
cion simetrica y con valores de n altos (consultar el captulo 3, de repaso de
estadstica).

Cuanto mayor es el nivel de conanza, 1 , mayor es la amplitud del inter- Obtener una
valo que acompana al valor puntual y, por lo tanto, menor la precision de la precision
estimacion de la variable deseada. Explicado de otra manera, para un determi- concreta
nado numero n de observaciones de la variable de salida, cuanto mayor es la
amplitud del intervalo mayor sera la probabilidad de que dicho intervalo con-
tenga, efectivamente, a la media. Para aumentar esta precision, o lo que es lo
mismo reducir la amplitud del intervalo para un determinado, existen dos
alternativas:

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 descrito
en el captulo 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

El error en la estimacion de la media es = |Y (n) Y |, po


,r lo que el error Numero de
S2 (n)
absoluto maximo de la estimacion de la media es tn1,1/2 . En efecto, replicaciones
para obtener un

si la media pertenece al intervalo de conanza dado por la expresion 6.1, en


el peor de los casos, el error maximo se comete si la media Y es igual a uno error absoluto
de los dos extremos del intervalo, en cuyo caso, el error cometido al estimar la maximo
media con Y (n) es igual a la semiamplitud del intervalo. Por lo tanto el numero
de replicaciones necesarias, na(), para obtener un error absoluto maximo en
la estimacion, :

,
na() = min i n tal que ti1,1/2 S 2 (n)
(6.2)
i
Captulo 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
,
ti1,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 como
el de la expresion 6.1

La precision de 6.2 depende de la efectividad de S 2 (n) como estimador de


V ar (Y ), por lo que n debe ser sucientemente alto.

Estimacion de la media con un determinado error relativo maximo

Alternativamente se puede perseguir un intervalo de conanza con un eror Numero de


relativo maximo, que viene dado por la expresion Y (n) tiene un error relativo replicaciones
, donde . .
.Y (n) Y . / |Y | = . Para encontrar el numero de replicaciones para obtener un
. .
necesarias para obtener esa precision se calcula: error relativo
, 2
S (n)
maximo


t


na() = min i n tal que
i1,1/2 i (6.3)
Y (n) 1

El proceso para obtener una estimacion de Y , con un error relativo y un


nivel de conanza 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 conanza:
, ,
Y (n ()) t S2(na()) ()) + t S2(na())
, Y (n
a na()1,1/2 na()1,1/2
na() a 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. Por
ejemplo, si se analiza el funcionamiento de una cola, puede interesar, ademas
del tiempo medio de espera, conocer en profundidad como se distribuye esa
espera: la probabilidad de que el tiempo en cola supere un valor concreto, la
tasa de ocupacion de los puestos de servicio, etc. En otro caso, por ejemplo,
puede ser interesante conocer la probabilidad de que un pedido se rechace
porque el sistema de fabricacion este saturado.
Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 141

Aunque queda fuera del alcance de este texto revisar en profundidad este tipo Estimacion del
de analisis, a continuacion, a ttulo ilustrativo, se comenta un ejemplo. Para parametro de
estimar la probabilidad p de que una variable Y tome algun valor dentro del una distribucion
intervalo B, es decir, P (Y B) basta con realizar n replicaciones independien- binomial
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 segun
una binomial de parametros p y n. El valor de p y su intervalo de conanza
asociado (con un nivel 1 ) se estima mediante las expresiones:

S
p =
n

, ,
p z p(1 p) p(1 p)
1/2
n , p z 1/2 n
(6.4)

donde z1/2 es la probabilidad de que una variable que se distribuye segun


un normal estandar sea menor que 1 /2.

6.4.2. Eleccion de las condiciones iniciales

Como se indica en la seccion 6.3, la eleccion de las condiciones iniciales es El problema de


una parte importante en el analisis de simulaciones con terminacion, ya que establecer las
el comportamiento durante el regimen transitorio es relevante para el analisis. condiciones
En algunos casos las condiciones iniciales estan bien denidas y su eleccion iniciales
no constituye un problema. En ejemplo de la sucursal bancaria, al comienzo de
cada jornada no hay clientes ni en las colas de espera ni en los puestos. Pero
en otros casos esta eleccion no es tan sencilla. Por ejemplo, si se pretende
estudiar el funcionamiento de la ocina bancaria solo entre las doce del
medioda y el cierre de la misma. A continuacion se explican dos metodos
para la eleccion de las condiciones iniciales, ilustradas con el ejemplo
anterior.

El primero de ellos consiste en comenzar la simulacion desde un esta- Comenzar


do previo conocido y ejecutar el modelo hasta el instante a partir del desde un estado
cual se desea realizar el analisis del modelo. En el ejemplo del banco, previo conocido
se simulara desde la apertura de la ocina hasta el cierre, pero solo
se tendran en cuenta los tiempos de espera a partir las 12:00 pm. Este
metodo presenta dos desventajas: la primera de ellas es el coste de un
tiempo de simulacion ya que el modelo corre durante un tiempo solo
para que este las condiciones iniciales adecuadas a partir del instante
inicial del periodo que se desea analizar; la segunda desventaja es que
no ofrece garantas de que el estado a partir del cual comienza la toma
de datos sea representativo de las verdaderas condiciones iniciales del
sistema.
Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 142

El segundo metodo consiste en recoger datos del estado de las variables Reproducir el
en el sistema real y modelar las condiciones iniciales a partir de las dis- estado inicial a
tribuciones de probabilidad que mejor se ajusten a los mismos. De este patir de datos
modo, las condiciones iniciales de cada replicacion vendran determina- historicos
das por variables aleatorias independientes. Aplicandolo al ejemplo, se
tratara de tomar muestras en el sistema del numero de clientes a las
12:00 pm, e intentar ajustar estos datos mediante una funcion de proba-
bilidad para, posteriormente, al iniciar cada replicacion generar valores
de dichas variables con los cuales congurar el estado inicial del
modelo.

6.5. Analisis de los datos de salida de simulaciones sin termi-


nacion

En las simulaciones sin terminacion, las condiciones iniciales y la duracion de El problema del
la simulacion no son relevantes para la evaluacion del comportamiento del tiempo de
sistema y, generalmente, interesa el comportamiento durante el regimen esta- calentamiento
cionario. En estos casos, hay que aislar la parte de la simulacion perteneciente
al 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 variable
de salida es diferente en el regimen transitorio con respecto al estacionario, la
estimacion obtenida tiene un sesgo respecto al verdadero valor esperado du-
rante el regimen estacionario. Independientemente de las condiciones iniciales
elegidas, pasado un tiempo, la simulacion converge al regimen estacionario sin
afectar al valor esperado, aunque el tiempo que tarda en converger s depende
de las condiciones iniciales. Por lo tanto, es necesario identicar el regimen
transitorio y ejecutar el modelo durante un periodo de tiempo hasta que el
comportamiento de la variable de salida (y en particular su valor esperado) se
estabilice. Cuando se alcanza este momento, a partir del estado en el que se
encuentra el modelo, se comienza la toma de datos de las variables de salida
para el analisis del sistema. El tiempo durante el cual hay que correr el modelo
antes de tomar datos se conoce como tiempo de calentamiento del modelo.

Si se denomina Y(j) a la variable aleatoria que caracteriza el comportamiento Expresion


de la variable de salida Y en el j-esimo valor observado en la simulacion, el matematica del
objetivo es encontrar: problema
Y = lm E(Y(j) )
j

Si se dispone de un conjunto de m valores de la variable de salida Y ,


y(1) , , y(m) , correspondientes a los instant.
es 1, 2, , m,
,
estimar el valor
m
y(j)
de Y a patir de la media de todos esos valores Y (m) = es claramen-
j=1

m
te erroneo ya que existen observaciones que pertenecen al regimen transitorio
y, por lo tanto, no corresponden a valores de la variable aleatoria Y una vez su
comportamiento de ha estabilizado.
Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 143

Un estimador menos sesgado que el anterior consistira en eliminar todos


aquellos valores que pertenecen al regimen transitorio. Es decir, obtener el
siguiente estimador, donde l representa el conjunto de observaciones que per-
tenecen al regimen permanente:
,m
Y (m, l) = j=l+1 y(j) (0 l m 1)
ml
Y (m, l) es un estimador de Y menos sesgado que Y (m) al haber eliminado las
observaciones dependientes de condiciones iniciales. El problema del tiempo
de calentamiento consiste, entonces, en determinar l, es decir cuanto tarda el
sistema en alcanzar aproximadamente el regimen estacionario.

Convierte senalar, que la eleccion de un valor demasiado elevado para l se Errores en el


traduicira en una menor eciencia de computacion, ya que se descartaran calculo del
valores de la variable de salida que s pertenecen al regimen permanente, con lo tiempo de
que se estara empleando un tiempo de computacion mayor del estrictamente calentamiento
necesario para obtener un estimador de la media. Por otro lado, la eleccion de
un valor de l demasiado pequeno hara que el estimador fuera sesgado, que
es, precisamente, lo que se trata de evitar. Por ello, es importante disponer de
una tecnica que permita obtener un valor de l sucientemente grande como
para evitar el incluir observaciones del regiment tansitorio pero sin incurrir
en elevados tiempo de computacion.

6.5.1. Calculo del tiempo de calentamiento

El metodo de Welch es un metodo sencillo, de caracter graco, que pe rm


ite El metodo de
determinar el tiempo de calentamiento. En general, es difcil determinar l ya Welch
que, a pesar de que con la evolucion de la simulacion E(y(j) ) Y , cualquier
muestra analizada y(1) , y(2) , esta compuesta por valores aleatorios y esta
tendencia, generalmente, no se aprecia de forma ntida (ver gura 6.1).
Captulo 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, en


vez 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 la
replicacion i-esima (i = 1, , n y j = 1, , m). El metodo de Welch consta
de cuatro pasos:

1. Realizar n replicaciones (n 5) de longitud m, donde m debe ser grande


en relacion al valor esperado de l.
2. Obtener:
,n
y(j) = i=1 yi(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 V ar (Y (j)) = V ar (Y(j))/n.

3. Para alisar las oscilaciones de alta frecuencia de y (1) , y (2) , (pero


manteniendo la tendencia de su evolucion) se dene la media movil
y (j) (w) como:
,w , si j = w + 1, ,m w,
s=w y (j+s)

y(j)(w) = s
1 (6.5)
,j 2w+1
s

=(j1) y (j+s) , si j = 1, ,w
2j1

4. Representar Y (j)(w) para j = 1, 2, ,m w y darle a l el valor de j


para el que la serie y (1) (w), y (2) (w), parezca converger (ver gura
6.3).
Captulo 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 graca de una media movil (w = 20).

Al aplicar este metodo es recomendable: Recomendaciones


para el metodo
Realizar 5 o 10 replicaciones con m mucho mayor que el valor previsto
de Welch
para l. En particular, m debe ser lo bastante grande para permitir que
ocurran eventos poco frecuentes (p.e. averas en las maquinas).
Representar Y (i)(w), aumentando el valor de w hasta que la curva apa-
rezca razonablemente lisa. A partir de esta graca elegir l.
Si no se encuentra ningun w que alise la graca lo suciente, a
tr el
n
e
m
u
numero de replicaciones y repetir el proceso desde el paso 2.

El principal inconveniente de este metodo es que el numero de replicaciones


necesarias para elegir l puede ser relativamente alto si la variable Y presenta
mucha variabilidad. A esto hay que sumar que la eleccion de l no se realiza de
una manera objetiva.
Captulo 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 mayor
longitud. A continuacion se presentan estas dos alternativas.

Multiples replicaciones

Una primera forma de obtener estimacion de parametros consiste en lo que


se denomiena metodo de replicacion/eliminacion, que consiste en realizar n
replicaciones independientes de longitud m, descartando la parte correspon-
diente al tiempo de calentamiento en cada una de ellas. Los datos restantes se
analizan como en el caso de simulaciones con terminacion (ver apartado 6.4).
Suponiendo que se realizan n replicaciones de longitud m cada una (donde m
es mucho mayor que l), se dene yi como:
,m
j=l+1 yi(j)
yi =
ml

con i = 1, 2, , n, entonces E(yi ) Y y para dar una estimacion acom-


panada de un intervalo de conanza al (1 ) para la variable de salida se
emplea la siguiente expresion:
, ,
2 2
Y (n) t n1,1/2 S (n) , Y (n) + t n1,1/2 S (n) (6.6)
n n

donde Y (n) y S 2 tiene la misma expresion que en 6.1.

{PENDIENTE. Cambiar figura, que ponga Y mayuscula}


Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 147

Figura 6.4: estimacion de parametros en simulaciones sin terminacion. Metodo


de multiples replicaciones.

Replicacion unica

En el metodo de replicacion unica solo se hace una replicacion pero con un


tamano 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 se
analizan de la misma forma que en el metodo replicacion/eliminacion. Por lo
tanto, la duracion total de la replicacion es l + k m (ver gura 6.5). Como
ventaja, solamente hay que eliminar un tiempo de calentamiento que tiene la
misma duracion que el eliminado en cada una de las replicaciones anteriores.

{PENDIENTE. Cambiar figura, que ponga Y mayuscula}


Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 148

Figura 6.5: estimacion de parametros en simulaciones sin terminacion. Metodo


de replicacion unica.

La dicultad de este metodo se encuentra en la eleccion de m, por la sig u


ie
n
terazon. El inconveniente
Dado que el comienzo de cada conjunto de datos esta obtenido a partir de la de realizar una
situacion en la que quedo el modelo despues del conjunto de datos inme- unica
diatamente anterior, existe correlacion entre los valores de la variable de salida replicacion
de un lote y del inmediatamente anterior. Cuanto mayor es el valor de m, mas
debil es la correlacion, de manera que para valores relativamente grandes, la
correlacion es despreciable y el analisis propuesto es valido. El problema con-
siste, por lo tanto, en escoger un valor de m sucientemente elevado para que
la correlacion no sea apreciable pero no tan elevado como para que el esfuer-
zo computacional resulte ineciente. Para obtener mas informacion acerca de
como elegir k se recomienda consultar Banks, 2000.

6.6. Ejemplos de aplicacion

A continuacion se proponen dos ejemplos. En el primero, se estima la media y


la probabilidad de que una variable de salida tome valores dentro de un
determinado intervalo. En el segundo se calcula el tiempo de calentamiento
para un sistema dado.
Captulo 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 de


simulacion sin terminacion

Una sucursal bancaria abre a las 9:00 de la manana y cierra sus puertas a
las 14:00, pero la sucursal no termina el servicio hasta que son atendidos
todos los clientes que estan dentro en el momento del cierre. La ocina
tiene tres puestos de servicio: dos cajas, donde se atienden las operaciones
mas rapidas, y una mesa, donde se llevan a cabo los servicios de mayor
importancia que, ademas, requieren mas tiempo. Los clientes se pueden
agrupar 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 un
intervalo de conanza al 90 % con un error relativo maximo para la
estimacion 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 conanza al
90 %.

Para resolver el ejemplo, inicialmente se realizan 20 replicaciones del modelo,


y a partir de S 2 (n) de esta muestra se calcula el numero total de replicaciones
necesarias para conseguir la precision pedida. Con los valores de la variable
de salida obtenidos se estima el valor esperado del tiempo de espera, acom-
panado de su intervalo de conanza. Para completar el ejemplo se calcula la
probabilidad de que en un da concreto haya clientes esperando a ser servidos
a la hora de cerrar las puertas.

Para seguir la resolucion del ejemplo se recomienda trabajar sobre los siguien- Planteamiento
tes cheros:

Ejemplo1-1.mod: contiene el modelo del sistema en Witness.


Ejemplo6-1.xls: es la hoja de calculo donde se propone resolver el
ejemplo.
Ejemplo6-1 experimento1.xpt: archivo preparado para obtener 20 re-
plicaciones independientes.
Ejemplo6-1 experimento2.xpt: archivo preparado para obtener las re-
plicaciones adicionales.
Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 150

Ejemplo6-1 solucion.xls: muestra como debe quedar la hoja de


calculo una vez resuelto el ejemplo.

El experimento Archivos
El primer paso es abrir el modelo Ejemplo1-1.mod. Se compone, principal- disponibles
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 atender
al 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 modelo


Al realizar el experimento, se vuelcan los informes del experimento en un ar-
chivo csv (en este caso Ej611.csv, tal y como esta congurado el archivo xpt).Tal y
como esta congurado el modelo, en este csv de salida solo se guardan los
informes de dos elementos: la cola y la variable Tcierre.
Captulo 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 buers, 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).

El tiempo medio que los elementos entidad pasan en un elemento tipo cola Contenido del
se almacena en la columna numero 13 del archivo de salida csv. Esta infor- archivo csv
macion se utiliza para obtener el tiempo medio que los clientes pasan en la
cola 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 300
minutos (columna 9 del chero csv).
Captulo 6. ANALISIS DE DATOS DE SALIDA. ANALISIS DE UNA ALTERNATIVA 152

El analisis estadstico

Se recomienda seguir los siguientes pasos:

1. Importar el archivo Ej611.csv en la primera hoja del chero (Datos


Obtener datos externos / Importar datos ...) de manera que el primer dato
/
quede 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 como
separador 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 orden
creciente 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 el
cociente 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 cociente ti1,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, si
la varianza se mantiene, es suciente realizar un total de 25 replicacio-nes:
2
ti1,0,95 (S (n)/i)
i Y(n)
21 0.194
24 0.180
25 0.176

6. Realizar cinco nuevas replicaciones (cargando el experimento


Ejemplo6-1 experimento2.xpt ) y repetir los pasos anteriores. Con
cuatro replicaciones podra ser suciente, ya que para n = 24, e
s
alcanza exactamente el valor de 0.18, pero con animo conservador se
realiza una replicacion adicional a las que en teora son estrictamente
necesarias. 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 con
el requisito establecido en terminos del error relativo maximo admitido.

1 A la hora de calcular t
n1,1/2 hay que tener en cuenta que los parametros de esta funcion
en Excel son DISTR.T.INV(,grados de libertad)
Captulo 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 estadstico del ejemplo 6.1.


Segun el analisis realizado, con un 90 % de probabilidad, el valor esperado para
el 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 queden


clientes por servir a las 14:00. Si en una replicacion el valor de la variable
Tcierre es mayor que 300 minutos (tiempo transcurrido desde las 9:00 a las
14: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 anteriores
en la hoja Probabilidad cierre. En segundo lugar, se calcula el numero de
veces que Tcierre>300 (funcion de Excel CONTAR.SI(B8:B68;>300)). Segun
la expresion 6.4 se obtiene:
S 9
p

, = =
= 0,36
25 ,
n
p(1 p) 0,36 0,64
p z1/2 = 0,36 1,64 = 0,36 0,16
n 25

Se estima que la probabilidad de que en un da el banco cierre mas tarde de las Probabilidad de
14:00 se encuentra en el intervalo [0,20, 0,52], con un 90 % de probabilidad. queden clientes
a las 14h

La funcion en Excel para calcular z0,95 es DISTR.NORM.ESTAND.INV(0.95).


Captulo 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 un


pequeno taller de fabricacion. El taller consta de un centro de mecanizado y
un centro de inspeccion colocados en serie como muestra la gura 6.6. Se sabe
que los pedidos llegan a la fabrica con un tiempo entre llegadas que sigue una
distribucion exponencial de media 1.3 minutos. El tiempo de procesado en el
centro de mecanizado puede aproximarse mediante una distribucion unifor-
me en el intervalo [0,65, 0,7] minutos, mientras que el tiempo necesario para
inspeccionar 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 veces se
avera. El tiempo entre cada dos averas consecutivas sigue una distribu- cion
exponencial de media 6 horas. El tiempo de reparacion es uniforme en el
intervalo [8, 12] minutos. Si el centro de mecanizado esta procesando una
pieza cuando ocurre una avera, esta se termina de mecanizar cuando acaba
la reparacion.

A partir de los datos anteriores se pide proporcionar un intervalo de conan- za


al 95 % que contenga el valor esperado del numero de piezas producidas por
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 de
horas l que hay que dejar pasar para superar el regimen transitorio. Una vez que se
conozca l, se puede estimar el valor esperado de la variable de salida acompanado de
un intervalo de conanza.
Captulo 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 csv
de 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 una
vez resuelto el ejemplo.

El experimento Planteamiento

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 y
j = , 160). A partir de esa muestra se obtendran los valores de y (j) y, nalmente,
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 chero Ej62.csv. Importar dicho
archivo a la hoja CSV del archivo Ejemplo6-2.xls.

(a) Datos / Ordenar (b) Datos / Filtro / Autoltro

Figura 6.7: ordenar y ltrar los datos del ejemplo en Excel.

Calculo del tiempo de calentamiento: metodo de Welch Archivos


disponibles

1. Ordenar los datos de la hoja CSV primero por el instante al que corresponden
los datos (columna D) y despues por replicacion (columna C), como en la gura
6.7(a).
Captulo 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 (ver
ayuda de Witness para achivos csv corresondientes a entidades). La columna C
de la hoja Tiempo de calentamiento debe contener la produccion de entidades
de tipo pieza cada hora para cada una de las replicaciones. Por ejemplo, el rango
C4:C13 debe contener la produccion de entidades durante la primera hora para
las diez replicaciones (C4 contendra la produccion para la primera hora de la
primera replicacion y C13 contendra la produccion para la primera hora de la
decima replicacion). Igualmente, el rango C14:C23 contendra la produccion de
entidades 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 cada


hora j, del numero de piezas producidas en las 10 replicaciones (y(j) ). De esta
manera se obiene la media para los grupos de valores correspondientes a los
rangos C4:C13 (primera hora, j = 1), C14:C23 (segunda hora), C24:C33 (tercera
hora), etc.

4. Filtrar las celdas no vacas (gura 6.7(b)) y copiar los 160 valores y(j) en la
columna G.
5. Calcular, segun la expresion 6.5, la media alisada del conjunto y(j) aumentando
w hasta apreciar con claridad el paso de regimen transitorio a estacionario. En
concreto, tomar w = 5, w = 10 y w = 15. y representar gracamente dichos
valores (gura 6.8).

Figura 6.8: medias alisadas para w = 5, w = 10 y w = 15.

A patir del graco correspondiente a y (j) (15) (w = 15) se puede admitir que tras 25
horas para que el sistema ha alcanzardo el regimen permanente. Es decir, l = 25.

2 funcion en Excel =SI(B5=B4;;PROMEDIO(C5:C14))


Captulo 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 una


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

Lmite sup. H3-H6 59.07

Lmite inf. H3+H6 60.08

Cuadro 6.2: resultados del analisis estadstico del ejemplo 6.2.

Como conclusion del analisis, el valor esperado del numero de piezas que se producen
por 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. Existen


diferentes formas de caracterizar el comportamiento de sistema. Uno de los aspectos
mas importantes es estimar el valor esperado de las variables de salida y construir un
intervalo de conanza para dicho valor. Exiten dos tipos de simulacion que requieren
annalisis especcos: las simulaciones con terminacion (en las que hay que determinar
las condiciones iniciales de la simulacion) y las simulaciones sin terminacion (para las
cuales, si existe un regimen permanente, es necesario estimar el tiempo de calenta-
miento).

Este capitulo se ha dedicado al analisis de una conguracion. En otras ocasiones, es


necesario comparar el comportamiento de un sistema para diferentes conguraciones, que
es a lo que se dedica el captulo 7.
Captulo 7

ANALISIS DE DATOS DE SALIDA.


COMPARACION DE VARIAS ALTERNATIVAS

7.1. Introduccion

En el captulo anterior se ha explicado la importancia de completar el estudio de simu-


lacion de un sistema con un analisis estadstico para extraer conclusiones correctas.
En este captulo se explica como llevar a cabo ese analisis cuando se comparan varios
sistemas con el objetivo de identicar el mejor. Este tipo de estudios tienen una gran
importancia ya que una de las utilidades de la simulacion es ayudar a tomar la decision
de 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 de
salida, elegir el que tenga mejor respuesta. Pero, al igual que sucede en el caso de es-
tudiar una conguracion unica, la salida de estos modelos es un fenomeno estocastico
y no hay garantas de que la alternativa elegida por este metodo sea la adecuada.

En este captulo se presentan varios metodos para resolver problemas de compara-


cion de conguraciones alternativas. En la seccion 7.2 se trata el caso de comparar dos
alternativas mediante el intervalo de conanza de la diferencia de sus variables de salida.
En la seccion 7.3 se discute como hacer la comparacion cuando se tienen mas de 2
alternativas. Estos conceptos se ponen en practica en la seccion 7.4 median- te la
resolucion de dos ejercicios sencillos. Para nalizar el captulo, se proponen 2
problemas acompanados de su solucion.

7.2. Comparacion de dos conguraciones alternativas

En esta seccion se explica como comparar dos alternativas suponiendo que se evalua
su 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 segunda
alternativa). La comparacion se hace a partir de una nueva variable aleatoria, Z, de-
nida como la diferencia de la variable de salida en las alternativas 1 y 2, Z = Y1 Y2.
1 cuando se quiere estudiar el comportamiento de mas de una variable simultaneamente, el
problema se conoce como decision multicriterio y su resolucion se escapa del objetivo de este
texto. Para mas informacion se recomienda consultar la referencia Law, 2001
Captulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 159

El problema de comparar las dos alternativas consiste entonces en calcular el signo


de E(Z) = = 1 2. Construyendo un intervalo de conanza para esa variable se
considera que existe una diferencia signicativa entre ambas conguraciones si d h
ic
o
intervalo no contiene al cero.
A continuacion se explica detalladamente este proceso suponiendo que se trata
de un modelo de simulacion con terminacion (ver seccion ??). En el caso de que
interese el comportamiento en estado estacionario se procede de forma similar pero
teniendo en cuenta el problema del tiempo de calentamiento de cada conguracion
por separado.

NOTA: Y1 e Y2 son variables aleatorias que representan un fenomeno a lo largo


de una replicacion completa. Por ejemplo, y1i puede ser el tiempo medio de espera de
los barcos que quieren amarrar en un puerto a lo largo de un da (considerando que
la duracion de cada replicacion es de un da), pero no el tiempo que tiene que esperar
un unico barco.

En caso de querer comparar dos conguraciones que se representan mediante modelos de


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 cada
modelo.

2. Calcular (z1 , , zn ), donde zi = y1i y2i .

3. Construir un intervalo de conanza para a partir de (z1, , zn):


,
S2(n)
z(n) t n1,1/2 (7.1)
n
donde:
,n ,n
zi [zi z(n)]2
z(n) = i=1
y S2(n) = i=1
n n1

Si Z esta normalmente distribuida, la probabilidad de que este contenido en este


intervalo es de (1 ); en el resto de casos esta probabilidad se aproxima para valores
altos de n (teorema central del lmite, 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 diferente
es de 1 . En este caso se considera que la diferencia es signicativa y segun su
signo 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 de


conanza de su diferencia. Pero es frecuente encontrar problemas donde se barajen
mas de dos alternativas y en este caso el proceso de seleccion es mas complejo.
Captulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 160

Una manera intuitiva de resolver el problema es hacer varios intervalos de conanza


comparando todas las alternativas dos a dos. Pero este metodo tiene una limitacion: si
se forman k intervalos de conanza Is para las variables s, donde el nivel de conanza en
cada uno de ellos es s, puede demostrarse que la probabilidad de que se cumplan
todos simultaneamente esta limitada por la desigualdad de Bonferroni:

.
k
P(s Ispara todos = 1, 2, , k) 1 s (7.2)
s=1

Por lo tanto si queremos que el nivel de conanza asociado a k intervalos sea al


menos 1, el nivel de conanza de cada intervalo particular se debe elegir de
manera que se
,k
cumpla s=1s = . Si se toma el mismo valor para todos ellos, s = /k. Por ejemplo,
suponiendo que se quieren comparar 5 alternativas mediante este metodo es necesario
hacer 10 intervalos Iij (donde i y j representan las alternativas comparadas). Para
conseguir que el nivel de conanza de la eleccion sea 90 %, es decir que la probabilidad
de que se cumplan simultaneamente todos los Iij sea del 90 %, y considerando que se
toma el mismo nivel de conanza:
0, 1
10 ij = = ij = = 0, 01
10

por lo que el nivel de conanza de cada intervalo individual es 99 %. El resultado esque


los intervalos son mas amplios y posiblemente no signicativos, ya que es mas
probable que contengan a 0. Esto hace que este metodo sea poco aconsejable.

A continuacion se exponen dos metodos: el primero de ellos para comparar varios


sistemas respecto a uno que se considera la referencia, y el segundo para seleccionar
la 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 su


rendimiento con una de ellas que se toma como referencia (por ejemplo, porque es
la que actualmente existe y se estudia la posibilidad de reemplazarla por otra del
conjunto). En este caso, y siempre que k no sea muy grande, se puede aplicar el metodo
anterior construyendo k 1 intervalos de conanza para las diferencias 2 1 ,3
1 , k 1 . Teniendo en cuenta la ecuacion 7.2, para que la probabilidad de que
todos ellos se cumplan simultaneamente sea al menos 1 , el nivel de conanza de
los intervalos individuales debe ser 1 /(k 1). La interpretacion de los resultados
obtenidos es la siguiente: si ningun intervalo contiene el valor 0, la probabilidad de
que todas las alternativas sean signicativamente diferentes a la de referencia es al
menos 1 . Por el contrario, si el intervalo Ii contiene el valor 0 se puede decir que
no existe diferencia signicativa entre la alternativa i y a la de referencia.

Otra forma de aplicar este metodo, ademas del caso en el que se quiera contrastar
posibles alternativas frente a una existente, es comparar varias alternativas tomando
como 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-
cativamente diferente al resto.
Captulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 161

7.3.2. Clasicacion y seleccion de la mejor alternativa

Hasta ahora se ha explicado como comparar varias alternativas entre s cuando el


numero de opciones disponibles es mayor de dos. El objetivo de esta seccion es mas
ambicioso: se expone un metodo para elegir la mejor alternativa de k posibles con un
nivel de conanza determinado.

Sea Yji la variable de interes de la alternativa j en la replicacion i y sea j = E(Yji ). Planteamiento del
Para aplicar este metodo es necesario que los valores Yji se hayan obtenido a partir de metodo
replicaciones 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 partir
de una muestra sea la correcta, pero si es posible jar una probabilidad de aciertoP .
Del mismo modo, no tiene sentido complicar en exceso los calculos para discernir que
alternativa es la mejor si la diferencia entre las 2 mejores es muy pequena. Por
tanto es aceptable jar un d tal que si la alternativa elegida es 1, la diferencia entre
esta y cualquier otra no supere dicho valor (es decir, i 1 d para todo i). En resu-
men, aplicando este metodo se puede armar que, con probabilidad P , la diferencia
de las medias de la alternativa elegida y la mejor del conjunto no supera el
valor d.

El metodo se estructura en dos etapas claramente diferenciadas: en la primera, a Aplicacion


partir de los resultados de n replicaciones, se busca el numero de replicaciones
necesarias para elegir una alternativa. En la segunda se realizan las replicaciones
adicionales necesarias y, a partir de una media ponderada de los resultados de las
replicaciones de las dos etapas, se elige la mejor. A continuacion se enumeran los
pasos para aplicarlo.

Primera etapa

1. Realizar n0 replicaciones independientes de las k alternativas y calcular la media


y la varianza de cada muestra obtenida:
,n0 ,n0
yji [yji y (1)(n0 )]2
j j
j
y (1)(n0 ) = S2(n) =
i=1 i=1
y
n0 n0 1

Se recomienda que como mnimo n0 = 20.

2. Calcular el numero total de replicaciones, Nj , necesarias para llevar a cabo la


seleccion: . , 2 2 ,
h 1Sj (n0)
Nj = max n0 + 1, (7.3)
(d)2
donde Jx] 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

2 Aunque esta ultima suposicion parezca un problema no lo es en realidad ya que no es muy

sensible ante pequenas variaciones


Captulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 162

1. Realizar las Nj n0 replicaciones que faltan para alcanzar Nj y calcular su


media:
,Nj
i=n0+1
N (7.4)
jY (Nj n0 ) =
(2)
j n
Yji
0
2. Calcular los pesos Wj 1 y Wj 2 para i = 1, 2, , k:
, .
.
n0 . Nj (Nj n0 )(d )2
Wj1 = 1+ 1 1 (7.5)
Nj n0 h21S2j (n0)

Wj 2 = 1 Wj 1 (7.6)

3. Calcular la media ponderada de cada alternativa:

Xj (Nj ) = Wj 1 Y (1)j(n0) + Wj 2 Y (2)(N


j j 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 del
estudio de simulacion. Logicamente, cuanto mayor sea P y menor d mayor sera el
coste de computacion pero mejores los resultados obtenidos.
Captulo 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 internalizar el


servicio de mantenimiento de sus vehculos. El ingeniero responsable del
proyecto, despues de recoger toda la informacion necesaria y analizar el pro-
blema, considera dos posibles soluciones para el taller de reparaciones (gura
7.1):
1. Un puesto de inspeccion y dos de reparacion.
2. Dos puestos de inspeccion y uno unico de reparacion.
La llegada de vehculos al taller se puede modelar mediante una distribucion
exponencial de media 1 hora. El tiempo medio de inspeccion de cada autobus
se aproxima a una distribucion uniforme entre 0,5 y 1,1 horas mientras que
el 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 vehculos
que se revisan necesitan alguna reparacion, mientras que el resto sale del
taller sin ser sometidos a ninguna otra operacion. Todas las colas siguen una
disciplina FIFO.

Dado que el coste de un centro de inspeccion y de uno de reparacion


es muy parecido, se decide seleccionar la alternativa en la que el tiempo
medio que los vehculos pasan en el taller sea menor. Si fuese el encargado
de tomar la decision, que alternativa elegira?

Figura 7.1: conguraciones alternativas para el taller del ejemplo 4.1

La variable de salida es el tiempo medio que cada vehculo pasa en el siste- Planteamiento
ma una vez que la simulacion alcanza el estado estacionario. Para resolver el
problema, 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 el
cuadro 7.1. La resolucion del problema consiste, basicamente, en obtener un
intervalo de conanza (en este caso al 99 %) de la diferencia de la variable de
salida en cada modelo, Y1 e Y2.

El ejemplo se desarrolla siguiendo los siguientes archivos:


Captulo 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: caractersticas 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 calentamiento
de 120 horas.
Ejemplo4-1 solucion.xls : muestra como debe quedar la hoja de
calculo 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 conguraciones
alternativas. Estos valores se obtienen del informe del elemento Autobus del
archivo de salida CSV de la simulacion. Se deben seguir los siguientes pasos:

1. Abrir el modelo de la primera alternativa, Ejemplo4-1a.mod , y cargar


el experimento Ejemplo4-1 experimento.txt (Model / Experiment
/ Open).
Captulo 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 / Dene / 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 / Columna
B) y copiarlos en el lugar correspondiente de la hoja Comparacion de
alternativas.

5. Repetir el proceso para la segunda conguracion (Ejemplo4-1b.mod).

Analisis estadstico

1. Calcular, en la hoja Comparacion de alternativas, la diferencia de los


valores 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 del
intervalo 99 % F6*RAIZ(F5/60) 0,07

Lmite superior F4+F7 0,61

Lmite inferior F4-F7 0,75

Cuadro 7.2: resultado de la comparacion de las dos alternativas. El analisis es


signicativo.

Segun este analisis, el valor esperado de la variable Z = Y1 Y2 se encuentra en


el intervalo (0, 61, 0, 75) con una probabilidad del 99 % y su estimacion puntual
es = 0, 68 . Como el objetivo es elgir la alternativa con menor valor esperado
y segun este analisis, conviene poner en funcionamiento la segunda alternativa
(2 centros de inspeccion y uno de reparacion).
Captulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 166

7.4.2. Ejemplo 4.2: comparacion de varias conguraciones 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 averas y en la actualidad un unico mecanico
se encarga de las reparaciones de todas las maquinas. El tiempo que cada
maquina funciona sin tener una avera puede aproximarse a una distribucion
exponencial de media 8 horas y la duracion de una reparacion se asemeja a
una exponencial de media 2 horas.
El mecanico encargado de las reparaciones ha sugerido a su superior que el
coste de mantenimiento se reducira 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 decide
hacer un estudio de simulacion para comparar la respuesta del sistema cuan-
do vara el numero de mecanicos, hasta un maximo de 4. Se considera que los
unicos costes de mantenimiento son el coste por parada de las maquinas (55
/hmaquina) y el coste de la mano de obra de reparacion (10/horamecani-
co). Se pide hacer un estudio de simulacion para averiguar cual es el numero
optimo de mecanicos para minimizar dicho coste.

En este caso, se consideran 4 conguraciones alternativas donde la unica Planteamiento


diferencia entre ellas es el numero de mecanicos. Al igual que en el ejercicio
anterior interesa el comportamiento durante el estado estacionario y para ello
basta con tomar un tiempo de calentamiento de 200 horas (se deja su calculo
como ejercicio). El coste de mantemiento, que es la variable de salida que hay
que comparar, se calcula de la siguiente manera:

Y = Tpar ada 55 + Thor as nmecanicos 10

En primer lugar, se compara el sistema actual de un solo mecanico con el resto


de alternativas mediante intervalos de conanza individuales (apartado 7.3.1).
Despues se utiliza el metodo explicado en 7.3.2 para clasicar las a rn
lte
tiv
asy
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 de
calculo anterior una vez resuelto el ejemplo.
Captulo 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 de
calculo 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 la
conguracion 1.
Ejemplo4-2b experimento2.txt : Preparado para obtener las replica-
ciones adicionales en el metodo de seleccion de una alternativa de la
conguracion 2.
Ejemplo4-2b experimento3.txt : Preparado para obtener las replica-
ciones adicionales en el metodo de seleccion de una alternativa de las
conguraciones 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-


ca la propiedad Quantity del elemento mecanicos. En la variable T p
a
rd se
almacena el numero total de horas que las maquinas han estado paradas
debido a una avera una vez superado el tiempo de calentamiento, que es el
unico valor que se extrae de cada replicacion.
Captulo 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 de


mecanicos 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, y


4).

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 aumentar el
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 la
repercusion en el coste de mantemiento. Los siguientes pasos son:

1. Calcular el coste de mantenimiento de cada replicacion en la columna


y1i . Por ejemplo, para la y11 , el coste de mantenimiento (expresado en
miles 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, y


4) para obtener el coste de mantemiento en el resto de conguraciones
(y2i , y3i e y4i ).

Analisis estadstico

La comparacion se realiza sobre la diferencia de las alternativas (2, 3 y


4) 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.
Captulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 169

2. Realizar para cada una de estas diferencias un intervalo de conanza al


97 %, de manera analoga al ejemplo anterior. Los resultados se presentan
en el cuadro 7.3.

Funcion Excel alternativa 1 z2i z2i z2i

z(n) PROMEDIO(M13:M32) -14,15 -8,26 -0,44


2
S (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-longitud M6*RAIZ(M5/60) 0,07 0,98 0,98


del intervalo 99 %

Lmite superior M4+M7 0,61 -9,24 -1,42

Lmite 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

Los dos primeros intervalos no contienen al cero y son negativos por lo que se Conclusion
puede decir que hay una mejora signicativa al tener un total de 2 o 3
mecanicos en plantilla. Por otro lado, con estos datos no se pude armar que
exista una diferencia signicativa entre el sistema actual y tener 4 mecanicos.

NOTA: la probabilidad de que se cumpla cada una de las armaciones


anteriores por separado es del 97 % mientras que la probabilidad de que se
cumplan conjuntamente es del 90 %.

SELECCION DE LA MEJOR ALTERNATIVA

Con el metodo anterior se sabe que el coste de mantenimiento al contratar


mas mecanicos se reduce, pero no permite elegir entre tener 2 o 3 mecanicos.
Dado que el coste de mantenimiento ronda los 60.000 , parece suciente o t-
mar d = 1,000; para P se elige 90 %. A continuacion se aplica el metodo de
seleccion 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 del


archivo Ejemplo4-2b.xls .
Captulo 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) Sj2(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 h12. 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 :

h21 S j2 (n0 )


(d)2

Para cada alternativa, Nj toma los siguientes valores:

2 2
1 j
j n0 (d)2
h S (n
j replicaciones adicionales

1 21 )0 131,55 N 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-2b
experimento4.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 coste


de mantenimiento como se hizo en para las 20 replicaciones originales.

3 la funcion de EXCEL MAX(n1; n2; ) devuelve el valor maximo del conjunto n1, n2,
4 para calcular Jx] puede emplearse, entre otras, la funcion MULTIPLO.SUPERIOR(x;1)
Captulo 7. ANALISIS DE DATOS DE SALIDA. COMPARACION DE VARIAS ALTERNATIVAS 171

Segunda etapa

1. Calcular las medias de las nuevas observaciones:

j y (j2)(Nj 20)
1 69,96
2 55,21
3 58,75
4 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


o
n mec. y (i1) (20) S2(20) Ni y (i2)(20) W1i W2i yi
i
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

Como se aprecia en el cuadro 7.4, la mejor opcion es tener en plantilla 2 Conclusion


mecanicos (con una probabilidad del 90 %).
Captulo 8

DISENO DE EXPERIMENTOS Y SUPERFICIES


DE RESPUESTA

8.1. EL MODELO HA CAMBIADO Y HAY QUE REPETIR TODA LA


EXPERIMENTAICON Y CAMBIAR IMAGENES Y TODO

8.2. Introduccion

Un estudio de simulacion se puede realizar para evaluar un conjunto de alter- Naturaleza de


nativas ya conocidas. Por ejemplo, para el diseno de una gasolinera se pueden las alternativas
estudiar varias conguraciones para la disposicion de los surtidores y de lo s
productos que se sirven en cada uno. En estos casos, el analisis que se debe
realizar debe ser conforme lo que se ha presentado en el captulo 7.

Sin embargo, en otros estudios las alternativas pueden estar menos claramen-
te denidas. Por ejemplo, puede ser interesante estudiar cual es el tamano de
lote de transferenciamas ventajoso en un taller, es decir, el numero de piezas
que componen cada lote, de tal manera que hasta que no se procesan todas
las piezas de ese lote en una parte del taller, no se enva el conjunto a la si-
guiente etapa. Pueden existir, de hecho, diferentes factores que condicionan el
comportamiento del sistema. En este caso, el interes puede ser buscar un con-
junto de valores para dicho parametros que de lugar a un comportamiento del
sistema sucientemente bueno (si no el mejor). Sin embargo, evaluar todas las
posibles combinaciones de todos los factores puede ser computacionalmente
inviabel, por el elevadsimo numero de alternativas. En este captulo se pre-
senta, primero, una metodologa para evaluar la inuencia de los parametros,
para conocer si su inuencia es signicativa (diseno de experimentos), y, des-
pues, una forma de obtener un modelo del propio modelo de simulacion para
poder precedir el comportamiento del modelo y elegir una buena combinacion
de factores (supercie de respuesta).
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 173

Cuando se realizan disenos de experimentos, se habla de factores y de res- Factores


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 factores
generalmente se reeren 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 podra ser un parametro (por ejemplo, puede ser interesante
realizar un analisis de sensibilidad y evaluar el comportamiento del sistema
frente a diferentes valores de la demanda).

En una lnea de montaje, un factor puede ser el tamano de los stocks interme- Ejemplos
dios; el un centro de atencion telefonica, el numero de teleoperadores de los
que se dispone en cada nivel; en un supermercado, la disciplina de colas que
se adopta en las cajas.

Por otra parte, la respuesta del sistema es el valor que toma la variable de Respuestas
salida considerada. Cuando existen varios factores que pueden condicionar la
respuesta del sistema, el objetivo es evaluar el efecto de estos factores para
alcanzar una combinacion de sus valores que ofrezca una buen valor de la
respuesta.

Cuando solo hay un parametro que modicar, evaluar su efecto pasa por e j- Un solo
cutar el modelo para cada uno de los posibles valores de ese parametro (o para parametro
un conjunto de valores) y emplear las tecnicas presentadas en el captulo 7.

Cuando existen mas de dos parametros, factores de ahora en adelante, una Varios factores
posible estrategia podra consistir en jar el valores de todos los parametros
menos uno, Fi . A continuacion, modicar el valor de Fi y evaluar si tiene un
impacto signicativo sobre la respuesta del sistema. Este enfoque tiene dos
deciencias:

primero, es muy poco eciente, porque si el numero de factores es relati-


vamente algo, el numero de combinaciones que hay que estudiar es muy
alto y hace que el analisis sea computacionalmente inviable;

segundo, este analisis solo permite evaluar el efecto de la modicacion


de cada factor por separado, pero no evalua las interacciones. Por ejem-
plo, aumentar la plantilla o aumentar la capacidad de la maquinaria en
una planta, por separado, no permitan aumentar la produccion, pero al
hacerlo de forma conjunta s se obtenga un incrementos signicativo.

En el siguiente epgrafe se presenta una manera de salvar estas dos d e


in
c
- cias,
mediante el diseno de un conjunto de experimentos que permiten, de
forma mas eciente, estudiar el efecto de cada uno de los factores y, tambien,
el de sus intreacciones.
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 174

8.3. Disenos factoriales

En este epgrafe se explica como realizar un disneo factorial 2k . Existen otros


disenos de experimentos mas complejos, que quedan fuera del alcance de este
texto.

Para realizar el diseno de experimentos, se siguen los siguientes pasos: Procedimiento


general
1. Se identifcan k factores y se seleccionan dos niveles para cada unos de
ellos. 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 2 k. En un entorno determinista,
bastara con calcular una vez la respuesta para cada combinacion. En
un modelo de simulacion con fenomenos estocasticos es necesario reali-
zar varias replicaciones (n) para cada combinacion. Por ejemplo, Para un
estudio con tres factores, la tabla 8.3 muestra todas las posibles combi-
naciones.

3. Se identica 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 Rc
1 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 de


las respuestas Rc, con c = 1, ..., 2k obtenidas al realizar los diferentes expe-
rimentos. Primero, se admitira que el sistema es determinista, con lo cual la
respuesta que se obtiene al analizar una determinada combinacion de factores
es siempre el mismo. Despues se extiende la metodologa al caso estocastico.
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 175

El efecto principal del factor Fi, que se denota por ei, mide el efecto en la Efectos
respuesta al modicar modicar el factor Fi del nivel al nivel +, mientras el principales
resto de factores mantienen sus niveles. En particular, los valores de e1, e2 y e3
vendran dado por la expresiones 8.1

(R2 R1) + (R4 R3) + (R6 R5) + (R8 R7)


e1 =
4

(R3 R1) + (R4 R2) + (R7 R5) + (R8 R6)


e2 = (8.1)
4

(R5 R1) + (R6 R2) + (R7 R3) + (R8 R4)


e3 =
4

Existe una forma sencilla de computar los efectos principales con ayuda de la Regla sencilla
tabla 8.3. Por ejemplo, si se reordenan los terminos que aparecen en e1 en la
expresion 8.1, se puede obtener la expresion 8.2, en la que cada respuesta
aparece con el signo con el que aparece el nivel del F1 en dicha tabla.

R1 + R2 R3 + R4 R5 + R6 R7 + R8
e1 = (8.2)
4

Existe la posiblidad de que la inuencia de un factor Fi dependa del nivel de Interacciones


otro factor Fj , es decir, que exista interaccion entre ellos. La interaccion entre ij
estos dos factores se calcula como la diferencia entre el efecto del factor Fi
cuando Fj esta en su nivel + y el efecto del factor Fi cuando Fj esta un su
nivel , 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 las
expresiones 8.3.


1 (R4 R3) + (R8 R7) (R2 R1) + (R6 R5)
e12 =
2 2 2


1 (R6 R5) + (R8 R7) (R2 R1) + (R4 R3)
e13 = (8.3)
2 2 2


1 (R7 R5) + (R8 R6) (R3 R1) + (R4 R2)
e23 =
2 2 2

De nuevo, existe una forma sencilla de computar estos efectos. En la tabla 8.3 Regla sencilla
se muestran tres nuevas columnas, en particular, aparece una nueva con la
cabecera F1 F2 , donde, para combinacion de factores aparece el producto del
signo 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
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 176

8.4 que es la misma que se obtendra ordenando la que aparece en 8.3

R 1 R 2 R 3 + R 4 + R5 R 6 R 7 + R 8
e12 = (8.4)
4

Cuadro 8.2: Tabla para construir los efectos principales y ls interacciones de


los factores para un diseno factorial 23

Combinacion c F1 F2 F3 F1 F2 F1 F3 F2 F3 F1 F2 F3 Rc
1 + + + R1
2 + + + R2
3 + + + R3
4 + + + R4
5 + + + R5
6 + + + R6
7 + + + R7
8 + + + + + + + R8

Por ultimo, para este ejemplo, se puede evaluar el efecto de la interaccion de Interacciones
los tres factores, que se dene como la semidiferencia entre la interaccion d e ij k
los factores F1 y F2 cuando el factor F3 esta en su nivel + y la interaccion de
los factores F1 y F2 cuando el factor F3 esta en su nivel , tal y como se puede
ver en la expresion 8.5.


1 (R8 R7) + (R6 R5) (R4 R3) + (R2 R1)
e123 = (8.5)
2 2 2

Reorganizando la expresion anterior, se puede comprobar que los signos de la Regla sencilla
columna F1 F2 F3 permiten reconstruir de forma sencilla la expresion e123 ,
asignando a cada termino Rc el signo que indica aquella columna.

R1 + R2 + R3 R4 + R5 R6 R7 + R8
e123 = (8.6)
4

En este ejemplo solo hay tres factores, de manera que no existen interacciones Mas
de nivel superior. Sin embargo en disenos con 4, 5, etc factores se podran de- interacciones
nir de forma analoga y evaluar, todas y cada una de las posibles interacciones.
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 177

Tpicamente, en un modelo de simulacion cada vez que se calcula Rc para una Caracter
combinacion de factores se obtiene un valor dierente. La forma de abordar un aleatorio de Rc
estudio con respuestas estocasticas es la siguiente.

1. Realizar n replicaciones para cada combinacion de factores. As Rcn sera


la 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 un
diseno 23 y realizando 10 replicaciones (k = 3, n = 10), se obtendran 10
valores e1r :

R1r + R2r R3r + R4r R5r + R6r R7r + R8r


e1r = (8.7)
4
Eso mismo se podra 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 conanza con un determinado nivel de conanza. La expresion
corresponde
al intervalo ,
para el mismo efecto principal F1 .
,
e (n) t S2 (n)
, e (n) t S 2 (n)
e1 e1

1 (8.8)
+
n1,1/2 n1,1/2
1 n
n
donde:

.
n
e1(n) = e1r
,n r=1
(8.9)
(e1r e1 (n))2
e1
r =1
S2 (n) =
n1
.
En el siguiente apartado se propone un ejercicio para elaborar un diseno de
experimentos con dos factores para una poltica de gestion de stocks.
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 178

8.4. Ejemplo 1

Una empresa mayorista sirve productos a sus cliente, que son minoristas. La
empresa compra productos a un proveedor, los almacena, y de ah sirve a sus
clientes.
La demanda diaria agragada para todos los minoristas sigue una distribucion
uniforme entre 240 y 260 productos.
El Lead time del proveedor sigue una lognormal de media 2 das y desviacion
tpica 0.5.
Existe relacionados con la gestion de stocks para atender la demanda son los
siguientes.
Coste unitario de stock o de almacenamiento: 1 unidad monetaria (um)
por unidad de producto (up) y por da.
Coste de carencia 10 um por unidad de producto no servido.
Coste de emision de un pedido: 250 um.
d
La demanda no atendida en un da determinado se pierde, es decir, la empresa
no entrega productos con retraso.
La poltica que se quiere evaluar consiste en pedir un lote de productos al
proveedor cuando el stock disponible, que es la cantidad de productos en el
almacen mas la cantidad de productos pendientes de recibir, cae por debajo
de un determinado nivel. Las diferentes formas que puede adptar esta poltica
se caracteriza mediante los dos parametros siguientes:
el tamano de pedido, Q y
el nivel de reaprovisionamiento, s, que es el valor tal que cuando el
stock 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.

Para realizar este analisis, se recomienda el uso de lo siguientes archivos: Material


disponible
Ejemplo8-1.mod, que contiene un modelo para representar la poltica
estudiada,
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 de
las diferentes combinaciones de factores.
Captulo 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 graca se


muestra en la gura 8.1, esta contruido de la siguiente manera:

En primer lugar, existen dos variables de tipo entero: s y Q que son los
parametros del modelo, los factores del diseno de experimentos.

Dos piezas, Producto y NoServido, representan, respectivamente, las


unidades de producto servidas y las unidades de producto no servidas.

El buffer Stock representa el stock fsico del que dispone la empresa.


Desde este buffer se retiran los productos para atender la demanda y
es adonde llegan los productos que entrega el proveedor.

La Maquina Clientes reproduce el comportamiento de la demanda. Ca-


da da genera un valor de la demanda. Y con ese valor, trata de reti-
rar unidades de producto de Stock. Cuando no hay sucientes, obtienepiezas
NoServido de WORLD. Al nal 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 que
hay en StockProveedor cae por debajo del valor de s, se lanza un pedido
de tamano Q, que Proveedor genera y empuja hacia StockProveedor.

Ademas, existen todos las variables para calcular los costes de cada
tipo y el coste total y las variables correspondientes a los valores de la
demanda y del lead time.

Para representar la evolucion del stock fsico y del stock disponible, hay
un histograma que se actualiza cada da simulado.

Por ultimo, en Acciones de inicializacion es donde se da valores a los


parametros y donde se genera el primer valor de Demanda.
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 180

Figura 8.1: representacion graca correspondiente al modelo.

Para computar los costes, se calculan los tres costes: carencia, emision y alma- Computo de los
cenamiento como con el codigo de la gura . En particular: costes

El coste de almacenamiento (CosteStock) se calcula como sigue. El pro-


ducto del numero medio de Productos en Stock por el valor de TIME es
igual 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 por
el 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 de


piezas 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 una
pieza de tipo NoServido.

El coste de emision se calculan como el producto de las veces que se ha


realizado un pedido (que es igual al numero de ciclos de la maquina
Proveedor por el coste unitario de emitir un pedido.

El coste total se actualiza cada da calculando la suma de los tres costes


anteriores.

Figura 8.2: codigo para el computo de los costes.


Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 181

8.4.2. Experimentacion

Si el problema fuera determinista, se puede demostrar (PENDIENTE, buscar Estimaciones


referencia) que el tamano de lote optimo, Q es igual a la siguiente expresion: preliminares
,
2 D CE CA + CC (8.10)
Q =
CA CC

Si el problema fuera determinista con los valores medios, entonces D = 250. Estimacion de Q
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 optimo
sera, redondeando, Q = 331.

Por otro lado, si el lead time del proveedor fuera determinista e igual a 2 das, Estimacion de s
el nivel de reaprovisionamiento sera igual a la demanda correspondiente a ese
periodo, es decir, s = 2 250 = 500.

Para determinar el efecto de los factores s y Q, se pueden estudiar dos valores Niveles de s y Q
para cada factor, uno inferior y otro superior al valor teorico que se habra
obtenido en el caso no estocastico. Estos valores se muestran en el cuadro
8.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 combinaciones


de 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 Rc
1 + R1
2 + R2
3 + R3
4 + + + R4
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 182

En primer lugar, como se trata de un modelo de simulacion sin terminacion, Tiempo de


hay que calcular en tiempo de calentamiento. Se deja al lector como ejercicio calentamiento y
que lo calcule. Empleando el metodo de Welch, se comprueba que un tiempo de longitud de las
calentamiento de 60 das es suciente para alcanzar el regimen p rm
e a
n
e
n
. Con
te replicaciones
respecto a la longitud de las replicaciones, es razonable estudiar los costes
asociados a un periodo de un ano. Con ello, cada replicacion tendra un tiempo
de calentamiento de 60 das y una duracion (una vez alcanzado el regimen
permanente) de 365 das.

Lo primero que hay que hacer es realizar un conjunto de diez replicaciones Replicaciones
(n = 10) para cada una de las combinaciones de factores. Para eso hay que
hacer los siguiente:

1. Abrir el archivo Ejemplo8-1.mod, y modicar las Acciones de in


-cion para
lz
ca
jar los valores deseados de s y Q.

2. Abrir el libro Ejemplo8-1.xls y seleccionar la hoja Experimentos y


superficie.

3. Abrir (si no esta ya abierto) el archivo de experimentacion Ejemplo8-1


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


cada replicacion y copiarla en las celdas con fondo azul del libro de Excel,
en la la que corresponda segun la combinacion de factores estudiada.

Imagenes del xls PENDIENTE

A continuacion, hay que calcular los efectos principales y la interaccion de Calculo de es ,


los dos efectos para las diez replicaciones, para lo cual se puede usar zona eQ y eSQ
sombreada de color amarillo. En la gura , por ejemplo, se han introducido las
formulas, de manera que los valores 63,55, 41,67 y 22,71 se calculan a
partir 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.
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 183

Figura 8.3: calculo de los efectos para cada replicacion

Una vez que se dispone de los valores de los efectos para cada replicacion, se Intervalos para
puede calcular un intervalo de conanza para cada uno de ellos, como e s es, eQ y eSQ
muestra en la gura 8.4. Para ello, de la misma manera que en el captulo 6, se
calcula estiman la media y la varianza, se establece un nivel de c
o
n
a
n
z
ay se obtiene
la semiamplitud del intervalo, con lo que, nalmente, se pueden calcular los
extremos superior e inferior del intervalo.

Figura 8.4: intervalos de conanza para los efectos

Los intervalos que se han obtenido para los efectos principales y para la inter- Analisis de
accion de los dos factores son: resultados

es (68,78, 53,51)
eQ (43,20, 16,74) (8.11)
esQ (10,89, 6,59)

Se puede concluir que cuando s que existe PENDIENTE. Intepretacion


Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 184

Cuidado con PENDIENTE

8.5. Supercies de respuestas

Como se ha mostrado en los apartados anteriores, con el diseno de experi- Un metamodelo


mentos se puede evaluar si el efecto de los factores (F1, F2, ..., Fk) y los efectos
de sus interacciones sobre la respuesta del modelo (R) son signicativos o no.
Un paso mas puede consiste en disponer de un metamodelo: un modelo que
relacione el valor de los factores con el valor de la respuesta del modelo de
simulacion, de la forma E[R] = (F1 , F2 , ..., Fk )

Con un metamodelo bien construido es posible Optimizacion

1. predecir el comportamiento del sistema para diferentes valores de los


factores (especialmente interesante cuando el la ejecucion de un modelo
lleva mucho tiempo) y
2. buscar los valores de dichos factores que proporcionen un valor optimo
de la respuesta.

A partir del diseno de experimentos con dos factores a dos niveles del ejemplo Modelo de
anterior, se puede construir un primer modelo de regresion de primer orden regresion
de la siguiente forma:

E [R(s, Q)] = 0 + sxs + QxQ + sQxsx Q (8.12)

Donde las variables xs y xQ se denen de la siguiente manera:

2(s s)
xs = s
2(Q Q) (8.13)
xQ =

y s y Q representan, respectivamente, la media corresondiente a los dos niveles


para el factor s y el factor Q; y s y Q representan, respectivamente, la

diferencia entre los dos valores de los factores s y Q.

Las deniciones de xs y xQ son tales que cuando s y Q toman, respectivamente


el 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 y
xQ toman el valor 1
Captulo 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 la


respuesta es funcion de los valores de s y Q:

2(s s) 2(Q Q) 2(s s) 2(Q Q) (8.14)


E [R(s, Q)] = 0 + s s + Q Q + sQ s Q

Se puede demostrar que los mejores estimadores de los valores de 0, s, Q Estimadores


y sQ son los siguientes (ver Montgomery [?]):

0 = RF (n)
es(n)
s =
2 (8.15)
eQ(n)

Q =
2
esQ(n)
sQ =
2

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 realizar
n replicaciones. RF (n) es el valor medio de la respuesta para todas las combi-
naciones y para las n replicaciones.

El metamodelo anterior es un modelo de regresion de primer orden. Sin em- Validez de la


bargo, no existen garantas de que la supercie se ajuste bien al verdadero supercie
comportamiento de la respuestas dentro de los valores correspondientes a los
niveles y + de los factores. Para comprobar si, efectivamente, la aproxima-
cion es valida, una alternativa consiste en reproducir la propia supercie de
respuestas reales del modelo y comparar con las previsiones que se pueden
realizar con el metamodelo. Obviamente, precisamente es esto de lo que se
prentende huir con la construccion de la supercie.

Figura con el punto C y comentarios PENDIENTE

Como solucion alternativa, se puede estudiar en que medida el metamodelo Comprobacion


predice bien el comportamiento del sistema para el punto central C, denido
por s = s y Q = Q. Con las n replicaciones realizadas para construir la super-
cie 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 podra calcular la diferencia entre RC (n) y RF (n). Sin embargo esta sera
una posible observacion de la variable aleatorio D(n) = RF (n) RC (n), que
mide la diferencia entre el comportamiento del modelo y del metamodelo, y
comprobar si esta diferencia es signicativa, para lo cual hay que construir u n
intervalo de conanza para la media de D(n).
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 186

Para obtener un intervalo de conanza para la media de la variable D(n) = Diferencia


RF (n) RC(n). Para ello es necesario, obtener m observaciones de RF (n) y signicativa
otras tantas de RC(n) y obtener un intervalo de conanza a partir de estos
valores. Si el intervalo contiene al 0, no existe diferencia signicativa entre los
valores que ofrecen el modelo y el metamodelo para el punto C: la curva se
considera sucientemente buena.

Para cada dos de los 2m valores anteriores, se puede calcular Dj(n) como
la diferencia entre los valores del modelo RCj (n) y del metamodelo RFj (n), con
j = 1, ..., m, de manera que el intervalo para la media de D(n) = RF (n)RC(n),
con un nivel de conanza vendra dado por la expresion siguiente:


2 2
, Dj(n) (m) , Dj(n) (m)
. , D(n) + tm1,1/2 .
D(n) tm1,1/2 . S .S (8.16)
m m

Para cada una de los m valores anteriores es necesario realizar n replicaciones


para cada una de las combinaciones de lo factores (4) y para el punto C. Es
decir, hay que realizar m n 5 repliaciones.

En el caso de que se identicara que hay diferencia signicativa entre el Otras


modelo y la supercie para el punto C, habra que evaluar la posibilidad de supercies
contruir un modelo de regresion de segundo orden o cuadratico, de la forma
siguiente:

E [R(s, Q)] = 0 + sxs + QxQ + sQxsxQ + ssx2 + sQQx2 Q (8.17)

Para obtener los coecientes ss y QQ es necesario denir nuevas combinacio-nes de


los valores de los factores adicionales a las utilizadas para la supercie de
primer orden. Para conocer como construir la supercie, se recomienda
consultar Montgomery [?].

Por ultimo y admitiendo que la supercie fuera adecuada es posible explotar Explotacion del
el modelo para buscar optimos locales cercanos a los puntos correspondientes metamodelo
a las combinaciones de las factores estudiadas.

Incluso si la supercie no es sucientemente buena se puede hacer lo


siguiente. A partir de la expresion corresondiente al modelo de regresion de
primer orden sin el termino no lineal, E [R(s, Q)] = 0 + s xs + QxQ) se puede,
operando, expresar la supercia en funcion de los factores s y Q, E [R(s, Q)] =
0+sx s +
Q xQ) . A continuacion se puede proceder de la siguiente manera.

A partir del punto central C, identicar la direccion en la que disminuye


mas rapidamente el valor de la respuesta: (s , Q) (gradiente).
Captulo 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 conguracion. Si el el valor de la respuesta es
signicativamente menor, continuar avanzando en esa direccion. En caso
de que no sea as, realizar de nuevo un diseno factorial en el entorno del
ultimo punto evaluado. A continuacion avanzar de acuerdo con el nuevo
gradiente hasta que no se pueda reducir el valor de la respuesta.
Detener el proceso cuando al obtener una supercie de respuestas e s
obtiene una supercie plana.

8.6. Ejemplo 2

Para la situacion del ejemplo 1:


Obtener una supercie de respuesta, tanto dependiendo de xs y sQ y
de s y Q
Comprobar el comportamiento de la supercie para el punto C (xs = 0
y xQ = 0).

Para realizar este ejercicio, ademas del material disponible para el ejercicio
anterior, se puede utilizar el archivo Ejemplo8-1 100R.xpt para facilitar la
realizacion de las replicaciones que permiten obtener las diferencias R j (n)
C y
RFj (n)

En primer lugar, para obtener la expresion de la supercie 8.17, hay que o b


-tener Estimacion de
la estimacion de 0 , s , Q y sQ de acuerdo con las expresiones 8.15. Para ello, las s
en la la 20 de la hoja Experimentos y superficie hay que introducirlas fomulas,
que se reeren 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 supercie, en funcion de xs y de xQ
tiene la forma siguiente:

Supercie en
E [R(s, Q)] = 263,25 30,57xs 14,99xQ 1,08xsxQ (8.18) funcion de xs y
xQ
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 188

Para poder hacer predicciones a partir del metamodelo, si se utiliza la expre- Valores de xs y
sion anterior, es necesario obtener los valores de xs y sQ a partir de s y Q. sQ

2(s s) 2(s 500) s 500


xs = = =
s 100 50
(8.19)
2(Q Q) 2(Q 330) Q 330
xQ = = =
Q 30 15

En terminos del archivo de Excel, se puede hacer los siguiete: Predicciones


Introducir en las celdas correspondientes Calculos auxiliares
Introducir en las celdas corresopndientes a Valores de loo factores algu-
nos puntos que se desee evaluar. En la hoja con la solucion aparecen los
vertices y el centro del cuadro de la gura PENDIENTE. Para cada par de
valores de s y Q, obtener los valores de las variables xs y sQ en las celdas
Variables Auxiliares.
Finalmente, en la la 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 de
caracter academico. En un estudio de un modelo complejo, se realzara
una comprobacion del punto central, C a traves de un intervalo de con-
anza. En este caso se ilustra la diferencia para varias obs
erv
aciones
. Para hacer esto
hay que realizar lo siguiente:
Modicar 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 los
valores de las 10 observaciones de CosteTotal a la columna corres-
pondiente en la hoja Experimentos y superficie.

Figura 8.5: previsiones realizadas con la supercie.


Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 189

Alternativamente, se puede obtener la supercie en funcion de los valores des Supercie en


y Q, operando a partir de los valores de xs y xQ y se podran realizar previ- funcion de s y Q
siones, igualmente, con esta expresion.

E [R(s, Q)] = 662,095 0,138s 0,282Q 0,001sQ (8.20)

Para la comprobacion de la validez de la supercie hay que caluclar un interva- Comprobaciones


lo de conanza para la variable D(n) = RF (n) RC(n). La hoja Comprobacion
punto C esta disenada para facilitar la tarea.

Existen 10 cuadros azules, cada uno correspondiente las m = 10 observacio- Estructura hoja
nes de RFj (n) y las m = 10 observaciones de RjC(n). Cada cuadro contiene Comprobacion
cinco las corresondientes a cuatro combinaciones de los factores de expe-ri punto C
mentacion. Los cuatro primeros, correspondientes a un diseno 22 y la quinta
corresondiente al punto C. Cada cuadro tiene ademas tantas columnas dispo-
nibles como las replicaciones que hay que realizar en cada caso (n= 10). Para
cada cuadro, es posible obtener los valores de FRj (n) y RF j (n)

En la parte superior aparecen tres las corresondientes a los diferentes valo-


res de RjF(n), Rj C(n) y Dj(n), a partir de los cuales obtener el intervalo de
conanza y comprobar si existe diferencia signicativa o no.

Figura 8.6: Calculo de R1 (10) y R1 (10).


F C

Para obtener el intervalo, se recomienda hacer lo siguiente: Procedimiento

1. Seleccionar una combinacion de factores y modicar las Acciones de in -


cializacion.
2. Abrir y ejecutar el experimento Ejemplo8-1 100R.xpt e importar los
datos del archivo .csv generado.
3. Emplear los datos corresondientes a las diez primeras replicaciones para
j = 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 R
C (10) y RF (10)
j j
Captulo 8. DISENO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 190

6. Con los valores anteriores, en las celdas superiores, construir un el in-


tervalo de conanza para la media de D(10), como se ha hecho en otras
ocasiones para otras variables.

Figura 8.7: Diferenicias entre Rj (10) y Rj (10).


F C

El intervalo obtenido en el archivo Ejemplo8-1 solucion.xls es (7,11, 7,86), Analisis de los


que no contiene al 0, con lo que s existe diferencia signicativa entre la esti- resultados
macion realizada con la supercie para el punto C y el comportamiento del
sistema para ese valor. Para disponer de una supercie mas el a la re lidsera
a
necesario introducir los terminos en x 2 y x 2s, y habra
Q
que estimar nue-
vos coecientes. Para ello se deben realizar calculos parecidos a los que se han
presentado en este captulo y se remite al lector al texto Montgomery [?] para
profundizar mas.

8.7. Resumen

El analisis del comportamiento de un sistema puede estar condicionado por


los varores de diferentes datos de entrada. Es decir, la respuesta del sistema
(variable de salida) puede depender de varios datos de entrada (variables de
entrada o parametros). Mediante el disneo de experimentos se puede estudiar
de forma ecaz y eciente la existencia o no de inuencia signicativa del valorde
dichos factores sobre la respuesta del sistema. El caso mas sencillo es el del
diseno factorial 2k donde se estudian k factores, para cada uno de los cuales
se consideran dos posibles niveles (alto y bajo).

Si los modelos son muy pesados, y su ejecucion lleva mucho tiempo, puede
resultar interesante disponer de un metamodelo que permita predecir el com-
portamiento del modelo para diferentes valores de los factores sin necesidad
de realizar replicaciones. En primera aproximacion, un modelo de regresion de
primer orden puede ser suciente. Si no lo fuera, se pueden construir metamo-
delos de orden superior, que son mas eles al modelo pero exigen un mayor
tiempo de computacion.
Captulo 9

REDUCCION DE LA VARIANZA

9.1. Introduccion

Como se ha dicho en captulos anteriores, el resultado de alimentar un mo-


delo con entradas aleatorias son salidas tambien aleatorias. Por tanto, para
extraer conclusiones correctas, es necesario aplicar tecnicas estadsticas para
caracterizar estos datos de salida. Pero la mayora de los modelos complejos
requieren una gran cantidad de recursos para ser simulados (tanto en tiempo
de computacion como espacio para almacenar datos) y las tecnicas estadsti-
cas generalmente se basan en la realizacion de multiples replicaciones. Por
este motivo, en algunos casos, el coste de un analisis estadstico es demasiado
alto en relacion a los resultados que se obtienen (medidos por la amplitud del
intervalo de conanza).

La calidad de los resultados se puede medir segun la amplitud del intervalo de Como mejorar
conanza que acompana al valor estimado, expresado por: la eciencia
,
S2(n)
y(n) tn1,1/2 (9.1)
n
Uno de los caminos para aumentar la eciencia de la simulacion es m jo
erala
programacion para conseguir modelos que requieran menos recursos para su
ejecucion. De este modo, con el mismo esfuerzo de computacion, se puede
aumentar el numero de replicaciones (n) por lo que el intervalo anterior se
estrecha. Otro camino se dirige a mejorar la , es decir, que los datos de salida
de la simulacion tengan una varianza menor. Si se consiguen datos con me-
nor varianza, S 2 (n) disminuye y el intervalo de conanza sera mas estrecho.
Por tanto la precision de los resultados crece sin aumentar la duracion de la
simulacion. Al conjunto de tecnicas empleadas para lograr este proposito se
les conoce como tecnicas de reduccion de la varianza (en ingles de Variance
Reduction Techniques, VRT ) y su aplicacion puede ser la unica manera de
obtener resultados utiles de un proyecto.
Captulo 9. REDUCCION DE LA VARIANZA 192

Como se explica mas adelante, la forma de aplicar estas tecnicas depende de Las VRT no
cada modelo en particular y no se puede saber de antemano los b e
ne
io
c
s en la siempre
reduccion de la varianza de aplicarlas. Como consecuencia, la mayora de funcionan!
las estas tecnicas necesitan un estudio previo para saber si su aplicacion
contribuye a una mejora en la eciencia de los recursos o si, por el contrario,
conllevan una perdida de rendimiento.

En la secciones 9.2 y 9.3 se desarrollan brevemente los fundamentos de dos Estructura del
tecnicas de reduccion de la varianza (numeros aleatorios comunes y variables captulo
antiteticas). Estas tecnicas se desarrollan de forma practica en la resolucion de
un 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 captulo se conoce como numeros aleatorios comunes (en
ingles Common Random Numbers, CRN ) y se aplica para comparar
dos o mas conguraciones alternativas. Se basa en la idea de estudiar el com-
portamiento de las alternativas bajo condiciones de simulacion similares, es
decir, 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 uctuaciones en el valor de las
variables de entrada.

A partir de ahora se considera que se quieren comparar dos alternativas (1 y


2) en funcion del comportamiento de una variable de salida (Y1 e Y2 ). Se
denota por y1i e y2i los valores de estas variables en la i-esima replicacion. La
comparacion se lleva a cabo a traves de una nueva variable, (Y ), que representa
la diferencia de las anteriores, Y = Y1 Y2 , y que toma los valores yi = y1i
y2i ). El analisis se realiza mediante el siguiente intervalo:
,n ,n
yi y1i y2i
y(n) = i=1 = i=1
n n
,
y(n) tn1,1/2 S 2 (n)

Para mas informacion acerca de este intervalo se recomienda ver el captulo


6 de este texto. Por tanto, para mejorar la precision del analisis es necesario
reducir la varianza de y(n), que se puede expresar mediante la expresion (ver
el apartado 3.2.4):

V ar (yi ) V ar (y1i ) + V ar (y2i ) 2Cov(y1i , y2i ) (9.2)


V ar [y(n)] = =
n n
Captulo 9. REDUCCION DE LA VARIANZA 193

Por tanto, si se consigue que los valores de cada par (y1i , y2i ) se correlacionen
positavemente, V ar [y(n)] se reduce, y el intervalo de conanza se estrecha. Se
puede conseguir esta correlacion si en cada replicacion i se usan los mismos
numeros aleatorios para generar1 las variables de entrada de ambas alterna-
tivas. De este modo se simulan situaciones similares en ambos modelos por
lo 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 dos
alternativas.
Ejemplo 5.2.1 Una empresa decide instalar un sistema telefonico de atencion al
cliente (a partir de ahora SAT). Para ello cuenta con dos propuestas y realiza un
estudio de simulacion para elegir aquella que ofrezca un tiempo total medio de
llamada menor. En ambos modelos existen dos variables de entrada: tiempo en-
tre llamadas (T ) y duracion de cada llamada (D). Si cada replicacion se naliza tras
100 llamadas, seran necesarios 100 valores tj y otros 100 dj (donde j toma
valores entre 1 y 100) que se generan a partir de 200 numeros aleatorios. Para
aplicar CRN se utilizan los mismos 200 numeros aleatorios en ambas alternativas
de manera que cada pareja (y1i , y2i) comparte los 100 valores (tj , dj ). Si en una
replicacion el conjunto d1 , , d100, por ejemplo, toma valores altos tanto y1i
como y2i tenderan a ser mayores y de este modo se introduce una correlacion
positiva en cada par.

9.2.2. Sincronizacion

La mayor dicultad de aplicar esta tecnica reside en conseguir utilizar los m-is
mos numeros aleatorios con el mismo proposito en ambas conguraciones. Si
se 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 conguracion puede necesitar un
numero diferente de ri (0, 1), y si se quieren hacer n replicaciones se complica
localizar donde se ha empleado cada numero aleatorio. Para solucionar este
problema la mayora de los programas de simulacion agrupan sus numeros
aleatorios en series numeradas a las que se puede acceder selectivamente. De
este modo se puede sincronizar el uso de los numeros aleatorios empleando
una serie concreta con un el mismo proposito en las dos conguraciones. Este
metodo de sincronizacion se conoce como series dedicadas.
1 ver seccion 3
Captulo 9. REDUCCION DE LA VARIANZA 194

Ejemplo 5.2.2 En el cuadro 9.2.2 se organiza el uso de los numeros aleatorios


para el caso del SAT del ejemplo anterior en el caso de hacer 10 replicaciones. Se
utilizan los primeros 100 numeros de cada serie para generar 100 valores de tj o
de dj.

Conguracion 1 Conguracion 2
Rep.
t 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 aplicacion


de 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. Por
tanto, si es posible, se recomienda hacer un pequeno estudio preliminar para
asegurar que su aplicacion es util. En el caso de dos conguraciones 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 S 2 (n).
y
3. Hacer n replicaciones de cada modelo sin aplicar CRN y calculary1S2 (n)
y Sy22(n).
4. Si Sy2 (n) < S 2y1(n) + S2y(n)
2
se recomienda usar CRN.

9.3. Variables antiteticas

9.3.1. Fundamentos

La tecnica de variables antiteticas (en ingles Antithetic Variables , AV ) es


aplicable al analisis de resultados de una unica conguracion. La idea basica
es estudiar el promedio de la salida de dos replicaciones (y (1), y (2)), agru-
i i
padas de tal modo que si la salida en una de ellas tiene un valor bajo, se
Captulo 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 que
la salida del modelo pero con una varianza menor. Esta idea se fundamenta
matematicamente de la siguiente manera:
.
+yi
(1) (2)
yi Y (1) + Y (2) Y + Y
mi = 2 E(M) = E 2 2
= = Y
2 2 2

V ar (mj ) V ar (y (1)) + V ar (y (2) ) + 2Covar (y (1), y (2))

V ar [m(n)] = = i i i i
n n

y, por tanto, cuanto mayor sea la correlacion negativa entre y (1) e y (2) menor
i i
es la varianza de m(n). Como E(M) = E(Y ), M(n) es un estimador sin sesgo
de = 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
conanza mas 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 generar
el valor de una variable de entrada en Yi (1), se utiliza 1 rk para su equivalen-
te en Yi(2). Suponiendo que las variables se generan mediante el metodo de la
transformada inversa, si rk genera un tiempo de servicio alto en Yi (1), 1 rk ge-
nera uno bajo en Yi (2). Haciendo lo mismo con todos los valores de entrada de
cada pareja se consigue la correlacion negativa buscada. A las variables gene-
radas a partir de los numeros aleatorios originales se les denomina regulares
mientras que a las generadas a partir de sus complementarios se les conocen
como antiteticas. La mayora de programas de simulacion permiten elegir con
que tipo de variables alimentar al modelo. Para aplicar AV es necesario utilizar
series 1dedicadas para cada proposito, empleando las mismas series para obte-
ner y ( ) e y (2) pero seleccionando el modo variables regulares y variables
i i
antiteticas respectivamente.
Captulo 9. REDUCCION DE LA VARIANZA 196

Y (1) Y (2)
Rep. Variables: regulares Variables: antiteticas
t 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 conguraciones 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 elegir


entre dos alternativas: un cajero modelo Zippy o dos modelo Klunky. Aunque
el primer modelo Zippy permite realizar las operaciones mas rapidamente
que el Klunky, su coste es aproximadamente el doble, por lo que no se
considera el coste como criterio de decision. El director encarga un estudio
de simulacion al departamento de asesora y desarrollo de la sede central
para elegir la alternativa que reduzca el tiempo que los clientes esperan para
ser 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 datos
recogidos en otras sucursales del grupo, el tiempo de servicio por cliente
de un cajero Zippy se puede aproximar a una exponencial con media 0,9
minutos. El comportamiento de los cajeros Klunky es similar pero con media
1,8 minutos cada uno. Se considera que en las dos alternativas se forma una
unica cola de tipo FIFO. Se elegira la alternativa que tenga un tiempo medio
de espera en cola menor para los 100 primeros clientes. Si fuese el analista al
que se encarga dicho trabajo, que alternativa aconsejara instalar?

Fuente: Law A, 2001


Captulo 9. REDUCCION DE LA VARIANZA 197

En primer lugar se resuelve el ejemplo anterior sin aplicar ninguna tecnica de Objetivos del
reduccion de la varianza y despues se resuelve aplicando CRN. Como conclu- ejemplo
sion se comparan los resultados obtenidos por ambos metodos. Por tanto, el
objetivo de esta seccion es doble: por un lado, exponer de manera practica
como aplicar el metodo CRN y, por otro, demostrar el gran benecio que e n
algunos casos supone aplicar este tipo de tecnicas.

En la gura 9.1 se muestra un esquema del procedimiento para resolver el Planteamiento


problema. Se dene la variable Y como la diferencia entre el tiempo medio
de espera de los 100 primeros clientes en la alternativa 1, Y 1 , y en la 2, Y2,
es decir, Y = Y1 Y2. A partir de 100 replicaciones de cada alternativa se
calcula un intervalo de conanza al 90 % para E(Y ). Si E(Y ) > 0 en todo el
intervalo, se considera que el tiempo de espera de la primera alternativa es
signicativamente mayor que el de la segunda, en cuyo caso se elige la
segunda alternativa. Si, por el contrario, E(Y ) < 0, es de esperar que los
clientes pasen menos tiempo en cola en la alternativa 1, por lo que esta sera
la elegida. Si el intervalo de conanza contiene al cero, la diferencia entre
ambas alternativas se considera no signicativa.

Figura 9.1: esquema del procedimiento para obtener un intervalo de


conanza para E(Y ).

El problema del ejemplo puede resolverse analticamente aplicando teora de El resultado se


colas (para mas informacion acerca de esta disciplina se recomienda consultar conoce de
Saaty, 1983). De este modo se obtiene que los valores esperados del tiem- antemano...
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 que
la 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 obtenidos
mediante simulacion.
Captulo 9. REDUCCION DE LA VARIANZA 198

A continuacion se presentan los archivos necesarios para seguir la resolucion


de 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 consiguen
100 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 de
calculo una vez resuelto el ejemplo.

(a) Vista del modelo en Witness de la alternativa 1

(b) Datos / Filtro / Autoltro

Figura 9.2: vista del modelo en Witness de la alternativa 2


Captulo 9. REDUCCION DE LA VARIANZA 199

Primer experimento (sin aplicar CRN)

Si se desconocen las tecnicas de reduccion de la varianza, la simulacion


se realiza sin controlar el uso de semillas, es decir, del mismo modo que en
los ejemplos de los captulos anteriores. Los pasos para realizar las 100
replicaciones 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 CSV


1 del archivo Ejemplo5-1.xls .

5. Ordenar los datos importados segun el numero de replicacion (columna


B).

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 de


espera 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 / De-ne).

4. Proceder como en el caso anterior para llevar los datos generados al lugar
correspondiente de la hoja Analisis CRN.

Segundo experimento (aplicando CRN)

Las semillas de Witness se organizan en series y subseries tal y como muestra Semillas en
la gura 9.3. Hay un total de 400.000 series, divididas a su vez en 10.000 s
ubs
e-ries. Witness
Cada subserie contiene 7, 5x1047 numeros aleatorios. Estos numeros alea-
torios se usan como semillas para generar valores de las variables aleatorias
del modelo (ver seccion 3.5). Se puede controlar el uso de semillas asignando
series 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 la
subserie, solamente la serie o ninguna de las dos. Si no se especica ninguna
Captulo 9. REDUCCION DE LA VARIANZA 200

de las dos, Witness asigna automaticamente una serie que no se emplea en


ninguna otra funcion (para obtener mas informacion acerca del uso de semillas
se recomienda consultar la ayuda de Witness)

Como se explica en la seccion 9.2, la base de la tecnica CRN es la sincroni- Como asignar
zacion. En los dos modelos se utilizan numeros aleatorios con los mismos las series para
propositos: generar tiempos entre llegadas de nuevos clientes y generar dura- aplicar CRN en
ciones de servicio. La sincronizacion se consigue asignando la misma serie en el ejemplo
las 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 tiempos


entre 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 en
esta funcion y la anterior hay que dejar como mnimo 100 series entre
ambas (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-1


Experimento.txt .

5. Seleccionar el modelo Ejemplo5-1a.mod en (Model / Experiment / D


e
-ne).

6. Ejecutar el experimento (Model / Experiment / Batch).

7. Importar los datos del archivo Ej5-1.csv generado en la hoja CSV CRN
1 del archivo Ejemplo5-1.xls .

8. Ordenar los datos importados segun el numero de replicacion (columna


B).

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 la
replicacion 1, al pasar a la replicacion 2 se emplea la serie 51
Captulo 9. REDUCCION DE LA VARIANZA 201

9. Como en el experimento anterior, los tiempos medios de espera en cola


se almacenan en la columna M. Copiarlos en el lugar correspondiente de
la 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-1


Experimento.txt .

4. Seleccionar el modelo Ejemplo5-1b.mod en (Model / Experiment / De-ne).

5. Ejecutar el experimento (Model / Experiment / Batch).

6. Proceder como en el caso anterior para copiar los datos generados al


lugar 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 , se
calculan los 100 valores de Y . Se obtienen dos conjuntos de 100 de yi, que
representan la diferencia del tiempo medio de espera de los 100 primeros
clientes en la replicacion i aplicando CRN y sin aplicarlo. A partir de estos
valores se obtiene un cuadro como 9.2 donde se presentan los resultados del
analisis.

NOTA: Existe una fuerte correlacion entre y1i e y2i (0,72) a pesar de no
haberla inducido intencionadamente. Se debe a que con la asignacion au-
tomatica de Witness se consigue una sincronizacion parcial debido a la
sencillez del modelo. Para apreciar este concepto se presentan los resultados
para un experimento donde las series se han escogido intencionadamente
para que y1i e y2i sean completamente independientes.

Como se menciona en el planteamiento del ejemplo, si se resuelve el mismo Conclusiones


problema analticamente se obtiene que E(Y1 ) = 4, 13 y E(Y2 ) = 3, 70, por lo
que E(Y) = 0, 43. De este modo se pueden evaluar los resultados obtenidos
mediante 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 el
valor esperado, 0,43.
Captulo 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-amplitud F7*RAIZ(F6/60) 0,74 0,37 0,05


al 90 %

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 SI
signicativo

Cuadro 9.2: resultados estadsticos de la aplicacion de CRN

Al aplicar CRN la varianza de yi se reduce de 4,88 a 0,08, es decir un


98,41 %. Esta reduccion repercute en la semi-longitud del intervalo de
conanza, 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, mientras


que 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 CRN
la 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 coeciente de correlacion pasa de 0,72 a 1,00. Los gracos 9
.4y
9.5 ayudan a comprender la mejora experimentada.

Ademas, como conclusion nal, si no se aplica CRN los resultados ob


ten
ido
sson no
signicativos por lo que no se podra elegir una de las alternativas. Es un
ejemplo de como, a partir de CRN, se pueden extraer resultados relevantes de
un proyecto que, de otra manera, no se podra.
Captulo 9. REDUCCION DE LA VARIANZA 203

Figura 9.4: graco 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 segunda
alternativa, instalar dos cajeros Klunky. Debido a los buenos resultados
obtenidos en el primer estudio decide encargar otro estudio para asegurarse
de que el servicio prestado sera correcto en terminos del tiempo de espera.

Cual sera su estimacion del tiempo medio que pasaran los clientes en
la cola antes de poder utilizar uno de los cajeros? El resultado debe
expresarse en forma de un intervalo de conanza al 90 %.
Captulo 9. REDUCCION DE LA VARIANZA 204

Al igual que en el ejemplo anterior, en primer lugar se resuelve el problema como si no


se conociese ninguna tecnica de reduccion de la varianza y despues se resuelva
aplicando una tecnica de reduccion de la varianza, en este caso AV. Para nalizar, se
comparan los resultados obtenidos por los dos caminos anteriores.

En este caso solo se considera una unica alternativa, por lo que el problema consiste en Planteamiento
estimar el tiempo medio de espera del servicio (como en el caso anterior se consideran
solo los 100 primeros clientes). Para observar la reduccion de la varianza resultante de
aplicar AV , se lleva a cabo el estudio de simulacion mediante dos experimentos con
la misma duracion:
El primero de ellos consta de 200 replicaciones sin controlar la asignacion de
numeros aleatorios. Los valores obtenidos se analizan como 200 observaciones
del tiempo medio de espera. El resultado se da en forma de un intervalo de
conanza 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 variable
que 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 el
valor esperado del tiempo medio de espera.

Como se comento en el ejemplo anterior, este problema se puede resolver analtica- Ya se sabe el
mente y el valor esperado de la variable de salida es E(Y ) = 3, 70. La comparacion de resultado...
los dos metodos se hace en funcion del valor puntual obtenido y de la amplitud del
intervalo de conanza 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 valores
regulares 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 una
vez resuelto el ejemplo.

Experimento 1 (sin aplicar AV)

Si no se aplica ninguna tecnica de reduccion de la varianza, la manera habitual


de llevar a cabo el estudio de simulacion es hacer un numero n de replicaciones
independientes y tratar cada observacion como un valor de la variable de salida. Para
hacer un experimento con 200 replicaciones independientes de la alternativa elegida
hay 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).
Captulo 9. REDUCCION DE LA VARIANZA 205

3. Importar los datos del archivo generado Ej5-2.csv en la hoja CSV del
archivo 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 ( 1i) ,y ( 2 ) ).i Para obtener cada pareja se utilizan
las mismas series de numeros aleatorios, pero en el primer caso con valores regulares
y en el segundo con antiteticos. Esta diferencia se indica en la denicion de los ex-
perimentos, dentro de los archivos Ejemplo5-2 Experimento1.txt y Ejemplo5-2
Experimento2.txt (gura 9.6).

Figura 9.6: ejemplo de denicion en Witness de un par de replicaciones:


(1) (2)
(Y8 ,Y8 )

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 entre
llegadas 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 las
duraciones 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 .
Captulo 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 primeras
replicaciones son los valores obtenidos mediante semillas regulares, y (1i) y de la
101 a la 200 los obtenidos mediante semillas antiteticas, y (2i).

El analisis de los datos

Para analizar los datos del primer experimento se calcula directamente un in-
tervalo de conanza de su media al 90 %. En el segundo experimento. Por otro lado,
en el segundo experimento el intervalo ed conanza se calcula para el conjunto de
valores obtenidos promediando cada par (y ( 1i) ,y ( 2 ) ).i En el cuadro 9.3 se presentan
los 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-amplitud D7*RAIZ(D6/100) 0,64 H7*RAIZ(H6/100) 0,42


al 90 %

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)

Pronostico SI SI
acertado

Cuadro 9.3: resultados estadsticos 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 conanza, el valor puntual se acerca mas en el caso de
aplicar AV.
Captulo 9. REDUCCION DE LA VARIANZA 207

5
Captulo 10

OPTIMIZACION Y SIMULACION

10.1. La simulacion: una tecnica descriptiva

10.2. Simulacion y optimizacion

10.3. Ejemplo

You might also like