Escolar Documentos
Profissional Documentos
Cultura Documentos
DE
SIMULACI ÓN
Un enfoque práctico
con Witness
Marzo 2012
PROLOGO
A quién va dirigido el libro
Cómo utilizar el libro
No es un tratado exhaustivo de cómo utilizar Witness
No es un libro de teorı́a de simulación
De qué tipos de sistema se ocupa el libro
Explicar el formato del texto: cuadros grises, cuadros blancos, ¿más?
Sobre los materiales. Nomenclatura de los archivos, cómo están organizados,
etc.
Tipografı́as Criterio de tipografı́a:
INTRODUCCIÓN A LA SIMULACIÓN
1.1. Introducción
En primer lugar, se justifica la necesidad de recurrir a la simulación para es- Estructura del
tudiar determinados problemas (1.2). A continuación, se presenta un ejemplo capı́tulo
sencillo realizado con una hoja de cálculo para ilustrar cómo opera un mode-
lo de simulación discreta (4.2). Sin embargo, un modelo de simulación es más
complejo que lo que se presenta en ese ejemplo, por lo que en el epı́grafe 1.4
se explica de qué elementos consta un modelo de simulación completo. Más
adelante, en el apartado 1.5, se explica con qué se alimenta y qué se obtiene de
un modelo de simulacı́ón. Además, junto con los aspectos relacionados con la
programación, un estudio de simulación 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 simulación.
Existen modelos de muy diferente naturaleza, tan diferentes entre sı́ como los Existen multitud
modelos fı́sicos y los modelos de simulación discreta. La naturaleza de dichos de modelos
problemas condiciona la idoneidad de los modelos utilizados y de las técnicas
apropiadas para explotar dichos modelos.
Estos problemas se pueden abordar mediante modelos exactos. La Programa- Los métodos
ción Lineal, la Teorı́a de Colas, la Programación Dinámica son ejemplos de exactos
modelos para cuyo tratamiento existen técnicas exactas. Los modelos de es-
te tipo permiten representar en términos analı́ticos tanto el problema como el
objetivo que se persigue con su estudio. Para muchos de estos modelos existen
técnias que permiten obtener la mejor solución para el problema estudiado. En
general, los métodos exactos son preferibles frente a otros.
Capı́tulo 1. INTRODUCCIÓN A LA SIMULACIÓN 6
UN MODELO EXACTO
Una empresa fabrica bicicletas y triciclos. Con la venta de una bicicleta ob-
tienen un beneficio de 10 unidades monetarias (um) y con la de un triciclo 5
um. Como es natural, cada bicicleta necesita dos ruedas y cada triciclo tres.
Tanto las bicicletas como los triciclos necesitan el mismo tipo de manillar.
Si la empresa dispone de semanalmente de 100 ruedas y de 30 manillares,
¿cuál es la producción que le reporta un mayor beneficio?
Si se definen x1 como el número de bicicletas producidas semanalmente y
x2 el de triciclos, el beneficio se puede computar como 10x1 + 5x2 .
Por otro lado, el consumo de ruedas será 2x1 + 3x2 y no puede superar las
100 ruedas disponibles, con lo que deberá cumplirse 2x1 + 3x2 ≤ 100.
Igualmente, para los manillares deberá cumplirse x1 + x2 ≤ 30.
Por último, se debe cumplir que x1 , x2 ≥ 0.
El modelo siguiente es un modelo de Programación Lineal, para cuya resolu-
ción existen técnicas de resolución exactas, como el método del Simplex, que
permiten obtener la mejor solución al problema.
Conviene señalar que los modelos de simulación son de carácter descriptivo. Modelos
Esto significa que permiten reproducir el comportamiento del sistema pero, descriptivos
por sı́ solos, no ofrecen soluciones buenas u óptimas con respecto a algún
criterio. Los modelos normativos, como la Programación Lineal, permiten des-
cribir el comportamiento del sistema y sı́ guı́an el proceso de búsqueda de so-
luciones. Por ello, es importante la intervención del analista para la explotación
de un modelo de simulación. También, en ocasiones, se combina la simulación
con técnicas para la búsqueda de soluciones en lo que se conoce, en inglés,
como Simulation Optimization.
En este epı́grafe se presenta un problema sencillo que puede ser tratado me-
diante el desarrollo de un modelo de simulación basado en una hoja de cálculo.
Este tipo de simulación se conoce como Método de Montecarlo, en el que se uti-
lizan los números aleatorios distribuidos entre 0 y 1 para resolver problemas
en los que aparecen fenómenos tanto de carácter aleatorio como determinista.
Capı́tulo 1. INTRODUCCIÓN A LA SIMULACIÓN 8
Para reproducir el comportamiento del sistema se admite que el tiempo avanza Hipótesis del
en intervalos de tiempo constantes e iguales a un dı́a. Ası́, para simular la modelo
evolución del sistema se obtendrá el estado del sistema a lo largo de los 365
dı́as de un año.
A partir de esas tres columnas, hay otras dos columnas dispuestas de tal ma- Generación de
nera que mediante la función de Excel ((CONSULTARV)) (o ((BUSCARV)) para números
versiones anteriores a Office 2010) y a partir de un valor aleatorio entre 0 y aleatorios
1 es posible generar valores de la demanda consistentes con la función de
probabilidad (ver cuadro 1.3).
PENDIENTE: poner captión al cuadro, que aparece referenciado como cuadro 1.3
Existen tantas filas como dı́as más una fila inicial en la que se genera la infor-
mación relativa a la llegada del primer tren. Cada fila contiene la información
correspondiente a los trenes, la demanda, el stock y los costes de ese dı́a.
Capı́tulo 1. INTRODUCCIÓN A LA SIMULACIÓN 11
La primera fila sirve para realizar la inicialización del modelo. Para generar Llegada de
cuándo tendrá lugar la llegada del primer tren. Para ello, tal y como se explica trenes
en el epı́grafe 3.5 del capı́tulo 3, se genera un número aleatorio entre 0 y 1,
con lo que se genera el tiempo hasta la llegada del primer tren. Este mismo
proceso habrá 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 figuran los números aleatorios necesarios para generar los intervalos entre
trenes y en la columna C figuran los valores de los intervalos correspondientes
a los números aleatorios generados.
Por ejemplo, el la figura 1.3 se observa que el dı́a 5 llega un tren. Cuando eso
ocurre, se genera un nuevo valor para la próxima llegada (columna D), el dı́a
11. Para ello, primero se genera un número aleatorio entre 0 y 1 (columna B),
a partir del cual se obtiene el número de dı́as hasta el siguiente tren (columna
C), en este caso es 5. Finalmente, el dı́a en el que llegará el siguiente tren se
obtiene como el dı́a actual (5) más el número de dı́as hasta el siguiente tren
(6). En las filas siguientes, el valor de dicha columna no cambia hasta que el
contador de dı́as (columna A) tiene el valor 11. Cuando esto es ası́, se realiza
la misma operación nuevamente.
Capı́tulo 1. INTRODUCCIÓN A LA SIMULACIÓN 12
Las columnas H-J, sombreadas en gris, reproducen la evolución del stock. Generación de
Consta de tres columnas que permiten registrar: la demanda
el stock teórico, columna H, como resultado de la diferencia entre lo que Evolución del
entra al depósito y lo que sale, y que puede ser negativo; stock
el stock real, columna I, que es el máximo entre el stock teórico y 0; y
la existencia de carencia o no, columna J; se produce una carencia si el
stock teórico 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 dı́a).
Costes de stock, columna K. Para cada dı́a se puede calcular el coste del Cómputo de los
stock como el proucto del stock del depósito multimplicado por el coste costes
unitario por dı́a y Tm de carbón.
Costes de carencia, columna L. Cuando se producen una carencia (figura
un “SI” en la columna J se computa el coste de carencia, de 100 um.
Las cuestiones anteriores son algunos ejemplos de los aspectos que hay que Algunas
tener en cuenta al realizar un estudio de simulación. A lo largo de los capı́tulos cuestiones
del libro se abordan las cuestiones más importantes para realizar de forma pendientes
correcta un estudio de simulación.
Los problemas que se abordan mediante simulación discreta son más comple- Eventos y
jos que el sistema del ejemplo anterior. En esos sistemas hay más elementos, estados
más eventos y más estados. Por ejemplo, un puesto en una lı́nea de montaje
puede estar en diferentes estados: ocioso, trabajando, averiado, esperando a
un operario, etc. Igualmente, puede haber diferentes eventos: averı́a del pues-
to, fin de operación, comienzo de operación, fin de reparación, etc. La gene-
ración de eventos y la modificación de estados son aspectos nucleares de la
simulación de eventos discretos. En el siguiente apartado se presentan todos
los elementos de un modelo de simulación de eventos discretos.
El ejemplo anterior, a pesar de ser muy sencillo, incluye una versión poco so-
fisticada de algunos de estos elementos. Por ejemplo, la celda que contiene el
valor del stock inicial forma parte de la inicialización. Las columnas donde se
almacenan tanto la demanda como el siguiente dı́a en el que se producirá una
llegada de tren actúan como las variables de un modelo de simulación. Por
último, la primera columna hace las veces del reloj de la simulación, y para
cada lı́nea se puede observar el estado del sistema.
Datos de entrada, que son aquellos datos que sirven para alimentar el Variables y
modelo, dentro de los cuales se pueden distinguir dos tipos. parámetros
• 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 moficiar, como tampoco la cantidad de carbón y cálculo
el tiempo entre llegada de los trenes
• El valor de stock inicial, sobre el cuál el decisor sı́ tiene control. De
hecho, el estudio se realiza para determinar el valor del stock inicial
más adecuado.
Datos de salida, que son los datos que se obtienen al ejecutar el modelo,
que son los costes de stock y de carencia.
Variables de entrada
MODELO
Variables de salida
Parámetros de diseño
Variables de entrada. Las variables de entrada son todos aquellos datos Definiciones 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 atención
telefónica, el tiempo entre averı́as de una máquina, la demanda de un
determinado prodcuto, etc.
Parámetros. Los parámetros son aquellos datos de entrada sobre los cua-
les el decisor tiene control. Tı́picamente, en un estudio de simulación se
trata de obtener un conjunto de valores de los parámetros (es decir, una
configuración del sistema) satisfactoria o buena de acuerdo con algún
criterio. Por ejemplo: el número de puestos de atención al cliente en una
oficina, 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
avión), 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 simulación se
pretende obtener una buena solución con respecto a algún criterio. Los
valores de las variables de salida permiten evaluar el sistema. Por ejem-
plo: el beneficio derivado de una nueva instalación, el nivel de saturación
de los controladores aéreos, la productividad de una lı́nea de montaje,
etc.
Por último, conviene notar que según el estudio del que se trata un mismo
elemento puede ser o bien una variable de entrada o bien un parámetro. Por
ejemplo, en el diseño de las instalaciones de un nuevo aeropuerto, la tasa de
averı́as de las máquinas que realizan el escaneado de las maletas puede ser
un parámetro, ya que en ese tipo de estudio se pueden emplear diferentes ti-
pos de máquina, cada una de ellas con su tasa de averı́as correspondiente. Sin
embargo, en el rediseño de las operaciones de control de equipaje de un aero-
puerto existente (salvo si existe la posibilidad de invertir en nuevas máquinas),
el dato de la tasa de averı́as es una variable de entrada.
Capı́tulo 1. INTRODUCCIÓN A LA SIMULACIÓN 17
DE DE
O E O DEL
EM
E O D DE
D O
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
Por otro lado, los objetivos que se persiguen con el estudio de simulación con- Definición del
dicionan la selección de variables de salida y el nivel de detalle del modelo. Por sistema y de los
ejemplo, un modelo de un operador logı́stico que quieres realizar un estudio objetivos
para determinar el tamaño de la flota de camiones es muy diferente un modelo
para establecer la forma de operación de los muelles de un almacén. Mientras
en el segundo caso será neceario reproducir con detalle los movimientos del
material destinado a la manutención de la mercancı́a, en el segundo no lo será.
Igualmente, las variables de salida de uno y otro modelo serán diferentes.
La figura 1.7 ofrece un posible modelo comunicativo en el que se explicitan al- Modelo
gunas de las hipótesis del modelo. Por ejemplo, se admite que la demanda tiene comunicativo
lugar después de que llegue el tren, el dı́a en el que llega un tren. Podrı́a haber-
se admitido el orden inverso, y habrı́a tenido efectos sobre el resultado de la
simulación. Este modelo comunicativo no contiene expresiones matemáticas,
pero podrı́a haberlo incluı́do. Dependiendo de los participantes en el estudio,
convendrá utilizar diferentes elementos en el modelo comunicativo.
Capı́tulo 1. INTRODUCCIÓN A LA SIMULACIÓN 19
Inicialización
Stock inicial
Costes
sí ¿Llega tren?
Generación de la
demanda
no
Informe con
¿Se ha simulado un
sí costes
año?
Una vez definido el estudio que se quiere realizar (habiendo realizado las eta-
pas anteriores), es necesario construir el modelo informático. Dado que la
simulación de sistemas complejos implica la realización de numerosos cálcu-
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
parámetros.
En este libro, a lo largo de los capı́tulos, se presentan los aspectos más im- Verificación,
porantes de las etapas que se han comentado. En cada caso, se ofrecen las validación y
técnicas más frencuentemente utilizadas, primero con una introducción teóri- credibilidad
ca y después con ejercicios de aplicación práctica.
Capı́tulo 1. INTRODUCCIÓN A LA SIMULACIÓN 21
+ Hojas de cálculo -
Para casos muy sencillos
Esfuerzo de programación
Lenguajes de propósito general
Lenguajes de simulación
Entornos de simulación
Witness
Arena
Promodel
- Simul8
+
Figura 1.8: alternativas de software para el desarrollo de modelos de simula-
ción.
Todos los ejercicios prácticos que empleados en este libro (salvo el de este
capı́tulo) se han desarrollado usando Witness 2008, herramienta desarrollada
por Lanner Group, a cuyo estudio se dedica el capı́tulo siguiente.
1.8. Resumen
bajo realizado.
En los capı́tulos que siguen se presentan las técnicas más importantes para
la realización de un estudio de simulación de eventos discretos correspon-
dientes a las etapas descritas en el epı́grafe 1.6. Cada capı́tulo consta de una
introducción de carácter teórico con la presentación de los aspectos esencia-
les. Después, se proponen ejemplos de aplicación sencillo desarrollados en
Witness.
Capı́tulo 1. INTRODUCCIÓN A LA SIMULACIÓN 24
dd
Capı́tulo 2
2.1. Introducción
El el apartado siguiente, 2.2, se presenta el conjunto de módulos que acom- Estrucutra del
pañan a Witness y que permiten realizar diferentes tareas relacionadas con el capitulo
desarrollo de un estudio de simulación. 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 continuación, los elementos que permiten constuir
modelos se presentan en el epı́grafe 2.4. Finalmente, en los apartados 2.5 - 2.9
se desarrollan cinco modelos sencillos que ilustran todo lo anterior.
Este capı́tulo 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- capı́tulo
les que permitan entender e, incluso, elaborar todos los modelo que se utilizan
en es texto. Además, este capı́tulo permite una primera toma de contacto con
Witness.
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 26
Para aprender más sobre la programación 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 instalación de Witness. Para conocer más sobre la aplica-
ción de Witness a diferentes situaciones, recomendamos visitar la página de
Lanner, http://www.lanner.com/.
Con Witness es posible desarrollar y explotar modelos de simulación. Para ex- Witness Suite
tender las posiblidades, Lanner ofrece un conjunto de módulos que se pueden
utilizar junto con Witness, que son las siguientes.
Además, Lanner ofrece herramientas de simulación de carácter especı́fico para Otros productos
algunas actividades, por ejemplo, para el sector farmacéutico. De todo el con-
junto de productos, Witness es la herramienta más importante. A continuación
se presenta la lógica para constuir modelos.
La lógica 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 telefónicas. Estas entidades se
pueden transformar, agrupar, separar, almacenar, transportar, etc. Las piezas
en un taller mecánico pueden ser torneadas, pulidas, etc. Los clientes de un
centro comercial pueden acumularse y esperar en las colas de las cajas. Las
llamadas telefónicas 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 flujo de las entidades mediante lo que se conoce como reglas. Por
ejemplo, cuando un viajero (entidad) ha terminado de realizar la facturación
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,
habrá que introducir alguna regla del tipo empujar el equipaje del viajero a la
zona de manutención de equipajes.
Además, para completar la lógica del modelo, generalmente hay que utilizar Acciones
acciones, que modifican el estado de los elementos. Por ejemplo, tras finalizar
la facturación del viajero, una acción puede actualizar el contador que registra
cuántos viajeros han realizado la facturación para ese vuelo en particular. Para
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 29
ello habrı́a que introducir alguna acción del tipo incrementar el contador del
número viajeros en una unidad.
Los elmentos se pueden dividir en tres grandes grupos atendiendo a su natu- Según su
raleza: naturaleza
son: las cintas transportadoras, los recursos, las vı́as, los vehı́culos, los
caminos, etc. En los modelos de este texto, los elementos de este tipo
que se han utilizado son piezas, máquinas, buffers y caminos. Estos
Elementos de tipo lógico. Son los elmentos que permiten gestionar la Elementos
información y la lógica del modelo. En particular, en este texto se utlizan: logicos
variables, atributos, distribuciones (tanto predefinidas como definidas
por el usuario) y funciones (de usuario y predefinidas).
Elementos de tipo gráfico. Son elementos que permiten visualizar gráfi- Elementos
camente algún aspecto del modelo, como, por ejemplo, la evolución del gráficos
tiempo medio de entrega de pedidos o el número de productos enviados
a los clientes. En los modelos que siguen se han utilizado diagramas de
tarta e histogramas.
Los elementos también se pueden clasificar según la forma en la que se alma- Según cómo se
cenan, que condiciona la forma en la que se utilizan. Estos tipos de elementos almacenan
están organizados en cuatro carpetas, cuyo contenido se puede visualizar en
la ventana de Seleción de elementos (figura ).
La carpeta Tipo contiene todos los tipos de elementos básicos a partir de Carpeta Tipo
los cuales se pueden contruir los modelos en Witness. Estos elementos
están disponibles en su versión más simple, es decir, sin ningún tipo
de caracterización. Por ejemplo, existe un elemento variable, pero no
está configurada como variable entera, real, etc.
actividad para representar una caja y, con ella, como se muestra más
adelante, crear tantas cajas como sean necesarias en uno o varios mode-
los.
Se abre una nueva ventana, como la de la figura 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 algún dato más. En este segundo caso, se puede seleccionar (arriba)
si el elemento se crea como elemento de la simulación o como elemento
predefinido (para ser reutilizado de nuevo de la manera anterior).
2.5. Ejemplo 1
Para crear este modelo solo son necesarios dos elementos, uno de tipo
pieza para representar los redondos y otro de tipo máquina simple para
representar el torno.
En primer lugar, hay que definir un elemento pieza, por ejemplo, ha- Piezas pasivas
ciendo uso de los elementos predefinidos, como se ha indicado en el
apartado anterior. Entrando en la ventana de configuración (figura 2.9)
es posible modificar el nombre del elemento.
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 35
Las piezas pasivas son aquellas que sólo entran en el modelo porque
algún elemento del modelo hace que entren. En este caso, cada vez que
el torno termine de realizar una operación, obtendrá una nueva pieza
Redondo del elemento de sistema WORLD y la introducirá en el modelo.
A contiunuación, hay que introducir una máquina a partir de los elemen- Máquinas
tos predefinidos. La configuración de este nuevo elemento (figura 2.8) simples
también presenta varias pestañas (comúnes y especı́ficas). Por ejemplo,
la pestaña General, permite definir algunos aspectos básciso como el
nombre (Torno) o el tipo. Las másquinas simples toman las piezas de
una en una, las procesan y pasan a otro elemento del sistema. Existen
otros tipos de máquinas que, por ejemplo, producen piezas a partir de
una dada o trabajan con lotes. Torno es una máquina simple.
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 36
La regla que aparece por defecto es ((WAIT)). Esta regla significa que
Torno no trata de conseguir piezas de entrada, sino que sólo procesa
piezas si algún otro elemento hace que le lleguen. Tecleando la regla
((PULL from Redondo out of WORLD)), como en la figura 2.9, Torno intro-
ducirá una pieza Redondo en el modelo e, inmediatamente, la comenza-
ra a tornear.
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 37
Una vez que Redondo tiene una pieza puede comenzar su ciclo, cuya Tiempo de ciclo
duración se indica dentro del cuadro de texto Duración. En este caso,
el valor es 5. De esta manera, se admite que una unidad del reloj de la
simulación simula el transcurso de un minuto de la realidad, y será ne-
cesario mantener la consistencia a lo largo de todos los valores que se
introduzcan en el modelo.
Por último, si la configuración de Torno se deja en este punto, lo que Regla ((PUSH))
ocurrirá es que tras tornear el primer Redondo, quedará bloqueada y no
realzará más operaciones, debido a que no tiene asignada una relga de
salida y no hay ningún 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 finalizar el proceso de torneado, expulsa la pieza fuera del
modelo (al elemento de sistema SERVED) y está en condiciones de coger
una nueva pieza y repetir el ciclo.
Existe una forma que facilita la comporobación de que las reglas se Flujo de
han editado correctamente. Activando la opción Flujo de elementos del elementos
menú Ver, haciendo clic en Aceptar, se puede muestra lı́neas que enla-
zan los elementos de acuerdo con las reglas del modelo. En este caso,
el aspecto del modelo tras activa el Flujo de elementos es el de la figura
2.10.
Con esto el modelo ya tiene los dos elementos y está configurado pa- Ejecución paso
ra funcionar como se desea. Este modelo, ya construido, corresponde al a paso
archivo Ejemplo2-1.mod. Existen diferentes formas de ejecución del mo-
delo. Una de ellas es la opción Paso a paso. Al ejecutar el modelo de esta
manera se ejecutan los eventos uno tras otros y se muestra la evolución
del estado del sistema en una nueva ventana: la Ventana de interacción.
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 38
2.6. Ejemplo 2
En primer lugar, hay que añadir un elemento de tipo buffer al mode- Buffers
lo, por ejemplo, utilizando los elementos predefinidos. Accediendo a la
Ventana de configuración del elemento, aparecen las pestañas de este
tipo de elemento. En particular, en la pestaña General es posible modi-
ficar el nombre (para llamarlo Cola), establecer el número de entidades
que puede albergar y los aspectos relativos a la entrada, la salida y la
permanencia de las piezas en el buffer (figura 2.12).
Por defecto, las piezas entran por detrás y salen por delante, y no hay
ningún 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 según alguna condición, por ejemplo. También se puede
establecer un tiempo máximo o un tiempo mı́nimo de permanencia. Por
ejemplo, esto permite representar el hecho de que los clientes que llevan
más de 10 minutos esperando en una cola abandonan el sistema.
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 40
A diferencia del modelo anterior, ahora las piezas entran al sistema de Piezas activas
forma autónoma, de acuerdo con un tiempo entre llegadas. Para ello, es
necesario modificar la configuración de Redondo y convertirla en pieza
activa, con lo que la Ventana de configuración muestra un aspecto dife-
rente, como el de la figura 2.13.
Para configurar una pieza activa, hay que establecer, entre otras cosas,
el número máximo de llegadas de ese tipo, el instante en el que llega la
primera, el tamaño de lote y la regla de salida, es decir a qué elemento
trata de acceder cuando llega al modelo. Para configurar esto último hay
que acceder a las reglas de salida, haciendo clic en el botón Hacia... En
este caso, estas piezas llegan a Cola, por lo que la regla serı́a: ((PUSH to
Cola)).
Además, hay que indicar, para Redondo, cual es el intervalo entre llega- Aleatoriedad.
das en el cuadro de texto correspondiente de su Ventana de configura- Distribuciones
ción. 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 presentó en Ejecución Run
el ejercicio anterior para comprobar su evolución paso a paso. Alternati-
vamente, se puede utilizar la opción Ejecutar, mediante la cual, se pone
en marcha el modelo y se muestra cómo se modifica la representación
gráfica de los elementos a medida que transcurre el tiempo. Además, se
puede fijar un valor para el tiempo durante el cuál ejecutar el modelo.
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 41
Para ello, tal y como se puede ver en la figura 2.14, hay que dejar pulsado
el botón que contiene el icono de un reloj, a su derecha teclear el instante
en el que el modelo se detendra y, finalmente, pulsar en el botón Ejecutar
(un triángulo negro apuntando hacia la derecha).
Una vez el modelo se ha ejecutado hasta el instante 100, se pueden ob- Informes
tener informes de tipo estándar de los elementos del modelo. Para ello,
en la ventana de selección de elementos se pueden marcar todos los ele-
mentos, hacer clic con el botón secundario y seleccionar Estadı́sticas.
Conviene notar que los resultados que se obtienen con la ejecución del Informes y
modelo dependen de los números aleatorios que se utilicen para generar aleatoriedad
los distintos eventos. Por eso, los números obtenidos pueden ser dife-
rentes. En el capı́tulo 6 se comenta más detalle el efecto de los números
aleatorios sobre el análisis de los datos de salida.
2.7. Ejemplo 3
Además de las piezas que llegaban antes (redondos de tipo A), ahora
llega también otros redondos (de tipo B) con otras caracterı́sticas. Al
llegar al sistema, cada tipo se almacena de forma independiente antes
de ser torneado. Los nuevos redondos llegan según una exponencial de
media 18 minutos. Cuando el torno termina una operación, toma un
redondo del stock que contenga más 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 logarı́tmicas 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)
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 contnuación, hay que definir una nueva entidad, Re-
dondoB, y un nuevo buffer, ColaB. También 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 animación, se puede modi- Cambio de la
ficar el aspecto con el que aparece RedondoB. Para ello, se puede acceder representación
a la Representación (similar a la figura ). Se puede modificar el color (y
cambiar el rojo por el verde, por ejemplo) y mantener el icono de una
pequeño cı́rculo.
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 44
Cuando un RedondoA o un RedondoB entra al modelo, hay que asignar Acciones a crear
un valor a su atributo Calidad, a través de las Acciones al crear cada
pieza, a las que se puede acceder a través de la ventana de configuración
de RedondoA y de RedondoB (figura 2.17).
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 45
De esta manera, cuando Torno queda libre, si hay más piezas en ColaA
o en ColaB y toma una del que tenga más, o de ColaA si la cantidad es la
misma.
Por lo tanto, hay que definir una función, TiempoTorno. Esta función
devuelve un valor real a partir de dos parámetros, uno de tipo cadena
(llamado CalidadPieza) y otro de tipo nombre (TipoPieza (ver figura 2.19).
El cuerpo de la función es el código que se ejecuta con los valores de
los parámetros. La función incluye sentencias de tipo ((RETURN)) con las
que se indica el valor devuelto por la función.
Para finalizar este ejemplo, se puede ejecutar el modelo con la opción de Ejecución
Ejecución acelerada. Como en el ejemplo anterior, señalando una instan- acelerada
te para finalizar la simulación, se puede omitir la animación gráfica, de
manera que sólo se consumen recursos de computación para la genera-
ción de eventos y para la actualización de los estados de los elementos.
Para ello, se puede utilizar el botón con dos triángulos apuntando hacia
la derecha (botón de Ejecución 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 palés torneados se agrupan en palés de cinco en cinco, del mismo
tipo (no necesariamente de la misma calidad). Existen dos máquinas que
montan los palés, una con redondos A y la otra con redondos B, y tardan
en montar cada palé exactamente 10 minutos, desde el momento en el
que los cinco redondos han entrado en la máquina. En ocasiones, con
un 1 % de probabilidad, al montar el palé, el procedimiento no realiza de
forma correcta, y ese palé se debe desechar.
Modificar el modelo del ejemplo anterior para representar la situación
anterior. Además:
• representar los elementos ColaA y ColaB como un único elemento,
(Cola), con cantidad 2 y
• sustituir la regla de entrada del torno por una regla de tipo ((MOST
ENTITIES)).
Primero, como se ha hecho en los ejercicios anteriores, hay que definir: Nuevos
• una máquina, que tendrá 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.
Ahora, es posible referirse a cada uno de los dos elementos con la sinta- Cantidad de un
xis cola(1) y elemento
Para ser consistente con el cambio de notación, hay que mofificar las Cantidad de un
reglas de salida de las piezas RedondoA y RedondoB. Ahora serán, 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 modificar por la siguiente regla ((MOST ENTITIES Cola(1), Cola(2))), ENTITIES
lo cual significa que Torno, al quedar libre, evaluará en cuál de los dos
elementos (Cola(1) y Cola(2)) hay más entidades y, de aqué que tenga
más, cogerá una.
Los caminos permiten conectar dos elementos, de tal manera que al des- Configuración
plazarse las entidades entre esos dos elementos, pueden hacerlo si- del camino
guiendo ese camino. Los aspectos más importantes de la configuración
de un camino son los dos elementos que conecta y el tiempo de tránsito
entre estos dos elementos.
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 50
Para que las piezas transiten por el camino, es necesario modificar la ((Using Path))
regla de salida del Torno ((PUSH to Cola using Path)). Si no se modifica la
sintaxis, el desplazamiento se realiza de forma inmediata.
Con respecto a la máquina que agrupa los redondos, como toma 5 re- Configuración
dondos y devuelve un palé, se trata de una máquina de ensamblado. En Paletizadora
la ventana de configuración de Paletizadora se puede indicar el Tipo, y
en la cantidad de entrada, indicar 5. El tiempo de ciclo es de 10 minutos.
Por último, como existen 2 máquinas que montan los palés, la cantidad
de este elemento debe ser 2.
La regla de salida de Paletizadora se puede construir con una sentencia Regla PERCENT
de tipo ((IF)). Sin embargo, Witness proporciona una regla más 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 (más de dos), que pueden ser diferentes elementos del modelo.
Por último, dado que la piezas que salen de Paletizadora ya no son re- Función
dondos, sino que son palés, conviene reflejar ese cambio en el modelo. CHANGE
Con la función CHANGE es posible cambiar un tipo de pieza en otra. Tal
y como aparece en la figura se puede realizar el cambio en las acciones
al finalizar el ciclo de Paletizadora
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 52
2.9. Ejemplo 5
Por último, para detner el modelo cuando ha entrado el redondo número NCREATE. STOP
200 es necesario evaluar cual es el número 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-
ción ((NCREATE)) devuelve el número de entidades de un determinado
tipo que han sido creadas. Por otro lado, la función ((STOP)) detiene la
ejecución del modelo. Si se incluyen las acciones de la figura 2.28 en las
acciones al entrar de RedondoA y de RedondoB, el modelo se detiene
Capı́tulo 2. CONSTRUCCIÓN DE MODELOS CON WITNESS 57
2.10. Resumen
Bla, bla
Capı́tulo 3
REPASO DE ESTADÍSTICA
3.1. Introducción
Validación
EM Análisis de resultados
E L
Generación de O
variables aleatorias
MODELO
...
O
Test de ajuste
Experimentación
Se dice que una variable aleatoria es discreta cuando puede tomar un Definición
número 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
calificación de un examen, que puede tomar valores enteros entre 0 y 10.
Función de probabilidad
p(xi ) = P (X = xi ) (3.1)
Función de distribución
F (xi ) = P (X ≤ xi ) (3.3)
i
F (xi ) = p(xj ) (3.4)
j=1
Función de densidad
Función de distribución
F (x1 ) = P (X ≤ x1 )
Capı́tulo 3. REPASO DE ESTADÍSTICA 62
x1
F (x1 ) = P (X ≤ x1 ) = f (x)dx (f (x) → F (x)) (3.5)
−∞
dF (x)
f (x) = (F (x) → f (x)) (3.6)
dx
Además, se verifican las siguientes propiedades:
a) lı́m F (x) = 0
x→−∞
b) lı́m F (x) = 1
x→∞
Medidas de centralización
Medidas de dispersión
⎧
⎪
⎨ (xi − μ) p(xi )
2
⎪ 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) = c 2 Var(X).
n n
3. Var( i=1 Xi ) = i=1 Var(Xi ), si las variables Xi son independien-
tes.
P (μ − kσ ≤ X ≤ μ + kσ ) ≥ 1 − 1/k2 (3.11)
σ2 σ2
baja alta
μ μ
(a) (b)
Figura 3.2: funciones de densidad de una variable continua con varianza alta
(a) y baja (b)
Y = k1 X1 + k2 X2 + · · · + kn Xn
Media:
n
E(Y ) = k1 E(X1 ) + k2 E(X2 ) + · · · + kn E(Xn ) = ki E(Xi ) (3.14)
i=1
Varianza:
n
Var(Y ) = k21 Var(X1 ) + k22 Var(X2 ) + · · · + k2n Var(Xn ) = k2i Var(Xi ) (3.15)
i=1
La función de verosimilitud, indica, para cada valor del parámetro θ, cuál es la Interpretación
probabilidad de que obtener ese conjutnto valores x1 , x2 , ..., xn . El estimador
máximo verosı́mil es aquel valor de θ que hace máximo el valor de la función
φ, es decir, la probabilidad de que se obtengan los valores xi .
Por ello, para obtener el valor de θ, hay que resolver la siguiente ecuación: Procdeimiento
dL(θ)
=0 (3.20)
dθ
En las funciones que se presentan más adelante se indica cuáles son los esti-
madores de máxima verosimilitud de los parámetros correspondientes.
Capı́tulo 3. REPASO DE ESTADÍSTICA 67
Uniforme U(a, b)
Posibles Se emplea cuando una variable toma valores en un
aplicaciones rango finito de valores equiprobables.
⎧
⎪
⎪0 si x < a
⎪
⎪
⎪
⎨
Distribución F (x) =
⎪
⎪
x−a
si a ≤ x ≤ b
⎪
⎪ b−a
⎪
⎩1 si x > b
Rango [a, b]
a+b
Media
2
Capı́tulo 3. REPASO DE ESTADÍSTICA 68
(b − a)2
Varianza
12
Estimadores a
= máx xi
= mı́n xi , b
1≤i≤n 1≤i≤n
f (x)
1/(a − b)
0 a b x
Triangular triang(a, b, m)
Posibles Modelo aproximado en ausencia de datos.
aplicaciones ⎧
⎪
⎪ 2(x−a)
si a ≤ x ≤ m
⎪
⎪ (b−a)(m−a)
⎪
⎪
⎪
⎪
⎨
2(b−x)
Densidad f (x) = si m ≤ x ≤ b
⎪
⎪ (b−a)(b−m)
⎪
⎪
⎪
⎪
⎪
⎪
⎩0 resto de casos
⎧
⎪
⎪0 si x < a
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ (x−a)2
si a ≤ x ≤ m
⎪
⎨ (b−a)(m−a)
Distribución F (x) =
⎪
⎪
⎪
⎪ (b−x)2
⎪1 −
⎪
⎪ (b−a)(b−m) si m ≤ x ≤ b
⎪
⎪
⎪
⎪
⎪
⎪
⎩1 si x > b
Capı́tulo 3. REPASO DE ESTADÍSTICA 69
Rango [a, b]
a+b+m
Media
3
a2 + b2 + m2 − ab − am − bm
Varianza
18
Moda m
f (x)
2/(b − a)
0
0 a m b x
Exponencial Exp(β)
Posibles Tiempo entre llegadas de clientes o piezas a un siste-
aplicaciones ma.
Parámetros β>0
Rango [0, ∞]
Media β
Varianza β2
Moda 0
Estimadores
= x(n)
β
f (x)
0.8
0.6
0.4
0.2
0
0 1 2 3 4 5 6 7 x
Parámetros α>0yβ>0
Rango [0, ∞]
Media αβ
Varianza αβ2
Estimadores -
Capı́tulo 3. REPASO DE ESTADÍSTICA 72
1. Exp(β)=Gamma(1, β).
Comentarios
⎧
⎪
⎪∞ si α < 1
⎪
⎪
⎪
⎪
⎪
⎪
⎨
1
2. lı́m 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
Normal N(μ, σ 2 )
Posibles Variables que representan la suma de otras variables.
aplicaciones
Variables con distribución simétrica (por ejemplo,
tiempos de ciclo)
Rango [0, ∞]
Media μ
Varianza σ2
Moda μ
n
i=1 xi n−1 2
Estimadores
=
μ ,
2 =
σ S (n)
n n
x−μ
N(μ, σ 2 ) = Φ( ) (3.21)
σ
f (x)
0.5
0.4
0.3
0.2
0.1
-3 -2 -1 0 1 2 3 x
Lognormal LN(μ, σ 2 )
Posibles Su principal aplicación se da en variables que son el
aplicaciones producto de un gran número de variables aleatorias
(por ejemplo, la producción total de un sistema en el
que hay varias categorı́as de piezas).
Rango [0, ∞]
2 /2
Media eμ+σ
2 /2
Varianza e2μ+σ (eσ − 1)
2 /2
Moda eμ−σ
n n
i=1 ln xi 2 = i=1
2
ln xi − μ
Estimadores
=
μ , σ
n n
X LN(μ, σ 2 ) ⇐⇒ ln X N(μ, σ 2 )
f (x) 3
1 σ = 2
1
σ = 2
0.8
0.6
σ =1
0.4
0.2
0 1 2 3 4 5 x
Weibull Weibull(α, β)
Posibles Tiempo para completar alguna tarea.
aplicaciones
Intervalo entre dos averı́as de un equipo.
⎧
⎪ −(x/β)α
⎨1 − e
⎪ si x > 0
Distribución F (x) =
⎪
⎪
⎩0 resto de casos
Parámetros α>0,β>0
Rango [0, ∞]
β 1
Media Γ
α α
2
β2 2 1 1
Varianza 2Γ − Γ
α α α α
⎧
⎪
⎪ α−1 1/α
si α ≥ 1
⎪
⎨ β α
Moda
⎪
⎪
⎪
⎩0 si α < 1
α n
i=1 xi ln xi 1 i=1 ln xi
n
− =
α
i=1 xi
α n
n 1/α
xiα
=
β
i=1
n
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
Bernoulli Bernoulli(p)
Posibles Suceso aleatorio con dos posibles valores.
aplicaciones
Base de otras distribuciones discretas (binomial,
geométrica, binomial negativa...)
⎧
⎪
⎪ 1 − p si x = 0
⎪
⎪
⎪
⎪
⎪
⎪
⎨
Probabilidad p(x) = p si x = 1
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎩0 resto de casos
⎧
⎪
⎪0 si x < 0
⎪
⎪
⎪
⎪
⎪
⎪
⎨
Distribución F (x) = 1 − p si 0 ≤ x < 1
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎩0 si x ≥ 1
Parámetros p ∈ (0, 1)
Rango 0, 1
Media p
Capı́tulo 3. REPASO DE ESTADÍSTICA 78
Varianza p(1 − p)
⎧
⎪
⎪ 1
⎪0
⎪ si p < 2
⎪
⎪
⎪
⎪
⎨
1
Moda
⎪ 0y1 si p = 2
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎩1 1
si p > 2
Estimadores
= x(n)
p
p(x)
1−p
0 1 x
Binomial Binomial(n, p)
Posibles Número de fallos en un lote de piezas.
aplicaciones
Tamaño de un lote de piezas o de un grupo de perso-
nas.
⎧
⎪
⎪0 si x < 0
⎪
⎪
⎪
⎪
⎪
⎪
⎨
x t
Distribución F (x) = i p (1 − p)
i 1−i
si 0 ≤ x ≤ t
⎪
⎪ i=0
⎪
⎪
⎪
⎪
⎪
⎪
⎩0 si x > t
donde
x representa el mayor número entero menor
que x.
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
x(n)
Estimadores
=
p
t
Capı́tulo 3. REPASO DE ESTADÍSTICA 80
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
Geométrica geom(p)
Posibles Número de piezas inspeccionadas antes de encontrar
aplicaciones la primera defectuosa.
⎧
⎪
x+1
⎨1 − (1 − p)
⎪ si x ≥ 0
Distribución F (x) =
⎪
⎪
⎩0 resto de casos
Parámetros p ∈ (0, 1)
Rango 0, 1, · · ·
1−p
Media
p
1−p
Varianza
p2
Moda 0
1
Estimadores
=
p
x(n) + 1
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
Poisson Poisson(λ)
Posibles Número de eventos que ocurren en u intervalo de
aplicaciones tiempo cuando esos eventos suceden de uno en uno y
con una tasa constante.
⎧
⎪
⎪
⎨0 si < 0
Distribución F (x) =
⎪
⎩−λ
x
⎪ λi
si x ≥ 0
i=0 i!
Parámetros λ>0
Rango 0, 1, · · ·
Media λ
Varianza λ
⎧
⎪
⎨λ − 1
⎪ si λ es entero
Moda
⎪
⎪
⎩
λ resto de casos
Estimadores
=x
λ
Capı́tulo 3. REPASO DE ESTADÍSTICA 83
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
=μ
E(μ)
aun siendo un estimador centrado, en k muestras
Por la propia definición de μ, Un estimador
toma k valores que, en general, son diferentes. En unos casos, los valores
μ puntual no es
también es
anteriores están más cerca de μ que en otros. Esto se debe a que μ suficiente...
una variable aleatoria, que depende de los valores observados en la muestra,
cuya varianza Var[x(n)] se expresa por:
⎛ ⎞ ⎛ ⎞
1 n
1
n
Var [x(n)] = Var ⎝ xi ⎠ = 2 Var ⎝ xi ⎠
n i=1 n i=1
1
n
= Var(xi ) (porque xi son independientes)
n2 i=1
1 2 σ2
= nσ = (3.24)
n2 n
Dado que E[x(n)] = μ, cuanto menor es el valor de su varianza mayor es su
precisión 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
ecuación 3.23 en la expresión anterior:
n 2
S 2 (n) [xi − x(n)]
[x(n)] =
Var = 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 tamaño de la muestra es más probable que μ
se acerque a μ. El método más
habitual de evaluar la precisión de μ
como estimador de μ es acompañar 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 confianza y se trata con más detalle en el siguiente apartado.
Capı́tulo 3. REPASO DE ESTADÍSTICA 85
|x(n) − μ|
Zn = (3.26)
σ 2 /n
|x(n) − μ|
Zn = (3.27)
S2 (n)/n
La variable Zn ası́ definida sigue una distribución N(0,1) para valores elevados
de n. Como se conoce su distribución, 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 significado
(ver figura 3.14):
P (Z < −z1−α/2 ) = 1 − α/2
f (x)
P (z ∈ área sombreada) = 1 − α
⎛ ⎞
S 2 (n) S 2 (n) ⎠
= P ⎝x(n) − z1−α/2 ≤ μ ≤ x(n) + z1−α/2
n n
≈ 1−α (3.28)
Por lo tanto, para valores altos de n, con una probabilidad de (1−α), μ esté per-
tenecerá al intervalo:
S 2 (n)
x(n) ± z1−α/2 (3.29)
n
El intervalo de confianza para μ = E(X) se construye a partir de la expresión
anterior: ⎡ ⎤
S 2 (n) S 2 (n)
⎣x(n) − z1−α/2 , x(n) + z1−α/2 ⎦ (3.30)
n n
|x(n) − μ|
S2 (n)/n
En los sistemas reales, los números aleatorios aparecen de manera natural y se Números
pueden aprovechar esos fenómenos para conseguir secuencias de valores ri . aleatorios y
Por ejemplo, las primeras tablas de números aleatorios construidas en España pseudo-
se obtuvieron a partir de la secuencia de números premiados en la loterı́a na- aleatorios
cional. Otra posibilidad consiste en generarlos con algún método que no es, de
hecho, aleatorio. En la práctica, existen diversas técnicas para obtener secuen-
cias de valores ri . A diferencia de lo que ocurre en la naturaleza, estos números
no son aleatorios ya que al conocerse el método mediante el cual son gene-
rados, la secuencia está perfectamente determinada. No obstante, se pueden
obtener valores que cumplen las principales propiedades de los números alea-
torios: uniformidad e independencia. Por ello, son conocidos como números
pseudo-aleatorios y, a efectos prácticos, se pueden considerar números aleato-
rios (en adelante, salvo especificación previa, se consideran aleatorios).
Uno de los métodos más utilizados para la generación de números aleatorios Método de
es el llamado de congruencia lineal. Con este método se obtiene una muestra congruencia
de números aleatorios en el intervalo de números naturales [0, m − 1] me- lineal
diante un cálculo recurrente, en el cual un nuevo número aleatorio se obtiene
a partir del último generado aplicando la siguiente expresión:
zi = (a · zi−1 + b)mod(m)
z1 27
r1 = 100
= 100
= 0, 27
z2 = (13 · 27 + 31)mod(100) = 89
89
r2 = 100
= 0, 89
vdots
Cabe destacar que la selección de los parámetros del generador afecta consi-
derablemente a las propiedades ideales y a la longitud del ciclo. Para obtener
más información acerca de el generador congruente lineal o de otros métodos
de generación de números aleatorios se recomienda consultar [1].
Los programas de simulación incorporan o bien algoritmos para generar núme- Números
ros aleatorios, o listas de estos números. Por ejemplo, el paquete de simulación aleatorios en los
Witness no genera valores ri cuando los necesita, si no que incorpora una lista programas de
de números aleatorios organizados en series y subseries (para más informa- simulación
ción acerca de este tema se recomienda consultar la ayuda de Witness).
Hasta ahora se ha visto un método para generar valores de una variable alea- ¿Cómo 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- números
mulación tienen distribuciones diferentes de la uniforme. A continuación, se aleatorios?
explica uno de los numerosos métodos existentes para generar valores de una
variable aleatoria, cuya función de distribución es conocida: el método de la
transformada inversa.
En el cuadro 3.12 se indica cómo aplicar el método anterior a varias funciones Aplicación para
de distribución utilizadas frecuentemente en simulación. En dichas expresio- algunas
nes, r indica siempre un número aleatorio (U (0, 1)), y x el valor de la variable funciones
aleatoria que se desea generar.
F (x)
1
0.8
ri
0.6
0.4
0.2
0
xi x
0 1 2 3 4 5
U(a,b) x = a + (b − a)r
Exp(β) x = −β ln r
1. v1 = 2r1 − 1
v2 = 2r2 − 1
2. w = v12 + v22
x1 = v1 y
x2 = v2 y
4. Si N(μ, σ 2 ), hacer:
x = μ + xσ
Funciones
j−1
j
4.1. Introducción
Cuando se dispone de datos históricos del sistema estudiado, existen tres po- Formas de
sibles maneras de alimentar el modelo de simulación corresondiente: con los alimentar un
propios datos históricos, con una función de distribución empı́rica o con una modelo de
función de distribución teórica. simulación
1. La primera posibilidad consiste en alimentar al modelo con los datos
históricos tal y como se han recogido. Por ejemplo, si se estudia el mo-
delo de un muelle de descarga de camiones, en la simulación se utilizan
Capı́tulo 4. ANÁLISIS DE DATOS DE ENTRADA 94
Figura 4.2: alimentación del modelo con datos obtenidos de una distribución
empı́rica
Figura 4.3: alimentación del modelo con datos obtenidos mediante una distri-
bución teórica
Sin embargo, los datos históricos son muy valiosos para la validación del mo-
delo, es decir, para confirmar que el modelo representa de forma adecuada el
sistema estudiado, contrastando los resultados obtenidos en la simulación con
lo ocurrido en el sistema real.
En el caso de formar una distribución empı́rica con las observaciones se pue- Distribución
den generar todos los valores entre los el menor y el mayor valor. Por lo tanto, empı́rica
en términos de su utilidad para la explotación del modelo no presentan los
inconvenientes que aparecen con la alimentación del modelo con los datos
históricos. Las principales desventajas de este método son dos.
El uso de una función teórica presenta ventajas sobre el uso de una distribu- Distribución
ción empı́rica, sobre todo si el número de datos no es muy elevado. teórica
Por todo lo anterior, esta última suele ser la mejor opción y sólo en caso de no
encontrar una distribución teórica que se ajuste bien a los datos históricos se
justifica el uso de funciones empı́ricas.
fr elativa
0.4
0.3
0.2
0.1
0
0 2.5 5 7.5 x
fr elativa
0.4
0.3
0.2
0.1
0
0 2.5 5 7.5 x
3. Estimar los parámetros. Para ello se aconseja emplear los estimadores máximo
verosı́miles. En el capı́tulo dedicado a repaso de estadı́stica se detalla ampliamente
como llevar a cabo este paso para cada distribución (ver 3.2.5).
Cuáles son las tabla 3 y 4 (a la que se refiere el cuadro resumen del test) PENDIENTE
4.4. Ejemplo 2
1. Agrupar los valores en parejas (xi , xi+1 ) para formar puntos en el es-
pacio XY, de manera que queden n − 1 puntos (x1 , x2 ), (x2 , x3 ), · · · ,
(xn−1 , xn ). Para ello, lo que hay que hacer es copiar en dos columnas
adyacentes los valores observados de tal modo que cada xi tenga a su
derecha el valor xi+1 .
Capı́tulo 4. ANÁLISIS DE DATOS DE ENTRADA 102
xi+1
200
150
100
50
0
0 50 100 150 200 xi
Como resultado se obtienen las frecuencias absolutas con las que se repiten
las observaciones en cada rango de valores.
Test χ 2
Capı́tulo 4. ANÁLISIS DE DATOS DE ENTRADA 105
En primer lugar se realiza el test χ 2 para la hipótesis lognormal y después para χ 2 , lognormal
la exponencial. En el primer caso, la formulación de la hipótesis es la siguiente:
Procediendo de este modo se obtienen unos intervalos como los del cua-
dro 4.2.
(Ni − npi )2
Intervalo Limite Limite Frecuencia ob- Frecuencia es-
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 estadı́stico
hipótesis lognormal
(Ni − npi )2
Intervalo Limite Limite Frecuencia ob- Frecuencia es-
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 estadı́stico
hipótesis exponencial
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
Test de Kolmogorov-Smirnov
Igual que con es test anterior, en primer lugar se realiza el contraste corres- K-S, lognormal
pondiente a la distribución lognormal. El procedimiento para realizar el test
de Kolmogorov-Smirnov es el que sigue.
Como D > D(0, 9, 500), se rechaza la hipótesis de que la muestra sigue una
distribución lognormal con parámetros μ = 2, 62 y σ 2 = 1, 89 (ver cuadro 4.6).
% % % %
i x(i) Fn (x(i) ) F (xi ) %Fn (x(i−1 ) − F (xi )% %Fn (x(i ) − F (xi )% Di
1 0,01 0,002 0,000 - 0,002 0,002
D = máx Di = 0, 087
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
Procediendo de manera análoga para la hipótesis exponencial2 se obtiene que K-S, Exponencial
según este test no se puede rechazar con un nivel de confianza del 99 % que la
muestra siga una distribución Exp(26, 9). Por lo tanto, al igual que sucede en
el test χ 2 , se rechaza la hipótesis 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], págs. 351-352).
2 para evaluar exp(β) en x en Excel se emplea la expresión ((DISTR.EXP(x; 1/β;VERDADERO)))).
Capı́tulo 4. ANÁLISIS DE DATOS DE ENTRADA 110
Para obtener los resultados del test, hay que realizar lo siguiente.
3. Realizar el ajuste. Para realizar el ajuste se elige Run Fit en el menú Fit-
ting.
4. Interpretar los resultados. Después del paso anterior se abre una venta-
na como la de la figura 4.10. En ella se pueden distinguir tres bloques de
información.
a) A la izquierda se enumeran las distribuciones seleccionadas
en orden creciente de bondad del ajuste según tres tests: χ 2 ,
Kolmogorov-Smirnov y Anderson-Darling. El test se selecciona en
la pestaña desplegable de la parte inferior del bloque.
texto.
Capı́tulo 4. ANÁLISIS DE DATOS DE ENTRADA 111
Los resultados de cada test se presentan en el cuadro 4.7. No existe una re-
gla para decidir qué test es mejor en cada caso. Cada uno tiene sus ventajas
e inconvenientes por lo que una buena opción es estudiar los resultados de
los tres conjuntamente. En este caso, por ejemplo, no hay ninguna razón para
pensar que la muestra no se ajusta a una Exp(26,08), ya que los resultados de
los tres para esta función son aceptables. Aunque también es razonable acep-
tar que se distribuye según una Beta(0,88 , 27,35), que es la que proporciona
un ajuste mejor según los test χ 2 y K-S.
Capı́tulo 4. ANÁLISIS DE DATOS DE ENTRADA 112
4.6. Resumen
Existen tres formas de alimentar un modelo. Con datos históricos, con datos
generados a partir de una distribución empı́rica y con datos generados a través
de una distribución teórica.
Con los datos históricos es posible realizar la validación del modelo. Sin em-
gargo, como el número de valores de los datos históricos no suele ser muy
grande, no resultan útiles para explorar diferentes configuraciones y evaluar
el comportamiento del sistema para tomar una decisión.
5.1. Introducción
Para que un modelo sea de utilidad debe estar “bien hecho”. Esto significa dos Definiciones
cosas: primero, debe estar bien programado y, segundo, debe representar bien
la realidad. Al proceso que garantiza que un modelo está bien programado, se
le denomina verificación, mientras que el que se refiere a la representación
adecuada del sistema estudiado, se denomina validación.
DE DE
O E O DEL
EM
E O D DE
D O
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
Los ejemplos que se muestran en este epı́grafe son sencillos, con lo cual, mu-
chas de las comprobaciones pueden parecer triviales, pero en modelos com-
plejos, son extremadamente útiles.
5.3.1. Ejemplo 1
μ
ρ= (5.1)
nλ
En el caso del ejercicio, no existe la llegada de un sólo cliente, sino dos di-
ferentes, que siguen distribuciones exponenciales. En una hora, por término
medio, llegan 3 llamadas VIP y 40 llamadas normales, es decir, 43 llamadas en
conjunto. El tiempo entre llamadas (independientemente del tipo) es 60 43 , que
es el valor de λ para la expresión 5.1. Por otra parte, n = 4 y μ = 4, por lo que
el tiempo medio de ocupación esperado será:
4
ρ= 60
= 71,67 (5.2)
4 43
El tiempo de servicio no suele ser exponencial. Incluso el tiempo entre las lle-
gadas de los clientes podrı́a no seguir una distribución exponencial. En este
caso, una posible forma de proceder serı́a modificar el modelo e introducir
distribuciones exponenciales, comprobar que el resultado es correcto para esa
configuración y, después, volver a introducir las distribuciones originales. Se
entiende que si los valores son correctos cuando las distribucinoes son expo-
nenciales, la lógica del modelo es correcta y los seguirá siendo al cambiar las
expresión de los tiempos de servicio y del tiempo entre llegadas de clientes.
5.3.2. Ejemplo 2
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
5.3.3. Ejemplo 3
En una parte de una planta pintan y secan productos para servidos a otra par-
te de la fábrica. Los productos que hay que pintar llegan a un almacén previo
a la zona de pintado según 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 tamaños: pequeño, mediano y grande,
en proporciones del 15, 50 y 35 %. Los tiempos de pintado siguen distribu-
cinoes lognormales de parámetros (μ, σ ) dependientes del tamaño y de la
calidad, y son los que se indican en la siguiente tabla
Por último, Envio es una actividad que permite retirar cinco unidades
de Producto cuando están cinco o más disponible. Para ello, la Regla de
entrada es ((PULL from ColaEnvio)) cuando se cumple ((IF NENTS (Envio)
+ NENTS (ColaEnvio) >= 5)) (ver la figura 5.6).
Haciendo uso de las Acciones de usuario imprimir por pantalla los valores de
los atributos Calidad y Tamaño de las entidades que están en Secado.
Capı́tulo 5. VERIFICACIÓN Y VALIDACIÓN DE MODELOS 126
Crear una variable que registre el número de entidades que se han servido de
tipo calidad alta y tamaño grande. Comprobar que representa la proporción
esperada, dadas las probabilidades con las que llegan ese tipo de productos.
5.3.4.6. Depurador
Witness ofrece también la herramienta del Depurador, que sirve para ejecu-
tar el código de manera que sea más sencillo evaluar si ha sido programado
correctamente.
Por último, otra práctica que facilita la construcción de modelos bien verifi-
cados es mediante el uso de módulos, que, una vez verificados, se pueden
reutilizar bien en un mismo modelo o bien en diferentes modelos.
Crear un módulo con Pintura, Secado, ColaEnvio y Envio y duplicar estos ele-
mentos.
Capı́tulo 5. VERIFICACIÓN Y VALIDACIÓN DE MODELOS 131
La forma más sencilla para crear un módulo consiste en seleccionar los ele-
mentos que se desea que formen parte del módulo en y hacer clic en el botón
como el de la figura 5.19. A continuación, Witness solicita el nombre del nue-
vo módulo. En el archivo Ejemplo5-4-7.mod a este módulo se le ha dado el
nombre PinturaSecado.
Al igual que se puede hacer con cualquier elemento que forma parte del mode-
lo de simulación, es posible clonar módulos. Seleccionando el elemento, en es-
te caso el módulo PinturaSecado, con Elementos / Clonar se genera un módulo
idéntico al anterior, pero con un nombre distinto, PinturaSecado01, como se
muestra en la figura 5.21.
5.3.4.8. Documentor
Uno de los aspectos más importantes para mantener un modelo bien verifica-
do es disponer de una buena documentación del mismo. Como se ha podido
comprobar, el código de un modelo de Witness aparece en diferentes elemen-
tos y, dentro de cada elemento, en diferentes ventanas. El módulo Documentor
permite recopilar toda esta información de manera sistemática en un archivo
de texto .rtf.
Capı́tulo 5. VERIFICACIÓN Y VALIDACIÓN DE MODELOS 132
Cuando el modelo está finalmente construido hay que analizar los re-
sultados finales con detalle. Es posible constrastar los resultados del
modelo con datos históricos del mismo. Para esta tarea es adecuado ali-
mentar al modelo con datos históricos, 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.
5.5. Resumen
Un modelo bien verificado y validado se pueden explotar para ayudar a la Técnicas para la
toma de decisiones. Para ello, es necesario realizar el análisis de las variables validación
de salida de forma rigurosa, que es a lo que se dedica el capı́tulo siguiente.
Capı́tulo 6
6.1. Introducción
Existen dos errores que se cometen con frecuencia en relación con la naturale- Dos errores
za estocástica de los sistemas que se analizan mediante simulación. El primero comunes
consiste en analizar el comportamiento durante un solo periodo de tiempo, es
decir, realizar una sola replicación. Por ejemplo, serı́a erroneo extraer conclu-
siones sobre el funcionamiento de un puerto mediante en análisis del modelo
durante un solo mes. Los datos correspondientes a ese mes pueden no ser re-
presentativos. Es necesario realizar varias replicaciones y obtener información
significativa a patir de ellas. El segundo error consiste en realizar la experi-
mentación de forma poco rigurosa y estadı́sticamente errónea. Por ejemplo, si
existe correlación entre los datos obtenidos en una replicación y los datos de
la anterior, en análisis que se propone aquı́ no tiene validez y las conclusiones
pueden ser equivocadas.
Capı́tulo 6. ANÁLISIS DE DATOS DE SALIDA. ANÁLISIS DE UNA ALTERNATIVA 136
A lo largo del resto del capı́tulo se presenta cómo realizar el análisis de una Estructura del
alternativa. En primer lugar, en la sección 6.2 se presenta la diferencia entre capı́tulo
le régimen permanente y el régimen transitorio. En la sigiente sección, 6.3, se
describen los tipos de simulación atendiendo al tipo de análisis que requiere
cada una de ellas: las simulaciones con terminación, cuyo análisis se presenta
con detalle en la sección 6.4 y las simulaciones sin terminación, a las que se
dedica la sección 6.5. En la sección 6.6 se proponen dos ejemplo, uno para
cada tipo de simulación. Finalmente, se resumen las ideas más importantes
del capı́tulo en la sección 6.7.
Por otro lado, una simulación sin terminación es aquella en la que no hay Simulaciones sin
un evento que marque el fin de la misma y en la que el inicio tampoco suele terminación
una parte representativa del mismo. Las simulaciones sin terminación pueden
ser de tres tipos. Con régimen 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 varı́a. Con régimen permanente periódico, en que se
puede observar un comportamiento cı́clico de las variables de salida. Otros
tipos en los que no se puede hablar de ningún régimen permanente ni cı́clico.
En este texto nos ocuparemos de las simulaciones sin terminación y las simi-
luaciones con terminación y con régimen permanente.
Capı́tulo 6. ANÁLISIS DE DATOS DE SALIDA. ANÁLISIS DE UNA ALTERNATIVA 138
Los problemas especı́ficos de los que depende el análisis de las simulaciones Análisis de las
con terminación son dos: establecer las condiciones inciales y caracterizar las simulaciones
variables de salida. conn
terminación
Condiciones inciales. Para obtener resultados fiables, es necesario repre-
sentar, con la herramienta de software correspondiente, las condiciones
iniciales a partir de las cuales opera el sistema.
Estimación de media y de otros parámetros. Tı́picamente, en un primer
análisis se obtiene una estimación de la media de la variable de salida
estudiada y un intervalo de confianza para la misma. Por supuesto, se
pueden realizar análisis más amplios.
En el caso de las las simulaciones sin terminación, los problemas son los si- Análisis de las
guientes. simulaciones sin
terminación
Estimar cuándo se ha alcanzado el régimen permanente para deterim-
nar cuál es el tiempo de calentamiento durante el cual se debe correr el
modelo y a partir del cual se deben tomar resultados.
Estimación de media y de otros parámetros, como en el caso de las simu-
laciones con terminación. En este caso, como se comentará, existen dos
alternativas.
n n 2
yi (yi −Y (n)) Intervalo de
donde Y (n) = i=1
n y S2 = i=1
n−1
confianza para
la media
La probabilidad de que μY esté contenido en el intervalo anterior es cercana
a 1 − α (tanto más cuanto más cerca esté Y de una distribución normal). En
general, se obtienen mejores resultados con variables que siguen una distribu-
ción simétrica y con valores de n altos (consultar el capı́tulo 3, de repaso de
estadı́stica).
Cuanto mayor es el nivel de confianza, 1 − α, mayor es la amplitud del inter- Obtener una
valo que acompaña al valor puntual y, por lo tanto, menor la precisión de la precisión
estimación de la variable deseada. Explicado de otra manera, para un determi- concreta
nado número n de observaciones de la variable de salida, cuanto mayor es la
amplitud del intervalo mayor será la probabilidad de que dicho intervalo con-
tenga, efectivamente, a la media. Para aumentar esta precisión, o lo que es lo
mismo reducir la amplitud del intervalo para un α determinado, existen dos
alternativas:
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, además
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 ocupación 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 fabricación esté saturado.
Capı́tulo 6. ANÁLISIS DE DATOS DE SALIDA. ANÁLISIS DE UNA ALTERNATIVA 141
Aunque queda fuera del alcance de este texto revisar en profundidad este tipo Estimación del
de análisis, a continuación, a tı́tulo ilustrativo, se comenta un ejemplo. Para parámetro de
estimar la probabilidad p de que una variable Y tome algún valor dentro del una distribución
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 número de ob-
servaciones que caen dentro del intervalo B. La variable S se distribuye según
una binomial de parámetros p y n. El valor de p y su intervalo de confianza
asociado (con un nivel 1 − α) se estima mediante las expresiones:
S
p̂ =
n
⎡ ⎤
⎣p̂ − z1−α/2 p̂(1 − p̂) p̂(1 − p̂) ⎦
, p̂ − z1−α/2 (6.4)
n n
El segundo método 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 replicación vendrán determina- históricos
das por variables aleatorias independientes. Aplicándolo al ejemplo, se
tratarı́a de tomar muestras en el sistema del número de clientes a las
12:00 pm, e intentar ajustar estos datos mediante una función de proba-
bilidad para, posteriormente, al iniciar cada replicación generar valores
de dichas variables con los cuales configurar el estado inicial del modelo.
En las simulaciones sin terminación, las condiciones iniciales y la duración de El problema del
la simulación no son relevantes para la evaluación del comportamiento del tiempo de
sistema y, generalmente, interesa el comportamiento durante el régimen esta- calentamiento
cionario. En estos casos, hay que aislar la parte de la simulación perteneciente
al régimen transitorio, que depende del estado inicial del modelo, para no in-
cluirla en el análisis. Si no se hace ası́, dado que el valor esperado de la variable
de salida es diferente en el régimen transitorio con respecto al estacionario, la
estimación obtenida tiene un sesgo respecto al verdadero valor esperado du-
rante el régimen estacionario. Independientemente de las condiciones iniciales
elegidas, pasado un tiempo, la simulación converge al régimen estacionario sin
afectar al valor esperado, aunque el tiempo que tarda en converger sı́ depende
de las condiciones iniciales. Por lo tanto, es necesario identificar el régimen
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 análisis del sistema. El tiempo durante el cual hay que correr el modelo
antes de tomar datos se conoce como tiempo de calentamiento del modelo.
2. Obtener: n
i=1yi(j)
y (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.
Para estimar el valor esperado de una variable de salida, existen dos alterna-
tivas: realizar varias replicaciones o realizar una única replicación de mayor
longitud. A continuación se presentan estas dos alternativas.
Múltiples replicaciones
Replicación única
Una sucursal bancaria abre a las 9:00 de la mañana y cierra sus puertas a
las 14:00, pero la sucursal no termina el servicio hasta que son atendidos
todos los clientes que están dentro en el momento del cierre. La oficina
tiene tres puestos de servicio: dos cajas, donde se atienden las operaciones
más rápidas, y una mesa, donde se llevan a cabo los servicios de mayor
importancia que, además, requieren más tiempo. Los clientes se pueden
agrupar en tres tipos, cuya caracterización viene dada por la tabla siguiente:
Se pide estimar:
el tiempo medio que los clientes pasan en la cola, acompañado de un
intervalo de confianza al 90 % con un error relativo máximo para la
estimación de la media menor del 15 %;
la probabilidad de que el servicio se extienda más allá de las 14:00.
Calcular el valor puntual acompañado de un intervalo de confianza al
90 %.
Para seguir la resolución del ejemplo se recomienda trabajar sobre los siguien- Planteamiento
tes ficheros:
El experimento Archivos
El primer paso es abrir el modelo Ejemplo1-1.mod. Se compone, principal- disponibles
mente, de:
El tiempo medio que los elementos entidad pasan en un elemento tipo cola Contenido del
se almacena en la columna número 13 del archivo de salida csv. Esta infor- archivo csv
mación se utiliza para obtener el tiempo medio que los clientes pasan en la
cola en cada replicación. Con la variable Tcierre se registra la salida del últi-
mo cliente para comprobar si la duración de esa replicación es mayor de 300
minutos (columna 9 del fichero csv).
Capı́tulo 6. ANÁLISIS DE DATOS DE SALIDA. ANÁLISIS DE UNA ALTERNATIVA 152
El análisis estadı́stico
3. Copiar los 20 valores del tiempo medio de espera en la hoja ((Cálculo 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 estimación de la media
γ
(0.2) es mayor que 1−γ = 0,15 es necesario realizar replicaciones adicio-
nales.
1 A la hora de calcular t
n−1,1−α/2 hay que tener en cuenta que los parámetros de esta función
en Excel son ((DISTR.T.INV(α,grados de libertad)))
Capı́tulo 6. ANÁLISIS DE DATOS DE SALIDA. ANÁLISIS DE UNA ALTERNATIVA 153
S 9
p̂ = = = 0,36
n 25
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 dı́a el banco cierre más 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
Se trata de una simulación sin terminación de un sistema del que interesa, básica-
mente, su comportamiento una vez alcanzado el régimen permanente. Por lo tanto,
el primer paso para estimar la producción media por hora en régimen estacionario,
μY , consisten en el cálculo del tiempo de calentamiento, expresado por el número de
horas l que hay que dejar pasar para superar el régimen transitorio. Una vez que se
conozca l, se puede estimar el valor esperado de la variable de salida acompañado de
un intervalo de confianza.
Capı́tulo 6. ANÁLISIS DE DATOS DE SALIDA. ANÁLISIS DE UNA ALTERNATIVA 155
El experimento Planteamiento
1. Ordenar los datos de la hoja ((CSV)) primero por el instante al que corresponden
los datos (columna D) y después por replicación (columna C), como en la figura
6.7(a).
Capı́tulo 6. ANÁLISIS DE DATOS DE SALIDA. ANÁLISIS DE UNA ALTERNATIVA 156
4. Filtrar las celdas no vacı́as (figura 6.7(b)) y copiar los 160 valores y(j) en la
columna G.
5. Calcular, según la expresión 6.5, la media alisada del conjunto y(j) aumentando
w hasta apreciar con claridad el paso de régimen transitorio a estacionario. En
concreto, tomar w = 5, w = 10 y w = 15. y representar gráficamente dichos
valores (figura 6.8).
A patir del gráfico correspondiente a y (j) (15) (w = 15) se puede admitir que tras 25
horas para que el sistema ha alcanzardo el régimen permanente. Es decir, l = 25.
Para estimar el número 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 replicación y después por hora
(al contrario que para el tiempo de calentamiento).
Como conclusión del análisis, el valor esperado del número de piezas que se producen
por hora se encuentra en el intervalo [59,07, 60,08], con una probabilidad de 95 %.
6.7. Resumen
7.1. Introducción
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 configuración única, la salida de estos modelos es un fenómeno estocástico
y no hay garantı́as de que la alternativa elegida por este método sea la adecuada.
En esta sección se explica cómo comparar dos alternativas suponiendo que se evalúa
su comportamiento a través de una única variable de salida1 . A partir de ahora y1i
representa el valor en la i-ésima replicación 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 comparación se hace a partir de una nueva variable aleatoria, Z, defi-
nida como la diferencia de la variable de salida en las alternativas 1 y 2, Z = Y1 − Y2 .
1 cuando se quiere estudiar el comportamiento de más de una variable simultáneamente, el
problema se conoce como decisión multicriterio y su resolución se escapa del objetivo de este
texto. Para más información se recomienda consultar la referencia Law, 2001
Capı́tulo 7. ANÁLISIS DE DATOS DE SALIDA. COMPARACIÓN DE VARIAS ALTERNATIVAS 159
donde: n n
i=1 zi i=1 [zi − z(n)]2
z(n) = y S 2 (n) =
n n−1
k
P (νs ∈ Is para todos = 1, 2, · · · , k) ≥ 1 − αs (7.2)
s=1
Por lo tanto si queremos que el nivel de confianza asociado a k intervalos sea al menos
1−α, el nivel de confianza de cada intervalo particular se debe elegir de manera que se
k
cumpla s=1 αs = α. Si se toma el mismo valor para todos ellos, αs = α/k. Por ejemplo,
suponiendo que se quieren comparar 5 alternativas mediante este método es necesario
hacer 10 intervalos Iij (donde i y j representan las alternativas comparadas). Para
conseguir que el nivel de confianza de la elección sea 90 %, es decir que la probabilidad
de que se cumplan simultáneamente todos los Iij sea del 90 %, y considerando que se
toma el mismo nivel de confianza:
0, 1
10 · αij = α ⇒ αij = = 0, 01
10
por lo que el nivel de confianza de cada intervalo individual es 99 %. El resultado es
que los intervalos son más amplios y posiblemente no significativos, ya que es más
probable que contengan a 0. Esto hace que este método sea poco aconsejable.
Otra forma de aplicar este método, además 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-
ficativamente diferente al resto.
Capı́tulo 7. ANÁLISIS DE DATOS DE SALIDA. COMPARACIÓN DE VARIAS ALTERNATIVAS 161
Hasta ahora se ha explicado cómo comparar varias alternativas entre sı́ cuando el
número de opciones disponibles es mayor de dos. El objetivo de esta sección es más
ambicioso: se expone un método para elegir la mejor alternativa de k posibles con un
nivel de confianza determinado.
Sea Yji la variable de interés de la alternativa j en la replicación i y sea νj = E(Yji ). Planteamiento del
Para aplicar este método es necesario que los valores Yji se hayan obtenido a partir de método
replicaciones independientes para cada sistema y que se distribuyan normalmente2 .
Debido a la aleatoriedad de Yji no se puede asegurar al 100 % que la elección a partir
de una muestra sea la correcta, pero si es posible fijar una probabilidad de acierto
P ∗ . Del mismo modo, no tiene sentido complicar en exceso los cálculos para discernir
qué alternativa es la mejor si la diferencia entre las 2 mejores es muy pequeña. Por
tanto es aceptable fijar 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 método se puede afirmar que, con probabilidad P ∗ , la diferencia
de las medias de la alternativa elegida y la mejor del conjunto no supera el valor
d∗ .
Primera etapa
Segunda etapa
Los valores de P ∗ y d∗ son elección del analista y dependerán de los objetivos del
estudio de simulación. Logicamente, cuanto mayor sea P ∗ y menor d∗ mayor será el
coste de computación pero mejores los resultados obtenidos.
Capı́tulo 7. ANÁLISIS DE DATOS DE SALIDA. COMPARACIÓN DE VARIAS ALTERNATIVAS 163
La variable de salida es el tiempo medio que cada vehı́culo pasa en el siste- Planteamiento
ma una vez que la simulación alcanza el estado estacionario. Para resolver el
problema, se toma como tiempo de calentamiento 720 horas (se deja su cálcu-
lo como ejercicio) y se realiza un experimento como el que se muestra en el
cuadro 7.1. La resolución del problema consiste, básicamente, en obtener un
intervalo de confianza (en este caso al 99 %) de la diferencia de la variable de
salida en cada modelo, Y1 e Y2 .
Número de replicaciones 40
Tiempo de calentamiento 720 horas
Longitud de cada replicación 4000 horas
Variable de salida Tiempo medio en el sistema
El experimento
3. Importar los datos del archivo ((Ej4-1.csv)) en la hoja ((CSV alternativa 1))
del archivo Ejemplo4-1.xls .
Análisis estadı́stico
Semi-longitud del
intervalo 99 % F6*RAIZ(F5/60) 0,07
El experimento
Los pasos para realizar obtener los datos de la simulación son los siguientes:
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 máquinas en cada replica-
ción se guarda en la columna I. Ordenar los datos por número de repli-
cación ( Datos / Ordenar / Columna B) y copiarlos en el lugar correspon-
diente de la hoja ((Comparación de alternativas)).
Análisis estadı́stico
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.
Capı́tulo 7. ANÁLISIS DE DATOS DE SALIDA. COMPARACIÓN DE VARIAS ALTERNATIVAS 169
Los dos primeros intervalos no contienen al cero y son negativos por lo que Conclusión
se puede decir que hay una mejora significativa al tener un total de 2 ó 3
mecánicos en plantilla. Por otro lado, con estos datos no se pude afirmar que
exista una diferencia significativa entre el sistema actual y tener 4 mecánicos.
Primera etapa
1 68,79 19,72
2 54,63 3,66
3 60,53 1,86
4 68,34 1,88
3 4
h21 Sj2 (n0 )
j n0 (d∗ )2 Nj replicaciones adicionales
2 21 24,40 25 5
3 21 12,42 21 1
4 21 12,57 21 1
3 la función de EXCEL ((MAX(n1; n2; · · · ))) devuelve el valor máximo del conjunto n1, n2, · · ·
4 para calcular x puede emplearse, entre otras, la función ((MULTIPLO.SUPERIOR(x;1)))
Capı́tulo 7. ANÁLISIS DE DATOS DE SALIDA. COMPARACIÓN DE VARIAS ALTERNATIVAS 171
Segunda etapa
(2)
j y j (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 ecuación 7.6 (ver cuadro 7.4).
8.2. Introducción
Sin embargo, en otros estudios las alternativas pueden estar menos claramen-
te definidas. Por ejemplo, puede ser interesante estudiar cuál es el tamaño de
lote de transferencia´más ventajoso en un taller, es decir, el número 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 envı́a el conjunto a la si-
guiente etapa. Pueden existir, de hecho, diferentes factores que condicionan el
comportamiento del sistema. En este caso, el interés puede ser buscar un con-
junto de valores para dicho parámetros que de lugar a un comportamiento del
sistema suficientemente bueno (si no el mejor). Sin embargo, evaluar todas las
posibles combinaciones de todos los factores puede ser computacionalmente
inviabel, por el elevadı́simo número de alternativas. En este capı́tulo se pre-
senta, primero, una metodologı́a para evaluar la influencia de los parámetros,
para conocer si su influencia es significativa (diseño de experimentos), y, des-
pués, una forma de obtener un modelo del propio modelo de simulación para
poder precedir el comportamiento del modelo y elegir una buena combinación
de factores (superficie de respuesta).
Capı́tulo 8. DISEÑO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 173
En una lı́nea de montaje, un factor puede ser el tamaño de los stocks interme- Ejemplos
dios; el un centro de atención telefónica, el número 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 combinación de sus valores que ofrezca una buen valor de la
respuesta.
Cuando sólo hay un parámetro que modificar, evaluar su efecto pasa por eje- Un solo
cutar el modelo para cada uno de los posibles valores de ese parámetro (o para parámetro
un conjunto de valores) y emplear las técnicas presentadas en el capı́tulo 7.
Cuando existen más de dos parámetros, factores de ahora en adelante, una Varios factores
posible estrategia podrı́a consistir en fijar el valores de todos los parámetros
menos uno, Fi . A continuación, modificar el valor de Fi y evaluar si tiene un
impacto significativo sobre la respuesta del sistema. Este enfoque tiene dos
deficiencias:
Combinación c F1 F2 F3 Rc
1 − − − R1
2 + − − R2
3 − + − R3
4 + + − R4
5 − − + R5
6 + − + R6
7 − + + R7
8 + + + R8
El efecto principal del factor Fi , que se denota por ei , mide el efecto en la Efectos
respuesta al modificar modificar 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 vendrı́an dado por la expresiones 8.1
Existe una forma sencilla de computar los efectos principales con ayuda de Regla sencilla
la tabla 8.3. Por ejemplo, si se reordenan los términos que aparecen en e1 en
la expresión 8.1, se puede obtener la expresión 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
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 combinación 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 expresión
Capı́tulo 8. DISEÑO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 176
R1 − R2 − R3 + R4 + R5 − R6 − R7 + R8
e12 = (8.4)
4
Combinación 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 último, para este ejemplo, se puede evaluar el efecto de la interacción de Interacciones
los tres factores, que se define como la semidiferencia entre la interacción de i×j×k
los factores F1 y F2 cuando el factor F3 está en su nivel + y la interacción de
los factores F1 y F2 cuando el factor F3 está en su nivel −, tal y como se puede
ver en la expresión 8.5.
1 (R8 − R7 ) + (R6 − R5 ) (R4 − R3 ) + (R2 − R1 )
e123 = − (8.5)
2 2 2
Reorganizando la expresión anterior, se puede comprobar que los signos de la Regla sencilla
columna F1 × F2 × F3 permiten reconstruir de forma sencilla la expresión e123 ,
asignando a cada término Rc el signo que indica aquella columna.
−R1 + R2 + R3 − R4 + R5 − R6 − R7 + R8
e123 = (8.6)
4
En este ejemplo sólo hay tres factores, de manera que no existen interacciones Más
de nivel superior. Sin embargo en diseños con 4, 5, etc factores se podrı́an defi- interacciones
nir de forma análoga y evaluar, todas y cada una de las posibles interacciones.
Capı́tulo 8. DISEÑO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 177
Tı́picamente, en un modelo de simulación cada vez que se calcula Rc para una Carácter
combinación de factores se obtiene un valor dierente. La forma de abordar un aleatorio de Rc
estudio con respuestas estocásticas es la siguiente.
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
diseño 23 y realizando 10 replicaciones (k = 3, n = 10), se obtendrı́an 10
valores e1r :
3. Caluclar, para cada factor y para cada una de sus interacciones, un inter-
valo de confianza con un determinado nivel de confianza. La expresión
corresponde al intervalo para el mismo efecto principal F1 .
⎛ ⎞
⎝e1 (n) − tn−1,1−α/2 Se21 (n) Se21 (n) ⎠
, e1 (n) + tn−1,1−α/2 (8.8)
n n
donde:
n
e1 (n) = e1r
r =1 (8.9)
n 2
r =1 (e1r − e1 (n))
Se21 ( n) =
n−1
.
En el siguiente apartado se propone un ejercicio para elaborar un diseño de
experimentos con dos factores para una polı́tica de gestión de stocks.
Capı́tulo 8. DISEÑO 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 distribución
uniforme entre 240 y 260 productos.
El Lead time del proveedor sigue una lognormal de media 2 dı́as y desviación
tı́pica 0.5.
Existe relacionados con la gestión 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 dı́a.
Coste de carencia 10 um por unidad de producto no servido.
Coste de emisión de un pedido: 250 um.
d
La demanda no atendida en un dı́a determinado se pierde, es decir, la empresa
no entrega productos con retraso.
La polı́tica 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
almacén más la cantidad de productos pendientes de recibir, cae por debajo
de un determinado nivel. Las diferentes formas que puede adptar esta polı́tica
se caracteriza mediante los dos parámetros siguientes:
el tamaño de pedido, Q y
el nivel de reaprovisionamiento, s, que es el valor tal que cuando el
stock disponible es inferior a él, se lanza un pedido al proveedor.
Se pide realizar un diseño de experimentos para analizar el efecto de los fac-
tores s y Q.
8.4.1. El modelo
En primer lugar, existen dos variables de tipo entero: s y Q que son los
parámetros del modelo, los factores del diseño de experimentos.
Además, 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 evolución del stock fı́sico y del stock disponible, hay
un histograma que se actualiza cada dı́a simulado.
Para computar los costes, se calculan los tres costes: carencia, emisión y alma- Cómputo de los
cenamiento como con el código de la figura . En particular: costes
El coste total se actualiza cada dı́a calculando la suma de los tres costes
anteriores.
8.4.2. Experimentación
Si el problema fuera determinista con los valores medios, entonces D = 250. Estimación de Q
Los datos correspondientes a los costes son CE = 200, CC = 10 y CA = 1,
por lo que, de acuerdo con la expresión , el tamaño de lote económico óptimo
serı́a, redondeando, Q∗ = 331.
Por otro lado, si el lead time del proveedor fuera determinista e igual a 2 dı́as, Estimación de s
el nivel de reaprovisionamiento serı́a 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 teórico que se habrı́a
obtenido en el caso no estocástico. Estos valores se muestran en el cuadro
8.4.2.
s(−) s(+)
450 550
Q(−) 315 R1 R3
Q(+) 345 R2 R4
Combinación c s Q s×Q Rc
1 − − + R1
2 + − − R2
3 − + − R3
4 + + + R4
Capı́tulo 8. DISEÑO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 182
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:
Una vez que se dispone de los valores de los efectos para cada replicación, Intervalos para
se puede calcular un intervalo de confianza para cada uno de ellos, como se es , eQ y eSQ
muestra en la figura 8.4. Para ello, de la misma manera que en el capı́tulo 6,
se calcula estiman la media y la varianza, se establece un nivel de confianza
y se obtiene la semiamplitud del intervalo, con lo que, finalmente, se pueden
calcular los extremos superior e inferior del intervalo.
Los intervalos que se han obtenido para los efectos principales y para la inter- Análisis de
acción de los dos factores son: resultados
es ∈ (−68,78, −53,51)
eQ ∈ (−43,20, −16,74) (8.11)
esQ ∈ (−10,89, −6,59)
A partir del diseño de experimentos con dos factores a dos niveles del ejemplo Modelo de
anterior, se puede construir un primer modelo de regresión de primer orden regresión
de la siguiente forma:
2(s − s)
xs =
Δs
(8.13)
2(Q − Q)
xQ =
ΔQ
0 = R F (n)
β
β
s = es (n)
2
e (n) (8.15)
Q =
β
Q
2
sQ = e sQ (n)
β
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. R F (n) es el valor medio de la respuesta para todas las combi-
naciones y para las n replicaciones.
Para cada dos de los 2 × m valores anteriores, se puede calcular D j (n) como
j j
la diferencia entre los valores del modelo RC (n) y del metamodelo RF (n), con
j = 1, ..., m, de manera que el intervalo para la media de D(n) = RF (n)−RC (n),
con un nivel de confianza α vendrı́a dado por la expresión siguiente:
⎛ . . ⎞
/ 2 / 2
/S (m) /S
⎜ 0 Dj (n) 0 Dj (n) (m) ⎟
⎝D(n) − tm−1,1−α/2 , D(n) + tm−1,1−α/2 ⎠ (8.16)
m m
En el caso de que se identificara que hay diferencia significativa entre el modelo Otras
y la superficie para el punto C, habrı́a que evaluar la posibilidad de contruir superficies
un modelo de regresión de segundo orden o cuadrático, de la forma siguiente:
2
E [R(s, Q)] = β0 + βs xs + βQ xQ + βsQ xs xQ + βss xs2 + βQQ xQ (8.17)
Para obtener los coeficientes βss y βQQ es necesario definir nuevas combinacio-
nes de los valores de los factores adicionales a las utilizadas para la superficie
de primer orden. Para conocer cómo construir la superficie, se recomienda
consultar Montgomery [?].
Por último y admitiendo que la superficie fuera adecuada es posible explotar Explotación del
el modelo para buscar óptimos locales cercanos a los puntos correspondientes metamodelo
a las combinaciones de las factores estudiadas.
8.6. Ejemplo 2
Para realizar este ejercicio, además del material disponible para el ejercicio
anterior, se puede utilizar el archivo Ejemplo8-1 100R.xpt para facilitar la
j
realización de las replicaciones que permiten obtener las diferencias RC (n) y
j
RF (n)
En primer lugar, para obtener la expresión de la superficie 8.17, hay que obte- Estimación de
ner la estimación de β0 , βs , βQ y βsQ de acuerdo con las expresiones 8.15. Para las βs
ello, en la fila 20 de la hoja Experimentos y superficie hay que introducir
las fómulas, que se refieren a los efectos de los factores calculados en las cel-
das P13:P15. Haciendo esto se obtienen los valores β0 = 263,65,βs = −30,57,
βQ = −14,99 y βsQ = −1,08, de manera que la superficie, en función de xs y
de xQ tiene la forma siguiente:
Superficie en
E [R(s, Q)] = 263,25 − 30,57xs − 14,99xQ − 1,08xs xQ (8.18) función de xs y
xQ
Capı́tulo 8. DISEÑO DE EXPERIMENTOS Y SUPERFICIES DE RESPUESTA 188
Para poder hacer predicciones a partir del metamodelo, si se utiliza la expre- Valores de xs y
sión anterior, es necesario obtener los valores de xs y sQ a partir de s y Q. sQ
Existen 10 cuadros azules, cada uno correspondiente las m = 10 observacio- Estructura hoja
j j
nes de RF (n) y las m = 10 observaciones de RC (n). Cada cuadro contiene Comprobacion
cinco filas corresondientes a cuatro combinaciones de los factores de experi- punto C
mentación. Los cuatro primeros, correspondientes a un diseño 22 y la quinta
corresondiente al punto C. Cada cuadro tiene además tantas columnas dispo-
nibles como las replicaciones que hay que realizar en cada caso (n = 10). Para
j j
cada cuadro, es posible obtener los valores de RF (n) y RF (n)
j j
Figura 8.7: Diferenicias entre RF (10) y RC (10).
8.7. Resumen
Si los modelos son muy pesados, y su ejecución 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 aproximación, un modelo de regresión de
primer orden puede ser suficiente. Si no lo fuera, se pueden construir metamo-
delos de orden superior, que son más fieles al modelo pero exigen un mayor
tiempo de computación.
Capı́tulo 9
REDUCCIÓN DE LA VARIANZA
9.1. Introducción
La calidad de los resultados se puede medir según la amplitud del intervalo de Cómo mejorar
confianza que acompaña al valor estimado, expresado por: la eficiencia
S 2 (n)
y(n) ± tn−1,1−α/2 (9.1)
n
Uno de los caminos para aumentar la eficiencia de la simulación es mejorar
la programación para conseguir modelos que requieran menos recursos para
su ejecución. De este modo, con el mismo esfuerzo de computación, se puede
aumentar el número 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 simulación tengan una varianza menor. Si se consiguen datos con me-
nor varianza, S 2 (n) disminuye y el intervalo de confianza será más estrecho.
Por tanto la precisión de los resultados crece sin aumentar la duración de la
simulación. Al conjunto de técnicas empleadas para lograr este propósito se
les conoce como técnicas de reducción de la varianza (en inglés de ((Variance
Reduction Techniques)), VRT ) y su aplicación puede ser la única manera de
obtener resultados útiles de un proyecto.
Capı́tulo 9. REDUCCIÓN DE LA VARIANZA 192
Como se explica más adelante, la forma de aplicar estas técnicas depende de ¡Las VRT no
cada modelo en particular y no se puede saber de antemano los beneficios siempre
en la reducción de la varianza de aplicarlas. Como consecuencia, la mayorı́a funcionan!
de las estas técnicas necesitan un estudio previo para saber si su aplicación
contribuye a una mejora en la eficiencia de los recursos o si, por el contrario,
conllevan una pérdida de rendimiento.
En la secciones 9.2 y 9.3 se desarrollan brevemente los fundamentos de dos Estructura del
técnicas de reducción de la varianza (números aleatorios comunes y variables capı́tulo
antitéticas). Estas técnicas se desarrollan de forma práctica en la resolución de
un problema real mediante simulación (sección 9.4).
9.2.1. Fundamentos
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 confianza se estrecha.
Se puede conseguir esta correlación si en cada replicación i se usan los mismos
números 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 también estén relacionadas. Cada núme-
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 telefónico de atención al
cliente (a partir de ahora SAT). Para ello cuenta con dos propuestas y realiza un
estudio de simulación 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 duración de cada llamada (D). Si cada replicación se finaliza
tras 100 llamadas, serán necesarios 100 valores tj y otros 100 dj (donde j toma
valores entre 1 y 100) que se generan a partir de 200 números aleatorios. Para
aplicar CRN se utilizan los mismos 200 números aleatorios en ambas alternativas
de manera que cada pareja (y1i , y2i ) comparte los 100 valores (tj , dj ). Si en una
replicación el conjunto d1 , · · · , d100 , por ejemplo, toma valores altos tanto y1i
como y2i tenderán a ser mayores y de este modo se introduce una correlación
positiva en cada par.
9.2.2. Sincronización
La mayor dificultad de aplicar esta técnica reside en conseguir utilizar los mis-
mos números aleatorios con el mismo propósito en ambas configuraciones. Si
se utiliza el número aleatorio ri (0, 1) en la primera alternativa con un propósi-
to determinado debe utilizarse con ese mismo propósito también en la segun-
da. A diferencia del ejemplo anterior, cada configuración puede necesitar un
número diferente de ri (0, 1), y si se quieren hacer n replicaciones se complica
localizar donde se ha empleado cada número aleatorio. Para solucionar este
problema la mayorı́a de los programas de simulación agrupan sus números
aleatorios en series numeradas a las que se puede acceder selectivamente. De
este modo se puede sincronizar el uso de los números aleatorios empleando
una serie concreta con un el mismo propósito en las dos configuraciones. Este
método de sincronización se conoce como series dedicadas.
1 ver sección 3
Capı́tulo 9. REDUCCIÓN DE LA VARIANZA 194
Configuración 1 Configuración 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.3.1. Fundamentos
compense con un valor alto en la otra (es decir, que estén 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
matemáticamente de la siguiente manera:
(1) (2)
yi + yi Y (1) + Y (2) μY + μY
mi = ⇒ E(M) = E = = μY
2 2 2
(1) (2)
y, por tanto, cuanto mayor sea la correlación negativa entre yi e yi menor
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 análisis de M son aplicables a Y . Como ven-
taja, tiene una varianza menor por lo que se obtiene un intervalo de confianza
más estrecho.
9.3.2. Aplicación
Y (1) Y (2)
Rep. Variables: regulares Variables: antitéticas
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: aplicación de AV para una de las configuraciones del ejemplo 5.2.1
En primer lugar se resuelve el ejemplo anterior sin aplicar ninguna técnica de Objetivos del
reducción de la varianza y después se resuelve aplicando CRN. Como conclu- ejemplo
sión se comparan los resultados obtenidos por ambos métodos. Por tanto, el
objetivo de esta sección es doble: por un lado, exponer de manera práctica
como aplicar el método CRN y, por otro, demostrar el gran beneficio que en
algunos casos supone aplicar este tipo de técnicas.
4. Proceder como en el caso anterior para llevar los datos generados al lugar
correspondiente de la hoja ((Análisis CRN)).
Las semillas de Witness se organizan en series y subseries tal y como muestra Semillas en
la figura 9.3. Hay un total de 400.000 series, divididas a su vez en 10.000 subse- Witness
ries. Cada subserie contiene 7, 5x1047 números aleatorios. Estos números alea-
torios se usan como semillas para generar valores de las variables aleatorias
del modelo (ver sección 3.5). Se puede controlar el uso de semillas asignando
series concretas las funciones. La sintaxis para hacerlo es la siguiente:
FUNCIÓN(parámetros, serie)
FUNCIÓN(parámetros, 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 especifica ninguna
Capı́tulo 9. REDUCCIÓN DE LA VARIANZA 200
Como se explica en la sección 9.2, la base de la técnica CRN es la sincroni- Como asignar
zación. En los dos modelos se utilizan números aleatorios con los mismos las series para
propósitos: generar tiempos entre llegadas de nuevos clientes y generar dura- aplicar CRN en
ciones de servicio. La sincronización se consigue asignando la misma serie en el ejemplo
las dos alternativas, para cada uno de estos propósitos.
Los pasos para resolver el ejemplo aplicando CRN son los siguientes:
Primera alternativa:
7. Importar los datos del archivo Ej5-1.csv generado en la hoja ((CSV CRN
1)) del archivo Ejemplo5-1.xls .
ción también se cambia de serie. Por ejemplo, si en una función se emplea la serie 50 en la
replicación 1, al pasar a la replicación 2 se emplea la serie 51
Capı́tulo 9. REDUCCIÓN DE LA VARIANZA 201
Segunda alternativa:
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 replicación i aplicando CRN y sin aplicarlo. A partir de estos
valores se obtiene un cuadro como 9.2 donde se presentan los resultados del
análisis.
NOTA: Existe una fuerte correlación entre y1i e y2i (0,72) a pesar de no
haberla inducido intencionadamente. Se debe a que con la asignación au-
tomática de Witness se consigue una sincronización 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.
Proporción de CONTAR.SI 56 % 55 % 96 %
aciertos (F16:F115;
> 0
)/100
Resultado NO NO SI
significativo
Figura 9.4: gráfico de correlación entre Y2i (eje vertical) e Y1i (eje horizontal)
Figura 9.5: comparación del valor de los pares (Y1i , Y2i ) ordenados por repli-
cación
¿Cuál serı́a su estimación del tiempo medio que pasarán los clientes en
la cola antes de poder utilizar uno de los cajeros? El resultado debe
expresarse en forma de un intervalo de confianza al 90 %.
Capı́tulo 9. REDUCCIÓN DE LA VARIANZA 204
En este caso solo se considera una única 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 reducción de la varianza resultante de
aplicar AV , se lleva a cabo el estudio de simulación mediante dos experimentos con
la misma duración:
El primero de ellos consta de 200 replicaciones sin controlar la asignación de
números aleatorios. Los valores obtenidos se analizan como 200 observaciones
del tiempo medio de espera. El resultado se da en forma de un intervalo de
confianza 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 también res válido para el
valor esperado del tiempo medio de espera.
Como se comentó en el ejemplo anterior, este problema se puede resolver analı́tica- Ya se sabe el
mente y el valor esperado de la variable de salida es E(Y ) = 3, 70. La comparación de resultado...
los dos métodos se hace en función del valor puntual obtenido y de la amplitud del
intervalo de confianza al 90 % que lo acompaña.
Los archivos necesarios para seguir la resolución 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 antitéticos.
Ejemplo5-2.xls : es la hoja de cálculo donde se debe resolver el ejemplo.
Ejemplo5-2 solucion.xls : muestra como debe quedar la hoja de cálculo una
vez resuelto el ejemplo.
3. Importar los datos del archivo generado Ej5-2.csv en la hoja ((CSV)) del
archivo Ejemplo5-2.xls .
2. Asignar una serie a la función 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 función mediante la que se generan las
duraciones de los servicios. Para evitar qué se solapen sustituir, por ejemplo,
NEGEXP(0.9,200) por NEGEXP(0.9,200).
5. Importar los datos del archivo generado Ej5-2.csv en la hoja ((CSV AV))
del archivo Ejemplo5-2.xls .
Capı́tulo 9. REDUCCIÓN DE LA VARIANZA 206
Para analizar los datos del primer experimento se calcula directamente un in-
tervalo de confianza de su media al 90 %. En el segundo experimento. Por otro lado,
en el segundo experimento el intervalo ed confianza se calcula para el conjunto de
(1) (2)
valores obtenidos promediando cada par (yi , yi ). En el cuadro 9.3 se presentan
los intervalos obtenidos mediante los dos métodos.
Sin AV Con AV
y(n) PROMEDIO(D14:D213) 4,11 PROMEDIO(H14:H113) 4,04
Pronóstico SI SI
acertado
Además, se observa que aunque en ambos casos el valor real esperado (Y = 3, 70)
está contenido en el intervalo de confianza, el valor puntual se acerca más en el caso
de aplicar AV.
Capı́tulo 9. REDUCCIÓN DE LA VARIANZA 207
5
Capı́tulo 10
OPTIMIZACIÓN Y SIMULACIÓN
10.3. Ejemplo