You are on page 1of 291

1. SIMULACION.

CONCEPTOS BSICOS Y APICABILIDAD




La tcnica de la simulacin ha sido una herramienta importante en el diseo de sistemas, bien sea la
simulacin de un vuelo, la simulacin de una distribucin en planta, la simulacin de un juego o la simulacin de
un proceso productivo. Mediante la simulacin, el Investigador de Operaciones obtiene los medios de
observacin y experimentacin que han sido la esencia de los mtodos cientficos. La construccin y operacin
de un modelo de simulacin, permite la observacin del comportamiento dinmico de un sistema en
condiciones controladas, pudiendo efectuarse experimentos para comprobar hiptesis acerca del sistema bajo
estudio. El uso moderno de la palabra simulacin se debe a la popularizacin que hicieron Von Neumann y
Ulam del trmino "Anlisis de Montecarlo" para estudiar problemas de difusin de neutrones y a la rpida
adaptacin del mismo para resolver problemas no probabilsticos difciles, tales como integrales mltiples. Al
popularizarse el uso de los computadores, surgieron incontables aplicaciones y con ello un mayor nmero de
problemas tericos y prcticos, ya que es posible experimentar con modelos matemticos que describen algn
sistema de inters.

1.1. Definicin de simulacin

Existen muchas definiciones de la simulacin, unas ms apropiadas que otras, dependiendo de la forma como
se mire a la simulacin; algunas de las definiciones son las siguientes:

a) Martin Shubick da la siguiente definicin:
"La simulacin de un sistema u organismo es la operacin de un modelo (o simulador) que es una
representacin del sistema. Este modelo puede sujetarse a manipulaciones que seran imposibles de
realizar en el sistema real, demasiado costosas o poco prcticas. La operacin del modelo puede
estudiarse y de ese estudio pueden inferirse las propiedades concernientes al comportamiento del sistema
o subsistema real".

b) La simulacin es, esencialmente, una tcnica que ensea a construir el modelo de una situacin real junto
con la realizacin de experimentos con el modelo.

El principal inters de la simulacin se centra en el uso del computador, el cual ha hecho que la simulacin
adquiera validez. Por lo tanto, estamos interesados en dar una definicin que est de acuerdo con nuestro
inters. Esa definicin puede ser la siguiente:

c) La simulacin es una tcnica numrica para realizar experimentos en un computador digital, los cuales
requieren ciertos tipos de modelos lgicos y matemticos, que describen el comportamiento de un negocio
o sistema econmico (o algn componente de ellos) en perodos de tiempo real.

d) La simulacin por computador tambin puede definirse como "un mtodo para predecir las caractersticas
dinmicas de una organizacin y as mejorar las bases para el proceso de la toma de decisiones".

e) La simulacin es esencialmente una tcnica de muestreo estadstico controlado (experimentacin) que se
emplea, conjuntamente con un modelo, para obtener respuestas aproximadas para preguntas sobre
problemas probabilsticos complejos de mltiples factores.

La simulacin es una ayuda formal para la toma de decisiones, la cual es adaptable a las complejidades y
cambios de los negocios modernos y que puede desarrollarse y comunicarse eficientemente.

La simulacin es un desarrollo natural de la investigacin de operaciones y generalmente se usa en aquellos
casos en que las otras tcnicas de la investigacin de operaciones han fallado.

Las tcnicas de la investigacin de operaciones usan modelos simblicos y procesos matemticos deductivos
para predecir los efectos de las soluciones alternativas de un problema y determinar cul es la mejor solucin,
o aproximadamente la mejor.

La simulacin de sistemas tambin puede definirse como "La tcnica de resolver problemas siguiendo, sobre el
tiempo, los cambios que ocurren en un modelo dinmico del sistema".

Dado que la tcnica de la simulacin no intenta resolver analticamente las ecuaciones de un modelo, el modelo
matemtico construido para los propsitos de la simulacin es usualmente de naturaleza diferente de uno
construido para solucin por tcnicas analticas. Cuando se construye un modelo para encontrar la solucin
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 2
analticamente, es necesario considerar el conjunto de restricciones impuestas por la tcnica analtica y evitar
complicar demasiado el modelo. Un modelo de simulacin puede construirse ms libremente.

En sistemas continuos, donde el principal inters est en cambios suaves, generalmente se usan conjuntos de
ecuacin diferenciales para describir el sistema. Simulaciones basadas en tales modelos reciben el nombre de
simulaciones continuas. Los computadores anlogos son usados con frecuencia para simulaciones continuas,
aunque tambin es posible usar computadores digitales, empleando intervalos de tiempo pequeos para
integrar las funciones.

Para sistemas discretos, en los cuales el principal inters est en los eventos, las ecuaciones son
esencialmente ecuaciones lgicas que establecen las condiciones necesarias para que ocurra un evento. La
simulacin consiste en seguir los cambios en el estado del sistema resultantes de la sucesin de eventos. Tales
simulaciones reciben el nombre de "simulaciones discretas". Es posible avanzar el tiempo en pequeos
incrementos y chequear en cada paso, si algunos eventos deben ser ejecutados. Sin embargo, como regla
general la simulacin discreta se realiza decidiendo sobre la secuencia de eventos y avanzando el tiempo al
siguiente evento ms inminente.

En este documento solo enfocaremos la atencin en el estudio de simulaciones discretas

1.2. Naturaleza experimental de la simulacin

La tcnica de la simulacin no realiza ningn intento especfico por aislar las relaciones entre las variables
particulares; en su lugar, observa el modo en que las variables cambian con el tiempo para tratar de reproduci r
su comportamiento. Las relaciones de las variables deben derivarse a partir de estas observaciones. Lo que la
simulacin hace es tratar de reproducir, mediante un modelo, el comportamiento del sistema, como si se
estuviramos realizando un experimento en el sistema real, y aquellos aspectos que no conozcamos, por su
naturaleza aleatoria, los simulamos (generamos) mediante algunos mtodos estadsticos, tratando de
conservar sus propiedades. La simulacin, es por lo tanto, esencialmente una tcnica experimental para
resolver problemas. Deben realizarse muchas corridas de una simulacin para entender y poder analizar las
relaciones envueltas en el sistema. Por consiguiente el empleo de la simulacin en un estudio debe planearse
como una serie de experimentos por computador.

Para realizar una simulacin debe tenerse un conocimiento completo del sistema o situacin que se desee
analizar. Un modelo de simulacin simplemente lo que trata es de reproducir el comportamiento del sistema,
como si estuviramos realizando un experimento, y a travs de dicho experimento se van produciendo todas las
variables que describen su comportamiento. En el apndice al final de este captulo, se presenta un juego de
lanzamiento de monedas, en el cual se desarrolla inicialmente un modelo analtico, luego se explica cmo se
realizara el juego en la prctica y posteriormente se desarrolla un modelo de simulacin.

La forma en que se realice un estudio de simulacin depende de la naturaleza del estudio, es decir, del fin que
se busca al estudiar el sistema. Generalmente los estudios del sistema son de tres tipos: Anlisis de sistema,
diseo de sistemas y postulacin de sistemas; muchos estudios combinan dos o tres de los aspectos anteriores
o alternan entre ellos a medida que el estudio avanza. El anlisis de sistemas est orientado a entender cmo
trabaja un sistema existente o un sistema propuesto. La situacin ideal sera que el investigador pudiera
experimentar con el sistema real. Actualmente lo que se hace es construir un modelo del sistema y, por
simulacin, investigar el desempeo del sistema.

En los estudios de diseo de sistemas, el objeto es producir un sistema que cumpla algunas especificaciones.
El diseador puede seleccionar o planear ciertos componentes del sistema, y escoger una combinacin
particular de componentes para construir el sistema. El sistema propuesto es modelado y se predice su
desempeo a partir del comportamiento del modelo. Si el comportamiento predicho se compara
favorablemente con el comportamiento deseado, el sistema es aceptado. En caso contrario, se redisea el
sistema y se repite el proceso.

La postulacin de sistemas es caracterstico del modo en que se emplea la simulacin en estudios sociales,
econmicos, polticos, y mdicos, donde se conoce el comportamiento del sistema, pero no las causas que
producen ese comportamiento. Se establecen hiptesis sobre un conjunto probable de entidades y actividades
que pueden explicar el comportamiento. El estudio compara la respuesta del modelo basado en las hiptesis
establecidas con el comportamiento real conocido. Un parecido razonable conduce a la suposicin de que la
estructura del modelo representa al sistema actual, lo cual permite postular la estructura del sistema. Muy
probablemente el comportamiento del modelo da una mejor comprensin del sistema y posiblemente ayuda a
formular un conjunto ms refinado de hiptesis.
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 3

1.3. Justificacin para el uso de la simulacin - Ventajas

En general, la Simulacin surge en dos tipos diferentes de problemas:

a) Aquellos problemas que involucran alguna clase de proceso estocstico: Demanda por un artculo, tiempo
de espera antes de empezar una produccin, etc.

b) Ciertos problemas matemticos completamente determinsticos que no pueden resolverse fcilmente por
mtodos analticos o determinsticos; sin embargo, es posible obtener soluciones aproximadas a estos
problemas simulando un proceso estocstico cuyos momentos, funcin de densidad o de distribucin
satisfacen las relaciones funcionales o los requisitos del problema determinstico. Por ejemplo: Ecuaciones
diferenciales complejas, etc.

Cuando se est estudiando un sistema por medio de la investigacin de operaciones, es necesario usar la
simulacin en aquellas etapas que estn ocasionando dificultades. Por ejemplo:

1. Existen situaciones en las cuales es imposible o extremadamente costoso observar ciertos procesos en la
vida real. Ejemplo: Vuelos espaciales, ingreso nacional bruto en los tres prximos aos, etc.

2 Ciertos sistemas observados son tan complejos que es imposible describirlos en trminos de un conjunto de
ecuaciones matemticas para las cuales sea posible obtener soluciones analticas que puedan emplearse
para predecir el comportamiento del sistema. La mayora de sistemas econmicos caen en esta categora,
por ejemplo, la economa de un pas, o la operacin de un negocio.

3 Aunque pueda desarrollarse un modelo matemtico para describir un sistema de inters, puede no ser
posible obtener una solucin al modelo por medio de tcnicas analticas. Por ejemplo: sistemas complejos
de fenmenos de espera o sistemas de inventarios. Aunque este enfoque no garantiza solucin ptima o
exacta al modelo que describe el sistema, puede ser posible experimentar con un nmero de soluciones y
reglas de decisin alternativas para determinar qu soluciones y reglas de decisin son ms tiles para
realizar predicciones acerca del comportamiento del sistema. Posteriormente se ilustrarn estos aspectos
por medio de ejemplos, de problemas de inventario y de procesamiento de rdenes a travs de varios
procesos.

4 Puede ser imposible o sumamente costoso realizar experimentos de validacin sobre el modelo matemtico
que describe el sistema. Es decir, no hay forma de verificar si el modelo diseado s representa el sistema
real o si la solucin encontrada s corresponde realmente a la solucin del problema que se tiene.

Aunque la razn principal para escoger la simulacin es la facilidad para vencer las dificultades explicadas
antes, hay otras razones o ventajas para su empleo, tales como:

5 La simulacin hace posible estudiar y experimentar con las interacciones complejas que ocurren en el
interior de un sistema. A travs de la simulacin se pueden estudiar ciertos cambios informativos, de
organizacin o ambientales en la operacin de un sistema, al hacer alteraciones en el modelo y observar los
efectos de estas alteraciones en el comportamiento del sistema.

6 La observacin detallada del sistema que se est simulando conduce a un mejor entendimiento del mismo
y proporciona sugerencias para mejorarlo.

7 La simulacin puede usarse como un recurso pedaggico

8 La simulacin de un sistema complejo puede producir un conocimiento valioso y profundo acerca de cules
variables son ms importantes que otras, y cmo se relacionan entre s.

La simulacin puede emplearse para experimentar con situaciones nuevas acerca de las cuales se tiene muy
poca o ninguna informacin, con el objeto de estar preparados para cualquier eventualidad.

9 Para ciertos tipos de problemas estocsticos la secuencia de los eventos puede ser muy importante, pues la
informacin de los valores esperados y los momentos suele no ser suficiente para describir el proceso. En
estos casos, la simulacin puede ser la nica forma satisfactoria de obtener la informacin requerida.

10 La simulacin puede realizarse para verificar soluciones analticas.

11 La simulacin permite estudiar los sistemas dinmicos, ya sea en tiempo real, comprimido o expandido.

12 Cuando se presentan nuevos componentes de un sistema, la simulacin puede emplearse para ayudar a
descubrir los obstculos y otros problemas que resultan de la operacin del mismo.
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 4

1.4. Desventajas de la simulacin

La simulacin como cualquier otra tcnica tiene sus desventajas, de las cuales las principal es son:

1 Los modelos de la simulacin para computador son muy costosos de construir y validar. En general debe
construirse un programa para cada sistema o problema.

2. La corrida del programa de simulacin, una vez construido, puede necesitar una gran cantidad de tiempo de
computador.

3 La principal desventaja de la simulacin est dirigida hacia la gente, en vez de la tcnica. La gente tiende a
usar la simulacin cuando no es el mejor mtodo de anlisis. Cuando las personas se familiarizan con la
metodologa de la simulacin, intentan emplearla en situaciones en que otras tcnicas analticas son ms
apropiadas.

1.5. Etapas generales de la simulacin

Un estudio de simulacin puede dividirse en tres grandes reas, no completamente independientes entre s, a
saber:

1 Establecimiento del modelo de simulacin, lo cual incluye aspectos tales como identificar el problema a
resolver (conocer qu preguntas se deben responder), que suposiciones se deben hacer, y definir el modelo
a emplear.

2. Ejecucin de la simulacin en un computador digital. En este punto se consideran las tcnicas y
metodologas, simples y avanzadas, requeridas para obtener los resultados. de programacin. Esto incluye
aspectos tales como generacin de variables aleatorias, mtodos para manejo de las variables, precisin de
los estimativos, etc.

3 Anlisis de los resultados. Dadas unas preguntas que se deban resolver y unas respuestas dadas por el
modelo, se requieren tcnicas estadsticas y grficas para interpretar los resultados y tomar las decisiones.

1.6. Ejemplo. Juego del raspa raspa.

Considere una lotera instantnea. Cada tarjeta tiene tres filas, y en cada fila hay dos casillas, una de
las cuales tiene un valor de $1,000 y la otra $5,000. El jugador raspa una casilla de cada rengln para
descubrir el valor asociado. Si los tres nmeros destapados son iguales, el jugador gana esa
cantidad. En caso contrario no gana nada.








Para evaluar la factibilidad del negocio se desea saber, entre otras cosas, cul es la cantidad mnima
que se debe cobrar por cada boleto.

Solucin.

El valor mnimo que se puede cobrar por cada boleto es la cantidad media que espera ganar quien lo
compre.

Solucin analtica

La ganancia obtenida por quien compra un boleto de esta lotera instantnea es una variable
aleatoria, y est dada por:

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 5

=
casos otros en 0
5000 de valor el tienen destapadas celdas tres las si 5000
1000 de valor el tienen destapadas celdas tres las si 1000
U

Como la utilidad es una variable aleatoria, entonces el criterio de decisin o comparacin sera la
utilidad esperada, dada por:
) 0 ( p 0 ) 5000 ( p 5000 ) 1000 ( p 1000 ) u ( p u ) U ( E
i
i i
+ + = =


Para obtener la utilidad esperada necesitamos calcular la probabilidad de que las tres casillas
destapadas tengan todas el valor de 1000, o el de 5000, probabilidades dadas por:

Si denotamos por X
i
el valor destapado en la casilla de la fila i, i = 1,2,3, entonces tenemos que:

P(1000) = P(X
1
= 1000, X
2
= 1000, X
3
= 1000) = P(X
1
=1000)P(X
2
=1000) P(X
3
=1000)
=(1/2)(1/2)(1/2) = 1/8

De forma similar encontramos que p(5000) = 1/8, y por lo tanto el valor esperado est dado por:

E(U) = 1000 (1/8) + 5000 (1/8) + 0 (6/8) = $750

Por lo tanto, el valor mnimo del boleto ser de $750.

Solucin por simulacin

La solucin por simulacin sera simplemente tratar de reproducir (experimentar) lo que sucede
cuando una persona compra el boleto, y repetir muchas veces este procedimiento con muchas
personas, para calcular la utilidad promedio. Para cada boleto, o para cada persona que compre el
boleto, la utilidad est dada por:

=
casos otros en 0
5000 de valor el tienen destapadas celdas tres las si 5000
1000 de valor el tienen destapadas celdas tres las si 1000
U

El procedimiento para un boleto sera:

Destapar celda en fila 1, y verificar el resultado
Destapar celda en fila 2, y verificar el resultado
Destapar celda en fila 3, y verificar el resultado
Si (todas las celdas son iguales a 1000) entonces
Utilidad = 1000
Si no
Si (todas las celdas son iguales a 5000) entonces
Utilidad = 5000
Si no
Utilidad = 0
Fin si
Fin si
Para simular el destape de una celda, simplemente generamos un nmero aleatorio R, que
representa todos los valores posibles de obtener cuando se destapa una casilla (dos en este caso), y
el resultado se obtiene estableciendo una equivalencia entre el nmero aleatorio R y las diferentes
probabilidades de los valores a destapar. Como solamente son dos valores, y cada casilla contiene o
un valor de 1000 o de 5000, con igual probabilidad, entonces el generador del resultado ser el
siguiente:

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 6
Si R < 0.5 valor destapado = 1000
Si R > 0.5 valor destapado = 5000

Una forma de conocer lo que gana cada jugador al comprar un boleto, consiste en calcular la suma de
las tres filas destapadas, y si esta suma es 3,000 entonces gana $1,000, si es 15,000 entonces gana
$5,000, y si no es ninguna de las dos anteriores, no gana nada.

Para saber la cantidad mnima a cancelar por cada boleto, entonces se simulara el juego de muchos
boletos, se calcula la ganancia de cada boleto, y luego se calcula la ganancia promedio. El algoritmo
siguiente (seudo cdigo) contiene todos los pasos a realizar

Inicio
Definir Nmero_boletos
Para cada boleto =1 hasta Nmero_boletos
Suma_celdas = 0
Para cada fila =1 a 3
Generar nmero_aleatorio
Si nmero_aleatorio <0.5 entonces
Suma_celdas = Suma_celdas + 1,000
Sino
Suma_celdas = Suma_celdas + 5,000
Fin si
Siguiente fila
Si (suma_celdas=3000) entonces
Utilidad(boleto) = 1000
Sino
Si (suma_celdas=15000) entonces
Utilidad(boleto) = 5000
sino
Utilidad(boleto) = 0
Fin si
Fin si
Siguiente boleto
Calcular ganancia promedio
Fin

Para implementarlo en Excel, simplemente debemos identificar las columnas requeridas, y la
informacin que llevara cada una. Necesitaramos una columna para los boletos, y dos columnas por
cada fila, y una ltima columna para la ganancia de cada boleto. Adems, se requerira una fila por
cada boleto. Esas columnas seran:

Columna A: Nmero del boleto, desde 1 hasta el nmero de boletos
Columna B: Nmero aleatorio para la primera fila
Columna C: Valor de la primera celda destapada
Columna D: Nmero aleatorio para la segunda fila
Columna E: Valor de la segunda celda destapada
Columna F: Nmero aleatorio para la tercera fila
Columna G: Valor de la tercera celda destapada
Columna H: Utilidad del boleto.

La configuracin de la hoja de clculo sera la siguiente:

(A) (B) ( C ) (D) (E) (F) (G) (H)
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 7
Boleto
nmero
Nmero
aleatorio 1
Valor
primera
celda
Nmero
aleatorio 2
Valor
segunda
celda
Nmero
aleatorio 3
Valor
tercera
celda
Ganancia
1
2
3
..


En la primera fila podemos colocar un ttulo que identifique el contendido de la hoja de clculo, en la
tercera los encabezados de cada columna, y a partir de la cuarta irn los diferentes boletos.

Para conocer el valor que hay en cada fila se usar la funcin si sencilla, mientras que para conocer
la ganancia del juego se usar la funcin si con otro si anidado.

Las funciones (instrucciones) que iran en las diferentes celdas son los siguientes:

Bi: = aleatorio()
Ci: =si(Bi<0.5;1000;5000)
Di: = aleatorio()
Ei: =si(Di<0.5;1000;5000)
Fi: = aleatorio()
Gi: =si(Fi<0.5;1000;5000)
Hi: =si(Ci+Ei+Gi=3000;1000;si(Ci+Ei+Gi=15000;5000;0))

Las anteriores celdas se escriben en la cuarta fila, y luego se copian en las filas restantes tantas
veces cuantas sean necesarias, segn el nmero de boletos.

En la fila 2, columna H colocamos la ganancia promedio segn el nmero de boletos, dada por:

H2 = promedio(h4:hn) , donde n representa la ltima fila de la simulacin

El siguiente cuadro presenta un resumen con los resultados de una simulacin de 5000 boletos

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 8

Juego del raspa raspa
Utilidad media = 817,8
Boleto
nmero
(A)
Nmero
aleatorio 1
(B)
Valor
primera
celda (C)
Nmero
aleatorio 1
(D)
Valor
segunda
celda (E)
Nmero
aleatorio 1
(F)
Valor
tercera
celda (F)
Valor
ganado
(G)
1 0,067 1000 0,316 1000 0,219 1000 1000
2 0,090 1000 0,759 5000 0,551 5000 0
3 0,063 1000 0,625 5000 0,774 5000 0
4 0,441 1000 0,129 1000 0,910 5000 0
5 0,002 1000 0,328 1000 0,746 5000 0
6 0,431 1000 0,323 1000 0,666 5000 0
7 0,997 5000 0,893 5000 0,777 5000 5000
8 0,191 1000 0,436 1000 0,781 5000 0
9 0,795 5000 0,659 5000 0,971 5000 5000
10 0,586 5000 0,867 5000 0,279 1000 0
11 0,461 1000 0,835 5000 0,741 5000 0
12 0,542 5000 0,148 1000 0,557 5000 0
13 0,085 1000 0,244 1000 0,712 5000 0
14 0,860 5000 0,403 1000 0,122 1000 0
15 0,746 5000 0,913 5000 0,030 1000 0
16 0,629 5000 0,463 1000 0,802 5000 0
17 0,361 1000 0,831 5000 0,645 5000 0
18 0,670 5000 0,397 1000 0,877 5000 0
19 0,761 5000 0,567 5000 0,533 5000 5000
20 0,514 5000 0,447 1000 0,091 1000 0
21 0,430 1000 0,176 1000 0,283 1000 1000
22 0,906 5000 0,038 1000 0,693 5000 0
23 0,813 5000 0,874 5000 0,539 5000 5000
24 0,689 5000 0,637 5000 0,371 1000 0
25 0,812 5000 0,278 1000 0,114 1000 0
26 0,150 1000 0,349 1000 0,859 5000 0
27 0,553 5000 0,705 5000 0,803 5000 5000
28 0,144 1000 0,397 1000 0,135 1000 1000
29 0,425 1000 0,403 1000 0,399 1000 1000
30 0,179 1000 0,051 1000 0,705 5000 0
31 0,469 1000 0,080 1000 0,902 5000 0
32 0,241 1000 0,504 5000 0,102 1000 0
33 0,301 1000 0,845 5000 0,972 5000 0
34 0,463 1000 0,217 1000 0,312 1000 1000
35 0,721 5000 0,244 1000 0,758 5000 0
36 0,896 5000 0,934 5000 0,102 1000 0
37 0,322 1000 0,487 1000 0,987 5000 0
38 0,210 1000 0,087 1000 0,055 1000 1000
39 0,521 5000 0,800 5000 0,844 5000 5000
40 0,535 5000 0,669 5000 0,773 5000 5000
Simulacin del juego del raspa raspa
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 9

1.7. Un modelo de simulacin. Juego del lanzamiento de la moneda

El objetivo de este apndice es mostrar, mediante un problema sencillo, la naturaleza experimental de la
simulacin y los casos en que debe usare la simulacin como herramienta de ltimo recurso. Es decir, se
ilustrar mediante un juego de lanzamiento de monedas, en qu forma se realiza una simulacin, ejecutando
los mismos pasos que se realizaran en un juego real. El problema planteado es el siguiente:

A usted le proponen el siguiente juego: Usted lanza una moneda y cuenta el nmero de caras y sellos que va
obteniendo. El juego se termina slo cuando la diferencia entre caras y sellos sea tres, no interesa cual sea
mayor. En ese instante usted recibe $8.00 por el juego, pero tiene que pagar $1.00 por cada lanzamiento de la
moneda que usted haya hecho. Le conviene a usted participar en este juego ?

El problema consiste en determinar si es favorable o no participar en este juego. En principio diremos que es
favorable participar en el juego si a la larga esperamos ganar, es decir, la utilidad esperada del juego es mayor
o igual que cero. Para obtener la respuesta ensayaremos diferentes soluciones, empezando primero por una
solucin de tipo analtico, luego por la experimentacin con el sistema real, y finalmente por una solucin tipo
simulacin.

1.7.1. Solucin analtica

Inicialmente podemos intentar solucionar analticamente esta situacin. El juego es favorable si esperamos
obtener alguna utilidad del mismo.

Para un juego cualquiera la utilidad U est dada por:

U(x) = Ingresos - Egresos = 8 - X, x = 3, 5, 7, ...,

donde X es el nmero de lanzamientos, y por cada lanzamiento se paga un peso. El nmero de lanzamientos en
que puede terminarse un juego es mnimo tres, y puede ser 5, 7, 9, 11, ...; el juego no puede termi nar en un
nmero par de lanzamientos. Como el nmero de lanzamientos -X- es una variable aleatoria, entonces
debemos hablar, como criterio de decisin, de la utilidad esperada, que est definida como:
E (U) = E U(x) P(x)

donde P(x) es la funcin de densidad del nmero de lanzamientos en que puede terminar el juego, y representa
la probabilidad de que el juego termine en x lanzamientos. El juego es favorable si E(U) > 0.

Para calcular la utilidad esperada debemos conocer P (x), para los diferentes valores de x, donde x = 3, 5, ...,
hasta aquellos valores de x para los cuales P (x) sea aproximadamente cero.

Clculo de P (x)

P (X=3) = Probabilidad de que el juego termine en tres lanzamientos
= Probabilidad de que los tres primeros lanzamientos sean todos cara todos sean sellos
= Prob (Tres primeros lanzamientos sean cara)
+ Prob (Tres primeros lanzamientos sean sello)
= P(CCC) + P(SSS) = ()
3
+ ()
3
=

P (X=5) = Probabilidad de que el juego termine en 5 lanzamientos
= Probabilidad de obtener cuatro caras y un sello o cuatro sellos y una cara, dado que el juego no
haba terminado antes.
P (X=5) = P(CCSCC) + P(CSCCC) + P(SCCCC) + P(SSCSS) + P(SCSSS) + P(CSSSS)
= 6()
5
= 3/16

Los eventos CCCSC, CCCCS, SSSCS y SSSSC no estn incluidos en el clculo de la probabilidad de terminar
en 5 lanzamientos. Por qu ?. Esta probabilidad no est dada por las combinaciones de 5 tomadas de a 4, ni de
5 tomadas de a uno.

El clculo de P (X = 7) es la probabilidad de obtener 5 caras y 2 sellos o 5 sellos y dos caras, pero para su
clculo hay que eliminar aquellas combinaciones que den como resultado que el juego termine en 3 y en 5
lanzamientos. Para el clculo de estas probabilidades hay que tener en cuenta el orden en que van cayendo las
monedas. El clculo de las restantes probabilidades es an ms complicado (aunque no es imposible de
obtener).

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 10
Como se puede apreciar en este ejemplo sencillo, es posible construir un modelo analtico para el juego, pero
una solucin analtica es difcil

1.7.2. Experimentar con el Sistema Real

En este sistema sencillo, para tomar una decisin de participar o no en el juego, podemos experimentar con el
sistema real, es decir, podemos realizar varios juegos, a manera de ensayo, y con base en esos resultados,
decidir si participamos o no en el juego que nos estn proponiendo. El procedimiento para experimentar con el
sistema real sera el siguiente:

a) Definir el tamao de la muestra, es decir, el nmero de juegos a realizar (N)
b) Para cada juego j, (j = 1, N), se inicializa:
Nmero de caras = cero
Nmero de sellos = cero
c) Se lanza la moneda
d) Se mira el resultado: Cara o sello
Si es cara, se aumenta el nmero de caras en uno
Si es sello, se aumenta el nmero de sellos en uno
e) Si el nmero de caras menos sellos o sellos menos caras es igual a tres el juego termina y haramos el
paso f; si no es igual a tres, se repite el proceso de lanzar de nuevo la moneda, es decir, haramos el
paso c.
f) Cuando se termina un juego, se calcula la utilidad del juego, dada por:
Uj = Utilidad = 8 - nmero de lanzamiento de la moneda
donde el nmero de lanzamientos es igual al nmero de caras ms el nmero de sellos.
g) Si quedan ms juegos por realizar, se repite el paso b)
Si ya se han realizado todos los juegos, se pasa a la etapa h).
h) Se calcula la utilidad promedia de todos los juegos realizados, dada por:

=
=
N
1 i
j
U
N
1
U
Si U > 0 el juego es favorable
1.7.3. Solucin por Simulacin

Otra forma de analizar la bondad del juego es mediante la simulacin. Es decir, no se lanzan "realmente" las
monedas, como en la alternativa anterior, sino que "se simula" el lanzamiento de las mismas, y se examina si
el resultado fue cara o sello. De nuevo, el juego se termina cuando la diferencia entre las caras y los sellos sea
tres. El juego simulado se realiza varias veces y al final se obtiene la utilidad media por juego.

El procedimiento para simular el juego es exactamente el mismo que para realizarlo, con la nica diferencia de
que no se lanza una moneda real, sino que se simula su lanzamiento.

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 11
El procedimiento para simular el juego sera prcticamente el mismo que para jugarlo, excepto que no se lanza
la moneda sino que se simula su lanzamiento:

a) Definir el nmero de juegos a realizar (N)
b) Para cada juego j, (j = 1, N), se inicializa:
Nmero de caras = cero
Nmero de sellos = cero
c) Se simula el lanzamiento de la moneda
d) Se investiga el resultado: Si cara o sello
Si es cara, se aumenta el nmero de caras en uno
Si es sello, se aumenta el nmero de sellos en uno
e) Si el nmero de caras menos sellos o sellos menos caras, es igual a tres, es decir, si termina un juego,
se hace el paso f, si no, se repite el paso c, es decir, se lanza de nuevo la moneda.
f) Cuando un juego termina, se calcula la utilidad del juego dado por:
Uj = Utilidad = 8 - nmero de lanzamiento de la moneda
donde el nmero de lanzamientos es igual al nmero de caras ms el nmero de sellos.
g) Si quedan ms juegos por realizar, se repite el paso b)
Si ya se han realizado todos los juegos, se pasa a la etapa h).
h) Se calcula la utilidad promedia de todos los juegos realizados, dada por:

=
=
N
1 i
j
U
N
1
U
Si U > 0 el juego es favorable
La figura 1, ilustra, mediante una diagrama de flujo descriptivo, el procedimiento necesario para realizar varios
juegos. El diagrama de flujo contempla tres aspectos bsicos que hay que considerar en cualquier simulacin,
que son:

a) Inicializacin del sistema a simular, la cual se realiza una sola vez y que comprende la inicializacin y
definicin de las variables que se van a usar (Paso 1 del procedimiento dado antes).
b) El algoritmo de la simulacin, es decir, la simulacin propiamente dicha, con todos los cambios que sean
necesarios en el estado de sistema (Pasos 2, 3, 4 y 5).
c) El resumen e impresin de los resultados
Sin embargo, un diagrama descriptivo no es suficiente para realizar la simulacin, sino que es necesario llevar
ese diagrama descriptivo a un diagrama detallado y luego programarlo para su ejecucin a travs del
computador (en lenguajes de programacin o similares). Para ello es necesario realizar dos tareas:
a) La primera consiste en definir una serie de variables que describan el estado de la simulacin en cualquier
instante. Se necesitan, entre otras, variables que indiquen el nmero de juegos realizados, el nmero de
caras y sellos, la utilidad acumulada de los juegos realizados, las utilidades mnima y mxima, etc. Estas
y otras variables son definidas posteriormente.
b) La segunda tarea, y la ms importante, consiste en definir:
- Cmo se simula el lanzamiento de la moneda y
- Cmo se sabe el resultado del lanzamiento

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 12
A
B

Figura No 1 Juego de la moneda. Diagrama de flujo descriptivo






























Cara












No o No



1.7.4. Si
Comienza la simulacin
Lectura de datos necesarios
para la simulacin
Inicializar nmero de juegos J = 1,
Nro_juegos
Se simula el lanzamiento de
la moneda
Se aumenta el
nmero de caras en
uno
Inicializar variables para recoger
informacin
Incrementa el nmero de juegos
realizados
Lanzamientos = Caras + Sellos
Clculo de la utilidad del juego
Recoge estadsticas sobre el
nmero de lanzamientos
(minimos, mximos, promedios)
Clculo de variables de salida:
Nmero medio de lanzamientos,
utilidad media, desviaciones
estndares, probabilidades, etc..
Nro_caras = Nro_Sellos = 0
Cara o
Sello
=+=
Se aumenta el
nmero de sellos en
uno
|Caras - Sellos|
= 3 ?
A
1
1
Recoge estadsticas sobre la
utilidad por juego (mnimos,
mximos, promedios)
Quedan juegos
por realizar ?
A
Impresin de los resultados
FIN
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 13
Simulacin del lanzamiento de la moneda

El lanzamiento de la moneda se realiza mediante lo que en simulacin recibe el nombre de NUMERO
ALEATORIO. Los nmeros aleatorios, que se estudiarn en el captulo 3, son variables aleatorias que se
distribuyen uniformemente en el rango de cero a uno (0, 1). As, si R es un nmero aleatorio, debe cumplirse
que 0 s R < 1, y todos los nmeros en este rango tienen igual probabilidad de ser generados. Los nmeros
aleatorios son la base de cualquier simulacin, por eso se dice que "la simulacin es una tcnica numrica".

Existen varios mtodos para generar nmeros aleatorios y con base en estos mtodos pueden disearse
diferentes subrutinas. En la mayora de libros bsicos de estadstica se presentan tablas de nmeros aleatorios,
generados mediante estos mtodos. La mayora de lenguajes de programacin presentan mdulos o rutinas
especficas para generar estos nmeros. Igualmente las calculadoras cientficas traen funciones especiales
que producen nmeros aleatorios (tecla RND o RAN#) La funcin RND de Visual Basic genera nmeros
aleatorios R; con esta funcin es posible especificar (mediante la instruccin RNADOMIZE) el valor inicial a
partir del cual se generarn los nmeros aleatorios. Este valor inicial recibe el nombre de la semilla, y por
seguridad debe ser un nmero entero positivo impar. En el lenguaje Java el generador de nmeros aleatorios
es la funcin RANDOM#.. La funcin del excel =aleatorio() es un generador de nmeros aleatorios entre 0 y 1.
En el Capitulo 3 veremos como se disearon estas funciones

En conclusin, el lanzamiento de la moneda lo simulamos mediante la generacin de un nmero aleatorio R, en
el intervalo (0, 1), o sea mediante el uso de las funciones ya mencionadas

Una vez generado el nmero aleatorio, el paso siguiente es establecer una relacin entre las caractersticas del
nmero aleatorio y las caractersticas del fenmeno o proceso que se desea simular. Para nuestro caso, para
obtener el resultado del lanzamiento de la moneda (cara o sello) es necesario conocer las caractersticas de la
moneda, es decir, si es una moneda buena o mala. Si la moneda es "buena" la probabilidad de que caiga cara
es 1/2 y es igual a la probabilidad de que caiga sello. Sea p la probabilidad de que la moneda caiga cara. Si p
= 0.4 quiere decir que de 100 lanzamientos que se hagan, se espera que la moneda caiga cara 40 veces, o sea,
que la fraccin de caras obtenidas con relacin al nmero de lanzamientos debe tender a 0.4. Entonces para
saber si la moneda cae cara o sello es necesario establecer una relacin entre el nmero aleatorio R y la
probabilidad de obtener cara en el lanzamiento de la moneda. Si consideramos nmeros aleatorios de dos
cifras cada uno, entonces entre cero y uno pueden generarse los siguientes nmeros
{00, 01, 02, 03,..., .38, .39, .40, .41,..., .97, .98, .99}

El total de nmeros de dos cifras que pueden generarse es 100. De este total de nmeros de dos cifras
debemos asignar 40 a la probabilidad de obtener cara y 60 para el resultado de sello, cuya probabilidad es 0.6.
Entonces al resultado de cara le podemos asignar los primeros cuarenta nmeros (del 0.00 al 0.39) y al
resultado de sello los ltimos 60 nmeros (del 0.40 al 0.99),

As Si R < 0.40 Se obtiene cara
Si R > 0.40 Se obtiene sello

En general: Si R < p Se obtiene cara
Si R > p Se obtiene sello,

donde p es la probabilidad de obtener cara en el lanzamiento de una moneda.

1.7.5. Informacin para la toma de decisiones

En un estudio de simulacin puede recogerse diferentes tipos de estadsticas que, aunque como en el caso que
nos ocupa no sean indispensables para tomar una decisin de acuerdo al criterio que hemos definido (el cual
est basada en la utilidad media por juego), se emplean para facilitar la toma de decisiones y que sirven para
formarnos una idea de lo que puede esperarse en el juego. Estas estadsticas pueden ser:
1. Referentes a la utilidad dejada por el juego:
- Utilidad mnima por juego
- Utilidad mxima por juego
- Utilidad media por juego
- Desviacin estndar de la utilidad
2. Referente al nmero de lanzamientos por juego:
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 14
- Nmero mnimo de lanzamientos por juego
- Nmero mximo de lanzamientos por juego
- Nmero medio de lanzamientos por juego
- Desviacin estndar del nmero de lanzamientos
- Distribucin del nmero de lanzamientos por juego.

La figura 2 presenta los resultados de efectuar manualmente varios juegos, mediante la ayuda de la hoja de
clculo Excel, y empleando la funcin de excel =aleatorio() para generar los nmeros aleatorios. De esta
muestra de varios juegos se concluye que el juego es favorable; sin embargo el tamao de la muestra es muy
pequeo para llegar una conclusin confiable.

La figura 3 nos presenta el seudocdigo para la simulacin del juego y en el apndice al final del captulo se
presenta el listado, en FORTRAN, del programa escrito para desarrollar la simulacin.

Ahora bien, si se quiere introducir modificaciones al juego, es relativamente fcil hacerlo. Por ejemplo, si se
quiere terminar el juego cuando la diferencia entre caras y sellos sea tres o cuando se haya realizado
determinado nmero de lanzamientos (15 por ejemplo), slo se necesita agregar una nueva instruccin que
nos compare si el nmero total de caras y sellos es igual a ese nmero. Esa instruccin ira despus de la
comparacin entre caras y sellos, cuando el resultado da que su diferencia no es tres.

A continuacin se presentan los resultados obtenidos despus de simular 1.000 juegos con una semilla inicial
ISEM = 727 (programa en fortran). Tambin se presenta la distribucin del nmero de lanzamientos requeridos
para terminar el juego. (La distribucin de la utilidad por juego podra obtenerse de la anterior). Junto con el
resultado de la anterior corrida se presenta el de otra corrida realizada con un nmero inicial de 5727. La
probabilidad de obtener una cara es 0.5.

RESUMEN GLOBAL DE RESULTADOS

Valor de la semilla 727 5727
Nmero de juegos 1000 1000
Nmero mnimo de lanzamientos por juego 3 3
Nmero mximo de lanzamientos por juego 51 51
Nmero medio de lanzamientos por juego 9.04 9.05
Desviacin del nmero de lanzamientos 7.00 7.07
Utilidad mnima por juego -43 -43
Utilidad mxima por juego 5 5
Utilidad media por juego -1.04 -1.05
Desviacin de la utilidad por juego 7.0 7.07
Probabilidad de terminar en tres lanzamientos 23.9 23.9

El juego es, en general, desfavorable

Otras estadsticas obtenidas en la simulacin se muestran en las pginas siguientes. De ah vemos que la
probabilidad de que el juego termine en tres lanzamientos es 23.9% y la terica es 25%.

Anlisis estadstico de los resultados.

Uso de intervalos de confianza para el anlisis de los resultados de la simulacin.

Validacin de los resultados.

Existe alguna diferencia significativa entre el resultado muestral (0.239) y el resultado terico (0.25) para la
probabilidad de terminar el juego en tres lanzamientos?
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 15
Figura No 2
Juego de la moneda. Simulacin manual

Juego
Nmero
Lanza
miento No
Nmero
aleatorio
Resultado Total de Diferencia Utilidad
J X R (C, S) Caras Sellos ABS (C-S) 8 - X
1 0 0 0
1 0.945 S 0 1 1
2 0.973 S 0 2 2
3 0.829 S 0 3 3 5
2 0 0 0
1 0.348 C 1 0 1
2 0.119 C 2 0 2
3 0.080 C 3 0 3 5
3 0 0 0
1 0.228 C 1 0 1
2 0.695 S 1 1 0
3 0.620 S 1 2 1
4 0.964 S 1 3 2
5 0.709 S 1 4 3 3
4 0 0 0
1 0.573 S 0 1 1
2 0.262 C 1 1 0
3 0.916 S 1 2 1
4 0.635 S 1 3 2
5 0.066 C 2 3 1
6 0.178 C 3 3 0
7 0.975 S 3 4 1
8 0.750 S 3 5 2
9 0.223 C 4 5 1
10 0.086 C 5 5 0
11 0.011 C 6 5 1
12 0.794 S 6 6 0
13 0.168 C 7 6 1
14 0.361 C 8 6 2
15 0.148 C 9 6 3 -7
5 0 0 0
1 0.028 C 1 0 1
2 0.378 C 2 0 2
3 0.512 S 2 1 1
4 0.172 C 3 1 2
5 0.927 S 3 2 1
6 0.512 S 3 3 0
7 0.227 C 4 3 1
8 0.256 C 5 3 2
9 0.990 S 5 4 1
10 0.138 C 6 4 2
11 0.419 C 7 4 3 -3
6 0 0 0
1 0.342 C 1 0 1
2 0.632 S 1 1 0
3 0.213 C 2 1 1
4 0.087 C 3 1 2
5 0.108 C 4 1 3 3
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 16
ego
Nmero
Lanza
miento No
Nmero
aleatorio
Resultado Total de Diferencia Utilidad
J X R (C, S) Cara Sello ABS(C-S) 8 - X
7 0 0 0
1 0.381 C 1 0 1
2 0.310 C 2 0 2
3 0.935 S 2 1 1
4 0.316 C 3 1 2
5 0.983 S 3 2 1
6 0.554 S 3 3 0
7 0.978 S 3 4 1
8 0.384 C 4 4 0
9 0.999 S 4 5 1
10 0.040 C 5 5 0
11 0.748 S 5 6 1
12 0.631 S 5 7 2
13 0.554 S 5 8 3 -5
8 0 0 0
1 0.370 C 1 0 1
2 0.434 C 2 0 2
3 0.773 S 2 1 1
4 0.238 C 3 1 2
5 0.968 S 3 2 1
6 0.165 C 4 2 2
7 0.782 S 4 3 1
8 0.700 S 4 4 0
9 0.668 S 4 5 1
10 0.202 C 5 5 0
11 0.704 S 5 6 1
12 0.905 S 5 7 2
13 0.594 S 5 8 3 -5
9 0 0 0
1 0.665 S 0 1 1
2 0.227 C 1 1 0
3 0.872 S 1 2 1
4 0.689 S 1 3 2
5 0.791 S 1 4 3 3
10 0 0 0
1 0.626 S 0 1 1
2 0.890 S 0 2 2
3 0.205 C 1 2 1
4 0.722 S 1 3 2
5 0.982 S 1 4 3 3
11 0 0 0
1 0.034 C 1 0 1
2 0.645 S 1 1 0
3 0.065 C 2 1 1
4 0.081 C 3 1 2
5 0.402 C 4 1 3 3
Medias7-11 8.2 3.2 3.5 -0.2
Medias 1-11 7.5 3.6 3.2 0.5
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 17
Figura No 3 - Problema del Juego de la Moneda :Seudocdigo

Lectura de datos sobre :
- Semillas, Nmero de Juegos, Parmetros para distribuciones de frecuencia
- (SEMILLA, NRO_JUEGOS, PROB_CARA, Xo, AX, NRO_INT)
X = X
2
= 0, Xmin = 100, Xmax = 0, U =0
FRECUENCIA(INT)=0, INT=1,NRO_INT
JUEGOS = 1
MIENTRAS (JUEGOS s NRO_JUEGOS)

CARAS = SELLOS =0

MIENTRAS (, CARAS - SELLOS , .NE. 3) ENTONCES

GENERAR NUMERO ALEATORIO R

SI (R < PROB_CARA) SI NO

CARAS = CARAS + 1 SELLOS = SELLOS + 1

FIN SI

FIN MIENTRAS

LANZA = CARAS + SELLOS

X = X + LANZA
X
2
= X
2
+ LANZA
2


SI (LANZA .LT. Xmin) Xmin = LANZA

SI (LANZA .GT. Xmax) Xmax = LANZA

INT=[(LANZA - Xo)/AX + 2]

SI (INT. LT. 1) INT = 1

SI (INT. GT. NRO_INT) INT = NRO_INT

FRECUENCIA(INT) = FRECUENCIA(INT) + 1

JUEGOS = JUEGOS + 1
FIN MIENTRAS
MEDIA = X/NRO_JUEGOS
VARIANZA = (X
2
- NRO_JUEGOS * MEDIA
2
)/(NRO_JUEGOS - 1)
DESVIACION = \(VARIANZA)
UTILIDAD_MEDIA = U / NRO_JUEGOS
IMPRIMIR NRO_JUEGOS, MEDIA, DESVIACION, Xmin, Xmax, UTILIDAD_MEDIA
INTERV = 1
MIENTRAS (INTERV. LE. NRO_INT) ENTONCES
FRECUENCIA_RELATIVA = FRECUENCIA(INT) *100/NRO_JUEGOS
IMPRIMIR INTERV, FRECUENCIA(INTERV), FRECUENCIA_RELATIVA
INTERV = INTERV + 1
FIN MIENTRAS
FIN SIMULACIN



B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 18

Distribucin del nmero de lanzamientos de la moneda

Intervalo Numero de
Lanzamientos
Frecuencia
absoluta
Frecuencia
relativa
Frecuencia
rel. acum.
1 3 239 23.90 23.90
2 5 171 17.10 41.00
3 7 164 16.40 57.40
4 9 104 10.40 67.80
5 11 82 8.20 76.00
6 13 54 5.40 81.40
7 15 57 5.70 87.10
8 17 17 1.70 88.80
9 19 28 2.80 91.60
10 21 22 2.20 93.80
11 23 13 1.30 95.10
12 25 8 0.80 95.90
13 27 7 0.70 96.60
14 29 11 1.10 97.70
15 31 4 0.40 98.10
16 33 8 0.80 98.90
17 35 8 0.80 99.70
18 37 2 0.20 99.90
19 39 0 0.00 99.90
20 41 o mas 1 0.10 100.00


Anlisis de resultados. Considere los siguientes resultados del juego de la moneda, obtenidos con otro
generador diferente de nmeros aleatorios, pero usando las mismas semillas de las simulaciones anteriores.

Concepto Corrida Replicado
Semilla 727 4727
Numero de juegos 1000 1000
Utilidad media -1.00 -0.97
Desviacin estndar de la utilidad 7.00 7.04
Utilidad mnima -59 -59
Utilidad mxima 5 5
Numero medio de lanzamientos 9.00 8.97
Desviacin estndar de la utilidad 7.00 7.04
Numero mnimo de lanzamientos 3 3
Numero mximo de lanzamientos 67 67

Cree Usted que existen diferencias significativas con los resultados anteriores?
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 19
1.8. Ejemplo : Movimiento de una partcula

Una partcula se mueve en el siguiente crculo. La partcula empieza en cero. En cada punto en el crculo la
partcula dar un paso que puede ser a cualquier punto adyacente en el crculo. La probabilidad de que la
partcula se mueva en el sentido de las agujas del reloj o en sentido contraro es 1/2. Usando la simulacin
determine la distribucin de frecuencia del nmero de pasos requeridos para que la partcula vuelva al punto
inicial
0
7 1



6 2


5 3
4
4
1.8.1. Solucin

A continuacin se describe la secuencia de etapas o actividades que realiza la partcula para hacer un viaje
completo, entendiendo por viaje completo los pasos que da desde que sale del punto inicial (cero) hasta que
regresa al mismo punto

1. La partcula se coloca en la posicin inicial
2. La partcula da un paso
3. Se investiga la direccin
4. Se actualiza la nueva posicin
5. Regres al punto de partida ?
a) No regres. Se repite el paso 2
b) S regres. Se realiza el paso 6
6. Fin del viaje

Para realizar la simulacin es necesario definir los siguientes aspectos :

- Variables de Estado. Las principales variables requeridas para representar el viaje son la posicin de la
partcula -POSICION- y el nmero de pasos -PASOS- que se han dado en cualquier momento de la
simulacin.
- Realizacin del movimiento. El dar el paso se representa mediante la generacin de un nmero aleatorio.
- Investigar la direccin. Para conocer la direccin que toma la partcula es necesario realizar una
equivalencia entre el nmero aleatorio R y las diferentes direcciones que puede tomar la partcula. Como
solo hay dos direcciones posibles, y ambas son equiprobables (1/2), se puede hacer algo similar a lo
realizado en el caso de la moneda. Es decir, la direccin que toma la partcula estar definida de la siguiente
manera
- Si R < 0.5 la partcula gira en el sentido de las agujas del reloj, y la nueva posicin estar dada por
POSICION = POSICION + 1
Si llega a la posicin 8, es equivalente a llegar a la posicin cero, es decir :
SI POSICION = 8 POSICION = 0
- Si R > 0.5 la partcula gira en sentido contrario al de las agujas del reloj, y la nueva posicin estar dada
por
POSICION = POSICION - 1
Si llega a la posicin -1, es equivalente a llegar a la posicin siete, es decir:
SI POSICION = -1 POSICION = 7

1.8.2. Estadsticas de inters

- Nmero medio de pasos requeridos para regresar
- Nmero mnimo de pasos requeridos para regresar
- Nmero mximo de pasos requeridos para regresar
- Desviacin estndar del nmero de pasos requeridos para regresar
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 20
- Distribucin de frecuencia del nmero de pasos requeridos para regresar

La Figura siguiente presenta el seudocdigo de la simulacin, recogiendo todas las estadsticas requeridas.

Figura b1- Problema del Movimiento de la Partcula :Seudocdigo

Lectura de datos sobre :
- Semillas, Nmero de Viajes, Parmetros para distribuciones de frecuencia
- (SEMILLA, NRO_VIAJES, PROB_DERE, Xo, AX, NRO_INT)
X = X
2
= 0, Xmin = 100, Xmax = 0
FRECUENCIA(INT)=0, INT=1,NRO_INT
PARA VIAJES = 1, NRO_VIAJES)

PASOS = 0
POSICION = 0
FIN_VIAJE = 0

MIENTRAS (FIN_VIAJE = 0)

PASOS = PASOS + 1

GENERAR NUMERO ALEATORIO R

SI (R. LT. PROB_DERE) SI NO

POSICION = POSICION + 1
SI (POSICION =.8) ENTONCES
POSICION = 0
FIN SI
POSICION = POSICION - 1
SI (POSICION. = -1) ENTONCES
POSICION = 7
FIN SI

FIN SI

SI (POSICION. EQ. 0)
FIN_VIAJE = 1
FIN SI

FIN MIENTRAS

X = X + PASOS
X
2
= X
2
+ PASOS
2


SI (PASOS .LT. Xmin) Xmin = PASOS

SI (PASOS .GT. Xmax) Xmax = PASOS

INT=[(PASOS - Xo)/AX + 2]

SI (INT. LT. 1) INT = 1

SI (INT. GT. NRO_INT) INT = NRO_INT

FRECUENCIA(INT) = FRECUENCIA(INT) + 1
FIN PARA
MEDIA = X/NRO_VIAJES
VARIANZA = (X
2
- NRO_VIAJES * MEDIA
2
)/(NRO_VIAJES - 1)
DESVIACION = \(VARIANZA)
IMPRIMIR NRO_VIAJES, MEDIA, DESVIACION, Xmin, Xmax
INTERV = 1
MIENTRAS (INTERV. LE. NRO_INT) ENTONCES
FRECUENCIA_RELATIVA = FRECUENCIA(INT) *100/NRO_VIAJES
IMPRIMIR INTERV, FRECUENCIA(INTERV), FRECUENCIA_RELATIVA
INTERV = INTERV + 1
FIN MIENTRAS
FIN SIMULACION

1.8.3. Resultados
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 21

En el cuadro siguiente se resumen los resultados obtenidos al realizar varias simulaciones con dos semillas
diferentes y para varios tamaos de muestra. La tabla presenta tambin la probabilidad de realizar el viaje en
dos pasos. Se observa que, a medida que se aumenta el tamao de la muestra, el nmero medio de pasos
requeridos para regresar al punto cero se aproxima a ocho (8.0) y la probabilidad de hacer el viaje en dos pasos
se aproxima al 0.50.

Este ejemplo tiene solucin analtica, modelndolo como una cadena de Markov, donde el estado del proceso
es la posicin de la partcula en cualquier instante. Los valores de ocho y 0.5 corresponden a las soluciones
analticas para el nmero medio de pasos y para la probabilidad de regresar al punto de partida en dos pasos,
respectivamente.

Semilla 555 5555
Nro de viajes 50 100 500 1000 50 100 500 1000
Media 11.8 10.5 8.4 8.1 5.2 6.7 7.8 7.9
Desviacin 18.6 16.5 11.3 10.5 6.5 9.3 10.1 10.2
Mnimo 2 2 2 2 2 2 2 2
Mximo 92 92 92 92 32 56 82 82
Prob(2) 42 43 48 49 66 55 50 50


1.9. Problema: La Tienda del Video

Considere una tienda de alquiler de videos, que compra las cintas de estreno a $25,000 la unidad, las alquila a
sus clientes a $5,000, y al final del mes, revende las cintas a otras tiendas de barrio a $ 5,000 la copia. La
tienda ha estimado que la demanda diaria por cintas de estreno tiene la siguiente distribucin de probabilidad:

Nmero de copias 0 1 2 3 4
Probabilidad 0.15 0.25 0.45 0.10 0.05

Suponga que las cintas duran en alquiler un da, y que todos los clientes devuelven las copias al siguiente da.
Cuntas copias de las cintas de estreno debe ordenar la tienda cada mes?

Solucin

Con este ejemplo se pretende hacer claridad sobre dos aspectos diferentes de la simulacin: Por un lado se
pretende mostrar la forma de realizar una simulacin, tomando como base la forma como opera el sistema real,
y por otro lado, se pretende mostrar la forma como se realizan los procesos de optimizacin en la simulacin
(mediante mtodos de bsqueda).

El objetivo es determinar cuntas copias deben pedirse cada mes, de tal forma que se maximice la utilidad
mensual. Es decir, si Q es el nmero de copias que se compran cada mes, entonces se debe determinar el valor
de Q que haga mxima la utilidad esperada por mes.

Si para un mes se compran Q copias de una cinta, entonces la utilidad mensual estar dada por:

Utilidad mensual(Q) = Ingresos por alquiler Costo Cintas compradas + Precio reventas
=

=
+
30
1
5000 000 , 25 ) ( 3000
j
Q Q j Alquiler
donde Alquiler(j) representa el nmero de copias alquiladas a los clientes el da j.

Si X representa la demanda por cintas para el da j, entonces, el nmero de copias alquiladas ese da estar
dada por:

Alquiler (j) = X si X s Q
= Q si X> Q


Aunque este modelo tiene solucin analtica, slo nos interesaremos en la solucin por simulacin.
Para resolver este problema por simulacin, la nica variable aleatoria que tenemos es la demanda diaria por
cintas, la cual se debe generar o simular (inventar) para cada da. Su generacin se har simplemente
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 22
distribuyendo el rango del nmero aleatorio (0,1) en forma proporcional a cada valor de la probabilidad (este
procedimiento se conoce como el mtodo de la transformacin inversa caso discreto).

Para cada valor de la demanda se calcula la probabilidad acumulada (funcin de distribucin), segn lo muestra
la tabla siguiente, y los valores de la demanda se generarn de acuerdo a este valor de la siguiente manera:

Nmero de copias X 0 1 2 3 4
Probabilidad p(x) 0.15 0.25 0.45 0.10 0.05
Probabilidad acumulada F(x) 0.15 0.40 0.85 0.90 1.00


Se genera, mediante algn mtodo apropiado, un nmero aleatorio R = r, con el cual se genera la demanda X
de la siguiente manera:
Si r < 0.15 X = 0
Si 0.15 s r < 0.40 X = 1
Si 0.40 s r < 0.85 X = 2
Si 0.85 s r < 0.95 X = 3
Si r > 0.95 X = 4

Para cada valor de Q se deben simular varios meses, y calcular la utilidad promedio mensual.

Para determinar la cantidad ptima Q*, es decir, la que maximice la utilidad esperada, se debe realizar la
simulacin para diferentes valores de Q, mediante un mtodo de bsqueda. Si en estudios de simulacin se
desea optimizar una funcin, deben emplearse mtodos numricos de optimizacin, y los mas empleados son
los mtodos de bsqueda.

Para nuestro caso, la cantidad mnima a pedir sera de una unidad, por lo tanto podemos empezar el proceso de
bsqueda en uno (Q0 = 1), usando un incremento o paso de 1 unidad (AQ = 1). Se suspende el proceso de
bsqueda cuando la utilidad esperada empiece a decrecer. En resumen, el procedimiento de optimizacin
sera :

1) Se simula pidiendo una cantidad inicial Q = Q0 = 1 y se obtiene la utilidad media UM(Q0).
2) Se repite la simulacin con una cantidad Q1 = Q0 + AQ, y se calcula la utilidad media UM(Q1).
2.1) Si UM(Q1) s UM(Q0), termina la bsqueda y la cantidad optima a pedir sera Q= Q0 = 1.
2.2 Si UM(Q1) > UM(Q0), se realizan nuevas simulaciones ordenando las siguientes cantidades :
Q2 = Q1 + AQ, y se obtiene la utilidad media UM(Q2).
Q3 = Q2 + AQ, y se obtiene la utilidad media UM(Q3).
......................
Qk = Qk-1 + AQ, y se obtiene la utilidad media UM(Qk).
donde en Qk la funcin de utilidad no responde, es decir, UM(Qk) s UM(Qk-1).

La cantidad ptima a pedir sera de Q* = Qk-1

El siguiente seudo cdigo ilustra la forma como se realizara la simulacin:

Definir Nmero de meses a simular, nmero de valores de Q
Para cada valor i de Q = 1, nmero de valores
Para cada mes = 1, Nmero de meses
Total(mes) = 0
Para cada da = 1 hasta 30
Generar demanda X
Si demanda s Q(i), entonces
Alquiler = demanda
Si no
Alquiler = Q(i)
Fin si
Total(mes) = Total(mes) + Alquiler
Siguiente da
Siguiente mes
Promedio mensual = ETotal(mes)/Nmero meses
Utilidad Media Mensual (i) = 3000 Promedio Mensual 25,000 Q(i) + 5,000 Q(i)
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 23
Siguiente valor de Q
Escoger el valor de Q que maximiza utilidad media {Mximo Utilidad Media Mensual (i)}

Con el fin de visualizar un poco mejor la simulacin del problema, en las dos pginas siguientes se presentan el
diagrama de flujo del problema, incluyendo el proceso de optimizacin, pero excluyendo el proceso de
generacin de la demanda diaria por videos, y el seudo cdigo de la simulacin, incl uyendo la generacin de la
demanda diaria. Ambos diagramas representan lo mismo, pero en una forma diferente. Para algunas personas
puede parecer ms ilustrativo el diagrama de flujo, mientras que para otras lo puede ser el seudo cdigo.

La tabla que se anexa a continuacin del diagrama y del seudo cdigo resume la simulacin de este problema
para valores de Q = 1, 2, 3 y 4, y para doce meses, aunque slo se presenta la simulacin completa para el
primer mes. La cantidad ptima a pedir es Q = 2 copias.

1.10. Ejemplo. Operacin de embalse : Un modelo simple

Una represa se utiliza para generar energa elctrica y para el control del flujo de aguas. La capacidad de la
represa es 4 unidades. La funcin de probabilidad de la cantidad de agua que fluye a la represa en el mes es la
siguiente:

Cantidad 0 1 2 3
Probabilidad 1/6 1/3 1/3 1/6

Si el agua en la represa excede la capacidad mxima, el agua sobrante se bota a travs del vertedero, que es
de flujo libre. Para generar energa se requieren mensualmente una o dos unidades, con igual probabilidad,
que se sueltan al final de cada mes. Si en la represa hay menos de la cantidad requerida, se genera energa con
el agua disponible, es decir, se suelta toda el agua.

Se desea desarrollar un modelo de simulacin de la operacin de la represa para determinar la distribucin del
nivel del embalse al final del mes, la cantidad media de agua que se vierte y la demanda media que se satisface.

Desarrollo del modelo

El nivel del embalse al final de un mes est dado por :

Embalse al final del mes = Embalse inicial + Agua que entra - Agua que sale

El nivel del embalse al principio de un mes es igual al nivel del embalse al final del mes anterior. por lo tanto, si
Et representa el nivel del embalse al final del mes t, se tiene que:

Et = Et-1 + At - St

donde At corresponde al agua que llega a la represa, y St al agua que sale de la represa, bien sea el agua que
se vierte o que se suelta para generar energa.

El procedimiento general de simulacin para un mes cualquiera se puede representar por los siguientes pasos :

- Se determina el agua que llega a la represa At
- Se calcula el volumen inicial del embalse, agregando el agua que llega : Et = Et-1 + At
- Si el volumen del embalse excede la capacidad del mismo se calcula el agua que se vierte y el embalse
queda en su nivel mximo.
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 24
A
Problema de la Tienda de Video. Diagrama de flujo
Comienza la simulacin
Alquiler_total = 0
Alquiler = Demanda
Util_max = 0
Q = Qo
Demanda sQ
Alquiler = Q
Imprimir resultados: Q, util_media
Para mes = 1, nro_meses
Para dia = 1, 30
Generar demanda
Alquiler_total = Alquiler_total+Alquiler
Siguiente da
Siguiente mes
Promedio= Alquiler_total/nro_meses
Util_media > Util_maxima
Nro meses, valor inicial Q0, incremento AQ
Util_media = 3000 Promedio 25,000 Q + 5,000 Q
Qop = Q
U_optima=
util_media
Q = Q + AQ
Imprimir solucion optima:
Qop, U_optima
FIN
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 25
Figura No 3 Seudocdigo Problema de la tienda de video

Lectura de datos sobre :
- Semillas, Nmero de meses
CONTROL_OPTIMIZACIN = 0
Q = 1
UTIL_MAX=0
MIENTRAS (CONTROL_OPTIMIZACIN = 0)

UTIL_TOTAL =0

PARA MES = 1, MESES

SUMA_MES = 0

PARA DIA = 1, 30

GENERE NUMERO ALEATORIO R

SI (R< 0.15) ENTONCES

DEMANDA = 0

SI NO

SI (R< 0.40) ENTONCES

DEMANDA = 1

SI NO

SI (R< 0.85) ENTONCES

DEMANDA = 2

SI NO

SI (R< 0.95) ENTONCES

DEMANDA = 3

SI NO

DEMANDA = 3

FIN SI

FIN SI

FIN SI

FIN SI

SI (DEMANDA s Q) ENTONCES

ALQUILER = DEMANDA

SI NO

ALQUILER = Q

FIN SI

SUMA_MES = SUMA_MES +ALQUILER

SIGUIENTE DIA

UTIL_TOTAL = UTIL_TOTAL +3000*SUMA_MES 20000*Q

SIGUIENTE MES

UTIL_PROMEDIO(Q) = UTIL_TOTAL/MESES

IMPRIMIR Q, UTIL_PROMEDIO(Q), UTIL_PROMEDIO(Q)

SI (UTIL_PROMEDIO(Q) > UTIL_MAX)ENTONCES

UTILMAX = UTILPROMEDIO(Q)
QOPTIMO = Q
Q = Q + 1

SI NO

CONTROL_OPTIMIZACIN = 1

FIN SI
FIN MIENTRAS
IMPRIMIR SOLUCION OPTIMA QOPTIMO, UTIL_MAX
FIN SIMULACIN
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 26
RESULTADOS DE LA SIMULACION DE LA TIENDA DE VIDEO
Precios de: Compra = 25,000, Alquiler = 3,000, Reventa = 5,000

MES NUMERO DE COPIAS Q
DIA R DEMANDA 1 2 3 4
ALQUILER ALQUILER ALQUILER ALQUILER
1 1 0.504 2 1 2 2 2
2 0.634 2 1 2 2 2
3 0.381 1 1 1 1 1
4 0.689 2 1 2 2 2
5 0.980 4 1 2 3 4
6 0.306 1 1 1 1 1
7 0.589 2 1 2 2 2
8 0.542 2 1 2 2 2
9 0.849 2 1 2 2 2
10 0.816 2 1 2 2 2
11 0.326 1 1 1 1 1
12 0.778 2 1 2 2 2
13 0.387 1 1 1 1 1
14 0.610 2 1 2 2 2
15 0.819 2 1 2 2 2
16 0.468 2 1 2 2 2
17 0.679 2 1 2 2 2
18 0.296 1 1 1 1 1
19 0.875 3 1 2 3 3
20 0.442 2 1 2 2 2
21 0.637 2 1 2 2 2
22 0.935 3 1 2 3 3
23 0.390 1 1 1 1 1
24 0.526 2 1 2 2 2
25 0.346 1 1 1 1 1
26 0.236 1 1 1 1 1
27 0.659 2 1 2 2 2
28 0.129 0 0 0 0 0
29 0.785 2 1 2 2 2
30 0.159 1 1 1 1 1
2 1 0.240 1 1 1 1 1
2 0.504 2 1 2 2 2
3 0.296 1 1 1 1 1
4 0.378 1 1 1 1 1
12 29 0.714 2 1 2 2 2
30 0.314 1 1 1 1 1
Total anual (cintas) 588 307 516 570 588
Promedio Mensual (Cintas/mes) 49.0 25.6 43.0 47.5 49.0
Promedio diario (Cintas/da) 1.63 0.85 1.43 1.58 1.63
Utilidad media mensual simulacin ($/mes) 56750 89000 82500 67000
Utilidad media mensual analtica ($/mes) 56500 90500 84000 68500

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 27
Si Et > Cap Vt = Et - Cap
Et = Cap
- Se calcula la demanda mensual para generar energa Dt
- Si el nivel del embalse es igual o superior a la demanda, se satisface toda la demanda, y al nivel del embalse
se le resta la demanda.
Si Et > Dt DSt = Dt
Et = Et - Dt
- Si el nivel del embalse es inferior a la demanda, se satisface parte de la demanda, y al nivel del embalse se
hace igual a cero.
Si Et < Dt DSt = Et
Et = 0

donde Cap representa la capacidad de la represa, Vt el vertimiento en el mes t, y DSt la demanda satisfecha en
el mes t.

Para terminar de desarrollar el modelo, se requiere determinar como se genera el agua que llega al embalse y
la demanda de energa.

El clculo del agua que llega al embalse, que es un fenmeno aleatorio, se realiza mediante la ayuda de los
nmeros aleatorios. Para ello se genera un nmero aleatorio y luego se hace una equivalencia entre dicho
nmero y las probabilidades respectivas de que llegue cierta cantidad de agua al embalse. Es decir, el nmero
aleatorio, con un rango de variacin de 0 a uno, debe representar las diferentes posibilidades de llegar agua al
embalse, con los valores de 0, 1, 2 y 3. El rango de variacin de cero a uno debe dividirse en seis parte, y
asignarse 1/6 a la posibilidad de que no llegue agua en el mes, 1/3 a la posibilidad de que llegue una unidad, 1/3
a la posibilidad de que lleguen dos unidades y finalmente 1/6 a la posibilidad de que lleguen tres unidades de
agua. La tabla siguiente presenta una posible asignacin del nmero aleatorio a las diferentes cantidades de
agua que pueden llegar al embalse.

Valores del nmero aleatorio R
R < 1/6 1/6 s R < 3/6 3/6 s R <5/6 > 5/6
0 1 2 3
Agua que llega al embalse

La distribucin sera la siguiente (la asignacin se hace en forma proporcional a la respectiva probabilidad,
siguiendo la funcin de distribucin -mtodo de la transformacin inversa):

Si r < 1/6 Agua que llega = 0
si 1/6 s r < 3/6 Agua que llega = 1
si 3/6 s r < 5/6 Agua que llega = 2
si r > 3/6 Agua que llega = 3

El clculo de la demanda de agua se hace en forma similar, pero slo con dos valores (cero y uno) con igual
probabilidad. Es decir, se genera otro nmero aleatorio y la demanda se calcula de la siguiente manera :

Si r < 1/2 Demanda de agua = 1
Si r > 1/2 Demanda de agua = 2

La tabla de la pgina siguiente presenta la simulacin manual de este embalse sencillo durante 48 meses,
empezando con un inventario inicial de tres unidades.

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 28
Tabla A1 - Operacin de embalse : Un modelo simple. Simulacin manual

Mes Embalse
inicial
Nmero
aleatorio
Agua que
llega
Verti
miento
Embalse
Intermed
Nmero
aleatorio
Demanda
agua
Demanda
satisfecha
Embalse
Final
t Et R1 At Vt Et R2 At DSt Et
0 3 3
1 3 0.945 3 2 4 0.381 1 1 3
2 3 0.973 3 2 4 0.310 1 1 3
3 3 0.829 2 1 4 0.935 2 2 2
4 2 0.719 2 0 4 0.316 1 1 3
5 3 0.348 1 0 4 0.983 2 2 2
6 2 0.119 0 0 2 0.554 2 2 0
7 0 0.080 0 0 0 0.978 2 0 0
8 0 0.908 3 0 3 0.384 1 1 2
9 2 0.228 1 0 3 0.999 2 2 1
10 1 0.695 2 0 3 0.040 1 1 2
11 2 0.620 2 0 4 0.748 2 2 2
12 2 0.964 3 1 4 0.631 2 2 2
13 2 0.709 2 0 4 0.554 2 2 2
14 2 0.075 0 0 2 0.143 1 1 1
15 1 0.573 2 0 3 0.370 1 1 2
16 2 0.262 1 0 3 0.434 1 1 2
17 2 0.916 3 1 4 0.773 2 2 2
18 2 0.635 2 0 4 0.238 1 1 3
19 3 0.066 0 0 3 0.968 2 2 1
20 1 0.178 1 0 2 0.165 1 1 1
21 1 0.975 3 0 4 0.782 2 2 2
22 2 0.750 2 0 4 0.700 2 2 2
23 2 0.223 1 0 3 0.668 2 2 1
24 1 0.086 0 0 1 0.202 1 1 0
25 0 0.011 0 0 0 0.704 2 0 0
26 0 0.794 2 0 2 0.905 2 2 0
27 0 0.168 1 0 1 0.594 2 1 0
28 0 0.361 1 0 1 0.918 2 1 0
29 0 0.148 0 0 0 0.665 2 0 0
30 0 0.144 0 0 0 0.227 1 0 0
31 0 0.028 0 0 0 0.872 2 0 0
32 0 0.378 1 0 1 0.689 2 1 0
33 0 0.512 2 0 2 0.791 2 2 0
34 0 0.172 1 0 1 0.041 1 1 0
35 0 0.927 3 0 3 0.626 2 2 1
36 1 0.512 2 0 3 0.890 2 2 1
37 1 0.227 1 0 2 0.205 1 1 1
38 1 0.256 1 0 2 0.722 2 2 0
39 0 0.990 3 0 3 0.982 2 2 1
40 1 0.138 0 0 1 0.895 2 1 0
41 0 0.419 1 0 1 0.034 1 1 0
42 0 0.769 2 0 2 0.645 2 2 0
43 0 0.342 1 0 1 0.065 1 1 0
44 0 0.632 2 0 2 0.081 1 1 1
45 1 0.213 1 0 2 0.402 1 1 1
46 1 0.087 0 0 1 0.186 1 1 0
Promedio 1.0 0.450 1.4 0.1 2.3 0.567 1.6 1.3 1.0

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 29
1.11. Problemas

1.1 Un programa de entrenamiento ha sido desarrollado para cierta clase de trabajos en una compaa. Hay
tres fases en el programa de entrenamiento: A, B y C. Una vez se termina una fase, la persona entrenada
presenta una prueba y si la aprueba pasa a la siguiente fase. Si no pasa la prueba, debe repetir la fase del
programa y volver a presentar la prueba. Este procedimiento contina hasta queaprueba las tres etapas
del programa. Sea Sea
i
n
p
la probabilidad de que la persona no pase la prueba de la fase i en el n-simo
intento. Cada etapa del proceso de instruccin requiere una semana antes de tomar la prueba, y esta
duracin permanece invariable no importa cuntas veces se repita la prueba. Sea p1 = 0.4, p2 = 0.5 y p3 =
0.2. Determine el tiempo medio, en semanas, requerido para terminar cada etapa y para completar todo el
programa.
1.2 Un vendedor de tortas produce 50 tortas diarias a un costo de $1000/torta y las vende en un centro
comercial a un precio de $3000/torta. Las tortas que no vende las tiene que tirar al final del da, sin
embargo el vendedor an no tiene permiso del municipio para tirar el producto en los basureros, por lo cual
si llegan a descubrirlo tirando las tortas se le impondr una multa de $30,000.

La demanda de tortas tiene la siguiente distribucin:

Demanda 10 20 25 30 50 70 100
Probabilidad 0.1 0.2 0.3 0.2 0.1 0.06 0.04

La probabilidad de que la polica descubra al vendedor tirando las tortas es del 25%. Con base en la
anterior informacin desarrolle un modelo de simulacin para obtener la siguiente informacin:
a) Nmero medio de tortas no vendidas
b) Nmero medio de tortas que hay que botar
c) Utilidad media por da
d) Si el permiso para tirar las tortas al basurero cuesta $20,000 por semana, conviene conseguir el
permiso o seguir tirando las tortas?

1.3 Considere el problema No 4.25. Desarrolle un modelo de simulacin. Escriba el seudocdigo o un
diagrama de flujo, detallando las diferentes actividades. No haga la simulacin.

1.4 Considere el problema No 4.26. Desarrolle un modelo de simulacin. Escriba el seudocdigo o un
diagrama de flujo, detallando las diferentes actividades. No haga la simulacin.

1.5 Considere el problema No 4.27. Desarrolle un modelo de simulacin. Escriba el seudocdigo o un
diagrama de flujo, detallando las diferentes actividades. No haga la simulacin

1.6 Considere el problema No 4.28. Desarrolle un modelo de simulacin. Escriba el seudocdigo o un
diagrama de flujo, detallando las diferentes actividades. No haga la simulacin

1.7 Modifique el seudocdigo y el programa de la tienda del video para tener en cuenta el hecho de que
solamente un 80% de los clientes que tienen cintas alquiladas las entregan el respectivo da y el resto no
lo hace. Adems, suponga que cada cliente que no entrega la cinta a tiempo, tiene que pagar una multa de
$2000 por cada da de retraso.

1.8 Modifique el diagrama de flujo y el programa del juego de la moneda para analizar el mismo juego de la
moneda con las siguientes modificaciones: El juego termina cuando la diferencia entre caras y sellos sea
3 cuando el nmero de lanzamientos realizados sea 15.

1.9 Desarrolle un diagrama de flujo descriptivo, un diagrama de flujo detallado y el programa de
computador para realizar el siguiente juego: El juego requiere que el jugador tire dos dados una o
ms veces hasta que se alcance la decisin de ganar o perder. Se gana si el primer lanzamiento
de los dos dados resulta un una suma de 7 u 11, o alternativamente, si la primera suma es 4, 5, 6,
8, 9 10 y la misma suma reaparece antes de que aparezca una suma de 7. Se pierde si el primer
lanzamiento resulta en una suma de 2, 3 12, o alternativamente, si la primera suma es 4, 5, 6, 8,
9 10 y una suma de 7 aparece antes de que reaparezca la primera suma. Desarrolle el programa
para determinar la probabilidad de ganar y para determinar la distribucin del nmero de
lanzamientos requeridos para terminar el juego. Adems el programa debe indicar la probabilidad
de ganar cada 50 juegos. Simule 500 juegos.
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 30

Indicaciones para el problema No 1.9

a) La probabilidad de ganar est dada por el nmero de juegos ganados, dividido por el nmero de
juegos realizados.

b) La probabilidad de que en un dado aparezca un resultado cualquiera (1, 2, 3, 4, 5 6) es un sexto
(1/6). Para simular el lanzamiento de un dado se genera un nmero aleatorio R, 0 s R < 1 y los
valores entre 0 y 1 deben repartirse por igual para los seis posibles resultados. Una forma de
averiguar el resultado obtenido al lanzar el dado es la siguiente:

Si R < 1/6 el resultado es 1 Si 1/6 s R < 2/6 el resultado es 2
Si 2/6 s R < 3/6 el resultado es 3 Si 3/6 s R < 4/6 el resultado es 4
Si 4/6 s R < 5/6 el resultado es 5 Si 5/6 s R < 1 el resultado es 6

Otra forma de obtener el resultado es tomar la parte entera de la siguiente expresin:
X = [ 6 x R + 1]
c) Aunque el juego consiste en lanzar los dos dados al mismo tiempo, en la Simulacin el
lanzamiento de los dos dados se hace en forma secuencial: Primero se lanza uno (se genera R
y se averigua el resultado), despus se lanza el otro (se genera R y se averigua el resultado) y
luego se suman estos dos resultados.

1.10 Un repartidor compra peridicos en paquetes de veinte a dos pesos cada uno y los vende a tres pesos.
Los peridicos no vendidos carecen de valor. Al analizar las ventas del pasado se descubre que existen
tres distribuciones de la demanda, dependiendo de las noticias que figuran en el peridico. Un da de
Buenas noticias da como resultado encabezados interesantes para muchos clientes potenciales; los
das normales y malos tienen encabezados de menor inters. Histricamente, el 20% de los das han
sido buenos, el 50% normales y el 30% malos. Las distribuciones de la demanda se resumen a
continuacin:

Demanda diaria Tipo de da, segn las noticias
Malo Normal Bueno
40 0.05
50 0.20 0.03
60 0.41 0.07
70 0.26 0.28
80 0.08 0.30 0.02
90 0.25 0.15
100 0.07 0.28
110 0.24
120 0.12
130 0.09
140 0.06
150 0.04

Determine la cantidad que debe pedirse.

1.11 Una empresa de alquiler de autos est tratando de determinar el nmero ptimo de autos a comprar. El
costo promedio anual de un auto es de $ 11 000 000. Adems, esta compaa ha recopilado las
siguientes estadsticas sobre las operaciones de carros :
Nmero de autos alquilados por da 0 1 2 3 4
Probabilidad 0.10 0.10 0.25 0.30 0.25

Nmero de das rentados por auto 1 2 3 4
Probabilidad 0.40 0.35 0.15 0.10

Si la renta diaria por auto es de $52 000, el costo de no tener un auto disponible cuando se lo solicita es de
$30 000, y el costo de tener un carro ocioso durante un da es de $7 500, cuantos autos deber comprar la
compaa ?. Suponga que un auto que se alquila por un da est disponible al da siguiente.

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 31
1.12 Un vendedor de revistas compra mensualmente una revista el da primero de cada mes. El costo de cada
ejemplar es $6 000. La demanda de esta revista en los primeros diez das del mes tiene la distribucin de
probabilidad dada a continuacin:
Demanda 5 6 7 8 9 10 11
Probabilidad 0.05 0.05 0.10 0.15 0.25 0.25 0.15

Al final del dcimo da, el vendedor puede regresar cualquier cantidad de revistas al proveedor, quien se
las pagar a 3 600 el ejemplar, o puede comprar mas revistas a un costo de $4 800 el ejemplar. La
demanda en los siguientes 20 das est dada por la siguiente distribucin de probabilidad:
Demanda 4 5 6 7 8
Probabilidad 0.15 0.20 0.30 0.20 0.15

Al final del mes, el vendedor puede regresar al proveedor las revistas que le sobren, las cuales se le
pagarn a $3 600 el ejemplar. Finalmente, se supone que despus de un mes ya no existe demanda por
parte del pblico, puesto que para ese entonces ya habr aparecido el nuevo ejemplar. Si el precio al
pblico de la revista es $ 8 000 por ejemplar, determine la poltica ptima de compra.

1.13 Debido a un aumento en las ventas, cierta compaa productora necesita mas espacio en su fbrica. La
solucin que se ha propuesto es la construccin de un nuevo depsito para almacenar los productos
terminados. Este depsito estar localizado a 35 kilmetros de la planta. Adems, de acuerdo con este
nuevo plan, se requiere que al final del da se enve la produccin terminada al nuevo depsito.

Por otra parte, con base en informacin histrica, se ha estimado que la produccin diaria de la empresa
tiene la siguiente distribucin de probabilidad:

Produccin diaria (toneladas) 50 - 55 55 - 60 60 65 65 - 70 70 - 75 75 - 80
Probabilidad 0.10 0.15 0.30 0.35 0.08 0.02

Tambin se sabe que el tipo de camiones que se deben utilizar para transportar esta produccin tienen
capacidad de 5 toneladas. La cantidad de viajes que se pueden realizar cada da (jornada de 8 horas),
depende del tiempo de carga y descarga, como tambin del tiempo que se requiere para recorrer la
distancia entre la planta y el depsito. Por lo tanto, la cantidad de producto terminado que un camin
puede transportar de la planta al depsito, es una variable aleatoria cuya distribucin de probabilidad es la
siguiente:


Toneladas diarias transportadas/camin
4.0 4.5 4.5 5.0 5.0 5.5 5.5 6.0
Probabilidad 0.30 0.40 0.20 0.10

Si la cantidad diaria producida es mayor que la cantidad que puede transportar la flotilla de camiones, el
excedente debe ser enviado a travs de camiones de otra compaa transportadora a un costo de $20 000
la tonelada. Adems el costo promedio anual de un camin nuevo es de $ 20 000 000. Si se trabajan 250
das al ao, cual es el nmero ptimo de camiones que la empresa debe comprar?

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 32
APNDICE
Juego de la moneda. Listado del programa en QBASIC
Principales variables:
lanza: Nmero de lanzamientos que se hicieron en un juego
LMIN: Nmero mnimo de lanzamientos por juego
LMAX: Nmero mximo de lanzamientos por juego
SUMAL: Nmero acumulado de lanzamientos
SUMAL2: Suma del cuadrado del nmero de lanzamientos por juego
DESVL: Desviacin del nmero de lanzamientos por juego
LANZAME: Nmero medio de lanzamientos por juego
nveces(i): Nmero de veces que el juego termina en I lanzamientos.

REM PROGRAMA MONEDA
REM
OPEN "salidam.txt" FOR OUTPUT AS #4
DIM NVECES(30)
PRINT "Numero de juegos"
INPUT nro.juegos
PRINT "Entre la probabilidad de cara"
INPUT prob.cara
PRINT "Entre la semilla, un numero impar"
INPUT semilla
PRINT "Numero de intervalos para la distribucion del numero de lanzamientos"
INPUT nro.interv
REM
RANDOMIZE semilla
delta = 2
lanza0 = 3
l = 0
REM Inicializacion de contadores para recoger estadisticas
sumau = 0
sumau2 = 0
umin = 0
umax = 0
sumal = 0
sumal2 = 0
lmin = 100
lmax = 0
REM
FOR inter = 1 TO nro.interv
nveces(inter) = 0
NEXT inter
REM
REM Realizacion de los juegos
REM
FOR juego = 1 TO nro.juegos
REM Inicializacin de los juegos
caras = 0
sellos = 0
WHILE (ABS(CARAS - SELLOS) <> 3)
REM Lanzamiento de la moneda
R = RND
REM Investigacin del resultado
IF (R < prob.cara) THEN
caras = caras + 1
ELSE
sellos = sellos + 1
END IF
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 33
WEND
REM Fin juego
REM Si se termina el juego, se actualizan las estadisticas
lanza = caras + sellos
util = 8 - lanza
REM Estadisticas globales sobre la utilidad
sumau = sumau + UTIL
sumau2 = sumau2 + util ^ 2
IF (util < umin) THEN
umin = util
END IF
IF (util > umax) THEN
umax = util
END IF
REM Estadisticas globales sobre el numero de lanzamientos
sumal = sumal + lanza
sumal2 = sumal2 + lanza ^ 2
IF (lanza < lmin) THEN
lmin = lanza
END IF
IF (lanza > lmax) THEN
lmax = lanza
END IF
REM
REM Distribucion del Numero de lanzamientos
REM
inter = INT((lanza - lanza0) / delta + 1.999)
IF (inter < 1) THEN
inter = 1
END IF
IF (inter > nro.interv) THEN
inter = nro.interv
END IF
nveces(inter) = nveces(inter) + 1
NEXT juego
REM Fin de simulacion
REM
PRINT #4, "Problema del juego de la moneda. Informe final de la simuacion"
PRINT #4, " "
PRINT #4, "Semilla = "; semilla
PRINT #4, "numero de juegos = "; nro.juegos
REM Resumen e impresion de resultados
REM
umedia = sumau / nro.juegos
desvu = SQR((sumau2 - umedia * umedia * nro.juegos) / (nro.juegos - 1))
PRINT #4, "Utilidad media = "; umedia
PRINT #4, "Desviacion estandar de la utilidad = "; desvu
PRINT #4, "Utilidad minima = "; umin
PRINT #4, "Utilidad maxima = "; umax
IF (UMEDIA > 0) THEN
PRINT #4, "El juego es favorable"
ELSE
PRINT #4, "El juego es desfavorable"
END IF
REM
lanzame = sumal / nro.juegos
desvl = SQR((sumal2 - lanzame * lanzame * nro.juegos) / (nro.juegos - 1))
PRINT #4, "Numero medio de lanzamientos = "; lanzame
PRINT #4, "Desviacion estandar de la utilidad = "; desvl
B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 34
PRINT #4, "Numero minimo de lanzamientos = "; lmin
PRINT #4, "Numero maximo de lanzamientos = "; lmax
ACUM = 0
PRINT #4, " "
PRINT #4, "DISTRIBUCION DEL NUMERO DE LANZAMIENTOS DE LA MONEDA"
PRINT #4, " "
PRINT #4, " INTERVALO NUMERO DE FRECUENCIA FRECUENCIA FRECUENCIA"
PRINT #4, " NUMERO LANZAMIENTOS ABSOLUTA RELATIVA REL.ACUM."
PRINT #4, " "
FOR inter = 1 TO nro.interv
P = 100! * nveces(inter) / nro.juegos
acum = acum + p
interv = lanza0 + (inter - 1) * DELTA
PRINT #4, inter, interv, nveces(inter), P, ACUM
NEXT inter
CLOSE #4
END

B. Caldern. Introduccin a la Simulacin. Cap 1. Simulacin. Aplicabilidad. 1 - 35
Problema del juego de la moneda. Informe final de la simulacin (otros resultados)

Semilla = 727 727
numero de juegos = 10000 1000
Utilidad media = -.9978 -0.972
Desviacion estandar de la utilidad = 6.997978 7.0439
Utilidad minima = -59 -59
Utilidad maxima = 5 5
El juego es desfavorable
Numero medio de lanzamientos = 8.9978 8.972
Desviacion estandar de la utilidad = 6.997978 7.0439
Numero minimo de lanzamientos = 3 3
Numero maximo de lanzamientos = 67 67

DISTRIBUCION DEL NUMERO DE LANZAMIENTOS DE LA MONEDA

INTERVALO NUMERO DE FRECUENCIA FRECUENCIA FRECUENCIA
NUMERO LANZAMIENTOS ABSOLUTA RELATIVA REL.ACUM.

1 3 2534 25.34 25.34 (25.7)
2 5 1803 18.03 43.37 (18.0)

Los valores entre parntesis corresponden a la frecuencia relativa de la simulacin de 1000 juegos

Introduccin a la simulacin
Mtodos de bsqueda

En simulacin no es posible emplear los mtodos clsicos de optimizacin, ya que todos los
resultados que se producen en la simulacin son numricos, y no se emplean frmulas o
mtodos analticos. Para encontrar un valor ptimo en simulacin se usan los mtodos de
bsqueda, que aunque no usan los principios de los mtodos analticos, s usan los criterios
bsicos de optimizacin de stos. Por lo tanto, inicialmente se presentar un breve resumen de
los mtodos clsicos de optimizacin, y sus principios bsicos,

1. Mtodos clsicos de optimizacin

1.1. Definicin del problema

El objetivo es encontrar el valor x* que optimice (minimice o maximice) el valor de una funcin
f(x). Cuando se habla de optimizacin, se puede tratar de un problema de minimizacin o de
maximizacin.

La variable de decisin x se puede referir o a una variable simple, o a un conjunto de varias
variables (un vector). Inicialmente se presentar un resumen de los mtodos clsicos de
optimizacin para una variable, y posteriormente para el caso de dos variables.

1.2. Mtodos clsicos de optimizacin para una variable

Se desea encontrar el valor ptimo x* de una funcin continua, con primera y segunda
derivadas

Condicin necesaria.

La condicin necesaria para encontrar tanto un punto de mnimo como uno de mximo es que la
primera derivada sea cero en dicho punto. Por lo tanto, se encuentra la primera derivada de la
funcin, se iguala a cero y se despeja el valor correspondiente de x, el cual se denotar por x
*
.

*
0
) (
x x
dx
x df
= =

Condicin suficiente

Usando la primera derivada se encuentra un valor de la variable de decisin, que como ya se
indic puede corresponder tanto a un punto de mnimo como de mximo. Si la primera derivada
corresponde a un punto de mnimo, entonces a partir de dicho valor la funcin debe empezar a
crecer de nuevo, es decir, la segunda derivada, evaluada en el punto de ptimo, debe ser mayor
de cero. Si la primera derivada corresponde a un punto de mxima, entonces a partir de dicho
valor la funcin debe empezar a disminuir, por lo tanto la segunda derivada, evaluada en el
punto de ptimo, debe ser menor de cero. Matemticamente se tiene que:

imizar para
dx
x f d
imizar para
dx
x f d
x x
x x
min 0 |
) (
max 0 |
) (
*
2
2
*
2
2
>
<
=
=


Ejemplo 1: Un sistema de inventarios

Considere el modelo clsico de inventarios, cuyo costo est dado por la siguiente expresin:
Bernardo A. Caldern C. Mtodos de bsqueda 2
2
) (
Q c
Q
AD
Q CT
m
+ =
donde A representa el costo adquisicin o de efectuar un pedido, D es la tasa anual de demanda,
Q es el tamao del lote (variable de decisin) y C
m
representa el costo de mantener una unidad
en inventario por unidad de tiempo (ao). Se sabe que: A = $2000/pedido, D = 2400
unidades/ao, Cm = $150/unidad-ao. Se desea encontrar la cantidad ptima que se debe
pedir.

Derivando con respecto a Q, obtenemos que (condicin necesaria):

m
m
m
c
AD
Q
Q
Q
AD C
Q
AD
sQ
Q dCT
c
2
*
2
0
2
0
) (
2
= = = + =

Realizando la segunda derivada y evalundola en el punto de ptima se comprueba que la
solucin hallada anteriormente corresponde efectivamente a un punto de mnimo.
0
Q
AD 2
Q
) Q ( CT
que tiene se * Q Q Para . 0
Q
) Q ( CT
3 2
2
* Q Q
2
2
d d
> = = >
=


Reemplazando el valor ptimo de Q en la funcin de costos, se obtiene la siguiente expresin
que refleja el costo mnimo.

m
ADc Q CT 2 *) ( =

Para A = $2000/pedido, D = 2400 unidades/ao, Cm = $150/unidad-ao, se tiene

33 . 37947 ) 15 )( 2400 )( 2000 ( 2 ) 253 ( , 253 98 . 252
150
) 2400 )( 2000 ( 2
*
= = ~ = = CT
AD
Q


1.3. Caso discreto (minimizacin)

Si se desea encontrar el valor ptimo x* de una variable discreta, que vara en intervalos de A,
las dos condiciones anteriores se resumen en la siguiente:

Si x* es el valor ptimo (caso minimizacin), es decir, el valor que minimiza la funcin, entonces
f(x*) debe ser menor que cualquier otro valor de x. Ms especficamente, en el punto ptimo se
cumple que:

f(x*) s f(x*- A), y
f(x*) s f(x*+ A)

ya que, por definicin f(x*) es el ptimo (mnimo).

Para el caso de maximizacin las condiciones son:

f(x*) > f(x*- A) y f(x*) > f(x*+ A)

Ejemplo 2. Determinar el punto ptimo de la siguiente funcin:

Minimizar f(x) = x
4
+ x
2
4x, donde x = 0, 0.2, 0.4, 0.6,

Solucin: La tabla presenta la evaluacin de f(x) para varios valores de x, empezando en 0, y
variando de a 0.2
Bernardo A. Caldern C. Mtodos de bsqueda 3

X 0 0.2 0.4 0.6 0.8 1.0
f(x) 0 -0.7584 -1.4144 -1.9104 -2.1504 -2.0

Como se observa, el punto mnimo corresponde a x* = 0.8, con un valor de la funcin de -
2.1504.

En algunos casos es posible calcular el rango en que se encuentra el ptimo, sin necesidad de
evaluar otros puntos, pero en otros casos es necesario realizar varios clculos y verificar cuando
se cumplen las condiciones de optimalidad (como en el presente ejemplo).

Ejemplo 3. Considere de nuevo el sistema de inventarios analizado previamente. Suponga que
la cantidad a pedir slo puede variar de a u unidades, es decir, la cantidad que se pide debe
ser mltiplo de u. Determine cual debe ser el tamao del lote ptimo a pedir.

Solucin. Como ya se indic, si Q* es la cantidad ptima que se debe pedir, y CT(Q) es el costo
de ordenar Q unidades, entonces se debe cumplir que:

CT(Q*) s CT(Q* - u) (1)
y CT(Q*) s CT(Q* + u) (2)

Reemplazando la funcin de costos dada anteriormente en la ecuacin (1) se tiene que:
2
) * (
* 2
*
*
u Q c
u Q
AD Q c
Q
AD
m m
+
+

s + :

1.4. Mtodos clsicos de optimizacin para dos variables

El objetivo es encontrar el valor x* que optimice (minimice o maximice) el valor de una funcin
f(x). Cuando se habla de optimizacin, se puede tratar de un problema de minimizacin o de
maximizacin.

La variable de decisin x se refiere en este caso a un conjunto de dos variables de decisin x
1
y
x
2
. En este caso el problema es encontrar los valores de x
1
y x
2
que optimicen la funcin f(x
1
,x
2
),
que supondremos que es una funcin continua, con primera y segunda derivadas.

Condiciones necesarias

La condicin necesaria para encontrar tanto un punto de mnimo como uno de mximo es que la
primera derivada parcial con respecto a las variables x
1
y x
2
sea cero en el punto ptimo. Por lo
tanto, se debe encontrar la primera derivada de la funcin con respecto a cada una de las
variables de decisin, se igualan a cero las derivadas y se despejan los valores correspondientes
de cada variable de decisin, denotadas por
*
2
*
1
x y x .

0
) , (
0
) , (
2
2 1
1
2 1
=
=
dx
x x df
dx
x x df

Se resuelve el sistema de dos ecuaciones y dos variables para encontrar los valores ptimos
*
2
*
1
x y x



Bernardo A. Caldern C. Mtodos de bsqueda 4
Condiciones suficientes

Usando las primeras derivadas parciales se encuentran los dos valores de las variables de
decisin, que pueden corresponder tanto a un punto de mnimo como de mximo. Para saber si
los valores encontrados para las variables de decisin corresponden a un mnimo o a un
mximo, se deben evaluar las segundas derivadas con respecto a cada variable de decisin y
con respecto a ambas variables, y la condicin suficiente est dada por:

imizar para
dx dx
x x f d
dx
x x f d
dx
x x f d
imizar para
dx dx
x x f d
dx
x x f d
dx
x x f d
min 0
) , ( ) , ( ) , (
max 0
) , ( ) , ( ) , (
2
2 2
2 1
2
2
2
2 1
2
2
1
2 1
2
2
2 2
2 1
2
2
2
2 1
2
2
1
2 1
2
>
|
|
.
|

\
|

|
|
.
|

\
|
|
|
.
|

\
|
<
|
|
.
|

\
|

|
|
.
|

\
|
|
|
.
|

\
|


Ejemplo: Comprobar que el punto (x
1
,x
2
) = (-2, 3) corresponde a un mnimo global de la
funcin
20 6 8 2 ) , (
2 1
2
2
2
1 2 1
+ + + = x x x x x x f

2. Mtodos de Bsqueda

Cuando no se tiene una expresin analtica a la cual se le puedan aplicar los criterios definidos
previamente, o una vez aplicados sea difcil encontrar la solucin apropiada, o cuando los
resultados se obtienen numricamente, como en el caso de la simulacin, es necesario usar otro
mtodo de optimizacin. En este caso se emplean los mtodos de bsqueda. El principio bsico
de estos mtodos se basa en los conceptos empleados para la optimizacin en el caso discreto:
Si x es la variable de decisin, se ensayan diferentes valores x
0
, x
1
, x
2
,,x
k
, siguiendo un orden
o direccin predeterminada, hasta que se cumpla el criterio de optimalidad. Si el punto ptimo
no se encuentra en la direccin inicialmente asignada, se invierte la direccin de bsqueda, y se
aplica de nuevo el proceso de bsqueda hasta encontrar los valores que cumplan con el criterio
de optimizacin. La bsqueda se suspende cuando se ha pasado por el punto ptimo. El valor x*
es el mejor valor si f(x*) es mejor que f(x* - A) y mejor que f(x* + A).

En los mtodos de bsqueda no se garantiza que llega a la solucin ptima, pero s que se logra
acercar al valor ptimo dentro de cierto grado de precisin.

La efectividad de un mtodo de bsqueda depende de si se tiene una idea sobre el rango en que
se encuentra el valor ptimo, o no se tiene ninguna idea a priori y la bsqueda se debe realizar
dentro de un ambiente de incertidumbre, en un rango muy amplio o desconocido. Segn lo
anterior, los mtodos de bsqueda inicialmente se clasifican en bsqueda en un rango no
restringido y bsqueda en un rango restringido.

En los mtodos de bsqueda, siempre se hace uso de la informacin que se ha ido recogiendo,
bien sea para direccionar la bsqueda, o para definir los puntos iniciales de la misma.

Suposicin: Unimodalidad. Se supone que la funcin es unimodal, es decir, que solo tiene un
punto de mnimo o un punto de mximo, segn sea la funcin objetivo. Si se sabe o se sospecha
que la funcin a optimizar tiene varios puntos de mxima (mnima), se deben realizar varios
procesos de bsqueda, empezando cada uno con valores diferentes entre s, ubicados lo ms
distantes posibles, de tal forma que se logren detectar los valores semi ptimos, y se escoja
entre estos el verdadero punto ptimo.




Bernardo A. Caldern C. Mtodos de bsqueda 5
2.1. Bsqueda en un rango no restringido (- < x* < +, x > 0)

En este caso no se tiene idea, a priori, del rango en que se encuentra el valor ptimo. Entonces,
para iniciar el proceso de bsqueda, se debe definir un origen o punto de partida, una direccin
de bsqueda, el tamao del paso que se debe dar, se evalan los valores de la variable de
decisin y se suspende la bsqueda cuando se cumpla el criterio de optimizacin. El proceso de
bsqueda se puede realizar o con un paso constante o con un paso acelerado. Si se tiene alguna
idea de que tan cerca est el valor inicial del punto ptimo, se podra usar un mtodo con paso
constante, si no se tiene idea, se podra usar el mtodo con el paso acelerado.

2.1.1. Bsqueda con paso constante

El procedimiento a seguir, para el caso de minimizacin, es el siguiente:

1. Se define el punto inicial de la bsqueda x
0
.
2. Se define el tamao del paso (A) o el incremento para los valores de x:
3. Se define la direccin inicial de bsqueda. Por lo general, se inicia hacia la derecha (+).
4. Se evala la funcin f(x) en los valores
x = x
0
se evala f(x
0
)
x = x
1
= x
0
+ A se evala f(x
1
)
4.1. Si f(x
1
) < f(x
0
) (es decir, la funcin responde) se evala la funcin en:
x
2
= x
1
+ A
x
3
= x
2
+ A

x
k
= x
k-1
+ A
donde en x
k
la funcin no responde, es decir, f(x
k
) > f(x
k-1
).

La solucin ptima x* se encuentra entre x
k-2
y x
k
, en un intervalo de tamao 2A, y la mejor
solucin esx
k-1
.

Se dice que la solucin ptima x* se encuentra entre x
k-2
y x
k
, y no entre x
k-2
y x
k-1
, o entre x
k-1

y x
k
, ya que no se sabe si el punto
xk-1
queda a la derecha o a la izquierda del punto ptimo.

En resumen:
x
k-2
<x* < x
k
, mejor solucin = x
k-1
, tamao del intervalo = 2A

4.2. Si f(x
1
) > f(x
0
) (es decir, la funcin no responde) se evala la funcin en:
A = =
0
'
1
x x x se evala f(x
0
)
Si ) ( ) (
0
'
1
x f x f < (la funcin responde) entonces se evala la funcin en:

A =
A =
A =

'
1
'
'
2
'
3
'
1
'
2
...... ..........
k k
x x
x x
x x
X
3
= x
2
+ A

donde en
'
k
x la funcin no responde, es decir, ) ( ) (
'
1
'

>
k k
x f x f .

La solucin ptima x* se encuentra entre
'
2
'
k k
x y x en un intervalo de tamao 2A, y la mejor
solucin es
'
1 k
x .

Bernardo A. Caldern C. Mtodos de bsqueda 6
4.3. Si ) ( ) (
0
'
1
x f x f > (la funcin tampoco responde en x
0
- A), entonces la solucin ptima se
encuentra entre x
0
- A y x
0
+ A, en un intervalo de tamao 2A, y la mejor solucin es el
punto inicial x
0
.

Ejemplo: Se desea minimizar la funcin f(x) = (50 x)
2
, para x>0, usando un valor inicial de 0,
y un paso de 3.

Solucin: La tabla siguiente presenta los resultados del proceso de bsqueda

Ensayo x f(x) Mejora?
1 0 2500 -
2 3 2209 S
3 6 1936 S
4 9 1681 S
.. .
16 45 25 S
17 48 4 S
18 51 1 S
19 54 16 No

La solucin ptima se encuentra entre 48 y 54, con un rango de 6, y el mejor punto es 51.

Mejora de la solucin

Como ya se mencion, los mtodos de bsqueda no garantizan que se llegue a la solucin
ptima, como puede apreciarse en el ejemplo anterior, pero s que se encuentre un buen
estimativo de la misma, y dentro de un rango determinado. Si queremos mejorar la solucin
encontrada, se debe tratar de reducir el margen de error (2A), o usar otro mtodo ms eficiente,
ahora que ya se sabe en que rango se encuentra el ptimo. Por lo tanto debemos definir cual
ser el proceso a seguir: si se suspende la bsqueda y se usa la mejor solucin hallada, o si se
reanuda o refina el proceso de bsqueda.

Las alternativas a seguir podran ser:

1) Si se considera que el valor ptimo se encuentra dentro de un rango con una precisin
aceptable, se suspende la bsqueda, y se usa como solucin el mejor valor encontrado
hasta el momento.
2) Se reanuda la bsqueda, usando el mismo mtodo, pero con un paso (A) menor. Se usa
como valor inicial el mejor valor encontrado hasta el momento (x
0
= x
k-1
).
3) Se reanuda la bsqueda pero usando un mtodo de bsqueda de rango finito, ya que ahora
se sabe en que rango se encuentra la solucin ptima (x
k-2
<x* < x
k
).
4) Se puede ajustar una ecuacin cuadrtica que pase por los tres ltimos valores ensayados
(x
k-2
, x
k-1
, x
k
), y luego encontrar la solucin ptima de una forma analtica.

y = f(x) = a + b x + cx
2


Ejemplo. Retome el ejercicio anterior -minimizar la funcin f(x) = (50 x)
2
-, usando el mismo
mtodo, pero con un paso igual a un dcimo del paso anterior, es decir, A = 0.3.

Usando el nuevo paso A = 0.3 y como solucin inicial el mejor valor conocido hasta el momento
(51), se obtienen los resultados presentados en la siguiente tabla.

Ensayo x f(x) Mejora?
1 51 1 -
2 51.3 1.69 No
3 50.7 0.49 S
Bernardo A. Caldern C. Mtodos de bsqueda 7
4 50.4 0.16 S
5 50.1 0.01 S
6 49.8 0.04 No

La solucin ptima se encuentra entre 49.8 y 50.4, con un rango de 0.6, y el mejor punto es
50.1.

Algoritmo computacional

El siguiente algoritmo indica un forma como podra implementarse el mtodo de bsqueda con
paso constante en un programa de simulacin. Al implementar el mtodo de bsqueda debe
tenerse presente que:

- Si se empieza el proceso de bsqueda a la izquierda del ptimo, entonces cuando la
solucin no mejore es porque se han realizado ms de dos ensayos, y en este caso, se
habr pasado ya por el punto ptimo.
- Si la bsqueda se inicia a la derecha del punto ptimo, entonces en el segundo ensayo la
solucin no mejorar, y ser necesario cambiar la direccin de bsqueda, ensayando
valores a la izquierda del valor inicial, hasta que la solucin no mejore, lo cual indica que
ya se ha pasado por el punto ptimo. En este caso se habrn realizado ms de dos
ensayos.
- Si el proceso de bsqueda se inicia en el mejor punto, en el segundo ensayo la solucin no
mejorar, y por lo tanto se debe cambiar la direccin de la bsqueda, y en el tercer intento
tampoco mejorar, lo cual indica que ya se ha pasado por el punto ptimo (se han hecho
ms de dos ensayos).

Para saber si ya se ha pasado por el punto ptimo, se usar una variable denominada bandera
(variable dictoma), que toma el valor de cero cuando an no se haya pasado por el puno
ptimo, y tomar el valor de uno (1) cuando ya se haya pasado por el punto ptimo. En el
algoritmo se supone que se trata de un proceso de minimizacin.

Inicio proceso de bsqueda
Leer Valor inicial (X
0
) y el paso (Ax)
Nmero_ensayos = 0
Costo_minimo = 0 // Se inicializa el proceso de optimizacin
X = X
0

Bandera = 0 // Indica que an no ha pasado por el ptimo
Mientras bandera = 0
Nmero_ensayos = Nmero_ensayos +1
Evaluar la funcin (algoritmo de simulacin, incluyendo el costo)
Imprimir Nmero_ensayos, x, costo
Si costo < costo_minimo, entonces // La funcin mejora
Costo_minimo = costo
X_optimo = x
X = x + Ax
Si no // La funcin no mejora
Si Nmero_ensayos = 2, entonces // Se empez la bsqueda a la derecha del ptimo
x = x
0
- Ax
Ax = - Ax // Se cambia direccin de bsqueda
Si no // Ya se pas por el punto ptimo
Bandera = 1
Fin si
Fin si
Fin mientras
Imprimir Solucin optima: Nmero_ensayos, x_optimo, costo_minimo
Fin proceso
Bernardo A. Caldern C. Mtodos de bsqueda 8

En la instruccin que dice Evaluar la funcin (algoritmo de simulacin, incluyendo el costo)
debe ir el algoritmo de simulacin respectivo, con todas las simulaciones, y con el clculo de la
funcin objetivo, o criterio de evaluacin, correspondiente a lo que en el algoritmo se denomina
el costo.

2.2. Bsqueda con paso acelerado

Cuando se usa el mtodo de bsqueda con paso finito, y no se tiene idea de la localizacin del
valor ptimo, puede suceder que el proceso se inicie en un valor inicial muy alejado del punto
ptimo, o que el paso elegido para el proceso sea muy pequeo (o ambos). En estos casos el
proceso de bsqueda es lento y demorado (y costoso), ya que se deben realizar muchos ensayos
antes de encontrar el rango en el cual se encuentra la solucin optima. Para obviar el problema
anterior, y llegar rpidamente a un rango para la solucin ptima, existe una variacin al
mtodo anterior, modificando el tamao del paso: Cada vez que la funcin mejora con una
nueva solucin, se duplica el tamao del paso usado en el proceso de bsqueda. De esta manera
se llega rpidamente a delimitar el valor de la solucin ptima, lo cual permitir refinar
posteriormente el proceso de bsqueda.

El procedimiento a seguir es el siguiente (caso minimizacin):

1. Se evala la funcin f(x) en los valores
x = x
0
se evala f(x
0
)
x = x
1
= x
0
+ A se evala f(x
1
)
Si f(x
1
) < f(x
0
) (la funcin responde) se evala la funcin en:
x
2
= x
1
+ 2A
x
3
= x
2
+ 4A

x
k
= x
k-1
+ 2
k-1
A
donde en x
k
la funcin no responde, es decir, f(x
k
) > f(x
k-1
).

La solucin ptima x* se encuentra entre x
k-2
y x
k
, en un intervalo de tamao 2
k-2
A + 2
k-1
A, y de
nuevo la mejor solucin es x
k-1
.

En resumen:
x
k-2
<x* < x
k
, mejor solucin = x
k-1
, tamao del intervalo = 2
k-2
A + 2
k-1
A

2. Si f(x
1
) > f(x
0
) (la funcin no responde) se evala la funcin en:
A = =
0
'
1
x x x se evala f(x
0
)
Si ) ( ) (
0
'
1
x f x f < (la funcin responde) se evala la funcin en:

A =
A =
A =

1 '
1
'
'
2
'
3
'
1
'
2
2
...... ..........
4
2
k
k k
x x
x x
x x


donde en
'
k
x la funcin no responde, es decir, ) ( ) (
'
1
'

>
k k
x f x f .

La solucin ptima x* se encuentra entre
'
2
'
k k
x y x en un intervalo de tamao 2A, y la mejor
solucin es
'
1 k
x .

Bernardo A. Caldern C. Mtodos de bsqueda 9
3. Si ) ( ) (
0
'
1
x f x f > (la funcin tampoco responde en x
0
- A), la solucin ptima se encuentra
entre x
0
- A y x
0
+ A, en un intervalo de tamao 2A, y la mejor solucin es el punto inicial
x
0
.

Usando el proceso con paso acelerado, se llega rpidamente al rango en el cual se encuentra la
solucin ptima, pero este rango es por lo general bastante amplio, por lo cual generalmente se
debe refinar el proceso de optimizacin, para reducir dicho rango.

Las alternativas a considerar incluyen las siguientes:

1) Se reanuda la bsqueda, usando el mismo mtodo, con paso acelerado y como valor inicial
el mejor valor encontrado hasta el momento (x
0
= x
k-1
).
2) Se reanuda la bsqueda, usando paso constante, con el mismo paso o uno menor,
dependiendo de que tan grande es el rango del ptimo. Se usa como valor inicial el mejor
valor encontrado hasta el momento (x
0
= x
k-1
).
3) Se reanuda la bsqueda usando un mtodo de bsqueda de rango finito, ya que ahora se
sabe en que rango se encuentra la solucin ptima (x
k-2
<x* < x
k
).

Ejemplo: Se desea minimizar la funcin f(x) = (50 x)
2
, para x>0, usando paso acelerado con
un valor inicial de 0, y un paso de 3.

Solucin: La tabla siguiente presenta los resultados del proceso de bsqueda

Ensayo X f(x) Mejora? Nuevo paso
1 0 2500 - 3
2 3 2209 S 6
3 9 1681 S 12
4 21 841 S 24
5 45 25 S 48
6 93 1849 No

La solucin ptima se encuentra entre 21 y 93, con un rango de 72, y el mejor punto es 45.

Reiniciando el proceso con paso acelerado, con un paso inicial de 3 y un valor inicial de 45, se
obtienen los siguientes resultados:

Ensayo X f(x) Mejora? Nuevo paso
1 45 25 - 3
2 48 4 S 6
3 54 16 No

La solucin ptima se encuentra entre 45 y 54, con un rango de 9, y el mejor punto es 48.

Dado el nuevo rango con una amplitud de 9, no tiene sentido usar ni paso acelerado con un paso
inicial de 3, ni paso constante con un paso inicial de 3.

Ejemplo

Considere el siguiente modelo clsico de inventarios, cuyo costo est dado por la siguiente
expresin:
2
) (
Q
Q
AD
Q CT
Cm
+ =
donde A representa el costo adquisicin o de efectuar un pedido, D es la tasa anual de demanda,
Q es el tamao del lote (variable de decisin) y C
m
representa el costo de mantener una unidad
en inventario por unidad de tiempo (ao). Se sabe que: A = $2000/pedido, D = 2400
Bernardo A. Caldern C. Mtodos de bsqueda 10
unidades/ao, Cm = $150/unidad-ao. Se desea encontrar, con un error mximo de tres
unidades, la cantidad ptima que se debe pedir. Use inicialmente un mtodo de bsqueda en
rango no restringido, y posteriormente el mtodo elegido por Usted, usando los parmetros
iniciales indicados a continuacin:

Alternativa 1 2 3 4 5 6 7
Valor inicial de Q 15 20 25 30 35 40 30
Paso = AQ 20 20 22 20 15 18 22

2.3. Bsqueda en un rango restringido (a < x* < b)

Una vez que se ha delimitado el rango de bsqueda a valores finitos, o si la funcin a optimizar
tiene inicialmente un rango finito de variacin a < x < b), se pueden utilizar otros mtodos de
bsqueda ms eficientes. Usando estos mtodos se puede calcular de antemano cul sera el
nmero de ensayos requeridos para obtener una precisin dada en la bsqueda del valor ptimo.

Existen diferentes mtodos de bsqueda en rango restringido. En algunos de estos mtodos se
define de antemano el nmero mximo de experimentos a realizar, y luego se realizan los
diferentes ensayos a intervalos regularmente espaciados. En otros mtodos simplemente se
define la precisin requerida para estimar el punto ptimo, y luego se realizan los diferentes
ensayos hasta obtener la precisin requerida. Uno de estos mtodos, es el de Fibonacci.

2.3.1. Bsqueda binaria. Principio general

En este mtodo se ensayan dos valores alrededor del punto medio del intervalo de bsqueda, y
dependiendo de los resultados se escoge un nuevo rango de bsqueda, que ser siempre la
mitad del rango anterior de bsqueda. Este procedimiento se repite hasta que el rango de
bsqueda sea menor o igual a la precisin requerida.

El procedimiento se puede expresar de la siguiente manera, para el caso de minimizacin:

a) Se evala la funcin en los valores
o
+
= o
+
=
2
b a
x y
2
b a
x
2 1

b) Si f(x
1
) < f(x
2
) entonces el nuevo rango de bsqueda corresponde a la primera mitad del
rango actual, es decir va desde el valor mnimo actual hasta el punto medio, y si f(x
1
) >
f(x
2
) entonces el nuevo rango de bsqueda corresponde a la segunda mitad del rango
actual, es decir va desde el punto medio hasta el valor mximo. Simblicamente tenemos
que

b b ,
2
b a
a ) x ( f ) x ( f Si
2
b a
b , a a ) x ( f ) x ( f Si
2 1
2 1
=
+
= >
+
= = <

c) El procedimiento anterior se repite tantas veces cuantas sea necesario hasta que el nuevo
rango de bsqueda sea menor o igual a la precisin requerida c, es decir, (b-a) c.

El valor de o debe ser tal que los valores a ensayar en el ltimo intento estn dentro del rango
de bsqueda, es decir, o c/2. La mejor solucin (solucin ptima) corresponde al punto medio
del ltimo intervalo.

2.3.2. Nmero de ensayos a realizar

Despus de realizado el primer ensayo (donde cada ensayo implica la evaluacin de dos valores
de la funcin objetivo) es (b a)/2. El rango en el cual se encuentra la solucin ptima despus
de realizado cada ensayo, con relacin al rango inicial est dado por:
Bernardo A. Caldern C. Mtodos de bsqueda 11

Ensayo 1 Rango = L
1
= L
0
/2 = (b a)/2
Ensayo 2 Rango = L
2
= L
0
/4 = (b a)/4
............
Ensayo N Rango = L
N
= L
0
/2
N
= (b a)/2
N


Despus de realizar cada ensayo se calcula el nuevo rango en el cual se encuentra la solucin
ptima; si este nuevo rango es menor o igual a la precisin requerida, no es necesario realizar el
nuevo ensayo ya que se sabe que la solucin ptima ser el punto medio del nuevo intervalo de
bsqueda.

Si se conoce la precisin requerida se puede calcular el nmero de ensayos que se deben
realizar sabiendo que

c s

= =
N N
0
N
2
a b
2
L
L

De la expresin anterior se concluye que
) 2 (
) ( ) (
LN
LN a b LN
N
c
>


Si slo hay fondos limitados para realizar N ensayos (donde cada ensayo implica la evaluacin
de dos valores de la funcin objetivo), entonces la precisin obtenida est dada por:


N N
0
N
2
a b
2
L
L

= = = c

Ejemplo: Considere de nuevo el ejercicio analizado en las secciones anteriores - minimizar la
funcin f(x) = (50 x)
2
, para 21 < x < 93, que corresponde al rango hallado al usar el mtodo
de bsqueda no restringida usando paso acelerado. Se desea encontrar el valor ptimo con una
precisin de 0.5

Solucin. Como se desea una solucin con una precisin de 0.5, se puede usar un valor delta
de 0.25. La tabla siguiente presenta los resultados del proceso de optimizacin.

Bsqueda usando rango finito
Ensayo a b Punto
medio
x
1
x
2
f(x
1
) f(x
2
) Rango
1 21 93 57 56,75 57,25 45,563 52,563 72
2 21 57 39 38,75 39,25 126,56
3
115,56
3
36
3 39 57 48 47,75 48,25 5,063 3,063 18
4 48 57 52,5 52,25 52,75 5,063 7,563 9
5 48 52,5 50,25 50 50,5 0,000 0,250 4,5
6 48 50,25 49,125 48,875 49,375 1,266 0,391 2,25
7 49,125 50,25 49,6875 49,4375 49,9375 0,316 0,004 1,125
8 49,6875 50,25 49,96875 49,7187
5
50,2187
5
0,079 0,048 0,5625
9 49,9687
5
50,25 50,10937
5
0,2812
5

Bernardo A. Caldern C. Mtodos de bsqueda 12
La solucin ptima se encuentra entre 49.97 y 50.25, con una solucin ptima de 50.109 y una
precisin de 0.28125.El nmero de ensayos requeridos para lograr la precisin deseada de 0.5
est dado por:

Nmero de ensayos = 8 N 17 . 7
) 2 ( LN
) 5 . 0 ( LN ) 21 93 ( LN
N = =

>

3. Bsqueda aleatoria pura

La bsqueda aleatoria pura consiste en generar aleatoriamente un nmero grande de soluciones
a un problema de optimizacin, normalmente generadas por medio de la distribucin uniforme, y
seleccionar la mejor de ellas. Solamente sera aplicable cuando la variable de decisin se
encuentra restringida en un rango finito (a,b). Tiene la ventaja de que no requiere que la
funcin a optimizar sea unimodal, y por lo tanto, si se realiza un nmero grande de ensayos, la
bsqueda aleatoria pura casi siempre converge a la solucin ptima y es aplicable a casi la
totalidad de los problemas de optimizacin debido a los pocos supuestos necesarios para su uso.

La principal desventaja que presenta el mtodo radica en que puede ser lento para encontrar
una solucin ptima o muy cercana al ptimo, aunque este problema se ve mitigado por la gran
evolucin que tienen los sistemas cmputo en la actualidad. Por lo tanto, se requiere realizar un
nmero grande de ensayos.

El proceso consiste en generar aleatoriamente diferentes soluciones al problema en el intervalo
(a, b), escogidas uniformemente, usando el siguiente generador:

X = a + (b a) R

donde R corresponde a un nmero aleatorio generado en el rango (0, 1).

El algoritmo del proceso sera el siguiente:

Inicio proceso de bsqueda
Leer Nmero_valores
Costo_minimo = 0 // Se inicializa el proceso de optimizacin
Para ensayos = hasta Nmero_valores
R = RND // Se genera aleatorio
X = a + (b a) R // Genera la solucin
Evaluar la funcin (algoritmo de simulacin, incluyendo el costo)
Imprimir ensayos, x, costo
Si costo < costo_minimo, entonces // La funcin mejora
Costo_minimo = costo
X_optimo = x
Fin si
Siguiente ensayos
Imprimir Solucin ptima: Nmero_ensayos, x_optimo, costo_minimo
Fin proceso

El cuadro siguiente presenta una muestra de un proceso de bsqueda pura para 20 ensayos
para minimizar la funcin (x 50)
2
, 21 < x < 93, que se ha venido analizando.








Bernardo A. Caldern C. Mtodos de bsqueda 13

Ensayo R Valor de x f(x)
Valor
mnimo
Mejor
valor
1 0,1712 33,33 277,91 277,91 33,33
2 0,5091 57,66 58,63 58,63 57,66
3 0,2460 38,71 127,49 58,63 57,66
4 0,1893 34,63 236,21 58,63 57,66
5 0,9762 91,28 1704,44 58,63 57,66
6 0,7132 72,35 499,47 58,63 57,66
7 0,3588 46,83 10,02 10,02 46,83
8 0,9485 89,29 1543,78 10,02 46,83
9 0,7336 73,82 567,51 10,02 46,83
10 0,6328 66,56 274,28 10,02 46,83
11 0,2096 36,09 193,38 10,02 46,83
12 0,0800 26,76 540,16 10,02 46,83
13 0,7440 74,57 603,66 10,02 46,83
14 0,4278 51,80 3,23 3,23 51,80
15 0,6623 68,69 349,18 3,23 51,80
16 0,3453 45,86 17,12 3,23 51,80
17 0,8330 80,97 959,36 3,23 51,80
18 0,8320 80,90 955,00 3,23 51,80
19 0,6471 67,59 309,44 3,23 51,80
20 0,0789 26,68 543,82 3,23 51,80


Bernardo A. Caldern C. Mtodos de bsqueda 14

Ensayo a B m x
1
x
2
f(x
1
) f(x
2
) Rango
1 45 54 49,5 49,4 49,6 0,360 0,160 9
2 49,5 54 51,75 51,65 51,85 2,723 3,423 4,5
3 49,5 51,75 50,625 50,525 50,725 0,276 0,526 2,25
4 49,5 50,625 50,063 49,963 50,163 0,001 0,026 1,125
5 49,5 50,063 49,781 49,681 49,881 0,102 0,014 0,563
6 49,781 50,063 49,922 49,822 50,022 0,032 0,000 0,281
7 49,922 50,063 49,992 49,892 50,092 0,012 0,008 0,141

B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 1
CONTENIDO


2.1 Introduccin
2.2 Diseo de la hoja de la simulacin
2.3 Funciones tiles
2.4 Ejemplo. Juego del raspa raspa.
2.5 Construccin de histogramas y tablas de frecuencia
2.6 Generacin de variables aleatorias usando Excel
2.7 Comparacin de alternativas
2.8 Replicado de una corrida
2.9 Replicado de una corrida y comparacin de alternativas simultneamente
2.10 Un modelo de simulacin. Juego del lanzamiento de la moneda

B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 2

2 Simulacin con Excel

2.1 Introduccin

La mayora de modelos de simulacin tipo Montecarlo se pueden programar mediante la hoja sencilla de
clculo de Excel, usando herramientas relativamente simples. Habr otros modelos que requieran
herramientas un poco ms sofisticadas del Excel, y todos se pueden programar a travs del Visual Basic, o
de la herramienta macros que viene incorporada con el Excel. En las siguientes secciones se presentarn
algunos elementos del Excel que son de gran utilidad en la formulacin de los modelos de simulacin. En el
desarrollo de los temas, se supondr que el lector tiene los elementos mnimos requeridos del Windows para
el manejo y manipulacin de archivos.

2.2 Diseo de la hoja de la simulacin

Las hojas deben disearse de tal forma que la informacin se pueda leer de una manera gil y rpida, y
debera tener en cuenta los siguientes aspectos:

- Un ttulo descriptivo que identifique el estudio
- Una seccin para los datos de entrada
- Los datos de entrada deben usarse slo a travs de referencias a las celdas que los contienen, de
tal manera que cualquier cambio en los mismos se refleje inmediatamente en los resultados de
salida
- Una seccin para los datos de salida
- Una seccin para el rea de trabajo.
- Deben usarse los formatos apropiados, de acuerdo a la naturaleza de los datos
- Los clculos complejos deberan realizarse en ms de una celda, para reducir las posibilidades de
error.

2.3 Funciones tiles

Las siguientes son algunas de las funciones de Excel tiles para el diseo de la hoja de clculo de la
simulacin.

Funciones matemticas o estadsticas

La funcin =aleatorio() genera un nmero aleatorio, cuya distribucin es uniforme (0,1).

Funciones para clculo de estadsticas

Una vez realizada la simulacin, se pueden usar las siguientes funciones para el clculo de algunas medidas
de desempeo:

Min(rango). Encuentra el valor mnimo que hay en el rango especificado.
Max(rango). Encuentra el valor mximo que hay en el rango especificado.
Suma(rango): Calcula la suma de los valores que hay en el rango especificado.
Promedio(rango). Calcula el valor promedio de lo valores que hay en el rango especificado.
Desvest(rango). Calcula la desviacin estndar de la muestra de valores que hay en el rango
especificado.
Contar(rango). Calcula el nmero de valores que hay en el rango especificado.
Contar.si(rango;condicn). Calcula, dentro del rango especificado, el nmero de valores que cumplen la
condicin especificada; funcin tilpara el clculo de probabilidades

Funciones lgicas

Para la realizacin de clculos condicionales, dependientes del valor de algn atributo o de otra variable o
conjunto de variables. Entre las principales se tienen las siguientes funciones:
y(condicin1;condicin 2;;condicin k). Es una funcin lgica que devuelve el Verdadero si se
cumplen todas las condiciones, en caso contrario devuelve el valor Falso.
o(condicin1;condicin 2;;condicin k). Es una funcin lgica que devuelve el Verdadero si se
cumple al menos una condicin, y el valor Falso si no se cumple ninguna.
si(condicin; valor si la condicin es verdadera; valor si es falsa). Es una funcin lgica que
retorna un valor si la condicin especificada es verdadera, y retorna otro valor si la condicin es falsa.
En el campo de valor si la condicin es verdadera o en valor si es falsa se puede colocar -anidar-
otra condicin tipo si.
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 3

La funcin si permite escoger uno de dos valores para colocar en una celda. Si la condicin especificada es
verdadera, el valor si verdadero es colocado en la celda. Si la condicin es falsa, el valor si falso es el
colocado. Esta funcin es el equivalente de la estructura if ...then...else...end if de algunos lenguajes de
programacin. Por ejemplo, si simulamos el lanzamiento de una moneda, cuya probabilidad de obtener cara
es , entonces podramos generar en la posicin A1 un nmero aleatorio, y en la posicin B1 colocaramos
el resultado del lanzamiento (cara o sello), que se genera de la siguiente manera:

Si R < 0.5 Cara
Si R > 0.5 Sello

Entonces la celda B1 estara definida como:

=si(B1<0.5;Cara;Sello)

Si el resultado cara los representamos por el valor 1 y por 0 un sello, entonces la celda B1 quedara como:

=si(B1<0.5;1;0)

La funcin si incluye las siguientes condiciones:

= igual a
< menor que
<= menor que o igual a
> mayor que
>= mayor que o igual a
<> diferente de

2.4 Ejemplo. Juego del raspa raspa.

Considere una lotera instantnea. Cada tarjeta tiene tres filas, y en cada fila hay dos casillas, una de las
cuales tiene un valor de $1,000 y la otra $5,000. El jugador raspa una casilla de cada rengln para descubrir
el valor asociado. Si los tres nmeros destapados son iguales, el jugador gana esa cantidad. En caso
contrario no gana nada.









Para evaluar la factibilidad del negocio se desea saber, entre otras cosas, cul es la cantidad mnima que se
debe cobrar por cada boleto.

Solucin por simulacin

El valor mnimo que se puede cobrar por cada boleto, de tal forma que en el negocio no se pierda dinero, es
la cantidad media que espera ganar quien lo compre.

La solucin completa, incluyendo la solucin analtica, se presenta en el documento Introduccin a la
simulacin. Conceptos bsicos. En esta seccin, tan slo nos enfocaremos en la solucin desde el punto de
vista de la simulacin.

La utilidad bruta obtenida por quien compra un boleto de esta lotera instantnea es una variable aleatoria,
dada por:

=
casos otros en
de valor el tienen destapadas celdas tres las si
de valor el tienen destapadas celdas tres las si
U
0
5000 5000
1000 1000


B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 4
La solucin por simulacin consiste en tratar de reproducir (imitar) lo que sucede cuando una persona
compra el boleto, y repetir muchas veces este procedimiento con muchas boletos, y calcular la utilidad
promedio.

El procedimiento seguido por una persona cuando compra el boleto se detalla a continuacin:

Destapar celda en fila 1, y verificar el resultado
Destapar celda en fila 2, y verificar el resultado
Destapar celda en fila 3, y verificar el resultado
Si (todas las celdas son iguales a 1000) entonces
Utilidad = 1000
Si no
Si (todas las celdas son iguales a 5000) entonces
Utilidad = 5000
Si no
Utilidad = 0
Fin si
Fin si

Para simular el destape de una celda, simplemente generamos un nmero aleatorio R, que representa
todos los valores posibles que se pueden obtener cuando se destapa una casilla (dos en este caso), y el
resultado se obtiene estableciendo una equivalencia entre el nmero aleatorio R y las diferentes
probabilidades de los valores a destapar. Como solamente son dos valores, y cada casilla contiene o un valor
de 1000 o de 5000, con igual probabilidad, entonces el generador del resultado ser el siguiente:

Si R < 0.5 valor destapado = 1000
Si R > 0.5 valor destapado = 5000

Una forma de conocer lo que gana cada jugador al comprar un boleto, consiste en calcular la suma de las
tres filas destapadas, y si esta suma es 3,000 entonces gana $1,000, si es 15,000 entonces gana $5,000, y
si no es ninguna de las dos anteriores, no gana nada.

Para saber la cantidad mnima a cancelar por cada boleto, entonces se simulara la venta de muchos boletos,
se calcula la ganancia de cada boleto, y luego se calcula la ganancia promedio. El algoritmo siguiente (seudo
cdigo) contiene todos los pasos a realizar

Inicio
Definir Nmero_boletos
Para cada boleto =1 hasta Nmero_boletos
Suma_celdas = 0
Para cada fila =1 a 3
Generar nmero_aleatorio
Si nmero_aleatorio <0.5 entonces
Suma_celdas = Suma_celdas + 1,000
Sino
Suma_celdas = Suma_celdas + 5,000
Fin si
Siguiente fila
Si (suma_celdas=3000) entonces
Utilidad(boleto) = 1000
Sino
Si (suma_celdas=15000) entonces
Utilidad(boleto) = 5000
sino
Utilidad(boleto) = 0
Fin si
Fin si
Siguiente boleto
Calcular ganancia promedio
Fin

Para implementarlo en Excel, simplemente debemos identificar las columnas requeridas, y la informacin
que llevara cada una. Se necesita una columna para los boletos, y dos columnas por cada fila, y una ltima
columna para la ganancia de cada boleto. Adems, se requerira una fila por cada boleto. Esas columnas
seran:
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 5

Columna A: Nmero del boleto, desde 1 hasta el nmero de boletos
Columna B: Nmero aleatorio para la primera fila
Columna C: Valor de la primera celda destapada
Columna D: Nmero aleatorio para la segunda fila
Columna E: Valor de la segunda celda destapada
Columna F: Nmero aleatorio para la tercera fila
Columna G: Valor de la tercera celda destapada
Columna H: Utilidad del boleto.

La configuracin de la hoja de clculo sera la siguiente:

(A)
Boleto
nmero
(B)
Nmero
aleatorio 1
( C )
Valor
primera
celda
(D)
Nmero
aleatorio 2
(E)
Valor
segunda
celda
(E)
Nmero
aleatorio 3
(F)
Valor
tercera
celda
(G)
Ganancia
1
2
3
..


En la primera fila podemos colocar un ttulo que identifique el contenido de la hoja de clculo, en la segunda
los encabezados de cada columna, y a partir de la tercera irn los diferentes boletos.

Para conocer el valor que hay en cada fila se usar la funcin si sencilla, mientras que para conocer la
ganancia del juego se usar la funcin si con otro si anidado.

Las funciones (instrucciones) que iran en las diferentes celdas son los siguientes:

Bi: = aleatorio()
Ci: =si(Bi<0.5;1000;5000)
Di: = aleatorio()
Ei: =si(Di<0.5;1000;5000)
Fi: = aleatorio()
Gi: =si(Fi<0.5;1000;5000)
Hi: =si(Ci+Ei+Gi=3000;1000;si(Ci+Ei+Gi=15000;5000;0))

Las anteriores celdas se escriben en la tercera fila, y luego se copian en las filas restantes tantas veces
cuantas sean necesarias, segn el nmero de boletos.

En la fila 2, columna H podramos colocar a ganancia promedio, segn el nmero de boletos, segn:

H2 = promedio(h3:hn) , donde n representa la ltima fila de la simulacin

Otra estadstica de inters podra ser la probabilidad de ganar, calculada usando la funcin contar.si.

El siguiente cuadro presenta los resultados de una simulacin de 5000 boletos

2.5 Construccin de histogramas y tablas de frecuencia

El objetivo de una simulacin es obtener informacin sobre el comportamiento de un sistema o para ayudar
en la solucin de un problema. Generalmente se recogen cantidades grandes de datos, que necesitan
resumirse, bien sea a travs de medidas resumen (medias, desviaciones, mnimos, mximos) o mediante
grficas. Una de las grficas ms usadas tiles es el histograma de frecuencia.
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 6

Juego del raspa raspa
Utilidad media 817,8
Boleto
nmero (A)
Nmero
aleatorio 1
(B)
Valor
primera
celda (C)
Nmero
aleatorio 1
(D)
Valor
segunda
celda (E)
Nmero
aleatorio 1
(F)
Valor
tercera
celda (F)
Valor ganado
1 0,067 1000 0,316 1000 0,219 1000 1000
2 0,090 1000 0,759 5000 0,551 5000 0
3 0,063 1000 0,625 5000 0,774 5000 0
4 0,441 1000 0,129 1000 0,910 5000 0
5 0,002 1000 0,328 1000 0,746 5000 0
6 0,431 1000 0,323 1000 0,666 5000 0
7 0,997 5000 0,893 5000 0,777 5000 5000
8 0,191 1000 0,436 1000 0,781 5000 0
9 0,795 5000 0,659 5000 0,971 5000 5000
10 0,586 5000 0,867 5000 0,279 1000 0
11 0,461 1000 0,835 5000 0,741 5000 0
12 0,542 5000 0,148 1000 0,557 5000 0
13 0,085 1000 0,244 1000 0,712 5000 0
14 0,860 5000 0,403 1000 0,122 1000 0
15 0,746 5000 0,913 5000 0,030 1000 0
16 0,629 5000 0,463 1000 0,802 5000 0
17 0,361 1000 0,831 5000 0,645 5000 0
18 0,670 5000 0,397 1000 0,877 5000 0
19 0,761 5000 0,567 5000 0,533 5000 5000
20 0,514 5000 0,447 1000 0,091 1000 0
21 0,430 1000 0,176 1000 0,283 1000 1000
22 0,906 5000 0,038 1000 0,693 5000 0
23 0,813 5000 0,874 5000 0,539 5000 5000
24 0,689 5000 0,637 5000 0,371 1000 0
25 0,812 5000 0,278 1000 0,114 1000 0
26 0,150 1000 0,349 1000 0,859 5000 0
27 0,553 5000 0,705 5000 0,803 5000 5000
28 0,144 1000 0,397 1000 0,135 1000 1000
29 0,425 1000 0,403 1000 0,399 1000 1000
30 0,179 1000 0,051 1000 0,705 5000 0
31 0,469 1000 0,080 1000 0,902 5000 0
32 0,241 1000 0,504 5000 0,102 1000 0
33 0,301 1000 0,845 5000 0,972 5000 0
34 0,463 1000 0,217 1000 0,312 1000 1000
35 0,721 5000 0,244 1000 0,758 5000 0
36 0,896 5000 0,934 5000 0,102 1000 0
37 0,322 1000 0,487 1000 0,987 5000 0
38 0,210 1000 0,087 1000 0,055 1000 1000
39 0,521 5000 0,800 5000 0,844 5000 5000
40 0,535 5000 0,669 5000 0,773 5000 5000
41 0,212 1000 0,509 5000 0,977 5000 0
42 0,910 5000 0,225 1000 0,738 5000 0

Simulacin del juego del raspa raspa
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 7

Excel permite construir el histograma de frecuencia de dos maneras diferentes, a saber:

a) Usando la herramienta Anlisis de datos. Un enfoque es usar el men Herramientas/Anlisis de
datos/Histograma de frecuencia, y especificar luego el rango de los datos, los lmites superiores de los
intervalos de clase, dejando un ltimo intervalo vaco para los datos que excedan el lmite superior
especificado. Si no se especifican los lmites de clase, el Excel los asigna por defecto. Si tanto el rango
de datos como el de los intervalos de clase tienen un rtulo que los identifica, debe seleccionarse la
celda respectiva. Adems debe especificarse si se desea elaborar el grfico. El cuadro siguiente
representa el histograma de juego de raspa raspa, slo se especifican tres lmites superiores para los
intervalos (0, 1,000 y 5,000) que corresponden a los nicos valores posibles de la utilidad.

b) Otra alternativa es usar la funcin frecuencia del Excel, y luego construir el histograma mediante la
opcin grfica. Esta opcin es preferible, debido a que la opcin del histograma es esttica y no est
ligada a los datos, por lo cual, si los datos cambian, el histograma permanece inmodificado. Para usar
la funcin frecuencia se requiere:

- Definir los lmites superiores de los intervalos de clase. Si los datos son continuos, se deja un celda
en blanco despus del ltimo lmite, para valores en exceso
- Seleccionar las celdas adyacentes a los lmites superiores de los intervalos de clase. Si los datos son
continuos, se selecciona, una celda adicional en blanco despus del ltimo lmite, para valores en
exceso
- Entrar la funcin Excel =frecuencia(rango de datos; rango de lmites)
- Presionar ctrl-Shift-Enter simultneamente.
- Construir un histograma usando las opciones de grficas del Excel, dndole el formato y apariencia
apropiada.

Construir un histograma de frecuencia para la utilidad del juego de raspa raspa.
2.6 Generacin de variables aleatorias con Excel

La hoja de clculo Excel tiene varias funciones para generar variables aleatorias de diferentes tipos. Estas
funciones son las siguientes:

2.6.1 Generacin de variables aleatorias discretas

Considere la siguiente tabla que representa la demanda por un artculo especificado.

Nmero de copias X 0 1 2 3 4
Probabilidad p(x) 0.15 0.25 0.45 0.10 0.05

Para generar aleatoriamente la demanda por dicho artculo, se genera un nmero aleatorio R (entre cero y
uno), el cual debe representar los diferentes valores que puede tomar la demanda. As, un 15% de los
nmeros debe representar una demanda de cero unidades, un 25% una demanda de una unidad, un 45%
una demanda de 2 unidades, un 10% una demanda de 3 unidades, y un 5% una demanda de 4 unidades.
Entonces, dado un nmero aleatorio, para saber a que demanda corresponde, se distribuye el rango de cero
a uno para cada valor en forma proporcional a su probabilidad, y para realizarlo de una manera ordenada, se
calcula la probabilidad acumulada F(x) conocida como la funcin de distribucin de la variable, y se asignan
los valores siguiendo dicha funcin. As: al valor X = 0 corresponde un 15% de los nmeros aleatorios, entre
el cero y 0.15, al valor X = 1 corresponde un 25% de los nmeros aleatorios, entre 0.15 y 0.40, al valor X =
2 corresponde un 45% de los nmeros aleatorios, entre 0.40 y 0.85, al valor X = 3 corresponde un 10% de
los nmeros aleatorios, entre el 0.85 y 0.95, y finalmente al valor X = 4 corresponde el ltimo 5% de los
nmeros aleatorios, los que sean mayores o iguales a 0.95.

Prob. acumulada F(x) 0.15 0.40 0.85 0.90 1.00
Rango de R R<0.15 0.15sR<0.40 0.40sR<0.85 0.85sR<0.95 R>0.95
Valor de la variable X 0 1 2 3 4

La generacin del valor de la demanda se har simplemente distribuyendo el rango del nmero aleatorio
(0,1) en forma proporcional a cada valor de la probabilidad, segn lo muestra el siguiente procedimiento:

Si r < 0.15 X = 0
Si 0.15 s r < 0.40 X = 1
Si 0.40 s r < 0.85 X = 2
Si 0.85 s r < 0.95 X = 3
Si r > 0.95 X = 4
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 8

Analizando el procedimiento anterior, se observa que el valor de x es el entero que cumple la siguiente
desigualdad.

Si F(x-1) s r < F(x) entonces X = x

(Este procedimiento se conoce como el mtodo de la transformacin inversa caso discreto, y es aplicable
para todas las variables discretas).

Este proceso se puede representar en Excel mediante la funcin si, usando varios ciclos si internamente.
Por ejemplo, si la celda c10 contiene un nmero aleatorio, la demanda se puede generar en la celda D10
usando la siguiente expresin:

D10 =SI($C10<0.15;0;SI($C10<0.4;1;SI($C10<0.85;2;SI($C10<0.95;3;4))))

Ver funciones buscarh y buscarv.

2.6.2 Distribucin Beta DISTR.BETA.INV

Devuelve, para una probabilidad dada, el valor de la variable aleatoria siguiendo una distribucin beta. Es
decir, si el argumento probabilidad = DISTR.BETA(x;...), entonces DISTR.BETA.INV (probabilidad;...) = x. La
distribucin beta acumulada puede emplearse en la organizacin de proyectos para crear modelos con fechas
de finalizacin probables, de acuerdo con un plazo de finalizacin y variabilidad esperados.

Sintaxis: DISTR.BETA.INV(probabilidad;alfa;beta;A;B)

- Probabilidad es una probabilidad asociada con la distribucin beta. Para la simulacin corresponde a un
nmero aleatorio.
- Alfa y Beta son los parmetros de la distribucin.
- A y B corresponden a los lmites inferior y superior, respectivamente, de la distribucin de x.

DISTR.BETA.INV usa una tcnica iterativa para calcular la funcin. Dado un valor de probabilidad,
DISTR.BETA.INV itera hasta que el resultado tenga una exactitud de 3x10
-7
. Si DISTR.BETA.INV no
converge despus de 100 iteraciones, la funcin devuelve el valor de error #N/A.

Ejemplo: DISTR.BETA.INV(0,685470581;8;10;1;3) es igual a 2

2.6.3 Distribucin F DISTR.F.INV

Devuelve el inverso de la distribucin de probabilidad F. Si el argumento p = DISTR.F(x,...), entonces
DISTR.F.INV(p,...) = x.

La distribucin F puede usarse en una prueba F que compare el grado de variabilidad en dos conjuntos de
datos. Por ejemplo, podra analizar las distribuciones de ingresos en Venezuela y Colombia para determinar
si ambos pases tienen un grado de diversidad similar.

Sintaxis: DISTR.F.INV(probabilitdad;grados_de_libertad1;grados_de_libertad2)

- Probabilidad es una probabilidad asociada con la funcin de distribucin acumulativa F. Para la
simulacin corresponde a un nmero aleatorio.
- Grados_de_libertad1 es el nmero de grados de libertad del numerador.
- Grados_de_libertad2 es el nmero de grados de libertad del denominador.

DISTR.F.INV puede usarse para devolver valores crticos de la distribucin F. Por ejemplo, el resultado de un
clculo AN.VAR generalmente incluye datos para la estadstica F, la probabilidad F y el valor crtico F con un
nivel de significacin de 0,05. Use el nivel de significacin como argumento probabilidad de DISTR.F.INV
para devolver el valor crtico de F.

DISTR.F.INV usa una tcnica iterativa para calcular la funcin. Dado un valor de probabilidad, DISTR.F.INV
reitera hasta que el resultado alcance una exactitud de 3x10
-7
. Si DISTR.F.INV no converge despus de
100 iteraciones, la funcin devuelve el valor de error #N/A.

Ejemplo: DISTR.F.INV(0,01;6;4) es igual a 15,20675

B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 9
2.6.4 Distribucin Gamma DISTR.GAMMA.INV

Devuelve, para una probabilidad dada, el valor de la variable aleatoria que sigue una distribucin gamma
acumulativa. Si p = DISTR.GAMMA(x,...), entonces DISTR.GAMMA.INV(p,...) = x
Utilice esta funcin para estudiar variables cuya distribucin podra ser asimtrica.

Sintaxis: DISTR.GAMMA.INV(prob;alfa;beta)

- Prob es la probabilidad asociada con la distribucin gamma. Para la simulacin corresponde a un nmero
aleatorio.
- Alfa es un parmetro de la distribucin.
- Beta es un parmetro de la distribucin (parmetro de forma). Si beta = 1, DISTR.GAMMA.INV
devuelve el valor de la variable aleatoria que sigue una distribucin gamma estndar.

Ejemplo: DISTR.GAMMA.INV(0,068094;9;2) es igual a 10

2.6.5 Distribucin logartmica normal DISTR.LOG.INV

Devuelve el inverso de la probabilidad para una variable aleatoria siguiendo una distribucin logartmica
normal de x, donde ln(x) se distribuye normalmente con los parmetros media y desv_estndar. Si p =
DISTR.LOG.NORM(x,...) entonces DISTR.LOG.INV(p,...) = x.

La distribucin logartmica normal se emplea para analizar datos transformados logartmicamente.

Sintaxis: DISTR.LOG.INV(probabilidad;media;desv_estndar)

- Probabilidad es una probabilidad asociada con la distribucin logartmico-normal. Para la simulacin
corresponde a un nmero aleatorio.
- Media es la media de ln(x).
- Desv_estndar es la desviacin estndar de ln(x).

Ejemplo: DISTR.LOG.INV(0,039084; 3,5; 1,2) es igual a 4,000014

2.6.6 Distribucin normal estndar N(0,1) DISTR.NORM.ESTAND.INV

Devuelve, para una probabilidad dada, el valor de la variable aleatoria que tiene una distribucin normal
estndar acumulativa. La distribucin tiene una media de cero y una desviacin estndar de uno.

Sintaxis: DISTR.NORM.ESTAND.INV(probabilidad)

- Probabilidad es una probabilidad que corresponde a la distribucin normal. Para la simulacin
corresponde a un nmero aleatorio.

La funcin DISTR.NORM.ESTAND.INV se calcula utilizando una tcnica iterativa. Dado un valor del
argumento probabilidad, DISTR.NORM.ESTAND.INV itera hasta que el resultado tenga una exactitud de
3x10
-7
. Si DISTR.NORM.ESTAND.INV no converge despus de 100 iteraciones, la funcin devuelve el valor
de error #N/A.

Ejemplo: DISTR.NORM.ESTAND.INV(0,908789) es igual a 1,3333

2.6.7 Distribucin normal ( ) DISTR.NORM.INV

Devuelve, para una probabilidad dada, el valor de la variable aleatoria siguiendo una distribucin
acumulativa normal para la media y desviacin estndar especificadas.

Sintaxis: DISTR.NORM.INV(prob;media;desv_estndar)

- Prob es una probabilidad asociada a la distribucin normal. Para la simulacin corresponde a un
nmero aleatorio.
- Media es la media aritmtica de la distribucin.
- Desv_estndar es la desviacin estndar de la distribucin.

DISTR.NORM.INV utiliza la distribucin normal estndar si el argumento media = 0 y si el argumento
desv_estndar = 1 (vea DISTR.NORM.ESTAND.INV).

B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 10
DISTR.NORM.INV se calcula utilizando una tcnica iterativa. Dado un valor del argumento probabilidad, la
funcin DISTR.NORM.INV reiterar hasta que el resultado obtenido tenga una exactitud de 3x10
-7
. Si
DISTR.NORM.INV no converge despus de 100 iteraciones, la funcin devuelve el valor de error #N/A.

Ejemplo: DISTR.NORM.INV(0,908789;40;1,5) es igual a 42

2.6.8 Distribucin T DISTR.T.INV

Devuelve, para una probabilidad dada, el valor de la variable aleatoria siguiendo una distribucin t de
Student para los grados de libertad especificados.

Sintaxis: DISTR.T.INV(probabilidad;grados_de_libertad)

- Probabilidad es la probabilidad asociada con la distribucin t de Student dos colas. Para la simulacin
corresponde a un nmero aleatorio.
- Grados_de_libertad es el nmero de grados de libertad para diferenciar la distribucin.

DISTR.T.INV se calcula como DISTR.T.INV=p( t<X ), donde X es una variable aleatoria que sigue la
distribucin t.

DISTR.T.INV se calcula utilizando una tcnica iterativa. Dado un valor del argumento probabilidad,
DISTR.T.INV reitera hasta obtener un resultado con una exactitud de 3x10
-7
. Si DISTR.T.INV no converge
despus de 100 iteraciones, la funcin devuelve el valor de error #N/A.

Ejemplo: DISTR.T.INV(0,054645;60) es igual a 1,96

2.6.9 Distribuciones empricas o variables aleatorias discretas en Excel BUSCARV

Las variables aleatorias discretas, o las distribuciones empricas, cuya probabilidad se da en forma numrica,
se pueden generar en Excel usando las funciones buscarh o buscarv, segn la forma como se especifique
la informacin en la hoja de clculo.

La funcin buscarv busca un valor especfico en la primera columna de una matriz o arreglo y devuelve el
valor correspondiente en la misma fila de una columna especificada en la tabla. Se utiliza BUSCARV cuando
los valores de comparacin se encuentren en una columna situada a la izquierda de los datos que desea
encontrar; cuando los valores de comparacin se encuentren en una fila, se debe usar BUSCARH

Sintaxis: BUSCARV(valor_buscado;matriz_de_comparacin;indicador_columnas;ordenado)

- Valor_buscado es el valor que se busca en la primera columna de la matriz. Valor_buscado puede ser un
valor, una referencia o una cadena de texto. Para la simulacin corresponde a un nmero aleatorio.
- Matriz_de_comparacin es el conjunto de informacin donde se buscan los datos. Se define mediante
una referencia a un rango o un nombre de rango, como por ejemplo Base_de_datos o Lista, $C1:$E15.
- Indicador_columnas es el nmero de la columna de la matriz_de_comparacin que contiene el valor de
la variable que debe devolverse. Si el argumento indicador_columnas es igual a 2, la funcin devuelve el
valor de la segunda columna del argumento matriz_de_comparacin; si el argumento
indicador_columnas es igual a 3, devuelve el valor de la tercera columna de matriz_de_comparacin y
as sucesivamente.

Los valores de la primera columna del argumento matriz_de_comparacin deben colocarse en orden
ascendente (corresponden a la funcin de distribucin).

Los valores de la primera columna de matriz_de_comparacin pueden ser texto, nmeros o valores lgicos.
El texto escrito en maysculas y minsculas es equivalente.

Ordenado. Es un valor lgico que indica si desea que la funcin BUSCARV busque un valor igual o
aproximado al valor especificado. Si el argumento ordenado es VERDADERO o se omite, la funcin devuelve
un valor aproximado, es decir, si no encuentra un valor exacto, devolver el valor inmediatamente menor
que el valor_buscado. Si ordenado es FALSO, BUSCARV devuelve el valor buscado. Si no encuentra ningn
valor, devuelve el valor de error #N/A.

Observaciones

Si BUSCARV no puede encontrar valor_buscado y ordenado es VERDADERO, utiliza el valor ms grande que
sea menor o igual a valor_buscado.
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 11

SI la informacin viene dada por filas, se usa la funcin buscarh, con una estructura similar.

Ejemplo. Considere la variable aleatoria analizada en la seccin 5.1, cuya informacin se resume a
continuacin:


Demanda xi 10 15 20 25 30
Frecuencia relativa - f(xi) 0.18 0.38 0.31 0.11 0.02
Frecuencia relativa acumulada - F(xi) 0.18 0.56 0.87 0.98 1.00

Para generar la variable aleatoria mediante la funcin BUSCARV, la informacin podra organizarse como se
muestra en la siguiente tabla, y el comando podra ser el siguiente:

Sintaxis: BUSCARV(aleatorio(),$D10:$F$14,3)

Se genera el nmero aleatorio con la funcin =aleatorio()
Si r < 0.18 x = 10
Si r < 0.56 x = 15
Si r < 0.87 x = 20
Si r < 0.98 x = 25
Si r > 0.98 x = 30

Para cada valor de Xi se asocia la probabilidad acumulada anterior.


Fila\Columna A D E F G
1 . . . . . . .

10 0 0.18 10
11 0.18 0.56 15
12 0.56 0.87 20
13 0.87 0.98 25
14 0.98 1.0 30
15

La funcin BUSCARH funciona en idntica forma, con la diferencia de que la informacin a buscar est dada
por filas, y no por columnas. Su sintaxis es la siguiente:

BUSCARH(valor_buscado;matriz_buscar_en;indicador_filas; ordenado)

Donde Valor_buscado es el valor que se busca en la primera fila de matriz_buscar_en.

La siguiente tabla resume las funciones generadores de variables dadas en el excel.

Distribucin Nombre funcin Parmetros
Beta DISTR.BETA.INV

Probabilidad
nmero aleatorio
Alfa Beta A y B
(Valores
mnimo y
mximo)
Binomial BINOMCrit Probabilidad
nmero aleatorio
Ensayos Probabilidad
de xito

F DISTR.F.INV Probabilidad
nmero aleatorio
Grados de
libertad 1 v1
Grados de
libertad 2 v2

Gama DISTR.GAMMA.INV

Probabilidad
nmero aleatorio
Alfa Beta
Logartmica
Normal
DISTR.LOG.INV

Probabilidad
nmero aleatorio
Media del
logaritmo de
x
Desviacin
estndar del
ln x

Normal
estndar
N(0,1)
DISTR.NORM.ESTAND.INV Probabilidad
nmero aleatorio

Normal DISTR.NORM.INV Probabilidad
nmero aleatorio
Media Desviacin
estndar

B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 12
Chi cuadrado Prueba.chi.inv Probabilidad
nmero aleatorio
Grados de
libertad

T DISTR.T.INV

Probabilidad
nmero aleatorio
Grados de
libertad v

Ejemplo. Considere la variable aleatoria analizada en la seccin 5.1, cuya informacin se resume a
continuacin:
Demanda xi 10 15 20 25 30
Frecuencia relativa - f(xi) 0.18 0.38 0.31 0.11 0.02
Frecuencia relativa acumulada - F(xi) 0.18 0.56 0.87 0.98 1.00

Para generar la variable aleatoria mediante la funcin BUSCARV, la informacin podra organizarse como se
muestra en la siguiente tabla, y el comando podra ser el siguiente:

Sintaxis: BUSCARV(aleatorio(),$D10:$F$14,3)

Se genera el nmero aleatorio con la funcin =aleatorio()
Si r < 0.18 x = 10
Si r < 0.56 x = 15
Si r < 0.87 x = 20
Si r < 0.98 x = 25
Si r > 0.98 x = 30

Para cada valor de Xi se asocia la probabilidad acumulada anterior.

Fila\Columna A D E F G
1 . . . . . . .

10 0 0.18 10
11 0.18 0.56 15
12 0.56 0.87 20
13 0.87 0.98 25
14 0.98 1.0 30
15

La funcin BUSCARH funciona en idntica forma, con la diferencia de que la informacin a buscar est dada
por filas, y no por columnas. Su sintaxis es la siguiente:

BUSCARH(valor_buscado;matriz_buscar_en;indicador_filas; ordenado)

Donde Valor_buscado es el valor que se busca en la primera fila de matriz_buscar_en.

2.7 Comparacin de alternativas

Para realizar varias simulaciones y/o comparar los resultados de simular varias alternativas, se puede hacer
de dos maneras diferentes:

- Simular la hoja completa, cambiando la celda que contiene la variable de decisin,
- Redisear la hoja para evaluar varias alternativas, y simular las diferentes alternativas de una
manera conjunta, usando una tabla de datos de una entrada.

Para realizar esta segunda opcin, los pasos a segur son los siguientes:

1) Crear una columna que contenga los valores de las diferentes alternativas
2) En las celdas contiguas a la derecha, y empezando una celda arriba del tope de la lista, se copia la
frmula que contiene el resultado de salida del modelo.
3) Se selecciona el rango de la tabla de datos el bloque rectangular ms pequeo que incluya tanto la
frmula como todos los valores del rango de entrada.
4) Seleccionar, de la barra principal de herramientas, la opcin Datos/Tabla y se especifica la ubicacin de
la columna de la variable de entrada como la celda que contiene la variable de decisin (se especifica
columna ya que los datos estn organizados por columna).

Usar esta segunda forma es ms ventajosa, ya que el Excel usa las mismas semillas (la misma secuencia de
nmeros aleatorios) para simular las diferentes alternativas, lo cual las hace perfectamente comparables. Es
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 13
necesario tener en cuenta que para comparar varias alternativas a travs de la simulacin, la simulacin de
stas debe realizarse usando las mismas secuencias de nmeros aleatorios.



Problema de la Tienda del video.

Considere una tienda de alquiler de videos, que compra las cintas de estreno a $25,000 la unidad, las alquila
a sus clientes a $5,000, y al final del mes, revende las cintas a otras tiendas de barrio a $ 5,000 la copia.
La tienda ha estimado que la demanda diaria por cintas de estreno tiene la siguiente distribucin de
probabilidad:

Nmero de copias 0 1 2 3 4
Probabilidad 0.15 0.25 0.45 0.10 0.05

Suponga que las cintas duran en alquiler un da, y que todos los clientes devuelven las copias al siguiente
da. Cuntas copias de las cintas de estreno debe ordenar la tienda cada mes?

Formulacin del modelo general:

Si para un mes se compran Q copias de una cinta, la utilidad mensual estar dada por:

Utilidad mensual(Q) = Ingresos por alquiler Costo Cintas compradas + Precio reventas
=

=
+
30
1
5000 000 , 25 ) ( 3000
j
Q Q j Alquiler
donde Alquiler(j) representa el nmero de copias alquiladas a los clientes el da j.

Si X representa la demanda por cintas para el da j, entonces, el nmero de copias alquiladas ese da estar
dada por:

Alquiler (j) = X si X s Q
= Q si X> Q

Para resolver este problema por simulacin, la nica variable aleatoria que tenemos es la demanda diaria por
cintas, la cual se debe generar o simular (inventar) para cada da. Su generacin se har simplemente
distribuyendo el rango del nmero aleatorio (0,1) en forma proporcional a cada valor de la probabilidad (este
procedimiento se conoce como el mtodo de la transformacin inversa caso discreto).

Para cada valor de la demanda se calcula la probabilidad acumulada (funcin de distribucin), segn lo
muestra la tabla siguiente, y los valores de la demanda se generarn de acuerdo a este valor de la siguiente
manera:

Nmero de copias X 0 1 2 3 4
Probabilidad p(x) 0.15 0.25 0.45 0.10 0.05
Probabilidad acumulada F(x) 0.15 0.40 0.85 0.90 1.00

Se genera un nmero aleatorio R = r, que se usa para generar la demanda X de la siguiente manera:

Si r < 0.15 X = 0
Si 0.15 s r < 0.40 X = 1
Si 0.40 s r < 0.85 X = 2
Si 0.85 s r < 0.95 X = 3
Si r > 0.95 X = 4

Para cada valor de Q se deben simular varios meses, y calcular la utilidad promedio mensual.

Para realizar la simulacin en Excel, necesitamos las siguientes columnas:

Columna Contenido Frmula
A Cada mes 1, 2, 3,
B Cada da 1,2,3,.
C
Nmero aleatorio para
la demanda
=aleatorio()
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 14
D Demanda diaria =si(Ci<0.15;0;si(Ci<0.40,1;si(Ci<0.85;2;si(Ci<0.95;3;4))))
E Videos alquilados =si($Di<=E$4 ;$Di ;E$4)

En la fila 1 se colocar un ttulo que identifique la simulacin, en la filas 2, 3 y 4, columna E, los precios de
compra, alquiler y reventa de los videos, y en la fila 4, columna E, la cantidad de videos a pedir.

La columna C contiene el nmero aleatoria para generar la demanda diaria por cintas, y est dada por la
funcin =aleatorio()
La columna D contiene la demanda diaria por cintas de video, la cual se genera mediante la siguiente funcin
si, donde i se refiere a la fila respectiva de la hoja de clculo

=si(Ci<0.15;0;si(Ci<0.40,1;si(Ci<0.85;2;si(Ci<0.95;3;4))))

Como la cantidad de videos que se puede comprar vara desde un mnimo de uno hasta un mximo de 4,
entonces en la columna E, fila 4, se puede colocar la cantidad Q = 1, y en las columnas siguientes (F, G, y
H) los valores de Q = 2, 3 y 4.

Una vez se simulen todos los das, se calcula la utilidad media mensual, teniendo en cuenta el total de cintas
compradas y alquiladas, y el nmero de meses simulados.

El cuadro de la pgina siguiente presenta los resultados de simular un ao (12 meses, 360 das), para los
diferentes valores de Q. Segn dichos resultados, se deberan comprar mensualmente dos cintas. A modo de
comparacin, se presenta tambin la solucin analtica, que coincide con la solucin dada por la simulacin.

Otro enfoque

En el problema anterior, en vez de agregar las columnas con las alternativas de Q = 2, 3 y 4, el proceso de
simulacin de estos valores se puede hacer siguiendo el procedimiento presentado anteriormente. Para ello
se siguen los siguientes pasos:

a) En la columna C, filas 376 a 378 se colocan los valores de Q = 2, 3 y 4. A nivel informativo, en la celda
C375 se coloca el valor inicial de Q = 1
b) En la celda D375 se copia la frmula que contiene el resultado de salida del modelo = utilidad media
=E371.
c) Se selecciona el rango C375:D378que incluye tanto la frmula como todos los valores del rango de
entrada.
d) Se selecciona la opcin Datos/Tabla y se especifica +D375 como la ubicacin de la columna de la
variable de entrada, que es la celda que contiene la variable de decisin.

AL final de la tabla se presentan los resultados respectivos.

2.8 Replicado de una corrida

Una "corrida" de simulacin es un registro ininterrumpido del desempeo de un sistema bajo una
combinacin especificada de variables controlables.

Un "replicado" de una corrida es un registro del desempeo del sistema bajo la misma combinacin de
variables controlables, pero con diferentes variaciones aleatorias (es decir, empleando diferentes semillas
para generar los nmeros aleatorios).

Una "observacin" de un sistema simulado es un segmento de una corrida, suficiente para estimar el valor
de cada una de las medidas del desempeo. Por lo tanto una observacin puede extenderse durante un
perodo considerable de tiempo simulado.

Una corrida est compuesta de varias observaciones (replicados). Por ejemplo, para el problema de la tienda
del video, una observacin comprende la simulacin de un mes completo, es decir, 30 das. En cambio, para
el problema del raspa raspa, una observacin corresponde a cada boleto destapado por el jugador.

Para simular varias observaciones, o replicar toda una corrida, se puede usar un enfoque similar al realizado
para comparar varias alternativas, mediante el uso de la tabla de datos de una entrada.

El procedimiento a seguir ser el siguiente:

1) Crear una columna que contenga el nmero de ensayos u observaciones.
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 15
2) En las celdas contiguas a la derecha, y empezando una celda arriba del tope de la lista, se copia la
frmula que contiene el resultado de la observacin o corrida.
3) Se selecciona el rango de la tabla de datos el bloque rectangular ms pequeo que incluya tanto la
frmula como todos los ensayos a realizar (datos de entrada).
4) Seleccionar, de la barra principal de herramientas, la opcin Datos/Tabla y en la especificacin de la
ubicacin de la columna de la variable de entrada se seala cualquier celda que est vaca.
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 16

A B C D E F G H
1
SIMULACION DE LA TIENDA DE VIDEO
2 Precios de compra = 25000
3 Precio de alquiler = 3000
4 Precio de reventa = 5000
5 Nmero de copias compradas Q = 1 2 3 4
6
7 MES DIA Nmero
aleatorio R
DEMANDA ALQUILER ALQUILER ALQUILER ALQUILER
8 1 1 0,504 2 1 2 2 2
9 2 0,634 2 1 2 2 2
10 3 0,381 1 1 1 1 1
11 4 0,689 2 1 2 2 2
12 5 0,980 4 1 2 3 4
13 6 0,306 1 1 1 1 1
14 7 0,589 2 1 2 2 2
15 8 0,542 2 1 2 2 2
16 9 0,849 2 1 2 2 2
17 10 0,816 2 1 2 2 2
18 11 0,326 1 1 1 1 1
19 12 0,778 2 1 2 2 2
20 13 0,387 1 1 1 1 1
21 14 0,610 2 1 2 2 2
22 15 0,819 2 1 2 2 2
23 16 0,468 2 1 2 2 2

39 2 31 0,240 1 1 1 1 1
40 32 0,504 2 1 2 2 2

367 12 359 0,714 2 1 2 2 2
368 360 0,314 1 1 1 1 1
369 Total anual (cintas) 588 307 516 570 588
370 Promedio Mensual (Cintas/mes) 49,0 25,6 43,0 47,5 49,0
371 Promedio diario (Cintas/da) 1,63 0,85 1,43 1,58 1,63
372 Utilidad media mensual simulacin ($/mes) 56750 89000 82500 67000
373 Utilidad media mensual analtica ($/mes) 56500 90500 84000 68500
374
375 Q Utilidad
376 Nmero de cintas 1 56750
377 2 89000
378 3 82500
379 4 67000

Simulacin de la Tienda de vides, usando varias alternativas

Considere de nuevo el problema de la tienda de video. Suponga que queremos simular, inicialmente, slo un
mes, usando las diferentes alternativas de compra de videos (Q = 1, 2, 3, 4). Suponga tambin que nos
interesa la utilidad mensual. La tabla siguiente presenta en el rango B2:I43 los resultados de la simulacin
de un mes para cada una de las cuatro alternativas.
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 17

Si queremos simular varios meses (replicar la corrida anterior), lo podemos hacer de la siguiente manera:
(para 100 meses)

1) Utilizando el comando Edicin/Rellenar/Series, e iniciando con el valor de 2, en la celda E50, se
crea una columna que contenga el nmero de ensayos u observaciones (100 en nuestro caso).
2) En las celdas contiguas a la derecha, y empezando una celda arriba del tope de la lista (celda F49:I49 se
copian las frmulas que contienen la utilidad mensual de las diferentes alternativas (corresponde a las
celdas F42:I42.
3) Se selecciona el rango de la tabla de datos el bloque rectangular ms pequeo que incluya tanto la
frmula como todos los ensayos a realizar (datos de entrada):E49:I148.
4) Seleccionar, de la barra principal de herramientas, la opcin Datos/Tabla y en la especificacin de la
ubicacin de la columna de la variable de entrada se seala cualquier celda que est vaca..

En las celdas E45:I46 se han calculado la utilidad media mensual y la desviacin estndar de la utilidad para
cada una de las cuatro alternativas simuladas, y para las 100 observaciones (replicados). Un resumen de la
informacin se presenta en el cuadro siguiente

2.9 Replicado de una corrida y comparacin de alternativas simultneamente

En la hoja de clculo se define una celda para la variable de decisin y se define una tabla donde en una
columna se definen los replicados y en una fila las alternativas. El procedimiento a seguir ser el siguiente:
1) Crear columna con el nmero de observaciones.
2) En celdas contiguas a la derecha, y empezando una celda arriba del tope de la lista (fila superior),
se copian los valores de las alternativas (variable de decisin)
3) La frmula que contiene el resultado de la observacin o corrida se copia en el espacio vaco que
queda en la interseccin de la fila y la columna..
4) Seleccionar el rango de la tabla de datos el bloque rectangular ms pequeo que incluya tanto la
frmula como los replicados y los valores de las diferentes alternativas
5) Seleccionar opcin Datos/Tabla: Se especifica la ubicacin de la fila de la variable de entrada
como la celda que contiene la variable de decisin (se especifica fila ya que estos valores estn
organizados en una fila), y se especifica como ubicacin de la columna de la variable de entrada
cualquier celda que est vaca.

2.10 Un modelo de simulacin. Juego del lanzamiento de la moneda

A usted le proponen el siguiente juego: Usted lanza una moneda y cuenta el nmero de caras y sellos que
va obteniendo. El juego se termina slo cuando la diferencia entre caras y sellos sea tres, no interesa cual
sea mayor. En ese instante usted recibe $8.00 por el juego, pero tiene que pagar $1.00 por cada
lanzamiento de la moneda que usted haya hecho. Le conviene a usted participar en este juego ?

Formulacin del modelo

El problema consiste en determinar si es favorable o no participar en este juego. En principio diremos que es
favorable participar en el juego si a la larga esperamos ganar, es decir, si la utilidad esperada del juego es
mayor o igual que cero. Para obtener la respuesta ensayaremos la solucin tipo simulacin.

Para un juego cualquiera la utilidad U est dada por:

U(x) = Ingresos - Egresos = 8 - X, x = 3, 5, 7, ...,

donde X es el nmero de lanzamientos, y por cada lanzamiento se paga un peso. El nmero de lanzamientos
en que puede terminar un juego es mnimo tres, y puede ser 5, 7, 9, 11, ...; el juego no puede terminar en
un nmero par de lanzamientos. El nmero de lanzamientos -X- es una variable aleatoria.

El lanzamiento de la moneda lo simulamos mediante la generacin de un nmero aleatorio R, en el intervalo
(0, 1), usando la funcin =aleatorio().

El resultado de cara lo podemos generar asignando los nmeros aleatorios a los posibles resultados de la
moneda- cara o sello- de la siguiente manera:

Si R < p se obtiene cara
Si R > p se obtiene sello,


B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 18
1 A B C D E F H H
2 SIMULACION DE LA TIENDA DE VIDEO
3 Precios de compra = 25000
4 Precio de alquiler = 3000
5 Precio de reventa = 5000
6 Nmero de copias compradas Q = 1 2 3 4
7
8 MES DIA Nmero
aleatorio R
DEMANDA ALQUILER ALQUILER ALQUILER ALQUILER
9 1 1 0,404 2 1 2 2 2
10 2 0,138 0 0 0 0 0
11 3 0,939 3 1 2 3 3
12 4 0,870 3 1 2 3 3
13 5 0,189 1 1 1 1 1
14 6 0,664 2 1 2 2 2
15 7 0,330 1 1 1 1 1
16 8 0,347 1 1 1 1 1
17 9 0,921 3 1 2 3 3
18 10 0,742 2 1 2 2 2
19 11 0,818 2 1 2 2 2
35
36 28 0,456 2 1 2 2 2
37 29 0,485 2 1 2 2 2
38 30 0,929 3 1 2 3 3
39 Total mensual (cintas) 53 28 47 53 53
40 Promedio Mensual
(Cintas/mes)
53,0 2,3 3,9 4,4 4,4
41 Promedio diario
(Cintas/da)
1,77 0,08 0,13 0,15 0,15
42 Utilidad mensual simulacin ($/mes) 64000 101000 99000 79000
43 Utilidad media ensual analtica ($/mes) 56500 90500 84000 68500
44
45 Util media 56200 89030 82020 66190
46 Desviacin 6267 11890 14348 15759
47
48 Meses 1 2 3 4
49 1 64000 101000 99000 79000
50 2 67000 107000 99000 82000
51 3 61000 92000 90000 73000
52 4 43000 62000 54000 34000
53 5 58000 89000 78000 58000
145 97 55000 89000 81000 64000
146 98 64000 98000 99000 88000
147 99 61000 89000 81000 70000
48 100 64000 104000 93000 76000
Simulacin de la tienda de video usando replicados


donde p es la probabilidad de obtener cara en el lanzamiento de una moneda, que ser 0.5 si es una
moneda buena

La siguiente figura presenta el algoritmo general para realizar varios juegos, y calcular la utilidad media.

Definir (leer) nro_juegos
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 19
Suma_u = 0
Para juego = 1, nro.juegos
caras = 0 = sellos
Mientras (ABS(caras - sellos) <> 3)
R = aleatorio()
si (R < .5) ENTONCES
caras = caras + 1
si no
sellos = sellos + 1
Fin si
Fin mientras
util = 8 (caras + sellos)
suma_u = suma_u + util
Siguiente juego
util_media = suma_u / nro.juegos
Imprimir nro_juegos, util_media
Fin

Para realizar la simulacin de un juego en Excel se requieren las siguientes columnas:

A Nmero del lanzamiento Ai = Ai-1 +1
B Nmero aleatorio que representa el lanzamiento de la moneda Bi =aleatorio()
C Resultado obtenido al lanzar la moneda Ci = si(Bi<0.5;cara;sello)
D Nmero de caras obtenidas Di = si(Ci=cara;Di-1+1;Di-1)
E Nmero de sellos obtenidos Ei = si(Ci=sello;Ei-1+1;Ei-1)
F Diferencia entre caras y sellos Fi =ABS(Di - Ei)

donde el subndice i se refiere al nmero de la fila de la hoja de Excel.

Para el lanzamiento cero (inicializacin del juego), las columnas D y E se colocan en cero (cero caras y cero
sellos)

Cada juego puede terminar en un nmero variable de lanzamientos, Para poder obtener varias
observaciones -replicar varias veces la simulacin- se requiere especificar en que celdas se encuentran las
variables de salida, por lo tanto, se necesita asignarle a cada juego un nmero mximo de lanzamientos.
Para nuestro caso supondremos que es 60. Si el juego termina antes de lanzamientos, dejaremos en blanco
las celdas correspondientes al nmero aleatorio y al resultado, y en las restantes dejaremos como
constantes los nmeros de caras y sellos, una vez el juego haya terminado.

Para que la hoja de clculo opere adecuadamente, en cada una de las columnas de la B a la F, cada
instruccin se reescribir para verificar si el juego ha terminado o no. Las instrucciones quedan de la siguiente
manera:

B Nmero aleatorio= =SI(Fi-1=3;" ";ALEATORIO())
C Resultado al lanzar la moneda Ci =SI(Fi-1=3;" ";SI(Bi<$D$2;"Cara";"Sello"))
D Nmero de caras Di =SI(Fi-1=3;Di-1;SI($Ci="Cara";Di-1+1;Di-1))
E Nmero de sellos obtenidos Ei = si(Fi-1=3;Ei-1;si(Ci=sello;Ei-1+1;Ei-1))
F Diferencia entre caras y sellos Fi =ABS(Di - Ei)

donde el subndice i se refiere al nmero de la fila de la hoja de Excel.

Para realizar varias simulaciones se hace lo siguiente:

- A partir de la celda H11, se colocan los nmeros de los ensayos a realizar (mediante
edit/rellenar/series...(columnas).
- En la celda I10 se coloca la celda que contiene el nmero de lanzamientos, y en la celda J10 la utilidad
- Se marcan las celdas I10 hasta K109 (para 100 simulaciones)
- Entrando por Datos/Tabla, se marca cualquier celda vaca como el indicador de columna que contiene
las variables de salida.

La tabla siguiente presenta un listado parcial de los resultados de la simulacin de 100 juegos.

B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 20

A B C D E F G H I J
1 Simulacin del juego de la moneda
2 Probabilidad de cara = 0,5 Variables endgenas principales
3 Numero medio de juegos = 100 Nmero medio de lanzamientos 8,6
4 Desviacin del nro de lanzamientos 5,4
5 Utilidad media = -0,6
6 Nro de juegos con 3 lanzamientos = 22
7 Probabilidad de terminar en 3 lanzamientos = 0,22
8
9 Lanza
miento
No
Nmero
aleatorio
R
Resul-
tado
Nro de
caras
Nro de
sellos
Diferencia
|C - S|
Nmero de
lanza-
mientos
Nro del
juego
Nmero de
lanza-
mientos
Utilidad
10 0 0 0 0 0 1 11 -3
11 1 0,364 Cara 1 0 1 1 2 13 -5
12 2 0,705 Sello 1 1 0 2 3 3 5
13 3 0,070 Cara 2 1 1 3 4 7 1
14 4 0,872 Sello 2 2 0 4 5 9 -1
15 5 0,696 Sello 2 3 1 5 6 7 1
16 6 0,195 Cara 3 3 0 6 7 15 -7
17 7 0,239 Cara 4 3 1 7 8 3 5
18 8 0,948 Sello 4 4 0 8 9 19 -11
19 9 0,680 Sello 4 5 1 9 10 5 3
20 10 0,864 Sello 4 6 2 10 11 9 -1
21 11 0,569 Sello 4 7 3 11 12 9 -1
22 12 4 7 3 11 13 11 -3
23 13 4 7 3 11 14 3 5
24 14 4 7 3 11 15 3 5
25 15 4 7 3 11 16 9 -1
26 16 4 7 3 11 17 3 5
27 17 4 7 3 11 18 15 -7
28 18 4 7 3 11 19 5 3
29 19 4 7 3 11 20 7 1
30 20 4 7 3 11 21 3 5
31 21 4 7 3 11 22 7 1
32 22 4 7 3 11 23 15 -7
33 23 4 7 3 11 24 11 -3
34 24 4 7 3 11 25 7 1
35 25 4 7 3 11 26 11 -3
68 58 4 7 3 11 59 5 3
69 59 4 7 3 11 60 9 -1
70 60 4 7 3 11 61 11 -3
Utilidad -3 62 5 3
63 3 5
64 17 -9
Simulacin del juego de la moneda, con varios replicados
B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 21
Problemas de simulacin
1 (HyL) Una compaa proporciona a sus tres empleados un seguro de salud con un plan de grupo.
Para cada empleado, la probabilidad de incurrir en gastos mdicos es 0.9 (de manera que el nmero de
empleados que incurren en gastos mdicos durante el ao tiene una distribucin binomial). Para un
empleado que incurre en gastos mdicos durante un ao, el monto total para el ao tiene la distribucin
$100 con probabilidad 0.9 o $10,000 con probabilidad 0.1. La compaa tiene una clusula de deducible de
$5,000 de tal forma que cada ao la compaa de seguros paga los gastos mdicos totales del grupo que
excedan los $5,000. Desarrolle un programa que calcule el monto total que paga la compaa de seguros por
ao.

2 Los empleados de una empresa reciben un seguro de salud a travs de un plan de grupo. Durante
el ao pasado, 40% de los empleados no hicieron ninguna reclamacin mdica, 40% hicieron slo una
pequea reclamacin y 20% una grande. Las reclamaciones pequeas se distribuyeron uniformemente entre
0 y $2000 y las grandes se distribuyen tambin uniformemente pero entre $2000 y $20 000.
Basado en esta experiencia, el agente de seguros est negociando con la compaa el pago de la prima por
empleado para el prximo ao. Usted es un analista de IO que trabaja para el agente de seguros y se le ha
asignado la tarea de estimar el costo promedio de la cobertura del seguro para los empleados de la empresa.
2.1 Derive analticamente la media de la distribucin de probabilidad del costo mdico anual por empleado
que cubre este seguro, con base en la experiencia del ao pasado.
2.2 Estime esta media usando la tcnica de simulacin

3 Un hotel tiene 100 habitaciones que alquila a $125 la noche. Existe un costo variable de $30 por
pieza (aseo, artculos de bao, etc.) por cada noche que la pieza est ocupada. Por cada reservacin
aceptada, existe una probabilidad del 5% de que el cliente no llegue. Si el hotel se excede en las
reservaciones, hay un costo de $200 para compensar a los clientes cuyas reservaciones no pueden
garantizarse. Cuntas reservas debera hacer el hotel (en temporada alta) si desea maximizar la utilidad
promedio diaria?. Use 500 simulaciones.

4 La doctora Sara B es una oftalmloga que, adems de prescribir anteojos y lentes de contacto,
realiza cirugas lser para corregir la miopa. Esta ciruga es relativamente sencilla y poco costosa de
realizar, por lo cual representa una minita de oro potencial para su prctica profesional. Para informar al
pblico acerca de este procedimiento, la doctora Sara publica avisos en la prensa local y mantiene sesiones
informativas en su oficina una noche cada semana, en las cuales presenta un video acerca del procedimiento
y responde las preguntas que los pacientes potenciales puedan tener. La sala donde se realizan estas
reuniones tiene una capacidad para 10 personas, y se requiere realizar previamente la reservacin para
asistir. El nmero de personas que atiende cada sesin vara de semana a semana. La doctora Sara cancela
la reunin si dos personas o menos hacen la respectiva reservacin. Usando datos de aos anteriores, la
doctora Sara determin que la distribucin de las reservaciones es la siguiente:

Nmero de
reservaciones
0 1 2 3 4 5 6 7 8 9 10
Probabilidad 0.02 0.05 0.08 0.16 0.26 0.18 0.11 0.07 0.05 0.01 0.01

Usando datos de aos anteriores, la doctora Sara ha estimado que un 25% de las personas que asisten a la
reunin se hacen la ciruga. De aquellos que no se hacen la ciruga, la mayora considera que el costo
($2,000) es la principal causa.

4.1 En promedio, cunto espera obtener semanalmente la doctora Sara por la prctica de este
procedimiento?
4.2 En promedio, qu ingreso obtendra por la ciruga si no cancelara las reuniones informativas?
4.3 La doctora Sara cree que un 40% de los que asisten a las sesiones informativas se haran la ciruga si
ella redujera los honorarios a $1,500. Bajo esta suposicin, en cunto se aumentaran los ingresos de la
doctora Sara por semana?

5 El administrador de un depsito dispone de un camin para entregas locales y est considerando la
compara de uno adicional para manejar entregas adicionales de alto volumen. Actualmente toma en
alquiler camiones adicionales a media que los necesita a un costo de $300/da. El camin que tiene la
empresa ocasiona un costo diario de $200, sea que se use o no se use. Un camin nuevo tendra un
costo diario de $200. Registros histricos indican que el nmero de camiones requeridos diariamente
tiene la siguiente distribucin:

Nmero requerido 0 1 2 3
Probabilidad 0.20 0.30 0.4 0.10

B. Caldern. Introduccin a la Simulacin. Captulo 2 Simulacin con Excel 22
Se desea desarrollar un modelo de simulacin para evaluar las alternativas de alquilar camiones adicionales
a media que se los requiera, y la alternativa de comparar un nuevo camin y alquilar un tercero cuando sea
necesario
5.1 Elabore un algoritmo
5.2 Desarrolle un modelo usando una hoja de clculo

6 Considere el siguiente juego. El juego requiere que el jugador tire dos dados una o ms veces hasta
que se alcance la decisin de ganar o perder. Se gana si el primer lanzamiento de los dos dados
resulta un una suma de 7 u 11, o alternativamente, si la primera suma es 4, 5, 6, 8, 9 10 y la misma
suma reaparece antes de que aparezca una suma de 7. Se pierde si el primer lanzamiento resulta en
una suma de 2, 3 12, o alternativamente, si la primera suma es 4, 5, 6, 8, 9 10 y una suma de 7
aparece antes de que reaparezca la primera suma. Desarrolle el programa para determinar la
probabilidad de ganar y para determinar la distribucin del nmero de lanzamientos requeridos para
terminar el juego. Simule 500 juegos.

Indicaciones para el problema No 1.9

a) La probabilidad de ganar est dada por el nmero de juegos ganados, dividido por el nmero de
juegos realizados.

b) La probabilidad de que en un dado aparezca un resultado cualquiera (1, 2, 3, 4, 5 6) es un
sexto (1/6). Para simular el lanzamiento de un dado se genera un nmero aleatorio R, 0 s R < 1
y los valores entre 0 y 1 deben repartirse por igual para los seis posibles resultados. Una forma
de averiguar el resultado obtenido al lanzar el dado es la siguiente:

Si R < 1/6 el resultado es 1 Si 1/6 s R < 2/6 el resultado es 2
Si 2/6 s R < 3/6 el resultado es 3 Si 3/6 s R < 4/6 el resultado es 4
Si 4/6 s R < 5/6 el resultado es 5 Si 5/6 s R < 1 el resultado es 6

Otra forma de obtener el resultado es tomar la parte entera de la siguiente expresin:
X = [ 6 x R + 1]
Aunque el juego consiste en lanzar los dos dados al mismo tiempo, en la Simulacin el lanzamiento
de los dos dados se hace en forma secuencial: Primero se lanza uno (se genera R y se averigua el
resultado), despus se lanza el otro (se genera R y se averigua el resultado) y luego se suman estos dos
resultados. Tambin pueden lanzarse los dados simultneamente, teniendo en cuenta los resultaos posibles
al lanzar dos dados

3 GENERACIN DE NUMEROS ALEATORIOS

1 Introduccin

En muchos de los experimentos de muestreo y en los de experimentos de simulacin se requiere disponer de
una fuente de nmeros aleatorios o de un mtodo para generarlos a medida que se los vaya necesitando.
Los nmeros aleatorios son indispensables para representar todas las variaciones aleatorias del sistema, es
decir, el comportamiento de las variables incontrolables, y son la base para realizar cualquier simulacin.

Un numero aleatorio es una variable aleatoria que sigue la distribucin uniforme en el intervalo (0,1).

Una variable aleatoria X tiene una distribucin uniforme en el intervalo (a,b) si su funcin de densidad esta
dada por:

f(x) =

0
a b
1
a < x < b
a x b
enotroscasos
s <


La funcin de distribucin F(x), que representa la probabilidad de que la variable aleatoria X sea menor o igual
que un valor especifico x, est definida como:

F(x) = P(X s x) = =
0
1
x a
b a


x a
a x b
x b
<
s <
>


f(x) F(x)


1.0





a b a b

El valor esperado y la varianza de una distribucin uniforme son los siguientes:

E X xf x dx
a b
a
b
( ) ( ) = =
+
}
2

( )
( )
12
dx ) x ( f
b
a
) X ( E x
2
) X ( Var
a b
2

=
}
=

As, un nmero aleatorio R tiene una funcin de densidad dada por:

f(r) = 1 0 s r < 1

La funcin de distribucin est dada por:

F(r) = p(R r) = r 0 s r < 1

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 2
El valor esperado y la varianza estn dados por:

E(R) = 1/2
Var(R) = 1/12

La variable aleatoria R es continua y los valores generados deben ser estadsticamente independientes.

Es posible que en algn procedimiento de generacin de nmeros aleatorios la variable R est designando un
nmero finito de valores -N-, equiprobables y estadsticamente independientes. En este caso R es discreta y
su funcin de probabilidad y de distribucin estn dadas por:

f(r) = 1/N 0 s r < 1
F(r) = r/N 0 s r < 1

Para los experimentos de simulacin generalmente se requiere de secuencias grandes de nmeros aleatorios,
no solamente unos pocos. Los nmeros aleatorios generados en esta secuencia deben ser independientes.
Estamos interesados en determinar mtodos para generar estos nmeros. Estos mtodos deben cumplir
ciertas condiciones para que sean eficientes y para que las secuencias generadas sean en realidad aleatorias.
Estos mtodos los denominaremos Generadores de Nmeros Aleatorios o simplemente Generadores.

Las propiedades que debe tener un generador de nmeros aleatorios son las siguientes:

1) Los nmeros generados deben estar distribuidos uniformemente entre cero y uno.
2) Los nmeros generados deben ser estadsticamente independientes.
3) Las secuencias generadas deben ser reproducibles de tal forma que los diferentes experimentos de
simulacin se puedan repetir bajo las mismas condiciones.
4) El mtodo debe poseer un perodo largo. El perodo de un generador de nmeros aleatorios indica la
cantidad de nmeros aleatorios que se pueden generar en una secuencia antes de que estos comiencen
a repetirse. El perodo est asociado con la reproducibilidad. Si las secuencias no son reproducibles,
entonces no puede hablarse de perodo. El perodo debe ser lo suficientemente largo de tal forma que en
un mismo experimento de simulacin no se repita la secuencia de nmeros aleatorios.
5) Eficiencia. El mtodo debe requerir el mnimo tiempo para generar un nmero aleatorio, es decir, debe
generar nmeros a grandes velocidades.
6) El mtodo debe requerir una mnima capacidad de almacenamiento.
7) Portabilidad. El mtodo debe ser tal que se pueda transportar de una mquina a otra, sin ninguna
complicacin.

Las dos primeras condiciones estn asociadas con las condiciones bsicas de un generador de nmeros
aleatorios: Uniformidad e independencia. Si un mtodo cumple estas dos condiciones, se lo puede considerar
como un generador de nmeros aleatorios. Las condiciones tercera y cuarta son bsicas para poder comparar
diferentes alternativas en una simulacin, de tal forma que las diferencias en los resultados de una simulacin
se puedan explicar por las diferencias entre las alternativas, y no por las variaciones aleatorias. Las
condiciones 5a y 6a son esenciales si queremos reducir el tiempo ( y el costo) de los estudios de simulacin.
En algunos estudios de simulacin se requieren miles y a veces millones de nmeros aleatorios, y debemos
garantizar que la mayor parte del tiempo de la simulacin no se utilice en la generacin de los nmeros sino
en los otros procesos del sistema.

En general, un generador de nmeros aleatorios debe ser un programa corto y rpido que produzca una
secuencia larga de nmeros antes de que empiece de nuevo el ciclo.

Para disear un buen generador de nmeros aleatorios se deben seguir dos pasos o etapas: a) el primer
paso consiste en definir el mtodo a usar para generar los nmeros, y b) el segundo consiste en definir el
conjunto o batera de pruebas estadsticas a que se debe someter el generador para garantizar las
propiedades estadsticas de los nmeros generados.

2 Mtodos para generar nmeros aleatorios

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 3
Para generar nmeros aleatorios se pueden usar diferentes procedimientos, siempre y cuando garanticen que
se cumplen las condiciones bsicas de uniformidad e independencia. La exigencia de las dems condiciones
depende del uso que se le vaya a dar al generador. A continuacin se har un recuento de los diferentes
mtodos empleados, pero se har nfasis en los utilizados actualmente.

2.1 Mtodos Manuales

Son los mtodos ms simples y despaciosos. Incluye el lanzamiento de monedas, dados, cartas y ruletas. Los
nmeros producidos por estos mtodos cumplen las condiciones estadsticas bsicas, pero es imposible
reproducir una secuencia generada por estos mtodos.

2.2 Tablas de Nmeros Aleatorios

Estos nmeros fueron generados por otros mtodos y sometidos a diferentes pruebas estadsticas de
uniformidad e independencia. La ventaja del mtodo consiste en que las secuencias siempre son
reproducibles y son muy apropiados para simulaciones de tipo manual. Sin embargo tiene la desventaja de no
realizarse con rapidez. Adems, para simulaciones por computador requerira mucho almacenamiento, fuera
de que el proceso de lectura de los datos es muy despacioso. Una de las tabla mas conocida es la de la Rand
Corporation Un Milln de Nmeros Aleatorios, que fue generada mediante el computador anlogo. Para usar
una tabla de nmeros aleatorios, se debe definir un punto inicial de partida, y la direccin en que se van a
seleccionar los nmeros. Estos deben escogerse siguiendo el orden determinado de antemano.

2.3 Mediante el computador anlogo.

Estos mtodos dependen de ciertos procesos fsicos aleatorios en el computador, por ejemplo, el
comportamiento de una corriente elctrica. Se considera que estos mtodos producen verdaderos nmeros
aleatorios y son mucho ms rpidos que los manuales o las tablas, pero las sucesiones de nmeros no son
reproducibles. Los nmeros aleatorios de la Rand Corporation fueron generados mediante este mtodo. Los
nmeros deben someterse a un conjunto de pruebas estadsticas para verificar uniformidad e independencia.

2.4 Mediante el computador digital

En esta seccin analizaremos el proceso de generacin de nmeros aleatorios mediante programas de
computador, bien sea a travs de lenguajes de compilacin de uso general, o de simulacin, hojas de clculo
o mediante calculadoras cientficas. Estos nmeros se generan mediante una relacin de recurrencia

Esta alternativa comprende la generacin de nmeros seudoaleatorios por medio de una transformacin
aplicada a un grupo de nmeros elegidos de una manera arbitraria. Se habla de nmeros seudoaleatorios ya
que, estrictamente hablando, estos nmeros no son aleatorios, pero se comportan como si lo fueran. Estos
nmeros son generados por mtodos completamente determinsticos y no presentan el problema de lectura ni
de la capacidad de almacenamiento. La principal objecin a estos mtodos radica en aspectos un tanto
filosficos respecto a que una sucesin de nmeros producidos por mtodos completamente determinsticos
resulta ser la anttesis directa de una secuencia aleatoria. Sin embargo, esta objecin puede superarse si se
someten los generadores a un conjunto de pruebas estadsticas para verificar la uniformidad e independencia
de las series producidas por estos mtodos.

Generalmente mediante estos mtodos se generan inicialmente nmeros enteros y luego se normalizan en el
rango cero uno mediante la transformacin apropiada, dividiendo por un valor tal que a serie resultante quede
entre cero y uno.

En texto hablaremos en forma genrica de nmeros aleatorios, bien sea que nos estemos refiriendo a
nmeros aleatorios estrictamente hablando o a nmeros seudoaleatorios.

A nivel meramente ilustrativo mencionaremos los primeros mtodos usados para generar nmeros
seudoaleatorios, como son los mtodos de las cuadrados y los productos centrales, y luego enfatizaremos en
los mtodos usados actualmente, basados en las relacioes de congruencia.

2.4.1 Mtodo de los cuadrados centrales
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 4

Este es uno de los primeros mtodos empleados para generar nmeros aleatorios mediante el computador
(Von Neumann). Cada nmero de la secuencia se obtiene tomando las k cifras centrales del cuadrado del
nmero anterior. Si es necesario puede agregarse un cero (0) al principio o al final del cuadrado del nmero,
de tal forma que el nmero generado siempre tenga k dgitos. Para generar el nmero aleatorio R entre cero y
uno, se divide el nmero de k cifras por la mxima cantidad de nmeros de k cifras que pueda generarse (M).
Es decir,

Xn = K cifras centrales de
n - 1
2
X
= D C (
n - 1
2
X
) 0 s Xn < M
Rn = Xn / M 0 s r < 1

donde M = 10
k


Por lo tanto, para aplicar este mtodo se deben definir dos parmetros: El nmero de dgitos k y el primer
nmero de K cifras, X0 , denominado la semilla.

Suponga que se desea generar nmeros de tres cifras, es decir, que podran generarse tericamente hasta
1000 nmeros diferentes (000, 001, 002, 998, 999). Adems, es necesario especificar el nmero inicial o
semilla. Sea este 721. Por lo tanto:

X0 = 721, M = 10
3
= 1000
X1 = D C (721
2
) = DC (519841) = DC (0519841) = 198 R1 = 198/1000 = 0.198
X2 = D C (198
2
) = DC (39204) = 920 R2 = 920/1000 = 0.920
X3 = D C (920
2
) = DC (846400) = 464 R3 = 464/1000 = 0.464
X4 = D C (464
2
) = DC (215296) = DC (0215296) = 152 R4 = 152/1000 = 0.198

Este mtodo tiene tendencia a degenerarse rpidamente, dependiendo del valor inicial, y no puede lograrse
el perodo completo (h < M). Por ejemplo, si X0 = 10, entonces X1 = 10, X2 = 10, X3 = 10,...,

Adems, este mtodo es relativamente lento y estadsticamente insatisfactorio.

2.4.2 Mtodo de los productos centrales

Este mtodo es una variante del anterior, pero el nmero resultante se genera como las k cifras centrales del
producto de los dos nmeros generados previamente. Es decir,

Xn = D C( Xn-1 x Xn-2 )

Para empezar una secuencia, es necesario suministrar dos valores iniciales de k cifras cada uno. Por ejemplo,
X0 = 13 y X1 = 15, para M = 100

X2 = DC ( 13 x 15 ) = DC (195) = DC (0195) = 19 R2 = 19/100 = 0.19
X3 = DC ( 15 x 19 ) = DC (285) = DC (0285) = 28 R3 = 28/100 = 0.28
X4 = DC ( 19 x 28 ) = DC (532) = DC (0532) = 53 R4 = 53/100 = 0.53

Los mtodos anteriores tienen perodos relativamente cortos, los cuales se ven altamente afectados por los
valores iniciales asignados. Adems, son estadsticamente insatisfactorios.

2.4.3 Mtodos congruenciales

Estos son los mtodos que se usan actualmente, bien sea en su forma original, o mediante a combinacin de
diferentes generadores.

3 Mtodos congruenciales

Los mtodos congruenciales para generar nmeros aleatorios son completamente determinsticos debido a
que el proceso aritmtico involucrado en el clculo determina unvocamente cada trmino de la secuencia de
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 5
nmeros. En efecto, existen frmulas para calcular por adelantado el i -simo trmino de la secuencia { X0 ,
X1, X2,..., Xi,..., } sin que se hayan calculado los trminos anteriores. Aunque la secuencia de nmeros as
generada no sea estrictamente aleatoria, puede considerarse como tal si satisface un conjunto de pruebas
estadsticas sobre aleatoriedad, es decir, si se puede demostrar estadsticamente que los nmeros generados
se distribuyen uniformemente y son independientes.

Los mtodos congruenciales estn basados n la relacin fundamental de congruencia que puede expresarse
por medio de la siguiente ecuacin recursiva:

Xi (a Xi-1 +C) Mdulo M

donde a, Xi-1, C y M son enteros no negativos.

Para poder entender claramente la relacin fundamental de congruencia y su utilizacin en la generacin de
nmeros aleatorios es necesario tener en cuenta las siguientes definiciones.

Definicin No 1 Relacin de Congruencia.

Dos enteros A y B son congruentes mdulo M si su diferencia es un mltiplo de M. La relacin de congruencia
se expresa mediante la notacin A B Mod M, que se lee A es congruente con B mdulo M. El hecho de
que dos enteros A y B sean congruentes mdulo M significa que:

1. |A - B| es divisible por M, es decir, |A - B|/M = entero = k.
2. A y B dan el mismo residuo al ser divididas por el mdulo M, es decir, Res(A/M) = Res(B/M).

Por ejemplo: Son congruentes 127 y 238 mdulo 100?.
Res (127/100) = 27
Res ( 238/100) = 38 127 y 238 no son congruentes mdulo 100.

Son congruentes 115 y 435 mdulo 80 ?
Aplicando la definicin 1 se tiene: |435 - 115|/80 = 320/80 = 4 115 435 mod 80
Aplicando la definicin 2 se tiene: Res(115/80) = 35
Res(435/80) = 35 115 435 mod 80

Cmo encontrar un nmero B que sea congruente con otro nmero dado A mdulo M?

El mtodo mas sencillo sera dividir el nmero A por el mdulo M y tomar el residuo como el nmero B
buscado, o tambin, tomar el residuo mas un nmero entero k de veces el mdulo o menos un nmero entero
de veces el mdulo.

B Res (A/M) Res (A/M) + M Res (A/M) +2 M ... Res (A/M) +k M

ya que si se divide Res (A/M) +k M por el mdulo M se obtiene el mismo residuo.

Ejemplo: 55 5 mod 10, 55 15 mod 10, 55 25 mod 10, 55 95 mod 10, 55 185 mod 10

Otra forma sera sumarle o restarle k veces el mdulo al nmero dado A. Si a un nmero A se le suma o se le
resta un nmero entero de veces el mdulo la relacin de congruencia no cambia ya que el residuo sigue
siendo el mismo.

A (A + M) mod M (A - M) mod M (A + 2M) mod M (A - 2M) mod M (A kM) mod M,

siendo k un entero.

Qu nmero sera congruente con 425 mdulo 90?
Res (425/90) = 65
425 65 155 245 355 425 -25 -115 mod 90

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 6
Para encontrar un nmero que sea congruente con otro nmero negativo basta con sumarle el mdulo
cuantas veces sea necesario hasta que el nmero se vuelva positivo. Por ejemplo, qu nmero es congruente
con - 173 mdulo 100?.

-173 -173 + 100 mod 100 -73 mod 100 -73 +100 mod 100 27 mod 100

Son congruentes 434 y -166 mdulo 100?.

Para un nmero dado A existen muchos otros nmeros que sean congruentes con A mdulo M, como se
observ anteriormente. Sin embargo, slo existe un entero no negativo menor que M, (el residuo) que sea
congruente con A Mdulo M, y es el que se usar para la generacin de nmeros aleatorios. Este aspecto se
formaliza mediante la siguiente definicin.

Definicin No 2 Residuo

Para un valor dado A el menor entero positivo m que sea congruente con A mdulo M (m A mod M) recibe el
nombre de residuo de A mdulo M. Para un nmero dado M existen entonces M residuos diferentes {0, 1, 2,
..., M-2, M-1}.

Al conjunto de nmeros enteros mutuamente congruentes con un residuo M se le denomina Clase residual
mdulo M.

Retomando la relacin fundamental de congruencia Xi (a Xi-1 +C) Mdulo M, tenemos que para generar
nmeros aleatorios mediante esta relacin, el valor de Xi ser el residuo mdulo M de la operacin a Xi-1 +C,
es decir:

Xi = Residuo de (a Xi-1 +C) Mdulo M 0 s Xi < M
Se tiene que 0 s Xi < M, entonces de la secuencia de enteros Xi se pueden obtener nmeros racionales en el
intervalo (0,1) -nmeros aleatorios- dividiendo Xi por el mdulo M, esto es,

Ri = Xi /M, 0 s ri < 1

El valor M recibe el nombre de mdulo, a es el multiplicador, C la constante aditiva y X0 la semilla.

Por ejemplo, si M=100, a = 13, C = 7 y X0 = 3 se tiene:

X1 13 x 3 + 7 mod 100 46 mod 100 = 46 R1 = 46/100 = 0.46
X2 13 x 46 + 7 mod 100 605 mod 100 = 5 R2 = 5/100 = 0.05
X3 13 x 5 + 7 mod 100 72 mod 100 = 72 R3 = 72/100 = 0.72
X4 13 x 72 + 7 mod 100 943 mod 100 = 43 R4 = 43/100 = 0.43
X5 13 x 43 + 7 mod 100 566 mod 100 = 66 R5 = 66/100 = 0.66
X6 13 x 66 + 7 mod 100 865 mod 100 = 65 R6 = 65/100 = 0.65
X7 13 x 65 + 7 mod 100 852 mod 100 = 52 R7 = 52/100 = 0.52

Entonces, dadas la semilla X0, las constantes multiplicativa (a) y aditivas (C) junto con el mdulo, la relacin
de congruencia permite obtener cualquier trmino de la secuencia {X1 , X2,..., Xi...,}.

Al realizar la operacin a Xi-1 puede tomarse como valor de Xi-1 o el residuo de la operacin anterior o el
nmero completo sin reducir al residuo, y los resultados no cambian, ya que el nmero completo sin reducir
contiene el residuo mas un nmero entero de veces el mdulo.

Tomado la relacin fundamental de congruencia Xi (a Xi-1 +C) Mdulo M y aplicndola en forma recursiva
para X1 , X2,..., Xi se obtiene:

X1 (a X0 +C) Mod M
X2 (a X1 +C) Mod M (a[a X0 +C] Mod M +C) Mod M (a
2
X0 +aC +C) Mod M
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 7
X3 (a X2 +C) Mod M (a[a
2
X0 +aC +C] Mod M +C) Mod M (a
3
X0 +a
2
C + aC +C) Mod M
X4 (a X3 +C) Mod M (a[a
3
X0 +a
2
C + aC +C] Mod M +C) Mod M (a
4
X0 +a
3
C + a
2
C + aC +C) Mod M.
...
En general, Xi puede expresarse como:

Xi (a Xi-1 +C) Mod M
(a[a
i-1
X0 +a
i-2
C + a
i-3
C +...+aC+C] Mod M +C) Mod M
(a
i
X0 +a
i-1
C + a
i-2
C +...+ aC +C) Mod M (a
i
X0 +[a
i-1
+ a
i-2
+...+ a +1]C) Mod M
= (a
i
X0 + C
k
k
i
a
=

0
1
) mod M = a
i
X0 + C
i
a
a

|
\

|
.
|
|
|
1
1
mod M, si a = 1
Entonces, dadas la semilla X0, las constantes multiplicativa (a) y aditivas (C) junto con el mdulo, la relacin
de congruencia expresada en la forma anterior permite obtener cualquier trmino de la secuencia {X1 , X2,...,
Xi...,} sin haber calculado previamente los nmeros anteriores.

La mxima cantidad de nmeros de la secuencia {Xi} que se pueden producir es M, ya que en el instante en
que se repita un nmero se repite toda la secuencia, por ser el proceso completamente determi nstico y
definido por una expresin matemtica fija. Es decir, el perodo terico mximo sera h = M. Sin embargo, el
perodo largo es slo uno de los criterios que se deben tener en cuenta para juzgar la bondad de un
generador. Es posible obtener un perodo mximo en una secuencia no aleatoria. Por ejemplo, qu sucede si
se escogen a = 1, c = 1, es decir, se tiene el siguiente generador ?.

Xi ( Xi-1 + 1) Mdulo M

Con respecto al perodo h se est interesado en el caso en que Xi = X0 = Xh porque entonces Xh+1 = X1, Xh+2 =
X2 ,... y as sucesivamente, donde h es el perodo de la secuencia.

El perodo de la secuencia depende del mdulo M. El perodo siempre existir y su valor mximo depende de
M, y el que se logre ese valor mximo depender de la adecuada seleccin de los parmetros del generador.
Sin embargo, el valor mximo no siempre ser h = M en todos los casos.

Mediante el empleo de diferentes versiones de la relacin fundamental de congruencia se han desarrollado
varios mtodos para generar nmeros aleatorios. El objetivo de cada uno de los mtodos es la generacin, en
un tiempo mnimo, de secuencias con un perodo mximo. Entre los principales estn el mixto, multiplicativo y
mtodos compuestos.

3.1 Mtodo congruencial multiplicativo (c = 0)

Calcula una secuencia { Xi } de enteros no negativos cada uno de los cuales es menor que M mediante la
relacin Xi a Xi-1 Mod M.

Es un caso especial de la relacin de congruencia en que la constante aditiva toma el valor de cero (C = 0).
Por lo general, este mtodo se comporta estadsticamente de una manera muy satisfactoria, es decir, las
secuencias generadas se distribuyen uniformemente y no estn correlacionadas. Sin embargo, tiene un
perodo mximo menor que M, pero se pueden imponer condiciones a X0 y a de tal forma que se garantice
el perodo mximo. Desde el punto de vista computacional es el ms rpido de todos.

3.2 Mtodo congruencial mixto o lineal

Genera secuencias de nmeros mediante la relacin fundamental de congruencia en su forma original
tomando C > 0.

Xi (a Xi-1 + C) Mdulo M C > 0

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 8
Las condiciones estadsticas de las secuencias generadas por este mtodo son generalmente buenas,
aunque en ciertos casos el comportamiento resulta inaceptable, razn por la cual el generador debe ser
siempre validado estadsticamente. El perodo mximo es h = M.

3.3 Generadores compuestos

4 Seleccin de los Parmetros para mtodos congruenciales

Se han desarrollado estudios tericos acerca de las propiedades que deben cumplir los diferentes parmetros
de los modelos de tal forma que se logre el perodo mximo y sean estadsticamente satisfactorios. Todos los
estudios se basan en la Teora de Nmeros.

La frmula de Greenberger y Coveyou da las condiciones tericas sobre los valores ptimos de a, C y M para
una determinacin a priori de la autocorrelacin serial de primer orden entre dos nmeros. La magnitud del
coeficiente de correlacin serial ( Xi-1 , Xi ) se encuentra entre los valores:

1/a - (6c/aM) (1-C/a) a/M

En general, a = \M dar los menores valores para el coeficiente de correlacin serial de primer orden,
independiente del valor de C. Este resultado proporciona una condicin necesaria desde este punto de vista,
pero no es suficiente. Se ha demostrado experimentalmente que aunque a = \M minimiza la correlacin serial
de primer orden, tiende a maximizar la correlacin serial de segundo orden (Xi-2 , Xi ) y que para lograr un
adecuado balance entre estos dos coeficientes de correlacin a debe ser mucho mayor que M (a>>M).

Los siguientes dos teoremas dan las condiciones bsicas que se deben tener en cuenta para la seleccin de
los parmetros en generadores congruenciales.

Teorema No 1. Un generador congruencial lineal tendr perodo mximo M si y solo si

a. C es diferente de cero y es primo relativo con M (es decir, C y M no tienen ningn factor primo comn).
b. (a mod q) 1 para cada factor primo q de M.
c (a mod 4) 1 si 4 es un factor de M.

Recuerde que C y M son primos relativos si y solo si C y M no tienen otro divisor comn diferente de 1, lo cual
es equivalente a decir que no tienen factor primo comn.

Teorema No 2. Si C = 0 en un generador congruencial, entonces Xi = 0 no puede estar incluido en el ciclo,
dado que a partir de ah se repetira el cero. Sin embargo, el generador tendr ciclo a travs de todos los M-1
enteros en el conjunto {1, 2, ..., M-1} si y solo si:

a. M es un entero primo y
b. a es un elemento primitivo mdulo M.

Todos los parmetros son funcin del mdulo, por lo tanto, este es el primero que debe seleccionarse y su
seleccin debe hacerse teniendo en cuenta que el perodo de las secuencias sea lo mas grande posible.

4.1 Seleccin del Mdulo para un generador congruencial

Para escoger el mdulo se deben tener en cuenta dos aspectos:

- El mdulo M debe ser bastante grande, ya que el perodo nunca puede ser mayor que M.
- M debe escogerse de tal forma que los nmeros se generen a la mayor velocidad posible.

4.1.1 Mdulo 2
e


En los computadores generalmente se usa como mdulo M = p
e
que representa el tamao de la palabra del
computador, donde p denota el nmero de guarismos del sistema numrico del computador y e el nmero de
dgitos (bits) en una palabra. Para un computador binario (como son la mayora y por lo tanto slo nos
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 9
concentraremos en ellos) p = 2 y para uno decimal p = 10. El valor de e depende del tipo de palabra empleado
por el computador en sus operaciones. La mayora de los computadores y microcomputadores pueden
trabajar dos tipos de palabras: Palabras sencillas, en cuyo caso e = 15 y palabras dobles con e = 31. An
otros computadores como el VAX 11 de Digital pueden trabajar con la palabra cudruple, en cuyo caso e =
63. As el mdulo para palabra sencilla sera M = 2
15
= 32768 y con palabra doble sera M = 2
31
=
2147483648. Para palabras sencillas el nmero de bits usados para representar una palabra es 16, pero
como se requiere uno para el signo slo quedan disponibles 15. Para palabras doble (que es la palabra
normal del computador) existen 32 bits, quedando disponibles 31 para representar los nmeros.

Existen dos razones para escoger M = p
e
::
- Trabajando con aritmtica entera el proceso de reduccin mdulo M se efecta mediante el truncamiento
y la retencin de los e bits de orden inferior.
- La conversin al intervalo unitario, para obtener nmeros entre 0 y 1 se logra moviendo el punto binario o
decimal a la izquierda del nmero.

La reduccin mdulo M = 2
e
es casi automtica si las operaciones se realizan en aritmtica entera, ya que el
mayor entero positivo que puede almacenar el computador es 2
e
-1 y el mayor entero negativo es -2
e
. Es
decir, cualquier entero que maneje el computador estar entre -2
e
y -2
e
. Para el caso de un computador
binario con palabra sencilla los nmeros estaran entre -32768 y +32767. Cuando el computador efecte
cualquier operacin entera el resultado estar representado por un nmero entre -32768 y +32767. La forma
como el computador expresa los nmeros se representa por medio de la figura siguiente:
-2 -1 0 1 2
-3 -3 -4
65536
65535
65534









32771 32770
32769
-32765 32765
-32766 32766
-32767 32767
-32768
+32768

Suponga que se est usando el mtodo congruencial mixto, es decir:

Xi (a Xi-1 +C) Mdulo 2
15
= (a Xi-1 +C) Mdulo 32768

El computador efectuar el producto a Xi-1 y le agregar c. Si el resultado da menor que 32768 el computador
almacenar ese nmero (positivo). Si el resultado da entre 32768 y 65535 el computador registrar un nmero
negativo. Si el resultado es 65536 el computador guardar cero. Si est entre 65536 y 98303 el computador
guardar un nmero positivo. Por ejemplo:

- Si el resultado es 32766 el computador guardar 32766, que es el residuo mdulo 32768.
- Si el resultado es 32767 el computador guarda 32767, que es el mismo residuo.
- Si el resultado es 32768 el computador no est en capacidad de almacenar este nmero, sino que lo
representa como -32768. Ahora bien, el residuo de 32768 mdulo 32768 es cero. Es decir, se requiere
convertir -32768 en 0 que es el residuo. Para convertirlo en cero basta con sumarle el mdulo (32768),
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 10
pero es necesario sumarlo en dos partes, tal como 32767+1. (Por qu es necesario hacer el clculo de
esta manera? )

As: -32768 = -32768 + 32767 + 1 = 0

- Si el resultado es 32769 (cuyo residuo es 1) el computador lo representa como -32767 y para encontrar el
residuo basta con sumarle el mdulo en forma similar al caso anterior.

La siguiente tabla ilustra varios posibles resultados, su representacin en el computador y su residuo

RESULTADO
REAL
RESIDUO
MODULO 32768
RESULTADO DEL
COMPUTADOR
PROCESO CONVERSION
RESIDUO MOD 32768
1 1 1 No hay
20 000 20000 20000 No hay
32 766 32766 32766 No hay
32 767 32 767 32 767 No hay
32 768 1 -32 768 -32 768 + 32767 +1 = 0
32 769 2 -32 767 -32 767+32767 + 1 = 1
32 770 3 -32 766 -32 766 +32767 + 1 = 2
... ... ... ...
65 534 32766 -2 -2 +32767 + 1 = 32766
65 535 32767 -1 -1 + 32767 + 1 = 32767
65 536 0 0 0
65 537 1 1 1
65 538 2 2 2

4.1.2 Mdulo 2
e
1 (2
31
- 1)

Este mdulo (2
31
1) se usa principalmente en generadores congruenciales multiplicativos. La razn principal
para usar el mdulo 2
e
- 1 en lugar de 2
e
es que se puede obtener un perodo de M-1, aprovechando el hecho
de que (2
31
1) es un nmero primo. Sin embargo, los mtodos no seran tan eficientes como en caso en que
M = 2
31
ya que habra que disear algoritmos mas complicados para efectuar la reduccin mdulo M.

4.2 Mtodo lineal o mixto

Este mtodo tiene la ventaja de que puede lograrse el perodo completo h = M, pero puede presentar
problemas de aceptabilidad estadstica. Est basado en la relacin fundamental de congruencia con C > 0.

Las condiciones impuestas al multiplicador y a la constante aditiva para obtener el perodo mximo son las
dadas por el teorema No 1 enunciado previamente, y se resumen en las siguientes:

- c > 0 debe ser primo relativo con M. si M = 2
e
(=2
31
) c debe ser un nmero impar.
- a 1 mod q para cada factor primo q de M. si M = 2
e
(=2
31
) a debe ser un nmero impar.
- a 1 mod 4 si 4 es un factor de M, es decir, a puede expresarse como a = 4k+1, siendo k un nmero
entero.
- Como se obtiene el perodo completo, entonces puede seleccionarse cualquier entero como semilla.
- Adems, para minimizar la correlacin serial de primer y segundo orden a >> M .

Sin embargo las condiciones anteriores no son suficientes para garantizar que las secuencias generadas por
el mtodo congruencial lineal sern estadsticamente satisfactorias. Slo mediante el uso de pruebas
estadsticas se puede tener confianza en las propiedades de las secuencias generadas mediante este
mtodo.

4.3 Mtodo congruencial multiplicativo

Los nmeros aleatorios se generan haciendo uso de la relacin Xi a Xi-1 Mod M a
i
mod M.
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 11

Para el mdulo puede escogerse M = 2
e
= 2
31
para obtener una mayor eficiencia en la generacin de las
secuencias de nmeros o M = 2
31
- 1 si se desea obtener una mayor aleatoriedad en las ltimas cifras de los
nmeros y un perodo mayor.

4.3.1 Mtodo congruencial multiplicativo , mdulo 2
31


Para el mdulo M = 2
e
el perodo mximo es h = 2
e--2
Para palabra simple e = 15 y para palabra doble e =31,
es decir, los perodos mximos seran 8192 y 536870912, respectivamente. Para lograr el perodo mximo la
semilla X0 y el multiplicador a deben cumplir ciertas condiciones.

Las condiciones que debe cumplir el multiplicador a para obtener el perodo mximo son las siguientes:

- a debe ser primo relativo con M. Es decir, si M = 2
e
y a es primo relativo con M entonces a debe ser un
nmero impar.
- Los valores de a que garantizan perodo mximo residen en una clase residual representada por la
relacin de congruencia: a 3 mod 8. Usando esta relacin entonces a puede expresarse tambin como
a = 8 k 3, siendo k un nmero entero positivo.
- De acuerdo con la frmula Greenberger Coveyou los valores de a cercanos a M = 2
e/2
minimizan la
correlacin serial de primer orden entre dos nmeros aleatorios. Sin embargo, como ya se indic, se tiende
a maximizar la correlacin serial de segundo orden por lo cual se recomienda que el valor de a sea mucho
mayor que la raz del mdulo (a >> M ). Por lo tanto se deben ensayar varios valores y escoger el que
tenga un mejor comportamiento estadstico.

Condiciones que debe cumplir el valor inicial o semilla:

- Dado que no se puede obtener el valor de cero y M = 2
e
, entonces el valor inicial o semilla X0 debe ser
primo relativo con el mdulo, es decir, X0 debe ser un nmero impar.

Como ya se indic, todos los clculos deben realizarse en aritmtica entera.

Si se desea generar nmeros aleatorios, usando palabra sencilla, cual de los siguientes valores seran
apropiados como multiplicadores (a): 131, 179, 181, 191, 715, 717 719?

Las siguientes subrutinas, apropiadas para el lenguaje FORTRAN, generan nmeros aleatorios usando
palabra sencilla y palabra doble, que es la normal, por defecto, mientras no se defina lo contrario. (La primera
rutina corresponde a la rutina RANDU de la IBM).

Subroutine randon (semi,r) Subroutine randon (semi,r)
integer *2 semi, semi1
semi1 = 899*semi semi1 = 1220703125*semi
If(semi1.lt.0)then If(semi1.lt.0)then
semi1=semi1+32767+1 semi1 = semi1 +2147483647+1
end if end if
r = float(semi1)/32768. r = float(semi1)*0.4656613E-9
semi = semi1 semi = semi1
return return
end end

Para la palabra sencilla se usa un multiplicador de 899, mientras que para la palabra doble el valor es de 5
13
.
Ambas subrutinas tienen dos argumentos: 1) semi que corresponde al valor inicial de la semilla, la primera
vez que se la llame, y las otras veces al valor generado previamente, 2) r que corresponde al nmero
aleatorio generado entre 0 y 1. Las rutinas efectan el producto entre el multiplicador a y la semilla y verifican
si es negativo. Si resulta negativo, entonces calculan el residuo sumndole el mdulo; si es positivo, el valor
calculado es directamente el residuo y no hay que hacer ninguna operacin adicional. Posteriormente se
divide por el mdulo (en aritmtica real) para obtener el nmero aleatorio y se cambia el valor de la semilla, de
tal forma que la prxima vez que se llamen las rutinas, empleen el ltimo valor generado.
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 12

Para aprovechar la reduccin automtica mdulo M es necesario investigar las caractersticas propias del
lenguaje que se est empleando, para conocer la forma como se hace el respectivo truncamiento. Por
ejemplo, para trabajar en FORTRAN con palabra sencilla basta con hacer la declaracin INTEGER *2; en
otros caso puede ser el comando NOCHECK OVERFLOW, etc.


5 Pruebas estadsticas para generadores de nmeros aleatorios

Las propiedades estadsticas de lo nmeros seudoaleatorios generados por los mtodos explicados en los
prrafos anteriores deberan coincidir con las propiedades estadsticas de nmeros generados por un
procedimiento aleatorio idealizado que seleccione nmeros en el intervalo (0,1), que sean independientes y
que todos sean igualmente probables. Claramente los nmeros aleatorios generados por programas de
computador no son aleatorios, dado que estn completamente determinados por los datos iniciales y por los
parmetros del mtodo empleado. Sin embargo, estos nmeros pueden considerarse como verdaderos
nmeros aleatorios si pasan una serie de pruebas estadsticas sobre la uniformidad y la independencia de las
secuencias de nmeros generados.

Los requisitos que se impongan a un conjunto particular de nmeros (a una secuencia) deben estar basados
principalmente en la aplicacin que se desee dar a esos nmeros en los experimentos de simulacin. Se han
propuesto diferentes pruebas que proveen las herramientas estadsticas necesarias para validar la
aleatoriedad de un conjunto de nmeros para unas condiciones dadas. El analista debe decidir cules de las
pruebas ha de emplear para estar seguro de que su generador s producir nmeros aleatorios, segn su
aplicacin especfica. En los prrafos siguientes se resumen las principales pruebas estadsticas.

5.1 Pruebas sobre la Uniformidad de la distribucin

Un anlisis bsico que siempre debe realizarse es la validacin de la uniformidad de la distribucin. Se
proponen dos pruebas bsicas que pueden aplicarse: La prueba Chi - Cuadrado y la prueba de Smirnov-
Kolmogorov. Ambas pruebas caen en la categora de lo que en estadstica se denominan pruebas de Bondad
de Ajuste y miden el grado de ajuste entre la distribucin obtenida de una muestra de nmeros aleatorios y la
distribucin terica que se supone debe seguir esa muestra, en nuestro caso la distribucin uniforme. Ambas
pruebas estn basadas en la hiptesis nula de que no hay diferencias apreciables (significativas) entre la
distribucin muestral y la terica. En resumen ambas pruebas estn basadas en las siguientes hiptesis:

Hiptesis Nula H0: Los valores provienen de una distribucin uniforme (0,1)
Hiptesis Alternativa H1: Los valores no provienen de una distribucin uniforme (0,1)

5.1.1 Prueba Chi Cuadrado (ji dos)

Esta prueba se usa cuando se quiere probar la hiptesis de que unos datos muestrales provienen de una
determinada distribucin.

Se quiere demostrar que no existe una diferencia significativa entre la distribucin de frecuencia de la muestra
y la distribucin uniforme. La prueba chi cuadrado permite determinar si las frecuencias observadas en la
muestra estn lo suficientemente cerca de las frecuencias esperadas bajo la hiptesis nula.

Para esta prueba es necesario agrupar o distribuir los nmeros aleatorios generados en intervalos de clase,
preferiblemente del mismo tamao. El estadstico de prueba est definido como:


( )
2
2
1
X
i
O
i
E
Ei i
k
=

=


donde: Oi = Frecuencia absoluta, o total de nmeros aleatorios que caen en el intervalo i.
Ei = Nmero esperado de valores en el intervalo i.
k = Nmero de intervalos de clase en que se distribuyen las observaciones.

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 13
Si los lmites del intervalo de clase estn dados por Xi-1, y Xi, como lo ilustra la presente grfica, el nmero
esperado de observaciones para ese intervalo est dado por:

Ei = pi n

donde: pi = probabilidad de que una observacin (un nmero aleatorio) quede en el intervalo i.
n = Total de observaciones o nmeros aleatorios generados.


Ei



X0 X1 X2 Xi-1 Xi Xk

La probabilidad de que un nmero aleatorio caiga en el intervalo i est dada por:
k x
x
x
dx
x
x
dx x f
x x
p
i i
i
i
i
i
i
/ 1 ) (
1
1 1
= A = = = =
} }



siendo f(x) la funcin de densidad de la variable aleatoria X, bajo la hiptesis nula. En nuestro caso,
tratndose de la distribucin uniforme y para k intervalos de clase igualmente espaciados, la probabilidad de
que una observacin quede en el intervalo i est dada por:
.
pi = 1/k, i = 1, 2 ,,, k

Entonces el nmero de observaciones en cada intervalo est dado por:

Ei = pi n = n/k, i = 1, 2 ,,, k

Estadstico X
2
sigue una distribucin chi cuadrado con k - 1 grados de libertad. Para que esta suposicin sea
vlida se requiere que el nmero esperado de observaciones en cada intervalo de clase sea por lo menos 5
(Ei > 5). Si esta condicin no se cumple, es necesario agrupar en uno los resultados de varios intervalos de
clase.

Para la prueba de uniformidad se calcula el valor X
2
como se acaba de explicar, y se acepta la hiptesis nula
si X
2
s
k 11
2
, o
_ , donde el valor
k 11
2
, o
_ representa el valor de la distribucin chi cuadrado con k-1 grados de
libertad y un nivel de significancia de o, es decir, que tiene un rea de 1 - o a la izquierda (o a la derecha).











Algunas consideraciones que hay que tener en cuenta con respecto a la aplicacin de esta prueba son las
siguientes:

- El nmero de intervalos de clase debe ser por lo menos cinco. Para facilidad de los clculos y para una
buena visualizacin de la distribucin tampoco debera ser muy grande ( k s 20).
- El nmero esperado de observaciones en cada intervalo debe ser mayor o igual a cinco; en caso contrario,
deberan agruparse varios intervalos para lograr esto.

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 14
Ejemplo. En la tabla siguiente se presentan los clculos para realizar la prueba Chi cuadrado para una
muestra de 100 nmeros aleatorios generados mediante el generador congruencial multiplicativo con a = 899,
c = 0 y M = 32768, y distribuidos en 10 intervalos de clase.

PRUEBA DE UNIFORMIDAD CHI CUADRADO

Clase/concepto 1 2 3 4 5 6 7 8 9 10
Lmite Inf Xi-1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Lmite Sup Xi 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Oi 14 15 9 8 4 11 10 10 7 12
pi 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Ei 10 10 10 10 10 10 10 10 10 10
( )
2
i
O
i
E
Ei


1.6 2.5 0.10 0.40 3.6 0.1 0.0 0.0 0.9 0.4
( )
2
1
i
O
i
E
Ei i
k

=

1.6 4.1 4.2 4.6 8.2 8.3 8.3 8.3 9.2 9.6

El estadstico de prueba X
2
= 9.6 y el valor crtico
k 11
2
, o
_ = 21.7 para un nivel de significancia del 1%, lo
cual nos lleva a aceptar la hiptesis de que los valores generados provienen de una distribucin uniforme.

5.1.2 Prueba de Simirnov - Kolmogorov (s-K)

En esta prueba tambin se est interesado en el grado de concordancia entre la distribucin de frecuencia
muestral y la distribucin de frecuencia terica, bajo la hiptesis nula de que la distribucin de la muestra es
uniforme (0,1), e interesa probar que no existe diferencia significativa. La prueba trabaja con la funcin de
distribucin (distribucin de frecuencia acumulativa), y se puede realizar para valores agrupados en intervalos
de clase, o para las observaciones individuales, sin agrupar.

Sea FX (x) la funcin de distribucin terica para la variable aleatoria X (uniforme en nuestro caso), y
representa la proporcin esperada de observaciones que tengan un valor menor o igual a x. Es decir:
FX (x) = P ( X s x) =
}

x
dx x f ) ( = x si X es U(0,1)

Sea Sn(x) la funcin de distribucin emprica (observada) de la muestra de n observaciones (nmeros
aleatorios). Sn(x) representa la proporcin de valores observados (generados) que son menores o iguales a x,
y est definida como:

Sn(x) = P(X s x/dados los resultados muestrales) = m/n

donde m es el nmero de valores observados (generados) que son menores o iguales a x.

En la prueba de Smirnov-Kolmogorov se est interesado en la mayor desviacin entre la funcin de
distribucin terica y la emprica, es decir entre FX (x) y Sn(x), para todo el rango de valores de x. Bajo la
hiptesis nula se espera que estas desviaciones sean pequeas y estn dentro de los lmites de errores
aleatorios. Por lo tanto, en la prueba S-K se calcula la mayor desviacin entre FX (x) y Sn (x), denotada por
D(x) y est dada por:

D(x) = Max | FX (x) Sn(x) |

La distribucin de D(x) es conocida y depende del nmero de observaciones n. Se acepta la hiptesis nula de
que no existe diferencia significativa entre las distribuciones terica y emprica si el valor de D(x) es menor o
igual que el valor crtico Dmax(1-o,n). (Ver tabla adjunta para valores crticos).

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 15
Prueba Smirnov Kolmogorov para observaciones agrupadas en intervalos de clase

El procedimiento general para realizar esta prueba se puede resumir en los siguientes pasos: siguiente:

- Especificar la distribucin nula, la cual se supone que sigue la muestra aleatoria, os nmeros generados,
la uniforme en nuestro caso.
- Organizar la muestra observada de nmeros aleatorios en una distribucin de frecuencia.
- Con base en la distribucin observada de frecuencia, se calcula la distribucin acumulativa Sn(x), que
corresponde a la frecuencia relativa acumulada para el intervalo.
- Se calcula la funcin de distribucin terica FX(x).
- Para cada intervalo de clase (o para cada valor de x) se calcula la diferencia entre FX (x) y Sn (x), y se
busca la mxima D(x) = Max | FX (x) Sn(x) |.
- Se busca en la tabla el valor crtico Dmax(1-o, n) con un nivel de significancia o. Si el valor observado D(x)
es menor o igual que el valor crtico, entonces se acepta la hiptesis nula de que no existen diferencias
significativas entre la distribucin terica y la distribucin dada por los resultados muestrales, es decir, que
los valores generados siguen la distribucin que se haba supuesto (uniforme).

Tabla No 2
Prueba de Smirnov-Kolmogorov. Valores crticos Dmax(1-o,n) de la mxima diferencia absoluta entre las
funcin de distribucin muestral y terica.

Tamao de la
muestra
Nivel de significancia o
o .20 .15 0.10 0.05 0.01
1 .9000 .925 .950 .875 .995
2 .684 .726 .776 .842 .929
3 .565 .597 .642 .708 .828
4 .494 .525 .564 .624 .733
5 .446 .474 .510 .565 .669
6 .410 .436 .470 .521 .618
7 .381 .405 .438 .486 .577
8 .358 .381 .411 .457 .543
9 .339 .360 .388 .432 .514
10 .322 .342 .368 .410 .490
11 .307 .326 .352 .391 .468
12 .295 .313 .338 .375 .450
13 .284 .302 .325 .361 .433
14 .274 .292 .314 .349 .418
15 .266 .283 .304 .338 .404
16 .258 .274 .295 .328 .392
17 .250 .266 .286 .318 .381
18 .244 .259 .278 .309 .371
19 .237 .252 .272 .301 .363
20 .231 .246 .264 .294 .356
25 .210 .220 .240 .270 .320
30 .190 .200 .220 .240 .290
35 .18 .190 .201 .230 .270
> 35
1.07/ N 1.14/ N 1.22/ N 1.36/ N 1.63/ N

Valores de Dmax(1-o,n) tales que Pr {Max | FX (x) Sn (x) | s Dmax(1-o,n)} = 1- o
Tabla tomada parcialmente del libro Simulation and Analysis of Industrial Systems, de Schmidt y
Taylor.

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 16
Ejemplo: Prueba de Smirnov - Kolmogorov - Valores agrupados. En la tabla siguiente se presentan los
clculos para realizar la prueba S-K para la muestra de 100 nmeros aleatorios generados mediante el
generador congruencial multiplicativo con a = 899, c = 0 y M = 32768, usados para la prueba chi cuadrado.

Prueba de Smirnov - Kolmogorov - Valores agrupados

Clase/concepto 1 2 3 4 5 6 7 8 9 10
Lmite Inf Xi-1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Lmite Sup Xi 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Oi 14 15 9 8 4 11 10 10 7 12
Oi 14 29 38 46 50 61 71 81 88 100
Sn(x) .14 0.29 0.38 0.46 0.50 0.61 0.71 0.81 0.88 1.00
FX (x) 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
| FX (x) Sn (x) | 0.04 0.09 0.08 0.06 0.00 0.01 0.01 0.01 0.02 0.00

La diferencia mxima observada es Dmax(x) = 0.09 y el valor crtico para un nivel de significancia del 1% es de
1.63/ 100 = .163. Como Dmax(x) < D(100,.99) no podemos rechazar la hiptesis nula y debemos concluir que
la muestra tomada del generador de nmeros aleatorios proviene de una distribucin uniforme (0,1).

Prueba Smirnov Kolmogorov para observaciones individuales

Para realizar la prueba de S-K no se requiere que las observaciones estn distribuidas en intervalos de clase,
sino que puede realizarse sin necesidad de agrupar los valores en intervalos de clase, principalmente cuando
el tamao de la muestra es pequeo. En este caso es necesario ordenar los valores generados en forma
ascendente, de menor a mayor, y calcular, para cada valor observado, (sin agrupar en intervalos de clase) las
distribuciones tericas Fx(x) y empricas Sn(x) en la forma como se explic anteriormente.

Ejemplo. La tabla siguiente presenta la prueba para los primeros 20 valores generados mediante el
generador congruencial multiplicativo considerado anteriormente (a = 899, c = 0 y M = 32768). La diferencia
mxima observada es 0.123 y la mxima permitida es 0.294 para 20 valores y un nivel de significancia del 5%,
lo cual lleva a la conclusin de que no existe evidencia de que las observaciones no se distribuyan
uniformemente en el intervalo (0,1).

Prueba de Smirnov - Kolmogorov - Valores individuales

Observacin No 1 2 3 4 5 6 7 8 9 10
Valor R 0.066 0.075 0.080 0.119 0.178 0.228 0.262 0.348 0.573 0.620
Sn(x) 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50
FX (x) 0.066 0.075 0.080 0.119 0.178 0.228 0.262 0.348 0.573 0.620
| FX (x) Sn(x) | 0.016 0.025 0.070 0.081 0.072 0.072 0.088 0.052 0.123 0.120
Observacin No 11 12 13 14 15 16 17 18 19 20
Valor R 0.635 0.695 0.709 0.719 0.829 0.908 0.916 0.945 0.964 0.973
Sn (x) 0.55 0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00
FX (x) 0.635 0.695 0.709 0.719 0.829 0.908 0.916 0.945 0.964 0.973
| FX (x) Sn (x) | 0.085 0.095 0.059 0.019 0.079 0.108 0.066 0.045 0.014 0.027

La prueba de Smirnov - Kolmogorov tiene las siguientes caractersticas:

- La prueba puede aplicarse para tamaos de muestra pequeos, lo que no sucede con la chi cuadrado.
- Adems, la prueba S-K es mas poderosa que la Ji dos, es decir, cuando se rechaza la hiptesis nula, se
tiene una mayor confiabilidad en dicho resultado.
- La prueba S-K debe usarse cuando la variable de anlisis es continua. Sin embargo, si la prueba se usa
cuando la distribucin de la poblacin no es continua, el error que ocurre en la probabilidad resultante
est en la direccin segura. Es decir, cuando se rechaza la hiptesis nula, tenemos verdadera confianza
en la decisin.

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 17
5.2 Pruebas de Independencia

Las dos pruebas anteriores son aplicables para verificar la uniformidad de la distribucin de una secuencia de
nmeros aleatorios, pero ninguna tiene en cuenta el ordenamiento de la secuencia de nmeros aleatorios, de
acuerdo al tiempo de generacin. Por ejemplo, si a la secuencia 1, 1, 1, 3, 3, 3, 5, 5, 5, 7, 7,7, 9, 9, 9, 0, 0, 0,
2, 2, 2, 4, 4, 4, 6, 6, 6, 8, 8, 8 se le aplicaran las dos pruebas anteriores las pasaran con una confiabilidad del
100%. Sin embargo, la secuencia anterior dista mucho de ser aleatoria. Esto ilustra la necesidad de efectuar
otras pruebas que incluyan aspectos tales como el orden en que aparecen los nmeros, para verificar si en
realidad son independientes. Estas pruebas se las conoce con el nombre de Pruebas de Rachas o Corridas.

5.2.1 Pruebas de Rachas

Estamos interesados en el arreglo particular de los nmeros dentro de una secuencia para determinar su
aleatoriedad. La secuencia 0, 1, 2 , 3, 4, 5, 6, 7, 8, 9 y 1, 7, 3, 4, 9, 6, 2, 5, 0 ,8 , aunque contienen los mimos
nmeros son completamente diferentes. En la primera secuencia encontramos los nmeros en orden
ascendente, de 0 a 9, mientras que en la segunda no hay ningn ordenamiento aparente entre los mismos. En
la primera secuencia los nmeros forman lo que se denomina una racha ascendente de longitud 9, es decir,
existe una serie de nueve aumentos sucesivos.

Definicin. Una racha se define como una serie de eventos o fenmenos de una misma clase. Por ejemplo,
una racha de mala suerte.

La longitud de una racha es el nmero de elementos o eventos que contiene la racha. El propsito de estudiar
las rachas es analizar el carcter aleatorio de una secuencia de nmeros.

Para la aplicacin del anlisis de rachas se requiere que los eventos que puedan ocurrir se puedan clasificar
en una de dos categoras mutuamente excluyentes.

Para una secuencia de valores, las rachas se pueden clasificar en dos formas diferentes:

- Rachas ascendentes o hacia arriba y rachas descendentes o hacia abajo, dependiendo de si un nmero
est seguido por otro mayor o por otro menor. Por ejemplo, en la secuencia 1, 5, 6, 8, 4, 2, 0, 1 , 7 se
presenta una racha ascendente de longitud tres, una descendente de longitud tres y finalmente una
ascendente de longitud dos.
- Rachas por encima o por debajo del valor medio. En este caso la racha se clasifica dependi endo de si un
valor est por encima o por debajo del valor medio (0.5 para el caso de nmeros aleatorios). En la
secuencia 0.1, 0.5, 0.6, 0.8, 0.4, 0.2, 0.0, 0.1, 0.7 se presenta una racha por debajo de longitud 1, una por
encima de longitud tres (suponiendo que 5 est por encima del valor medio), una por debajo de longitud
cuatro y finalmente una por encima de longitud uno.

Al examinar la aleatoriedad de una secuencia de nmeros aleatorios, debemos analizar tanto el
comportamiento del nmero de rachas (por encima y por debajo, ascendentes y descendentes) como la
distribucin de la longitud de las diferentes rachas.

Inicialmente analizaremos el nmero total de rachas que se presentan en una secuencia de nmeros.

5.2.1.1. Anlisis del nmero de rachas.

Rachas hacia arriba y hacia abajo.

Una racha ascendente o hacia arriba es una sucesin de aumentos, es decir, si se tiene una secuencia de
nmeros tal que cada nmero de la secuencia est seguido por otro mayor. Si la secuencia es tal que cada
nmero est seguido por otro menor, la secuencia recibe el nombre de racha descendente o hacia abajo..
Considere la secuencia de 20 nmeros

3, 1, 2, 3, 6, 4, 5, 4, 1, 2, 6, 8, 9, 7, 5, 2, 3, 1, 5, 1,

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 18
A cada nmero de la secuencia le podemos asignar un cdigo especial (+, o un 1) si este nmero est
seguido por otro mayor, y otro signo (- o un 0) si el nmero est seguido por otro menor. En la secuencia
anterior tendramos la siguiente representacin:

- + + + - + - - + + + + - - - + - + -

Cada secuencia de + y - constituye una racha y su longitud est dada por el nmero de signos iguales
contenidos en la racha. Para esta secuencia, se presentan cinco rachas ascendentes y seis descendentes,
para un total de once.

El nmero mnimo de rachas ascendentes y descendentes es uno y el mximo n - 1, si hay n valores en la
secuencia. Por lo tanto, una secuencia puede ser no aleatoria si hay o muy pocas o demasiadas rachas. Por
ejemplo, considere las dos secuencias siguientes :

Secuencia A: 10, 30, 33, 45, 50, 63, 70, 77, 81, 87
Secuencia B: 43, 17, 42, 30, 55, 19, 75, 11, 25, 07

En la secuencia A se tiene nicamente una racha, de longitud nueve, es decir, cada valor est seguido
siempre por otro mayor, mientras que en la secuencia B se tienen nueve rachas, 4 ascendentes y cinco
descendentes. Dado que no es lgico esperar que los nmeros aleatorios aumenten continuamente,
podramos cuestionar la aleatoriedad de la primera secuencia. De igual forma, podramos cuestionar la
aleatoriedad de la secuencia B ya que tampoco es normal que los nmeros aumenten y disminuyan
continuamente, en forma cclica. Esperamos que el total de rachas en una secuencia de verdaderos nmeros
aleatorios est en algn valor entre uno y n-1.

Sea A el nmero total de rachas ascendentes y descendentes en una secuencia de n nmeros aleatorios. La
media y la varianza de A, A y oA
2
estn dadas por:


A
N
=
2 1
3



90
29 N 16 2
A

=
o

Para n > 20 la distribucin de A puede aproximarse por una distribucin normal con la media y varianza dadas
por las expresiones anteriores. Esta aproximacin es apropiada para probar la aleatoriedad de los valores
generados por un generador de nmeros aleatorios, dado que generalmente se generan cientos de valores
antes de aplicar la prueba.

La hiptesis de que una secuencia es aleatoria puede rechazarse, o bien porque existan pocas rachas, o bien
porque existan demasiadas. Por consiguiente, se requiere efectuar una prueba de dos colas para determinar
si ha ocurrido alguno de los extremos. El estadstico de prueba sera:

Z
A
A
A
=

o


donde Z se distribuye normalmente con media cero y varianza unitaria.

Si o es el nivel de significancia de la prueba y Z1-o/2 es el valor de la distribucin normal (0,1) que tiene un rea
de 1-o/2 hacia la izquierda, es decir, es el valor para el cual se cumple que:

1-o/2 = P( Z s Z1-o/2 ) P( Z > Z1-o/2 ) = o/2

entonces se puede rechazar la hiptesis de la aleatoriedad de la secuencia si
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 19

Z > Z1-o/2

Ejemplo: Considere el generador congruencial multiplicativo definido por los siguientes parmetros : a = 899, c
= 0 y M = 32768. Determine si las secuencias generadas pueden considerarse como aleatorias, con base en
la prueba de rachas ascendentes y descendentes. Use un nivel de significancia del 5%.

Para probar la hiptesis anterior, se gener una secuencia de 100 nmeros aleatorios, los cuales se
presentan a continuacin. Para visualizar mejor su presentacin, los valores se presentan como enteros, con
dos cifras.

95 97 83 72 35 12 8 91 23 69 62 96 71 8 57 26 92 64 7 18
98 75 22 9 1 79 17 36 15 14 3 38 51 17 93 51 23 26 99 14
42 77 34 63 21 9 11 37 73 58 41 72 10 64 38 7 45 62 14 78
90 91 81 23 58 87 52 80 61 89 40 87 11 34 56 80 22 60 14 97
5 3 26 76 73 2 4 55 39 94 61 70 16 17 10 59 14 7 62 60

La secuencia de rachas ascendentes y descendentes es la siguiente :

+ - - - - - + - + - + - - + - + - - + + - - - - + - + - - - + + - + - - + + - + + - + - - + + + - -
+ - + - - + + - + + + - - + + - + - + - + - + + + - + - + - - + + - - + + - + - + - + - + - - + -

La distribucin del nmero de rachas es la siguiente:

Longitud de Racha 1 2 3 4 5 Total A
Nmero de rachas 42 18 4 1 1 66

Se tiene entonces: n = 100, A = 66. La media y la varianza estarn dadas por:


A
N x
=

=

=
2 1
3
2 100 1
3
663 .


A
N x
2
16 29
90
16 100 29
90
17 46
o
=

=

= .
A
o
= 418 .

Z =

=
66 663
418
0072
.
.
.
Para un nivel de significancia del 5%, se tiene que Z1-o/2 = 1.96. Por lo tanto, dado que Z <Z0.975 se acepta
que, en cuanto al nmero de rachas ascendentes y descendentes,la secuencia es aleatoria.

Rachas por encima y por debajo

La prueba anterior no es suficiente para probar la aleatoriedad de una secuencia de nmeros. Para ilustrarlo,
considere la siguiente secuencia:

35, 12, 11, 17, 41, 48, 12, 16, 40, 36, 32, 12, 25, 31, 48, 11,
51, 66, 77, 65, 75, 88, 67, 90, 96, 54, 72, 89, 86, 93, 66, 59

La secuencia de rachas ascendentes y descendentes sera :

- - + + + - + + - - - + + + - + + + - + + - + + - + + - + - -

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 20
Si se realiza el anlisis de rachas ascendentes y descendentes, (a = 17, A =21, oA
2
=5.4, Z=-1.72) se
concluye que no hay evidencia para dudar de la aleatoriedad de la secuencia. Sin embargo, esta secuencia no
es aleatoria ya que la primera mitad de los valores estn por debajo de la media (50) mientras que la otra
mitad est por encima. Por lo tanto, se concluye que se debe realizar el anlisis de rachas no slo
ascendentes y descendentes sino tambin por encima y por debajo de la media.

Una racha por encima del valor medio es una sucesin de valores o puntos que estn por encima de su valor
esperado. Una racha por debajo del valor medio es una sucesin de valores o puntos que estn por debajo de
su valor esperado. Al analizar una secuencia de nmeros, le asignaremos un signo + o un 1 a aquellos
valores que estn por encima de 0.5 y un signo - un 0 a aquellos valores que estn por debajo de 0.5.

Sean n1 y n2 el nmero de valores individuales por encima y por debajo de la media. Sea B el nmero total de
rachas por encima y por debajo de la media en una secuencia de n valores. El valor esperado y la varianza
del nmero total de rachas por encima y por debajo del valor medio (B y oB
2
) estn dados por :

1
n
2
n
1
n
2
n
1
2
B
+
+
=


) 1
n
2
n
1
( )
n
2
n
1
(
2
)
n
2
n
1
n
2
n
1
2 (
n
2
n
1
2
2
B
+ +

=
o


Para n1 o n2 mayores de 20 B tiende a distribuirse normalmente con la media y varianza dadas por las
expresiones anteriores. El estadstico para la prueba sera:

Z
B
B
B
=

o


donde Z se distribuye normalmente con media cero y varianza unitaria. Si se tiene una secuencia de n
nmeros aleatorios, el mnimo nmero de rachas es uno y el mximo posible es n. Dado que estamos
interesados en la ocurrencia de muy pocas o de demasiadas rachas, se requiere efectuar una prueba de dos
colas para determinar si ha ocurrido alguno de los extremos. Si o es el nivel de significancia de la prueba y Z1-
o/2 es el valor de la distribucin normal (0,1) que tiene un rea de 1-o/2 hacia la izquierda, rechazamos la
hiptesis de aleatoriedad si Z > Z1-o/2

Ejemplo : Considere el generador congruencial multiplicativo definido por los siguientes parmetros : a = 899,
c = 0 y M = 32768. Determine si las secuencias generadas pueden considerarse como aleatorias, con base en
la prueba de rachas por encima y por debajo del valor medio. Use un nivel de significancia del 5%.

Para probar la hiptesis anterior, se gener una secuencia de 100 nmeros aleatorios, los cuales se
presentaron en el ejemplo de rachas ascendentes y descendentes presentado anteriormente.

Las rachas por encima y por debajo del valor medio son las siguientes:

+ + + + - - - + - + + + + - + - + + - - + + - - - + - - - - - - + - + + - - + - - + - + - - - + +
- + - + - - - + - + + + + - + + + + + + - + - - + + - + - + - - - + + - - + - + + + - - - + - - + +
La distribucin del nmero de rachas es la siguiente:

Longitud de Racha 1 2 3 4 5 6 Total B
Nmero de rachas 28 13 6 4 0 2 53

Se tiene entonces : n = 100, B = 53, n1 =50, n2 = 50. La media y la varianza estarn dadas por:
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 21


B
x x

=
+
+ =
2 50 50
50 50
1 51


( )
B
x x x x
2
2 50 50 2 50 05 50 50
2
50 50 50 50 1
24 75
o
=

+ +
=
( )
( )
.
B o
= 4 97 .

Dado que tanto n1 como n2 son mayores que 20, la aproximacin normal es apropiada. Por lo tanto

Z =

=
53 51
4 97
0402
.
.
Dados Z = 0.402, Z0.975 = 1.96, y como Z <Z0.975 no se puede rechazar la hiptesis de la aleatoriedad de la
secuencia, con base en esta prueba.

5.2.1.2. Distribucin de la longitud de Rachas

Hasta ahora hemos estado interesados en el nmero total de rachas que aparecen en una secuencia, sin
interesarnos la longitud de las mismas. En una secuencia de nmeros aleatorios deben aparecer rachas de
diferente longitud, no todas de una misma longitud, para poder aceptar plenamente la aleatoriedad de esta
secuencia. Considere la siguiente secuencia de nmeros:

11, 17, 45, 66, 99, 88, 42, 12, 30, 69, 97, 85, 21, 37, 36, 69, 92, 77, 44, 31, 22,
91, 75, 70, 44, 30, 05, 87, 97, 52, 43, 12, 19, 55, 72, 86, 32, 49, 15, 91, 81, 67

Las rachas por encima y por debajo de la lnea media las podemos representar de la siguiente manera:

- - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +

Como se observa, todas las rachas tienen la misma longitud, lo cual nos hace dudar de la aleatoriedad de
esta secuencia. Por lo tanto, adems de las pruebas anteriores, se requiere efectuar otras sobre la
distribucin de la longitud de las rachas que se presentan en una secuencia de nmeros aleatorios.

Sea Li el nmero de rachas de longitud i que aparecen en una secuencia de n nmeros aleatorios. Los valores
esperados, basados en muestras aleatorias estn dados por las siguientes expresiones.

1) Para rachas por encima y por debajo de la media

( )
( ) ( )
n
n
n
n
i
n
L
i
E
2
2
1
2 = , i= 1, 2, ..., n

2) Para rachas ascendentes y descendentes :

( )
( )
| | ) 4
2
3
3
( ) 1 3
2
(
! 3
2
+ + +
+
= i
i i
i
i
n
i
L
i
E , i s n - 2

( )
!
2
n
L
i
E = , i = n - 1

Se puede usar la prueba de bondad de ajuste chi cuadrado para comparar el nmero observado de rachas de
longitud i con el nmero esperado. Esto es, si Oi es el nmero observado de rachas de longitud i, se puede
usar el siguiente estadstico de prueba :
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 22


( )
2
2
1
X
i
O
E
i
L
E
i
L
i
k
=

=

[ ]
[ ]


donde k = n para rachas por encima y por debajo, y k = n-1 para rachas ascendentes y descendentes.

Ejemplo: Considere de nuevo el generador congruencial multiplicativo definido por los siguientes parmetros:
a = 899, c = 0 y M = 32768 y la secuencia de 100 nmeros generada previamente y presentada en los
ejemplos anteriores. Determine si las secuencias generadas pueden considerarse como aleatorias, con base
en las distribuciones de longitudes de rachas, usando un nivel de significancia del 5%.

1) Anlisis de rachas ascendentes y descendentes.

En el ejemplo realizado en la seccin a) se encontraron 42 rachas de longitud 1, 18 de longitud 2, 4 de
longitud 3 y una de longitudes 4 y 5 para un total de 66 rachas. El nmero esperado de rachas ascendentes y
descendentes de las diferentes longitudes est dado por:


( )
( )
| |
E
L
x x
1
2
1 3
100
2
1
3 1 1
3
1
3
2
1
1 4 =
+
+ + +
!
( ) ( ) = 41.75

( )
E
L
2
181 = .

( )
E
L
3
515 = .

( )
E
L
4
110 = .

( )
E
L
5
019 = .

Dado que el nmero esperado de rachas debe ser mayor o igual que 5 para poder aplicar la prueba chi
cuadrado, es necesario agrupar los resultados de las rachas 3, 4 y siguientes los cuales se calculan como :
66-41.75-18.1 = 6.15. La tabla siguiente resume los principales clculos de la prueba

Longitud de Racha 1 2 3 o mas Total A
Nmero observado de
rachas
42 18 4+1+1 66
Nmero esperado de
rachas
41.75 18.10 6.15 66
( )
2
i
O
E
i
L
E
i
L
(
( )

0.001 0.001 0.004 0.006

El valor experimental X
2
es de 0.006. Para dos grados de libertad, y un nivel de significancia del 5% el valor
terico es de 7.378, lo cual lleva a la conclusin de que se puede aceptar la aleatoriedad, dado que no hay
diferencia significativa entre la distribucin de rachas observadas y las esperadas.

2) Anlisis de rachas por encima y por debajo de la media

En el ejemplo realizado en la seccin b) se encontraron 28 rachas de longitud 1, 13 de longitud 2, 6 de
longitud 3, 4 de longitud 4 y dos de longitudes 6 para un total de 53 rachas.

Adems se tiene: n1 = 50
n2 = 50
n =100

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 23
El nmero esperado de rachas por encima y por debajo de la media de las diferentes longitudes est dado
por:
( )
( ) ( )
n
n
n
n
i
n
L
i
E
2
2
1
2 = =
( ) ( )
2 100
1
50
100
2
50
100
250 x x = .

( )
E
L
2
125 = .

( )
E
L
3
625 = .

( )
E
L
4
3125 = .

( )
E
L
5
15625 = .

( )
E
L
6
078125 = .

Dado que el nmero esperado de rachas debe ser mayor o igual que 5 para poder aplicar la prueba chi
cuadrado, es necesario agrupar los resultados de las rachas 4, 5 y siguientes, los cuales se calculan como :
53 25 - 12.5 - 6.25 = 9.25. La tabla siguiente resume los principales clculos de la prueba

Longitud de Racha 1 2 3 4 o mas Total A
Nmero observado de rachas 28 13 6 6 53
Nmero esperado de rachas 25.0 12.5 6.25 9.25 53
( )
2
i
O
E
i
L
E
i
L
(
( )

0.36 0.02 0.01 1.14 1.53

El valor experimental X
2
es de 1.53. Para tres grados de libertad, y un nivel de significancia del 5% el valor
crtico es de 9.348, lo cual lleva a la conclusin de que no se puede rechazar la hiptesis de que los nmeros
sean aleatorios con base en los resultados de esta prueba.

5.2.2 Prueba de autocorrelacin

Las pruebas de autocorrelacin muestran la tendencia de los nmeros a estar seguidos por otros nmeros,
bien de iguales caractersticas, o de caractersticas opuestas, o sin ninguna caracterstica especial. Estamos
interesados en examinar la autocorrelacin para cada secuencia del tipo Ri, Ri+m, Ri+2m,...,. Para realizar la
prueba se define el coeficiente de autocorrelacin m como :

=
+

=
m n
i
R
m i
R
i
m n
m
1
1


Para n grande con relacin a m, m se distribuye aproximadamente normal con media y varianza dadas por
las siguientes expresiones

25 . 0 )
m
( E =

) m n (
2
144
m 19 n 13
)
m
( Var

=

Si los nmeros son independientes este coeficiente debe tender a 0.25 Como estamos interesados en
detectar cualquier tipo de correlacin (positiva o negativa) se debe realizar una prueba de dos colas. La
independencia se rechaza si Z > Z1-o/2, donde

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 24
Z
m
E
m
Var
m
=

( )
( )

Ejemplo : Considere el generador congruencial multiplicativo definido por los siguientes parmetros : a = 899,
c = 0 y M = 32768. Determine si las secuencias generadas pueden considerarse como aleatorias, con base en
la prueba de autocorrelacin. Use un nivel de significancia del 5%.

Los resultados fueron presentados en ejemplo anterior:

Los resultados para rezagos de 1, 2, y 3 se presentan en la tabla siguiente

m 1 2 3
m 0.2238 0.2128 0.2048
E(m) 0.25 0.25 0.25
Var(m) 0.090 0.089 0.089
\(m) 0.300 0.299 0.298
Z -0.087 -0.125 -0.151

Como Z0.975 = 1.96 no hay ninguna evidencia para dudar de la aleatoriedad de la secuencia generada.

5.2.3 Prueba de Intervalos

La prueba de intervalos (gap test) se emplea para determinar la significancia de los intervalos entre la
ocurrencia de un dgito dado. Si el dgito k est seguido por x dgitos diferentes antes de que aparezca de
nuevo el dgito k, entonces se dice que existe un intervalo de tamao x. Para ilustrarlo, considere los
intervalos que ocurren entre los ceros (0) sucesivos en el siguiente conjunto de dgitos:

4, 8, 9, 7, 9, 8, 3, 3, 3, 9, 9, 0, 6, 3, 0, 3, 3, 4, 4, 3, 5, 3, 8, 2,
9, 5, 5, 2, 5, 1, 5, 4, 8, 7, 9, 0, 6, 4, 8, 9, 2, 3, 9, 6, 0, 1

El cero ocurri cuatro veces. Por lo tanto existen tres intervalos. El primer intervalo es de longitud dos, el
segundo de longitud 20 y el tercero de longitud 8.

Para el propsito de esta prueba estamos interesados en la frecuencia con que ocurren los diferentes
intervalos. En general, para cualquier dgito dado k la probabilidad de que ese dgito est seguido por x dgitos
diferentes de k antes de que k ocurra de nuevo, est dada por :

P(x/k) = P(k seguido por x dgitos diferentes de k, y luego por k) = (0.9)
k
(0.1), k = 0, 1,2, ...

Para una secuencia dada de dgitos, se registra el nmero de veces que ocurren intervalos de 0, 1,2, 3,...,.
Este procedimiento se aplica para cada dgito entre 0 y 9. Despus de registrar la frecuencia con que cada
intervalo ocurre, se compara la frecuencia relativa acumulada observada con la frecuencia relativa acumulada
esperada mediante la prueba Smirnov Kolomogorov. Bajo la suposicin de que los dgitos estn ordenados
aleatoriamente, la funcin de distribucin est da dada por:


X
j
x
j x
j
x
F
x P j ( ) ( ) ( . )
( . ) ( . )
= = =
=
+
=

0
1
0
09 09
01 1
Ejemplo: Basado en la frecuencia con que ocurren los intervalos determine si puede suponerse que los
siguientes dgitos estn ordenados aleatoriamente. Use o = 0.05.

2, 9, 3, 1, 6, 3, 0, 4, 6, 3, 2, 8, 7, 0, 8, 1, 3, 1, 8, 3, 6, 0, 7, 9, 6, 1, 3, 4, 8, 6, 3, 4, 9, 1, 4, 2,
8, 1, 0, 5, 5, 9, 2, 3, 1, 4, 0, 5, 8, 8, 9, 8, 3, 9, 9, 3, 3, 5, 9, 1, 1, 5, 3, 6, 8, 4, 7, 7, 9, 6, 0, 4,
0, 6, 0, 5, 7, 3, 1, 5, 9, 5, 4, 0, 1, 4, 6, 0, 0, 5, 4, 6, 2, 4, 8, 4, 2, 0, 5, 4, 4, 1, 0, 2, 0, 5, 4, 1,
3, 7, 5, 3, 3, 1, 6, 7, 1, 0, 2, 9, 6, 7, 0, 1, 7, 7
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 25

Como la prueba debe realizarse para cada dgito y registrarse la frecuencia con que se presenta cada
intervalo para cada uno, entonces, el nmero de intervalos registrados ser igual al total de valores analizados
menos 10, dado que cada dgito debe aparecer al menos una vez. Para nuestro caso se tiene:

Total de intervalos = 125 - 10 = 115

La tabla siguiente resume los resultados de la prueba para la secuencia anterior

Longitud del
intervalo
Frecuencia
absoluta
Frecuencia
relativa
acumulada Sn(x)
FX (x) | FX (x) - SN (x) |
0 - 2 27 0.234 0.271 0.027
3 - 5 30 0.495 0.469 0.026
6 - 8 33 0.675 0.613 0.082
9 - 11 11 0.792 0.718 0.074
12 - 14 8 0.860 0.794 0.066
15 - 17 3 0.888 0.850 0.038
18 - 20 2 0.905 0.891 0.014
21 - 23 3 0.931 0.920 0.011
24 - 26 1 0.940 0.942 0.002
27 - 29 1 0.948 0.958 0.010
30 - 32 2 0.965 0.969 0.004
33 - 35 1 0.974 0.978 0.004
36 - 38 1 0.983 0.984 0.001
39 - 41 0 0.983 0.988 0.005
42 - 44 1 0.990 0.991 0.001
45 - 47 0 0.990 0.994 0.004
48 - 50 1 1.000 0.995 0.005


La diferencia mxima absoluta es 0.082 y la desviacin mxima permitida es 1.36/\(115) = 0.127, lo cual nos
lleva a aceptar la hiptesis de que los dgitos estn ordenados aleatoriamente.

Esta prueba no est relacionada directamente con los nmeros aleatorios en s sino con los dgitos que los
conforman.

5.3 Nivel de significancia

Si se aplican k pruebas diferentes a una serie de nmeros aleatorios y el nivel de significancia de cada prueba
es oi, entonces el nivel de significancia total de la prueba oT est dado por :

( ) [
=
=
k
i
i
T
1
1 1
o
o

Si o1 = o2 = o3 =... =ok = o entonces ( )
( )
o o
o
= [
=
= 1 1
1
1 1
k
k
i
T

Esto es, si la hiptesis nula para cada prueba es en efecto verdadera, la probabilidad de que una o ms de
estas pruebas sea rechazada es oT. Por consiguiente, para un nivel total de significancia dado oT, el error oi
de cada prueba estar dado por:


( )
o o
T
k
i

=
1
/ 1
1
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 26
Ejemplo: Se aplican cinco pruebas diferentes a una serie de nmeros. La probabilidad de rechazar
incorrectamente una prueba es 0.05, entonces el error total para la prueba ser de:

oT = 1-(0.95)
5
= 0.226

Si se quisiera un error mximo del 5% para todas las pruebas en conjunto, entonces cada prueba debera
tener un nivel de significancia oi del 1%, segn se deduce de la siguiente expresin :

oi = 1- (0.95)
1/5
= 0.01

Problema: Se dice que las tres o cuatro ltimas cifras de cada nmero del directorio telefnico puede utilizarse
como un nmero aleatorio. Demuestre que el directorio telefnico sirve como un generador de nmeros
aleatorios.

Indicacin: Tome al azar una pgina y extraiga, en forma sucesiva, un centenar de nmeros telefnicos, sin
considerar los dos primeros dgitos, y aplique las pruebas expuestas en los prrafos anteriores.

6 Algunos generadores de nmeros aleatorios

Debe tenerse mucho cuidado cuando se usan generadores de nmeros aleatorios en microcomputadores o
en algunos compiladores de uso general, ya que algunos de ellos no han sido probados muy extensamente y
presentan resultados no muy deseables.

A continuacin se presentan algunos generadores que se han usado en algunos programas de simulacin o
en rutinas cientficas.

6.1 Generadores Congruenciales lineales

- Generador de Coveyou y MacPherson (mquina UNIVAC)

a = 5
15
, c = 1 y m = 2
35


- Generador propuesto por Kobashy para mquinas IBM y aplicable a muchos minicomputadores

a = 314,159,269, c = 453,806,245 y m = 2
31


6.2 Generadores Congruenciales multiplicativos (c = 0) con mdulo m = 2
e


- RANDU: a = 899, m = 2
15
= 32768 (Propiedades estadsticas buenas)

- RANDU: a = 5
16
+ 3 = 65539, m = 2
31
(Propiedades estadsticas indeseables)

6.3 Generadores Congruenciales multiplicativos (c = 0) con mdulo m = 2
e
1

- Lews, Goodman y Millery (1969) en el paquete LLRANDOM de Learmonth y Lewis (1973) y en el
generador RNUM del paquete IMSL (1987):

a = 7
5
= 16807
a = 630,360,016

- Generadores en programas de simulacin

GPSS/H: a = 742,938,285
GPSS/PC: a = 397,204,094
SIMAN: a = 16807
SIMCRIPTII.5: a = 630,360,016
SLAM II a = 16807

B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 27
- Otros generadores . Valores del multiplicador a:

950,706,376
742,938,285
1,226,874,159
62,089,911
1,343,714,438

7 Problemas

3.1 Genere 200 nmeros aleatorios, por medio de un computador, de acuerdo con el mtodo que usted
considere apropiado.

a) Pruebe si esos nmeros se distribuyen uniformemente en el intervalo (0.1) por medio de la prueba
chi-cuadrado o de la Smirnov Kolmogorov..
b) Verifique si la secuencia generada es independiente, mediante la aplicacin de diferentes pruebas
estadsticas.
c) Repita el proceso anterior para diferentes tamaos de muestra y analice el comportamiento de su
generador (muestras de 20, 50, 100, 500, 1000 nmeros).

3.2 Para los siguientes generadores congruenciales multiplicativos, calcule Xi para valores suficientes de i
>1 para cubrir un ciclo completo
a) Xi = (11 Xi-1 )Mod 16, X0 = 1
b) Xi = (11 Xi-1 )Mod 16, X0 = 2
c) Xi = (2 Xi-1 )Mod 13, X0 = 1
d) Xi = (3 Xi-1 )Mod 13, X0 = 1

3.3 Sin calcular ningn Xi determine cual de los siguientes generadores congruenciales lineales tiene
perodo completo
a) Xi = (13 Xi-1 +13)Mod 16
b) Xi = (12 Xi-1 +13)Mod 16
c) Xi = (13 Xi-1 +12)Mod 16
d) Xi = (Xi-1 +12)Mod 16

3.4 Analice el comportamiento del siguiente generador de nmeros aleatorios. Lo considera usted
adecuado?
Xi = (3 Xi-1 + 7) mod 1056

3.5 Suponga que Usted ha diseado un generador que le produce nmeros aleatorios R (en el rango 0,1).
Sea p un nmero entre 0 y 1. Suponga que Usted ha generado una secuencia, dada por R1, R2, ..., Rn.
Considere la secuencia formada por

R = (1 - R )/( 1 - p).

Considera Usted que la secuencia de nmeros obtenida a partir de R puede considerarse como una
secuencia de nmeros aleatorios?

3.6 Analice el comportamiento del siguiente generador de nmeros aleatorios. Lo considera usted
adecuado?

Xi = (3 Xi-1 + 7) mod 1056

3.7 Demuestre que la suma de dos nmeros aleatorios independientes (0, 1), mdulo 1, es de nuevo
uniforme (0, 1)

3.8 Determine con un nivel de confianza del 95% usando varias pruebas si la siguiente lista de nmeros
corresponde a una muestra aleatoria
B. Caldern. Introduccin a la Simulacin. Cap 3. Generacin de nmeros aleatorios 3 - 28

0.88 0.53 0.42 0.39 0.80 0.54 0.53 0.28 0.34 0.50 0.90 0.80
0.82 0.01 0.91 0.15 0.79 0.16 0.10 0.35 0.02 0.21 0.05 0.10
0.36 0.81 0.80 0.04 0.24 0.90 0.50 0.26 0.49 0.53 0.26 0.03
0.53 0.63 0.66 0.45 0.73 0.62 0.36 0.23 0.17 0.38 0.67 0.03

3.9 Suponga que Usted ha diseado un generador que le produce nmeros aleatorios R (en el rango 0,1).
Sea p un nmero entre 0 y 1. Suponga que Usted ha generado una secuencia, dada por R1, R2, ..., Rn.
Considere la secuencia formada por

R = R / p

Considera Usted que la secuencia de nmeros obtenida a partir de R puede considerarse como una
secuencia de nmeros aleatorios?

3.10 Considere la siguiente secuencia de nmeros aleatorios que fueron generados mediante un mtodo
congruencial. Pruebe que tan adecuado es este generador usando las siguientes pruebas estadsticas.
Use un nivel de significancia del 5%, con 10 intervalos de clase, prueba Chi-cuadrado y nmero de
rachas ascendentes y descendentes. Los nmeros estn amplificados por un factor de 1000.

913 661 889 378 721 671 508 214 167 534 341
449 604 228 141 966 233 562 927 159 830 662
081 143 870 429 211 307 485 254 591 274 894
808 899 191 677 804 088 676 603 415 850 401
025 096 457 502 156 449 709 613 511 476 867
356 766 182 634 332 310 981 958 498 133 361
808 340 686

Pruebas estadsticas presentadas en el libro de Averil Law
Generador de Averill Law



4 GENERACION DE PROCESOS

1 Introduccin

Hasta el presente en los captulos anteriores slo hemos estudiado la generacin de variables aleatorias
distribuidas uniformemente en el intervalo (0,1), llamadas nmeros aleatorios. Sin embargo, en cualquier
experimento de simulacin no slo se necesita trabajar con variables en el intervalo (0,1) sino que
principalmente estamos interesados en analizar otros procesos que no estn descritos mediante estas
variables. Por ejemplo, si estamos interesados en estudiar la forma como se comporta el inventario de un
artculo, necesitamos generar la demanda de ese artculo durante cierto tiempo, es decir, debemos asignar
valores a la variable aleatoria que nos describe esa demanda. Si esa demanda est modelada por una
distribucin de Poisson, entonces debemos generar valores de la distribucin de Poisson. Esos valores se
generan mediante el uso de los nmeros aleatorios, generados antes. Si estuviramos interesados en
estudiar polticas sobre reemplazo de equipos, tal vez necesitemos generar valores de la distribucin
exponencial.

Resumiendo, el inters no se centra en la generacin de nmeros aleatorios en s, sino que va ms all. El
inters est en la generacin de las variables aleatorias, adems de la uniforme (0,1) que nos describen el
proceso de inters. Al generar los valores de las variables aleatorias que describen un proceso, lo que
realmente estamos haciendo es realizando un muestreo artificial, el cual nos suministra la informacin
necesaria para analizar ms a fondo el proceso, informacin que sera sumamente costosa o imposible de
conseguir en la prctica

2 METODOS GENERALES

Existen varios mtodos generales para generar variables aleatorias. Los ms comunes son:

- El mtodo de la transformacin inversa
- El mtodo del rechazo y
- Mtodo de relacin con otras variables, tal como el mtodo de convolucin.

El mtodo ms conocido y aplicado es el de la transformacin inversa. El mtodo del rechazo tiene su mayor
aplicacin en la solucin de problemas determinsticos.

2.1 Mtodo de la transformacin inversa.

El mtodo de la transformacin inversa para generar variables aleatorias se basa en la funcin de distribucin
de la variable de inters, y se aplica para variables continuas, discretas y distribuciones empricas. Y requiere
que se pueda evaluar de una u otra manera la funcin de distribucin de la variable de inters.

2.1.1 Caso continuo.

Si X es una variable aleatoria continua con funcin de densidad dada por f(x), la funcin de distribucin de X,
denotada por F(x) est dada por:

}

= s =
X
dx ) x ( f ) x X ( P ) x ( F
El rango de la funcin de distribucin F(x) es entre cero y uno, lo mismo que el rango de los nmeros
aleatorios. Es decir:
0 s F(x) s 1, 0 s r < 1
Si R es un nmero aleatorio, sus funciones de densidad y de distribucin estn dada por:

1 r 0 , r dt dt ) t ( f ) r R ( P ) r ( F
1 r 0 , r ) r ( f
r
0
r
0
R s s = = = s =
s s =
} }
(1)
Ahora, la probabilidad de que un nmero aleatorio R sea menor o igual que el valor F(x) est dada por:
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 2
P r [ R s F(x) ] = F(x)), 0 s F(x) s 1
P r [ R s r] = r, 0 s r s 1
Segn lo anterior podemos igualar el nmero aleatorio generada r con la funcin de distribucin F(x) y
tendramos que:
R = F(x) x = F
-1
(r)
Por lo tanto, en el mtodo de la transformacin inversa se generan nmeros aleatorios en el intervalo (0,1),
se los iguala a la funcin de distribucin de la variable aleatoria X, y se despeja el valor de la variable
aleatoria, es decir :

r = F(x) X = F
-1
(r) F(x)

El valor de la funcin inversa F
-1
(r)
de r es el valor generado de la r
variable aleatoria de inters.

El valor de X se puede obtener
grficamente, como lo indica la figura 4.1 x X
Figura 4.1
Dado que 0 s F(x) s 1, y F(x) es continua y ascendente, es claro que existe entre R y F(x) una relacin
biunvoca.
r FX (x)

Ejemplo 4.1. Desarrolle un generador del proceso descrito por una variable aleatoria X con funcin de
densidad uniforme entre a y b.

f(x) F(x)

1

r


a b x a x b
Solucin: (Ver numeral 3.1) Se tiene que b x a
a b
a x
x F
a b
x f s s

= , ) ( ,
1
) (
Por lo tanto se genera el nmero aleatorio R = r y se hace
a b
a x
x F r

= = ) ( x = a + (b - a ) r.
As, para generar una variable aleatoria uniforme basta con generar un nmero aleatorio.

Ejemplo 4.2. Desarrolle un generador del proceso descrito por la variable aleatoria X cuya funcin de
densidad es exponencial con parmetro (tasa) o.

Solucin: (Ver numeral 3.2).
Se tiene que
e
x
x F
e
x
x f
o o
o

=

= 1 ) ( , ) (
) r 1 ( Ln
1
x
e
x
r 1
e
x
1 ) x ( F r =
o
=
o
= =
o

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 3
Como la distribucin uniforme es simtrica y dado que R y 1 - R tienen la misma distribucin (tienen los
mismos momentos), entonces en vez de usar 1 - r podemos emplear r. Por lo tanto, la distribucin
exponencial puede generarse tambin mediante la siguiente expresin
) r ( Ln
1
x
o
=
Ejemplo 4.3. Desarrolle un generador del proceso descrito por la variable aleatoria X cuya funcin de
densidad est dada por :
(x) =
1 6
1 3
1 12
/
/
/


0 2
2 3
3 7
s <
s <
s <
x
x
x

Solucin: Lo primero que debemos hacer es construir la funcin de distribucin F(x). Esta funcin debe
construirse en forma separada para cada intervalo, de la siguiente forma:
F(x) = P ( X s x ) = f x f x f x f x
X X X
( )dx ( )dx ( )dx ( )dx = + =
} } } }
0 0
0
o o

1) Para 0 s x s 2, se tiene:
3 / 1 ) x ( F 0 ,
6
x
dx
6
1
) x ( F ) x ( F
X
0
1
s s = = =
}

2) Para 2 s x s 3, se tiene:

3
2
) (
3
1
), 1 (
3
1
3
1
3
1
) (
6
1
) ( ) ( ) (
0
2
0 2 2
2
s s = + = + = = =
} } } }
x F x dx dx x f dx dx x f x F x F
X X X

3) Para 3 s x s 7, se tiene:
1 ) (
3
2
, ) 5 (
12
1
12
1
3
2
12
1
3
1
6
1
) ( ) ( ) (
0
2
0 3 3
3
2
3
s s + = + = + + = = =
} } } } }
x F x dx dx dx dx dx x f x F x F
x X x
Resumiendo se tiene:
F(x) =

s s s s +
s s s s
s s s s
=
1 ) x ( F
3
2
, 7 x 3 ), 5 x (
12
1
3
2
) x ( F
3
1
, 3 x 2 ), 1 x (
3
1
3
1
) x ( F 0 , 2 x 0 ,
6
x
) x ( F

El procedimiento para generar una variable aleatoria es entonces como sigue:

Se genera un nmero aleatorio R = r y se iguala a la funcin de distribucin F(x). Sin embargo, debe tenerse
en cuenta el rango en que queda el valor de r, as:

5 r 12 x ) 5 x (
12
1
r 1 r
3
2
Si
1 r 3 x ) 1 x (
3
1
r
3
2
r
3
1
Si
r 6 x
6
x
r
3
1
r 0 Si
= + = s s
+ = = s s
= = s s

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 4
El procedimiento anterior se puede explicar grficamente como lo indican las figuras 4.2 y 4.3 d.

f(x) F(x)

1/3 1


1/6 2/3
r

1/12 1/3


0 0
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
Figura 4.2 Figura 4.3
Figuras 4.2 y 4.3 Ejemplo del mtodo de la Transformacin Inversa. Caso Continuo

Ejemplo 4.4. Una distribucin triangular. Disee un generador para la variable aleatoria cuya funcin de
densidad est dada por:

s s
s s
=
2 x 1 , x 2
1 x 0 , x
) x ( f f(x)

Nota: Esta funcin de densidad corresponde a un caso
particular de la distribucin triangular (ver seccin 3.2)
0 1 2 x
Figura 4.4 Distribucin Triangular
Solucin. La funcin de distribucin est dada por :

1) Para 0 s x s 1

2
1
) x ( F 0 ,
2
x
xdx ) x X ( P ) x ( F ) x ( F
X
0
2
1
s s = = s = =
}

2) Para 1 s x s 2
1 ) x ( F
2
1
,
2
) x 2 (
1 dx ) x 2 ( xdx ) x X ( P ) x ( F ) x ( F
X
1
2 1
0
2
s s

= + = s = =
} }

Resumiendo se tiene :

s s s s

s s s s
=
1 ) x ( F
2
1
, 2 x 1 ,
2
) x 2 (
1
2
1
) x ( F 0 , 1 x 0 ,
2
x
) x ( F
2
2

Para generar una variable aleatoria X, se genera un nmero aleatorio r, entre 0 y 1, y se iguala a la funcin
de distribucin, de acuerdo al rango en que quede, as:
1) Si r 2 x r 2 x
2
x
r
2
1
r
2
+ = = = <
Se toma la raz positiva ya que el valor de la variable debe estar entre 0 y 1.

2) Si ) r 1 ( 2 2 x ) r 1 ( 2 2 x
2
) x 2 (
1 r
2
1
r
2
= =

= > i
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 5
Se toma la raz negativa ya que el valor de la variable debe ser menor o igual a 2.

Resumiendo se tiene que:

2
1
r si ) r 1 ( 2 2 x
2
1
r si r 2 x
> =
< =
,

Existen muchas variables aleatorias para las cuales es sumamente difcil o imposible expresar la funcin de
distribucin mediante una expresin cerrada que se pueda manipular fcilmente para obtener una solucin
analtica; o una vez obtenida esta expresin, puede ser complicado expresar la variable X en trminos del
nmero aleatorio r. En estos casos, ser necesario emplear otro mtodo.

2.1.2 Mtodo de transformacin inversa, caso discreto.

Cuando la variable aleatoria X no es continua sino discreta, no puede usarse el mtodo de la transformacin
inversa en la forma explicada anteriormente, sino que es necesario modificarlo un poco para tener en cuenta
la naturaleza discreta de la variable aleatoria. En el caso continuo para cada valor de la variable aleatoria X
existe uno y solo un valor del nmero aleatorio r que genera ese valor de X como se ilustr en la figura 4.1.
Es decir, existe una relacin biunvoca entre X y R. Esto no es cierto cuando X es discreta. Para ilustrarlo,
considere la variable aleatoria cuya funcin de probabilidad est dada por:
P x ( )
/
=

1 4
0
x= 1, 2, 3, 4, en otros casos.
La funcin de distribucin F(x) est dada por:
F(x)
/
/
/
=

1 4
1 2
3 4
1

x
x
x
x
=
=
=
=
1
2
3
4


o simplemente F(x) = x/4, x=1, 2, 3, 4

f(x) F(x)
1

3/4

1/4 1/2
r r
1/4

0
0 1 2 3 4 0 1 2 3 4
Figura 4.5 Mtodo de la transformacin inversa caso discreto

Al generar un nmero aleatorio r no podemos hacer directamente r = F(x) ya que R es continua y X es
discreta. Por ejemplo, si r = .31 y aplicamos el mtodo de la transformacin inversa visto antes el valor
correspondiente de X sera :
24 . 1 r 4 x
4
x
r = = =
Peroel valor x = 1.24 no existe.

Sin embargo, si aplicamos el mtodo de la transformacin inversa grficamente, fi gura 4.5, vemos que el
valor de x correspondiente a un r = 0.31 es 2. Si r fuera 0.48, x seguira siendo 2. Igualmente sera 2 si r
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 6
fuera 0.49. Si r fuera 0.50, el valor correspondiente a x sera 3. Es decir, el valor x = 2 puede ser generado
por muchos valores de r, todos aquellos que sean mayores o iguales a 1/4 y menores de 1/2.

El valor de x ser entonces el entero aquel que cumpla la siguiente desigualdad:
F ( x - 1 ) s r < F(x) ( 1 )
En general, si X no vara en intervalos de a 1 sino de , el valor x sera aquel que cumpliera la siguiente
desigualdad:
F ( x - ) s r < F(x) ( 1 )
Ejemplo 4.5. Para nuestro ejemplo, el generador del proceso sera:

>
s s
s s
s s
=
4 / 3 r si 4
4 / 1 r 4 / 2 si 3
4 / 2 r 4 / 1 si 2
4 / 1 r 0 si 1
x
As, tericamente existe un nmero infinito de valores de r que dan el mismo valor de x.

Dado que en el ejemplo anterior la funcin de distribucin tiene una expresin matemtica cerrada, podemos
tratar de encontrar una forma ms explcita para la variable aleatoria X. As:
F(x
x
) , =
4
x = 1, 2, 3, 4
Dado un valor de r, el correspondiente valor de x ser el entero que cumpla F( x - 1 ) s r < F(x) ( 1 )
es decir:
x
r
x
s <
1
4 4

Tomando la parte izquierda de la desigualdad se tiene: 1 r 4 x r
4
1 x
+ s s

( 2 )
La parte derecha de la desigualdad nos indica que: <
4
x
r 4r < x x > 4r ( 3 )
Combinando las expresiones ( 2 ) y ( 3 ) se obtiene que el valor X estar dado por:

4r < X s 4r + 1 X = [4 r + 1], donde [Y] = parte entera de Y

Si r = 0.31 1.24 < x s 2.24 x = 2
Si r = 0.43 1.92 < x s 2.92 x = 2
Si r = 0.49 1.90 < x s 2.96 x = 2
Si r = 0.50 2.00 < x s 3.00 x = 3

Ejemplo 4.6. Considere la distribucin geomtrica. Una variable aleatoria X tiene una distribucin geomtrica
si su funcin de probabilidad est dada por :
P x p p
x
( ) ( ) , =

1
1
x = 1, 2, .......,
donde p representa la probabilidad de que la variable aleatoria tome el valor de 1, es decir, p =P(X=1) y la
variable aleatoria X puede representar:
- Nmero de artculos que es necesario inspeccionar antes de encontrar uno defectuoso.
- Tiempo (medido en forma discreta) necesario para atender una persona.
- Nmero de veces que es necesario jugar una lotera para ganrsela

Para cada uno de los casos anteriores p puede representar:
- P = Probabilidad de que un artculo sea defectuoso (fraccin defectuososa).
- p = Probabilidad de que el servicio se termine en una unidad de tiempo.
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 7
- P = Probabilidad de ganar una lotera

La funcin de distribucin est dada por:
F(x P X x P X i pq
i
i
x
i
x
) ( ) ( ) = s = = =

= =

1
1 1

F(x p q
p q
q
i
i
x
x
)
( )
, = =

0
1
1
1
dado que Z
Z
Z
i
i
N
N
=
+

0
1
1
1
, si Z = 1
F(x
p q
p
q
x
x
)
( )
( )
, =


=
1
1 1
1 x = 1, 2, .....,
Para generar una variable aleatoria X con distribucin geomtrica se genera un nmero aleatorio r. El valor
de x ser el entero que cumpla la siguiente desigualdad:
F ( x - 1 ) s r < F(x) 1 - q
x - 1
s r < 1 - q
x

Trabajando con la parte izquierda de la desigualdad, se obtiene:
1 - q
x-1
s r 1 - r s q
x-1
Ln ( 1 - r ) s ( x -1 ) Ln q x - 1 s
Ln r
Ln q
( )
.
1
,
dado que Ln q < 0 x s
Ln r
Lnq
( ) 1
1

+ (A)
Con la parte derecha de la desigualdad, se obtiene:
1 - q
s
> r 1 - r > q
x
Ln ( 1 - r ) > x Ln q
q . Ln
) r 1 ( Ln
x

> , dado que Ln q < 0 (B)
De las expresiones (A) y (B) se obtiene que el valor de la variable aleatoria X es el entero que satisfaga la
siguiente desigualdad:
1
Lnq
) r 1 ( Ln
x
Lnq
) r 1 ( Ln
+

s <


Analizando un poco ms la expresin anterior se concluye que X es igual a la parte entera que se obtiene de
realizar el clculo
Ln r
Lnq
( ) 1
1

+

2.2 Mtodo del Rechazo

El mtodo del rechazo est basado en la funcin de densidad f(x) y no en la funcin de distribucin F(x),
como el de la transformacin inversa. Para poder usar este mtodo se requiere que la funcin de densidad
sea acotada y que el rango de variacin de la variable aleatoria sea finito, esto es, a s x s b.

El mtodo se basa en a) encerrar la funcin de densidad dentro de un rectngulo cuya altura es el valor
mximo de dicha funcin y cuyo base es el rango de variacin de la variable aleatoria y b) generar parejas de
nmeros aleatorios, y aceptar aquellas parejas que queden bajo la curva definida por la funcin de densidad
de la variable de inters.

El procedimiento para aplicar este mtodo es el siguiente.

1) Se normaliza la funcin de densidad f(x) mediante un factor c tal que su rango de variacin est entre
cero y uno, es decir, 0 s c.f(x) s 1, a s x s b. Por lo tanto, el valor de c debe ser tal que
c. Max f(x) =1 c= 1/Max f(x)
2) Se genera la variable aleatoria X correspondiente al rectngulo de base (b - a), es decir, como el valor
perteneciente a la funcin de densidad uniforme entre a y b, a saber,
X= a + (b - a) r
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 8
3) Se genera una pareja de nmeros aleatorios (r1, r2).
4) Con el primer nmero aleatorio se genera el valor de X, un rectngulo de base (b - a), es decir, como
correspondiente a la distribucin uniforme. Por lo tanto
X= a + (b -a) r1
y se calcula la ordenada de X correspondiente a la funcin de densidad normalizada c(f(x). Es decir, se
calcula c.f[a + (b -a) r1 ]
5) Se acepta la pareja de nmeros aleatorios si r2 s c.f(x), o sea si, r2 s c.f[a + (b -a) r1 ]. Por lo tanto, se
acepta la pareja si la interseccin de X con r2 cae bajo la curva definida por c.f(x). Si no se acepta la
pareja es necesario generar una nueva pareja, es decir, repetir el procedimiento desde el paso 3.

La figura siguiente ilustra el procedimiento

c.f(x)
1

r22

r21

a x1 x2 b x

x1 x2
La pareja (r11, r21), o equivalentemente la pareja (x1, r21) , donde x1 = a + (b - a ) r11, se acepta ya que
r21 < c.f(x1), es decir, la interseccin de x1 y r21 queda bajo la curva definida por c.f(x1). Sin embargo, la pareja
(r12, r22), o equivalentemente la pareja (x2, r22), donde x2 = a + (b - a ) r12, se rechaza ya que r22 > c.f(x2), es
decir, la interseccin de x2 y r22 queda fuera de la curva definida por c.f(x2).

Se observa que la pareja (r1, r2) genera un par de coordenadas que definen un punto en el rectngulo que
tiene como base (b - a) y altura unitaria, y que de estas parejas, las que se aceptan son aquellas que quedan
bajo la curva c.f(x).

Si se generan N parejas de nmeros aleatorios (r1, r2) y de estas parejas se aceptan M, entonces la
probabilidad de que una pareja quede bajo la curva puede estimarse como P = M/N. Si se conoce el rea del
rectngulo y se desea calcular el rea bajo la curva, entonces esta rea puede estimarse como el rea del
rectngulo por la proporcin de puntos que caen bajo la curva, es decir,
rea bajo la curva = rea del rectngulo x P,
donde el rea del rectngulos es igual a (b - a) x Mximo f(x)

Adems, P puede interpretase como la probabilidad de que una pareja sea aceptada. Dependiendo de la
forma de f(x), esta probabilidad podra calcularse analticamente.

El mtodo del rechazo se base en el hecho de que la probabilidad de que un nmero aleatorio R sea menor o
igual que c.f(x) est dada por :

p[R s r] = r p[R s c.f(x)] = c.f(x), 0 s c.f(x) s 1

Por consiguiente, si X se escoge al azar en el rango (a, b) como x = a + (b - a) r, y luego se rechaza si
r > c.f(x) entonces a funcin de densidad de los valores aceptados sera f(x).

Determinemos la probabilidad de que una pareja de nmeros aleatorios produzca exitosamente una variable
aleatoria. Esta probabilidad es igual a la probabilidad de que el primer nmero genere el valor de X = x, que
es igual a dx/(b-a), por la probabilidad de que el segundo nmero sea menor o igual a c.f(x), la cual es igual a
c.f(x), dado que el nmero aleatorio est uniformemente distribuido entre cero y uno. Por lo tanto,
P(pareja exitosa) =
dx
b a
cf x
c
b a
f x
c
b a
a
b
a
b

} }
. ( ) ( )
El nmero esperado de ensayos para obtener una pareja exitosa es (b-a)/c.
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 9

El mtodo del rechazo es ineficiente cuando (b-a)/c es f(x
un poco grande, dado que se necesita generar una gran
cantidad de nmeros aleatorios antes de encontrar un
par exitoso, como sera el caso de tener una distribucin
como la mostrada en la figura siguiente.

a b
Ejemplo 4.7. Use el mtodo del rechazo para generar observaciones de una variable aleatoria normal con
media cero y varianza unitaria.

Una variable aleatoria Z tiene una distribucin normal con media cero y varianza uno si su funcin de
densidad est dada por :
f z
z
e
( )
/
=

1
2
2
2
t
, - < z < +
En principio, el mtodo del rechazo no puede emplearse para generar una distribucin normal, dado que su
rango de variacin no es finito. Sin embargo, si se acota el rango de variacin de la variable, s podra
emplearse el mtodo del rechazo. Se sabe que el 99.73% de una distribucin normal se encuentra
comprendido en el rango de ms o menos tres desviaciones ( 3 para nuestro caso). Es decir, tendramos la
siguiente funcin de densidad:
f z
z
e
( )
/
=

1
2
2
2
t
, -3 < z < +3
Por lo tanto el procedimiento a aplicar sera :

1) Normalizar f(z). El valor mximo de f(z) ocurre en z = 0, por lo tanto se tiene que:
Max f(z) = 1/f(0) = 2t c = 2t y c f z
z
e
. ( )
/
=

2
2
.
2) Se genera una pareja de nmeros aleatorios (r1, r2).
3) Se calcula Z como z = a + (b - a) r1 = -3 + 6 r1
4) Se calcula c. f(z).
5) Se acepta la pareja si r2 s c.f(z), es decir, si r2 s c.f(-3+6r1) y el valor de la variable sera z =-3 + 6 r1
6) Se rechaza la pareja si r2 > c.f(z), en cuyo caso debera repetirse el proceso desde el paso 2.
Ejemplo: Si se genera la pareja de nmeros aleatorios (0,504, 0.820) el valor de z sera z = -3 + 6(0.504) =
0,024, el valor de c.f(z) sera 0.9997, y la pareja se aceptara dado que 0.820 < 0.9997. En cambio si la
pareja generada fuera (0.233, 0.724) sta se rechazara ya que z = -1.602 y c f(z) = 0.277 que es menor que
0.724

Ejemplo 4.8. Use el mtodo del rechazo para calcular el rea del primer cuadrante de un crculo unitario.
Este ejercicio sirve para ilustrar el mtodo de Montecarlo para resolver problemas completamente
determinsticos.
y
Un crculo unitario est definido mediante la siguiente ecuacin: 1

x
2
+ y
2
= 1
De la ecuacin se obtiene que
2
x 1 y = . Dado que e l rango de
variacin de y est entre cero y uno, el factor de normalizacin sera
c = 1. Por lo tanto, el procedimiento sera : 0 1 x
1) Se genera la pareja de nmeros aleatorios r1 y r2.
2) Se expresa x como x = a + (b - a ) r1 =r1
3) Se calcula y = c.f(x) =
r
2
1
1 x 1
2
= y se acepta la pareja si
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 10
r
2
1
1 r
r
2
1
1 r ) x ( f . c r
2
2 2 2
s s s , o equivalentemente si
r1
2
+r2
2
s 1, es decir si la pareja cae bajo el primer cuadrante del crculo.

Se generan varias parejas de nmeros aleatorios (N) y se cuenta el nmero de parejas aceptadas M. El rea
bajo el cuadrante se calcula como el rea del rectngulo (la unidad) por la proporcin de parejas que caen
bajo la curva, es decir, el rea del cuadrante se estima como M/N. Matemticamente se sabe que el rea de
un crculo est dada por tR
2
, siendo R es el radio del crculo. Por lo tanto el rea exacta del cuadrante ser
t/4. A medida que se aumente el nmero de parejas generadas la proporcin de las que caen bajo la curva
debe tender a t/4.

Ejemplo 4.9. Use el mtodo del rechazo para calcular el rea bajo la curva Y = 3X, entre 2 y 5.

El problema se puede ilustrar grficamente como se muestra f(x)
en la grfica No 5.x. El valor mximo de f(x) para el rango de 15
variacin dado ocurre en x=5, con un valor de 15, por lo tanto,
el valor de c es de 1/15. 12

El procedimiento sera entonces :
8
1) Se normaliza f(x) por el factor c=1/15, por lo tanto
c.f(x) = x/5 4
2) Se genera un par de nmero aleatorios (r1,r2).
3) Se calcula x como x = 2 + 3 r1 0 1 2 3 4 5 6 x
- Si r2 s (2 + 3 r1)/5 se acepta la pareja y se contabiliza el nmero de parejas aceptadas (M).
- Si r2 > (2 + 3 r1)/5 se rechaza la pareja.

El rea total del rectngulo est dada por (5 - 2) x 15 = 45, y el rea bajo la lnea y = 3x entre 2 y 5 se estima
como el rea bajo el rectngulo por la proporcin de parejas aceptadas, es decir por:
Area_Bajo_Lnea = (5 - 2) x 15 x M/N = 45M/N
La tabla siguiente resume resultados obtenidos para diferentes valores de las parejas de nmeros
generados.

Parejas Generadas
25 50 100 200 500 1000
Parejas Aceptadas
22 38 69 133 353 698
Proporcin
88,0 76,0 69,0 66,5 70,6 69,8
rea estimada
39,6 34,2 31,05 29,9 31,87 31,41

El rea real bajo la curva est dada por la integral de la funcin 3x entre 2 y 5, y su valor es :
Area_Real_Bajo_Lnea = 3 315
2
5
xdx
}
= .
y la proporcin del rea bajo la curva seria de 31.5 x 100/45= 70%.

2.3 Mtodo de relacin con otras variables (Convolucin).

Un mtodo muy utilizado para generar variables aleatorias es mediante el anlisis de la relacin matemtica
de la variable de inters con otras variables conocidas, o analizando el proceso que da origen a una
determinada variable. Por ejemplo, la distribucin Erlang (o, k) resulta de la convolucin de k variables
aleatorias distribuidas exponencialmente con valor esperado 1/o. Por lo tanto, para generar una varaible
aleatoria Erlang, basta con generar k variables exponenciales con media 1/o y sumarlas.
[
= = =
o
=
o
= =
k
1 i
i
k
1 i
i
k
1 i
i R
ln
1
R
ln
1
X
X
En forma similar, la distribucin binomial (n, p) resulta de la convolucin (suma) de n variables aleatorias con
distribucin Bernoulli con parmetro p. Por lo tanto, su generacin se puede realizar a partir de la distribucin
de Bernoulli, como se analizar mas adelante.
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 11

3 Generacin de procesos continuos.

En esta seccin se presentar la forma de generar artificialmente las observaciones de las principales
variables aleatorias continuas. Para algunas variables se presentarn varios mtodos, indicando cul de ellos
puede ser ms eficiente. Adems, en algunos casos se presentarn algunos mtodos que, aunque no sean
eficientes desde el punto de vista estadstico o computacional, sirven para ilustrar la aplicacin de uno de los
mtodos generales presentados en la seccin anterior.

3.1 Distribucin Uniforme

Una variable aleatoria X se distribuye uniformemente en el intervalo (a,b) si su funcin de densidad est
dada por :
f(x)

s s
=
casos otros en , 0
b x a ,
a b
1
) x ( f
Su funcin de distribucin F(x) est dada por : F(x) a b x

>
s s

<
= s =
b x , , 1
b x a ,
a b
a x
a x , 0
) x X ( P ) x ( F
a b x
El valor esperado y la varianza de una distribucin uniforme estn dados por:
( )
12
a b
2
) X ( Var ,
2
b a
) X ( E

=
+
=
Aplicacin : Errores de redondeo cuando las mediciones se registran con determinada precisin. Por
ejemplo, cuando se registra una calificacin, generalmente se aproxima a la dcima mas cercana (redondeo
simtrico). Entonces la diferencia entre la nota real y la nota registrada es algn nmero entre -0.05 y +0.05,
y el error se distribuye uniformemente en este intervalo.

Generacin. Para generar una variable aleatoria uniforme, se usa del mtodo de la transformacin inversa
de la siguiente manera: Se genera un nmero aleatorio R = r y se lo iguala a la funcin de distribucin y se
despeja el valor de x:
r ) a b ( a x
a b
a x
) x ( F r + =

= =
As, para generar una variable aleatoria uniforme basta con generar un nmero aleatorio.

Estimacin de los parmetros. Cuando los parmetros de la distribucin no son conocidos, debemos
estimarlos con base en datos histricos. La estimacin puede hacerse por el mtodo de los momentos o el
mtodo de mxima verosimilitud. A travs del mtodo de los momentos, como se tienen dos parmetros se
deben usar los dos primeros momentos, la media y la varianza. Es decir, igualamos la media y la varianza
o
2
de la distribucin con la media y la varianza muestrales, respectivamente.
( )
S
12
a b
X
2
b a

2
2
2
=

=
o
=
+
=
Despejando a y b de las dos expresiones anteriores se obtiene:
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 12
a X 2 b

,
S
3 X a
2
= =
Utilizando el mtodo de mxima verosimilitud, los estimativos de a y b estarn dados por:
X
b

,
X
a
max min
= =
3.2 Distribucin triangular

Una variable aleatoria X tiene una distribucin triangular con los parmetros (a, b y c) si su funcin de
densidad est dada por:
f(x)

s s


s s


=
c x b ,
) a c )( b c (
) x c ( 2
b x a ,
) a c )( a b (
) a x ( 2
) x ( f
a b c
donde los parmetros tienen los siguientes significados:
a = Valor mnimo
b =Valor ms probable, correspondiente a la moda
c = Valor mximo

Se debe cumplir que a < b < c

Se tiene que :
18
) ( ,
3
) (
2 2 2
bc ab ac c b a
X V
c b a
X E
+ + +
=
+ +
=

Generador. Esta variable aleatoria se puede generar usando el mtodo de la transformacin inversa. El
clculo de la funcin de distribucin debe hacerse en dos etapas, debido a que existe un punto de
discontinuidad en b. El procedimiento es el siguiente:

a) a x < b

( )
a c
a b
) x ( F 0 ,
) a c )( a b (
a x
2
) a x (
) a c )( a b (
2
dx ) a x (
) a c )( a b (
2
dx
) a c )( a b (
) a x ( 2
) x ( F ) x X ( P ) x ( F
2
x
a
2
x
a
x
a
1

s s


=
|
|
.
|

\
|


=


=


= = s =
} }

b) b x c
( )
1 ) ( ,
) )( (
1
2
) (
) )( (
2
) )( (
) ( 2
) )( (
) ( 2
) ( ) ( ) (
2 2
2
s s



=
|
|
.
|

\
|

=


+


= = s =
} }
x F
a c
a b
b c a c
x c x c
b c a c a c
a b
dx
b c a c
x c
dx
a c a b
a x
x F x X P x F
x
b
x
b
b
a

En resumen tenemos que:

s s

s s

s s s s


=
1 ) x ( F
a c
a b
; c x b ,
) a c )( b c (
) x c (
1
a c
a b
) x ( F 0 ; b x a ,
) a c )( a b (
) a x (
) x ( F
2
2

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 13
El proceso para generar una observacin de la variable aleatoria es el siguiente:

Se genera un nmero aleatorio R = r.
a) Si <
a c
a b
r

< entonces
) (
1
x F r = es decir
) )( (
) (
2
a c a b
a x
r


= , despejando x tenemos que
r ) a c )( a b ( a x ) a c )( a b ( a x + = =

Se toma la raz positiva ya que x a

b) Si
a c
a b
r

> entonces
) (
2
x F r = es decir,
) a c )( b c (
) x c (
1 r
2


= , y despejando x tenemos que
) r 1 )( a c )( b c ( c x ) r 1 )( a c )( b c ( x c = = ;

Se toma la raz negativa ya que x b

En resumen tenemos que:

>

< +
=
a c
a b
r si ) r 1 )( b c )( a c ( c
a c
a b
r si r ) a c )( a b ( a
x

3.3 Distribucin Exponencial

Una variable aleatoria X sigue una distribucin exponencial con parmetro si su funcin de densidad tiene
la siguiente forma:
f(x)

>
=

casos otros en
x
x f
e
x
0
0
) (



La funcin de distribucin est dada por:

e
x
x F

=1 ) (
0 x
La media y la varianza estn dadas por:
2
2
1
2
) X ( V ,
1
) X ( E u =

=
o
= u =

= =
La variable aleatoria exponencial puede representar:

La duracin de un servicio
El tiempo entre llegadas de clientes a un sistema
El tiempo entre fallas de un componente (la duracin del componente)
El metraje entre los defectos sucesivos que se encuentran en un rollo de tela
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 14

El parmetro o representa una tasa (eventos por unidad de tiempo). Para los ejemplos mencionados en el
prrafo anterior su significado sera:
.
Tasa de servicio (clientes/hora)
Tasa de llegada (clientes/hora)
Tasa de fallas (fallas/hora)
Tasa de defectos (defectos/metro)

El parmetro o representa el inverso del tiempo medio.

Observacin: A veces la distribucin exponencial se expresa se da en trminos del tiempo medio u = 1/o
como:

>
u
=
u
casos otros en 0
0 x
1
) x ( f
e
/ x


Aplicacin: Considere un evento cualquiera, un accidente, por ejemplo. Si la probabilidad de que ocurra un
evento en un intervalo muy corto de tiempo es pequea, y si la ocurrencia de este evento es estadsticamente
independiente de la ocurrencia de otros eventos, entonces el intervalo de tiempo entre la ocurrencia de
eventos de este tipo se distribuye exponencialmente.

Estimacin del parmetro: El parmetro puede estimarse como X

X / 1

= u = .

Generacin. La generacin de una variable exponencial puede hacerse por varios mtodos, de los cuales el
rns eficiente es el de la transformacin inversa.
) r 1 ( Ln ) r 1 ( Ln
1
x x ) r 1 ( Ln r 1 1 ) x ( F r
e e
x x
u =

= = = = =


Dado que la distribucin uniforme es simtrica, entonces R y 1 R tienen la misma distribucin, por lo cual
los valores generados de r y 1 r pueden intercambiarse en el proceso de generacin de variables aleatorias.
De lo anterior se concluye que X tambin puede generarse como:
r Ln r Ln
1
x u =

=
Si una variable aleatoria sigue una distribucin exponencial, entonces su media y su desvi acin son iguales.
Es decir, el coeficiente de variacin es 1.

El coeficiente de variacin (de datos no negativos) se define como la razn entre la desviacin estndar y el
valor medio.

El coeficiente de variacin da una medida del grado en que los datos estn dispersos alrededor de la media.
Un coeficiente de cero significa que no hay variacin, esto es, que los datos son constantes. Para el caso de
una distribucin exponencial, como se indic antes, el coeficiente de variacin es uno. Si el coeficiente de
variacin de los datos medidos est cercano a la unidad, es razonable suponer que los datos se ajustan a
una distribucin exponencial. Cuando el coeficiente de variacin es significativamente menor o mayor que la
unidad, se usan la distribucin especial de Erlang y la distribucin hiperexponencial respectivamente.

La distribucin exponencial se basa en la suposicin de que el parmetro es constante, esto es, se asume
que todos los eventos han sido generados por un mismo proceso aleatorio. Esta condici n no se cumple a
veces en ciertos procesos reales, cuando se trabaja con eventos que son producidos por procesos aleatorios
diferentes pero mezclados. Es posible que una muestra sea tomada de dos o mas distribuciones
exponenciales, teniendo cada una un valor diferente del parmetro i. Muchos problemas de fenmenos de
espera caen en esta categora. Por ejemplo, las llegadas pueden ocurrir a tasas i con probabilidades pi,
donde i = pi. es el parmetro de la poblacin i, i = 1,2, ..s, tal pi = 1. Tal mezcla de variables
exponenciales sigue a su vez una distribucin hiperexponencial particular (s = 2) hiperexponencial
generalizada (S > 2).

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 15
3.4 Distribucin Weibull

La distribucin exponencial se aplica bastante para describir la duracin de un equipo. En este caso, el
parmetro recibe el nombre de "tasa de fallas" y el inverso 1/ recibe el nombre de "tiempo medio entre
fallas". La distribucin exponencial se emplea cuando la "funcin de tasa de fallas" "funcin de riesgo" es
constante.

Para una distribucin continua F, definimos h (t), la funcin de tasa de fallas como

) ( 1
) (
) (
t F
t f
t h

=
donde f(t) es la funcin de densidad y es igual a f(t) = dF(t)/dt. Si F es la distribucin de la vida de un artculo,
entonces h(t) representa la densidad de probabilidad de que un equipo con una vida t falle. Esto es, h(t)dt es
la probabilidad condicional de que un artculo fallar entre los tiempos t y t + dt dado que ha funcionado hasta
el tiempo t. Decimos que F es una distribucin con tasa creciente de falla (TCF) si h(t) es una funcin
creciente de t. Similarmente, decimos ese F es una distribucin con tasa decreciente de falla (TDF) si h (t) es
una funcin decreciente de t.

La distribucin exponencial se usa cuando la funcin de riesgo es constante, esto es h(t) =

Cuando la tasa de fallas no es constante, debe usarse una distribucin diferente de la exponencial. Las
distribuciones ms frecuentemente usadas son la distribucin Weibull y la gama..

La distribucin de Weibull se usa con frecuencia para representar la vida de los componentes, pues posee
una serie de ventajas sobre las dems. Fue usada por Weibull (1951) para describir las variaciones en la
resistencia a la fatiga del acero y posteriormente se ha usado para representar la vida y el servicio de tubos y
otros equipos electrnicos. La distribucin de Weibull posee, en su forma general, tres parmetros lo que le
da una gran flexibilidad. Ellos son:

a) Parmetro de posicin representa el tiempo antes del cual se supone que no ocurre ninguna fall a. En
la mayora de los casos se supone = 0.

b) Parmetro de escala o caracterstica de vida u

c) Parmetro de forma |

Seleccionando adecuadamente los valores de los parmetros es posible obtener mejores ajustes que los
obtenidos con otras distribuciones.

Se observa que si el parmetro de forma toma el valor | = 1, se obtiene la distribucin exponencial con dos
parmetros. Si adems = 0 se obtiene la distribucin exponencial de un parmetro ( = 1/u).

Sus principales caractersticas son las siguientes:

a) Funcin de densidad de probabilidad f(t):

<
=
>

|
.
|

\
|
|
.
|

\
|

u
|

|
u

|
u

t
f f
e
t
t
t
, 0
) (
,
1

b) Funcin de distribucin F(t), que representa la probabilidad de que el producto o componente falle antes
del tiempo t

<

= = s =
>
|
.
|

\
|
}

|
t
dt t f t T P t F e
t
t
t
, 0
1
) ( ) ( ) (
,
0

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 16
c) Tasa o intensidad de falla h(t) (tasa instantnea de falla)
|
.
|

\
|

=
u

|
u
|
t
t h
1
) (
Si | = 1 se tiene una intensidad de fallas constante {h(t) = 1/u= }, tpica de la distribucin exponencial. Ade-
ms si | ~ 3,75 se obtiene una buena aproximacin a una distribucin normal

Una eleccin adecuada del parmetro de forma | permite usar la distribucin de Weibull para casos de in-
tensidad de fallas decreciente (rodaje o fallas infantiles | < 1), para casos de intensidad de fallas constantes
(perodo de operacin normal | = 1) o para casos de intensidad de fallas creciente (perodo de desgaste con
| > 1).
d) Tiempo medio entre fallas MTBF (TMEF) o Esperanza de vida, est dado por
MTBF = T0 =
|
|
.
|

\
|
+ I + 1
1 1
| u

e) Varianza de Vida, o
2

V(T) = E[X
2
] - [E(X)]
2
= )] 1
1
( ) 1
2
( [
2
2
1
+ + I
I |
.
|

\
|
| |
u

Si | > 1 la distribucin toma la forma de campana; de lo contrario toma la forma de J como la exponencial.

Esta distribucin, como se indic antes, ha encontrado amplio uso al tratar problemas relacionados con
pruebas de duracin y datos de confiabilidad.

Generacin. Para generar una variable aleatoria que siga una distribucin Weibull puede hacerse uso de la
transformacin inversa, ya que F(x) tiene una forma cerrada.
| | ) 1 (
/ 1
) 1 ( 1 ) ( r Ln
t
e
t r Ln t F r
t
|
.
|

\
|
+ = = = =
|
.
|

\
|

|
|
u
u

|

Al igual que para el caso de la distribucin exponencial, podemos reemplazar r por 1 r, con lo cual la
variable Weibull se genera como:
| | )
/ 1
Lnr
t

+ =
|
u
3.5 Distribuciones Gama y Erlang

Una variable aleatoria X tiene una distribucin gama si su funcin de densidad est dada por:
( )
0 t
) k (
t
e
) t ( f
1 k
t
>
I

=



donde ) k ( I representa la funcin gama de k, que est definida como:
dx
e x
) k (
x
0
1 k


}
= I
Tambin se cumple que ) 1 k ( ) 1 k ( ) k ( I = I .
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 17
Si el valor de k es entero, se puede demostrar que )! 1 k ( ) k ( = I y en este caso la distribucin toma el
nombre de distribucin de Erlang.

El parmetro o recibe el nombre de parmetro de escala, y el parmetro k el nombre de parmetro de
forma. A veces, en vez del parmetro o se usa el parmetro u, definido como u = 1/o.

El valor esperado y la varianza de la distribucin gama estn dados por:

2
2
2
k
k
) T ( V , k
k
) T ( E u =

=
o
= u =

= =
La funcin de distribucin F(t), dada por
}
t
dx x f
0
) ( no puede ser evaluada en forma explcita como una
funcin de t, por lo cual no puede ser manipulada algebraicamente.

Cuando k es grande la distribucin gama tiende a la distribucin normal. Si K = 1 la distribucin gama es
igual a la distribucin exponencial.

Si los parmetros y k no son conocidos, pueden estimarse mediante el mtodo de los momentos como:
n
X n
V donde ,
V
X
k

,
V
X

2
n
1 i
2
i
2
2
2
2
x

= = =

=


3.5.1 Distribucin de Erlang

Si un proceso consta de k eventos sucesivos e independientes y si el tiempo total transcurrido en el proceso
puede mirarse como la suma de k variables exponenciales independientes, cada una con parmetro , la
distribucin de esta suma seguir una distribucin Erlang con parmetros y k. Matemticamente, la
distribucin de Erlang es la convolucin (suma) de k distribuciones exponenciales. Es decir, si T1, T2,Tk son
variables aleatorias distribuidas exponencialmente con parmetro , entonces
T = T1 + T2 + + Tk
tiene una distribucin Erlang con parmetros y k, cuya funcin de densidad tiene la siguiente forma:
( )
0
)! 1 (
) (
1
>

t
k
t f
t
e
k
t


Como la funcin de distribucin no tiene forma explcita, no puede emplearse el mtodo de la transformacin
inversa. Las variables con distribucin Erlang pueden generarse reproduciendo el proceso en que se basa
esta distribucin, es decir, mediante la suma de k variables exponenciales. Entonces para generar una
variable Erlang se puede reproducir el proceso que da origen a la distribucin, mediante la generacin de k
variables exponenciales T1, T2,Tk cada una con media y luego realizando la respectiva suma. Por
consiguiente la variable Erlang T puede expresarse como:
T = T1 + T2 + + Tk , donde
r T
i i
Ln

1
=
Generacin: Para generar una variable Erlang basta con generar k variables aleatorias exponenciales con
tasa y sumarlas. Es decir:
( ) ) B ( Ln
1
Ln ... Ln Ln
1
T
) A ( Ln
1
... Ln
1
Ln
1
... T
n
1 i
i k 2 1
k 2 1 k 2 1
r r r r
r r r T T T
[
=

= + +

= + + + =

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 18
Por lo tanto para generar una variable Erlang, se generan k nmeros aleatorios, se multiplican, al producto se
le toma el logaritmo natural y se divide por la tasa . El negativo de este resultado ser la variable Erlang de
inters. Esta ltima forma (B) de generacin es mucho mas eficiente que sumar directamente las k vari ables
aleatorias exponenciales (A) ya que el clculo del logaritmo requiere ms tiempo que el efectuar un producto.

3.5.2 Distribucin gama

El problema de generar variables aleatorias con distribucin gama, cuando k no es entero, es un problema no
resuelto an completamente en forma analtica, ya que no hay un modelo estocstico para este caso. Se
puede resolver numricamente. Sin embargo, para resolverlo analticamente se puede usar el siguiente
enfoque aproximado.

Si k es un nmero racional puede expresarse como la suma de un entero y una fraccin, tal como k = k1 + p,
donde k1 < k < k1+1 y 0 < p < 1. Adems, si k2 = k1 + 1, entonces k2 k1 = 1 - p. Entonces una mezcla de
variables gama escogiendo k2 con probabilidad p y k1 con probabilidad 1 - p se aproximar a una distribucin
gama con parmetro k.

Esta aproximacin da mejores resultados con valores altos de k. Este enfoque funciona ya que se requiere
que el valor medio escogido sea igual al valor que tiene la distribucin, y que expresamos como k = k1 + p. Si
escogemos k1 con probabilidad 1 - p y k2 = k1 + 1 con probabilidad p, el valor medio generado de k seria:
K esperado = k1 (1 p) + k2 p) = k1 - k1 p + (k1 + 1) p = K1 + p
Es decir, si se escoge k1 con probabilidad 1 - p y k2 con probabilidad p el valor medio usado para k sera k1
+ p, que es el valor real.

3.5.3 Distribucin gama. Otra alternativa

El siguiente procedimiento, propuesto por Cheng (1977) sirve para generar variables gamma con
media u y parmetro de forma k, esto es, con media 1/u y varianza 1/ku
2
. El procedimiento es el
siguiente:

1) Calcule a = (2k-1)
0.5
, b =2k - ln4+1/a.
2) Genere dos nmeros aleatorios R
1
y R
2
.
3) Calcule X = k [R
1
/(1 R
1
)]
a
.
4) Si X > b ln (R
2
1
R
2
), rechace X y regrese al paso 2).
5) Si X s b ln (R
2
1
R
2
), use X como el valor de la variable deseada.
6) Reemplace X por X/ ku

3.6 Distribucin normal

Una variable aleatoria X tiene una distribucin normal, denotada por N(, o
2
) si su funcin de densidad est
dada por:
( )
+ < =

x x f
e
x
,
2
1
) (
2
2
2 /
o

t o

La funcin de distribucin
}

=
x
dt t f x F ) ( ) ( no tiene una forma analtica explcita.

La media y la varianza de la distribucin estn dadas por:
E(X)=. V(X) = o
2

Si los parmetros de la distribucin normal toman los valores de = 0 y o
2
= 1, la distribucin es conocida
como "la distribucin normal estndar o tpica" N(0, 1) con funcin de densidad dada por:
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 19
+ < < =

x z f
e
z
,
2
1
) (
2 /
2
t

De nuevo, la funcin de distribucin F(z) no se puede calcular analticamente, pero debido a su extenso uso,
la funcin ha sido calculada numricamente y se encuentra tabulada para valores que varan, por lo general
entre 4 y +4.

Cualquier distribucin normal N(, o
2
) puede convertirse a la forma estndar N(0,1) mediante la siguiente
transformacin:

o

=
X
Z
Si se conoce la variable aleatoria Z puede calculares X como X = + Zo. Por lo tanto, puede trabajarse tanto
con la variable X que es N(, o
2
) como con la variable Z que es N(0,1).

La distribucin normal deriva gran parte de su utilidad del teorema central del lmite. Este teorema establece
que "Si se toma una muestra aleatoria X1, X2,, Xn de n variables aleatorias, independientes e idnticamente
distribuidas con media y varianza o
2
, entonces la distribucin de la media X tiende a distribuirse
normalmente con valor esperado igual a y varianza igual a o
2
/n, cuando n es grande. Es decir, si X1, X2,,
Xn es una muestra aleatoria con E (X) = y V(X) = o
2
, entonces

=
=
n
i
i
X
n
X
1
1

tiende a seguir una distribucin normal, cuando n es grande, con E( X ) = = y V( X ) = o
2
/n. O tambin, la
variable Z definida como:
n /
X
Z
o

=
tiende a seguir una distribucin normal con media cero y varianza unitaria.

Observacin: A veces el teorema central del lmite se expresa en trminos de la suma de las variables
aleatorias, y no en trminos del promedio, de la siguiente manera: Si X1, X2,, Xn es una muestra aleatoria
con E (X) = y V(X) = o
2
, entonces la suma S = X1 + X2 ++ Xn tiende a distribuirse normalmente con valor
esperado igual a n y varianza igual a no
2
, cuando n es grande,
( )
n
n S
o

se aproxima a una distribucin
normal con media cero y varianza unitaria.

La distribucin normal tambin es importante como una aproximacin a varias distribuciones, entre ellas la
binomial y la Poisson.

La distribucin normal puede generarse por distintos mtodos, unos ms eficientes que otros, dependiendo
del uso que se le vaya a dar. Para el proceso de generacin, se generar la variable Z que es N(0,1) y luego
se calcular la variable X mediante la transformacin X = + Zo.

3.6.1 Mtodo modificado de la transformacin inversa, para simulacin manual

Como la funcin de distribucin F(z) no existe en forma explcita, no es posible emplear la transformacin
Inversa como tal. Sin embargo, para simulaciones manuales o mediante hojas de clculo, es posible emplear
un procedimiento similar al de la transformacin inversa, pero en forma numrica. Sea Z una variable normal
con media cero y desviacin estndar unitaria. La funcin de distribucin de Z, F(z) est tabulada, para varios
valores de z y podemos generar la variable Z usando el mtodo de la transformacin inversa, haciendo uso
de esta tablas. Entonces, para generar una variable aleatoria normal Z se genera un nmero aleatorio r, se lo
iguala a la funcin de distribucin F(z), y se busca en la tabla el valor de Z que tenga una probabilidad
acumulada de r. Sea Zr este valor.
r = F(z) Zr = F
-1
(r)
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 20
donde Zr es el valor de la normal (0, 1) que tiene un rea o probabilidad de r hacia la izquierda. La figura
siguiente ilustra el procedimiento.

Como la variable de inters es X, entonces se generar como X = + Zo = + Zro
Por ejemplo: Si r = 0.10 Z = -1.28
Si r = 0.50 Z = 0.00
Si r = 0.8577 Z = 1.07
Si r = 0.4191 Z = -1.04

3.6.2 Mtodo del teorema central del lmite

Sean R1, R2,, RN un conjunto de n variables aleatorias independientes e idnticamente distribuidas, cada
una con distribucin uniforme en el intervalo (0,1), con E(R) = 1/2 y V(R) = 1/12. Sea

=
=
N
1 i
i
R
N
1
R ,
entonces, en virtud del teorema central del lmite R tiende a distribuirse normalmente con
N 12 / 1 ) R ( V , 2 / 1 ) R ( E = = .
O tambin, la siguiente variable
N
N
N
N
N
N
R E R
N
i
i
N
i
i
N
i
i
R
R
R
R R
Z
12
2 /
12
2 /
12
1
2 / 1
1
) (
1
1 1
|
|
.
|

\
|
=

=


=
= =
o

tiende a seguir una distribucin normal con media cero y varianza unitaria cuando el valor de N es grande.

Para saber que tan grande debe ser el valor de N, debera lograrse un compromiso o balance entre la
eficiencia computacional y la exactitud o eficiencia estadstica. Desde el punto de vista estadstico, N debera
ser muy grande. Las pruebas estadsticas realizadas indican que el valor mnimo aceptable de N para que la
aproximacin tienda a una distribucin normal es 10, o sea que cualquier valor igual o superior a 10 es
aceptable estadsticamente. Desde el punto de vista computacional, considerando el tiempo empleado en la
generacin de los N nmeros aleatorios necesarios para cada valor de Z, debera usarse un valor pequeo
de N. Analizando las operaciones involucradas en el valor de Z, se ha llegado a la conclusin de que un valor
recomendable para N es 12, ya que simplifica por completo el clculo de la variable normal estndar. Por lo
tanto, la siguiente variable, sigue una distribucin normal tpica (0,1)
|
.
|

\
|
= =

=
6 R
12
1 i
i
R Z

Es decir, para generar una variable normal estndar, basta con generar doce nmeros aleatorios, sumarlos y
restarles seis.

Como la variable que por lo general interesa es la variable X que es N(, o
2
), entonces se la genera como:
|
|
.
|

\
|
+ = + =

=
6
12
1 i
i R
R Z
X o o
3.6.3 Enfoque Directo

Este mtodo produce resultados exactos y tiene una eficiencia computacional similar a la del
mtodo basado en el teorema central del lmite.

Sean Z
1
y Z
2
dos variables normales (0, 1) e independientes. Su representacin en un plano
cartesiano es la siguiente:
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 21






u


donde el ngulo u est formado por la hipotenusa B y la abcisa Z
1
. Matemticamente se tienen las
siguientes relaciones:
2
2
2
1
2
Z Z B + =
Z
1
= B cos u
Z
2
= B seno u

Como Z
1
y Z
2
son dos variables normales (0,1), se tiene que sus cuadrados siguen una distribucin
chi cuadrado con un grado de libertad, y su suma tiene otra distribucin chi cuadrado pero con dos
grados de libertad. Es decir:

2
) 2 (
2
2
) 1 (
2
i
X ~ B
X ~ Z

Por lo tanto, la funcin de densidad para B
2
(= x) est dada por (v = 2):
0 x
2
1
) 1 (
1
) 2 / (
1
) x ( f
e e x
2
e x
2
2 / x 2 / x 1 1 2 / x 1 2 /
2 /
> =
I
=
v I
=
v
v

Es decir, B
2
tiene una distribucin exponencial con parmetro o = 1/2, y por lo tanto se puede
generar a travs de un nmero aleatorio r
1
como

1
r ln 2 B =
El ngulo u formado por la hipotenusa B y la abcisa Z
1
vara uniformemente entre 0 y 2t y su
funcin de densidad est dada por:
t s u s
u
= u 2 0 ,
2
1
) ( f
Como ) 2 , 0 ( ~ t u U puede generarse mediante otro nmero aleatorio
2
r como

2
2 r t u =
Dado que u sen B Z =
2
y u cos
1
B Z = , entonces pueden finalmente expresarse como:
) r 2 ( seno r ln 2 Z
) r 2 cos( r ln 2 Z
2 1 2
2 1 1
t =
t =

Las variables Z
1
y Z
2
son dos variables aleatorias normalmente distribuidas con media cero y
varianza unitaria, y adems, son independientes y por lo tanto pueden usarse para generar dos
variables aleatorias normales independientes. La variable X puede generarse usando Z
1
Z
2
, como
se muestra a continuacin.
1
Z 1
Z
2
Z
B

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 22
X = + Z
1
o X = + Z
2
o
3.6.4 Mtodo del Rechazo

Dado que una variable distribuida normalmente no tiene un rango finito de variacin, en teora no puede
usarse el mtodo del rechazo para generarla. Sin embargo se pueden establecerse unos limites
razonablemente confiables entre los cuales se espera que caiga esta variable. Se sabe que el 99.73% de los
valores de una distribucin normal estn en el intervalo definido por la media mas o menos tres desviaciones.
Es decir, para la variable Z normal (0,1), se tiene que P(-3 < Z < +3) = 0.9973.

Entonces se puede emplear el mtodo del rechazo paro generar una variable Z, normal (0,1), limitando o
truncando sus valores en 3 . (Si se quiere una mayor exactitud se puede ampliar el rango a 3.5 4.0,
reduciendo por consiguiente la eficiencia computacional, al aumentar la regin de rechazo). En el ejemplo 4.7
se present el procedimiento seguido para la generacin de la distribucin normal mediante este mtodo.

Este mtodo es menos exacto y ms lento que los anteriores.

3.6.5 Mtodo de Marsaglia Bray

El mtodo de Marsaglia Bray para generar variables normales (o, 1) usa el siguiente procedimiento:

a) Se genera una pareja de nmeros aleatorios R1 y R2
b) Se calculan las siguientes expresiones
V1 = 2 R1 1
V2 = 2 R2 1
V V
S
2
2
2
1
+ =
c) Si S > 1 se repite el paso a)
d) Si S s 1 se calculan las siguientes expresiones para Z1 y Z2, que se distribuyen normalmente con media
cero y varianza unitaria:
S
S Ln
y
S
S Ln
V Z V Z
2
,
2
2 2 1 1

=

=
Es de anotar que Z1 y Z2 adems de ser normales, son independientes, es decir, que ambas variables
pueden emplearse para generar dos procesos normales diferentes, o dos variables diferentes del mismo
proceso. Este mtodo es estadsticamente tan bueno como el del enfoque directo.

3.7 Distribucin Logartmica normal

Si el logaritmo de una variable aleatoria tiene una distribucin normal, dicha variable aleatoria tiene una
distribucin continua sesgada a la derecha, conocida como la distribucin logartmica normal - lognormal. La
distribucin lognormal se utiliza en una amplia variedad de aplicaciones. Se puede usar para describir
procesos aleatorios que representan el producto de varios eventos pequeos e independientes; esta
propiedad de la distribucin recibe el nombre de "la ley de los efectos proporcionales" y proporciona la base
en la cual nos podemos apoyar para suponer que la distribucin lognormal describe una variable aleatoria
particular. Esta variable solo toma valores positivos. En hidrologa, se la usa frecuentemente para describir la
distribucin de los caudales de un ro en un sitio dado, el cual puede ser la suma de otros caudales ms
pequeos de los afluentes a dicho ro aguas arriba del punto de medicin.

La variable aleatoria continua X tiene una distribucin logartmica normal si la variable aleatoria Y = ln(X)
tiene una distribucin normal con media y desviacin estndar o . La funcin de densidad de X que resulta
est dada por:
( )
< <
o

t o
=

x 0 ,
u x ln
2 x
1
) x ( f
e
2
2
2 /

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 23
con parmetros - < < +, 0 < o < +.

Los parmetros y o corresponden respectivamente a la media y la desviacin estndar del logaritmo de X,
es decir:
= = o = ) X Ln ( V ), X Ln ( E
2

La media y la varianza de X estn dadas por:
) 1 ( ) 1 ( ) X ( V
) X ( E
e
)] X ( E [
e e
e
2 2 2
2
2
2 2
L
2 /
L

o
=
o o
= = o
o
= =
+
+

El proceso de clculo de probabilidades acumuladas es relativamente simple debido a su relacin con la
distribucin normal, ya que si X es lognormal, entonces ln(X) es normal, y por lo tanto la variable Z definida
como se muestra a continuacin se distribuye normal con media cero y varianza unitaria.
o

=
) ln(X
Z
Por lo tanto, para generar una variable con distribucin logartmica normal, basta con generar una variable
normal (0,1), con cualquiera de los mtodos analizados previamente, y a partir de esta variable generar la
variable de inters.
e
Z
X Z ) X ln( Y
o +
= o + = =
Si los parmetros que se conocen corresponden a la media y la varianza de la variable original lognormal X,
entonces es necesario calcular la media y la varianza del logaritmo. Usando las expresiones dadas
anteriormente para E(X) y V(X) se obtiene:
|
|
.
|

\
|

o +
= o
|
|
|
.
|

\
|
o +

=
2
L
2
L
2
L 2
2
L
2
L
2
L
Ln , Ln
:
4 Generacin de procesos discretos

Si una variable aleatoria es discreta, el mtodo de la transformacin inversa nos dice que para un nmero
aleatorio r, el valor de X ser aquel que cumpla la siguiente desigualdad:
F(x u) s r < F(x)
cuando la variable aleatoria varia en intervalos de u unidades.

Sin embargo, en muchos casos es muy difcil encontrar una expresin cerrada para la funcin de distribucin
F(x). En estos casos, se debe acudir a otros mtodos, principalmente al de buscar una relacin entre la
variable aleatoria de inters y otra variable aleatoria que pueda generarse en forma directa (mtodo de
convolucin). Por ejemplo la variable aleatoria binomial puede generarse basndonos en el hecho de que
esta variable aleatoria se puede representar como la suma de variables aleatorias con distribucin de
Bernoulli.

Otro ejemplo: Una variable que siga una distribucin de Poisson puede generarse mediante la relacin que
esta variable tiene con la distribucin exponencial.

4.1 Distribucin de Bernoulli

Una variable aleatoria que tome los valores cero y uno sigue distribucin de Bernoulli si su funcin de
probabilidad est dada por:
P(x) = p
x
(1 p)
1 x
, x = 0, 1
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 24
o simplemente:
P(X = 1) = p
P(X = 0) = q = 1 p F(x)

La media y la varianza estn dadas por:
E (X) = = p 1
V(X) = o
2
= p q, q = 1 - p
1 - p
La funcin de distribucin F(x) est dada por:

F(x) = 1 p para x = 0
F(x) = 1 para x = 1 0 1 x
Figura 4. Funcin de distribucin Bernoulli

Generacin. Aplicado el mtodo de transformacin inversa, se genera un nmero aleatorio r, el generador
del proceso est dado por:

x = 0 si r < 1 p (1)
x = 1 si r > 1 p (2) 0 {X = 0} 1 p {X = 1} 1

Como habamos visto en el captulo 1, el generador de una variable Bernoulli tambin puede expresarse
como (mtodo del rechazo):

Si r < p x = 1 (2)
Si r > p x = 0 0 {X = 1} p {X = 0} 1

En ambos caso a X = 1 se le est dando el 100p% de los nmeros aleatorios generados, los ltimos 100p%
en el primer mtodo, y los primeros 100p% en el segundo caso. As, por ejemplo, si p = 0.20, en el primer
caso el valor X = 1 es generado por todo nmero aleatorio mayor o igual a 0.8, y en el ltimo caso X = 1 es
generado por todo nmero aleatorio menor que 0.20. Para un valor especfico del nmero aleatorio r el
resultado particular cambia, pero para una secuencia larga los resultados son los mismos, ya que como se
analiz en captulos anteriores, el nmero aleatorio se distribuye uniformemente en el intervalo (0,1). Para
generar la variable aleatoria Bernoulli, usaremos el segundo procedimiento.

La variable aleatoria X puede representar por ejemplo, el resultado de examinar un artculo: Si X = 1 el
artculo es defectuoso, y si X = 0 el artculo es aceptable. Otro ejemplo es el relacionado con el resultado
obtenido al lanzar una moneda: X = 1 si cae cara, y X = 0 si el resultado es sello.
Si p = 0.21, entonces X = 1 si r < 0.21, y X = 0 si r > 0.2l
El generador, como se indic anteriormente, tambin podra ser:
X = 0 si r < 0.79 y X = 1 si r > 0.79.
porque en esta forma a X = 1 se le da la misma probabilidad de ocurrencia (21 de un total de 100, a saber:
0.79, 0.80,,0.99)

4.2 Distribucin binomial

La variable aleatoria X que representa el nmero de eventos exitosos en una secuencia de n ensayos
independientes de Bernoulli, sigue una distribucin binomial. Matemticamente la distribucin binomial es la
convolucin de n distribuciones de Bernoulli.

Si p es la probabilidad de que un evento sea exitoso, la funcin de probabilidad de la distribucin binomial
est dada por:
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 25
( )
n ..., , 1 , 0 x ,
x
n
) x ( P
p 1 p
x n x
=
|
|
.
|

\
|
=



La funcin de distribucin, dada por la expresin siguiente no tiene una forma explcita.
) p 1 ( p
j n j
x
0 j
x
0 j
j
n
) j ( p ) x ( F


= =
|
|
.
|

\
|
= =
Para valores dados de n y p, la funcin de distribucin podra calcularse numricamente, y luego generarse
usando el mtodo de la transformacin inversa para el caso discreto.

El valor esperado y la varianza de la variable binomial estn dados por:
E (X) = = n p
V(X) = o
2
= n p q, q = 1 - p
Para generar una variable binomial hay diferentes enfoques, dependiendo de los valores de n y p.

4.2.1 Sucesin de eventos de Bernoulli.

Si X1, X2,,Xn es una secuencia de n variables aleatorias independientes que siguen una distribucin de
Bernoulli con parmetro p, entonces X definida como:

=
=
n
i
i
X
X
1

sigue una distribucin binomial con parmetros n y p. Es decir, la distribucin binomial surge de la suma
(convolucin) de n variables con distribucin Bernoulli. La anterior relacin da la base para definir un
generador del proceso binomial. Esto es, para generar una variable aleatoria binomial con parmetro n y p,
slo necesitamos generar n variables de Bernoulli con parmetro p y luego sumarlas.

El procedimiento ser entonces

a) Se inicializa X = 0
b) Se genera un nmero aleatorio ri, para i = 1, 2,..., n.
c) Si ri < p, entonces Xi = 1, en caso contrario Xi = 0
d) Se aumenta X en el nuevo valor de Xi, es decir, X = X + Xi.
e) Se repite el paso b) para cada valor de i.

El valor de la variable aleatoria ser el ltimo valor resultante del proceso anterior. El proceso dado
anteriormente se resume en el siguiente seudo cdigo, que representa una funcin en lenguaje de
programacin de computadores::

Funcin generar_binomial (n, u)
X = 0
Para i = 1 hasta n
R = RNDi
Si R < p entonces
X = X + 1
fin si
Fin para
generar_binomial = X
Fin funcin

donde se supone que RND es una funcin que genera un nmero aleatorio entre 0 y 1.

4.2.2 Aproximacin mediante la distribucin normal

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 26
La distribucin normal es una buena aproximacin a la distribucin binomial para valores grandes de n y de p.
Dado que es posible obtener valores negativos en la distribucin normal, entonces el valor mnimo de n para
usar esta aproximacin est dado por la siguiente desigualdad:
0 3 > o 0 ) 1 ( 3 > p p n np p p n / ) 1 ( 9 >
dado que se considera que aproximadamente cualquier valor de la distribucin est comprendido entre la
media mas o menos tres desviaciones, o mas exactamente en el rango 3 o est comprendido el 99.73%
de la poblacin (para efectos prcticos, en muchas aplicaciones se considera que este rango corresponde al
100% de la poblacin).

Para que la aproximacin de la distribucin normal a la binomial sea buena se requiere que el tamao de
muestra sea grande (n > 50) y que el parmetro p est alrededor de 0.5 (0.4 s p s 0.6), tambin que n sea
lo suficientemente grande, sin importar el valor de p (n > 100).

La variable binomial se puede aproximar entonces a una normal con = np y o
2
= np(1-p), es decir,
) 1 ( p p n
np X
Z

=
se distribuye normalmente con media cero y varianza unitaria. Por lo tanto, la variable X se generara como:
) p 1 ( p n Z p n X + =
donde Z corresponde a la variable normal (0,1), que se generara mediante uno de los mtodos analizados
previamente para generar variables normales.

Debe tenerse en cuenta que la distribucin binomial es discreta, mientras que la distribucin normal es
continua, por lo tanto, el valor resultante para X debe ser entero. Por lo tanto, para generar la variable
binomial mediante la aproximacin normal, se recomienda usar el factor de correccin de continuidad de
para aproximar distribuciones discretas mediante distribuciones continuas (usando redondeo simtrico). De
acuerdo con lo anterior, el valor de la variable binomial X estar dado por:
] 2 / 1 ) 1 ( [ + + = p p n Z p n X
donde [Y] quiere decir que se toma la parte entera de Y.

4.2.3 Aproximacin a travs de la distribucin de Poisson

Si p es pequeo (p s 0.1) y n es grande (n > 50), la distribucin binomial puede aproximarse por la
distribucin de Poisson con parmetro = np. Es decir, X puede generarse en igual forma que la distribucin
de Poisson, segn los mtodos que se explicarn posteriormente. Sin embargo este mtodo no es muy
eficiente.

4.3 Distribucin Geomtrica

Una variable aleatoria X tiene una distribucin geomtrica si su funcin de probabilidad est dada por:
P(x) = p (1 p)
x-1
, x= 1,.2,,
donde p representa la probabilidad de que un evento o ensayo de Bernoulli sea exitoso. La variable aleatoria
X puede interpretarse como el nmero de eventos que es necesario realizar antes de obtener el primer xito.
Algunas aplicaciones de esta distribucin pueden ser:

- X puede representar el nmero de lanzamientos requeridos de una moneda antes de obtener la primera
cara; en este caso p representa la probabilidad de que la moneda caiga en cara.
- X puede representar el nmero de artculos que es necesario inspeccionar antes de obtener el primero
que sea defectuoso; en este caso p representa la probabilidad de que un artculo sea defectuoso.
- X puede representar el tiempo requerido para terminar una reparacin, medido en unidades discretas; en
este caso p representa la probabilidad de que la reparacin se termine en una unidad de tiempo.
- X puede representar el nmero de veces que un jugador debe comprar una lotera antes de ganarse la
primera; en este caso p representa la probabilidad de que el jugador se gane una lotera.
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 27

La distribucin geomtrica tiene, en el caso discreto, la misma propiedad que tiene la distribucin exponencial
en el caso continuo: La propiedad de prdida de memora. Para ilustrarla considere la ltima aplicacin
mencionada de la distribucin: nmero de veces que un jugador debe comprar una lotera antes de ganarse
la primera. Cree Usted que el hecho de haber jugado muchas loteras cambia la probabilidad de ganarse la
prxima?

La funcin de distribucin est dada por:
q
q
q p
x
x
x
i
i
x
j
j
q
p p p x X P x F =

= = = s =


= =

1
1
1
) ( ) (
1
0 1
1
) 1 (

La media y la varianza de la distribucin geomtrica estn dadas por:
E (X) = = 1 / p, V(X) = o
2
= q / p
2
, q = 1 - p
La variable aleatoria geomtrica puede generarse por diversos mtodos.

4.3.1 Mtodo de la transformacin inversa

Como se demostr antes, el valor de la variable aleatoria X ser el entero que satisfaga la desi gualdad
x 1 x
q 1 r q 1 ) x ( F r ) 1 x ( F < s < s


y como se demostr en el ejemplo 4.6 el valor de X es el entero que cumple la siguiente desigualdad:
1
) 1 ( ) 1 (
+

s <

q Ln
r Ln
x
q Ln
r Ln
x es la parte entera de 1
) 1 (
+

q Ln
r Ln

Ver ejemplo 4.6

4.3.2 Mtodo del rechazo

Como la variable aleatoria X puede interpretarse como el nmero de eventos que es necesario realizar antes
de obtener el primer xito, entonces una variacin de la tcnica del rechazo puede emplearse para generar la
variable geomtrica, simplemente mediante la reproduccin de ensayos de Bernoulli. Para ello se generan
nmeros aleatorios hasta encontrar el primero que sea menor que p; la variable aleatoria X corresponde al
total de nmeros aleatorios generados, que es equivalente al nmero de ensayos de Bernoulli real izados. El
procedimiento se puede resumir en los siguientes pasos:

a) Se inicializa la variable aleatoria en el valor de 1: x = 1(mnimo hay que hacer un ensayo)
b) Se genera un nmero aleatorio r.
c) Si r > p, se hace x = x + 1 y se genera un nuevo nmero aleatorio (se repite b).
d) Si r > p, se para el proceso. El valor de la variable aleatoria ser el ltimo que tenga la variable x.
Este mtodo es preferido cuando el valor de p es relativamente alto, y cuando se desee una mayor exactitud.
Recurdese que el valor esperado de la variable es 1/p. As, si p = 0.01, usando el mtodo del rechazo se
espera tener que generar 100 nmeros aleatorias para obtener el valor de una sola variable aleatoria.

El siguiente seudo cdigo ilustra el proceso

Proceso generar_geometrica(p, X)
X = 1
R = RND
Mientras R > p
X = X + 1
R = RND
Fin mientras
Fin proceso
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 28

4.4 Distribucin Geomtrica modificada

Si definimos Y como la variable que representa el nmero de fracasos necesarios para obtener el primer
xito, la funcin de probabilidad estar dado por:
P(y) = p (1 p)
y-1
, y= 0,1,.2,,
Entonces se dice que Y = X - 1 sigue una distribucin geomtrica modificada.

La funcin de distribucin, la media y la varianza de la distribucin geomtrica modificada estn dadas por:
q
y
y Y P y F
1
1 ) ( ) (

= s =
E (Y) = E(X 1) = = q / p
V(Y) = V(X 1) = o
2
= q / p
2
, q = 1 - p

Para generar esta variable aleatoria se usan los mismos mtodos de la distribucin geomtrica, y se obtienen
los siguientes resultados:

4.4.1 Mtodo de lo transformacin inversa

El valor de Y es el entero que satisfaga la siguiente desigualdad:
q Ln
r Ln
x
q Ln
r Ln ) 1 (
1
) 1 (
s <

Y es la parte entera de la expresin


(


q Ln
) r 1 ( Ln

Por ejemplo, si p = 0.20, y se tienen los siguientes nmeros aleatorios, entonces:

Si r = 0.402 1.30 < x s 2.30 x = 2
Si r = 0.525 2.34 < x s 3.34 x = 3
Si r = 0.149 -0.38 < x s 0.72 x = 0
Si r = 0.408 1.35 < x s 2.35 x = 2
Si r = 0.488 2.00 < x s 3.00 x = 3
Si r = 0.698 4.37 < x s 5.37 x = 5

4.4.2 Mtodo del rechazo

El procedimiento es idntico al de la variable geomtrica X, excepto que el contador se inicia en cero y no en
uno.

4.5 Distribucin binomial negativa o de Pascal

Cuando estamos interesados en el nmero de ensayos X necesarios para obtener k xitos (k > 1), entonces
la variable aleatoria que denota ese nmero de ensayos tiene una distribucin binomial negativa o de Pascal.
Matemticamente, la distribucin binomial negativa es la convolucin de k distribuciones geomtricas. En
este caso k es un entero, y la distribucin recibe tambin el nombre de Distribucin de Pascal. La distribucin
geomtrica es un caso especial de lo distribucin de Pascal para k = 1.

La funcin de probabilidad de la distribucin binomial negativa est dada por:
,..., 2 k , 1 k , k x , ) p 1 ( p
1 k
1 x
) k , x ( p
k k
+ + =
|
|
.
|

\
|

=
El valor esperado y la varianza de X estn dados por:
E (X) = = k / p
V(X) = o
2
= k q / p
2
, q = 1 - p
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 29
Como k es entero, la variable de Pascal puede generarse mediante el proceso matemtico que da origen a la
distribucin, es decir, mediante la suma de k variables geomtricas, es decir,

=
=
k
i
i
X
X
1
, donde las Xi siguen
una distribucin geomtrica con parmetro p, la cual se genera mediante uno de los dos mtodos analizados
previamente. Recordemos que la variable aleatoria representa el nmero de ensayos requeridos para obtener
los k primeros xitos (Por ejemplo, X puede ser el tiempo requerido para terminar k tareas)

Observacin. Si Y representa el nmero de fracasos que se presentan antes de obtener k xitos, entonces Y
= X K X = Y + K. La funcin de probabilidad de Y estar dada por:
,..., 2 , 1 , 0 y , ) p 1 ( p
1 k
1 k y
) k , y ( p
y k
=
|
|
.
|

\
|

+
=
Ahora como se cumple que
|
|
.
|

\
| +
=
|
|
.
|

\
|

+
y
k y
k
k y 1
1
1
dado que
|
|
.
|

\
|

=
|
|
.
|

\
|
x n
n
x
n

la funcin de densidad toma la siguiente forma:
,..., 2 , 1 , 0 y , ) p 1 ( p
y
1 k y
) k , y ( p
y k
=
|
|
.
|

\
| +
=
donde k es el nmero total de xitos en y + k ensayos, y y es el nmero de fracasos que se presentan
antes de que ocurran los k primeros xitos.

El valor esperado y lo varianza de Y estn dados por:
(Y) = = k q / p
V(Y) = o
2
= k q / p
2
, q = 1 - p

Para generar la variable Y basta con generar k variables geomtricas modificadas y sumarlas.

4.6 Distribucin hipergeomtrica

Considere una poblacin que consta de N elementos, los cuales pueden clasificarse en dos categoras:
categora I (elementos defectuosos) y categora II (elementos buenos). El nmero de elementos que
pertenecen a la categora I es M, por lo tanto el nmero de elementos que pertenecen a la categora II es N
- M. Sea X el nmero de elementos de la categora I que hay en una muestra aleatoria de n element os
tomada de la poblacin total N, n s N. Adems, el muestreo se hace sin reemplazo. Entonces la variable
aleatoria X tiene una distribucin hipergeomtrica cuya funcin de probabilidad est dada por:
M x n x
n
N
x n
M N
x
M
x p s =
|
|
.
|

\
|
|
|
.
|

\
|

|
|
.
|

\
|
= , ..., , 1 , 0 , ) (
donde x, N y M son enteros. La fraccin (inicial) de artculos defectuosos de la poblacin (o elementos que
pertenecen a la categora I) est dada por p = M/N.

El valor esperado y la varianza de la distribucin hipergeomtrica estn dados por:
1
) (
) (

=
=
N
n N
q p n X V
p n X E

La distribucin binomial se usa cuando se hace muestreo, con o sin reemplazo de una poblacin infinita (o de
un proceso). En cambio, la distribucin hipergeomtrica se aplica cuando se est haciendo muestreo de una
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 30
poblacin finita, sin reemplazo de los elementos previamente seleccionados. Es decir, la muestra obtenida
resulta de realizar n ensayos de bernoulli, con la diferencia con respecto a la distribucin binomial que la
probabilidad de xito p (fraccin de artculos defectuosos) no es constante a travs del proceso sino que
depende de los resultados obtenidos previamente.

La generacin de variables hipergeomtricas involucra la simulacin de un experimento de muestreo sin
reemplazo. Por lo tanto, tenemos que modificar el mtodo de generar ensayos de Bernoulli para tener en
cuento que el tamao de la poblacin N y el nmero de elementos tipo I que quedan en la poblacin M varan
a medida que se va realizando el muestreo y por consiguiente p depende del nmero de elementos de la
categora l que se vayan obteniendo. A medida que se selecciona cada elemento de la muestra, el valor
original de N se reduce en uno de acuerdo a la frmula:
Ni = Ni-1 1, para i = 1, 2, , n, y N0 = N
En igual forma el valor de M se modifica segn el resultado obtenido en el muestreo. Se reduce en 1 si el
valor extrado de la muestra pertenece a la categora I, y queda igual si pertenece a la categora II. El valor de
p debe recalcularse siempre a medida que se van sacando los elementos de la muestra.
Mi = Mi-1 1 si el elemento i pertenece a la categora I
= Mi-1 si el elemento i no pertenece a la categora I.

El procedimiento completo se ilustra en el siguiente seudo cdigo:

Funcin generar_Hiper(N, M, n, X)
X = 0
p = M/N
Para i = 1 hasta n
R = RND
Si R < p entonces
X = X + 1
fin si
p = (M - X)/(N - i)
Fin para
Generar_hiper = X
Fin proceso

4.7 Distribucin de Poisson

Considere el problema de contar el nmero de personas N(t) X que llegan a recibir servicio a una estacin
de gasolina en un intervalo de tiempo t. Si el nmero medio de personas que llegan por unidad de tiempo es
, entonces la variable aleatoria N(t) ( X) que denota el nmero de eventos que ocurren en el tiempo t ser
un proceso de Poisson con parmetro . Por consiguiente, la funcin de probabilidad estar dada por:
... , 2 , 1 , 0 x ,
! x
(
) x ( p
) t
e
x
t
= =



La funcin de distribucin est dada por la siguiente expresin, que no puede evaluarse en una forma
analtica:

=

= s =
x
j
j
t
j
x X P x F
t
e
0
!
(
) ( ) (
)


La funcin de distribucin tambin puede expresar en forma recursiva como:
Inicialmente se hace: X = 0, P= F(0) = e-t
Posteriormente X se incremeta en i
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 31
) x ( p ) 1 x ( F ) x ( F
x
t
) 1 x ( p ) x ( p
1 x x
) 0 ( F ) 0 ( P
e
t
+ =

=
+ =
= =


El valor esperado y la varianza estn dados por:
E (X) = = t, V(X) = o
2
= t
La distribucin de Poisson se aplica en aquellos procesos de conteo en los cuales el nmero de eventos
depende nicamente de la longitud del intervalo de tiempo. Por ejemplo, el nmero de personas que llegan a
recibir servicio en un intervalo de tiempo fijo, el nmero de llamados por minuto que entran a un conmutador,
el nmero de defectos por metro de tela, etc.

Para generar variables aleatorios que sigan una distribucin de Poisson, no es posible usar el mtodo de la
transformacin inversa en su forma original, ya que F(x) no tiene uno forma explcita. Se puede emplear una
versin modificada de dicho mtodo o en forma numrica, como si fuera una distribucin emprica. El mtodo
ms comn para generar una variable Poisson es usando la relacin que existe entre las distribuciones de
Poisson y la exponencial. Esta relacin establece que "si el nmero de eventos que ocurren en un intervalo
de tiempo t es un proceso de Poisson con parmetro , entonces el tiempo entre la ocurrencia de dos
eventos sucesivos sigue una distribucin exponencial, con media 1/".

Observacin. En su forma ms conocida la distribucin de Poisson se expresa de la siguiente manera
... , 2 , 1 , 0 x ,
! x
) x ( p
x
e
=
o
=
o

donde o representa la tasa de ocurrencia de eventos en el perodo de tiempo bajo anlisis. En este caso el
tiempo t no se da de manera explcita, sino que est incluido de manera implcita en el valor de la tasa.
Haciendo la analoga con la anterior definicin se tiene que o = t. Por ejemplo, si la tasa de llegada de
clientes a un supermercado es 3 por minuto, y vamos a analizar el supermercado durante una hora
podramos considerar lo siguiente: = 3 clientes/minuto, t = 60 minutos t = 3t = 180 clientes (en una
hora). O podramos considerar de una vez la hora y la tasa sera o = t.= 3 (60) = 120 clientes/hora

4.7.1 Generacin mediante relacin con la exponencial

Esta relacin entre los variables aleatorias Poisson y exponencial provee un mtodo para generar variables
aleatorios distribuidas poissonianamente. Si X eventos ocurren en el intervalo de tiempo t, entonces la suma
de los tiempos de ocurrencia de los X eventos debe ser menor que t. Es decir, si T1 es el tiempo de
ocurrencia del primer evento, T2 es el tiempo entre la ocurrencia del primero y el segundo eventos, Ti el
tiempo entre el evento i - 1 y el evento i, entonces se debe cumplir que:

+
= =
< s
1 x
1 i
i
x
1 i
i
T T
t
Se sabe que cada Ti, i = 1, 2,..., se distribuye exponencialmente con parmetro . Entonces para generar un
valor de x simplemente basta con generar valores sucesivos de Ti. hasta que la suma sea mayor de t. Dado
que estamos interesados en conocer el nmero de eventos que ocurren en el tiempo t, generamos valores de
Ti hasta que se cumpla por primera vez que:

+
=
>
1
1
x
i
i
t
T
, donde Ti = -Ln ri /
entonces el valor de x ser el nmero de variables Ti generadas menos uno (dado que el ltimo evento
ocurre despus de t). El valor x = 0 se genera cuando T1 > t, es decir, cuando el primer valor generado es
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 32
mayor que t. Esto es, x es el nmero de eventos tal que

+
= =
< s
1 x
1 i
i
x
1 i
i
T T
t , donde la sumatoria se inicializa
en cero (0). Es decir, los primeros x eventos ocurren antes de en el tiempo t y el evento x + 1 ocurre
despus del tiempo t, lo cual implica que en el tiempo t ocurren x eventos. Como Ti = -Ln ri / , se tiene que:

+
= =
+
= =
+
= =
s s

s <

< s
1 x
1 i
i
x
1 i
i
1 x
1 i
i
x
1 i
i
1 x
0 i
i
x
0 i
i
r r r r T T
Ln t Ln Ln
1
t Ln
1
t
[ [
+
=

=
s <
1 x
1 i
i
t
x
1 i
i
r e r

Por lo tanto, y de acuerdo con la expresin anterior, para generar una variable Poisson, basta con generar
nmeros aleatorios, multiplicarlos, y suspender el proceso cuando dicho producto sea menor que e
-t
. El valor
de la variable aleatoria x es igual a la cantidad de nmeros aleatorios generados menos 1. La productoria se
inicializa en uno (1). El valor x = 0 se produce cuando r1 < e
-t
, es decir, cuando el primer nmero aleatorio
generado es menor que e
-t
.

La generacin de variables aleatorias mediante la frmula anterior es ms eficiente ya que no se requiere
calcular los logaritmos.

El seudo cdigo siguiente ilustra el proceso

Generar Poisson
X = 0
Producto = 1
Mientras Producto > e
-t
haga
R = RND
Producto = Producto * R
X = X + 1
Fin mientras
Generar_Poisoon = X
Fin proceso

4.7.2 Mediante la transformacin inversa

Calculando la funcin de distribucin en forma numrica y recursiva se puede generar variables aleatorias
Poisson, mediante el mtodo de la transformacin inversa. La ecuacin recursiva para una distrobicun
Poisson con parmetro o se escribe como:
e
) 0 ( F p donde
x
) 1 x ( p ) 1 x ( F ) x ( F
o
= =
o
+ =
la siguienteEl procedimiento es el siguiente, para una distribucin de Poisson con tasa o:

Proceso Poisson
X = 0
P = e
-o

F = P
R = RND
Mientras R > F
X = X + 1
P = P * o / X
F = F + 1
Fin mientras
Fin proceso

4.7.3 Mediante relacin con la aproximacin normal

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 33
Cuando la media de la distribucin t es relativamente grande (o = t > 30) la distribucin de Poisson puede
aproximarse por la distribucin normal con media y varianza dados por:
= o
2
= t
Por lo tanto, X puede generarse a travs de la distribucinnormal usando el factor de correccin de como:
] 2 / 1 t Z t [ ] 2 / 1 Z [ X + + = + o + =
donde Z corresponde a la variable normal (0,1), que se generara mediante uno de los mtodos analizados
previamente para generar variables normales.

Observacin. Si la distribucin de Poisson la expresamos slo en funcin de la tasa o la frmula apropiada
es la siguiente: (forma normal o estndar de la distribucin):
... , 2 , 1 , 0 x ,
! x
) x ( p
x
e
=
o
=
o

En este caso la variable aleatoria se genera usando exactamente los mismos procedimientos dados antes,
pero considerando = o y t = 1.

5 Distribuciones empricas

Cuando se tiene un conjunto de datos sobre una variable aleatoria, debemos tratar de ajustar esos datos a
una distribucin estndar, de las estudiadas antes. Para determinar si los datos se ajustan a la distribucin
que se supone hay disponibles varias pruebas estadsticas, conocidas como pruebas de bondad de ajuste,
tales como la las pruebas chi cuadrado y Smirnov-Kolmogorov, estudiadas antes. Si no es posible describir la
funcin de probabilidad de la muestra mediante una de las distribuciones estndares, es necesario trabajar
entonces con la distribucin emprica que muestran los datos (usar el histograma de frecuencia). Para
generar estas variables se puede emplear el mtodo de la transformacin inversa para el caso discreto o una
versin modificada de este mtodo propuesta por Marsaglia.

5.1 Mtodo de la transformacin inversa

Si X es una variable aleatoria con funcin de probabilidad emprica p(x) y funcin de distribucin F(x),
entonces para generar observaciones artificiales de esta variable, se puede usar el mtodo de la
transformacin inversa para el caso discreto. Si la variable aleatoria puede tomar nicamente los valores xi,
(variable tipo discreta) con probabilidad p(xi) y funcin de distribucin emprica F(xi), para i = 1, 2,,N,
entonces, dado un nmero aleatorio r, el valor de la variable aleatoria X ser aquel que satisfaga la siguiente
desigualdad:
F(xi-1) s x < F(xi)
Ejemplo 4.10. La demanda de un producto durante 55 semanas fue la siguiente:

Demanda 10 15 20 25 30
Frecuencia 10 21 17 6 1

Con base en la frecuencia absoluta, podemos calcular la frecuencia relativa, dividiendo la frecuencia absoluta
f(xi) por la frecuencia total (n). Esta frecuencia relativa -p(xi)- nos da la probabilidad (emprica) de que la
demanda en una semana sea igual a xi. Con la frecuencia relativa podemos calcular la frecuencia relativa
acumulada f(xi) que corresponde a la funcin de distribucin emprica. Estos valores se calcula como:
) ( ) ( ) ( ) (
) (
) (
1
1
x x x x
x
x
i i
i
j
i i
i
i
p F p F
N
f
p
+ = =
=


La tabla siguiente presenta la informacin referida anteriormente.

Demanda - xi 10 15 20 25 30
Frecuencia relativa - f(xi) 0.18 0.38 0.31 0.11 0.02
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 34
Frecuencia relativa acumulada F(xi) 0.18 0.56 0.87 0.98 1.00

Si la demanda slo puede tomar los valores anteriores, el generador del proceso usando el mtodo de la
transformacin inversa sera el siguiente:

Se genera un nmero aleatorio R = r
Si r < F(x1) x = x1
Si F(x1) s r < F(x2) x = x2
.
Si F(xi-1) s r < F(xi) x = xi
.
Si r > F(xN) x = xN

Para el ejemplo que estamos analizando el proceso sera el siguiente: Se genera un nmero aleatorio R = r y
el valor de la variable sera:

Si r < 0.18 x = 10
Si 0.18 s r s 0.56 x = 15
Si 0.56 s r s 0.87 x = 20
Si 0.87 s r s 0.98 x = 25
Si r > 0.98 x = 30

5.2 Interpolacin lineal

Cuando la variable aleatoria X es continua, no discreta, y puede tomar cualquier valor ente xi-1 y xi es posible
usar la interpolacin lineal para encontrar el valor de x. Tambin se aplica cuando la muestra est
organizada en intervalos de clase. El proceso de generacin sera el siguiente:

Se genera un nmero aleatorio R = r
Si r < F(x1) x = x1
.
Si F(xi-1) s r < F(xi)
( )
( )
( )
x
x
x ( F
x x
x
1 i
1 i
i
1 i i
1 i
r
( F )
x

+ = i
.
Si r > F(xN) x = xN

5.3 Mtodo de Marsaglia

El mtodo de Marsaglia est diseado para ser usado en el computador. El mtodo define un bloque o vector
V de N posiciones, a las cuales se le asignan los valores de la variable aleatoria X, y el numero de posiciones
asignadas a cada valor de xi es proporcional a su probabilidad p(xi). Para el ejemplo que estamos
considerando, al valor x = 5 se le asigna el 18% de las posiciones del vector, al valor x = 10 el 38%,, y al
valor x = 30 el 2%. La tabla siguiente ilustra la forma como quedara el vector.

Posicin 1 2 3 .. 17 18 19 20 .. 56 57 58 .. 86 87 88 89 .. 98 99 100
Valor 10 10 10 .. 10 10 15 15 .. 15 15 20 .. 20 20 25 25 .. 25 30 30

El nmero de posiciones N del vector debe ser tal que a cada valor de xi se le asigne un nmero entero de
posiciones, de tal forma que se preserve la respectiva probabilidad. El nmero de posiciones asignadas a
cada valor de xi est dado por N p(xi). Por lo tanto, el nmero de posiciones del vector N debe ser tal que:
N p(xi) = entero, para todo i .
Para nuestro caso, el valor de N debera ser mnimo 100. Si las probabilidades las hubiramos tomado con
tres cifras decimales, hubiramos requerido un total de 1000 posiciones de memoria, en vez de 100.

Una vez definido y llenado el vector con las N posiciones, para generar una observacin de esa variable
aleatoria, se selecciona al azar una de las N posiciones del vector, y el valor de la variable ser el valor que
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 35
ocupa la posicin seleccionada. Es decir, si R es el nmero aleatorio generado, la posicin escogida j y el
valor de la variable estn dados por:

Posicin = j = [N r + 1]
Variable aleatoria = Vector(j)

El procedimiento para generar la variable X consta de los siguientes pasos::

1) Se define un campo de N posiciones en la memoria del computador.
2) Al valor de xi se le asignan N p(xi) posiciones del total de N, desde la posicin N F(xi-1) +1 hasta la
posicin N F(xi), para i = 1,2.,,,N.
3) Se genera un nmero aleatorio r, se calcula la posicin correspondiente al valor generado, y se extrae el
respectivo valor. Este es el valor de la variable x.

Los pasos 1 y 2 se realizan solo una vez, al inicializar la simulacin, y el paso 3 se repite tantas veces
cuantas variables haya que generar.

Para el ejemplo analizado, los pasos 1 y 2 son los siguientes:

1. Se define el vector de N = 100 posiciones
2. Se llenan las 100 posiciones de la siguiente manera:
2.1. Al valor de x1 = 10 se le asignan 18 posiciones, desde la No 1 hasta la No 18.
2.2. Al valor de x2 = 15 se le asignan 38 posiciones, desde la No 19 hasta la No 56.
2.3. Al valor de x3 = 20 se le asignan 31 posiciones, desde la No 57 hasta la No 87.
2.4. Al valor de x4 = 25 se le asignan 11 posiciones, desde la No 88 hasta la No 98.
2.5. Al valor de x5 = 30 se le asignan 2 posiciones, las posiciones 99 y 100.
3. Por cada variable aleatoria que se necesite, se genera un nmero aleatoria, y el valor de la variable
corresponde al nmero almacenado en la posicin j = [100 r +1],

El siguiente seudo cdigo ilustra el procedimiento anterior:

Funcin Marsaglia
Posicin inicial = 1
Para i = 1, n
Posicin final = Posicin inicial + N p(xi)
Para posicin = posicin inicial hasta posicin final
Vector(posicin) = xi
Siguiente posicin
Posicin inicial = posicin final + 1
Siguiente i
Fin proceso

El procedimiento para generar las observaciones artificiales de la variable aleatoria sera el siguiente

Funcin generar emprica
Generar nmero aleatorio (r)
Posicin = j = [N * r +1]
X = vector(j)
Fin proceso

6 Generacin de variables aleatorias con Excel

La hoja de clculo Excel tiene varias funciones para generar variables aleatorias de diferentes tipos. Estas
funciones son las siguientes:

6.1 Distribucin Beta DISTR.BETA.INV

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 36
Devuelve, para una probabilidad dada, el valor de la variable aleatoria siguiendo una distribucin beta. La
distribucin beta puede emplearse en la organizacin de proyectos para crear modelos con fechas de
finalizacin probables, de acuerdo con un plazo de finalizacin y variabilidad esperados.

Sintaxis: DISTR.BETA.INV(probabilidad;alfa;beta;A;B)

- Probabilidad: es una probabilidad asociada con la distribucin beta. Para la simulacin corresponde a un
nmero aleatorio.
- Alfa y Beta son los parmetros de la distribucin.
- A y B corresponden a los lmites inferior y superior, respectivamente, de los valores de x.

DISTR.BETA.INV usa una tcnica iterativa para calcular la funcin. Dado un valor de probabilidad,
DISTR.BETA.INV itera hasta que el resultado tenga una exactitud de 3x10
-7
. Si DISTR.BETA.INV no
converge despus de 100 iteraciones, la funcin devuelve el valor de error #N/A.

Ejemplo: DISTR.BETA.INV(0,685470581;8;10;1;3) es igual a 2

6.2 Distribucin F DISTR.F.INV

Devuelve el inverso de la distribucin de probabilidad F. Si el argumento p = DISTR.F(x,...), entonces
DISTR.F.INV(p,...) = x.

La distribucin F puede usarse en una prueba F que compare el grado de variabilidad en dos conjuntos de
datos. Por ejemplo, podra analizar las distribuciones de ingresos en Venezuela y Colombia para determinar
si ambos pases tienen un grado de diversidad similar.

Sintaxis: DISTR.F.INV(probabilitdad;grados_de_libertad1;grados_de_libertad2)

- Probabilidad es una probabilidad asociada con la funcin de distribucin acumulativa F. Para la
simulacin corresponde a un nmero aleatorio.
- Grados_de_libertad1 es el nmero de grados de libertad del numerador.
- Grados_de_libertad2 es el nmero de grados de libertad del denominador.

DISTR.F.INV puede usarse para devolver valores crticos de la distribucin F. Por ejemplo, el resultado de un
clculo AN.VAR generalmente incluye datos para la estadstica F, la probabilidad F y el valor crtico F con un
nivel de significacin de 0,05. Use el nivel de significacin como argumento probabilidad de DISTR.F.INV
para devolver el valor crtico de F.

DISTR.F.INV usa una tcnica iterativa para calcular la funcin. Dado un valor de probabilidad, DISTR.F.INV
reitera hasta que el resultado alcance una exactitud de 3x10
-7
. Si DISTR.F.INV no converge despus de
100 iteraciones, la funcin devuelve el valor de error #N/A.

Ejemplo: DISTR.F.INV(0,01;6;4) es igual a 15,20675

6.3 Distribucin Gamma DISTR.GAMMA.INV

Devuelve, para una probabilidad dada, el valor de la variable aleatoria siguiendo una distribucin gamma. Si p
= DISTR.GAMMA(x,...), entonces DISTR.GAMMA.INV(p,...) = x
Utilice esta funcin para estudiar variables cuya distribucin podra ser asimtrica.

Sintaxis: DISTR.GAMMA.INV(prob; alfa; beta)

- Prob es la probabilidad asociada con la distribucin gamma. Para la simulacin corresponde a un
nmero aleatorio.
- Alfa es un parmetro de la distribucin.
- Beta es un parmetro de la distribucin. Si beta = 1, DISTR.GAMMA.INV devuelve el valor de la variable
aleatoria siguiendo una distribucin gamma estndar.

Ejemplo: DISTR.GAMMA.INV(0,068094;9;2) es igual a 10

6.4 Distribucin logartmica normal DISTR.LOG.INV

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 37
Devuelve el inverso de la probabilidad para una variable aleatoria X que sigue una distribucin logartmica
normal, donde ln(x) se distribuye normalmente con los parmetros media y desv_estndar. Si p =
DISTR.LOG.NORM(x,...) entonces DISTR.LOG.INV(p,...) = x.

La distribucin logartmica normal se emplea para analizar datos transformados logartmicamente.

Sintaxis: DISTR.LOG.INV(probabilidad;media;desv_estndar)

- Probabilidad es una probabilidad asociada con la distribucin logartmico-normal. Para la simulacin
corresponde a un nmero aleatorio.
- Media es la media de ln(x).
- Desv_estndar es la desviacin estndar de ln(x).

Ejemplo: DISTR.LOG.INV(0,039084; 3,5; 1,2) es igual a 4,000014

6.5 Distribucin normal estndar N(0,1) DISTR.NORM.ESTAND.INV

Devuelve, para una probabilidad dada, el valor de la variable aleatoria que sigue una distribucin normal
estndar. La distribucin tiene una media de cero y una desviacin estndar de uno.

Sintaxis: DISTR.NORM.ESTAND.INV(probabilidad)

- Probabilidad es una probabilidad que corresponde a la distribucin normal. Para la simulacin
corresponde a un nmero aleatorio.

La funcin DISTR.NORM.ESTAND.INV se calcula utilizando una tcnica iterativa. Dado un valor del
argumento probabilidad, DISTR.NORM.ESTAND.INV itera hasta que el resultado tenga una exactitud de
3x10
-7
. Si DISTR.NORM.ESTAND.INV no converge despus de 100 iteraciones, la funcin devuelve el valor
de error #N/A.

Ejemplo: DISTR.NORM.ESTAND.INV(0,908789) es igual a 1,3333

6.6 Distribucin normal DISTR.NORM.INV

Devuelve, para una probabilidad dada, el valor de la variable aleatoria que sigue una distribucin normal con
la media y desviacin estndar especificadas.

Sintaxis: DISTR.NORM.INV(prob;media;desv_estndar)

- Prob es una probabilidad asociada a la distribucin normal. Para la simul acin corresponde a un
nmero aleatorio.
- Media es la media aritmtica de la distribucin.
- Desv_estndar es la desviacin estndar de la distribucin.

DISTR.NORM.INV utiliza la distribucin normal estndar si el argumento media = 0 y si el argumento
desv_estndar = 1 (vea DISTR.NORM.ESTAND.INV).

DISTR.NORM.INV se calcula utilizando una tcnica iterativa. Dado un valor del argumento probabilidad, la
funcin DISTR.NORM.INV iterar hasta que el resultado obtenido tenga una exactitud de 3x10
-7
. Si
DISTR.NORM.INV no converge despus de 100 iteraciones, la funcin devuelve el valor de error #N/A.

Ejemplo: DISTR.NORM.INV(0,908789;40;1,5) es igual a 42

6.7 Distribucin T DISTR.T.INV

Devuelve, para una probabilidad dada, el valor de la variable aleatoria siguiendo una distribucin t de Student
para los grados de libertad especificados.

Sintaxis: DISTR.T.INV(probabilidad;grados_de_libertad)

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 38
- Probabilidad es la probabilidad asociada con la distribucin t de Student dos colas. Para la simulacin
corresponde a un nmero aleatorio.
- Grados_de_libertad es el nmero de grados de libertad para diferenciar la distribucin.

DISTR.T.INV se calcula como DISTR.T.INV=p( t<X ), donde X es una variable aleatoria que sigue la
distribucin t.

DISTR.T.INV se calcula utilizando una tcnica iterativa. Dado un valor del argumento probabilidad,
DISTR.T.INV reitera hasta obtener un resultado con una exactitud de 3x10
-7
. Si DISTR.T.INV no converge
despus de 100 iteraciones, la funcin devuelve el valor de error #N/A.

Ejemplo: DISTR.T.INV(0,054645;60) es igual a 1,96

6.8 Distribuciones empricas BUSCARV

Busca un valor especfico en la columna ms a izquierda de una matriz y devuelve el valor correspondiente
en la misma fila de una columna especificada en la tabla. Se utiliza BUSCARV cuando los valores de
comparacin se encuentren en una columna situada a la izquierda de los datos que desea encontrar; cuando
los valores de comparacin se encuentren en una fila, se debe usar BUSCARH.

Sintaxis: BUSCARV(valor_buscado;matriz_de_comparacin;indicador_columnas;ordenado)

- Valor_buscado es el valor que se busca en la primera columna de la matriz. Valor_buscado puede ser un
valor, una referencia o una cadena de texto. Para la simulacin corresponde a un nmero aleatorio.
- Matriz_de_comparacin es el conjunto de informacin donde se buscan los datos. Se define mediante
una referencia a un rango o un nombre de rango, como por ejemplo Base_de_datos o Lista, $C2:$E15.
- Indicador_columnas es el nmero de la columna de la matriz_de_comparacin desde la cual debe
devolverse el valor de la variable. Si el argumento indicador_columnas es igual a 1, la funcin devuelve
el valor de la primera columna del argumento matriz_de_comparacin; si el argumento
indicador_columnas es igual a 2, devuelve el valor de la segunda columna de matriz_de_comparacin y
as sucesivamente.

Los valores de la primera columna del argumento matriz_de_comparacin deben colocarse en orden
ascendente (corresponden a la funcin de distribucin).

Los valores de la primera columna de matriz_de_comparacin pueden ser texto, nmeros o valores lgicos.
El texto escrito en maysculas y minsculas es equivalente.

Esta funcin compara el valor buscado con los valores de la primera columna de la
matriz_de_comparacin hasta que encuentra el valor mas grande que sea menor o igual al valor buscado.
Entonces retorna el valor correspondiente que haya en la columna denotada por indicador de columna.

Ordenado Es un valor lgico que indica si desea que la funcin BUSCARV busque un valor igual o
aproximado al valor especificado. Si el argumento ordenado es VERDADERO o se omite, la funcin devuelve
un valor aproximado, es decir, si no encuentra un valor exacto, devolver el valor inmediatamente menor que
valor_buscado. Si ordenado es FALSO, BUSCARV devuelve el valor buscado. Si no encuentra ningn valor,
devuelve el valor de error #N/A.

Observacin. Si BUSCARV no puede encontrar valor_buscado y ordenado es VERDADERO, utiliza el valor
ms grande que sea menor o igual a valor_buscado.

Ejemplo. Considere la variable aleatoria analizada en la seccin 5.1, cuya informacin se resume a
continuacin:

Demanda xi 10 15 20 25 30
Frecuencia relativa - f(xi) 0.18 0.38 0.31 0.11 0.02
Frecuencia relativa acumulada - F(xi) 0.18 0.56 0.87 0.98 1.00

Para generar la variable aleatoria mediante la funcin BUSCARV, la informacin podra organizarse como se
muestra en la siguiente tabla, y el comando podra ser el siguiente:

Sintaxis: BUSCARV(aleatorio(),$D10:$F$14,3)
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 39

Se genera el nmero aleatorio con la funcin =aleatorio()
Si r < 0.18 x = 10
Si r < 0.56 x = 15
Si r < 0.87 x = 20
Si r < 0.98 x = 25
Si r > 0.98 x = 30

Para cada valor de Xi se asocia la probabilidad acumulada anterior.

Fila\Columna A D E F G
1 . . . . . . .

10 0 0.18 10
11 0.18 0.56 15
12 0.56 0.87 20
13 0.87 0.98 25
14 0.98 1.0 30

LA funcin BUSCARH funciona en idntica forma, con la diferencia de que la informacin a buscar est dada
por filas, y no por columnas. Su sintaxis es la siguiente:

BUSCARH(valor_buscado;matriz_buscar_en;indicador_filas; ordenado)

Donde Valor_buscado es el valor que se busca en la primera fila de matriz_buscar_en.

La siguiente tabla resume las funciones generadores de variables dadas en el Excel.

Distribucin Nombre funcin Parmetros
Beta DISTR.BETA.INV

Probabilidad
nmero aleatorio
Alfa Beta A y B
(Valores
mnimo y
mximo)
F DISTR.F.INV Probabilidad
nmero aleatorio
Grados de
libertad 1 v1
Grados de
libertad 2 v2

Gama DISTR.GAMMA.INV

Probabilidad
nmero aleatorio
Alfa.
Parmetro
de forma (k)
Beta
Parmetro
de escala
(inverso de
la tasa=1/)

Logartmica
Normal
DISTR.LOG.INV

Probabilidad
nmero aleatorio
Media del
logaritmo de
x
Desviacin
estndar del
ln x

Normal
estndar (0,1)
DISTR.NORM.ESTAND.INV Probabilidad
nmero aleatorio

Normal DISTR.NORM.INV Probabilidad
nmero aleatorio
Media Desviacin
estndar

T DISTR.T.INV

Probabilidad
nmero aleatorio
Grados de
libertad v


7 Otros ejemplos

7.1 Ejemplo. Viaje entre dos puntos.

Se desea un generador que simule el viaje entre dos puntos A y B. entre los cuales hay dos rutas posibles.
La probabilidad de tomar la ruta 1 es p. Las funciones de densidad del tiempo de viaje en cada ruta son:

=
e
x
2
2
e
x
1
1
) x ( f
x ruta
x ruta
>
>

0 1
0 2
,
,

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 40
Solucin: Los tiempos de viaje en cada ruta estn dados por :
X
R ruta
R ruta
=

1
1
1
2
1
2

ln ,
ln ,

Para encontrar el tiempo que dura un viaje cualquiera se debe seleccionar primero la ruta, y luego el tiempo
de viaje en esa ruta.

Deben generarse entonces dos nmeros aleatorios (r1, r2). El primero se usa para determinar la ruta que se
ha de tomar, y el segundo para determinar el tiempo en la ruta seleccionada. Por lo tanto, el generador del
tiempo de tiempo ser:
X
R
si
R
p
R
si
R
p
=
<
<

1
1
2 1
1
2
2 1

ln ,
ln ,
.
Observacin: Sera vlido generar solamente un nmero aleatorio r, el cual nos da primero la ruta que debe
seleccionarse, y luego ese mismo nmero nos generara el tiempo en la ruta seleccionada ?. Es decir, puede
usarse el siguiente generador?

Si r < p tome la ruta No 1 y el tiempo de viaje sera -Ln r/1
Si r < p tome la ruta No 2 y el tiempo de viaje sera -Ln r/2

La figura No 4. presenta el seudo cdigo correspondiente para simular el tiempo de viaje entre dos puntos,
cuando se supone que el tiempo de viaje en cada ruta se distribuye exponencialmente con tiempos
esperados de 25 y 40 minutos, y la probabilidad de tomar la ruta No 1 es 0.60.

Leer Nro_Viajes
Tiempo_medio_1 = 25
Tiempo_medio_2 = 40
Suma_Tiempos=0
Para cada viaje v = 1 hasta Nro_Viajes
R1 = RND
Si R1 < p, entonces
Tiempo_medio = Tiempo_medio_1
Si no
Tiempo_medio = Tiempo_medio_2
Fin Si
R2 = RND
Tiempo de viaje = -Tiempo_medio * Ln R2
Suma_Tiempos = Suma_Tiempos + Tiempo_Viaje
Siguiente viaje
Tiempo_Medio = Suma_Tiempos/Nro_Viajes
Imprimir Nro_Viajes, Tiempo_Medio
Fin

La tabla presenta los resultados de la simulacin de 500 viajes, para dos semillas diferentes. En la primera
simulacin se us una semilla de 377 para seleccionar la ruta y una de 1425 para calcular el tiempo de viaje.
El programa se implement en Fortran 77, y se impriman los resultados parciales cada 20 viajes.

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 41

Concepto Simulacin
No 1 No 2
Semillas 377 y 1425 1797 y 971
Tiempo medio de viaje 30.6 30.1
Tiempo mnimo de viaje 0.02 0.07
Tiempo Mximo de viaje 237.3 241.1
Desviacin estndar 32.0 31.0
Nmero de viajes 500 500

El tiempo medio de viaje calculado analticamente est dado por:
E(T) = P x E(T1) + (1 - P) x E(T2) = 0.6 x 25 +0.4 x 40 = 31.0
La figura No muestras la forma en que vara el tiempo medio de viaje a medida que aumenta el tamao de
la muestra (nmero de viajes simulados). Se observa como a medida que aumenta el nmero de viajes el
tiempo medio tiende a estabilizarse. (ver captulo No 8, seccin relacionada con la determinacin del tamao
de la muestra)

7.2 Ejemplo. Un problema de inventarios: El problema del vendedor de peridicos

Un voceador de prensa compra peridicos a $300 cada uno y los vende a $400 la unidad. Al final de cada da
el agente de publicaciones le paga $130 por cada peridico que no haya vendido. La demanda diaria de
peridicos (X) tiene la siguiente funcin de probabilidad:

x 75 80 85 90 95 100 105 110 115 120
p(x) 0.02 0.07 0.08 0.20 0.19 0.14 0.12 0.09 0.06 0.03

Se desea determinar por simulacin el nmero ptimo de peridicas que el vendedor debe ordenar cada da.

Solucin. El objetivo es definir cuantos peridicos debe ordenar diariamente el voceador de tal forma que se
maximice la utilidad esperada con la venta de los peridicos. Este problema tiene solucin analtica. El
objetivo ser resolverlo analticamente y por simulacin y comparar las soluciones obtenidas con ambas
metodologas.

Solucin analtica.

Para la solucin analtica y por simulacin usaremos la siguiente metodologa y varaibles.

X : Variable aleatoria que describe la demanda diaria de peridicos.
p(x) f(x) : Funcin de probabilidad o de densidad de demanda diaria de peridicos.
F(x) : Funcin de distribucin
C: Costo por peridico = $ 300/peridico
V: Precio unitario de venta = $ 400/peridico
S: Valor de salvamento o cantidad reconocida por peridico no vendido = $ 130/unidad.
Q: Cantidad a pedir diariamente
Q*: Cantidad ptima a pedir para maximizar la utilidad esperada.

La utilidad obtenida cuando se piden Q peridicos est dada por
Utilidad de peridicos vendidos - Prdida por peridicos no vendidos
o tambin por : Utilidad = Ingresos - egresos

Si el voceador ordena Q peridicos, al final del da puede encontrarse con dos situaciones:

a) La demanda diaria fue menor que o igual a la cantidad pedida : x s Q
En este caso se obtiene una utilidad por los peridicos vendidos (x) y una prdida por los peridicos no
vendidos (Q-x). La utilidad est dada por :
U(Q) = x (V - C) - (Q - x) (C - S) , x s Q (1)
b) La demanda es superior a la cantidad pedida: x > Q
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 42
En este caso slo se obtiene la utilidad por los peridicos vendidos, y no se presenta ninguna prdida.
La utilidad est dada por:
U(Q) = x (V - C) , x > Q (2)
Como la demanda es una variable aleatoria, entonces el criterio de decisin se basa en la utilidad esperada,
la cual estar dada por la siguiente expresin, dado que se est tratando la demanda como una variable
discreta :



+ =
=
=
+ =
u Q x
Q x
0 x
) x ( p ) c V ( Q ) x ( p )] S C ( ) x Q ( ) C V ( x [ )] Q ( U [ E (3)
cuando X es discreta y vara en intervalos de u unidades.

Si Q* es la cantidad ptima a pedir que maximiza la utilidad, entonces se tienen que cumplir las siguientes
condiciones:
E[U(Q*)] > E[U(Q* - u)] (4)
E[U(Q*)] > E[U(Q* + u)] (5)
Aplicando separadamente las condiciones (4) y (5) a la ecuacin (3) se encuentra que el valor ptimo Q* es
aquel que satisface la siguiente desigualdad:
p x
V C
V S
x Xmin
Q
( )
*
s

(5)
Si X es continua la utilidad estar dada por :
E U Q x V c Q x C S f x dx xf x dx
Xmin
Q
Q
[ ( )] [ ( ) ( )( )] ( ) ( ) = +
} }

(6)
El valor de Q que maximiza la utilidad esperada es aquel que hace igual a cero la primera derivada de la
ecuacin anterior . Esto es:
0
dQ
)] Q ( U [ dE
= el valor ptimo de Q es aquel que satisface la siguiente ecuacin :

S V
C V
dx ) x ( f *) Q ( F
* Q
min X

= =
}
(7)
Para nuestro caso se tiene:

x 75 80 85 90 95 100 105 110 115 120
p(x) 0.02 0.07 0.08 0.20 0.19 0.14 0.12 0.09 0.06 0.03
F(x) 0.02 0.09 0.17 0.37 0.56 0.70 0.82 0.91 0.97 1.00
Ahora 3703 . 0
270
100
130 400
300 400
S V
C V
= =

que la solucin ptima es pedir 90 peridicos, si se desea


maximizar la utilidad esperada por la venta de los peridicos.

Solucin por simulacin

Para determinar por medio de la simulacin qu cantidad debe ordenarse, es necesario simular la operacin
del sistema (venta de peridicos) durante varios das (N) para diferentes alternativas de la cantidad a pedir
(Q1, Q2,...,QM) y escoger aquella cantidad que maximice la utilidad esperada por da.

Para simular la operacin del sistema, dada una cantidad fija a pedir Q, es necesario formular un modelo
para realizar los pasos o etapas que se daran en un da cualquiera si estuviramos realizando la venta de
peridicos. Este modelo para un da cualquiera est representado mediante las ecuaciones (1) y (2)
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 43
formuladas anteriormente. Este procedimiento sera necesario repetirlo para varios das, y luego obtener la
utilidad promedio diaria, que es el mejor estimativo de la utilidad esperada.

El procedimiento a seguir para simular la operacin del sistema para una cantidad fija a pedir Q es el
presentado a continuacin:

1) Se define cuantos das se van a simular (N).
2) Se inicializan los registros o contadores para recoger informacin (la utilidad promedio, en nuestro caso
U=0).
3) Para cada da i a simular se realizan los siguientes pasos:
a) Se genera la demanda de ese da, de acuerdo con la funcin de probabilidad de la demanda.
b) Se calcula la utilidad diaria, segn que la demanda sea menor o igual a la cantidad pedida, o que
sea mayor, usando las expresiones (1) y (2) ya definidas, a saber :
Ui = x (V - C) - (Q - x) (C - S) x s Q
Ui = x (V - C) x > Q
c) Se actualiza la utilidad acumulada, segn la utilidad obtenida: U=U+ Ui
4) Una vez se han simulado todos los das se calcula la utilidad promedio diaria, dada por U/N

La tabla siguiente presenta el seudo cdigo del procedimiento anterior.

Definir Nmero de das N
Definir cantidad Q
Da = 1
Mientras Da s N
Generar Demanda
Si Demanda s Q Si No
U = x (V - C) - (Q x) (C - S) U = x (V - C)
Actualizar utilidad acumulada U=U+ Ui
Da - Da + 1
Utilidad Media UM = U/N
Fin Simulacin

El procedimiento anterior es necesario repetirlo para las diferentes cantidades a simular, y de todas ellas se
escoge la que maximice la utilidad promedio.

Para generar la demanda diaria se puede utilizar el mtodo de la transformacin inversa, con base en la
funcin de distribucin, de la siguiente manera. Se genera un nmero aleatorio r. El valor de la demanda ser
igual a:

Valor de Demanda Condicin
75 r < 0.02
80 0.02 s r < 0.09
85 0.09 s r < 0.17
90 0.17 s r < 0.37
95 0.37 s r < 0.56
100 0.56 s r < 0.70
105 0.70 s r < 0.82
110 0.82 s r < 0.91
115 0.91 s r < 0.97
120 r > 0.97

Para definir la cantidad ptima, es decir, la que maximice la utilidad esperada, se puede usar un mtodo de
bsqueda. Si en estudios de simulacin se desea optimizar una funcin, deben emplearse mtodos
numricos de optimizacin, y los ms empleados son los mtodos de bsqueda.

Para nuestro caso, la cantidad mnima a pedir sera de 75 unidades, por lo tanto podemos empezar el
proceso de bsqueda en 75 (Q0 = 75), usando un incremento o paso de 5 unidades (AQ = 5). Se suspende el
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 44
proceso de bsqueda cuando la utilidad esperada empiece a decrecer. En resumen, el procedimiento de
optimizacin sera:

1) Se simula pidiendo una cantidad inicial Q = Q0 = Xmin = 75 y se obtiene la utilidad media UM(Q0).
2) Se hace la simulacin ordenado una cantidad Q1 = Q0 + AQ, y se calcula la utilidad media UM(Q1).
a) Si UM(Q1) < UM(Q0), entonces termina la bsqueda y la cantidad optima a pedir sera Q= Q0 = 75.
b) Si UM(Q1) > UM(Q0), entonces se realizan nuevas simulaciones ordenando las siguientes
cantidades :
Q2 = Q1 + AQ, y se obtiene la utilidad media UM(Q2).
Q3 = Q2 + AQ, y se obtiene la utilidad media UM(Q3).
......................
Qk = Qk-1 + AQ, y se obtiene la utilidad media UM(Qk).
donde en Qk la funcin de utilidad no responde, es decir, UM(Qk) < UM(Qk-1).

La cantidad ptima a pedir sera de Q* = Qk-1

La grfica de la pgina siguiente presenta el diagrama de flujo completo de la simulacin para determinar la
cantidad ptima a pedir.

La tabla siguiente resume los resultados de realizar varias simulaciones para determinar la cantidad ptima.
Adems, se presenta los resultados para varios replicados de las corridas (un replicado es el resultado de
una corrida, pero cambiando las semillas usadas para generar los nmeros aleatorios).

CANTIDAD Utilidad media diaria ($) para varios re`locaddos
No 1 No 2 No 3
75 7500.0 7500.0 7500.0
80 7974.4 7977.1 7971.7
85 8344.8 8362.3 8355.6
90 8623.4 8639.6 8628.8
95 8656.3 8671.1 8623.9
100 8411.1 8407.0 8374.6
SEMILLA 9713 1597 475

Para cada corrida se realizaron 1000 simulaciones. Puede considerarse que la cantidad ptima a pedir
diariamente es de 95 peridicos.

Con el fin de decidir entre 90 y 95 se realizaron corridas de 2000 simulaciones, cuyos resultados se
presentan en la tabla siguiente, los cuales llevan a la misma decisin.


CANTIDAD UTILIDAD MEDIA DIARIA ($) PARA VARIAS SIMULACIONES
No 1 No 2 No 3
90 8647.7 8642.3 8612.6
95 8656.3 8646.8 8599.6
SEMILLA 9713 1597 475

Para realizar un seguimiento a una simulacin, en la tabla siguiente se presentas los resultados de varias
simulaciones para diferentes valores de Q, realizadas en Excel, para un total de 30 das.

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 45

Simulacin del problema del vendedor de peridicos
para varios valores del tamao del pedido

Simulaciones para varios valores del lote
Da
Nmero
Aleatorio
Demanda
Pedido Q = 85 Pedido Q = 90 Pedido Q = 95
Peridicos
Vendidos
Utilidad Peridicos
Vendidos
Utilidad Peridicos
Vendidos
Utilidad
1 0.0370 80 80 7000 80 6000 80 5000
2 0.9553 115 85 8500 90 9000 95 9500
3 0.5208 95 85 8500 90 9000 95 9500
4 0.0656 80 80 7000 80 6000 80 5000
5 0.7514 105 85 8500 90 9000 95 9500
6 0.7971 105 85 8500 90 9000 95 9500
7 0.9048 110 85 8500 90 9000 95 9500
8 0.0747 80 80 7000 80 6000 80 5000
9 0.2364 90 85 8500 90 9000 90 8000
10 0.6483 100 85 8500 90 9000 95 9500
11 0.6962 100 85 8500 90 9000 95 9500
12 0.2358 90 85 8500 90 9000 90 8000
13 0.0335 80 80 7000 80 6000 80 5000
14 0.4260 95 85 8500 90 9000 95 9500
15 0.1117 85 85 8500 85 7500 85 6500
16 0.5401 95 85 8500 90 9000 95 9500
17 0.6454 100 85 8500 90 9000 95 9500
18 0.2605 90 85 8500 90 9000 90 8000
19 0.4186 95 85 8500 90 9000 95 9500
20 0.9268 115 85 8500 90 9000 95 9500
21 0.8607 110 85 8500 90 9000 95 9500
22 0.0872 80 80 7000 80 6000 80 5000
23 0.7895 105 85 8500 90 9000 95 9500
24 0.6240 100 85 8500 90 9000 95 9500
25 0.9751 120 85 8500 90 9000 95 9500
26 0.6145 100 85 8500 90 9000 95 9500
27 0.4680 95 85 8500 90 9000 95 9500
28 0.6953 100 85 8500 90 9000 95 9500
29 0.0680 80 80 7000 80 6000 80 5000
30 0.3132 90 85 8500 90 9000 90 8000
Total 2885 2520 246,000 2635 250,500 2730 249,000
Promedio 0.4927 96.2 84.0 8200.0 87.8 8350.0 91.0 8300.0

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 46
7.3 Problema de un camin repartidor de mercancas

Todos los das un camin sale de la bodega principal (A) a repartir mercancas y efecta paradas en B, C y
D; sin embargo, no siempre toma la misma ruta. En la figura siguiente se muestra las posibles rutas, un
cuadro representa un punto de entrega de mercanca, un crculo representa una interseccin y una flecha
() representa una posible ruta. El nmero encima de cada arco representa la probabilidad de tomar dicha
ruta y el nmero debajo sirve para identificarla. El tiempo empleado para cubrir cada ruta se distribuye
normalmente con la media y desviacin dadas en la tabla siguiente. Se supone que no existen retrasos en las
intersecciones, pero s en los puntos de entrega. El tiempo empleado en cada entrega se distribuye
exponencialmente con las siguientes medias, en minutos.

Punto de entrega B C D
Duracin media 40 20 15

Desarrolle un simulador que genere el tiempo total requerido para hacer las entregas y regresar al punto de
partida, junto con su respectiva distribucin de frecuencia.

0.4 0.5 1.0 0.4
a d e
0.6 1 0.5 3 7 1.0 8 1.0
2 4 1.0 6 9 10
c 1.0 b f 1.
5 11
1.0 22 0.5
j 15 h 1.0 12
1.0 19 0.8
1.0 1.0 16
l k 0.3 i j
21 20 17


Ruta Media Desviacin Ruta Media Desviacin Ruta Media Desviacin
1 5 1.0 9 7 0.4 17 8 0.2
2 3 0.5 10 9 0.3 18 3 0.3
3 10 1.0 11 4 0.6 19 6 1.0
4 2 0.25 12 9 1.0 20 9 1.0
5 8 0.5 13 6 0.4 21 5 0.5
6 3 0.25 14 4 0.1 22 3 0.3
7 12 0.5 15 2 0.1
8 5 0.2 16 4 0.3

Solucin

Lo primero que se debe hacer es tratar de idearse una forma sencilla de representar el problema. Para ello
podemos usar una o varias matrices que nos den informacin acerca de las diferentes rutas y de las
caractersticas de las mismas. Esta informacin debe incluir el nmero o identificacin de cada ruta, las rutas
a las que desemboca, puntos de entrega a los cuales llega, probabilidad de tomar la ruta, tiempo medio y
desviacin estndar. Como existe una informacin que puede representarse en forma entera y otra que
puede representarse en forma real, se disearn dos matrices para representar toda la informacin.

1) Matriz RUTAS(I,J)

Esta matriz guardar informacin sobre la conformacin de las diferentes rutas. En la fila I guardar la
informacin de la ruta I, de la siguiente manera:

Columna 1 ( J = 1): Indica si la ruta I llega a un punto de entrega, y en caso afirmativo, a cual punto.
RUTAS(I,1) = 0 si la ruta I no llega a ningn punto de entrega.
k > 0 si la ruta I llega a un punto de entrega k., donde
RUTAS(I,1) = 1 si la ruta llega al punto de entrega No 1 (B).
= 2 si la ruta llega al punto de entrega No 2 (C).
= 3 si la ruta llega al punto de entrega No 3 (D).
= 4 si la ruta llega al punto de entrega No 4 (A), (punto de partida.).
A B
D
C
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 47
En caso de que la ruta I no desemboque a ningn punto de entrega, entonces no se requiere la
informacin de la columna No 2.
Columna No 2 (J = 2): Indica a cuantas rutas desemboca la ruta No I. Por lo tanto RUTAS(I,2) puede
tomar el valor de 1 2.
Columnas Nos 3 y 4 (J = 3 y J = 4): Identifican el nmero de las rutas a las cuales desemboca la ruta No
I. Si RUTAS(I,2) = 1 entonces RUTAS(I,3) indica a cual ruta desemboca la ruta No I, y no se requiere
definir RUTAS(I,4).

Como para empezar el viaje se parte del depsito central (A), entonces se supone que se est en una ruta
ficticia. Si la variable NRO_RUTAS define el nmero total de rutas (22 en nuestro caso), se asumir que al
empezar el recorrido, el camin se encuentra en la ruta nmero NRO_RUTAS + 1, que no llega a ningn
punto de entrega y que desemboca a dos rutas (las rutas nmeros 1 y 2).

2) Matriz TIEMPO(I,J)

En esta matriz se guardar informacin sobre los tiempos de cada ruta (I) y la probabilidad de tomarla., segn
la siguiente convencin :

Fila I: El subndice I se usar para identificar la ruta I.
Columna 1 (J = 1): Probabilidad de tomar la ruta I.
Columna 2 (J = 2): Tiempo medio de viaje en la ruta I.
Columna 3 (J = 3): Desviacin estndar de la duracin del tiempo de viaje en la ruta I.

3) Vector TM_ENTREGA(I)

En este vector se guardar el tiempo medio de retraso en la entrega en el punto I.

A continuacin se muestra, en forma parcial, las matrices RUTAS y TIEMPO.

MATRIZ RUTA MATRIZ TIEMPO
I/J J = 1 J = 2 J = 3 j = 4 I/J J = 1 J = 2 J = 3
I=1 0 2 3 4 I=1 0.4 5 1.0
I=2 0 1 5 0 I=2 0.6 3 0.5
I=3 1 1 7 0 I=3 0.5 10 1.0
I=4 0 1 6 0 I=4 0.5 2 0.25
I=5 0 1 6 0 I=5 1.0 8 0.5
I=6 1 1 7 0 I=6 1.0 3 0.25
.... ....
I=21 0 1 22 0 I=21 1.0 5 0.5
I=22 4 2 1 2 I=22 1.0 5 0.5
I=23 0 2 1 2 I=23 1.0 3 0.3

Procedimiento general de la simulacin

El procedimiento general de la simulacin para cada viaje se puede resumir en los siguientes pasos:

1) Se inicia el viaje en el depsito central, ubicado en A, correspondiente a la ruta ficticia NRO_RUTAS+1.
2) Desemboca la ruta en un punto de entrega?
a) En caso afirmativo, se pregunta si corresponde al punto A, en cuyo caso el viaje termina.
b) Si no corresponde al punto A, se calcula el tiempo que se tarda en entregar la mercanca y se
actualiza el tiempo total de viaje.
c) Si no desemboca en un punto de entrega, se realza el paso 3)
3) Desemboca a dos rutas?
a) Si desemboca a dos rutas, se selecciona la ruta a seguir.
b) Se calcula el tiempo de viaje a travs de la ruta, y se actualiza el tiempo total de viajes.
4) Se repite el paso 2) hasta que se llegue de nuevo al depsito central ubicado en A.

Para la implementacin del procedimiento anterior, es necesario tener en cuenta los siguientes aspectos,
relacionados con la simulacin propiamente dicha, y son:

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 48
1) Seleccin de la ruta a seguir cuando existen dos alternativas. Si el camin se encuentra en la ruta I y esa
ruta desemboca en dos rutas {RUTAS(I,3)=2}, entonces para escoger la nueva ruta a seguir, se genera un
nmero aleatorio r y la nueva ruta estar dada por:
NUEVA_RUTA= RUTAS(I,3) si r < TIEMPO(I,1)
NUEVA_RUTA= RUTAS(I,4) si r > TIEMPO(I,1)
2) Estimacin del tiempo de viaje en cada ruta. El tiempo de viaje en cada ruta se distribuye normalmente
con media y desviacin estndar diferentes para cada ruta. Si el camin se encuentra en la ruta I, el
tiempo de viaje estar dado por:
TIEMPO_RUTA =I + z oI = TIEMPO(I,2) + Z * TIEMPO(I,3),
donde z corresponde a una variable normal (0,1), que se puede generar mediante uno cualquiera de los
mtodos estudiados previamente (teorema central del lmite, transformacin inversa, enfoque directo).
3) Estimacin del tiempo de entrega de mercanca en cada punto de entrega. Si el camin llega al punto
de entrega K, el tiempo de entrega de la mercanca se distribuye exponencialmente con media 1/ k =
TM_ENTREGA(K). Por lo tanto, para calcular cuanto demora la entrega de la mercanca, se genera un
nmero aleatorio r, y el tiempo estar dado por:
TIEMPO_ENTEGA = - TM_ENTEGA(K) ln (r)
4) Estadsticas que se van a recoger sobre el desempeo del sistema. Para este caso, se desea conocer
todas las estadsticas relacionadas con el tiempo de viaje, a saber: tiempo medio y desviacin estndar,
tiempos mnimo y mximo, y distribucin de frecuencia del tiempo de viaje.

Para la distribucin de frecuencia del tiempo de viaje, es necesario definir los siguientes parmetros:
- Lmite superior del primer intervalo: T0.
- Tamao de cada intervalo: AT.
- Nmero de intervalos: Nro_Int.

Si Tiempo_Viaje representa el tiempo gastado en un viaje, el intervalo Int en el cual cae este valor estar
dado por:
Int
Tiempo Viaje
T
T
=

(
+
_
0
2
A

Si Int < 1 Int = 1
Si Int > Nro_Int Int = Nro_Int

(ver captulo 5, seccin 5.5 Registro de distribuciones de frecuencia..
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 49
A
B
B
Figura No 5. Diagrama descriptivo de flujo para la simulacin del viaje de un camin


























No



Si



S No






No


No Si
S












Problema de un Camin Repartidor :Seudocdigo

Lectura de Datos: Semillas, Parmetros
Inicializa registros para recoger informacin
Viaje = 1
Tiempo viaje = 0
Ruta = Nro_rutas +1
Identifique el punto de entrega.
Calcula tiempo de retraso y actualiza tiempo de viaje
Desemboca en un
punto de entrega?
Es el punto A?
Desemboca en dos
rutas?
Identifica la ruta Selecciona la ruta
Calcula tiempo en la ruta




Actualiza tiempo de viaje
Inicio
Actualiza estadsticas sobre
tiempos de viaje
Hay mas viajes?
Ruta = Nro_rutas +1
A
Generar reporte
Fin
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 50
Lectura de datos sobre :
- Semillas, Nmero de Viajes, Nro_Rutas, parmetros para distribuciones
- Matriz ((RUTAS (I,J), J=1,4), I=1,NRO_RUTAS+1)
- Matriz (TIEMPO(I,J),J=1,3), I=1,NRO_RUTAS)
- Vector TIEMPO_ENTREGA(K), k=1,3)
SUMA_TIEMPO=0
FRECUENCIA(INT)=0, INT=1,NRO_INT
VIAJES = 1
PARA VIAJES = 1 a NRO_VIAJES)

TIEMPO_VIAJE = 0
IR =NRO_RUTAS + 1

MIENTRAS (RUTAS(IR,1) .NE. 4) ENTONCES

DESTINO = RUTAS(IR,1)

SI (DESTINO .GT. 0 ) ENTONCES

GENERAR TIEMPO_ENTREGA : EXPON(TM_ENTRGA )

TIEMPO_VIAJETIEMPO_VIAJE+TIEMPO_ENTREGA

FIN SI

SI (RUTAS(IR,2). EQ. 2) SI NO

IR1 = RUTAS(IR,3)
IR2 = RUTAS(IR,4)


GENERE NUMERO ALEATORIO R IR = RUTAS(IR,3)

SI R .LT. TIEMPO(IR1,1) SI NO

IR = IR1 IR = IR2

FIN SI

FIN SI

MEDIA = TIEMPO(IR,2)
SIGMA = TIEMPO(IR,3)

GENERE TIEMPO_RUTA NORMAL(MEDIA, SIGMA)

TIEMPO_VIAJETIEMPO_VIAJE + TIEMPO_RUTA

FIN MIENTRAS

SUMA_TIEMPO SUMA_TIEMPO + TIEMPO_VIAJE

INT=[(TIEMPO_VIAJE - T0)/NRO_INT + 2]

SI (INT. LT. 1)ENTONCES

INT = 1

SI (INT. GT. NRO_INT) ENTONCES

INT = NRO_INT

FRECUENCIA(INT) = FRECUENCIA(INT) + 1
FIN PARA
TIEMPO_MEDIO = SUMA_TIEMPO/NRO_VIAJES
GENERAR REPORTE DE SALIDA : IMPRIMIR TIEMPO_MEDIO, FRECUENCIA
FIN SIMULACIN
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 51
El seudo cdigo del modelo se presenta en la figura No y el programa detallado en Fortran en la figura No .
En la tabla siguiente se presenta un resumen de los resultados de dos simulaciones

CONCEPTOS CORRIDA No 1 CORRIDA No 2
Semillas 111, 555, 999 77, 777 y 7777
Nmero de viajes 1000 1000
Tiempo medio 148.4 149.6
Desviacin estndar 46.8 45.4
Tiempo mnimo 78.1 75.3
Tiempo Mximo 483.5 366.4

El tiempo medio de viaje, calculado analticamente es 149.85 minutos.

La distribucin del tiempo de viaje, obtenida con la corrida No 1 se presenta en la siguiente tabla

DISTRIBUCION DEL TIEMPO DE VIAJE (Minutos)

Intervalo Limite Limite Frecuencia Frecuencia Frecuencia
nmero inferior superior absoluta relativa Rel. acum.
1 80 menos 5 0.5 0.5
2 95 110 53 5.3 5.8
3 110 125 123 12.3 18.1
4 125 140 179 17.9 36.0
5 140 155 170 17.0 53.0
6 155 170 116 11.6 64.6
7 170 185 102 10.2 74.8
8 185 200 75 7.5 82.3
9 200 215 57 5.7 88.0
10 215 230 42 4.2 92.2
11 230 245 24 2.4 94.6
12 245 260 16 1.6 96.2
13 260 275 8 0.8 97.0
14 275 290 10 1.0 98.0
15 305 mas 20 2.0 100.0

8 Problemas

4.1 Usando los mismos nmeros aleatorios generados en el problema 3.1, genere igual nmero de variables
aleatorios que sigan las siguientes distribuciones:
a) Exponencial con parmetro unitario (exponencial normalizada).
b) Poisson con mismo parmetro de 10
c) Aplique las pruebas chi-cuadrado y de kolmogorov-Smirnov a las variables obtenidos en a) y b).

4.2 Genere 100 variables aleatorias con una distribucin normal cualquiera. Aplique las pruebas de
bondad de ajuste chi-cuadrado y de Kolmogorov-Smirnov. Dibuje el histograma respectivo.

4.3 Genere unos 200 nmeros aleatorios con distribucin exponencial, para distintos parmetros, y luego
dibuje el histograma de frecuencia respectivos, y obtenga conclusiones con respecto a la forma de la
distribucin a medida que el parmetro crece. A qu distribucin tiende?.

4.4 Repita el problema anterior, pero con la distribucin de Poisson.

4.5 Desarrolle un generador de proceso para una variable aleatoria que siga una distribucin chi -cuadrado.

4.6 Desarrolle un generador de procesos para una variable aleatoria que con una distribucin F.

4.7 Desarrolle un generador de un proceso que produzca variables aleatorias que sigan una distribucin t
de student.

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 52
4.8 Desarrolle generadores de procesos para las siguientes funciones de densidad
a)

s s

s s
=
20 10 ,
100
20
10 0 ,
100
) (
x
x
x
x
x f
b) 1 0 , ) 1 ( ) 1 ( ) ( x x b x f
b
< + =

4.9 Desarrolle generadores de procesos para cada una de las variables definidas por las siguientes
funciones de probabilidad:
a)

=


=

,..., 3 , 2 , 1 ,
) 1 ( 1
) 1 (
) (
1
x
p
p p
x p
n
x

b) 6 ,..., 2 , , 1 x , 6 / 1 ) x ( p = =

4.10 La distribucin del tiempo entre llegadas de rdenes a un depsito es exponencial con media de un da.
La distribucin del numero de unidades requeridas en cada orden es geomtrica con p = 0.5. Desarrolle
un generador que produzca la variable aleatoria que representa el nmero total de unidades pedidas en
un da de ocho horas.

4.11 Una lnea de produccin debe ser mantenida por una cuadrilla de reparacin. La lnea puede fallar por
varias causas. Cuando el sistema falla, el equipo de reparacin corrige el problema que ocasion la
falla y hace los ajustes necesarios en la lnea para reducir la probabilidad de que la lnea falle por
cualquiera de las restantes causas, es decir, cuando se hace un ajuste por un problema, se corrigen las
tres causas. Sea Ti el tiempo en horas hasta que el sistema falle por la i-sima causa, medida desde el
ltimo ajuste. La funcin de densidad de Ti est dada por la siguiente expresin, con los parmetros
dados en la tabla adjunta:
f(ti) =
( )
( )
3 , 2 , 1 , 0 ,
! 1
1
= >

i t
i i
n
t
i
i
i
n
t e
i
i i




i 1 2 3
i 0.25 0.10 0.25
ni 4 8 2

La funcin de densidad del tiempo requerido para completar las reparaciones est dado por:

g (x) = 5 e
-5x
x > 0

donde el tiempo de reparacin es independiente del tiempo de falla. Se quiere determinar por
simulacin a) El porcentaje de tiempo que el sistema est inactivo durante un ao y b) El porcentaje
de fallas causadas por cada causa..

4.12 Un fabricante produce uno de sus productos en lotes de 300. Loas programas de produccin se hacen
con 10 das de adelanto. Para cada unidad producida se requiere una unidad de materia prima. La
materia prima requerida es comprada a un proveedor y la orden por la materia prima debe colocarse
dentro de los 10 das precedentes al comienzo programado de la produccin. La orden puede
colocarse en uno cualquiera de estos 10 das. Si la orden se coloca demasiado tarde la produccin se
retrasa a un costo de $ 200.000 por ao de retraso. Sin embargo, si la orden se coloca demasiado
pronto, la materia prima debe mantenerse en inventario a un costo de $ 200 por unidad ao. La
distribucin del tiempo de espera, en aos, es Erlang con n = 200, K = 4. Se pide determinar cundo
deben colocarse las rdenes por la materia prima.

B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 53
4.13 Todos los das un hombre deja su casa (A) y va a trabajar a (H). Sin embargo, no siempre toma la
misma ruta. El diagrama siguiente indica las rutas que puede tomar. El valor que hay encima de cada
ruta es la probabilidad de tomarla, y el valor que hay debajo identifica la ruta.
0.8 0.8
3 .7 0.3 0.5
1 0.2 0.6 7 10 9
1 4 1.
13
.5 .6 . 5 0.4 0.4 11 .6
2 8 12
.4
6

La distribucin del tiempo gastado en cada ruta es normal, con los siguientes parmetros:

Ruta Media(min) Desviacin Ruta Media (min) Desviac.
1 20 1.0 7 4 0.6
2 15 2.0 8 5 0.8
3 5 0.5 9 3 0.25
4 7 1.0 10 6 1.0
5 6 1.5 11 5 0.8
6 10 2.0 12 7 1.1
13 6 1.0

Determine el tiempo medio de viaje entre (A) y (H), despus de 500 viajes y comprelo con la solucin
analtica.

4.14 La distribucin de la produccin diaria de un artculo es normal, con una media de 6.000 artculos y una
desviacin de 500. Cada da se debe desechar cierto porcentaje (100p) de la produccin total. Esto es
si el porcentaje de deshechos es 100p y si la produccin diaria es x, la produccin neta ser y = x - px.
La funcin de densidad de la fraccin defectuosa p est dada por:
g(p) = 99 (1- p)
98,
0 < p < 1
Desarrolle un generador para la produccin neta por da; genere la produccin durante 500 das y
demuestre, usando la prueba chi-cuadrado o la Smirnov-Kolmogorov que la produccin neta diaria es
normal. Use o = 0.05.

4.15 Se ha diseado el siguiente sistema de control de calidad para controlar una dimensin particular. Se
selecciona una muestra de 9 artculos de un lote de 1.000 unidades. Se mide la dimensin de cada
unidad de la muestra y luego se calcula la dimensin media x como:

n
n
i
Xi
X

=
=
1

siendo xi la dimensin del i -simo artculo de la muestra y n = 9. Si x cae entre 4.5 y 5.5 el lote es
aceptado; en caso contrario el lote es rechazado. La dimensin deseada es 5. La distribucin de la
dimensin de cada artculo del lote es normal, con media m y desviacin estndar 0.7 La distribucin
de la media del lote m es normal con media 5 y desviacin de 0.1. Simulando la inspeccin de 1000
lotes determine la probabilidad de rechazar un lote.

4.16 Un sistema electrnico est compuesto de tres componentes 1,2 y 3 tal que si cualquier componente
falla, el sistema falla (sistema en serie). La distribucin del tiempo hasta la falla de cada componente es
normal con la media y la desviacin estndar dados en la tabla dada al final de este problema. Este
sistema debe funcionar en forma continua durante un ao. La confiabilidad del sistema (definida como
probabilidad de que sobreviva este perodo de tiempo) es la probabilidad de que cada uno de los
componentes dure al menos un ao, y est dada por:

Confiabilidad = P( T1 > 1) x P( T2 > 1) x P( T3 > 1) = (0.9772) (0.9961) (0.8413) = 0.8189

Una confiabilidad del 81.89% no se la considera lo suficientemente alta. Para aumentar la confiabilidad
del sistema se pueden agregar componentes en estado de alerta de respaldo, los cuales pueden
desempear la misma funcin del componente principal cuando ste falle, extendiendo as la vida del
sistema. La distribucin de cada componente adicional (o de respaldo) es exponencial, con la media
A
B
F
G
D
C
H
E
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 54
dada en la tabla mencionada. Se pueden agregar cualquier nmero de componentes, pero al costo
dado en la misma tabla. Determine por simulacin el nmero y el arreglo de los componentes que lleven
la confiabilidad del sistema a al 98% (al mnimo costo).

Componente COMPONENTE PRINCIPAL COMPONENTES DE RESPALDO
Vida Media
(aos)
Desviacin
Estndar (aos)
Vida media
(aos)
Costo/unidad
agregada
1 1.2 0.10 0.05 200
2 1.4 0.15 0.07 300
3 1.1 0.10 0.04 250

4.17 Un centro de cmputo opera 24 horas al da y requiere tres operarios de computador por turno de 8
horas. A cada operario se le pagan $30 la hora. Si un operario no puede trabajar su turno, debe ser
reemplazado en ese turno o el equipo que maneja debe apagarse, a un costo de $ 1.000 por hora.
Para asegurarse contra la posibilidad de prdidas de tiempo de mquina se ha propuesto que varios de
los operarios sean mantenidos bajo alerta para ser llamados en aquellos turnos en que no estn
trabajando. Se propone que a estos operarios se les pague una bonificacin de $4.00 por hora para
que estn disponibles. Cuando se llame a uno de estos operarios a trabajar se les debe pagar un
recargo del 50%. La probabilidad de que un operario pueda trabajar su turno es 0.95 y la probabilidad
de que un operario bajo alerta puede ser localizado cuando se lo necesite es de 0.90. Determine el
nmero ptimo de operarios que deben mantenerse bajo alerta, de tal manera que se minimice el
costo total. Asuma que a cada operario que est bajo alerta se le pagan los $ 4 por hora sea que se le
necesite o no.

4.18 El departamento de control de calidad ha adoptado un plan de muestreo para lotes que se reciben de
un proveedor externo. Las unidades se seleccionan una a una. Si se encuentran dos unidades
defectuosas., el lote debe rechazarse. Si el nmero de defectuosos encontrados despus de
inspeccionar diez artculos es cero o uno, el lote es aceptado. La fraccin defectuosa p sigue la
distribucin siguiente, con a = 10.

f (p) = (a+1) (1-p)
a
, 0 < p < 1

Cada inspeccin cuesta $ 10 por artculo. El costo esperado de inspeccin ha sido estimado en $ 85
por lote inspeccionado. Determine por simulacin si este estimativo puede aceptarse. Use o = 0.05

4.19 Una compaa produce mezcladores elctricos a una tasa anual de 1 000. Cada mezclador est
garantizado por un perodo de 4 aos. El costo de producir un mezclador que tenga una vida media de
m aos est dado por:

c = a + bm + cm
2


donde a = $ 250, b = $ 200, c = $ 10

El tiempo de funcionamiento de un mezclador hasta que falla se distribuye exponencialmente con la
media m. Cada falla que ocurre durante la garanta le cuesta al productor $ 333.50. Se quiere
determinar por simulacin el valor ptimo de m.

4.20 Resuelva el problema anterior cuando el costo de una falla (C) durante el perodo de garanta es una
variable aleatoria con la siguiente funcin de densidad:
f (c) = 0.25 (20 - c) 0 < c < 20

4.21 En el problema 18 se espera que el costo de produccin por unidad aumente a una tasa promedio de
7% por ao para los prximos 5 aos y el costo por fallas se espera que aumente en un 10% por ao
durante el mismo perodo. Encuentre el valor ptimo de m.

4.22 La tasa de nacimiento de una poblacin se distribuye normalmente con un valor medio de 5% y una
desviacin estndar de 0.5%. La tasa de muerte tambin se distribuye normalmente con media 6% y
desviacin estndar 1%. Calcule los cambios en la poblacin para 5 aos a intervalos de un ao.

4.23 Un recipiente contiene 1.000.000 de galones de agua y se vaca a una tasa estable de 10.000 galones
por da. Las lluvias ocurren con una distribucin de Poisson a una tasa media de una en 10 das. La
cantidad de agua que cae al tanque en cada lluvia est distribuida normalmente con una media de
80.000 galones y una desviacin estndar de 5.000 galones.

a) Determine el contenido del recipiente despus de 60 aos. Asuma que el recipiente empieza lleno
y que el agua excede la capacidad del recipiente se pierde.
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 55
b) Cuntos galones de agua fueron desaprovechados?

4.24 Los carros llegan aleatoriamente a una cabina y pagan el peaje. Si es necesario, esperan en la cola de
acuerdo al orden de llegada. El tiempo entre llegadas se distribuye uniformemente entre 0 y 9, inclusive
(aproxime al segundo ms cercano). El tiempo para pagar es tambin aleatorio y entre 0 y 9 segundos,
pero con la siguiente distribucin de probabilidad:

f(t) = t
- 1/2
/6, 0 < t <9

Determine los tiempos de llegada y los tiempos que necesitan para pagar los 10 primeros carros. A qu
hora termina de pagar el quinto carro?. El sptimo?. Trunque todos los nmeros calculados al entero
ms cercano.

4.25 Un repartidor compra peridicos en paquetes de veinte a dos pesos cada uno y los vende a tres pesos.
Los peridicos no vendidos carecen de valor. Al analizar las ventas del pasado se descubre que existen
tres distribuciones de la demanda, dependiendo de las noticias que figuran en el peridico. Un da de
Buenas noticias da como resultado encabezados interesantes para muchos clientes potenciales; los
das normales y malos tienen encabezados de menor inters. Histricamente, el 20% de los das han
sido buenos, el 50% normales y el 30% malos. Las distribuciones de la demanda se resumen a
continuacin:

Demanda diaria Tipo de da, segn las noticias
Malo Normal Bueno
40 0.05
50 0.20 0.03
60 0.41 0.07
70 0.26 0.28
80 0.08 0.30 0.02
90 0.25 0.15
100 0.07 0.28
110 0.24
120 0.12
130 0.09
140 0.06
150 0.04

Determine la cantidad que debe pedirse.

4.26 Una empresa de alquiler de autos est tratando de determinar el nmero ptimo de autos a comprar. El
costo promedio anual de un auto es de $ 11 000 000. Adems, esta compaa ha recopilado las
siguientes estadsticas sobre las operaciones de carros :

Nmero de autos alquilados por da 0 1 2 3 4
Probabilidad 0.10 0.10 0.25 0.30 0.25

Nmero de das rentados por auto 1 2 3 4
Probabilidad 0.40 0.35 0.15 0.10

Si la renta diaria por auto es de $52 000, el costo de no tener un auto disponible cuando se lo solicita es
de $30 000, y el costo de tener un carro ocioso durante un da es de $7 500, cuantos autos deber
comprar la compaa ?. Suponga que un auto que se alquila por un da est disponible al da siguiente.

4.27 Un vendedor de revistas compra mensualmente una revista el da primero de cada mes. El costo de
cada ejemplar es $6 000. La demanda de esta revista en los primeros diez das del mes tiene la
distribucin de probabilidad dada a continuacin:



Demanda 5 6 7 8 9 10 11
Probabilidad 0.05 0.05 0.10 0.15 0.25 0.25 0.15

Al final del dcimo da, el vendedor puede regresar cualquier cantidad de revistas al proveedor, quien se
las pagar a 3 600 el ejemplar, o puede comprar mas revistas a un costo de $4 800 el ejemplar. La
demanda en los siguientes 20 das est dada por la siguiente distribucin de probabilidad:

Demanda 4 5 6 7 8
Probabilidad 0.15 0.20 0.30 0.20 0.15
B. Caldern. Introduccin a la Simulacin. Captulo 4. Generacin de Procesos 4 - 56

Al final del mes, el vendedor puede regresar al proveedor las revistas que le sobren, las cuales se le
pagarn a $3 600 el ejemplar. Finalmente, se supone que despus de un mes ya no existe demanda por
parte del pblico, puesto que para ese entonces ya habr aparecido el nuevo ejemplar. Si el precio al
pblico de la revista es $ 8 000 por ejemplar, determine la poltica ptima de compra.

4.28 Debido a un aumento en las ventas, cierta compaa productora necesita mas espacio en su fbrica. La
solucin que se ha propuesto es la construccin de un nuevo depsito para almacenar los productos
terminados. Este depsito estar localizado a 35 kilmetros de la planta. Adems, de acuerdo con este
nuevo plan, se requiere que al final del da se enve la produccin terminada al nuevo depsito.

Por otra parte, con base en informacin histrica, se ha estimado que la produccin diaria de la
empresa tiene la siguiente distribucin de probabilidad:

Produccin diaria (toneladas) 50 - 55 55 - 60 60 65 65 - 70 70 - 75 75 - 80
Probabilidad 0.10 0.15 0.30 0.35 0.08 0.02

Tambin se sabe que el tipo de camiones que se deben utilizar para transportar esta produccin tienen
capacidad de 5 toneladas. La cantidad de viajes que se pueden realizar cada da (jornada de 8 horas),
depende del tiempo de carga y descarga, como tambin del tiempo que se requiere para recorrer la
distancia entre la planta y el depsito. Por lo tanto, la cantidad de producto terminado que un camin
puede transportar de la planta al depsito, es una variable aleatoria cuya distribucin de probabilidad es
la siguiente:

Toneladas diarias transportadas/camin 4.0 4.5 4.5 5.0 5.0 5.5 5.5 6.0
Probabilidad 0.30 0.40 0.20 0.10

Si la cantidad diaria producida es mayor que la cantidad que puede transportar la flotilla de camiones, el
excedente debe ser enviado a travs de camiones de otra compaa transportadora a un costo de $20
000 la tonelada. Adems el costo promedio anual de un camin nuevo es de $ 20 000 000. Si se
trabajan 250 das al ao, cual es el nmero ptimo de camiones que la empresa debe comprar?
5 SIMULACIN DE EVENTOS DISCRETOS


1 Introduccin

En el Captulo anterior se estudi el problema de la generacin de muestras artificiales de
diferentes procesos. Las observaciones de la muestra se generan mediante la ayuda de los
nmeros aleatorios y del conocimiento de la distribucin del proceso de donde se iba a extraer la
muestra. Esos procesos pueden representar el tiempo entre la llegada de los clientes a un
supermercado, la longitud de un perodo de trabajo de una mquina, el resultado obtenido al
examinar un artculo, etc. Sin embargo, se consideraba la generacin del proceso o variable
aleatoria en una forma aislada, como si el fin principal fuera nicamente la variable que se
generaba, sin considerar que esa variable formaba parte de un sistema o un todo ms complejo.
Es decir, las variables aleatorias que se generan forman parte de un modelo que se construye
para representar el sistema que en un momento dado se desea simular. Antes de entrar un
poco ms en el detalle de la forma de construir el modelo de simulacin es necesario dar unas
definiciones de lo que se entiende por un sistema y de las propiedades de los mismos.

2 Definiciones

Sistema. Un sistema es un conjunto de objetos o componentes unidos que interactan dentro
de ciertos lmites establecidos para obtener algn objetivo comn. Para la simulacin el sistema
representar el objeto o parte que ser sometido al estudio por medio de esta tcnica. Una
fbrica que procese rdenes a travs de diferentes secciones o procesos es un ejemplo de un
sistema. En un momento dado podemos estar interesados en estudiar nicamente una de esas
secciones, la cual sera un subsistema del sistema principal. Esa seccin o subsistema, sera el
sistema que nos interesa para la simulacin.

Entidad. El trmino entidad es usado para denotar un objeto de inters en el sistema. Las
rdenes que llegan a una fbrica son un ejemplo de una entidad; las mquinas a travs de las
cuales pasan las rdenes son otras entidades.

Atributo. El trmino atributo denota una propiedad de una entidad. As una entidad puede
tener muchos atributos.

Actividad. Cualquier proceso que ocasione cambios en el sistema es denominado actividad.

Estado del sistema. El trmino "estado del sistema" es empleado para expresar una
descripcin de todas las entidades, actividades y atributos en la forma como existen en un
momento cualquiera. El progreso del sistema es estudiado siguiendo los cambios en el estado
del sistema. Un sistema se mueve de un estado a otro a medida que sus entidades se
comprometen en actividades que cambien sus estados.

Evento. El trmino evento se usa para describir la ocurrencia de un cambio en el estado del
sistema en un instante cualquiera en el tiempo. Los eventos indican el comienzo, la terminacin
o la modificacin de una actividad. El comportamiento del sistema es simulado por los cambios
de estado que ocurren cuando sucede un evento. Cuando ocurre un evento el estado del
sistema puede cambiar en tres formas:

a. Alterando el valor de uno o ms atributos de las entidades
b. Creando o destruyendo una entidad, es decir, cambiando el nmero de entidades del
sistema, y
c. Comenzando, terminando o modificando una actividad

Los eventos, al igual que las entidades, tienen atributos. En efecto, cada evento debe tener un
atributo que defina el tiempo en que va a ocurrir. Otros atributos normalmente asociados con
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 2
los eventos describen el tipo de evento y a veces, las entidades y los atributos de las entidades
afectadas por los eventos.

Lista. Una lista es una coleccin de entidades asociadas (temporal o permanentemente)
ordenadas de una manera lgica (. Por ejemplo, una cola que puede ordenarse por el tiempo de
llegada, o por la prioridad).

Lista de eventos (LEF). Corresponde a la lista de los eventos (primarios) que han de ocurrir en
el futuro, junto con sus respectivos atributos. Tambin se la conoce como Lista o Matriz de
Eventos Futuros LEF.

La figura 5.1 presenta varios ejemplos de sistemas, con sus respectivas entidades, atributos y
actividades.

El objeto de un estudio de simulacin es reproducir las actividades en que se comprometen las
entidades de un sistema y obtener informacin acerca del comportamiento y desempeo
potencial del mismo. Para estudiar un sistema el concepto clave es el de la "descripcin del
estado del sistema". Si un sistema puede caracterizarse por un conjunto de variables, con
cada combinacin de los valores de las variables representando un estado nico del sistema,
entonces la manipulacin de las variables simula el movimiento del sistema de un estado a otro.

Fig. 5.1 Ejemplos de sistemas

SISTEMAS ENTIDADES ATRIBUTOS ACTIVIDADES
Trfico Carros Velocidad
Distancia
Conduccin
Banco Clientes Balance
Estado de crdito
Depositar
Retirar
Comunicaciones Mensajes Longitud
Prioridad
Transmisin
Supermercado Consumidores Lista de compras Pagar
Empresa Departamentos
Ordenes
Productos
Tipos
Cantidades
Proceso
de
rdenes

Para realizar una simulacin hay dos aspectos muy importantes que hay que analizar, a saber:

a. La identificacin de las entidades y los atributos, y
b. La codificacin de los valores de los atributos para poder caracterizar los estados del
sistema. Por ejemplo, es necesario definir cmo se va a representar una entidad que est
recibiendo un servicio o una que est esperando que la atiendan.

De lo anterior se concluye la importancia de crear un modelo para la simulacin en el cual se
consideren las diferentes variables que pueden describir el estado del sistema en un instante
cualquiera. A continuacin se hace un resumen de los diferentes aspectos que es necesario
considerar al construir el modelo.

3 Elementos del Modelo

Para la formulacin del modelo matemtico es necesario especificar:

a. Los componentes del sistema que va a ser simulado.
b. La especificacin de las variables y parmetros. Al determinar las variables es necesario
especificar las variables exgenas, las de estado y las endgenas, y dentro de las variables
exgenas cuales son controlables y cuales aleatorias.
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 3
c. Las relaciones funcionales. Para las variables aleatorias es necesario definir en qu forma
van a ser generadas, lo cual incluye la definicin del generador de nmeros aleatorios.
Como se ha mencionado anteriormente, no es necesario llegar a expresiones muy complicadas
que relacionen los componentes entre s, sino a un conjunto de expresiones, las cuales se
emplean separadamente dependiendo de las condiciones del sistema, es decir, de los valores
que tomen las variables de estado.
3.1 Mtodos para Analizar los Sistemas

Existen dos enfoques bsicos para analizar un sistema de inters. Esos enfoques son:
3.1.1 Enfoque de Flujo

Uno de los mtodos ms comunes para examinar una situacin nueva es seguir el flujo de los
principales elementos que se estn procesando.

Este enfoque es apropiado para sistemas que tienen propiedades determinadas por el flujo de
entidades fsicas o de informacin a travs del sistema. En el caso de un sistema de produccin
se empezara con la materia prima bsica y se mostrara la entrada de otros materiales y
componentes a medida que el producto pasa a travs de los procesos de manufactura y de
ensamble. La secuencia de pasos en el sistema puede mirarse como una alternacin de
procesamiento (cambios en el producto) y movimiento (al prximo proceso). Enfocar el flujo
revela fcilmente donde pueden ocurrir demoras en el procesamiento, y los efectos de tales
retrasos en los procesos siguientes.

Es natural tratar o considerar un grupo de procesos como un subsistema bsico, cuando se
enfoca un sistema a travs del flujo. Un proceso es un punto en un sistema de produccin donde
el producto sufre un cambio; usualmente hay involucrada una facilidad o equipo que efecta el
cambio, un operario, materiales y algn procedimiento para ejecutar el proceso.

Una vez se identifican los subsistemas, es necesario realizar estudios para indicar donde se
pueden efectuar mejoras que den buenos dividendos. Una vez que un analista ha empleado este
mtodo con xito y ha logrado identificar los subsistemas, puede aplicarlo a uno de los
subsistemas, aunque probablemente no haya nada que fluya fsicamente. En estos casos, es
posible "imaginar" un flujo: Por ejemplo, en un taller se pueden imaginar las mquinas que
"salen" del proceso de produccin cuando fallan y van en busca de un mecnico que las repare y
luego regresan al proceso de produccin cuando son reparadas. La conceptualizacin de flujos
imaginarios es muy til en a formulacin del problema.

En la mayora de los sistemas hay dos flujos: productos y personas. Existen tambin otros flujos,
de los cuales los ms importantes son la informacin y el dinero.

En la mayora de los sistemas deben identificarse primero los elementos que fluyen y luego los
subsistemas.

Ejemplo: Sistema de una cola usando el enfoque de flujo

Para ilustrar el enfoque de flujo, se analizar la simulacin de un sistema de colas de un
servidor. Para este ejemplo se construir inicialmente un modelo simplificado, luego el modelo
ampliado, explicndolo tanto mediante un diagrama de flujo como mediante el seudo cdigo, de
tal forma que sea fcil de comprender, y posteriormente se implementar en una hoja de clculo
de Excel

Para construir el modelo usando el enfoque de de flujo es necesario examinar lo que sucede con
el cliente que requiere el servicio, lo cual se puede resumir en las siguientes grandes
actividades, aclarando que la entidad que fluye a lo largo del sistema es el cliente,: 1)
Inicialmente el cliente llega al sistema en busca de un servicio. 2) El cliente espera, si es
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 4
necesario. 3) El empleado o servidor atiende al cliente, durante el tiempo que sea necesario,
incluyendo el tiempo para hacer el pedido y para pagar. 4) Una vez paga el cliente sale de la
tienda. Estas actividades resumen el recorrido que sigue el cliente. Tambin se presenta el
diagrama esquemtico de bloques, que representa, con ligeras modificaciones, el procedimiento
seguido para construir el modelo.


Legada del cliente Paso a la cola Paso al servicio Salida

Figura 5.2 Flujo de un cliente en sistema de colas de una estacin














El diagrama de la pgina siguiente presenta con un poco ms de detalle el procedimiento para la
simulacin del sistema de colas de un servidor usando el enfoque de flujo. Tanto para el
diagrama de flujo como para la hoja de clculo se cumplen las siguientes suposiciones:

- El primer cliente llega en el tiempo cero (aunque podran llegar en cualquier instante a partir
del tiempo cero).
- La disciplina de la cola es FIFO, es decir, de acuerdo al orden de llegada

En el desarrollo del modelo se tienen en cuenta las siguientes relaciones:

- Para cada cliente se genera el tiempo que tarda en llegar, a partir de la llegada del cliente
anterior. Por lo tanto, el tiempo de llegada al sistema es igual al tiempo de llegada del
cliente anterior, mas el tiempo que tarda en llegar (tiempo entre llegadas).
- Un cliente inicia servicio tan pronto llega, si el servidor est inactivo, o tan pronto termina el
servicio del cliente anterior.
- El tiempo de permanencia de un cliente en la cola es igual al tiempo de inicio de servicio
menos el tiempo de llegada al sistema.
- Para cada cliente se debe generar el tiempo que dura su servicio. Por lo tanto, el tiempo de
salida del sistema es igual al tiempo de inicio del servicio ms la duracin del mismo.
- El tiempo de permanencia de un cliente en el sistema es igual al tiempo de salida (fin de
servicio) menos el tiempo de llegada al sistema.
- El tiempo de inactividad del servidor es igual al tiempo de inicio de servicio de un cliente
menos el tiempo de fin de servicio del cliente inmediatamente anterior.

Llegada del cliente
Espera ser atendido
Se presta el servicio
El cliente sale
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 5




















































Figura 5.3 Diagrama de flujo para a simulacin de un sistema de colas con un servidor. Enfoque
del flujo

Calcula tiempo de permanencia en el sistema
Clculo de estadsticas
Inicio
Definicin de parmetros
Reloj = 0
Incializacin registros = 0
Para i = 1, nro_clientes
tiempo entre llegadas
Genera tiempo
entre llegadas
Calcula tiempo de llegada
Calcula tiempo de inicio de servicio
Calcula tiempo de espera
Genera tiempo de
servicio
Calcula tiempo de inactividad del servidor
espera
Calcula tiempo de fin de servicio
Siguiente cliente
Fin
Reloj = Tiempo salida ltimo cliente
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 6
Figura 5.3a Enfoque del flujo. Sistema de colas de una estacin

Inicio
Definicin de parmetros
Reloj = 0
Inicializacin de registros
Para clientes = 1, nro_clientes
Generacin de tiempo entre llegadas
Clculo de tiempo de llegada
Clculo de tiempo de inicio de servicio
Clculo de tiempo de espera
Clculo del tiempo de inactividad del servidor
Generacin del tiempo de servicio
Clculo del tiempo de fin de servicio
Clculo del tiempo de permanencia en el sistema
Siguiente cliente
Clculo de estadsticas
Fin

El modelo fue implementado en Excel, para las distribuciones de tiempos entre llegadas y
tiempos de servicios dados a continuacin. Las columnas usadas en el modelo de Excel, su
contenido y forma de clculo se presentan en la siguiente tabla:

Figura 5.4 Sistema de colas de una estacin. Diseo de la simulacin en Excel
Columna Contenido
Clculo para la
fila i
Observaciones
A Nmero del cliente (i) = (i-1) + 1 Inicia en 1
B Nmero aleatorio =aleatorio()
C Tiempo entre llegadas Segn distribucin
D Tiempo de llegada del cliente D(i-1)+C(i) D(1) = 0
E Tiempo de inicio de servicio Max(D(i), I(i-1)
F Tiempo de espera E(i) D(i)
G Nmero aleatorio =aleatorio()
H Tiempo de servicio Segn distribucin
I Tiempo de fin de servicio E(i) + H(i)
J Tiempo de permanencia en el sistema I(i) D(i)
K Tiempo de inactividad del servidor E(i) I(i-1)

En el cuadro que sigue se presenta la simulacin, usando la hoja de clculo Excel, de los 20
primeros clientes del sistema de colas con las siguientes caractersticas:

- Distribucin de tiempo entre llegadas (minutos):

Tiempo entre llegadas 1 2 3 4 5 6 7 8
Probabilidad 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125

- Distribucin del tiempo de servicio (minutos):

Tiempo de servicio 1 2 3 4 5 6
Probabilidad 0.10 0.20 0.30 0.25 0.10 0.05

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 7

Figura 5.5 Simulacin de un modelo de colas de un solo canal
Cliente
nmero
R
Tiempo
prxima
llegada
Tiemp
de
llegada
Tiempo
inicio
servicio
Tiempo
de
espera
R
Tiempo
de
servicio
Tiempo
fin de
servicio
Tiempo
en el
sistema
Tiempo
ocioso
cajero
( A ) ( B ) ( C ) ( D ) ( E ) ( F ) ( G ) ( H ) ( I ) ( J ) ( K )
1 0 0 0 0 0.101 2 2 2 0
2 0.853 7 7 7 0 0.706 4 11 4 5
3 0.208 2 9 11 2 0.541 3 14 5 0
4 0.945 8 17 17 0 0.649 4 21 4 3
5 0.030 1 18 21 3 0.092 1 22 4 0
6 0.064 1 19 22 3 0.072 1 23 4 0
7 0.984 8 27 27 0 0.796 4 31 4 4
8 0.603 5 32 32 0 0.213 2 34 2 1
9 0.852 7 39 39 0 0.819 4 43 4 5
10 0.302 3 42 43 1 0.035 1 44 2 0
11 0.981 8 50 50 0 0.755 4 54 4 6
12 0.048 1 51 54 3 0.497 3 57 6 0
13 0.780 7 58 58 0 0.626 4 62 4 1
14 0.882 8 66 66 0 0.451 3 69 3 4
15 0.945 8 74 74 0 0.726 4 78 4 5
16 0.698 6 80 80 0 0.434 3 83 3 2
17 0.514 5 85 85 0 0.089 1 86 1 2
18 0.631 6 91 91 0 0.411 3 94 3 5
19 0.552 5 96 96 0 0.743 4 100 4 2
20 0.229 2 98 100 2 0.904 5 105 7 0
20 98 14 60 74 45
4.9 0.7 3 3.7 0.429
Estadsticas:
1 Tiempo promedio de espera = 0.7
2 Clientes que no esperan = 14
3 Probabilidad de esperar = 0.3
4 Tiempo medio de los que esperan = 2.3
5 Porcentaje de inactividad del cajero = 42.9
6 Tiempo medio de servicio = 3
7 Tiempo medio entre dos llegadas = 4.9
8 Tiempo medio en el sistema = 3.7
9 Tiempo medio en el sistema control = 3.7
10 Nmero medio de clientes en el sistema L = 0.76
11 Nmero medio de clientes en la cola Lq = 0.14
12 Nmero medio de clientes en servicio a = 0.57
13 L aprox. Control = 0.71
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 8

En la parte final de la tabla se presentan las principales estadsticas de la simulacin, las cuales
son obtenidas, unas a partir de la propia simulacin y otras a partir de relaciones que siempre se
cumplen en los diferentes sistemas de colas, usando las frmulas de Little (nmero medio de
unidades en el sistema, en la cola y en servicio):

3.1.2 Enfoque hacia los cambios de estado (por eventos)

En este mtodo de anlisis se requiere examinar el sistema en ciertos intervalos de tiempo y
observar si en ese intervalo han ocurrido cambios en el sistema. En cada instante se observa el
estado del sistema, el cual es representado especificando los valores de las variables exgenas y
de estado relevantes.

En este enfoque se divide el tiempo en una serie de instantes o puntos. En cada instante
podemos imaginarnos que tomamos una instantnea del sistema. La foto o instantnea es el
estado del sistema. El estado del sistema se representa mediante los valores que toman en ese
instante las variables exgenas y de estado ms relevantes. De acuerdo con el estado del
sistema, se toman las decisiones pertinentes, es decir, el curso de accin a seguir,

La primera tarea en el anlisis por cambios de estado consiste en identificar las variables ms
relevantes. La siguiente y la ms difcil es definir las relaciones que describen como cambia el
estado del sistema (cada una de las variables) a medida que el tiempo avanza de un instante al
siguiente. Dado que cada variable no necesariamente cambia en cada avance del tiempo, las
relaciones dependientes del tiempo pueden estar condicionadas a los estados pasado y presente,
es decir, una variable particular puede cambiar slo cuando el estado presente tenga ciertas
caractersticas.

La primera tarea en el anlisis por cambios de estado consiste en identificar las variables
relevantes. La siguiente y la ms fcil consiste en definir las relaciones que describan en qu
forma cambia el estado del sistema a medida que el tiempo avanza.

Las relaciones para efectuar los cambios de estado, pueden involucrar dos procesos o etapas:

1) Un procedimiento para determinar si una variable o grupo de variables puede cambiar.
2) Un procedimiento computacional mediante el cual se actualicen las variables.

El enfoque ms apropiado para la simulacin es el enfoque de los cambios de estado o por
eventos, es decir, observar el sistema slo cuando ocurre algo que haga cambiar su estado. En
algunos casos tambin puede usarse el enfoque de flujo, es decir, examinando el flujo que una
entidad sigue a travs del sistema, desde que entra hasta que sale. Sin embargo, con el
enfoque del flujo se obtiene menos informacin que con el enfoque hacia los cambios de estado,
ya que en el enfoque del flujo se considera nicamente la entidad de inters, y en el enfoque de
cambios de estado se consideran todas las entidades que hay en el sistema en un momento
dado.

Una vez definido el modelo con sus componentes, variables, parmetros y relaciones funcionales
es necesario definir cmo vamos a representar el tiempo en la simulacin y cmo vamos a hacer
para desarrollar la simulacin en s. En las secciones siguientes se tratar, primero el problema
de la representacin del tiempo en la simulacin, luego la forma bsica de desarrollar la
simulacin y finalmente el problema de la recoleccin de estadsticas.
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 9
Ejemplo: Sistema de una cola usando el enfoque por eventos

Para ilustrar el enfoque por eventos, se analizar la simulacin de un sistema de colas de un
servidor.

Los nicos eventos primarios que se presentan en esta simulacin son la llegada de una unidad
o cliente al sistema y la terminacin de un servicio por parte de una estacin. Con el fin de
facilitar la implementacin del modelo computaciones, tambin se incluye como evento primario
el fin de simulacin, es decir, el instante en que dejamos de observar o analizar el sistema.

Adems, como se explic antes, cada uno de los eventos primarios anteriores puede generar
otros eventos secundarios, dependiendo del estado del sistema, como se ilustra a continuacin.
Cuando una unidad llega al sistema, se puede iniciar un servicio, si hay un servidor inactivo, o
cuando un servidor finaliza un servicio, puede empezar otro servicio para una nueva unidad, si
hay al menos una unidad en la lista de espera.

Cuando una unidad entra al sistema, esta unidad puede quedar en uno de dos posibles estados:
la unidad o se queda en la cola o pasa al servicio. El siguiente diagrama ilustra lo que debe
hacer el simulador cuando una unidad llega al sistema.






No



S







No




Si





Figura 5.6 Actividades realizadas cuando una unidad llega al sistema

Cuando el evento es un fin de servicio, el simulador debe realizar las actividades descritas en el
diagrama de la figura 5.7

Como se indic antes, el sistema incluye las unidades que estn en la cola, las unidades que
estn recibiendo servicio y las estaciones de servicio. Los estados de las diferentes entidades
deben incorporarse en el modelo. Los estados de una unidad, pueden ser nicamente dos : o
est en la cola esperando servicio, o est siendo atendida. Igualmente, los estados de las
Llegada Cliente
Hay servidores
inactivos?
Se selecciona un servidor
disponible
El Cliente pasa al servicio
La unidad pasa
a la Cola
Puede entrar al
sistema?
Se identifica al Cliente
Cliente se va
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 10
facilidades o estaciones de servicio son dos: estn ocupadas atendiendo una unidad, o estn
ociosas. Por lo tanto debemos buscar la forma de representar los estados antes mencionados, y
hacer que ocurran los eventos descritos.

Para el sistema que se est tratando de simular se debe mantener el registro de los siguientes
tiempos

- El tiempo de llegada de la nueva unidad al sistema.
- El tiempo en que finaliza el servicio de una unidad.
- El tiempo actual de la simulacin. Este tiempo se mantendr en la variable denominada
RELOJ (el reloj de la simulacin).

Por lo tanto es necesario definir la forma de determinar cuando llega una unidad o cliente al
sistema y cuando se termina un servicio. En una situacin real cuando llega una unidad al
sistema no se sabe cuando llegar la prxima, aunque si puede saberse como se distribuye e!
tiempo entre llegadas. En forma similar, cuando el servidor empieza a servir una unidad, no se
sabe cuanto tiempo durar el servicio, aunque s puede conocerse cual es su distribucin. Sin en
embargo en un modelo de simulacin s podemos saber o estimar cuando ocurrir la prxima
llegada o cuando se finalizar un servicio, ya que estos tiempos pueden generarse con base en
las respectivas distribuciones de tiempos entre llegadas o de tiempos de servicio. As, cuando
una unidad llega al sistema, inmediatamente se genera el tiempo de llegada de la prxima
unidad, independientemente de lo que pase con la que acaba de llegar. Adems, cuando una
estacin de servicio empieza a atender una unidad, se genera el tiempo que durar dicho
servicio. La generacin de estos tiempos debe hacerse de acuerdo con las respectivas
distribuciones de tiempos entre llegadas y de tiempos de servicio.















No










Fig. 5.7 Actividades realizadas por el simulador cuando finaliza un servicio.

Fin de un servicio
Hay Clientes
esperando servicio
Se selecciona una unidad
para ser atendida
El servidor va a
la cola
Se identifica el Servidor
Se identifica el Cliente
Cliente sale del Sistema
El Cliente pasa al servicio
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 11
3.2 Etapas de un modelo de simulacin

Todo modelo de simulacin contempla tres etapas o aspectos bsicos que hay que considerar y
que son:

a) Inicializacin. Esta etapa se realiza una sola vez y comprende, adems de la definicin de
los parmetros bsicos del sistema, la inicializacin y definicin de las variables que se van
a usar, los registros para recoger informacin y la lista inicial d eventos.
b) Algoritmo de simulacin. El algoritmo de la simulacin corresponde ala simulacin
propiamente dicha, con todos los cambios que ocurran en el estado del sistema, segn los
eventos que vayan ocurriendo..
c) Generacin del reporte. El resumen e impresin de los resultados

3.3 Representacin del Tiempo

El paso del tiempo en la simulacin se registra en una variable llamada "tiempo del reloj".
Usualmente se la hace igual a cero al empezar la simulacin, e indica cuantas unidades de
tiempo simulado han transcurrido desde que empez la simulacin. La variable que se usar
para denotar el tiempo de simulacin ser denominada Reloj.

Existen dos mtodos bsicos para actualizar el reloj: Un mtodo consiste en avanzar el reloj al
tiempo en que debe ocurrir el prximo evento. El segundo mtodo consiste en avanzar el reloj
por intervalos pequeos de tiempo (uniformes) y determinar en cada intervalo de tiempo si
ocurre un evento en ese tiempo. El primer mtodo recibe el nombre de "avance del reloj por
eventos" y el segundo "avance del reloj unidad por unidad" "avance por unidad".
3.3.1 Avance unidad por unidad

En el mtodo de avance del reloj unidad por unidad se avanza el reloj una unidad de tiempo
(reloj = reloj + 1) y se examina el sistema para verificar si ocurri un cambio en su estado
durante el transcurso de esa unidad de tiempo. Por lo general se suponer que el cambio en el
estado del sistema ocurre al final de la unidad de tiempo. Puede suceder que durante la unidad
de tiempo no hubiera ocurrido ningn cambio y el sistema siguiera en el mismo estado en que
estaba antes de transcurrir este tiempo. El sistema se debe actualizar para todos los cambios
que hayan ocurrido durante la unidad de tiempo.

3.3.2 Avance por eventos

En el mtodo de avance por eventos solamente se avanza el reloj cuando ocurre algn evento
que modifica el estado del sistema. El intervalo que avanza el reloj no ser el mismo sino que
en general ser variable. En este sistema de avance del reloj es necesario mantener una "lista
de los eventos" que pueden ocurrir en el futuro y del tiempo en que ocurrir cada evento. En el
sistema de avance por unidad de tiempo no es necesario mantener una lista de eventos ya que
al final de cada unidad de tiempo se da un vistazo a todo el sistema para examinar si ocurre algo
que haga cambiar su estado. El sistema se actualiza de acuerdo con el tipo de evento que haya
ocurrido y solamente se ejecutan las actividades asociadas o afectadas por el evento.

3.3.3 Ejemplo: Taller de varias mquinas y varios mecnicos

La diferencia entre el avance por eventos y el avance unidad por unidad puede ilustrarse
mediante el siguiente ejemplo. Considere un taller que tiene N mquinas y M operarios para
atenderlas cuando fallan.

Para simular la operacin de este taller se proceder de la siguiente forma, dependiendo del
tipo de avance del reloj, se harn las siguientes suposiciones:

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 12
- En el tiempo cero todas las mquinas empiezan a funcionar, y por lo tanto, todos los
mecnicos estarn inactivos
- Se conoce la distribucin del tiempo de operacin de las mquinas, y estas son idnticas.
- Se conoce la distribucin del tiempo que gasta cada mecnico reparando una mquina
- Para la reparacin de las mquinas, se usar la disciplina FIFO

a) Taller de mquinas y mecnicos. Avance unidad por unidad (Ver figuras 5.8 y 5.9)

En este enfoque se supone que al final de cada unidad de tiempo se analiza todo el sistema para
ver que sucedi durante esa unidad y tomar las decisiones que sean necesarias. Inicialmente se
examinarn las mquinas, para verificar de las que estaban funcionando cuales fallaron durante
la unidad de tiempo, colocarlos en una lista provisional de espera, luego se analizarn los
mecnicos para verificar si los que estaban trabajando terminaron la reparacin, y finalmente se
analizarn conjuntamente mquinas y los mecnicos, para asignar a los mecnicos inactivos, las
mquinas que esperan reparacin.

En este sistema se avanza el reloj una unidad de tiempo (una hora por ejemplo) y se examina
qu sucedi durante esa unidad de tiempo. Se supone que los eventos ocurren al final de la
unidad. El examen de la situacin podra realizarse de la siguiente manera:

1) Inicializacin. En el tiempo cero (Reloj = 0) se inicializa el estado del sistema suponiendo
que, por ejemplo, todas las mquinas estn trabajando, y por lo tanto, los mecnicos
empiezan inactivos
2) Algoritmo de simulacin. Mientras que el Reloj sea menor o igual que el tiempo de
simulacin se realizarn las siguientes actividades o tareas:
a) Se avanza el reloj una unidad de tiempo (Reloj = Reloj + 1).
b) Se examina el estado de cada una de las mquinas que estaban trabajando para ver si
alguna fall durante la ltima unidad de tiempo. Si alguna fall, se la coloca en la lista
de las mquinas que esperan servicio.
c) Se examina el estado de cada operario, para verificar si termin la reparacin de la
mquina que estaba atendiendo.
d) Si hay operarios inactivos y mquinas daadas que no estn siendo reparadas se asigna
a cada operario inactivo una mquina para que la repare.

3) Generacin del reporte. Si ya transcurri el tiempo de simulacin, se termina el proceso y
se genera el reporte.

La figura 5.8 presenta un diagrama de flujo de las actividades requeridas para la simulacin del
taller usando el avance unidad por unidad, y en la figura 5.9 se presenta el seudo cdigo con las
mismas actividades, de tal forma que se pueda visualizar, de dos maneras diferentes el mismo
proceso.

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 13


INICIO
















En espera En Reparacin


En funcionamiento


No








Inactivo


Trabajando

S No










S



No
No


S




Figura No 5.8 Avance del Tiempo Unidad por Unidad. Caso del taller de N mquinas y M mecnicos
Lectura de parmetros
Reloj = 0
Inicializar estado del sistema:
- Todas las mquinas funcionando
- Todos los operarios inactivos






AAAAAAAAAAAA









Inicializar contadores

Reloj = Reloj +1


Actualizar tiempo de espera
Actualizar tiempo de
inactividad
Actualizar tiempo en
servicio
Estado de la maquina: en cola

Estado del mecnico: inactivo

Identificar maquina reparada:
Estado maquina = en funcionamiento
Inicio
Para cada mquina I
Estado de la mquina
Fall?
Siguiente mquina
Para cada mecnico j = 1, ro_mec
Estado del mecnico?
Termin?
Siguiente mecnico
Hay mquinas en cola y
mecnicos inactivos?
mquina
Asignar maquinas en espera a
mecnicos inactivos, y
actualizar maquinas y mecnicos
inactivos

Reloj=tiempo de simulacin?
Generar el reporte de salida
Fin
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 14
Figura 5.9 Seudo cdigo para la simulacin del Taller de mquinas y mecnicos
Avance unidad por unidad

Inicio
Lectura de parmetros
Reloj = 0
Mquinas trabajando = todas (Nro_mquinas)
Para mquina = 1, nro_mquinas
Generar tiempo de funcionamiento (opcional)
Estado = Funcionando
Siguiente mquina
Mecnicos inactivos = todos
Inicializar contadores
Mientras reloj < tiempo_simulacion
Reloj = Reloj + 1
Actualizar estadsticas sobre variables de estado
Para maquina = 1, nro_maquinas
Si estado = funcionando, entonces
Actualiza tiempo de funcionamiento
Si la mquina fall, entonces
Cambiar estado = cola
Disminuir mquinas funcionando y aumentar mquinas en cola
Fin si
Si no
Si estado = cola, entonces
Actualiza tiempo de espera
Si no
Actualiza tiempo de reparacin
Fin si
Fin si
Siguiente mquina
Para mecnico = 1, nro_mecnicos
Si estado = reparando mquina, entonces
Actualiza tiempo de actividad
Si termin reparacin, entonces
Cambiar estado de la mquina = funcionando
Aumentar mquinas funcionando
Estado del mecnico = inactivo (cola)
Aumentar mecnicos inactivos
Fin si
Fin si
Siguiente mecnico
Mientras haya mquinas en cola y mecnicos inactivos, entonces
Seleccionar un mecnico
Seleccionar una mquina
Asignar mquina al mecnico
Reorganizar cola de mquinas
Reorganizar cola de mecnicos
Disminuir nmero de mecnicos inactivos
Disminuir nmero de mquinas en cola
Fin mientras
Fin mientras
Generar reporte
Fin programa


B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 15
b) Taller de mquinas y mecnicos. Avance por eventos (Figuras 5.10 y 5.11)

En el avance por eventos es necesario, antes de comenzar la simulacin, definir los tipos de
eventos que pueden ocurrir. Esos eventos pueden ser o la falla de una mquina que est
trabajando o el fin de una reparacin. El reloj se avanza al evento que vaya a ocurrir primero, es
decir, al tiempo del prximo evento. El examen de la situacin podra realizarse de la siguiente
manera:

1) Inicializacin. En el tiempo cero (Reloj = 0) se inicializa el estado del sistema suponiendo
que, por ejemplo, todas las mquinas estn trabajando. Para este tipo de enfoque es
necesario generar, de acuerdo con la distribucin apropiada, el tiempo de funcionamiento de
cada mquina. El menor de estos tiempos de funcionamiento, ser el prximo tiempo de
falla. Como todas las mquinas empiezan en operacin, todos los mecnicos estarn
inactivos, y en consecuencia no es necesario definir cuando finalizaran una reparacin.

2) Algoritmo de simulacin. Mientras que el Reloj sea menor o igual que el tiempo de
simulacin se realizarn las siguientes actividades o tareas:
a) Se busca el prximo evento, es decir, el menor entre los tiempos de falla de las
mquinas y el tiempo de terminacin de reparacin de los mecnicos
b) Se avanza el reloj al tiempo del prximo evento.
c) Si el evento es la falla de una mquina, se identifica la mquina, se verifica si hay un
operario inactivo que la puede reparar. Si no hay un operario inactivo, la mquina queda
desatendida, a la espera de un mecnico que la repare. Si hay operarios inactivos, se
escoge uno, segn la disciplina de la cola, se le asigna la mquina y se genera el tiempo
de servicio.
d) Si el evento es el fin de una reparacin, se pone a funcionar la mquina reparada y se
examina el sistema en busca de una mquina no atendida que pueda asignrsele al
operario que acab la anterior reparacin. Si no hay mquinas en espera de ser
atendidas el operario queda inactivo. Si hay mquinas inactivas se le asigna una al
operario (generalmente la que lleve ms tiempo en espera- la primera de la cola) y se
genera el tiempo que dura la reparacin.
3) Generacin del reporte. Si ya termin el tiempo de simulacin, se genera el reporte de la
misma

Las figuras 5.10 y 5.11 presentan el proceso completo de las actividades requeridas de la
simulacin usando el enfoque por eventos, en dos versiones diferentes, mediante un diagrama
de flujo y mediante el seudo cdigo de tal forma que se pueda visualizar de una mejor manera el
proceso de simulacin..

En general los clculos se simplifican en el avance del reloj unidad por unidad, ya que no es
necesario construir la lista de eventos futuros ni determinar el tiempo de ocurrencia de los
mismos. Sin embargo puede existir un gran nmero de perodos en que no ocurra ningn
evento, de tal forma que los clculos en el avance del reloj unidad por unidad pueden ser
ineficientes.

Si el avance del reloj es unidad por unidad, el tiempo se representa como una variable entera.
Sin embargo cuando el avance es por eventos el tiempo puede representarse o como una
variable entera o como una variable real. Si se representa como una variable real entonces la
variable reloj tiene exactamente las mismas unidades que el tiempo real que est
representando, sin ningn cambio de escala. Sin embargo, cuando la variable reloj se
representa como entera, entonces es necesario determinar un factor de escala para convertir el
tiempo real, que es una variable real, en el tiempo de simulacin, que es una variable entera.
Para escoger ese factor de escala es necesario balancear la exactitud al determinar los
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 16
diferentes tiempos con la capacidad del computador que se est empleando y con el tiempo de
simulacin. Es decir, es necesario tener en cuenta cul es el entero ms grande que puede
manejar el computador. As, si en un computador o un micro trabajamos con palabra sencilla
(INTEGER *2), el tiempo mximo que puede manejar el computador es: 2
b-1
= 2
16-1
=
32767. As, por ejemplo, si el tiempo entre la llegada de dos rdenes consecutivas un depsito
es 0.323 horas, es necesario convertir este tiempo en un entero mediante un factor de escala,
que podra ser 10, 100 1.000, o trabajar en minutos (factor de escala = 60), en cuyos casos el
tiempo entre la llegada de las dos rdenes sera de 3, 32, 323 o 19 unidades de tiempo,
respectivamente. Entonces, el mximo tiempo que podra simularse en un computador o
microcomputador con palabra sencilla sera de 32767 unidades de tiempo, el cual en los casos
antes considerados sera de 3276, 327, 32 o 546 horas, respectivamente.

Es necesario tener en cuenta que los clculos en aritmtica entera son ms eficientes que en
aritmtica real, pero existen las limitaciones explicadas antes con respecto al mximo tiempo
que podra simularse en una corrida. Si se trabaja en un computador con palabra sencilla es
preferible representar el tiempo como una variable real.

En los simuladores de avance por unidad de tiempo se pierde informacin acerca del
comportamiento del sistema, no importa que tan pequeo sea el incremento. La prdida de
informacin se puede entender como la incertidumbre acerca del tiempo en que ocurre cada
evento. Por ejemplo, si la unidad de tiempo es 15 minutos, entonces un evento puede suceder o
al principio de la unidad o a los dos minutos, o a los diez minutos, o a los quince y slo se dir
que el evento sucedi al final de la unidad. Por consiguiente, el analista podr obtener siempre
el estimativo con la menor varianza (el estimativo ms confiable) usando modelos de
simulacin con avances por eventos (Gafarian A. V. y V. Anker).

Sin embargo, no puede concluirse que los mtodos de avance por eventos predominen
necesariamente sobre los mtodos de avance por unidad ya que no se ha considerado el tiempo
de computador como factor en la evaluacin de los mtodos. El tiempo de computador parece
ser mayor en avance unidad por unidad, ya que habr, en general, muchas unidades de tiempo
en que no ocurre ningn evento.

Conway, Johnson y Maxwell concluyen que los simuladores de avance por eventos son ms
ventajosos a medida que el tiempo medio entre eventos aumenta, mientras que los simuladores
de avance por unidad son preferidos cuando el nmero de variables de estados aumenta. As los
simuladores de sistemas grandes, en los que hay una probabilidad alta de que algo ocurra en
una unidad de tiempo deberan usar mtodos de avance por unidad.
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 17
A
Tipo de evento?
B
C
























Reparacin



Falla









No S













Figura No 5.10 Diagrama de flujo. Avance del RELOJ por eventos. Caso del
Taller de N (NRO_MAQ) mquinas y M (NRO_MEC) mecnicos
Crear lista de eventos:
- Tiempos de falla de las mquinas
- Fin de simulacin

Reloj = tiempo del prximo evento


Bsqueda del prximo
evento
Escoger un mecnico
Asignar mquina al mecnico
Generar evento: fin reparacin
Mquina en lista de
espera
Prximo evento ( A )
Aumentar en 1 las
mquinas en cola
Identificar maquina
Aumentar en 1 las maquinas inactivas
Reducir en 1 mecnicos inactivos
Lectura de parmetros
Reloj = 0
Inicializar estado del sistema:
- Todas las mquinas funcionando
- Todos los operarios inactivos






AAAAAAAAAAAA









Inicializar contadores

Inicio
Hay mecnicos
inactivos?
Generar Reporte

D
Fin
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 18
Hay mquinas en espera
CR




Evento = Reparacin








No



S S












Figura No 5.10 (cont.) Diagrama de flujo. Avance del RELOJ por eventos. Caso del
Taller de N (NRO_MAQ) mquinas y M (NRO_MEC) mecnicos


Escoger una maquina
Asignar maquina al mecnico
Generar evento: fin reparacin
Mecnico en lista de
espera
Prximo evento ( A )
Reducir en 1 maquinas en espera
Generar evento: prxima falla de la maquina
Identificar mecnico
Identificar mquina reparada
Aumentar en 1 las mquinas operando
Aumentar en 1 los
mecnicos inactivos
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 19
Figura 5.11 Seudo cdigo para la simulacin del Taller de mquinas y mecnicos
Avance por eventos

Inicio
Lectura de parmetros
Reloj = 0
Mquinas trabajando = todas (Nro_mquinas)
Para mquina = 1, nro_mquinas
Generar tiempo de funcionamiento (primeros eventos)
Estado = Funcionando
Siguiente mquina
Mecnicos inactivos = todos
Inicializar contadores
Mientras reloj < tiempo_simulacion
Buscar prximo evento (menor entre tiempos de falla, tiempos de reparacin y tiempo de
simulacin)
Actualizar estadsticas sobre variables de estado
Reloj = tiempo del prximo evento
Identificar tipo de evento
Si tipo evento = falla, entonces
Aumentar mquinas inactivas
Se identifica la mquina. Sea I la mquina que falla
Si hay mecnicos inactivos, entonces
Se selecciona un mecnico J de la cola. (el primero de la cola)
Se reorganiza la cola de mecnicos
Se reduce el nmero de mecnicos inactivos
Se asigna la mquina I al mecnico J
Se genera el tiempo de reparacin
Se actualiza el estado del mecnico J
Si no
Cambiar estado = cola
Aumentar mquinas en cola
Fin si
Si no
Si tipo evento = reparacin, entonces
Se identifica el mecnico (J)
Se identifica la mquina (I)
Se pone la mquina I en funcionamiento
Se reduce el nmero de mquinas inactivas
Si hay mquinas en espera de reparacin, entonces
Se selecciona una mquina (I) (primera de la cola)
Se reorganiza la cola de mquinas
Se reduce el nmero de mquinas en espera
Se asigna la mquina I al mecnico J
Se genera el tiempo de reparacin
Se actualiza el estado del mecnico J
Si no
Estado del mecnico = inactivo (cola)
Aumentar mecnicos inactivos
Fin si
Fin si
Fin si
Fin mientras
Generar reporte
Fin programa

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 20
3.3.4 Escogencia de la Unidad en Mtodos de Avance del Reloj por Unidad
1


Si el analista escoge el mtodo de avance del tiempo unidad por unidad, el prximo paso debe
ser escoger el tamao de la unidad.

La regla general para escoger la unidad de tiempo es: Escjase la unidad de tiempo mayor tal
que la probabilidad de que se tenga que tomar ms de una decisin durante dicha unidad de
tiempo sea despreciable. Dentro de esta regla hay una regla adicional: Si las consecuencias de
las decisiones van a ser determinadas simulando eventos individuales, la unidad debe ser an
ms pequea, lo suficientemente pequea de tal forma que la probabilidad de que ocurran
eventos mltiples en la unidad de tiempo sea despreciable. Por ejemplo, si estamos simulando
la operacin de un taller de reparacin, la unidad de tiempo debe ser tan pequea de tal forma
que la probabilidad de que una mquina se dae y sea reparada en la misma unidad de tiempo
sea despreciable.

Una regla que puede emplearse para escoger la unidad de tiempo es: "Escoja el intervalo de
tiempo igual a un dcimo (1/10) del ms corto de los tiempos esperados entre eventos"
(Emshoff).

A medida que la unidad de tiempo se hace mayor, el modelo puede llegar a ser una
representacin no realista del comportamiento del sistema. Los errores ocurren porque a
medida que la unidad de tiempo crece: 1) Las probabilidades de ocurrencia de los eventos no
son estimadas correctamente y 2) Aumenta la probabilidad de que dos o ms eventos ocurran,
cuando slo uno es simulado.

Considere un taller con varias mquinas y varios operarios para repararlas. Suponga que el
tiempo de operacin de cada mquina se distribuye exponencialmente con una media de 40
minutos y que el tiempo de reparacin tambin se distribuye exponencialmente pero con una
media de 10 minutos. Es decir, la tasa media de fallas es = 1/40 = 0.025 mquinas por
minuto y la tasa media de servicio es = 1/10 = 0.10 mquinas por minuto. La probabilidad
de que una mquina falle en un intervalo de tiempo pequeo dt, dado que est trabajando, es la
probabilidad de que el tiempo de funcionamiento sea menor o igual a dt, y est dada por:
PF = P (TF s dt) = 1 - e
- dt
~ dt + o(dt) ~ dt
donde o(dt) es la funcin cero delta t, que es una funcin que tiende a cero mas rpido que dt.

La probabilidad de que una mquina que est bajo reparacin sea reparada en un intervalo de
tiempo pequeo dt est dada por:
PR = P (TR s dt) = 1 - e
- dt
~ dt + o(dt) ~ dt
(Recuerde la propiedad de prdida de memoria de la distribucin exponencial que dice que el
tiempo que an dure la reparacin o la vida de un equipo, es independiente del tiempo que ha
transcurrido hasta el momento).

Si dt = 1 minuto, la probabilidad de falla ser 0.025 y la probabilidad de terminar la reparacin
ser 0.1. Si dt = 1/2 minuto, las probabilidades de falla y reparacin sern respectivamente
0.0125 y 0.05. Las probabilidades exactas de terminar la reparacin en una unidad de tiempo
de 1 minuto y de 1/2 minuto son respectivamente 0.0952 y 0.488. La tabla siguiente indica los
errores que se pueden cometer al estimar la probabilidad de terminar la reparacin para varias
unidades de tiempo.
Si la unidad de tiempo es muy grande, entonces el error en que se incurre en la estimacin de la
probabilidad es grande, ya que la aproximacin finita pierde validez.




1
Esta seccin puede omitirse sin prdida de continuidad.
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 21
Unidad de
tiempo
Probabilidad
exacta
Aproximacin
del Modelo
Error por
minuto
de simulacin
1/2 minuto 0.0848 0.05 0.00240
1 minuto 0.0952 0.10 0.00480
2 minutos 0.1813 0.20 0.00935
3 minutos 0.2592 0.30 0.01360
4 minutos 0.3297 0.40 0.01760

4 Forma para organizar modelos y programas de simulacin

Como se ha indicado varias veces, para desarrollar un estudio de simulacin es necesario
construir un modelo que represente el sistema que se desea simular. Una vez construido el
modelo es necesario definir si el avance del reloj es unidad por unidad o por unidad o eventos.
Definidos el modelo y el tipo de avance del reloj se debe empezar la tarea de programar la
simulacin por el computador. A continuacin se analizarn las tareas que hay que realizar para
programar la simulacin y se indicarn las estadsticas bsicas que es necesario recoger y se
disearn unas subrutinas que son de mucha utilidad para facilitar la tarea de programar la
simulacin.

4.1 Tareas para Programar una Simulacin

Hay tres tares generales que es necesario realizar para poder llevar a cabo un programa de
simulacin. Estas tareas son: La generacin del modelo y su inicializacin, el desarrollo del
"algoritmo de simulacin" y finalmente, la generacin del reporte de salida.

1) Generacin e inicializacin del modelo

A partir de la descripcin del sistema y del modelo creado para representarlo se deben definir las
variables que van a representar el estado del sistema en cualquier instante. Es decir, es
necesario definir lo que se denomina la "imagen del sistema". Adems, en el momento de
empezar la simulacin (RELOJ=0) hay que asignarles algn valor a estas variables, es decir, se
debe inicializar el estado del sistema. Por lo tanto, para la inicializacin del modelo es necesario
realizar las siguientes actividades:

a) Lectura de Datos. Una etapa previa a la inicializacin de las variables de estado es la
lectura de los datos. Se debe prestar atencin a los parmetros de las diferentes rutinas
que se usarn para representar las actividades. Comprende, entre otras variables, las
siguientes: Tiempo total a simular, semillas, parmetros de las distribuciones de las
variables aleatorias, valores iniciales a asignar a las variables de estado.
b) Creacin de la Imagen del Sistema. Se deben inicializar todas las variables de estado,
que como su nombre lo indica, describen el estado del sistema en cualquier instante. Estas
variables definirn el estado del sistema para empezar la simulacin. El sistema debe
inicializarse en unos valores tales que esta actividad se simplifique al mximo posible. Por
ejemplo, la forma ms sencilla de inicializar un sistema de colas es el llamado estado
vaco, es decir, que no haya clientes en el sistema, lo cual a su vez implica que las colas
empiezan vacas y las estaciones o servidores estn inactivos. Si se inicializa en cualquier
otro estado diferente, ser necesario definir el estado de los clientes que hay en el sistema,
cuanto tiempo, llevan, etc. Posteriormente se analizar la forma de eliminar el efecto que
tiene sobre las estadsticas el empezar con el sistema vaco, lo cual no es un estado tpico
del sistema.
c) Inicializacin de Contadores. Esta tarea comprende la inicializacin de todos los arreglos
y variables en los cuales se van a recoger las diferentes estadsticas. En el numeral 5.8
Recoleccin de Estadsticas se explican las estadsticas bsicas que se pueden necesitar en
un estudio de simulacin.
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 22
d) Lista de Eventos. Cuando el avance del reloj es por eventos es necesario especificar una
"lista o archivador de eventos". Esta lista debe contener los eventos calculados que se
saben han de ocurrir en algn tiempo futuro y especfico de la simulacin. Esta lista debe
contener los eventos denominados "primarios", que son los que han de ocasionar
directamente los cambios en el estado del sistema. Esta lista de eventos debe contener el
tiempo en que ocurrirn los eventos, el tipo de evento y la entidad que produce el
evento. Esta lista de eventos debe ser actualizada continuamente a medida que se
producen nuevos eventos y que cambia el estado del sistema. En la mayora de las
simulaciones se desarrollan rutinas que realizan las predicciones de cundo ocurre cada tipo
de evento (cundo falla una mquina, cundo se termina una reparacin, cundo llega una
orden, etc.).

Las rutinas de prediccin del tiempo de ocurrencia de los eventos son parte central de un
modelo de simulacin dado que representan las hiptesis del analista acerca de la forma en que
el sistema y el ambiente determinan la duracin de cada actividad. Esta duracin puede ser
determinstica o estocstica.

La lista o archivador de eventos debe ser inicializada al comienzo de la simulacin, o sea que es
necesario determinar cundo ocurrirn los primeros eventos.

2) El algoritmo de simulacin

La segunda tarea en el desarrollo de un modelo de simulacin consiste en programar el
procedimiento que ejecuta el ciclo de acciones necesarias para realizar la simulacin
propiamente dicha. Este procedimiento recibe el nombre de "Algoritmo de Simulacin"
(Gordon).

Para la realizacin del algoritmo de simulacin es necesario desarrollar los siguientes pasos:

a) En la lista de eventos se busca "el prximo evento" que ha de ocurrir en el futuro, es
decir, el evento con menor tiempo.

b) El tiempo simulado -RELOJ- es avanzado a ese tiempo, esto es, se avanza el reloj en una
base de evento a evento.

c) Una vez actualizado el reloj, pero antes de cambiar el estado del sistema, se recogen
estadsticas que tengan relacin con el tiempo que el sistema estuvo en determinado
estado.

d) El siguiente paso consiste en determinar la clase de evento que ha ocurrido, por ejemplo, la
falla de una mquina, la llegada de una orden, el fin de una reparacin, etc. La clase de
evento haba sido almacenada en la lista de eventos futuros. Habiendo seleccionado la
actividad que ocasiona el evento hay que cambiar el estado o imagen del sistema, crear los
registros que sean necesarios y realizar las otras actividades que sean consecuencia del
evento que ha ocurrido. As, por ejemplo, la llegada de una orden de trabajo requiere que
se cree un registro del trabajo, con variables que representen las caractersticas de la
misma (tiempo de llegada, nmero o identificacin, prioridad, tiempo de procesamiento), y
determinar que se va a hacer con la orden recibida.

e) Un evento primario puede causar directamente la creacin de otro evento futuro, no
importa el estado del sistema. As cuando llega una orden de trabajo debe determinarse
cundo llegar la prxima orden, no importa la suerte que corra la que acaba de llegar.
Para determinar cundo llega esa orden debe usarse la subrutina apropiada para
representar la actividad.

f) Como resultado del evento primario cambia el estado del sistema. Un evento primario
puede accionar la realizacin de eventos condicionales. Entonces las subrutinas de eventos
condicionales son usadas para crear eventos futuros que son consecuencia del nuevo estado
del sistema. As, si un operario est ocioso y falla una mquina (evento primario) es
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 23
necesario asignar la mquina que ha fallado al operario que est inactivo (evento
condicional).

Cuando todos los eventos condicionales originados por el evento primario han sido agregados a
la lista de eventos, y se han actualizado las estadsticas necesarias, el proceso total empieza de
nuevo, es decir, se busca cul es el prximo evento. Esta repeticin mueve el sistema simulado
a travs del tiempo y el desempeo dinmico del sistema es resumido registrando los datos
apropiados.

3) Generacin del reporte

La tercera tarea es la generacin del reporte de salida, es decir, el anlisis e impresin de las
diferentes estadsticas recogidas durante la simulacin.

El algoritmo siguiente y la figura 5.12 muestra el flujo general de control durante la ejecucin
del programa. Las etapas de creacin e inicializacin del modelo y la generacin del reporte se
ejecutan slo una vez durante la simulacin, mientras que el algoritmo de simulacin es
necesario realizarlo muchas veces, dependiendo del nmero de eventos que se desea simular o
del tiempo total de la simulacin.

Inicio de la simulacin
Lectura de datos y definicin de parmetros
Reloj = 0 (Inicializacin del sistema)
- Creacin de la imagen del sistema
- Inicializacin de contadores
- Creacin lista de eventos
Mientras reloj s Tiempo de simulacin Algoritmo de simulacin
- Se busca "el prximo evento"
- Recoleccin de estadsticas sobre el estado del sistema (En
t
At)
- RELOJ = tiempo del prximo evento
- Determinar la clase de evento que ha ocurrido
- Ejecucin del evento. Creacin de otro evento futuro
- Cambio del estado del sistema
- Creacin de eventos condicionales
Fin algoritmo de simulacin
Generacin del reporte

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 24
Cuando el avance del reloj es unidad por unidad (activity scanning), el algoritmo de simulacin
comprende los siguientes pasos:

Inicio de la simulacin
Reloj = 0 (Inicializacin del sistema)
- Creacin de la imagen del sistema
- Inicializacin de contadores
Mientras reloj s Tiempo de simulacin Algoritmo de simulacin
- Reloj = Reloj + 1 (Avance del reloj una unidad de tiempo)
- Recoleccin de estadsticas acerca del estado del sistema.
- Examen de entidades del sistema para ver si hubo cambios en la ltima unidad de
tiempo.
- Realizacin de cambios o ajustes en el sistema, como consecuencia de los eventos
ocurridos durante la unidad de tiempo.
- Actualizacin de todas las estadsticas que sean apropiadas para generar el reporte final.
Fin algoritmo de simulacin
Generacin del reporte

4.2 Eventos Simultneos

En los programas de simulacin debe prestarse especial atencin a las condiciones que existen
cuando dos o ms eventos son programados para ocurrir simultneamente. Aunque los eventos
ocurren en el mismo instante en el tiempo, el programa de simulacin est forzado a ejecutar
los eventos en secuencia. Esto implica que deben asignarse prioridades como atributos a las
entidades, en cuyo caso la bsqueda de eventos considera los eventos en orden de prioridad.

Si no se dan reglas de ordenamiento la secuencia de ejecucin es, en efecto impredecible, y el
procesamiento ser de acuerdo al evento que ocurra primero en la lista de eventos.

Los eventos que ocurren simultneamente pueden no ser independientes. Por ejemplo, dos
personas pueden estar esperando el mismo servicio. El sistema puede comportarse en una
forma muy diferente de acuerdo al orden de escogencia. Dos corridas de simulacin que
aparecen lgicamente como si fueran una misma pueden dar resultados muy diferentes de
acuerdo al orden en que los programas sean ensamblados o ejecutados. Cuando se usan
nmeros aleatorios, diferencias en las secuencias de nmeros aleatorios pueden crear
diferencias significativas entre corridas de simulacin que de otra manera seran idnticas.

Otro aspecto relacionado con los eventos simultneos que debe considerarse es el hecho de que
una entidad puede pasar a travs de una serie de actividades que no requieren tiempo. Puede,
en efecto, existir una secuencia de actividades que no requieran ningn tiempo, es decir,
actividades de "tiempo cero". La ejecucin de un evento que requiere tiempo 0 produce
inmediatamente otro evento que debe terminar en el mismo instante. Cuando existan varias
entidades, las cuales participan en eventos simultneamente, y algunas de ellas encuentran
actividades de tiempo 0, entonces el problema de escoger el orden de ejecucin es importante.
Si no se ejerce ningn control sobre el orden en que se escogen los eventos, el orden de
ejecucin es impredecible y puede conducir a violaciones de las reglas de prioridad.

Existen dos reglas de seleccin que pueden usarse para establecer un control predecible:

- Cada entidad puede pasarse a travs de todas las actividades potenciales que ocurran en el
mismo instante, antes de prestar atencin a las otras entidades.
- A cada entidad puede permitrsele una sola actividad al mismo tiempo antes de que se
ejecute una actividad de la siguiente entidad.
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 25
Puede
ejecutarse el
evento?
Hay ms eventos que
puedan ejecutarse?
Inicio

























Np



S












S


No




Figura 5.12 Etapas de una Simulacin
CREACIN DE LA IMAGEN DEL SISTEMA
- Lectura de Parmetros
- Inicializacin Variables de Estado
- Creacin Lista de Eventos
- Inicializacin Contadores
BUSQUEDA DEL PROXIMO EVENTO
Avance del Reloj al tiempo del prximo evento
Recoleccin Estadsticas sobre Variables de Estado ( nt At)
Seleccin de la actividad que causa el evento
Cambio en la imagen del Sistema.
Actualizacin de Variables de Estado
















Realizacin de los eventos condicionales
y actualizacin de la Lista de Eventos.
Actualizacin de Contadores (Recoleccin Estadsticas)
GENERACIN DEL REPORTE DE SALIDA.
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 26
En ambos casos el orden de avance es controlado por medio de reglas de prioridad. La primera
regla de ejecucin -(seguimiento del flujo)- es preferible porque es ms fcil de interpretar la
secuencia de eventos ejecutados por el programa.

Otros aspectos que deben tenerse en cuenta al escribir el modelo de la simulacin son los
siguientes:

- Como regla general, el modelo debe ser construido, hasta donde sea posible, empleando
aritmtica entera y variables enteras, con el fin de reducir tiempo de computador. Al final
de la simulacin puede usarse aritmtica real para hacer el resumen de las estadsticas.
- En el diseo del programa debe incorporarse hasta donde sea posible el concepto de
subrutina. Cada funcin puede subdividirse en un subprograma si es posible. Este aspecto
trae cuatro ventajas o efectos sobre el modelo final que se construya.
a) El modelo es ms fcil de construir y compilar
b) El modelo que se elabora es ms flexible y puede entenderse mas fcilmente.
c) La organizacin del modelo es, en general, ms eficiente para la ejecucin.
d) El programa es ms fcil de actualizar y mantener

Generalmente se necesitan varios arreglos o tablas (listas) para almacenar diferentes tipos de
informacin. Debe prestarse especial cuidado al desarrollar el programa de computador para
reducir o minimizar las bsquedas en los arreglos. Estas bsquedas pueden minimizarse usando
"indicadores" para las entradas a los arreglos o tablas.

Debe recordarse que al examinar los ahorros logrados por los resultados de la simulacin, debe
tenerse en cuenta el costo del tiempo de computador.

4.3 Tablas para Almacenamiento y Retiro de Informacin (Listas)

Previamente se haba definido una lista como una coleccin de entidades asociadas (temporal
o permanentemente) ordenadas de una manera lgica. Por ejemplo, una cola, puede estar
ordenada de acuerdo al tiempo de llegada a la misma, o segn la prioridad de las diferentes
entidades que la conforma. Otro ejemplo de una lista es la Lista de eventos (LEF), que contiene
los eventos (primarios) que han de ocurrir en el futuro, junto con sus atributos (tambin
conocida como Matriz de Eventos Futuros MEF

La forma ms general para almacenar informacin es por medio de las listas, que pueden
materializarse mediante las tablas o arreglos bidimensionales. Suponga que se tienen que
guardar algunos datos variables acerca de objetos o entidades del sistema. Por ejemplo, se
requiere guardar informacin acerca de las rdenes que llegan a un centro de procesamiento de
datos. La informacin se guardar en un arreglo llamado "orden". Si para cada entidad existen
M variables o datos, incluyendo el nmero de identificacin de la entidad, y no se espera que en
el sistema haya ms de N entidades simultneamente, entonces la informacin puede guardarse
en un arreglo de orden N x M. Sea ORDEN ese arreglo. Es decir, el arreglo tendr doble
subndice (I, J,). En las columnas puede guardarse la informacin acerca de las diferentes
variables o atributos de cada entidad. Es decir, el subndice J indica cul de las M variables
asociadas con una entidad ha de ser almacenada o retirada. El subndice I indica filas o lneas
arbitrarias en el arreglo, es decir, I es, por lo general, slo un indicador.

Generalmente la primera entrada o columna del arreglo (J = 1) corresponde al nmero de
identificacin de la entidad cuya informacin se guarda en la fila I es un cdigo, usualmente 0,
que indica que la fila se encuentra vaca y que por lo tanto puede usarse para guardar
informacin acerca de otra entidad. As, para guardar datos acerca de una entidad, se localiza
una fila vaca buscando cuando se cumple que ORDEN (I, 1) = 0, para todo I. Cuando se
encuentre un I que cumpla la condicin ORDEN (I, 1) = 0, se convierte en el indicador de lnea,
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 27
y los atributos de la nueva entidad son guardados en ORDEN (I, 1), ORDEN (I, 2), ...,
ORDEN (I, M).

La figura 5.5 presenta una muestra del estado que podra tener el arreglo ORDEN en un instante
cualquiera. En el arreglo o matriz se tiene que las filas 1, 4, ..., N-1 y N estn vacas. Adems
en la fila 2 se guarda la informacin acerca de la entidad No. 16, en la fila tercera est la entidad
No. 15, etc. Si se desea localizar una entidad particular (la entidad k, por ejemplo) se busca en
la tabla hasta que se encuentre un I que cumpla ORDEN (I, 1) = k y el valor de I que cumple la
condicin se convierte en el indicador.

Si se desea, puede buscarse una entidad que tenga un atributo especial y cambiarlo, por
ejemplo, si queremos encontrar una entidad que tenga la variable o atributo (M-1) igual a 8, se
busca cuando ORDEN (I, M-1) = 8, examinando I sobre el rango de 1 a N, pero teniendo
cuidado de que ORDEN (I, 1) > 0, pues de lo contrario la entidad ya habra salido del sistema.
En nuestro caso I = 5 cumple la condicin ORDEN (1, M-1) = 8. As, la entidad No. 14 tiene el
atributo buscado.

ARREGLO ORDEN(I,J)

I/J J = 1 J = 2 J = 3 ... J=M-1 J = M
I = 1 0 3 5.0 ... 4 11
I = 2 16 32 7.2 ... 13 9
I = 3 15 30 6.2 ... 21 20
I = 4 0 12 4.2 ... 8 4
I = 5 14 22 3.5 ... 8 4
... ... ... ... ... ... ...
I = N-1 0 0 0 ... 0 0
I = N 0 0 0 ... 0 0
Figura No 5.5

Para remover los datos de una entidad (por ejemplo, cuando termina el procesamiento de una
orden), se busca la fila en que se encuentra la orden y se hace ORDEN (I, 1) = 0. Aunque el
resto de la informacin permanezca, se escribe sobre ella cuando se obtienen nuevos datos.

A manera de ilustracin, considere la siguiente situacin. Suponga que a un taller llegan rdenes
de trabajo. Esas rdenes traen la siguiente informacin:

Nmero de orden
Fecha de llegada
Fecha de entrega
Tiempo de procesamiento

Adems, es necesario saber dnde se encuentra la orden en un momento dado, si esperando el
procesamiento o siendo ya procesada. Entonces para guardar la informacin acerca de la nueva
orden pueden requerirse cinco columnas que guardaran la informacin de la siguiente manera:

Primera columna: J = 1 = Nmero de orden
Segunda columna: J = 2 = Fecha de llegada
Tercera columna: J = 3 = Estado de la orden
Cuarta columna: J = 4 = Fecha de entrega
Quinta columna: J = 5 = Tiempo de procesamiento

Como se indic, es aconsejable guardar toda la informacin en forma entera. Sin embargo, esto
no siempre es posible ya que hay cierta informacin que se debe guardar en aritmtica real
(debido a las limitaciones del computador disponible). En el ejemplo anterior el nmero de la
orden y el estado de la orden son variables enteras, mientras que los dems tiempos son reales
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 28
y si se fueran a convertir en enteros probablemente se restringir el tiempo mximo que pueda
simularse. En este caso, podramos utilizar dos arreglos, uno real y otro entero, los cuales se
referenciaran siempre con el mismo indicador. En el caso de las rdenes mencionadas antes, se
podran utilizar los arreglos IORDN y ORDEN, que se usaran de la siguiente manera:

IORDN (I, 1) = Nmero de la entidad
IORDN (I, 2) = Estado de la entidad
ORDEN (I, 1) = Fecha de llegada de la orden IORDN (I, 1)
ORDEN (I, 2) = Tiempo de procesamiento
ORDEN (I, 3) = Fecha de entrega
I = Indicador que es el mismo para los dos arreglos

As si se quiere buscar una orden determinada, la orden nmero NX, por ejemplo, se busca para
que valor de I se cumple que IORDN (I, 1) = NX. Si se quiere buscar la orden que tenga la
prxima fecha de entrega, se busca el mnimo valor de la columna 3 del arreglo ORDEN,
siempre que IORDN(I, 1) sea mayor que cero. Es decir, se busca Min ORDEN (I, 3), dado que
IORDN (I, 1) > 0.

La funcin BUSCAR(nmero) encuentra cul es la primera fila vaca en un arreglo entero, o
tambin busca en qu fila se encuentra determinada orden, dependiendo del valor que tome el
argumento nmero. Cuando nmero = 0 la funcin busca cual es la primera fila vaca. Si
nmero > 0 la funcin busca en qu fila se encuentra la orden nmero. Si no hay filas vacas
o si no se encuentra la orden buscada, la subrutina escribe un mensaje que informe sobre esta
situacin. El seudo cdigo siguiente ilustra el procedimiento de la subrutina.

Funcin Buscar (Nmero)
I = -1
Para fila = 1, nro_filas
Si orden(fila,1) = nmero
I = fila
fila = nro_filas+1
Fin si
Fin para
Si (I = -1)
Mensaje = No se encontr la orden buscada
Fin si
Fin procedimiento

5 Recoleccin de estadsticas

El objetivo de un estudio de simulacin es recoger informacin sobre el desempeo de un
sistema o de alguno de sus componentes para la toma de decisiones. Esta informacin se refiere
a los valores de una o ms variables de estado, a partir de las cuales se pueden estimar las
variables endgenas o de salida del modelo, tambin llamadas medidas de gestin o de
desempeo del sistema. Por lo tanto, parte primordial en cualquier estudio de simulacin es la
recoleccin de estadsticas.

Cuando se lleva a cabo una simulacin y se obtienen sus resultados (X
1
, X
2
,,X
n
), estos valores
realmente representan observaciones de alguna variable aleatoria de inters. Para realizar un
anlisis preliminar de los mismos, es necesario presentar la informacin obtenida de una forma
que facilite posteriormente su anlisis e interpretacin y la toma de decisiones. Inicialmente esta
informacin puede resumirse y presentarse utilizando las herramientas que da la estadstica
descriptiva y del anlisis exploratorio de datos, mediante medidas tales como la media,
desviacin estndar, percentiles, histogramas de frecuencia, etc..

El estudio de la recoleccin de estadsticas lo dividiremos en dos partes: En la primera parte se
presentarn las diferentes estadsticas que es necesario recoger en la mayora de los programas
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 29
de simulacin, y posteriormente se explicar el proceso de clculo en el modelo de simulacin,
principalmente cuando ste se representa como un seudo cdigo para una implementacin
posterior en un lenguaje de programacin de uso general.

Las estadsticas finales requeridas de un modelo de simulacin dependen del estudio que se est
realizando, pero hay ciertas estadsticas que se requieren generalmente en todos los programas
de simulacin. Las estadsticas ms necesitadas son:

1. Contadores que den el nmero de entidades de un tipo particular o el nmero de veces que
un evento ha ocurrido.
2. Estadsticas resumen tales como valores extremos, valores medios y desviaciones tpicas.
3. Utilizacin, definida como la fraccin o porcentaje de tiempo que alguna entidad ha estado
ocupada.
4. Ocupancia, definida como la fraccin o porcentaje promedio de tiempo que un grupo de
entidades ha estado en uso.
5. Distribuciones de frecuencia (o histogramas) de variables importantes tales como
longitudes de colas, tiempos de espera, tiempos de permanencia en el sistema, etc.

Cuando hay efectos estocsticos en el sistema todas las medidas anteriores fluctuarn a medida
que la simulacin se realiza. Los valores particulares alcanzados al final de la simulacin son
tomados como estimativos de los verdaderos valores que se intentan medir. En un captulo
posterior se tratar el problema de estimacin de los parmetros, su exactitud y su uso en la
toma de decisiones.

Para el clculo de medidas resumen se debe distinguir si se trata de variables puntuales u
observaciones que se van produciendo a medida que la simulacin avanza (tales como un
tiempo de permanencia en una cola, el retraso en la entrega de un producto, tiempo de
ejecucin de un proyecto), o si se trata de variables de estado que toman diferentes valores
durante la simulacin, pero que pueden cambiar de valor a medida que se van presentando los
diferentes eventos de la simulacin (tales como el nmero de clientes en el sistema o en la cola,
el nivel del inventario de un artculo, etc.) y para cuyo clculo se requiere saber durante cuanto
tiempo la variable present un valor especfico.

5.1 Contadores y Estadsticas Resumen (Para observaciones)

Los contadores son la base para manejar la mayora de las estadsticas. En general
denominamos contadores aquellas variables (registros) que algunas veces usamos para
acumular totales, otras para registrar el nmero de eventos de cierto tipo que ha ocurrido, o que
registran los valores actuales de algn nivel en el sistema. Cada vez que ocurre un evento, se
actualiza el total de eventos ocurridos hasta la fecha.

A continuacin se presentan las principales estadsticas de inters en la mayora de los estudios
de simulacin.

Valores mximos y mnimos.

Los valores mximos y mnimos estn dados por:


) X ..., , X , X ( Min X
) X ..., , X , X ( Max X
n 2 1 min
n 2 1 max
=
=

A medida que se obtiene un nuevo valor se compara con el registro actual de los mnimos y los
mximos y se efecta el cambio si es necesario:
Si X
i
< X
min
X
min
= X
i

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 30
Si X
i
> X
max
X
max
= X
i


Media muestral
La media muestral X de un conjunto de n observaciones {X
i
, i = 1, 2,, ..., n} corresponde al
promedio aritmtico de los mismos y est definida como:

n
X
X
n
1 i
i
=
=

y se calcula acumulando el valor de las observaciones en un contador y el total de observaciones
en otro. Generalmente la media se calcula al final de la simulacin a no ser que la simulacin se
acabe una vez se haya obtenido determinada precisin en la estimacin de la media, es decir,
que se tenga un mecanismo automtico de parada, como se analizar posteriormente.

Varianza muestral

La varianza S
2
se define como la suma de los cuadrados de las desviaciones de los valores
individuales con respecto al valor medio, dividido por el total de observaciones menos una. La
desviacin estndar (S) es la raz cuadrada de la varianza. Es decir:

( )
1 n
X * n
X
1 n
X X
i
S
n
1 i
2
2
i
n
1 i
2
2

=

= =

Entonces para calcular la varianza S
2
slo se requiere llevar un registro adicional
correspondiente a la suma de los cuadrados de los valores individuales.

Generalmente la media se calcula al final de la simulacin a no ser que la simulacin se acabe
una vez se obtenga determinada precisin en la estimacin de la media, es decir, que tenga un
mecanismo automtico de parada, como se analizar posteriormente.

Probabilidades

Una de las estadsticas de mayor inters en los estudios de simulacin, usado principalmente en
los anlisis de riesgo, es la probabilidad de que se presente un evento o situacin determinada,
o la proporcin de veces que ocurre un evento. El clculo de todas las probabilidades en los
estudios de simulacin de realizarse usando la frmula csica de probabilidad de casos
favorables dividido por casos posibles

posibles Casos
favorables Casos
obabilidad Pr =

5.2 Factores de utilizacin

En la mayora de las simulaciones se requiere medir la carga de alguna entidad, por ejemplo, la
carga de un equipo. La forma ms simple consiste en determinar qu fraccin o porcentaje de
tiempo est ocupado el equipo durante la simulacin. El trmino utilizacin se usa para medir
esta estadstica. La historia del tiempo de uso del equipo puede aparecer como se muestra a
continuacin.
To T1 To T1 To T1 To T1

To: Equipo ocupado
T1: Equipo libre
Tiempo

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 31
Figura No 5.7 Utilizacin de una entidad

Entonces para medir la utilizacin del equipo es necesario guardar un registro del tiempo T
0
en
que el equipo empez a utilizarse por ltima vez. Cuando el equipo se desocupa en el tiempo
T
1
, se calcula el valor T
1
- T
0
y es agregado a un contador. Al final de la simulacin se calcula el
factor de utilizacin U dividiendo el tiempo total acumulado por el tiempo total simulado (T)
como:

T
) T T (
U
0 1


=
Es importante verificar si el equipo est ocupado al final de la simulacin, y si lo est, agregar al
contador respectivo una cantidad que represente el tiempo que el equipo ha venido laborando
desde la ltima parada. Adems, es importante examinar las condiciones iniciales para ver si la
entidad estuvo ocupada al principio de la simulacin.

5.3 Contadores y Estadsticas Resumen para variables de estado

Cuando se trabaja con grupos de entidades en vez de valores individuales, se requiere guardar,
adems de la informacin acerca del nmero de entidades que estn operando en un instante
dado, el tiempo que han venido operando. Por ejemplo, si nos interesa calcular el nmero medio
de mquinas en operacin necesitamos saber no slo cuantas mquinas estn operando en un
tempo determinado, sino que tambin debemos saber durante cunto tiempo ha estados esas
mquinas en operacin. La figura siguiente ilustra el nmero de entidades n
t
que estn
operando como funcin del tiempo.


Nmero

de

Entidades



Figura 5.8 Comportamiento del nmero de unidades

Para encontrar el nmero medio de mquinas en operacin es necesario llevar un registro del
nmero de mquinas en operacin y del tiempo en que ocurri el ltimo cambio. Si en t
i
el
nmero de mquinas en operacin cambia a n
j
, y luego el prximo cambio ocurre en t
i+1
, la
cantidad n
j
(t
i+1
- t
i
) debe calcularse y agregarse a un acumulado total. El nmero promedio
de mquinas en uso durante la simulacin es calculado al final de la simulacin dividiendo el
total por el tiempo de la simulacin, a saber:

T
t n
T
) t t ( n
n
t
t i 1 i
i
i
A
=

=
+


El nmero medio de unidades en la cola o el inventario promedio de un artculo se calcularn de
la misma manera.

Si hay un lmite mximo en el nmero de entidades, por ejemplo, cuando se tiene un taller con
N mquinas, el trmino ocupancia ser usado para describir el nmero promedio en uso, como
una proporcin, con relacin al nmero mximo. As, si n
j
es el nmero de mquinas que estn
trabajando en el intervalo de t
i
a t
i+1
, la ocupancia estar dada por:

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 32

NT
t n
NT
) t t ( n
O
t
t i 1 i
i
i

A
=

=
+


Como se explic antes, es necesario verificar las condiciones al principio y al final de la
simulacin.

5.4 Tiempos de Trnsito

Se denomina tiempo de trnsito al tiempo que una entidad gasta en pasar de un punto a otro
en la simulacin. Por ejemplo, el tiempo que un cliente permanece en el una cola esperando
servicio, o el tiempo de permanencia en el sistema son tiempos de trnsito. Para medir los
tiempos de trnsito el reloj es usado como un marcador o sello. Cuando una entidad alcanza un
punto en el cual empieza un tiempo de trnsito, se debe hacer una anotacin de su tiempo de
llegada (marcar la llegada). Posteriormente, cuando la entidad llegue al punto de inters, se
debe hacer otra anotacin del tiempo de llegada a ese punto y compararlo con el primer tiempo
para derivar el tiempo transcurrido.

Tiempo de trnsito = Reloj marca de llegada

5.5 Registro de distribuciones de frecuencia

El objetivo de las tablas o distribuciones de frecuencia es distribuir los datos obtenidos en el
proceso de simulacin en intervalos de clase, preferiblemente del mismo tamao, y verificar
cuantas observaciones se presentan en cada intervalo (frecuencia absoluta).

La informacin resultante se puede usar para construir posteriormente un histograma de
frecuencia, y tratar de inferir cul puede ser la distribucin a la cual se ajustan los datos.

Para determinar la distribucin de una variable se requiere contar cuntas veces el valor de la
variable cae dentro de ciertos intervalos especficos. Por lo tanto es necesario establecer una
tabla o arreglo en que se registren los valores que definen los intervalos y se realice el conteo.
A medida que se produce una nueva observacin, se compara su valor con los lmites
establecidos para los intervalos (con el lmite superior de cada intervalo) y se agrega un "1"
para el contador del intervalo en que cae la observacin. Como regla general los intervalos con
de tamao uniforme, excepto el primero y el ltimo.

Como por lo general el proceso de actualizacin se realiza a medida que se obtienen los
resultados, es necesario definir a priori los parmetros para el clculo de las tablas de
frecuencia, y no se conocen an cuales seran los valores mnimos y mximos de las variables.
Por lo tanto, el primero y el ltimo intervalos son abiertos. El primer intervalo contiene los
valores que son muy pequeos, y va, en teora, desde menos infinito hasta un lmite definido a
priori (X
0
), y el ltimo intervalo contiene los valores que son muy grandes, y va desde cierto
lmite hasta infinito.

Por lo tanto para recolectar la informacin para calcular la distribucin de frecuenta de una
variable de salida se deben definir los siguientes parmetros:

- X
0
: Lmite superior del primer intervalo.
- AX : Tamao o amplitud de los intervalos de clase.
- M : Nmero de intervalos de clase en que se van a distribuir las observaciones.

El primer intervalo se destina para aquellas observaciones que son muy pequeas e incluye
aquellos valores que son menores que o iguales a X
0
, es decir, el primer intervalo comprende los
valores entre - y X
0
. El ltimo intervalo contiene aquellos valores que son muy grandes. Los
lmites de los intervalos de clase se ilustran en la siguiente tabla.

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 33
La naturaleza de la variable medida determina cundo se realizan las observaciones. Si se va a
medir el tiempo de permanencia en el sistema, una observacin se toma cuando la entidad sale
del sistema. Para poder realizar esta observacin es necesario mantener en algn registro la
fecha de llegada al sistema, y cuando salga se calcula el tiempo de permanencia (tiempo de
trnsito). Una vez se obtiene la observacin, se determina en que intervalo cae y se agrega un
uno (1 ) a la frecuencia observada del intervalo respectivo. Para determinar en que intervalo
cae una observacin hay dos formas alternativas de realizarlo:

a) calculando previamente los lmites de cada intervalo de clase. Se compara el valor de la
observacin (x) con el lmite superior de cada intervalo, empezando con el primero. Para
ello se toma cada valor y se lo compara sucesivamente con el lmite superior del primer
intervalo, luego con el del segundo, y as sucesivamente hasta que caiga en alguno. Si el
valor x queda en el intervalo i, entonces se aumenta en uno la frecuencia del respectivo
intervalo
F
I
= F
I
+ 1
b) Sin tener que calcular previamente los lmites de cada intervalo de clase. Se calcula el
nmero del intervalo en el cual cae la observacin mediante la siguiente frmula, tomando
la parte entera de dicha expresin. Si el nmero del intervalo calculado es menor que uno
(el valor observado es muy pequeo), la observacin cae en el primer intervalo y si es
mayor que NI (el valor observado es muy grande) cae en el ltimo. El ltimo intervalo
comprende aquellos valores que son mayores o iguales que X
0
+ (NI - 2) AX, segn se
observa en el cuadro siguiente.
I
X X
X
=

+

(
0
199
A
.
Si I < 1 I = 1
Si I > M I = M
F
I
= F
I
+ 1

Si el primer intervalo comprende aquellos valores que son estrictamente menores que X
0
,
entonces en la frmula anterior en vez de 1.99 se usa 2.0. Se usa el valor de 1.99 cuando
el primer intervalo comprende los valores iguales a X
0
(el primer intervalo es cerrado por
encima).
CALCULO DE DISTRIBUCIONES

Nmero del
Intervalo
Lmite Inferior
X
i 1

Lmite Superior
X
i

Frecuencia
F
i

Totales
1 - X
0
||
2 X
0
X
0
+ AX ||||||||
3 X
0
+ AX X
0
+ 2 AX ||||||||||||||||||||
4 X
0
+ 2 AX X
0
+ 3 AX |||||||||||||||||||||||
. .......................
J X
0
+ (j 2) AX X
0
+ (j - 1) AX ||||||||||||||||||||||||
. ...................
NI 1 X
0
+ (NI - 3) AX X
0
+ (NI - 2) AX ||||||
NI X
0
+ (NI - 2) AX |||||

Se recomienda que el nmero de intervalos de clase est entre 5 y 15, dependiendo del tamao
de la muestra disponible. Si se usa un nmero muy pequeo, los valores quedan muy
concentrados, mientras que si se emplea un nmero muy alto y la muestra es muy pequea, los
datos quedan muy dispersos y realmente no se obtiene mucha informacin. Como una gua
para escoger el nmero de intervalos puede usarse la frmula de Sturgess, dada por
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 34

) n ( log 2 . 3 1 M
10
+ =
donde n corresponde al nmero total de observaciones.

Cuando se requiere calcular la distribucin de frecuencia de una variable de estado (nmero de
entidades que hay presentes en el sistema, nivel de inventario de un artculo) entonces para
encontrar esta distribucin de frecuencia es necesario acumular, no el nmero de veces que la
observacin cae en determinado intervalo, sino el tiempo durante el cual la variable de estado
tom determinado valor. Por ejemplo, cuando se requiere la distribucin del nmero de
unidades en la cola, es necesario guardar informacin acerca del tiempo que hubo determinadas
unidades esperando el servicio. En vez de sumarle 1 a la frecuencia del intervalo i se le agrega
el delta de tiempo At
F
I
= F
I
+ At
Presentacin de los datos. El resultado final de la simulacin expresar, fuera de la
frecuencia, otros datos, muchas veces en una forma diferente a como fueron recogidos. Una vez
se ha terminado la simulacin y los valores estn agrupados en los intervalos de clase, y se ha
obtenido la frecuencia absoluta de cada intervalo, se realizan algunos clculos para mejorar la
presentacin de los resultados. Por lo general, se calcula para cada intervalo la frecuencia
relativa y la frecuencia relativa acumulada, las cuales estn dadas por:
Frecuencia relativa del intervalo i =
n
F
i
FR
i
=
Frecuencia Relativa Acumulada i =
=
=
i
1 k
FR
k
FRA
i

donde F
i
es la frecuencia absoluta del intervalo i, es decir, corresponde al nmero de valores
observados que quedaron en dicho intervalo.

5.6 Proceso de recoleccin de la informacin

El proceso de recoleccin de la informacin tiene las tres mismas etapas del proceso general de
la simulacin, a saber: Inicializacin de los registros, actualizacin de los registros a medida que
se produce la informacin, y el resumen (clculo) de resultados. Cuando la simulacin se realiza
mediante la ayuda de una hoja de clculo tipo Excel, el modelo guarda toda la informacin de las
variables de salida, y el clculo de los principales estadsticos se realiza al final de la simulacin.
Cuando el modelo se implementa en un lenguaje de uso general, por lo general no se almacenan
todos los resultados de la simulacin, sino que los registros se van actualizando a medida que
los resultados se van obteniendo.

Las diferentes etapas para el proceso de recoleccin de informacin son las siguientes:

a) Inicializacin de contadores o registros

Esta etapa se realiza cuando se inicializa el modelo de simulacin. Si se van a recolectar las
principales estadsticas resumen, distribuciones de frecuencia, y probabilidades para una
variable cuyo valor observados es x tendramos los siguientes registros, con sus respectivos
valores iniciales:

Nmero total de observaciones: N = 0
Suma de valores X = suma_valores = 0
Suma de cuadrados = X
2
= suma_cuadrados = 0
Valor mnimo = X
min
= +
Valor mximo = X
max
= -
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 35
Casos favorables = 0
Para cada intervalo de frecuencia i = 1 hasta M
Frecuencia(i) = 0
Siguiente intervalo

La mayora de los registros se inicializan en cero, excepto los registros para los valores mnimo
(que se inicializa en un valor grande) y mximo que se inicializa en un valor alto (que se
inicializa en un valor pequeo), de tal forma que cuando se presente la primera observacin se
cambien dichos registros (l primera observacin representa tanto el valor mnimo como el
mximo obtenidos hasta ese insante).

b) Actualizacin de la informacin

El proceso de actualizacin de los registros se realiza dentro del algoritmo de simulacin, a
medida que se va produciendo la informacin. Si nos interesa una variable, y sta toma el valor
de x, se deben realizar algunas o todas de las actividades siguientes:

Nmero total de observaciones : N = N + 1
Suma de valores: (X = X +x)
Suma de cuadrados = X
2
= X
2
x
2

Valor mnimo: Si x < X
min
X
min
= x
Valor mximo: Si x > X
max
X
max
= x
Casos favorables: Si se cumple la condicin Casos favorables = Casos favorables +1
Se calcula el intervalo i en que cae la observacin, segn lo indicado antes y se
actualiza la frecuencia como:
Frecuencia(i) = Frecuencia(i) +1

Por lo tanto cada observacin X
i
resultar en la adicin de un "1" al contador de eventos
totales, otro "1" al contador apropiado de acuerdo al intervalo en que quede la observacin, la
adicin de X
i
al total acumulado E X
i
y la adicin de X
i
2
a la suma EX
2
. Sin embargo, como
esa informacin puede recogerse por otro lado, entonces al determinar la distribucin de una
variable se omitir la recoleccin de esta informacin.

La distribucin de las observaciones puede guardarse en un arreglo de dos dimensiones
ISTO(I,J) donde el valor mximo de I depende del nmero de intervalos de clase, y el valor
mximo de j depende de las estadsticas que se vayan a recoger.

c) Clculo de las variables de salida

Una vez terminado el algoritmo de simulacin, se tiene la generacin del reporte de salida y el
clculo de los principales indicadores, tales como la media, varianza, probabilidades,
coeficientes, intervalos de confianza, etc. y la impresin de los principales resultados, incluyendo
si es del caso la tabla de frecuencias.

6 Problemas resueltos

En esta seccin se analizarn varios ejemplos relativamente simples para conocer un poco mejor
la forma de realizar una simulacin. En los captulos siguientes se analizar en detalle problemas
relacionados con la simulacin de fenmenos de espera y el manejo de los sistemas de
inventario.

6.1 Un problema de mantenimiento

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 36
Una compaa ha tenido problemas de mantenimiento con un equipo complejo. Este equipo
consta, entre otros componentes, de cuatro tubos al vaco idnticos, los cuales han sido la causa
de los principales problemas de fallas. El problema consiste en que los tubos fallan
constantemente, lo cual obliga a parar el equipo. La prctica actual de mantenimiento consiste
en reemplazar los tubos a medida que van fallando. Sin embargo, con el fin de reducir el tiempo
que el equipo permanece inactivo, se ha lanzado la propuesta de reemplazar todos los tubos
cuando falle uno de ellos. El objetivo del estudio es comparar ambas polticas con ayuda de la
simulacin y proponer la poltica de mantenimiento a usar en el futuro.

Los datos pertinentes y que se han recolectado sobre la operacin del sistema son los
siguientes:
- Para cada tubo el tiempo de operacin normal hasta que falla tiene una distribucin normal
con una media de 600 horas y una desviacin estndar de 100
- El tiempo para reemplazar un tubo se distribuye uniformemente entre 80 y 120 horas, y el
tiempo para reemplazar todos los tubos se distribuye tambin uniformemente pero entre 170
y 230 horas.
- El costo total asociado con parar el equipo y reemplazar los tubos es $ 60 000 por hora, mas
$ 80 000 por cada tubo nuevo.

Usando adecuadas condiciones iniciales, simule la operacin de las dos alternativas.

Solucin

El objetivo del problema puede plantearse como: Determinar la poltica de mantenimiento que
minimice los costos totales asociados con las fallas del equipo. Estos costos son: Los costos
ocasionados por la reparacin de las fallas (reemplazo de los tubos) y los costos debidos a la
inactividad del equipo mientras est siendo reparado, es decir:

Costos = Costos de Reparacin + Costos debidos a inactividad del equipo.

El costo asociado con cada falla del equipo, para cada alternativa k se puede expresar como:

Costo(k) = NTR
k
x C
t
+ C
i
x D

donde
NTR
k
= Nmero de tubos reemplazados en cada alternativa.
C
t
= Costo de cada tubo reemplazado
C
i
= Costo de inactividad del equipo, por hora
D = Duracin de la falla, mientras se reemplazan los tubos.
k = Alternativa a simular, con k = 1 es la poltica actual y k = 2 la poltica propuesta.

El procedimiento general de la simulacin consiste en tratar de reproducir lo que sucedera en el
sistema real: En la vida real se pone a funcionar el sistema y se observa lo que sucede en el
sistema durante un perodo adecuado de tiempo, se recoge informacin sobre su desempeo. En
la simulacin se trata de reproducir lo anterior en un modelo, donde las variables aleatorias que
no se conocen se generan usando la respectiva distribucin de probabilidad. Las actividades que
habra que realizar seran las siguientes:

a) A partir de cualquier instante (tiempo cero) se empieza a observar el funcionamiento del
sistema.
b) Se registra el instante en que falla el sistema.
c) Se repara el equipo, segn la poltica de mantenimiento
d) Se calcula el costo ocasionado por la falla del equipo
e) Una vez reparado, se pone a funcionar de nuevo el sistema, y se repite el procedimiento
anterior hasta que termina el tiempo durante el cual se desea observar el comportamiento
del sistema
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 37

En el modelo de simulacin se imita el procedimiento anterior: Se pone a funcionar el equipo,
se observa cuando se produce una falla y en ese instante se repara la falla, de acuerdo con la
poltica que se est analizando. Cuando se repara la falla, se recoge la informacin requerida
para la toma de la decisin. En la vida real, se empieza a observar la operacin del sistema en
cualquier instante. En la simulacin es necesario definir las condiciones del equipo en el
momento de iniciar la simulacin.

Procedimiento general de la simulacin

El procedimiento global de la simulacin que se acaba de describir en el prrafo anterior se
puede resumir en el siguiente seudo cdigo:

Para cada poltica
Reloj = 0
Sistema en funcionamiento (tubos nuevos).
Mientras Reloj s Tiempo de simulacin
Tiempo prximo evento = Tiempo mnimo de funcionamiento.
Reloj = Tiempo prximo evento
Se genera tiempo reparacin (segn la poltica)
Se actualizan estadsticas por la falla del equipo
Reloj = Reloj + Tiempo reparacin
Se pone a funcionar de nuevo el sistema (segn la poltica) y se actualiza la nueva
duracin de los tubos, segn la poltica
Fin mientras Repite el procedimiento hasta que termina el tiempo de simulacin
Clculo costo de la poltica
Siguiente poltica
Escoger la mejor poltica

Una vez realizada la simulacin y recogidas las estadsticas segn las fallas presentadas, se
estima el costo medio por unidad de tiempo como:

Costo(k) = [NT
k
x C
t
+ C
i
x D]/TSIM

donde TSIM es el tiempo total simulado.

Condiciones iniciales

Puede suponerse que en el momento de empezar la simulacin (RELOJ = 0) se dispone de un
equipo nuevo, es decir, se empieza a operar con los cuatro tubos nuevos.

Si T es la duracin de cada tubo, entonces T se distribuye normalmente con una media = 600
horas y una desviacin o = 100 horas. Adems, se supone que esta duracin es efectiva, es
decir, que el tiempo que el sistema permanezca inactivo bajo reparacin, no se considera parte
de la vida til del tubo. Por ejemplo, si se predice que un tubo fallar en la hora 1020, pero otro
tubo falla antes en la hora 900 y su reposicin dura 150 horas (el equipo empieza a trabajar de
nuevo en la hora 1050), entonces el tubo no puede fallar en la hora 1020 sino en la hora 1170
(1020 + 150).

El tipo de avance que se usar en la simulacin ser continuo, y la simulacin avanzar por
eventos. Solo habr dos tipos de eventos (Fallas y reparaciones) y los eventos sern siempre
secuenciales (falla, reparacin, falla, reparacin,...).

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 38
Procedimiento general de la simulacin

El procedimiento general de la simulacin puede resumir en los siguientes pasos:

1) Definir los parmetros bsicos de la simulacin
2) Establecer las condiciones iniciales (Reloj = 0). En este caso se supone que en el tiempo
cero se dispone de un sistema nuevo, es decir, se colocan cuatro tubos nuevos. Adems,
debe definirse la duracin de cada tubo, y cuando fallarn por primera vez.

3) Mientras (Reloj s Tiempo de simulacin)

4) Buscar Prxima falla. Se busca cul es el tiempo de falla del prximo tubo se avanza el Reloj
al tiempo de la falla.
a) Se busca el tiempo mnimo de falla.
b) Reloj = Tiempo mnimo de falla
c) Prximo evento: Falla de un tubo. Se identifica el tubo que falla. Se actualizan
estadsticas sobre fallas por tubos y se calcula el tiempo de reparacin, de acuerdo con
la poltica analizada.
d) Reloj = Reloj + Tiempo de reparacin
e) Prximo evento: Fin de Reparacin. Es necesario: Actualizar nmero de tubos
reemplazados, tiempo de inactividad, costo de falla y reparacin, duracin de los tubos
reemplazados, de acuerdo con la poltica simulada y actualizar los tiempos de las
prximas fallas.
f) Poner a funcionar de nuevo el sistema Si se est simulando la poltica actual
(reemplazamiento individual) debe determinarse la duracin y prxima falla del tubo
nuevo y actualizarse el tiempo de falla de los restantes tubos, adicionando a su tiempo
actual de falla el perodo de inactividad (tiempo de reparacin). Si se est simulando la
poltica propuesta (reemplazamiento colectivo) debe determinarse la duracin de cada
uno de los tubos nuevos y la prxima falla, como el tiempo actual mas la duracin del
tubo

5) Si no se ha terminado el tiempo de simulacin, se repite los pasos 2, 3 y 4. Si ya se termin
el tiempo de simulacin, se calcula el costo medio y se imprimen las estadsticas.

6) Si se esta simulando la poltica actual, se reiniciliazan las semillas para comenzar de nuevo
la simulacin, pero de la poltica propuesta. Si se est simulando la poltica propuesta, se
comparan los costos medios de ambas polticas, y se escoge la de menor costo.

Es conveniente que para la duracin de los tubos y para la reparacin de las fallas se empleen
semillas diferentes. Adems, para la simulacin de la poltica alternativa deben usarse las
mismas semillas que se usen para la simulacin de la poltica actual, de tal forma que la
comparacin de ambas polticas se realice bajo las mismas condiciones, y cualquier diferencia en
los resultados se deba nica y exclusivamente a la diferencia entre las alternativas, y no a las
variaciones aleatorias.

El procedimiento completo de la simulacin se explica en el seudocdigo de la pgina siguiente. En el
apndice No 1 al final de este captulo se presenta el listado en fortran del programa completo para simular
esta situacin. El programa est escrito de tal forma que si se lo desea, se pueda imprimir la simulacin
paso a paso. Basta con eliminar en la primera columna la letra D de aquellas instrucciones en las cuales
aparece.

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 39
Problema de Mantenimiento: Seudo cdigo
Lectura de datos sobre:
- Duracin de los tubos, tiempos de reparacin, Semillas, tiempo de simulacin
- Costos unitarios por tubo y de inactividad
Poltica actual: REEMPLAZO INDIVIDUAL
Nmero de tubos reemplazados =Nro_Tubos= 1
Para poltica desde 1 hasta 2
Reloj=0

Inicializacin del sistema
- Cuatro tubos nuevos
- Tiempo_inactividad = 0
- Total_Tubos = 4
- Nmero_Total_Fallas=0
Para cada tubo k = 1,4
Nmero_fallas_Tubo(k)=0
Generar Duracin del tubo: Normal(600,100)
Tiempo_Falla(k) = Reloj + Duracin
Siguiente tubo
Mientras (Reloj s Tiempo_simulacin)
Buscar Prxima Falla =Mnimo {Tiempo_Falla(k), k=1,4)}
Sea i el tubo que falla
Evento Falla Nmero_Total_Fallas =Nmero_Total_Fallas +1
Nmero_fallas_Tubo(i)= Nmero_fallas_Tubo(i)+1
Generar Tiempo_Reparacin :Unif(Ak,Bk)
Evento Reparacin Reloj=Reloj + Tiempo_Reparacin
Tiempo_inactividad = Tiempo_inactividad + Tiempo_Reparacin
Total_Tubos_Reeemplazados = Total_Tubos_Reeemplazados + Nro_Tubos
Si poltica actual, entonces Si No

Para cada tubo k =1,4
Tiempo_Falla(k) =
Tiempo_Falla(k) +
Tiempo_Reparacin
Siguiente tubo
Generar duracin de tubo
nuevo :Normal(600,100)
Tiempo_Falla(i) = Reloj +
Duracin
Para cada tubo k =1,4
Generar duracin de tubo nuevo :
Normal (600,100)
Tiempo_Falla(i) = Reloj + Duracin
Siguiente tubo

Fin Si
Fin Mientras
Calcular Costo(poltica)
Imprimir costos y estadsticas
Si poltica actual, entonces Si No

Poltica=Poltica propuesta
Nmero_tubos = 4
Comparar polticas y escoger la mejor
Fin Si
Siguiente poltica
Escribir la mejor poltica
Fin Simulacin

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 40
Simulacin manual del problema (usando Excel)

Para la simulacin manual del problema es necesario tener en cuenta los siguientes aspectos:

- La duracin de cada tubo se genera mediante el mtodo de la transformacin inversa, para
simulacin manual, y est dada por:
Duracin = + oZ = 600 + 100 Z
donde Z corresponde a una variable distribuida normalmente con media cero y varianza uno.
- El tiempo de reparacin de los tubos est dado por:
Tiempo_Reparacin = a = ( b - a) r,
siendo r un nmero aleatorio y los valores de a y b dependen de la poltica simulada, con a =
80 y b = 120 para la poltica actual y a = 170 y b = 230 para la simulacin de la poltica
propuesta. La tabla siguiente presenta los resultados para un segmento de simulacin de la
poltica actual.
- Nmeros aleatorios usados para la duracin de los tubos: .10, .09, .73, .25, .33, .76, .52, .01
- Nmeros aleatorios empleados para la reparacin de los tubos: .69, .07, .49, .41


Problema de Mantenimiento: Simulacin manual Poltica actual

Reloj Tubo No 1 Tubo No 2 Tubo No 3 Tubo No 4 Reparacin Tiem. Nro
de
D TF(1) D TF(2) D TF(3) D TF(4) T_rep T_fin Inact. Tubos
0 472 472 466 466 661 661 533 533 4
466 472 472 - - 661 661 533 533 108 574 0
574 580 556 1130 769 641 108 5
580 - 556 1130 769 641 83 663 108 5
663 661 1324 1213 852 724 191 6
724 1324 1213 852 - 100 824 191 6
824 1424 1313 952 605 1429 291 7
952 1424 1313 - 605 1429 96 1048 291 7
1048 1520 1409 367 1415 605 1525 387 8

El costo por unidad de tiempo, para el perodo simulado, est dado por:
Costo = (8*80+387*60)/1048 =

A continuacin se presenta un resumen de los resultados obtenidos para dos corridas de
simulacin, con diferentes semillas:

Simulacin No 1 Simulacin No 2
Conceptos/ Poltica Actual Propuesta Actual Propuesta
Semilla para fallas 555 555 4729 4729
Semillas para reparacin 4777 4777 8215 8215
Tiempo simulado 60241 60315 60244 60201
Tiempo de inactividad 24086 17230 24072 17443
No de tubos reemplazados 243 344 241 344
Costo por hora 243 176 243 178

Como puede observarse, la poltica propuesta es superior a la actual.
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 41

6.2 Problema del automvil

Los datos sobre averas de automviles obtenidos por una compaa de taxis sugieren que el
kilometraje entre las fallas de tres sistemas importantes- el carburador, el sistema elctrico y el
de enfriamiento- est uniformemente distribuido, con las siguientes medias y variaciones:

SISTEMA KILMETRO MEDIO VARIACIONES
Carburador 23.000 10.000
Sistema Elctrico 20.000 7.000
Enfriamiento 40000 20.000

Mediante la simulacin, determine el costo de las reparaciones y el mantenimiento a lo largo de
la vida de los taxis de 250.000 kilmetros, cuando se utilizan las siguientes normas de
mantenimiento:

1) Esperar que se produzcan fallas y reparar todos los sistemas, hasta llegar a las
condiciones originales.
2) Inspeccionar cada 15.000 kilmetros y reparar todos los sistemas, hasta alcanzar las
condiciones originales; si se produce alguna falla, deben repararse todos los sistemas.
3) Lo mismo que la segunda norma, con excepcin de que la inspeccin se har cada 20.000
kilmetros.
4) Esperar a que se produzca alguna avera y reparar solamente esa falla.
5) Inspeccionar y reparar cada 20.000 kilmetros; si se produce alguna falla, debe repararse
solamente esa avera.

El costo de inspeccin y reparacin de todos los sistemas, hasta alcanzar las condiciones
originales es de 1.000 pesos; el costo de reparacin de una falla y restaurar todos los dems
sistemas a la condiciones originales, al mismo tiempo, es de 1.750 pesos.

Solucin:

El modelo se desarrollar de tal manera que el programa permita simular las cinco polticas, en
forma secuencial. La simulacin se desarrollar por eventos, y el nmero de eventos depender
de la poltica simulada: En las polticas sin revisin habr cuatro eventos (las tres fallas de los
componentes y el fin de la vida til del carro), y en las polticas con revisin programada habr
cinco eventos (se agrega el evento revisin). Se considerar el fin de la vida til del carro como
un evento de tal forma que la vida del carro llegue exactamente a 250,000 kilmetros.

El proceso general de la simulacin simplemente trata de reproducir lo que sucedera si
estuviramos analizando el funcionamiento del carro en la vida real: Se pone a funcionar el
carro, si es del caso se programan las revisiones preventivas, y se hacen los ajustes al carro a
medida que se van presentando los eventos, que pueden ser las fallas de los componentes o la
revisin del carro, segn sea la poltica analizada.

En este problema no se considera tiempo de reparacin dado que la vida de los carros se est
midiendo segn el kilometraje recorrido, y cuando se presenta una falla se supone que no hay
un incremento sustancial en el kilometraje del vehculo.

El proceso global de la simulacin se resume en los siguientes pasos:

Lectura de parmetros de la simulacin
Para cada poltica
Para cada carro
Reloj = 0
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 42
Carro nuevo (tres sistemas en funcionamiento).
Creacin de la lista de eventos
Mientras Reloj s Vida til del carro
Buscar prximo evento
Identificar evento
Reloj = Tiempo prximo evento
Si Prximo evento = falla, entonces
Si poltica 3, entonces
Se reparan todos los sistemas (componentes nuevas)
Si poltica =2, 3, entonces
Reprogramar revisin
Fin si
Si no
Se repara nicamente componente que falla
Fin si
Si no
Si prximo evento es revisin, entonces
Se revisan todos los sistemas (componentes nuevas)
Programar revisin
Fin si
Fin si
Fin mientras
Se actualizan estadsticas (fin de vida til del carro)
Siguiente carro
Clculo costo medio de la poltica
Siguiente poltica
Escoger la mejor poltica

Para el seudo cdigo detallado se usar el vector MEF(i) matriz o lista de eventos futuros
para llevar el tiempo de falla de los componentes, la vida til del carro y el tiempo de la prxima
revisin, segn la siguiente convencin:

o Mef(1) = kilometraje en que fallar el carburador
o Mef(2) = kilometraje en que fallar el sistema elctrico
o Mef(3) = kilometraje en que fallar el sistema de enfriamiento
o Mef(4) = Fin de la vida til del carro.
o Mef(5) = Kilometraje de la prxima revisin para aquellas polticas que la tienen.

En el desarrollo del seudo cdigo se supone que para las polticas 2 y 3 cada vez que existe una
falla, y se reparan todos los sistemas, es necesario reprogramar la prxima revisin a partir del
momento de la falla.

Se supone que el costo de reparar un solo componente es $750, correspondiente a la diferencia
entre el costo de reparacin de una falla y restaurar todos los dems sistemas a la condiciones
originales (1750) menos el costo de inspeccin y reparacin de todos los sistemas hasta
alcanzar las condiciones originales que es de 1.000 pesos.

En el desarrollo del programa se usarn dos procedimientos o funciones, una para generar las
duraciones de los tres componentes, que se usar al inicializar el sistema, y para aquellas
polticas en que se reparan o se revisan todos los sistemas hasta alcanzar las condiciones
originales, y la otra se usar para aquellas polticas en que se slo se repara el componente que
ocasiona la falla.

B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 43

Problema del automvil (Problema No 5.3)

Definir: Nmero_carros, Semillas, Parmetros (Ai,Bi, i =1,3)
Costo_ptimo =
Para poltica = 1, 5
Costo_minimo = ; Costo_mximo = 0; Costo_total = 0
Para carro = 1, Nmero_carros
Reloj = 0; Costo_carro = 0
Restaurar Sistema (Inicializar Sistema)
Mef(4) = Vida til del carro
Si (poltica = 1 = 4) entonces
Nmero eventos = 4
Si no
Si (poltica = 2) entonces
Tiempo_Revisin = 15,000
Si no
Tiempo_Revisin = 20,000
Fin si
Nmero eventos = 5
Mef(5) = Reloj + Tiempo_revisin Fin si
Mientras (reloj <= 250,000) entonces
Mnimo =1
Para i = 2, nmero_eventos
Si (Mef (i)<=Mef(minimo)) entonces
Mnimo = i
Fin si
Fin para
Reloj = Mef (minimo)
Si(mnimo <= 3) entonces
Si (poltica = 1,2 3) entonces
Costo_carro = costo_carro +1700
Restaurar Sistemas
Si (politica =2,3) MEF(5) = Reloj + Tiempo_Revisin
Si no (poltica = 4, 5)
Costo_carro = Costo_carro + 700
Restaurar Componente (mnimo)
Fin si
Si no
Si minimo = 5 entonces (revisin del carro)
Costo_carro = costo_carro +1000
Restaurar Sistemas
MEF(5) = Reloj + Tiempo_Revisin
Fin si
Fin si
Fin mientras
Costo_total = costo_total + costo_carro
Si (costo_carro< costo_minimo) costo_minimo = costo_carro
Si (costo_carro>costo_maximo) costo_maximo = costo_carro
Fin Para
Costo (politica) = costo_total/numero_carros
Imprimir: Politica, costo(politica), costo_minimo, costo_maximo
Si (costo(politica)< costo_optimo) entonces
Costo_optimo = costo_politica; Politica_optima= politica
Fin si
Fin para
Imprimir politica optima: politica_optima, costo(politica)


Fin simulacin
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 44


Problema del automvil
Procedimiento Restaurar Sistema
Para Sistema i = 1,3
Genere r
Duracin(i) = A
i
+ ( B
i
A
i
)* R
MEF(i)= Reloj + duracin(i)
Siguiente sistema i
Fin Procedimiento
Procedimiento Restaurar Componente (minimo)
Genere r
Duracin(minimo) = A(minimo) + ( B(minimo) A(minimo ))* R
Mef(minimo) = Reloj + duracin(minimo)
Fin procedimiento Restaurar componente

7 Problemas

5.1 Una tienda tiene un pequeo lote de estacionamiento con 6 puestos disponibles. Los
clientes llegan en forma aleatoria de acuerdo a un proceso de poisson con una tasa media
de 10 clientes por hora, y se van inmediatamente si no existe espacio disponible. El
tiempo que un auto permanece en el estacionamiento sigue una distribucin uniforme
entre 10 y 30 minutos. Desarrolle un modelo de simulacin para determinar:
a) Que porcentaje de clientes se pierde por no haber espacio disponible ?
b) Cual es la probabilidad de encontrar un espacio disponible en el parqueadero ?
c) Cual es el porcentaje promedio de espacios disponibles?

5.2 La distribucin de la demanda por espacios para parquear en una determinada zona de la
ciudad sigue la distribucin de Poisson, con una media de 200 por da de 8 horas. En esta
rea se ha de ubicar un parqueadero con una capacidad de 100 carros. El costo de operar
y mantener el parqueadero es $ 190.000 por ao. El precio que se paga por un espacio
es de $ 12, no importa cunto tiempo est ocupado el espacio. La distribucin del tiempo
que un carro pasa en el parqueadero es exponencial con una media de 2 horas. El
parqueadero permanece abierto 8 horas al da, 365 das al ao.
a) Determine la utilidad anual de operar el parqueadero.
b) Se justifica conseguir mas espacios?

5.3 Determine la mejor poltica de asignacin para 21 mquinas, donde se cumple que la tasa
de fallas por mquina es = 0.4 por hora y cada operario en promedio repara u = 4
mquinas por hora.
Una de las polticas es la asignacin colectiva (21 mquinas y 3 operarios) y la otra es la
asignacin individual (7 mquinas por operario). El costo por hora de mquinas inactiva
es $ 120 y el del operario inactivo es $ 20

5.4 Considere de nuevo el problema anterior. Cul es el nmero ptimo de operarios que hay
que asignar a las 21 mquinas, si el costo por mquina inactiva es $ 180 por hora y el
costo por operario inactivo es $20/hora.
5.5 La vida de 100 vlvulas electrnicas al vaco, contenidas en un computador, est
distribuida normalmente con un valor esperado igual a seis meses y una desviacin
estndar de 2 semanas. En el caso de que todas las vlvulas se reemplacen al mismo
tiempo el costo de tal operacin ser el precio $ 2.00 por cada vlvula. El costo de
reemplazo de una vlvula que falle estando la computadora en servicio ser de $ 5.00 por
unidad, ms el costo del tiempo en que el computador queda fuera de servicio. En
promedio, el costo que ocasiona una vlvula en tiempo de mquina fuera de servicio, se
estima como $ 50.00 durante el da y $ 100.00 durante la noche. La probabilidad de falla
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 45
durante el da es de 0.7 y durante la noche de 0.3. Utilice la tcnica de simulacin en
computadora para comparar los costos de las siguientes polticas de reemplazo: 1)
reemplazar cada vlvula a medida que van fallando; 2) reemplazar las 100 vlvulas cada
5 meses, hacindolo con la vlvulas que fallan individualmente en el perodo interino.
Determine una poltica ptima de reemplazo para la compaa.
5.6 Los carros llegan aleatoriamente a una cabina y pagan el peaje. Si es necesario, esperan
en la cola de acuerdo al orden de llegada. El tiempo entre llegadas se distribuye
uniformemente entre 0 y 9, inclusive (aproxime al segundo ms cercano). El tiempo para
pagar es tambin aleatorio y entre 0 y 9 segundos, pero con la siguiente distribucin de
probabilidad:
f(t) = t
- 1/2
/6, 0 < t <9
Determine los tiempos de llegada y los tiempos que necesitan para pagar los 10 primeros
carros. A qu hora termina de pagar el quinto carro?. El sptimo?. Trunque todos los
nmeros calculados al entero ms cercano.

5.7 Un laboratorio de enseanza tiene 15 computadores para prcticas de docencia. Los
alumnos que utilizan dichas mquinas descubren que requieren peridicamente que el
supervisor del laboratorio responda a preguntas, efecte ajustes menores en los
computadores, etc. Los tiempos entre solicitudes de ayuda por parte de cada estudiante
siguen una distribucin exponencial con una media de 30 minutos. El tiempo que requiere
el supervisor para responder a dichas peticiones de ayuda siguen tambin una distribucin
exponencial con una media de dos minutos.
a) Simule el funcionamiento del laboratorio para determinar el tiempo total de espera de
los alumnos durante un perodo de estudio de una hora.
b) Determine el efecto de contratar un ayudante que pueda responder a las peticiones de
ayuda en la misma forma que lo hace el supervisor.

5.8 Un mecnico atiende cuatro mquinas. Para cada mquina el tiempo medio entre
requerimientos de servicio es 10 horas y se supone que tiene una distribucin exponencial.
El tiempo de reparacin tiende a seguir la misma distribucin y tiene un tiempo medio de
dos horas. Cuando una mquina se daa, el tiempo perdido tiene un valor de $ 30 por
hora. El servicio del mecnico cuesta $ 100 diarios.
a) Cul es el nmero esperado de mquinas en operacin?.
b) Cul es el costo promedio por da?.
c) Cul es preferible: tener dos mecnicos de tal forma que cada uno atienda dos
mquinas, o tener uno solo como ocurre actualmente?.

5.9 Un camin de reparaciones a domicilio y su mecnico atienden mquinas agrcolas. El
tiempo promedio de viaje ms servicio es de dos horas/mquina. El tiempo promedio de
requerimiento de servicio es de 4 das (exponenciales). Cuando se requiere servicio, el
costo ocasionado por la reparacin de las mquinas es $ 1.000/hora. El mecnico y el
camin tiene un costo de $ 320/hora. Cuntas mquinas agrcolas debe atender para
minimizar los costos?. Determine adems:
a) Tiempo de inutilizacin por mquina.
b) Distribucin del nmero de mquinas daadas.
c) Distribucin del tiempo de inactividad de las mquinas.

5.10 Se va contratar un mecnico para que repare unas mquinas que se descomponen a una
tasa promedio de 3 por hora. Las descomposturas se distribuyen en el tiempo de una
manera que puede considerarse como Poisson. El tiempo no productivo de una mquina
cualquiera se considera que le cuesta a la empresa $ 25 por hora. La compaa ha
limitado la decisin a uno de dos mecnicos, uno lento pero barato, el otro rpido pero
caro. El primero de ellos pide $ 15 por hora; a cambio dar servicio a las mquinas
descompuestas, de manera exponencial, a una tasa media de cuatro por hora. El segundo
pide $ 25 por hora y reparar las mquinas de manera exponencial a una tasa de seis por
hora. Cul de los mecnicos debe contratarse? Suministre toda la informacin que
considere necesaria.
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 46
Finalmente, en el apndice No x.x se presenta el listado Fortran para ejecutar la simulacin del
presente ejercicio. Los resultados presentados en los prrafos anteriores fueron obtenidos
mediante este programa.

Simulacin de un taller de N maquinas y M mecnicos

C -----------------------------------------------------------------
C Mtodo de avance del Reloj: Por eventos
C -----------------------------------------------------------------
Leer Tiempo de simulacin, semillas, nmero de maquinas, numero de mecnicos
Leer tasa de fallas, tasa de reparacin
C Suposicin: Tiempo de falla y de reparacin exponenciales
C Inicializacin del Sistema
C
RELOJ = 0
C
C Inicializacin del Estado del Sistema
nro_maq_fun = nro_maq
nro_unid_cola(1) = 0
nro_unid_cola(2) = nro_mec
c
c nro_unid_cola(1) = nmero de mquinas que esperan ser reparadas
c nro_unid_cola(2) = nmero de mecnicos inactivos
c inicializacin del arreglo de las maquinas, segn:
c maqui(i,1) = tiempo de la prxima falla
c maqui(i,2) = estado de la mquina i
c = 0 en funcionamiento
c = 1 en cola, esperando ser reparada
c = 2 bajo reparacin
c maqui(i,3) = tiempo acumulado de inactividad de la maquina i
c maqui(i,4) = tiempo acumulado en espera de ser reparada
c maqui(i,5) = tiempo de llegada al estado actual
c
para i = 1,nro_maq
maqui(i,2) = 0
maqui(i,3) = 0
maqui(i,4) = 0
c programacin del evento falla.
r = rnd
tfalla = -ln( r )/tasa_falla
maqui(i,1) = reloj + tfalla
maqui(i,5) = reloj
fin para
c
c Inicializacin del arreglo de los mecnicos, segn:
c mecan(k,1) = tiempo de fin de reparacin del mecnico
c mecan(k,2) = estado del mecnico
c = 0 en funcionamiento
c = i , reparando la mquina i
c mecan(k,3) = tiempo acumulado de inactividad del mecnico
c mecan(k,4) = tiempo de llegada al estado de inactividad
c
para k = 1,nro_mec
c programacin del evento fin de reparacin
mecan(k,1) = 0
mecan(k,2) = 0
mecan(k,3) =0
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 47
mecan(k,4) = reloj
fin para
C
C Informacin sobre las colas
para k = 1,nro_mec
cola(k,2) = k
fin para
c
c Inicializacin de otros contadores
sum_maq_fun = 0
sum_maq_c = 0
sum_mec_i = 0
c
c Algoritmo de simulacin
c
tipo_ev = 1
mientras (reloj < tiempo sim)
c
c Bsqueda del Prximo Evento.
c Identifica la prxima mquina que ha de fallar
tipo_ev = 1
min = 1
tpe = maqui(1,1)
para i = 1, nro_maq
si (maqui(i,2)=0)then
si (maqui(i,1) < tpe)then
min = i
tpe = maqui(i,1)
fin si
fin si
fin para
c
c Verifica si prximo evento es el fin de una reparacin
para k = 2,nro_mec
si (mecan(k,2)>0)then
si(mecan(k,1) < tpe)then
tipo_ev = 2
min = k
tpe = mecan(k,1)
fin si
fin si
fin para
c
dt = tpe - reloj
reloj = tpe
c
c actualiza contadores sobre variables de estado.
sum_maq_fun = sum_maq_fun + nro_maq_fun*dt
sum_maq_c = sum_maq_c + nro_unid_cola(1)*dt
sum_mec_i = sum_mec_i + nro_unid_cola(2)*dt
c
c Identifica el proximo evento
C
Si (tipo_ev = 1)then
C Si el evento es una falla, identifica la mquina
i = min
nro_maq_fun = nro_maq_fun - 1
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 48
maqui(i,5) = reloj
c Si no hay mecnicos inactivos, la mquina queda en espera
Si (nro_unid_cola(2) = 0) then
nro_unid_cola(1) = nro_unid_cola(1) + 1
np = nro_unid_cola(1)
cola(np,1) = i
maqui(i,1) = 1
si no
c Si hay mecanicos, se escoge el primero
k = cola(1,2)
nro_unid_cola(2) = nro_unid_cola(2) - 1
c reorganiza las colas
si (nro_unid_cola(2) > 0) then
para j = 1,nro_unid_cola(2)
cola(j,2) = cola(j+1,2)
fin para
fin si
c
c Asignacin de la maquina al mecnico
c cambia el estado de las mquinas y los mecnicos
c
maqui(i,1) = 2
r = rnd
trep = -ln( r )/tasa_repara
mecan(k,1) = reloj + trep
mecan(k,2) = i
c Actualiza el tiempo de inactividad del mecnico
mecan(k,3) = mecan(k,3) + reloj - mecan(k,4)
c fin de evento falla
fin si
si no
C Evento Fin de Reparacin
C Si el evento es el fin de una reparacin, identifica el
C Identifica al mecnico k y la maquina reparada i
k = min
i = mecan(k,1)+0.01
c
c Cambia el estado de la maquina, calcula el tiempo de inactividad y de
prxima falla. Actualiza eventos
c
nro_maq_fun = nro_maq_fun + 1
maqui(i,2) = 0
maqui(i,3) = maqui(i,2) + reloj - maqui(i,5)
c programacion del evento falla.
r = rnd
tfalla = -ln( r )/tasa_falla
maqui(i,1) = reloj + tfalla
c
c si no hay mquinas en espera, el mecnico queda inactivo
si (nro_unid_cola(1) = 0) then
nro_unid_cola(2) = nro_unid_cola(2) + 1
np = nro_unid_cola(2)
cola(np,2) = k
mecan(k,2) = 0
mecan(k,4) = reloj
C
Si no
B. Caldern. Introduccin a la Simulacin. Cap 5. Desarrollo de Modelos y Programas de Simulacin. 5 - 49
c Si hay mquinas en espera de ser reparada, escoge una.
i = cola(1,1)
nro_unid_cola(1) = nro_unid_cola(1) - 1
c Reorganiza las colas
si (nro_unid_cola(1) > 0) then
para j = 1,nro_unid_cola(1)
cola(j,1) = cola(j+1,1)
fin para
fin si
c actualiza el tiempo de espera de la maquina
maqui(i,3) = maqui(i,3) + reloj - maqui(i,5)
c cambia el estado de las maquinas y los mecanicos
c
maqui(i,2) = 2
mecan(k,2) = i
r = rnd
trep = -ln( r )/tasa_repara
mecan(k,1) = reloj + trep
fin si
c fin de evento reparacion
fin si
C
Fin mientras
C
C Fin de la simulacin, cuando el Tipo de Evento sea = 3
C
C Calculo del numero medio de maquinas en funcionamiento, en cola y de mecanicos
inactivos
nro_med_fu = sum_maq_fun/reloj
nro_med_c = sum_maq_c/reloj
nro_med_i = sum_mec_i/reloj
nro_med_a = nro_mec - nro_med_i
imprimir nro_maq,nro_mec,tsim,nro_med_fu,nro_med_c,nro_med_a, nro_med_i
C
Para i = 1,nro_maq
porc_inac = maqui(i,2)*100./ reloj
porc_col = maqui(i,3)*100./ reloj
imprimir i, (maqui(i,j), j=1,5), porc_inac, porc_col
fin para
C
C Informacin sobre los mecnicos
para k = 1,nro_mec
porc_inac = mecan(k,2)*100./ reloj
imprimir k, (mecan(k,j),j=1,4), porc_inac
fin para
C
C Informacin sobre las colas
si (nro_unid_cola = 0)then
imprimir nro_unid_cola
si no
imprimir nro_unid_cola, (cola(l,1),l=1,nro_unid_cola)
fin si
si (nro_unid_cola = 0)then
imprimir nro_unid_cola
si no
imprimir nro_unid_cola, (cola(l,2),l=1,nro_unid_cola)
fin si
c
fin
6. SIMULACION DE FENOMENOS DE ESPERA


1 Introduccin

Las lneas de espera son fenmenos muy comunes y que se observan en diversas actividades: la gente que va a un
banco a cambiar un cheque, los clientes que van a comprar y pagar una mercanca, las rdenes que llegan para
ser procesadas a travs de deferentes procesos, los conductores que llegan a una estacin de servicio para
tanguear sus autos, etc.

Para que exista una cola slo se requiere que las llegadas y/o los servicios ocurran a intervalos irregulares.

El proceso bsico que se asume al formular un modelo de colas es el siguiente: Las unidades que requieren
servicio llegan al sistema. Estas unidades entran al sistema y se unen a la "cola". En ciertos puntos en el tiempo,
un elemento de la cola es seleccionado para recibir servicio, mediante alguna regla conocida como "la disciplina de
la cola". Luego el mecanismo de servicio" del sistema realiza a la unidad escogida el servicio requerido. La figura
6.1 representa esquemticamente un proceso de espera.










Fuente Centro de espera Centro de servicio

Figura 6.1 Un sistema de colas.

El grfico representa un sistema de colas que consta de:

Un centro de servicio con tres estaciones
Una cola que alimenta las tres estaciones
Dos fuentes suministradoras de clientes
El flujo entre la fuente y la facilidad de servicio marca el proceso de llegadas.

Caractersticas de los sistemas de colas

Un sistema de espera tiene cuatro caractersticas: el proceso de llegadas, el mecanismo de servicio, la disciplina de
la cola y el nmero de colas.

El proceso de llegadas

El proceso de la demanda de servicios es, en general, un proceso estocstico y se describe en trminos de la
distribucin de probabilidad del intervalo de tiempo entre llegadas. Los factores que se necesitan para especificar el
proceso de llegadas son:

La fuente de llegadas
El tipo de llegadas
Los tiempos entre llegadas.

Algunos tipos de llegadas pueden ser:

a) Llegadas poisonianas, segn las cuales el nmero de clientes que llegan a requerir servicio es un proceso de
Poisson, o equivalentemente, el tiempo entre llegadas de clientes sucesivos es exponencial.
b) Llegadas regulares, a intervalos constantes.
c) Llegadas en grupo.
d) Llegadas regulares con impuntualidad.
e) Llegadas en tiempos discretos.
f) Llegadas no estacionarias. Se presenta cuando la tasa de llegada no es constante, sino que depende del
instante de tiempo considerado
g) Llegadas que siguen una distribucin general.
h) Otros aspectos relacionados con las llegadas son:
Los clientes se desaniman segn el tamao de la cola.
Fuente 1
Fuente 2



B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 2
La fuente generadora de clientes puede ser infinita, y las llegadas suelen ser independientes del tamao
de la fuente.
La fuente puede ser finita y las llegadas dependen del nmero actual de individuos en la fuente.
Pueden llegar diferentes clases de clientes.

Es frecuente encontrar situaciones reales en que las llegadas no son estacionarias, pero se puede admitir que la
tasa de llegada sea constante durante el intervalo de tiempo que sirve de base para estudiar el proceso de colas.
Desde el punto de vista de la simulacin no es necesario suponer que la tasa de llegadas sea estacionaria.

El mecanismo de servicio

Las principales caractersticas del mecanismo de servicio son:

a) Nmero de estaciones de servicio y configuracin de las mismas (serie o paralelo).
b) Nmero de clientes que pueden ser atendidos en un instante cualquiera.
c) La duracin del servicio. La duracin de un servicio es, en general, una variable aleatoria y se especifica de
acuerdo con una distribucin de probabilidad. Los tipos de servicio ms comunes son:
Distribucin exponencial.
Distribucin erlang
Distribucin gama
Servicio constante
Tiempo de servicio correlacionado con otros aspectos del sistema. Por ejemplo: servicio acelerado de
acuerdo al nmero de personas que haya esperando.

Desde el punto de vista de la simulacin, el servicio puede seguir cualquier distribucin.

La disciplina de la cola

La disciplina de espera es el conjunto de reglas que especifican el orden de atencin a las unidades. Los casos ms
comunes pueden ser:

a) Disciplina FIFO o PEPS (Primeros el entrar, primero en salir). La primera unidad que llega, ser la primera en
ser atendida. Es el caso ms general de seleccin de la unidad que pasa al servicio.
b) Disciplina LIFO o UEPS (ltimos en entrar, primeros en salir). Los ltimos clientes en llegar, sern los
primeros en ser atendidos.
c) Seleccin aleatoria de la unidad a ser atendida.
d) Seleccin de acuerdo con la importancia del cliente, es decir, de acuerdo con la prioridad del cliente.

El nmero de colas

Cuando las estaciones de servicio estn organizadas en serie, en general existe una cola en frente de cada
estacin. Cuando las estaciones de servicio estn organizadas en paralelo, puede existir una cola para cada
estacin o puede existir una sola cola que alimente todas las estaciones. Adems, el tamao de cada una de las
colas puede ser diferente.

Objetivos

El objetivo que se persigue al estudiar un sistema de colas puede ser muy variado. Generalmente se pretende
definir cual debe ser la mejor configuracin de tal forma que se minimice el costo de operacin del sistema, o cual
puede ser el costo de operacin para una configuracin dada. Entre las diferentes medidas que se pueden obtener
para analizar el comportamiento de un sistema de colas estn las siguientes:

a) Tiempo medio que una unidad permanece en el sistema y la distribucin de frecuencia del tiempo de
permanencia en el sistema.
b) Utilizacin de las estaciones de servicio.
c) Nmero medio de unidades en el sistema y distribucin del nmero de unidades del sistema.
d) Tiempo medio que permanece una unidad en cada una de las colas y su distribucin.
e) Nmero medio de unidades en cada una de las colas y su distribucin.
f) Tiempo de inactividad de las estaciones de servicio, porcentaje de utilizacin, etc.

Los fenmenos de espera pueden estudiarse analticamente o mediante la simulacin. Sin embargo, slo existen
soluciones analticas para unos casos particulares, generalmente cuando las llegadas y los servicios son
exponenciales, y el sistema no es muy complejo. La simulacin, por el contrario puede usarse para resolver
cualquier problema de colas, por complejo que sea, no importa cual sea la distribucin del tiempo entre llegadas y
del tiempo de servicio.

B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 3
Variables que deben considerarse al formular un modelo de colas

En todo modelo hay tres tipos de variables que deben considerarse: Variables exgenas, variables de estado y
variables endgenas. Con relacin a los modelos de colas, cada una de estas categoras puede incluir las siguientes
variables

a) Variables exgenas o de entrada al sistema: Entre estas variables se encuentran las siguientes:
Tiempo entre llegadas al sistema.
Tiempo de servicio en las diferentes estaciones.
Prioridad de los clientes
Nmero de estaciones de servicio
Tasa de llegada de clientes al sistema
Tasa de servicio de las diferentes estaciones o servidores
Costos de prestacin del servicio por unidad de tiempo
Costo de espera o de inactividad por cliente

b. Variables de estado:
Nmero de unidades en el sistema en cualquier instante.
Tiempo que una orden o cliente cualquiera permanece en una cola.
Tiempo que una estacin esta inactiva, esperando la llegada de una orden o cliente.
Nmero de unidades en la cada cola.
Nmero de estaciones inactivas en cualquier instante.
Nmero de rdenes recibiendo servicio en un instante cualquiera.
Tiempo de permanencia de un cliente en el sistema

c. Variables endgenas:
Nmero medio unidades en el sistema.
Nmero medio de unidades en cada una de las colas.
Nmero medio de unidades recibiendo servicio.
Nmero medio de estaciones inactivas.
Tiempo medio que una unidad permanece en el sistema.
Tiempo medio que una unidad permanece en cada una de las colas.
Proporcin de clientes que esperan.

2 Modelo de simulacin. Caractersticas a tener en cuenta

Cuando el sistema de colas va a ser estudiado mediante la simulacin es necesario identificar las entidades del
sistema con sus atributos, las actividades y los eventos.

Las entidades bsicas que se encuentran en los modelos de colas fueron descritas brevemente al principio de este
captulo e incluyen las unidades o clientes que requieren servicio, la(s) facilidad(es) que presta(n) el servicio y la(s)
cola(s) para las unidades que esperan ser atendidas. A continuacin se hace un anlisis somero de las anteriores
entidades, en el cual se repite algo analizado previamente, pero el anlisis estar orientado hacia las necesidades
de la simulacin.

Las unidades (clientes)

Las entidades que llegan al sistema de colas (llamadas unidades, rdenes, trabajos o clientes) poseen ciertas
caractersticas que afectan al sistema de algn modo. Estas caractersticas pueden ser:

Distribucin de las llegadas o del tiempo entre llegadas. Es generalmente un proceso estocstico que gobierna
el nmero de llegadas al sistema.
Prioridad. Es alguna medida relativa del valor o importancia que tiene una unidad para el sistema, comparada
con las otras unidades. Generalmente indica que tan rpido se va a mover una unidad a lo largo del sistema.
Impaciencia. Este factor indica cuanto tiempo puede permanecer una unidad en el sistema sin ser atendida. La
impaciencia puede describirse mediante las siguientes condiciones (i) Cuando una unidad rehsa entrar a la
cola porque es muy larga, (ii) cuando una unidad deja la cola despus de esperar cierto perodo de tiempo y
(iii) cuando una unidad deja una cola para pasar a otra.
Otra caracterstica que pueden tener las unidades es el tiempo que se van a gastar en la facilidad de servicio o
tiempo de procesamiento (por ejemplo, rdenes de produccin). Sin embargo, en la mayora de los sistemas
de colas este tiempo depende directamente de la facilidad de servicio.
Llegadas en lotes, cuando una llegada al sistema puede consistir de varias unidades.

Facilidad de servicio

La facilidad que sirve para atender las unidades o clientes puede tener varias caractersticas de inters.
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 4

El proceso de servicio, esto es, la distribucin de la duracin de los servicios. Generalmente es un proceso
estocstico cuya variacin es inherente a la facilidad. Comnmente se asignan los valores a los tiempos de
servicio a medida que las unidades llegan a la facilidad, aunque puede suceder que estos tiempos se asignen
cuando las unidades entran al sistema (rdenes de produccin).
Configuracin del sistema. Cuando existen varias estaciones para prestar servicio, stas pueden estar en
paralelo (cuando todas prestan el mismo servicio, y una unidad pasa solamente por una estacin) o en serie
(cuando una unidad debe pasar por todas las estaciones) o puede haber una combinacin serie - paralelo.
Disciplina del servicio. Esta caracterstica indica si se puede o no interrumpir un servicio una vez ste ha
comenzado. Esta disciplina esta ntimamente ligada con la prioridad o importancia de las unidades, o con la
necesidad del servicio de las unidades. Las unidades de mayor prioridad pueden exigir que la facilidad detenga
su proceso actual para atenderlas.
El sistema puede atender tambin en lotes a varias unidades simultneamente.

La cola

La lnea de espera puede tener las siguientes caractersticas:

Longitud. Es decir, el nmero mximo de unidades que pueden esperar en frente de una estacin.
Nmero de colas. Cuando hay varias estaciones en paralelo puede existir una cola nica que alimente todas
las estaciones o puede existir una cola para cada estacin. Adems, en este ltimo caso, cada unidad que llega
puede escoger la cola en la cual esperar - la ms corta, la ms rpida, etc. Cuando las estaciones que
prestan el servicio estn ordenadas en serie, debe existir una cola para cada estacin.
La disciplina de la cola, la cual indica el mtodo de ordenar las unidades en la cola y escoger la prxima que va
a ser atendida. Existen varias posibilidades para escoger la disciplina de la cola De acuerdo al orden de
llegada, o la que tenga la menor fecha de entrega, la que vaya a permanecer el tiempo mnimo en el servicio o
hacer la seleccin en forma aleatoria.

A continuacin se analizan diferentes modelos que son tiles para simular los fenmenos de espera: Un sistema de
varias estaciones en paralelo y un sistema de estaciones en serie.

3 Sistema de colas con varias estaciones de servicio en paralelo

La figura 6.2 ilustra esquemticamente un sistema de colas cuando existen varias estaciones idnticas que prestan
el mismo servicio. Las unidades llegan al sistema, por lo general en forma aleatoria, entran si hay espacio
disponible, esperan en una cola, si es del caso, antes de recibir el servicio, luego pasan al servicio y finalmente
abandonan el sistema. Por lo general el tiempo de llegada y el tiempo de servicio son aleatorios. Si cuando el
cliente llega hay una estacin vaca o inactiva, pasa inmediatamente al servicio y es atendida, en caso contrario la
unidad que llega se coloca en la cola y espera mientras llega su turno para ser atendida. Cuando una estacin o
servidor finaliza un servicio, y hay varias unidades esperando ser atendidas, la eleccin de la prxima unidad que
va a recibir servicio puede realizarse de varias maneras, de acuerdo al orden de llegada, es decir, los primeros que
llegan pueden ser los primeros en salir, o tambin puede usarse alguna otra disciplina, como la prioridad o la
seleccin aleatoria.











Llegada Lnea de espera Centro de servicio

Figura 6.2 Un sistema de estaciones en paralelo

El tiempo entre llegadas y el tiempo de servicio pueden seguir una distribucin cualquiera, no necesariamente la
distribucin exponencial.

El anlisis de la simulacin puede realizarse siguiendo el enfoque de flujo, o el enfoque de cambios de estado.
Aunque en lo que resta de este captulo usaremos siempre el enfoque de cambios de estado o por eventos, en la
seccin siguiente se presenta el diagrama de un sistema de colas de una estacin usando la metodologa del
enfoque de flujo. Dentro del enfoque por eventos, se puede usar la simulacin con el avance del tiempo unidad por
unidad (en forma discreta) o con el avance por eventos, avanzado siempre al tiempo de prximo evento.
k
2
1
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 5

4 Simulacin de un sistema de una cola usando el enfoque de flujo

Para ilustrar un modelo sencillo para la simulacin de colas, se usar el enfoque de flujo para el caso de un solo
servidor. Para este caso se construir inicialmente un modelo simplificado, luego el modelo ampliado, explicndolo
tanto mediante un diagrama de flujo como mediante el seudo cdigo, de tal forma que sea fcil de comprender, y
posteriormente se implementar en una hoja de clculo de Excel

Para construir el modelo usando el enfoque de de flujo es necesario examinar lo que sucede con el cliente que
requiere el servicio, lo cual se puede resumir en las siguientes grandes actividades, aclarando que la entidad que
fluye a lo largo del sistema es el cliente: 1) Inicialmente el cliente llega al sistema en busca de un servicio. 2) El
cliente espera, si es necesario. 3) Cuando le toque el turno, el empleado o servidor atiende al cliente, durante el
tiempo que sea necesario, incluyendo el tiempo para hacer el pedido y para pagar. 4) Una vez paga el cliente sale
de la tienda. Estas actividades resumen el recorrido que sigue el cliente. Tambin se presenta el diagrama
esquemtico de bloques, que representa, con ligeras modificaciones, el procedimiento seguido para construir el
modelo.

Legada del cliente Paso a la cola Paso al servicio Salida

Figura 6.2 Flujo de un cliente en sistema de colas de una estacin














El diagrama de la pgina siguiente presenta con un poco ms de detalle el procedimiento para la simulacin del
sistema de colas de un servidor usando el enfoque de flujo. Tanto para el diagrama de flujo como para la hoja de
clculo se cumplen las siguientes suposiciones:

El primer cliente llega en el tiempo cero (aunque podran llegar en cualquier instante a partir del tiempo cero).
La disciplina de la cola es FIFO, es decir, de acuerdo al orden de llegada

En el desarrollo del modelo se tienen en cuenta las siguientes relaciones:

Para cada cliente se genera el tiempo que tarda en llegar, a partir de la llegada del cliente anterior. Por lo
tanto, el tiempo de llegada al sistema es igual al tiempo de llegada del cliente anterior, mas el tiempo que
tarda en llegar (tiempo entre llegadas).
Un cliente inicia servicio tan pronto llega, si el servidor est inactivo, o tan pronto termina el servicio del
cliente anterior.
El tiempo de permanencia de un cliente en la cola es igual al tiempo de inicio de servicio menos el tiempo de
llegada al sistema.
Para cada cliente se debe generar el tiempo que dura su servicio. Por lo tanto, el tiempo de salida del sistema
es igual al tiempo de inicio del servicio ms la duracin del mismo.
El tiempo de permanencia de un cliente en el sistema es igual al tiempo de salida (fin de servicio) menos el
tiempo de llegada al sistema.
El tiempo de inactividad del servidor es igual al tiempo de inicio de servicio de un cliente menos el tiempo de
fin de servicio del cliente inmediatamente anterior.

Llegada del cliente
Espera ser atendido
Se presta el servicio
El cliente sale
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 6


























































Figura 6.3 Diagrama de flujo para a simulacin de un sistema de colas con un servidor. Enfoque del flujo

Calcula tiempo de permanencia en el sistema
Clculo de estadsticas
Inicio
Definicin de parmetros
Reloj = 0
Incializacin registros = 0
Para i = 1, nro_clientes
tiempo entre llegadas
Genera tiempo
entre llegadas
Calcula tiempo de llegada
Calcula tiempo de inicio de servicio
Calcula tiempo de espera
Genera el tiempo
de servicio
Calcula tiempo de inactividad del servidor
espera
Calcula tiempo de fin de servicio
Siguiente cliente
Fin
Reloj = Tiempo salida ltimo cliente
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 7
Figura 6.4 Enfoque del flujo. Sistema de colas de una estacin

Inicio
Definicin de parmetros
Reloj = 0
Inicializacin de registros
Para clientes = 1, nro_clientes
Generacin de tiempo entre llegadas
Clculo de tiempo de llegada
Clculo de tiempo de inicio de servicio
Clculo de tiempo de espera
Clculo del tiempo de inactividad del servidor
Generacin del tiempo de servicio
Clculo del tiempo de fin de servicio
Clculo del tiempo de permanencia en el sistema
Siguiente cliente
Clculo de estadsticas
Fin

El modelo fue implementado en Excel, para las distribuciones de tiempos entre llegadas y tiempos de servicios
dados a continuacin. Las columnas usadas en el modelo de Excel, su contenido y forma de clculo se presentan
en la siguiente tabla:

Figura 6.5 Sistema de colas de una estacin. Diseo de la simulacin en Excel
Columna Contenido Clculo para la fila i Observaciones
A Nmero del cliente (i) = (i-1) + 1 Inicia en 1
B Nmero aleatorio =aleatorio()
C Tiempo entre llegadas Segn distribucin
D Tiempo de llegada del cliente D(i-1)+C(i) D(1) = 0
E Tiempo de inicio de servicio Max(D(i), I(i-1)
F Tiempo de espera E(i) D(i)
G Nmero aleatorio =aleatorio()
H Tiempo de servicio Segn distribucin
I Tiempo de fin de servicio E(i) + H(i)
J Tiempo de permanencia en el sistema I(i) D(i)
K Tiempo de inactividad del servidor E(i) I(i-1)

En el cuadro que sigue se presenta la simulacin, usando la hoja de clculo Excel, de los 20 primeros clientes del
sistema de colas con las siguientes caractersticas:

Distribucin de tiempo entre llegadas (minutos):

Tiempo entre llegadas 1 2 3 4 5 6 7 8
Probabilidad 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125

Distribucin del tiempo de servicio (minutos):

Tiempo de servicio 1 2 3 4 5 6
Probabilidad 0.10 0.20 0.30 0.25 0.10 0.05

B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 8

Figura 6.6 Simulacin de un modelo de colas de un solo canal
Cliente
nmero
R
Tiempo
prxima
llegada
Tiemp de
llegada
Tiempo
inicio
servicio
Tiempo
de espera
R
Tiempo
de
servicio
Tiempo
fin de
servicio
Tiempo
en el
sistema
Tiempo
ocioso
cajero
( A ) ( B ) ( C ) ( D ) ( E ) ( F ) ( G ) ( H ) ( I ) ( J ) ( K )
1 0 0 0 0 0.101 2 2 2 0
2 0.853 7 7 7 0 0.706 4 11 4 5
3 0.208 2 9 11 2 0.541 3 14 5 0
4 0.945 8 17 17 0 0.649 4 21 4 3
5 0.030 1 18 21 3 0.092 1 22 4 0
6 0.064 1 19 22 3 0.072 1 23 4 0
7 0.984 8 27 27 0 0.796 4 31 4 4
8 0.603 5 32 32 0 0.213 2 34 2 1
9 0.852 7 39 39 0 0.819 4 43 4 5
10 0.302 3 42 43 1 0.035 1 44 2 0
11 0.981 8 50 50 0 0.755 4 54 4 6
12 0.048 1 51 54 3 0.497 3 57 6 0
13 0.780 7 58 58 0 0.626 4 62 4 1
14 0.882 8 66 66 0 0.451 3 69 3 4
15 0.945 8 74 74 0 0.726 4 78 4 5
16 0.698 6 80 80 0 0.434 3 83 3 2
17 0.514 5 85 85 0 0.089 1 86 1 2
18 0.631 6 91 91 0 0.411 3 94 3 5
19 0.552 5 96 96 0 0.743 4 100 4 2
20 0.229 2 98 100 2 0.904 5 105 7 0
20 98 14 60 74 45
4.9 0.7 3 3.7 0.429
Estadsticas:
1 Tiempo promedio de espera = 0.7
2 Clientes que no esperan = 14
3 Probabilidad de esperar = 0.3
4 Tiempo medio de los que esperan = 2.3
5 Porcentaje de inactividad del cajero = 42.9
6 Tiempo medio de servicio = 3
7 Tiempo medio entre dos llegadas = 4.9
8 Tiempo medio en el sistema = 3.7
9 Tiempo medio en el sistema control = 3.7
10 Nmero medio de clientes en el sistema L = 0.76
11 Nmero medio de clientes en la cola Lq = 0.14
12 Nmero medio de clientes en servicio a = 0.57
13 L aprox. Control = 0.71
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 9
En la parte final de la tabla se presentan las principales estadsticas de la simulacin, las cuales son obtenidas,
unas a partir de la propia simulacin y otras a partir de relaciones que siempre se cumplen en los diferentes
sistemas de colas, usando las frmulas de Little (para el nmero medio de unidades en el sistema, en la cola y en
servicio).

5 Sistema de colas con varias estaciones de servicio en paralelo. Enfoque por eventos

5.1 Identificacin de los eventos

Los nicos eventos primarios que se presentan en esta simulacin son la llegada de una unidad o cliente al sistema
y la terminacin de un servicio por parte de una estacin. Con el fin de facilitar la implementacin del modelo
computaciones, tambin se incluye como evento primario el fin de simulacin, es decir, el instante en que dejamos
de observar o analizar el sistema.

Adems, como se explic antes, cada uno de los eventos primarios anteriores puede generar otros eventos
secundarios, dependiendo del estado del sistema, como se ilustra a continuacin. Cuando una unidad llega al
sistema, se puede iniciar un servicio, si hay un servidor inactivo, o cuando un servidor finaliza un servicio, puede
empezar otro servicio para una nueva unidad, si hay al menos una unidad en la lista de espera.

Cuando una unidad entra al sistema, esta unidad puede quedar en uno de dos posibles estados: la unidad o se
queda en la cola o pasa al servicio. El siguiente diagrama ilustra lo que debe hacer el simulador cuando una unidad
llega al sistema.






No



S





No




S

Si




Figura 6.7 Actividades realizadas cuando una unidad llega al sistema

Cuando el evento es un fin de servicio, el simulador debe realizar las actividades descritas en el diagrama de la
figura 6.8

Como se indic antes, el sistema incluye las unidades que estn en la cola, las unidades que estn recibiendo
servicio y las estaciones de servicio. Los estados de las diferentes entidades deben incorporarse en el modelo. Los
estados de una unidad, pueden ser nicamente dos : o est en la cola esperando servicio, o est siendo atendida.
Igualmente, los estados de las facilidades o estaciones de servicio son dos: estn ocupadas atendiendo una
unidad, o estn ociosas. Por lo tanto debemos buscar la forma de representar los estados antes mencionados, y
hacer que ocurran los eventos descritos.
Para el sistema que se est tratando de simular se debe mantener el registro de los siguientes tiempos

El tiempo de llegada de la nueva unidad al sistema.
El tiempo en que finaliza el servicio de una unidad.
Llegada Cliente
Se selecciona un servidor disponible
El Cliente pasa al servicio
La unidad pasa
a la Cola
Puede entrar al
sistema?
Se identifica al Cliente
Cliente se va
Hay servidores
inactivos?
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 10
El tiempo actual de la simulacin. Este tiempo se mantendr en la variable denominada RELOJ (el reloj de la
simulacin).

Por lo tanto es necesario definir la forma de determinar cuando llega una unidad o cliente al sistema y cuando se
termina un servicio. En una situacin real cuando llega una unidad al sistema no se sabe cuando llegar la
prxima, aunque si puede saberse como se distribuye e! tiempo entre llegadas. En forma similar, cuando el
servidor empieza a servir una unidad, no se sabe cuanto tiempo durar el servicio, aunque s puede conocerse cual
es su distribucin. Sin en embargo en un modelo de simulacin s podemos saber o estimar cuando ocurrir la
prxima llegada o cuando se finalizar un servicio, ya que estos tiempos pueden generarse con base en las
respectivas distribuciones de tiempos entre llegadas o de tiempos de servicio. As, cuando una unidad llega al
sistema, inmediatamente se genera el tiempo de llegada de la prxima unidad, independientemente de lo que pase
con la que acaba de llegar. Adems, cuando una estacin de servicio empieza a atender una unidad, se genera el
tiempo que durar dicho servicio. La generacin de estos tiempos debe hacerse de acuerdo con las respectivas
distribuciones de tiempos entre llegadas y de tiempos de servicio.















No













Fig. 6.8 Actividades realizadas por el simulador cuando finaliza un servicio.

El seudo cdigo siguiente ilustra esquemticamente el proceso de simulacin, el cual ser explicado en detalle en
los prrafos siguientes.

Lectura de parmetros bsicos
Reloj = 0
Inicializar sistema . Invocar rutina de inicializacin
Creacin de la imagen del sistema
Inicializacin de contadores
Creacin lista de eventos
Mientras (Reloj < Tiempo de simulacin)
Rutina de Prximo Evento
Si Prximo Evento es llegada, entonces
Invocar rutina de llegada al sistema
Si no
Si prximo evento = fin de servicio, entonces
Invocar rutina de Fin de Servicio
Fin de un servicio
Hay Clientes
esperando servicio
Se selecciona una unidad
para ser atendida
El servidor va a
la cola
Se identifica el Servidor
Se identifica el Cliente
Cliente sale del Sistema
El Cliente pasa al servicio
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 11
Fin si
Fin si
Fin Mientras
Invocar rutina de generacin de reportes
Si hay mas experimentos de simulacin, entonces
Establecer condiciones de nueva simulacin
Volver a inicializar el sistema
Fin si
Fin de la simulacin

Figura 6.9. Procedimiento general de la simulacin

En el instante en que empiece la simulacin en el tiempo cero (RELOJ = O), se debe definir el estado del sistema
en ese instante, es decir, se debe definir si hay unidades en el sistema o en la cola, si las estaciones de servicio
estn ocupadas o inactivas, el tiempo en que llegara al sistema la primera unidad, y se deben inicializar todas las
variables y registros que sean necesarios para la simulacin. La forma ms fcil de inicializar el sistema es en el
estado vaco, es decir, no hay nadie en el sistema, y por lo tanto todas las estaciones de servicio estn inactivas.
Esta ser la forma que consideraremos en nuestro modelo. A nivel de ilustracin supongamos lo siguiente: Se
tienen dos servidores, y la primera unidad demorar tres minutos en llegar. A partir de este evento se
presentarn los siguientes eventos:
Avanzamos el RELOJ al tiempo de llegada de la primera unidad (RELOJ = 3). Antes de decidir el destino de la
primera unidad, generamos el tiempo que transcurre para que llegue la segunda unidad. Supongamos que es
dos minutos, es decir, llegar en el minuto 5. Ahora bien, como hay estaciones desocupadas, la primera
unidad puede pasar al servicio a la estacin nmero 1, para lo cual debemos generar el respectivo tiempo de
servicio. Supongamos que sea 7 minutos, es decir, finalizar en el minuto 10.
Cul es el prximo evento?. Para determinarlo, es necesario calcular que ocurrir primero entre la llegada del
cliente No 2 en el minuto 5- y el fin de servicio en la estacin nmero 1 minuto 10-. Por lo tanto el prximo
evento es en el minuto 5 y ser la llegada del cliente No 2
Minuto No 5. Llega el cliente No 2. Lo primero que debe hacerse es generar el tiempo entre la llegada de los
clientes 2 y 3. Sea 2, es decir, que llegar en el minuto 7. Como la estacin No 2 est inactiva entonces el
cliente no 2 puede pasar al servicio, y generamos el tiempo respectivo. Supongamos que sea 6 minutos, por lo
cual el servicio se terminar en el minuto 11.
Cul es el prximo evento?. Para determinarlo, es necesario calcular que ocurrir primero entre la llegada del
cliente No 3 en el minuto 7- el fin de servicio en la estacin nmero 1 minuto 10- y el fin de servicio en la
estacin nmero 2 minuto 11-. Por lo tanto el prximo evento es en el minuto 7 y ser la llegada del cliente
No 3.
Minuto No 7. Llega el cliente No 3. Primero generamos el tiempo de llegada del prximo (el no 4). Sean dos
minutos, es decir, que llegar en el minuto 9. Como ambas estaciones estn ocupadas, el cliente No 3 se
queda en la cola, esperando que finalice el servicio en una de las dos estaciones.
Cul es el prximo evento?. Para determinarlo, es necesario calcular que ocurrir primero entre la llegada del
cliente No 4 en el minuto 9- el fin de servicio en la estacin nmero 1 minuto 10- y el fin de servicio en la
estacin nmero 2 minuto 11-. Por lo tanto el prximo evento es en el minuto 9 y ser la llegada del cliente
No 4.
Minuto 9, llega el cliente No 4. Primero generamos el tiempo de llegada del prximo (el no 5). Sean cinco
minutos, es decir, que llegar en el minuto 14. Como ambas estaciones estn ocupadas, el cliente No 4 se
queda en la cola, esperando que finalice el servicio en una de las dos estaciones.
Cul es el prximo evento?. Para determinarlo, es necesario calcular que ocurrir primero entre la llegada del
cliente No 5 en el minuto 14- el fin de servicio en la estacin nmero 1 minuto 10- y el fin de servicio en la
estacin nmero 2 minuto 11-. Por lo tanto el prximo evento es en el minuto 10 y ser el fin de servicio en
la estacin No 1
Minuto 10, fin de servicio en la estacan no 1. El cliente No 1 sale del sistema, despus de haber permanecido
en el durante 10 3 = 7 minutos. Como en la cola hay dos clientes esperando servicio, se escoge uno segn
la disciplina de la cola, (el que lleve mas tiempo en la cola, por ejemplo ). En este caso sera el cliente No 3,
quien permaneci en la cola durante 10 7 = 3 minutos. Se genera el tiempo de servicio, (5 minutos), por lo
cual la estacin No 2 estar terminando el servicio en el minuto 15.
Y el proceso de simulacin contina en la misma forma: Buscando el prximo evento, y ejecutando las
actividades requeridas de acuerdo con el evento que haya ocurrido, hasta que el prximo evento sea el fin de
la simulacin.

B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 12
Al hacer el registro de los eventos futuros, el tiempo de ocurrencia de estos eventos puede registrarse en dos
formas equivalentes. La primera forma de registrar el tiempo de ocurrencia del evento consiste en acumular al
tiempo actual el tiempo de ocurrencia del evento, y el tiempo registrado ser entonces el tiempo en que ocurrir el
evento. La otra forma consiste en no acumular al tiempo actual el tiempo de ocurrencia del evento y en este caso
el tiempo registrado ser el tiempo dentro del cual" ocurrir el evento. Es decir, al buscar el prximo evento,
podemos hacerlo en dos formas, es decir, podemos hacer una de dos preguntas: a) cundo ocurrir el evento? es
decir, en qu instante ocurrir el evento, y b)) dentro de cunto tiempo, a partir del instante actual, ocurrir el
evento?

Si para registrar los tiempos de los eventos futuros se usa la segunda forma, entonces cada vez que se avance el
reloj cierta cantidad de tiempo, este tiempo que se avance el reloj debe ser restado de los tiempos de cada uno de
los eventos futuros (queda faltando menos tiempo para que ocurran esos eventos). Si se usa la primera forma no
es necesario actualizar los tiempos de ocurrencia de los otros eventos. La primera forma ser la que usaremos
para la. simulacin de sistemas de espera.

Un objetivo que se persigue en cualquier estudio de simulacin es la recoleccin de estadsticas acerca del
comportamiento del sistema. La informacin que puede recogerse en el sistema que estamos estudiando puede ser
la siguiente:

Tiempo medio de permanencia de una unidad en una cola. Este tiempo (de trnsito) se calcula cuando una
unidad pasa de la cola a la estacin de servicio, y es igual a el tiempo en que la unidad sale de la cola pasa al
servicio (RELOJ) menos el tiempo de llegada al sistema. Tambin puede calcularse su distribucin en intervalos
de clase.
Tiempo medio de permanencia de una unidad en el sistema. Este tiempo (de trnsito) se calcula cuando la
unidad sale del sistema, y es igual al tiempo de finalizacin del servicio (RELOJ) menos el tiempo de llegada al
sistema. Tambin puede calcularse su distribucin en intervalos de clase.
Nmero medio de unidades en el sistema y en la cola, y sus respectivas distribuciones de frecuencia.
Utilizacin de las estaciones de servicio (porcentaje de tiempo que estuvieron ocupadas) durante la
simulacin.
Tambin pueden estimarse diferentes probabilidades, tales como la probabilidad de que un cliente tenga que
esperar antes de ser atendido, probabilidad de que tenga que esperar mas de cierto tiempo, etc.

Para estimar el nmero medio de unidades en el sistema o en la cola, es necesario recoger informacin no slo
acerca de las unidades que hay en el sistema (o en la cola) en un tiempo dado, sino tambin del tiempo durante el
cual esas unidades estuvieron en el sistema (o en la cola), ya que es muy diferente que haya, por ejemplo 4
unidades en el sistema durante 5 minutos, a que haya 4 unidades en el sistema durante 20 minutos. Es decir, es
necesario ponderar el nmero de unidades del sistema por el tiempo durante el cual existen esas unidades en el
sistema (estas son estadsticas de la forma ntt). Esta informacin acerca de las unidades en el sistema y en la
cola debe recogerse antes de que se cambie el estado del sistema, es decir, antes de que se modifique el nmero
de unidades en el sistema y/o en la cola. Por lo tanto, estos registros deben actualizarse despus de que se busca
el prximo evento, pero antes de que se procese ese evento. (Recordemos que la realizacin del evento cambia el
estado del sistema).

5.2 Procedimiento General

El procedimiento para realizar la simulacin, junto con la recoleccin de las estadsticas antes mencionadas puede
resumirse en los siguientes pasos:

1 Inicializacin del sistema. El primer paso en toda simulacin consiste en la inicializacin del sistema, sus
variables de estado y de los registros que se van a usar para recoger las estadsticas. Esta etapa comprende
los siguientes aspectos:
1.1 Definicin de los parmetros bsicos del sistema a simular: Semillas, parmetros de distribuciones de
tiempo de llegada y servicio, tiempo de simulacin, etc.
1.2 Inicializacin del estado del sistema (variables de estado). Por lo general el sistema se inicializa en el
estado vaco. Comprende:
El nmero de unidades en el sistema (=0) .
El nmero de unidades en la cola (=0).
El estado de cada estacin (=inactivas).
1.3 Inicializacin de la lista de eventos futuros. Para ello debe generarse el tiempo en que llegar la primera
unidad al sistema. Adems, debe definirse como se representar el tiempo en que finalizar un servicio,
principalmente cuando las estaciones estn desocupadas.
1.4 Inicializacin de todas las variables que se han de usar para recoger estadsticas.
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 13

2. Algoritmo de la simulacin Una vez inicializado el sistema, viene la realizacin del algoritmo de simulacin,
que comprende los siguientes pasos:
2.1. Se busca el prximo evento, es decir, qu ocurre primero entre la llegada de una unidad al sistema, la
finalizacin de un servicio o el fin de la simulacin. Para buscar el prximo evento se compara el tiempo
en que Llegar la prxima unidad al sistema con los tiempos en que las estaciones finalizarn sus
servicios, y con el tiempo de simulacin y se escoge el menor. Cuando una estacin est desocupada, el
prximo evento no puede ser el fin de un servicio en dicha estacin, por lo tanto para que al hacer la
comparacin de los tiempos no se escoja ese evento, es necesario suponer que el prximo servicio
termina en un tiempo muy alto.

2.2 Antes de avanzar el reloj al tiempo de ocurrencia del prximo evento, se calcula en cuanto tiempo se va
a incrementar el reloj, ya que hay que recoger estadsticas acerca del tiempo durante el cual el sistema
tuvo determinada configuracin.

Se actualizan las estadsticas que informen acerca del estado del sistema, y en las cuales es necesario
considerar el tiempo que el sistema estuvo en determinado estado. Estas estadsticas tienen que ver con
el nmero de unidades en el sistema, en la cola y el nmero de estaciones ocupadas (Son estadsticas
del tipo ntt).

2.3 Finalmente se avanza el reloj al tiempo de ocurrencia del prximo evento. Si el prximo evento es una
llegada al sistema, se va al paso 3, si es la finalizacin de un servicio se va al paso 4 y si es el fin de la
simulacin al paso 5.

3. Cuando el prximo evento es una llegada, el simulador debe realizar las siguientes actividades

3.1 Incialmente4 se identifica la unidad que llega al sistema.
3.2 Como ocurri una llegada, se debe generar el tiempo de llegada del prximo cliente y actualizar la lista
de eventos futuros con este evento.
3.2 Se pregunta si la unidad que acaba de llegar puede entrar al sistema. Si no hay capacidad en el sistema,
la unidad no puede entrar, por lo que se actualiza el registro de las unidades perdidas y se va a buscar
el siguiente evento - paso 2. Si la unidad puede entrar al sistema, se realiza el paso siguiente (3.3), y se
actualiza el nmero de unidades en el sistema.
3.3 Si todas las estaciones de servicio estn ocupadas, el cliente se queda en la lnea de espera, para lo cual
se requiere actualizar el nmero de unidades de la cola, y colocar la unidad que acaba de llegar en el
ltimo puesto de la misma.
3.4 Si hay al menos una estacin de servicio desocupada, el cliente escoge una estacin para que le preste
el servicio (o el sistema le asigna una la que lleve mas tiempo inactiva, por ejemplo). Se requiere por
lo tanto generar el tiempo que durar el servicio, con el cual se actualiza la lista de eventos futuros. El
cliente que pasa directamente al servicio no permanece ningn tiempo en la cola. Luego se busca el
prximo evento (paso 2).

Cuando el evento es llegada, se deben actualizar algunos registros para llevar informacin, tales como el
tiempo de inactividad de la estacin de servicio que empieza a trabajar, el nmero de clientes que no
esperan, etc.

4. Cuando el prximo evento es la finalizacin de un servicio se requiere realizar las siguientes actividades:

4.1 Identificar la unidad o cliente que va a salir del sistema, calcular cuanto tiempo permaneci esta unidad
en el sistema, actualizar este registro y disminuir el nmero de unidades del sistema.
4.2 Si no hay unidades en la cola esperando para ser atendidas, la estacin de servicio queda inactiva (Es
necesario suponer que el prximo servicio terminar en un tiempo muy alto). Luego se busca el prximo
evento, paso 2.
4.3 Si hay unidades esperando el servicio, se selecciona una unidad de acuerdo con la disciplina empleada;
se calcula el tiempo de permanencia en la cola, se reorganiza la cola y se disminuye el nmero de
unidades de la misma. Adems es necesario estimar el tiempo que la unidad permanecer en el servicio,
y actualizar la lista de eventos futuros. Luego se busca el prximo evento.

5. Cuando se termina la simulacin, es necesario calcular e imprimir las estadsticas de inters tales como:

Nmero medio de unidades en el sistema y en la cola.
Tiempos medios de permanencia en el sistema y en la cola.
Nmero de unidades atendidas.
Nmero de unidades que no pudieron entrar al sistema.
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 14
Porcentaje de inactividad de las estaciones de servicio
Numero medio de estaciones en servicio, etc.

5.3 Seudocdigo General

Los pasos o actividades que acaban de describirse para la simulacin de un sistema de colas con varias estaciones
idnticas en paralelo estn resumidos en la figura 6.10, que es un seudocdigo descriptivo de dicho proceso. En el
se describen las principales actividades que deben realizarse en las etapas de inicializacon, el algoritmo de
simulacin y la generacin del reporte

Figura 6.10 Seudo cdigo descriptivo para simular sistemas de colas de estaciones en paralelo

PROCEDIMIENTO GENERAL
Lectura de parmetros bsicos
Tiempo de simulacin, semillas, variables de control
Parmetros de distribuciones de:
Tiempos entre llegadas
Tiempos de servicio
Reloj = 0
Invocar rutina de inicializacin
* Algoritmo de simulacin
Mientras Reloj < Tiempo de simulacin
Rutina de Prximo Evento
Si Prximo Evento es llegada, entonces
Rutina de llegada al sistema
Si no
Si prximo Eventos es Fin_Servicio, entonces
Rutina de Fin_Servicio
Fin si
Fin si
Fin Mientras
Rutina de generacin de reportes
Si hay mas experimentos de simulacin, entonces
Establecer condiciones de nueva simulacin
Volver a inicializar el sistema
Fin si
FIN DE LA SIMULACION

RUTINA DE INICIALIZACION
Reloj = 0
Inicializacin del estado del sistema = vaco
Clientes en el sistema = Clientes en la cola = Estaciones Ocupadas = 0
Cola de servidores inactivos
Inicializacin lista de eventos
Evento tipo 1: Fin de Simulacin.
Evento tipo 2 : Llegada nuevo clientes
Eventos tipo 3: Fin de servicio de las k estaciones
Inicializacin contadores para estadsticas
Tiempos medios de Permanencia en la Cola y en el Sistema (X = 0)
Nmero medio de : Clientes en el sistema, en la cola, en servicio y servidores inactivos (Contadores del tipo
nt t = 0)
Contadores de eventos u observaciones (Clientes atendidos, en las colas, etc.)
Distribuciones de:
Tiempos de permanencia en el sistema
Tiempos de permanencia en la cola
FIN RUTINA DE INICIALIZACION

B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 15
RUTINA DE PROXIMO EVENTO
Bsqueda de Prximo Evento
Tiempo del Prximo Evento: TPE = Menor { Lista de Eventos}
Tiempo de Avance del Reloj = t = TPE - RELOJ
Actualizacin de contadores sobre variables de estado del tipo nt t
Avance del RELOJ al tiempo del Prximo Evento: RELOJ = TPE
FIN RUTINA DE PROXIMO EVENTO

RUTINA DE LLEGADA DE CLIENTE
Evento: Llegada de un cliente.
Identificar cliente que llega (I) y crear su registro en Lista de Clientes
Actualizar Evento Primario: Llegada del Prximo Cliente.
Si hay Servidores inactivos, entonces
Seleccionar un Servidor. Sea J ese servidor.
Actualizar Tiempo de Inactividad del Servidor (tiempo de trnsito)
Actualizar y reorganizar Lista de Servidores Inactivos
Actualizar estado del cliente
Actualizar Clientes en Servicio.
Asignar el cliente I al servidor J.
Actualizar contador de clientes que no esperan.
Actualizar evento Fin de Servicio.
Si no
Si hay espacio en la Cola, entonces
Actualizar Clientes en Espera
Colocar Cliente en el ltimo puesto de la cola
Actualizar estado del cliente
Si no
Cliente abandona el Sistema
Fin si
Fin si
FIN RUTINA LLEGADA DE CLIENTE

RUTINA FIN DE SERVICIO
Evento: Fin de servicio en una estacin
Identificar Servidor que termina el servicio. Sea J ese servidor
Identificar Cliente atendido. Sea I el cliente
Actualizar tiempos en el sistema y clientes atendidos
Eliminar su registro en Lista de Clientes
Reducir clientes en el sistema
Si hay Clientes en espera de servicio, entonces
Seleccionar un cliente. Sea I ese cliente
Calcular y actualizar tiempo de permanencia en la cola (tiempo de trnsito)
Actualizar contador de clientes que esperan.
Actualizar y reorganizar Lista de Clientes en Cola
Actualizar estado del cliente
Asignar el cliente I al servidor J.
Actualizar evento Fin de Servicio.
Si no
Actualizar Mecnicos Inactivos
Colocar Mecnico en el ltimo puesto de la cola
Actualizar Lista de Evento (no fin de servicio)
Fin si
FIN RUTINA FIN DE SERVICIO

Figura 6.10 Seudo cdigo descriptivo para simular sistemas de colas de estaciones en paralelo (cont.)
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 16

RUTINA DE GENERACION DEL REPORTE DE SALIDA
Clculo de:
Tiempos medios de Permanencia en la Cola y en el Sistema
Nmero medio de: (Estadsticas del tipo nt t)
Clientes en el sistema
Clientes en la cola
Clientes en servicio
Porcentajes de clientes que esperan
Distribuciones de:
Tiempos de permanencia en el sistema
Tiempos de permanencia en la cola
FIN RUTINA DE GENERACION DE REPORTE

Figura 6.10 Seudo cdigo descriptivo para simular sistemas de colas de estaciones en paralelo (cont.)


Para poder realizar la simulacin por computador es necesario definir en que forma se van a recoger los datos,
cmo se va a guardar la informacin acerca de las entidades que hay en el sistema y qu informacin debe
contener la lista de los eventos futuros.

Como se indic en el captulo 5 la mejor manera de mantener la informacin es por medio de arreglos bi-
dimensionales. A continuacin se discuten algunos arreglos que se pueden emplear y se indica en qu forma se
van a recoger las estadsticas.

5.4 Arreglos para mantener informacin

Arreglo para guardar informacin acerca de las unidades CLIENTE(I,J):

Para cada unidad que entra al sistema se debe guardar la siguiente informacin
Nmero que identifique la unidad.
Estado de la unidad.
Tiempo de llegada al sistema.
Tiempo de llegada al estado actual
Prioridad, en caso de existir.
Cuando se trata de rdenes de produccin, stas pueden traer tambin el tiempo de servicio o procesamiento
de la orden y el tiempo de entrega como otros de sus atributos. Para el presente anlisis, se supone que el
tiempo de servicio es un atributo de la estacin o servidor.

De la informacin que debe guardarse acerca de una unidad, hay una que es tipo entero (identificacin, estado,
prioridad) y otra que es tipo real (tiempos), a no ser que se represente el tiempo como entero, mediante un factor
de escala. En lo que sigue supondremos que toda la informacin se guardar en forma real. Para guardar la
informacin acerca de las unidades usaremos un arreglo que denominaremos CLIENTE y la informacin se
almacenar de la siguiente manera:

El subndice I sirve slo como un indicador, y su valor depender del nmero de unidades haya en el sistema al
mismo tiempo. El subndice I simplemente indica el nmero de la fila de la matriz CLIENTE en que est guarda da
la informacin acerca de determinada unidad o cliente.

Las columnas de la matriz CLIENTE se usarn de la siguiente manera:

Primera columna: J = 1 Guarda el nmero que identifica la unidad cuya informacin est en la fila I. Si la fila
I est vaca, se la identifica con un cero (0). Por lo tanto, CLIENTE(I,1) representa el nmero de la unidad
cuya informacin est almacenada en la fila I.
Segunda columna: J = 2: Guarda el estado en que se encuentro la unidad. Este estado se representar por "1"
cuando la unidad est en la cola y por "2" cuando la unidad est en servicio.
Tercera columna: J = 3 : Guardar el tiempo de llegada al sistema de la unidad que se identifica con el
nmero CLIENTE(I,1).
Cuarta columna: J = 4: En aquellos sistemas en que existen prioridades, esta informacin se guardar en la
columna cuarta de la matriz CLIENTE.
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 17
Quinta : J = 5 : Guardar, para algunos casos de simulacin, el tiempo de llegada de la unidad al estado
actual. (Para nuestro caso no se usar)

Matriz de Clientes

Nmero del
Cliente
(J = 1)
Estado

(J = 2)
Tiempo de
llegada
(J = 3)
Prioridad

(J = 4)

I = 1
I = 2
I = 3
I = 4

I = Nro_C

La matriz CLIENTE mantendr ocupadas siempre las primeras filas, es decir, si la variable Nro_clientes representa
el nmero de clientes que hay en el sistema, entonces este arreglo mantendr ocupadas las primeras filas
(Nro_Clientes). Cuando llegue un cliente al sistema, se aumentar el nmero de clientes (nmero de filas) en uno
y en la ltima fila se guardar la informacin del cliente que acaba de llegar. Cuando salga un cliente del sistema,
es necesario reorganizar el arreglo de tal forma que siempre estn ocupadas las primeras filas: Si la informacin
del cliente que sale est en la ltima fila del arreglo, simplemente se disminuir en uno el nmero de filas
ocupadas (nmero de clientes del sistema), pero si la informacin no est guardada en la ltima fila, entonces en
la posicin que ocupa el cliente que sale se colocar la informacin del cliente que est en la ltima posicin, y
luego se disminuir en uno el nmero de filas ocupadas (nmero de clientes del sistema).

Informacin relacionada con las estaciones: ESTACION

La informacin que es necesario guardar sobre las estaciones es la siguiente:

Numero de la estacin
Estado de la estacin: inactiva, prestando servicio, bajo reparacin, etc.
Tiempo acumulado de inactividad.
Tiempo en que empieza un periodo de inactividad de la estacin, o un perodo de reparacin.

Para guardar la anterior informacin se usar un arreglo -ESTACION-, con la siguiente configuracin:

El nmero de la fila I se usar para identificar la estacin
ESTACION(I,1) guardar el estado de la estacin I, con la siguiente convencin:
= 0 si la estacin est desocupada
= K > 0 si est atendiendo la unidad nmero K. de la estacin y de
ESTACION(I,2) guardar el tiempo acumulado de inactividad de la estacin I.
ESTACION(I,3) = Tiempo en que la estacin I comenz el ltimo perodo de inactividad. Este registro servir
para calcular el tiempo de inactividad (tiempo de trnsito = Reloj - ESTACION(i,3)

Matriz ESTACION

Estado

(J = 1)
Tiempo de
inactividad
(J = 2)
Tiempo inicio de
inactividad
(J = 3)
I = 1 15
I = 2 13
I = 3 0

I = K 0

Arreglos para las colas

Se usarn dos arreglos independientes COLA_CL y COLA_EST- para manejar las unidades o clientes que esperan
servicio y las estaciones que estn inactivas esperando clientes para atender. La primera guardar la informacin
de las unidades que esperan servicio y la segunda la informacin de las estaciones que estn inactivas. La
informacin se guardar de la siguiente manera:

COLA_CL(I): Identifica el nmero del cliente que ocupa el puesto I en la lnea de espera.
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 18
COLA_EST(I): Identifica el nmero de la estacin que ocupa el puesto I en la cola.
NRO_CL_COLA: Identifica el nmero de unidades o clientes que estn esperando servicio.
NRO_EST_IN: Identifica el nmero de estaciones inactivas.
LCOLA: Nmero mximo de unidades que pueden estar en la cola en cualquier instante..

Estos arreglos se mantendrn ordenados, de acuerdo con el orden de llegada de los elementos, de tal forma que se
mantengan ocupadas las primeras filas. Si hay elementos en una cola, no puede haber en la otra. Cuando se
seleccione un elemento de una de las colas (generalmente el primero), sta debe reorganizarse, moviendo los
restantes elementos un puesto, es decir, en la posicin i se colocar lo que hay en la posicin siguiente i + 1.

Matriz o lista de eventos futuros MEF (l,J) o EVENTOS(I,J)

La lista de eventos futuros debe contener informacin relacionada con los eventos primarios que han de ocurrir en
un futuro inmediato. Debe contener Informacin acerca del tiempo en que ocurrirn los eventos, los tipos de
eventos y la entidad que ocasiona el evento. Para guardar la informacin se usar el arreglo MEF Matriz de
Eventos Futuros (EVENTOS)

En la simulacin de un sistema de colas existe, como ya se mencion, los eventos llegada de una nueva unidad al
sistema, finalizacin de un servicio por parte de una estacin y el fin de la simulacin. Esta informacin se
guardar de la siguiente manera:

Fila 1: Evento fin de simulacin
Fila 2: Evento llegada de un cliente al sistema
Filas 3 en adelante: Evento Terminacin de un servicio por parte de una estacin.

Adems, en las columnas se guardar la siguiente informacin:

Columna No 1: Tiempo de ocurrencia del evento.
Columna No 2: Nmero de la entidad que causa el evento. Cuando el evento es llegada de un cliente, se
guardar el nmero que identifica al cliente, cuando sea fin de servicio el nmero que identifica la estacin
cuyo servicio finaliza. Para el evento fin de simulacin no se almacenar ningn valor.
Columna 3: Tipo de evento, para lo cual se usar la siguiente convencin: = 1 para fin de simulacin, = 2 para
una llegada , = 3 para un fin de servicio.

En esta matriz se mantendrn ocupadas las primeras posiciones, segn el nmero de eventos que haya
programados para ocurrir en el futuro. Cuando se programe un nuevo evento, se aumentar el nmero de las
filas, y cuando un evento no se vaya a programar de nuevo, se disminuir el nmero de filas, colocndose en la
posicin a eliminar la informacin que hay en la ltima posicin ocupada. En el momento de comenzar la
simulacin, esta matriz slo tendr dos posiciones ocupadas: La primera fila con el evento fin de simulacin y la
segunda con la primera llegada al sistema.

Matriz de Eventos Futuros MEF

Tiempo del evento
(J = 1)
Entidad
(J = 2)
Tipo
(J = 3)
Fin Simulacin (I = 1) Tiempo Simulacin - 1
Llegada cliente (I = 2) Tiempo de llegada Nmero del cliente 2
Fin Servicio (I = 3) Tiempo de Servicio Nmero Estacin 3
.. . .
Fin Servicio (I = k + 2) Tiempo de Servicio Nmero Estacin 3

Para buscar el prximo evento se busca en matriz de eventos, cul es el menor valor que hay en la primera
columna. As, la informacin del prximo evento estar guardada en la fila MIN de la matriz MEF, donde
MEF(MIN,1) = Mnimo {MEF(I,1), i = 1, Nmero de eventos}. Esta informacin ser la siguiente:

Tiempo del prximo evento = MEF(MIN,1)
Entidad que causa el evento = MEF(MIN,2)
Tipo de evento: = MEF(MIN,3)

La matriz MEF tambin puede organizarse de tal forma que siempre se mantengan ocupadas k + 2 filas, y en la fila
I, para I > 2 se mantendr la informacin sobre la estacin J = I 2. SI la estacin J est inactiva se guardar
como tiempo de fin de servicio un valor alto (= TSIM + 1) de tal forma que el prximo evento no sea el fin de
servicio en dicha estacin.
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 19

5.5 Recoleccin de Estadsticas

En la simulacin de un sistema de colas puede ser interesante recoger las siguientes estadsticas::

Nmero medio de unidades en el sistema.
Nmero medio de unidades en la cola.
Nmero medio de unidades recibiendo servicio, equivalente al nmero medio de estaciones ocupadas.
Tiempo medio de permanencia de un cliente en el sistema.
Tiempo medio de permanencia de un cliente en la cola.
Distribucin del tiempo de permanencia en el sistema y en la cola.
Distribucin del nmero de unidades en el sistema y en la cola.
Probabilidad de que un cliente tenga que esperar

El clculo de estas estadsticas se realizar de acuerdo con lo indicado en el captulo 5 Recoleccin de
Estadsticas. Para la recoleccin de las tres primeras estadsticas se usarn contadores del tipo n
t
t y para las
restantes, que corresponden a tiempos de trnsito, se usarn contadores del tipo X.

5.6 Seudo cdigo detallado para la simulacin de sistemas de colas con varias estaciones en paralelo

La figura 6.6 presenta el seudo cdigo detallado para la simulacin del sistema de colas de varias estaciones en
paralelo, de tal forma que su implementacin pueda realizarse en cualquier lenguaje general de programacin, tal
como C++, Pascal, Fortran o Visual Basic. Las variables estn definidas de tal manera que su nombre indica lo que
cada una representa, y no se requieran explicaciones adicionales. Algunas suposiciones o consideraciones que se
han tenido en cuenta en la elaboracin del seudo cdigo son las siguientes:

No se ha hecho ninguna suposicin con respecto a alguna distribucin especial para el tiempo entre llegada de
los clientes al sistema o para la distribucin de los tiempo de servicio. Para generar estos tiempos aleatorios se
usan los procedimientos generar_tpo_llegada y Generar_tpo_servicio, los cuales sern diseados por
quien implemente el programa, de acuerdo con las distribuciones de probabilidad respectivas para los tiempos
entre llegada de clientes sucesivos al sistema y para el tiempo de servicio.
Se supone que los clientes se atienden de acuerdo al orden de llegada. Por lo tanto, para escoger el prximo
cliente que ser atendido cuando una estacin termina de atender uno, se tomar el que est de primero en la
cola, la cual ser reorganizada de tal forma que quien ocupe el primer lugar sea el que ms tiempo haya
permanecido all.
Cuando llega un cliente y hay varias estaciones para atenderlo, se escoger la que lleve mas tiempo inactiva
desde que termin su ltimo perodo de actividad. Por lo tanto, se escoger la que est en el primer lugar de
la cola reservada para las estaciones.
En el desarrollo del seudocdigo, se supone que el sistema tiene una capacidad finita. Si el sistema a simular
tiene una capacidad ilimitada, habr que asignarle un valor grande a esta variable, valor que sea consistente
con la capacidad de los arreglos usados para representar las colas y los clientes, que si se excede puede
causar problemas en la ejecucin del programa.
En el desarrollo del seudo cdigo se supone que se disea un procedimiento independiente (denominado
subrutina) que realiza las actividades especficas de cada evento. Igualmente, se desarrolla un procedimiento
para la inicializacin del sistema. Adems, se escribe un programa principal, mediante el cual se controla la
ejecucin de los diferentes procedimientos o subrutinas.

B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 20
Figura 6.11 Programa de simulacin de colas de varios servidores en paralelo
Programa principal y subrutinas

C
Inicio Programa Simulacin_Colas
Definir: Tiempo_simul, semillas, nro_servi, cap_sistema, nro_max_cl
Leer: Parmetros distribuciones de:
Tiempo entre llegadas
Tiempo de servicio,
C Establecer condiciones de alternativas
Reloj = 0
Llamar Rutina de inicializacin
C Algoritmo de simulacin
Mientras {reloj tiempo_simul} entonces
Llamar proximo_evento
Reloj = mef(min,1)
Tipo_evento = mef(min,3)
Si (tipo_evento =2) entonces
Invocar rutina llegada
Si no
Si (tipo_evento =3 ) entonces
Invocar rutina fin_servicio
Fin si
Fin si
Fin mientras
Invocar rutina generar_reporte
C Calcular otras estadsticas relevantes (costos)
Si hay mas experimentos de simulacin, entonces
Preparar condiciones nueva simulacin
Reinicializar semillas
Empezar nueva simulacin (reloj = 0)
Fin simulacin

Rutina inicializar
C Inicializacin del estado del sistema
Nro_cl_sist = 0
Nro_cl_cola = 0
Nro_estac_oc = 0
Para i = 1 hasta nro_servi
Cola_est(i) = i
estacin(i,1) = 0
estacin(i,2) = 0
estacin(i,3) = reloj
Siguiente
C Inicializacin de lista de eventos
Mef(1,1) = tiempo_sim
Mef(1,3) = 1
C Primera llegada
Tiempo_lleg = generar_tpo_lleg
Mef(2,1) = tiempo_lleg + reloj
Mef(2,2) = 1
Mef(2,3) = 2
Nro_eventos = 2
C Inicializacin de estadsticas
Suma_tpo_cola = 0
Suma_tpo_sist = 0
Suma_cl_sist = 0
Suma_cl_cola = 0
Suma_nro_estac_oc = 0
Nro_cliente_ate = 0
Nro_clie_esp = 0
Nro_clie_sevan = 0
Fin rutina inicializacin


B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 21
Rutina proximo_evento
C Bsqueda prximo evento
Min = 1
Para i = 2, Nro_eventos
Si mef(i,2) mef(min,1) entonces
Min = i
Fin si
Fin para
t = mef(min,1) reloj
Suma_cl_sist + = nro_cl_sist * t
Suma_cl_cola + = nro_cl_cola * t
Suma_nro_estac_oc + = nro_estac_oc * t
Fin rutina proximo_evento

Rutina llegada
C Identificacin del cliente
nro_cliente = mef(min,2)
C Programar prxima llegada
Tiempo_lleg = generar_tpo_lleg
Mef(min,1) = tiempo_lleg + reloj
Mef(min,2) + = 1
C Verifica si el cliente puede entrar
Si (nro_cl_sist<cap_sistema) entonces
Nro_cl_sist + = 1
Cliente(nro_cl_sist,1) = nro_cliente
Cliente(nro_cl_sist,2) = reloj
C Verifica si el cliente puede ser atendido
Si (nro_estac_oc < nro_servi) entonces
C Se selecciona un servidor
estac = cola_est(1)
Nro_estac_oc + = 1
Nro_esta_inac= nro_servi nro_estac_oc
C Reorganiza cola servidores inactivos
Si (nro_estac_inac > 0) entonces
Para l = 1, nro_servi_inac
Cola_est(l) = cola_est(l+1)
Fin para
Fin si
Estacin(estac,2) + = reloj estacin(estac,3)
Estacin(estac,1) = nro_cliente
Cliente(nro_cl_sist,3) = servicio
Tiempo_serv = Generar_tser
Nro_eventos + = 1
Mef(nro_eventos,1) = reloj +tiempo_serv
Mef(nro_eventos,2) = estac
Mef(nro_eventos,3) = 3
Si no
C Cliente pasa al ltimo puesto de la cola
Nro_cl_cola + = 1
Cola_cl(clientes_cola) = nro_cliente
Cliente(nro_cl_sist,3) = cola
Fin si
Si no
C Cliente no entra al sistema
Nro_cl_sevan = nro_cl_sevan+1
Fin si
Fin procedimiento llegada

Figura 6.11 Programa de simulacin de colas de varios servidores en paralelo
Programa principal y subrutinas



B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 22
Rutina Fin_servicio
C Identifica servidor y cliente
estac = mef(min, 2)
Nro_cliente = estacin(estac,1)
i = Buscar(nro_cliente)
nro_cl_ate + = 1
Suma_tpo_sist + = reloj cliente(i,2)
C Reorganiza matriz de clientes
Si (i < nro_cl_sist) entonces
Para k = 1,3
Clientes(i, k) = clientes(nro_cl_sist, k)
Fin para
Fin si
Nro_cl_sist - = 1
C Si hay clientes en cola, escoge uno
Si (nro_cl_cola > 0) entonces
Nro_cliente = cola_cl(1)
Nro_cl_cola - = 1
C Reorganiza cola clientes
Si (nro_cli_cola > 0) entonces
Para l = 1, nro_cl_cola
Cola_cl(l) = cola_cl(l +1)
Fin para
Fin si
i = Buscar(nro_cliente)
Suma_tpo_cola + = reloj cliente(i,2)
Nro_cl_esp + = 1
Estacin(estac,1) = nro_cliente
Cliente(nro_cl_sist,3) = servicio
Tiempo_serv = Generar_tser
Mef(min,1) = reloj +tiempo_serv
Si no
C Si no hay cola, servidor inactivo
Nro_estac_oc - = 1
Nro_estac_inac= nro_servi nro_estac_oc
Cola_est(Nro_estac_inac) = estac
Estacin(estac,1) = 0
Estacin(estac,3) = reloj
Si (min< nro_eventos) entonces
Para k = 1,3
Mef(min,k) = mef(nro_eventos,k)
Fin para
Fin si
Nro_eventos - = 1
Fin si
Fin rutina fin_servicio

Rutina Generar_reporte
Nro_medio_sist = Suma_cli_sist / reloj
Nro_medio_cola = suma_cl_cola / reloj
Nro_medio_servicio = suma_estac_oc / reloj
Tipo_medio_sist = suma_tpo_sist / Nro_cl_ate
Tpo_medio_cola = Suma_tpo_cola /nro_cl_ate
Tpo_medio_esp = Suma_tpo_cola /nro_cl_esp
Prob_esperar = nro_cl_esp / nro_cl_ate
Imprimir reloj, nro_servi, nro_cl_aten, nro_cl_esp, nro_cl_sist, nro_cl_cola, nro_estac_oc, nro_medio_sistema,
nro_medio_cola, nro_medio_servicio, tiempo_medio_sist, tiempo_medio_cola, tiempo_medio_esp,
Prob_esperar
Para j = 1 hasta nro_servi
Porcen_inac = estacin (j,2) *100 / reloj
Imprimir j, estac(j,1), estacin(j,2), porcen_inac
Fin para
Imprimir matrices Cliente, Estacin, Mef y Cola
Fin Procedimiento Generar_reporte
Figura 6.11 Programa de simulacin de colas de varios servidores en paralelo
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 23

Funcin Buscar(numero)
C Busca posicin en que se encuentra un cliente
buscar = -1
Para i =1, nro_cl_sist
Si (cliente(i,1) = numero) entonces
Buscar = i
i = nro_cl_sist+1
fin si
fin para
si (buscar = -1) entonces
imprima Error. No se encontr el cliente
parar proceso
fin si
Fin funcin buscar

Figura 6.11 Programa de simulacin de colas de varios servidores en paralelo

6 Simulacin de estaciones en serie

El siguiente algoritmo presenta las actividades que es necesario considerar cuando se hace la simulacin de varias
estaciones en serie. En este caso se tienen bsicamente los mismos eventos que cuando se analizan varias
estaciones en paralelo, a saber: Llegada de clientes al sistema, fin de servicio en una estacin, y el fin de la
simulacin.

Evento llegada al sistema

Cuando se trata de una llegada al sistema, prcticamente se realizan las mismas actividades que cuando se tienen
varias estaciones paralelo, excepto que el cliente pasa al servicio si la primera estacin est inactiva, y si no lo
est, entonces el cliente pasa a la cola nmero 1. Por lo tanto, la preguntahay servidores inactivos? se cambia
por est inactiva la primera estacin?. Si la respuesta es afirmativa, se pasa el cliente a la estacin o servidor
nmero 1. El diagrama de flujo siguiente ilustra la situacin.






NO




S






Si No




Si





Figura 6.12 Sistema en serie. Actividades realizadas cuando una unidad llega al sistema



Estacin No 1 est
inactiva?
El Cliente pasa al servicio
Cliente pasa a
la Cola No 1
Se identifica al Cliente
Puede entrar al
sistema?
Llegada Cliente al sistema
Cliente se va
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 24
Evento fin de servicio

Cuando el evento es un fin de servicio, el asunto es un poco ms complicado, ya que las actividades a desarrollar
dependen de si se trata de la ltima estacin, o de otra estacin diferente. Si se trata de la ltima estacin, la
situacin es prcticamente idntica al caso de varias estaciones en paralelo: el cliente sale del sistema (se
calculan las estadsticas respectivas) y luego se analiza que pasa con el servidor que termin de atender a un
cliente, ya que si hay clientes esperando servicio, escoge uno para atenderlo, y si no ha se queda inactivo. , ya
que las actividades a desarrollar dependen de si se trata de la ltima estacin, o de otra estacin diferente. Si no
se trata de la ltima estacin, entonces primero se debe mover el cliente atendido a la siguiente estacin, bien sea
que pase a servicio si la siguiente estacin est inactiva o que se quede en la cola en caso contrario, y luego se
debe analizar que pasa con el servidor que termin de atender a un cliente, ya que si hay clientes esperando
servicio, escoge uno para atenderlo, y si no ha se queda inactivo. En ambos casos se tiene en comn, el definir que
pasa con el servidor que termin de atender al cliente, bien sea que contine activo, si hay clientes esperando
servicio, o que quede inactivo, si no los hay . El diagrama de flujo siguiente ilustra la situacin.












S



No

No





S








No




S










Fig. 6.13 Sistema en serie. Actividades realizadas por el simulador cuando finaliza un servicio.

Fin de un servicio
Hay Clientes esperando
servicio en estacin J?
Se selecciona una unidad de la
cola J para ser atendida
El servidor J
queda inactivo
Se identifica el Servidor (J)
Se identifica el Cliente
El Cliente pasa al servicio
Es J la ltima
estacin?
El cliente sale
del sistema
Est inactiva la siguiente
estacin J+1?
El Cliente pasa al servicio
Cliente pasa a la
cola siguiente (j+1)
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 25
El seudo cdigo siguiente ilustra el procedimiento general que se debe seguir para simular un sistema de varias
estaciones en serie.

PROCEDIMIENTO GENERAL servidores en serie
Lectura de: Parmetros bsicos (Tiempo de simulacin, semillas, variables de control, nmero de estaciones)
Parmetros de distribuciones de:
Tiempos entre llegadas
Tiempos de servicio
Establecer condiciones para la alternativa a simular
Reloj = 0
Invocar rutina de inicializacin
Mientras (Reloj < Tiempo_simulacion)
Invocar Rutina de Prximo Evento
Si Prximo Evento es llegada, entonces
Invocar Rutina de llegada al sistema
Si no
Si prximo Eventos es Fin_Servicio, entonces
Identificar estacin
Identificar cliente
Si es ltima estacin, entonces
Sacar cliente del sistema
Si no
Pasar cliente a la siguiente estacin
Fin si
Actualizar estado de la estacin
Fin si
Fin si
Fin Mientras
Rutina de generacin de reportes
Si hay mas experimentos de simulacin, entonces
Establecer condiciones de nueva simulacin
Fin si
Volver a inicializar el sistema, si es del caso
FIN DE LA SIMULACION

Figura 6.13 Programa de simulacin de colas en serie


7 Problemas resueltos

7.1 Problema No 1

Una peluquera manejada por un solo peluquero tiene una capacidad para dos personas. Los clientes llegan a una
tasa poisson de tres por hora y los tiempos de servicio son variables aleatorias exponenciales con media de 1/4 de
hora. La barbera est abierta 8 horas diarias. Se requiere saber:

a) El nmero medio de personas en la barbera.
b) La proporcin de clientes que entran a la barbera.
c) Si el peluquero trabajara dos veces ms rpido, en cunto se incrementaran sus entradas brutas por da?
d) En cunto se incrementaran sus entradas brutas por da si la capacidad de la barbera fuera de tres?

Solucin

Aunque el problema planteado tiene solucin analtica, se plantear su solucin por medio de la simulacin, y luego
se compararn los resultados obtenidos analticamente con los resultados obtenidos a travs de la simulacin, para
verificar la validez de esta ltima tcnica. El problema enunciado se ajusta perfectamente al modelo de colas con
llegadas Poisson (exponenciales), servicio exponencial, una estacin de servicio y cola finita y se denota como un
modelo M/M/1 cola finita. Para la solucin analtica, ver anexo respectivo

Las caractersticas principales del sistema que se desea simular son las siguientes

El tiempo entre llegada de clientes al sistema es exponencial, con tasa de llegada de tres clientes por hora o
de 0.05 clientes/minuto.
El tiempo de servicio es exponencial, con una tasa de cuatro clientes por hora o de 0.0667 clientes/minuto.
Slo hay un servidor.
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 26
La longitud de la cola es de 1 2 dependiendo de si se simula el sistema actual o uno de los sistemas
propuestos, por lo cual la capacidad del sistema ser de 2 3, segn el sistema analizado.
El sistema debe simularse por periodos de longitud de 8 horas = 480 minutos, y al final de un da es necesario
cerrar el sistema y atender a quienes estn esperando.
Se quiere que la simulacin termine cuando se hayan simulado 100 das.
Las semillas usadas para generar los tiempos entre llegadas y los tiempos de servicio son 597 y 5139
respectivamente.

La tabla siguiente presenta los resultados de simular la operacin de la peluquera durante 100 das de 8 horas.
Igualmente presente los resultados encontrados analticamente usando las frmulas adecuadas para el modelo.

Analizando los datos simulados para cada una de las tres polticas se observa que se cumplen las relaciones que
existen entre el nmero medio de unidades en el sistema, en la cola y en servicio, y entre los tiempos medio de
permanencia en el sistema, en la cola y de servicio., a saber:

L = Lq + a
W = Wq + 1/

Adems se cumple que el nmero medio de unidades recibiendo servicio, que es igual al nmero medio de
estaciones ocupadas, y es igual a la fraccin de tiempo que el sistema estuvo activo. Es decir, que en cuanto a las
relaciones existentes entre los diferentes componentes, el simulador produce resultados vlidos.

Para una poltica cualquiera se comparan los resultados de la simulacin con resultados analticos, se observa que
las discrepancias entre los dos resultados son insignificantes, o sea que puede concluirse que este simulador
produce resultados que son altamente confiables.

Con base en los resultados simulados se pueden contestar los interrogantes planteados en el problema. Si el
peluquero trabajara dos veces ms rpido, el porcentaje clientes que entran al sistema pasara de 75.25% al
90.59%. Si se aumenta la longitud de la cola en 1, el porcentaje de clientes que entran al sistema pasa del 75.25
al 84.45. Tambin podran responderse los interrogantes con base en el nmero medio de unidades atendidas por
da. En el sistema actual se atienden por da 18.64 clientes, en promedio; si el peluquero trabajara dos veces ms
atendera en promedio 22.44 clientes por da, y si se aumentara en 1 la capacidad de la barbera, se atenderan en
promedio 20.92 clientes por da.

8 Problemas

6.1 Un laboratorio de enseanza tiene 15 computadores para prcticas de docencia. Los alumnos que utilizan
dichas mquinas descubren que requieren peridicamente que el supervisor del laboratorio responda a
preguntas, efecte ajustes menores en los computadores, etc. Los tiempos entre solicitudes de ayuda por
parte de cada estudiante siguen una distribucin exponencial con una media de 30 minutos. El tiempo que
requiere el supervisor para responder a dichas peticiones de ayuda siguen tambin una distribucin
exponencial con una media de dos minutos.

a) Simule el funcionamiento del laboratorio para determinar el tiempo total de espera de los alumnos
durante un perodo de estudio de una hora.
b) Determine el efecto de contratar un ayudante que pueda responder a las peticiones de ayuda en la misma
forma que lo hace el supervisor.

6.2 La empresa Central Car Wash tiene una ubicacin excelente, en una interseccin muy frecuentada de la
ciudad. Los clientes se encuentran en dos categoras: el 75% son clientes que slo desean el lavado de sus
vehculos, y el 25% restante quieren tanto el lavado como el encerado rpido de sus automviles. Los
ingresos procedentes de un cliente de lavado y encerado son el doble de los de un cliente que slo quiera el
lavado. La distribucin de tiempo de servicio es normal para ambas categoras, con una media de 7 minutos
y una desviacin estndar de un minuto para los clientes del lavado, y una media de 11 minutos con una
desviacin estndar de 2 minutos para los clientes de lavado y encerado. En la actualidad, hay dos cabinas
de lavado y encerado y una zona de espera que puede recibir otros dos automviles. El propietario est
considerando la posibilidad de agregar una cabina de lavado exclusivamente, a expensas de uno de los
espacios de la zona de espera. El 8% de los clientes que llegan se van cuando no es posible atenderlos
inmediatamente, mientras que el 92% restante estn dispuestos a esperar si se dispone de espacio de
estacionamiento. Debido al trfico que hay en la zona, los clientes se dirigen a algn competidor cuando no
hay espacio libre de estacionamiento. El establecimiento se abre 12 horas diarias (se procesan todos los
automviles que se encuentran en la zona de espera en el momento de cerrar). La distribucin del tiempo
entre llegadas es exponencial, con una media de 6 minutos durante las primeras 4 horas y una media de 4
minutos durante las horas restantes.
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 27

Resumen de resultados. Problema del peluquero

Poltica No 1
= 4, N = 2
Poltica No 2
= 8, N = 2
Poltica No 3
= 4, N = 3
Modelo Simulacin Analtico Simulacin Analtico Simulacin Analtico
Unidades atendidas 1864 1816 2244 2177 2092 2030
Unidades que llegan 2477 2400 2477 2400 2477 2400
Unidades que entran 1864 1816 2244 2177 2092 2030
Unidades perdidas 613 584 233 223 385 370
% unidades que
entran
75.25 75.68 90.59 90.72 84.45 84.57
% de utilizacin 55.70 56.76 34.33 34.00 62.04 63.43
Tiempo medio en el
sistema
21.38 21.43 9.58 9.55 27.06 27.16
Tiempo medio en la
cola
6.41 6.427 2.12 2.05 12.06 12.16
Tiempo medio de
llegada
19.45 20.00 19.45 20.00 19.45 20.00
Tiempo medio de
servicio
14.97 15.00 7.46 7.50 15.00 15.00
No medio unidades
en el sistema
0,799 0,811 0,442 0.433 1,128 1,149
No medio unidades
en la cola
0,242 0,243 0,098 0,093 0,507 0,043
No medio unidades
en servicio
0,557 0,568 0,343 0,340 0,620 0,634
Nmero medio
estaciones inactivas
0,443 0,432 0,657 0,660 0,380 0,366

a) Simule el funcionamiento del establecimiento de lavado de automviles durante 10 das, tanto con la
nueva cabina como sin ella. Para ambos tipos de instalaciones, determine:
1) El porcentaje de utilizacin de las cabinas
2) El nmero de clientes de cada tipo a los que se da servicio y la cantidad de clientes que se pierden.
3) El nmero promedio de clientes que esperan.
4) El tiempo promedio que pasan los clientes, tanto en espera como recibiendo el servicio.
b) Compare la cantidad relativa de ingresos obtenidos con las cabinas existentes en la actualidad, con la
lograda mediante la adicin de una nueva cabina

6.3 Considere la operacin de una peluquera. Suponga que hay tres peluqueros y que el tiempo que cada cliente
permanece en la silla es en promedio 20 minutos y est distribuido normalmente con una desviacin estndar
de 5 minutos. Durante el perodo en que los peluqueros salen a comer, o sea del medio da a la 1:45 p.m.
Los clientes llegan en una corriente tipo Poisson con un promedio de 12 por hora. Hay tres sillas para que los
clientes esperen; cuando quedan ocupadas (6 clientes en total en la peluquera) los que llegan despus se
van inmediatamente. Si todos los peluqueros estn ocupados y si hay 0, 1 2 clientes esperando, las
probabilidades de que alguien llegue y se vaya sin esperar es 0.1, 0.3 y 0.5, respectivamente. Los clientes
que han esperado 15 minutos y no estn cerca de recibir el servicio an tienen oportunidad de irse sin
esperar (0.5). Desde que la peluquera abre (9 a.m.) hasta el medio da, y desde la 1:45 p.m. hasta el
momento de cerrar (5 p.m.), los clientes llegan con tasa igual a 6 por hora. Un peluquero termina de servir
el cliente que se encuentra en su silla cuando empieza su perodo de comer y luego toma su media hora
completa. El segundo peluquero no saldr a comer hasta que regrese el primero.

a) En promedio, cuntos clientes se irn sin cortarse el pelo?.
b) Cul es la probabilidad de que una persona no pueda entrar a la peluquera por falta de asiento?.
c) Cul es el tiempo promedio que permanece una persona en la peluquera?.
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 28

6.4 Un sistema de colas posee las siguientes caractersticas:

a) La distribucin de llegadas es Poisson con = 0.04/min
b) La distribucin del tiempo de servicio es exponencial con u = 0.05/min.
c) El nmero mximo permitido en la cola en cualquier tiempo es 200 unidades.
d) Ninguna unidad permanecer en la cola ms de hora y media.
e) La disciplina de la cola es de acuerdo al orden de llegada.

Simule el sistema por un perodo de tres aos.

6.5 Los trabajos llegan a una estacin de procesamiento por medio de una correa transportadora a una tasa de
una cada 4 minutos. La estacin de servicio trabaja con una tasa exponencial, con parmetro u. Encuentre
el valor u que minimice la probabilidad de tener una cola de longitud superior a tres. El sistema incurre en un
costo de $ 1.000 por cada unidad que est en la cola por encima de tres. El costo por da de prestar el
servicio en la estacin depende de u. La relacin del costo es Cs = 20.000 u, donde Cs = costo por da.
Determine el valor ptimo de u basado en la simulacin de 30 das de 8 horas por turno.

6.6 Una persona maneja el taller de reparacin de una planta, en el cual arregla las diferentes partes que se
daan. La forma normal de operacin consiste en permitir que las partes a reparar lleguen en la primera
mitad del da y no se reciben aquellas rdenes que llegan despus del medio da. El mecnico repara luego
todas las partes que llegaron en la maana, aunque para terminarlas todas tenga que trabajar tiempo extra.
El turno normal de trabajo del mecnico es de 8 horas. Simule el sistema durante 30 das de trabajo,
asumiendo que el proceso de llegadas es Poisson con parmetro = 0.08 y la tasa exponencial de servicio es
u = 0.10. En promedio cuntas horas de tiempo extra trabajar el mecnico por da? Qu valor de u
reducir el tiempo extra a cero?.

6.7 Simule un sistema de colas con tres estaciones en serie para el cual se cumple que el proceso de llegada es
Poisson con = 0.04. Las longitudes mximas de las colas son: LCOLA (1) = 100, LCOLA (2) = 10, LCOLA
(3) = 10. El tiempo de servicio en cada estacin es exponencial, con los siguientes parmetros: u1 = 0.06,
u2 = 0.06, u3 = 0.09. Simule el sistema hasta que 300 unidades hayan pasado completamente a travs de
todas las estaciones.

6.8 En el problema anterior efecte los siguientes cambios: LCOLA (1) = 10, LCOLA (2) = 5 Y LCOLA (3) = 5 y
compare los resultados de los dos sistemas.

6.9 Un sistema de colas con cuatro estaciones en serie funciona con las siguientes caractersticas:

a) Llegadas exponenciales con = 0.04
b) u1 = 0.05 u2 = 0.06
u3 = 0.05 u4 = 0.07
Los tiempos de servicio son exponenciales.
c) LCOLA (1) = 50, LCOLA (2) = 10
LCOLA (3) = 20, LCOLA (4) = 30 (longitudes mximas de las colas)
d) Solamente un 50 por ciento de las unidades entran a la estacin 2; las otras van o a la estacin 3 o a la
estacin 4 con igual probabilidad.

25%

50%

25%

Analice el sistema. Compare la utilizacin de las cuatro estaciones. Qu pasara si solamente un 20% de las
unidades entraran a la estacin 2 y las dems fueran con igual probabilidad a la estacin 3 o a la estacin 4?

6.10 Simule un sistema de colas con varias estaciones en paralelo, en el cual el servicio es estrictamente de
acuerdo con el orden de llegada; el proceso de llegadas es poissoniano con = 0.05. Cada proceso de
servicio es exponencial con u1 = 0.08, u2 = 0.09 y u3 = 0.12. Determine todas las estadsticas que sean de
inters.

6.11 La distribucin del tiempo entre llegadas a una estacin de servicio nica estada dada por: (horas).

Tiempo entre llegadas: 0.5 1.0 1.5 2.0 2.5
Probabilidad: 0.15 0.25 0.30 0.25 0.05

El tiempo requerido para atender una unidad se distribuye exponencialmente con media 1/u. El problema
consiste en determinar el tiempo medio de servicio de tal forma que se minimice el costo total del sistema. El
1
2 3
4
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 29
costo de prestar el servicio es $ 200 por hora y el costo de espera por unidad es $ 40 por hora.

Determine adems el tiempo de inactividad del servicio y su utilizacin, el nmero medio de unidades en el
sistema y en la cola y los tiempos medios de permanencia en el sistema y en la cola. Adems la distribucin
de los tiempos de permanencia en el sistema y en la cola.

6.12 Un mecnico atiende cuatro mquinas. Para cada mquina el tiempo medio entre requerimientos de servicio
es 10 horas y se supone que tiene una distribucin exponencial. El tiempo de reparacin tiende a seguir la
misma distribucin y tiene un tiempo medio de dos horas. Cuando una mquina se daa, el tiempo perdido
tiene un valor de $ 30 por hora. El servicio del mecnico cuesta $ 100 diarios.

a) Cul es el nmero esperado de mquinas en operacin?.
b) Cul es el costo promedio por da?.
c) Cul es preferible: tener dos mecnicos de tal forma que cada uno atienda dos mquinas, o tener uno solo
como ocurre actualmente?.

6.13 Un camin de reparaciones a domicilio y su mecnico atienden mquinas agrcolas. El tiempo promedio de
viaje ms servicio es de dos horas/mquina. El tiempo promedio de requerimiento de servicio es de 4 das
(exponenciales). Cuando se requiere servicio, el costo ocasionado por la reparacin de las mquinas es $
1.000/hora. El mecnico y el camin tiene un costo de $ 320/hora. Cuntas mquinas agrcolas debe
atender para minimizar los costos?.

Determine adems:

a) Tiempo de inutilizacin por mquina.
b) Distribucin del nmero de mquinas daadas.
c) Distribucin del tiempo de inactividad de las mquinas.

6.14 Los clientes llegan a un banco a una tasa Poisson de 20 por hora. La ventanilla del banco tiene un tiempo de
servicio exponencial con un tiempo medio de dos minutos. El 20% de los clientes son clientes especiales, que
deben ser atendidos inmediatamente llegan, si la ventanilla est desocupada, o una vez finalice el servicio de
la persona que est siendo atendida cuando ese cliente especial llegue:

a) Cul es el tiempo medio de permanencia en el sistema y en la cola de un cliente especial?.
b) Cul es el tiempo medio de permanencia en el sistema y en la cola un cliente normal?
c) Qu porcentaje de tiempo est ocioso el cajero?
d) Cul es la distribucin del nmero de clientes del sistema?
e) Cul es el tiempo medio de permanencia de un cliente en el sistema?

6.15 Un aeropuerto puede atender tres aviones en dos minutos, ya sea que despeguen o aterricen. si esta tasa
tiene una distribucin de Poisson, cul es el tiempo medio entre llegadas (de aterrizaje o despegue) para
asegurar que el tiempo medio de espera sea 5 minutos o menos? Suponga una distribucin exponencial del
tiempo entre llegadas. D, adems, toda la informacin que pueda ser de alguna utilidad.

6.16 Las rdenes llegan a una empresa a una tasa Poisson de 20 por da. Estas rdenes son diferentes en cuanto
a su contenido, por lo tanto el tiempo de procesamiento no ser igual para todas las rdenes, sino que se
distribuye exponencialmente con una tasa de 28 por da. Sin embargo, cada una de las rdenes tiene
especificado un tiempo de entrega que se distribuye uniformemente entre 15 y 25 minutos. Cuando una
orden llega a la empresa, inmediatamente se hace el estimativo del tiempo que durar su procesamiento. La
poltica actual consiste en procesar las rdenes de acuerdo con el orden de llegada. Si se pretende minimizar
el tiempo medio de retraso en la entrega de las rdenes, cul de las siguientes polticas es mejor, para el
caso en que varias rdenes estn esperando ser procesadas.

a) Atenderlas de acuerdo al orden de llegada.
b) Atender primero la orden que requiera un menor procesamiento.
c) Atender las rdenes de acuerdo con la que tenga la prxima fecha de entrega.
d) Atender las rdenes en una forma completamente aleatoria

6.17 Se va contratar un mecnico para que repare unas mquinas que se descomponen a una tasa promedio de 3
por hora. Las descomposturas se distribuyen en el tiempo de una manera que puede considerarse como
Poisson. El tiempo no productivo de una mquina cualquiera se considera que le cuesta a la empresa $ 25
por hora. La compaa ha limitado la decisin a uno de dos mecnicos, uno lento pero barato, el otro rpido
pero caro. El primero de ellos pide $ 15 por hora; a cambio dar servicio a las mquinas descompuestas, de
manera exponencial, a una tasa media de cuatro por hora. El segundo pide $ 25 por hora y reparar las
mquinas de manera exponencial a una tasa de seis por hora. Cul de los mecnicos debe contratarse?
Suministre toda la informacin que considere necesaria.

6.18 El administrador de un supermercado puede emplear a Mara o a Carmen. Mara quien presta servicio a una
tasa exponencial de 20 clientes por hora,. puede ser contratada a un costo de $ 12 por hora. Carmen quien
presta el servicio a una tasa exponencial de 30 clientes por hora, puede ser contratada a un costo de $ C por
B. Caldern. Introduccin a la Simulacin. Cap 6. Simulacin de Fenmenos de Espera 6 - 30
hora. La administracin estima que, en promedio el tiempo del consumidor vale $ 4 por hora y que debe
tenerse en cuenta en el modelo. Si los consumidores llegan a una tasa Poisson de 10 por hora, entonces:

a) Cul es el costo promedio si se contrata a Mara?
b) Cul es el costo promedio si se contrata a Carmen?
c) Cul es el valor mximo por hora que puede pagarse a Carmen?

6.19 Los clientes llegan a una estacin de servicio a hacer lubricar sus carros. Si no hay espacios para parquear,
los carros que llegan se van a otra estacin. Una vez que el cliente ha encontrado un espacio libre, deja el
carro hasta que sea lubricado

Si el cliente no ha regresado an cuando se termina de lubricar el carro, ste es llevado a un parqueadero
cercano. Los clientes llegan de acuerdo a un proceso de Poisson a una tasa media de 32 por da. El tiempo
requerido para atender un carro tiene una distribucin exponencial donde la tasa media es de 40 por da. La
utilidad por cada carro atendido es $ 80. El costo capitalizado de la tierra para cada espacio para un carro es
aproximadamente $ 32 por da. Cuntos espacios deberan asignarse, incluyendo el designado para el gato
hidrulico de tal forma que se maximice la utilidad neta esperada?

6.20 Asuma que se est estudiando la operacin de un sistema que contiene dos estaciones en paralelo. Para cada
estacin existe una cola. Las llegadas al sistema entran a la primera cola, mientras haya menos de 10
unidades en esta cola. Si hay 10 o ms unidades en la primera cola, las unidades pasan a la segunda, para la
cual no existe restriccin en cuanto a su longitud. Las llegadas al sistema siguen un proceso de Poisson con
parmetro = 0.10. Los tiempos de servicio para ambas facilidades son exponenciales con u1 = 0.08 y u2 =
0.09 (por hora). Simule el sistema por tres semanas para determinar.

a) El nmero de unidades que pasaron por el sistema.
b) Nmero total de unidades atendidas por la segunda estacin.
c) Tiempo esperado de permanencia en el sistema: (i) de una unidad, (ii) de una unidad en la estacin 1 y
(iii) de una unidad en la estacin 2.
d) Distribucin del nmero de unidades del sistema.

6.21 Considere un sistema de produccin en el cual la estacin o mquina que presta el servicio puede fallar. Esta
falla se produce nicamente durante el perodo en que est procesando una orden. Cuando una orden llega
al sistema se estima el tiempo que durar su servicio., Adems, mientras la estacin est procesando la
orden, existe una probabilidad p de que falle. Asuma que el tiempo de reparacin del mecanismo de servicio
es exponencial con un tiempo medio de 2.4 horas. Asuma que el tiempo entre llegada de las rdenes es
exponencial con un tiempo medio de 4.8 horas y que el tiempo de servicio es exponencial con una media de
3.6 horas. Se pide simular este sistema para determinar, entre otras las siguientes estadsticas: nmero de
fallas durante el perodo de simulacin, tiempo total de inactividad por falla y el tiempo medio por falla.
Asuma p = 0.05

6.22 Una estacin de gasolina abre diariamente a las 7:00 AM y cierra a las 7:00 PM. A los empleados que
atienden esta gasolinera se paga generalmente $ 30.000 al da (12 horas). La llegada de los automviles que
solicitan servicio sigue una distribucin de Poisson, con una llegada media igual a 10 autos por hora. El
tiempo de servicio por carro est distribuido en forma exponencial con un tiempo esperado de servicio igual a
5 minutos. Cuando excede de 3 el nmero de automviles que esperan el servicio, entonces los clientes
disgustados abandonan la gasolinera sin esperar el servicio. Determine por simulacin el nmero ptimo de
operarios que se deben contratar en la estacin de gasolina, sabiendo que las ganancias que deja cada
automvil servido son de $ 2.00.

6.23 Los clientes de un supermercado llegan a las cajas registradoras con una frecuencia promedio de 20 clientes
pro hora, siguiendo una distribucin poissoniana. El tiempo que un cliente tarda en cada caja se encuentra
distribuido en forma exponencial con un valor esperado de 10 minutos. Si el criterio de la tienda es tal que
permite a un cliente esperar en una cola un promedio de 5 minutos en cada caja, utilice la simulacin para
estimar el nmero de cajas registradoras que se requieren. Estime el tiempo de ocio de cada caja
registradora.

6.24 Un qumico ensaya diversos productos de diferentes unidades de una refinera. Este tiempo y el equipo
tienen un costo de $18 por hora. El puede realizar tres ensayos por hora, pero esta tasa vara y puede
describirse mediante una distribucin de Poisson. Una unidad en operacin tiene un tiempo medio entre
requerimientos de ensayos de 2 horas con una distribucin exponencial de tiempos. Cuando la muestra
requiere ms de 1 hora, la utilizacin adicional del equipo de ensayos cuesta $100. Seis unidades funcionan
continuamente. Cuntos qumicos deben emplearse?
7 SIMULACIN DE SISTEMAS DE INVENTARIOS


1 Conceptos generales sobre inventarios

La teora de inventarios trata sobre la determinacin de los procedimientos ptimos para la adquisicin de
existencias de artculos que han de servir para satisfacer una demanda futura y/o una demanda ya creada. La
teora de inventarios trata de determinar estos procedimientos mediante mtodos analticos, mientras que en
la simulacin se trata de determinar estos procedimientos siguiendo los cambios que ocurren en el sistema de
inventarios a travs del tiempo. Sin embargo, como se explic en el captulo III, la simulacin slo debe usarse
cuando los mtodos analticos hayan fallado.

En el captulo 1 Simulacin Aplicabilidad y en el captulo 4 Generacin de Procesos se estudi un modelo
muy particular de inventarios, el conocido bajo el nombre del problema del vendedor de peridicos. En este
captulo estudiaremos cmo simular sistemas ms generales de inventarios. Pero antes de entrar al detalle de
cmo realizar la simulacin, es necesario entender el sistema que se va a simular y sus principales
caractersticas. Por esta razn, inicialmente definiremos el sistema de inventarios, estudiaremos sus
propiedades y enunciaremos las polticas ms comunes de inventarios.

2 Definiciones bsicas

2.1 Sistema de Inventarios.

Un sistema de inventarios puede definirse como aquel sistema en el cual slo son relevantes los siguientes
costos:

1) El costo de llevar los inventarios, el cual incluye el costo de la inversin en inventarios, de almacenamiento,
de manejo, de obsolescencia, etc.

2) El costo debido a la escasez o dficit de los artculos, el cual incluye el costo de las ventas perdidas, de la
prdida de goodwill, el pago de trabajo extra, etc.

3) El costo de efectuar el pedido o costo de reabastecimiento del inventario, el cual incluye el costo de
preparar la maquinaria para la produccin, el costo de preparar las rdenes, la tramitacin de las mismas,
y el costo mismo de los artculos.

Estos tres costos, que estudiaremos en detalle posteriormente, sern denominados respectivamente como
costos de mantenimiento o almacenamiento del inventario, costo de escasez o ruptura y costo de
adquisicin o de preparacin.

Los tres costos antes mencionados estn estrechamente relacionados. Cuando se trata de disminuir un costo,
uno o a veces los otros dos costos aumentan. As el costo total del sistema puede ser afectado por las
decisiones que se tomen. Cualquier costo puede ser aumentado (disminuido), pero sto tiende a disminuir
(aumentar) los otros dos costos.

2.2 Problemas de inventario

Se tiene un problema de inventarios cuando se tiene que encontrar una respuesta a las dos preguntas
siguientes:

1) Cundo debe reabastecerse el inventario?
2) Cunto debe ordenarse?

Los elementos tiempo y cantidad son las variables que estn sujetas a control en un sistema de inventarios.
El problema de inventarios consiste en encontrar los valores especficos de las variables de decisin que
minimicen el costo total. Tambin puede definirse el problema de inventarios como el problema de balancear
los tres tipos de costos de tal forma que su suma sea mnima.

En un problema de inventarios se trata entonces de responder las preguntas Cundo y Cunto debe ordenarse.

La primera pregunta (Cundo) puede contestarse con base en el tiempo o con base en el inventario que haya
del artculo de inters, de la siguiente manera:

1) El inventario debe ser reabastecido cuando la cantidad en existencia sea igual o est por debajo de cierto
nmero de unidades (R).

2) El inventario debe ser reabastecido cada T unidades de tiempo.
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 2


La pregunta cundo puede responder de dos formas:

1) Ordenar siempre una cantidad fija de Q artculos.

2) Ordenar una cantidad de artculos tal que el inventario se eleve a S unidades.

las cantidades R, T Q, y S reciben los nombres de punto de reorden, perodo de programacin o de revisin,
lote econmico y nivel mximo, respectivamente.

Generalmente cuando se coloca una orden para reabastecer el inventario transcurre cierto tiempo entre el
instante en que se coloca la orden y el instante en que estos artculos son colocados en el inventario. Este
intervalo de tiempo es conocido como tiempo de espera y lo denotaremos por L.

2.3 Polticas de inventario

Una poltica de inventarios consiste entonces, en responder simultneamente las preguntas cundo y
cunto. Las polticas ms comunes son las siguientes:

1. Cuando el inventario sea igual o est por debajo del punto de reorden R, se coloca una orden por una
cantidad fija de Q unidades. Esta poltica recibe el nombre de sistema del punto de reorden o sistema
de lote econmico y se la denota como sistema <R, Q>, Sistema Q o Sistema R. De ahora en adelante lo
denotaremos como Sistema Q.

La Figura 7.1 describe grficamente este sistema.

Cuando el inventario alcanza el punto de reorden R se coloca una orden por una cantidad fija de Q artculos.
Esta orden no llega inmediatamente, sino que demora cierto tiempo para su entrega -L-, el cual puede ser
variable. En la grfica las lneas continuas representan el inventario fsico y las lneas discontinuas representan
lo que hay en inventario y en rdenes. En la grfica se asume que cuando la demanda no puede satisfacerse
inmediatamente, esta demanda no se pierde sino que se acumula para ser satisfecha una vez llegue un lote de
artculos, es decir, la demanda no satisfecha a tiempo se compromete y cuando llega un lote de artculos lo
primero que se hace es satisfacer la demanda cautiva y el resto de artculos se lleva al inventario (L2).


It



Q Q Q





R



L1 L2 L3


Figura No 7.1 Sistema de punto de reorden


2. Otra poltica de inventarios es la siguiente: Cada T unidades de tiempo se revisa el inventario existente y
se coloca una orden por una cantidad tal que eleve el inventario al nivel mximo S. ES decir, si IT es el
inventario al final del tiempo T, el tamao del lote sera de Q = S - IT.

La figura 7.2 ilustra grficamente el comportamiento de este sistema el cual es conocido con el nombre de
Sistema de revisin peridica y es denotado como sistema <T, S> o Sistema T.

En el sistema de revisin peridica se coloca una orden por una cantidad variable, que es igual a la demanda
durante el ltimo perodo de tiempo T. (QT = S - IT.)

Simulacin de Sistemas de Inventarios. Procedimiento general 7- 3

En el sistema de punto de reorden en el instante en que se coloca la orden por Q unidades, debe haber en
inventario existencias suficientes para satisfacer la demanda mientras llega la nueva orden que se ha colocado,
es decir, el punto de reorden R define el nivel de la demanda mxima que se puede satisfacer a tiempo antes
que llegue el nuevo pedido. La demanda que exceda el punto de reorden ser demanda instafisfecha, que
puede satisfacerse una vez llegue el pedido que se ha hecho, o que puede perderse, segn las caractersticas
del sistema analizado.

En el sistema de revisin peridica el nivel al cual se eleva el inventario cuando se coloca una orden (S) debe
ser suficiente para satisfacer la demanda durante el prximo perodo (T) y durante el siguiente tiempo de
espera. Es decir, el nivel mximo del inventario S indica la demanda mxima que el sistema est dispuesto a
satisfacer a tiempo durante el perodo T + L.

S
It



Q1 Q2 Q3









L1 L2 L3

T T T

Figura 7.2 Sistema de Revisin Peridica

3. Existe otro sistema de inventarios denominado Sistema de suministro opcional en el cual se tratan de
combinar los aspectos principales de los dos sistemas anteriores. El procedimiento del sistema es el
siguiente: Cada T unidades de tiempo se revisa el estado del inventario. Si el inventario ha llegado al punto
de reorden, o est por debajo del mismo, se coloca una orden por una cantidad tal que el inventario sea
elevado a su nivel mximo. Si el inventario no ha llegado al punto de reorden, nos e coloca ninguna orden
y para ordenar es necesario esperar hasta el prximo perodo de revisin.

La figura No 7.3 Ilustra grficamente el procedimiento

Los sistemas ms empleados son el sistema de punto de reorden y el sistema de revisin peridica. El sistema
de revisin peridica tambin se le denomina sistema T y el de punto de reorden se le denomina sistema Q.

S
It



Q1





R



L1 L2 L3

T T T

Figura No 7.3 Sistema de suministro opcional
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 4

3 Propiedades de los sistemas de inventarios

En todos los sistemas de inventarios e reconocen las siguientes propiedades: La demanda, el abastecimiento,
los costos y las restricciones

A continuacin se har un anlisis somero de cada una de las propiedades.

3.1 Propiedades de la demanda

El objetivo de mantener existencias de un artculo es satisfacer la demanda futura que puede haber del mismo.
La demanda constituye el componente ms importante de un sistema de inventarios. Sin embargo, el sistema
no tiene control sobre la demanda de los artculos que se almacenan Aunque la demanda por determinado
artculo no sea controlable si es posible estudiar sus propiedades.

1) El Tamao de la demanda es la cantidad requerida de determinado artculos en un tiempo cualquiera. De
acuerdo a la demanda los sistemas de inventarios pueden ser:

a) Sistemas determinsticos cuando el tamao de la demanda es conocido y constante.
b) Sistemas probabilsticos cuando la demanda no es conocida, sino que es una variable aleatoria que tiene
asociada una funcin de densidad o de probabilidad.

2) Se denomina Tasa de demanda a la demanda por unidad de tiempo. Si la demanda no es constante,
entonces se hablar de Tasa media de demanda.

3) Tiempo entre demandas es el tiempo que transcurre entre dos demandas consecutivas que se hacen o
llegan al sistema. Igual que la demanda puede ser constante o variable.

3.2 Propiedades del abastecimiento o suministro

El suministro se refiere a las cantidades que se programan para ser colocadas en inventario, al tiempo en que
se toman las decisiones para ordenar estas cantidades y al tiempo en que estas cantidades son agregadas al
inventario.

Al considerar las propiedades del suministro se identifican los siguientes elementos: El perodo de
programacin -T-, el tamao del suministro o lote -Q-, y el tiempo de espera -L

1) El Perodo de Programacin -o Perodo de Revisin T es el tiempo que transcurre entre dos decisiones
consecutivas con respecto al reabastecimiento del inventario, es decir, con respecto a la colocacin o no de
una orden por un lote de artculos. Cuando los perodos de programacin estn prescritos, quien toma las
decisiones no los puede controlar; en este caso son parmetros y generalmente tienen la misma magnitud.

2) El tiempo de espera -L es el intervalo de tiempo que hay entre la decisin de ordenar un lote de artculos
y la adicin del mismo al inventario. El tiempo de espera generalmente no est sujeto a control. Cuando el
tiempo de espera es muy pequeo, se dice que no es significativo y se lo trata como si fuera nulo (L = 0).
Cuando es significativo, se dice que L = 0. Si el tiempo de espera no es constante, entonces se debe
conocer su funcin de densidad.

Cuando el tiempo de espera es constante y la demanda es conocida, entonces la demanda durante el
tiempo de espera ser conocida tambin. Cuando la demanda es una variable aleatoria y el tiempo de
espera es una constante conocida, la demanda durante el tiempo de espera no es conocida, pero es
relativamente fcil encontrar su distribucin. Si la demanda y el tiempo de espera son variables aleatorias,
es complicado encontrar la distribucin de la demanda durante el tiempo de espera. En este caso, la
simulacin tiene bastante aplicacin.

3) El tamao del lote Q es la cantidad de artculos que se ordenan para ser agregados al inventario y para
satisfacer la demanda ya causada, si sta ha sido comprometida. El tamao del lote puede variar de un
perodo a otro, dependiendo del sistema que se est usando.

4) El perodo del suministro Tp es la longitud de tiempo en que los artculos son agregados al inventario. La
tasa suministro p es la razn del tamao del lote al tiempo del suministro, es decir, p = Q/Tp

Los modelos ms comunes de suministro son el suministro instantneo y el suministro uniforme. La figura 7.4
muestra varios modelos de suministro. El suministro a una tasa uniforme tiene lugar cuando el mismo sistema
produce los artculos; en este caso la tasa de suministro recibe el nombre de tasa de produccin. El
suministro instantneo ocurre cuando el lote de artculos es entregado todo de una vez; en este caso se dice
que la tasa de suministro es p = . Cuando el suministro ocurre a una tasa uniforme, se dice que p < .
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 5








Uniforme Potencia Instantneo Por lotes
p =



Figura No 7.4 Modelos de suministro

3.3 Costos relevantes en sistemas de inventario

Un sistema de inventarios ha sido definido como un sistema en el cual slo son significativos tres tipos de costos
y en el cual al menos dos costos cualesquiera estn sujetos a control. Estos costos son los costos de
adquisicin, mantenimiento del inventario y de escasez.

3.3.1 Costo de adquisicin de los artculos

Esos costos pueden dividirse en dos partes:

a) El costo de los artculos comprados.
b) El costo en que incurre el sistema al efectuar un pedido.

El costo de adquisicin puede resultar de muchas fuentes: El procesamiento de las rdenes., el cargue y
descargue de los artculos, la inspeccin de los mismos cuando son recibidos, el precio de comprar los
artculos, el transporte, etc.

Como puede observarse, los costos en que incurre el sistema de inventarios cuando se coloca una orden puede
dividirse en dos clases: los costos que dependen de la cantidad ordenada, y los que son independientes de la
cantidad ordenada; estos costos pueden incluir el costo de las unidades. Si se adquieren Q unidades, los costos
de adquisicin sern denotados por C (Q); el costo promedio por unidad ser C = C (Q)/Q.

Un caso que es de inters es aquel en que el costo promedio por unidad es constante, C independiente de la
cantidad ordenada; el costo de adquirir Q unidades ser entonces CQ.

Los costos que son independientes de la cantidad ordenada se incurren cada vez que se coloca una orden; nos
referimos a ellos como costos fijos de colocar una orden y sern denotados por A (costos de adquisicin). As,
cuando se coloca una orden por Q unidades, el costo en que incurre el sistema est dando por A + C (Q).

Un costo que puede estar incluido en el costo de adquisicin es el costo de revisin del inventario, en el cual
se incurre cuando se coloca una orden y es necesario revisar el inventario para determinar el nmero disponible
de artculos y determinar la cantidad a pedir. Se incurrira en este costo si se lleva un sistema de inventario
peridico.

Cuando el sistema mismo produce los artculos, el costo fijo de adquisicin A recibe el nombre de costo de
preparacin de un lote de produccin y los costos asociados seran los costos de la mano de obra requerida
para preparar el equipo de produccin, costo de los materiales que se usen durante el perodo de prueba,
costos del tiempo durante el cual no hay produccin debido a la preparacin, los costos administrativos en que
se incurra con motivo de la produccin del lote de artculos, etc.

Los costos que dependen de la cantidad producida sern los costos de la mano de obra directa, material directo
y gastos generales de la produccin.

3.3.2 Costos de mantenimiento del inventario.

En este costo se incluyen los costos de seguro, alquiler de depsitos (almacenamiento) y el costo de
manejarlos, tales como luz, celadores, etc. Un costo que es frecuentemente el ms importante, no es un costo
(gasto) directo, sino un costo de oportunidad y es el costo en que se incurre por tener un capital muerto o
invertido en inventarios, en vez de tenerlo invertido en otra actividad ms lucrativa. Este costo es igual a la
mayor tasa de retorno que el sistema podra obtener en inversiones alternativas.

Simulacin de Sistemas de Inventarios. Procedimiento general 7- 6

Los costos de oportunidad son directamente proporcionales a la inversin en inventarios; en igual forma
pueden variar los costos debido a dao (obsolescencia) de los artculos y al robo.

La tasa en que se incurre en los costos de seguros no es estrictamente proporcional a la inversin en
inventarios, sino que puede variar en forma escalonada. Por ejemplo, si la inversin en inventarios es menor
o igual que K1 pesos el seguro ser de N1 y si est entre K1 y K2 pesos el seguro ser de N2, etc.

Se denotar por CM el costo de mantener una unidad en inventario durante una unidad de tiempo. As, si
durante el tiempo At hay un inventario de It artculos, el costo de mantener este inventario estar dado por CM
It At.

Si el costo de mantener el inventario es el costo de oportunidad, entonces se supondr que la tasa a la cual se
incurre en este costo es proporcional a la inversin. Se denotar por i la constante de proporcionalidad. Si C
es el costo de un artculo, el costo de mantener una unidad en inventario durante una unidad de tiempo ser
iC. Las unidades de i sern de costo por unidad de tiempo por cada unidad monetaria invertida.

El costo de mantener una unidad en inventario es directamente proporcional a la longitud de tiempo que la
unidad permanece en inventario. Si se supone que el nivel de un inventario se comporta como lo indica la
figura 7.5, el costo de llevar el inventario durante el tiempo enmarcado en la figura est dado por:

Costo = CM (I1A1 + I2A2 + I3A3 + ... + I8A8) = CM It At


I1

I2

I3

I4
I5

I6





A1 A2 A3 A4 A5 A6 A7 A8 A9 A10

Figura No 7.5 Variacin en el nivel del Inventario

Es decir, el costo de mantenimiento del inventario durante el tiempo t es igual al costo unitario de
mantenimiento por el rea bajo la curva del inventario. Si se quiere encontrar el costo por unidad de tiempo,
basta dividir la expresin anterior por t, y se encuentra que el costo de mantener el inventario por unidad de
tiempo es directamente proporcional al inventario promedio.

Las unidades (dimensiones) de los diferentes costos que se han considerado hasta el momento estn dadas
por:
[ C ] =
[$]
[ ] Q
, [CM ] = [iC] =
[$]
[ ][ ] Q T
, [ A ] =[ $ ], [ i ] =
[$]
[$][ ] T T
=
1


donde [Q] denota unidades de cantidad, [$] denota unidades monetarias o de pesos y [T] denota
unidades de tiempo.

3.3.3 Costos de escasez, ruptura o faltante

Este costo surge cuando ocurre la demanda por un artculo y el sistema no tiene existencias. Este es el costo
ms difcil de determinar. Algunos de los componentes asociados con el costo unitario de escasez puede incluir:

- Cotos ocasionados por trabajo extra.
- Costos por procedimientos administrativos especiales.
- Prdidas de ventas especficas.
- Prdida de goodwill.
























Simulacin de Sistemas de Inventarios. Procedimiento general 7- 7

- Prdida de consumidores.

Para estimar el costo de escasez es necesario distinguir dos situaciones que pueden presentarse cuando no se
dispone de existencias para satisfacer una demanda:

- Cuando la demanda se puede satisfacer una vez se haya reabastecido el inventario.
- Cuando las ventas se pierden.

(a) Cuando la demanda se puede satisfacer posteriormente: Caso demanda comprometida

Es muy difcil determinar el costo en que se incurre cuando una orden es devuelta al consumidor, ya que estos
costos pueden incluir aspectos tales como prdida de goodwill, o el costo o prdida ocasionado al consumidor
al no poder usar ste el artculo a tiempo. Otros aspectos de costo de escasez pueden medirse con menor
grado de dificultad, tales como el costo de notificar al consumidor que el artculo no est en el depsito y que
le ser enviado ms tarde, los costos de enviar el artculo, etc.

Cuando el sistema es quien usa el artculo, este costo ser el costo de mantener un equipo inactivo y un
personal ocioso por falta de material; en tal caso es relativamente fcil obtener una medida del costo de
escasez.

Generalmente se asume que hay un costo de escasez asociado con cada unidad que se demanda; este costo
depender del tiempo que se demore el sistema en enviar el artculo al cliente. La funcin ms general que
puede utilizarse es CE = TT1 + TT2 t, es decir, un costo fijo para cada unidad que no se despacha a tiempo, mas
un costo variable que es directamente proporcional al tiempo durante el cual la orden espera se despachada.
Este costo de escasez se aplica al nmero medio de unidades que tienen que esperar antes de ser
despachadas.
Las unidades de CE son [CE ] =
[$]
[ ][ ] Q T

(b) Cuando las ventas se pierden

Dado que la demanda se pierde cuando el sistema est sin existencias, el costo de las prdidas en ventas no
puede depender del tiempo. Se puede asumir que cuando se incurre en costos por prdida de ventas, existe
un costo fijo asociado con cada unidad demandada y que no puede ser ordenada. El costo de las ventas
perdidas incluye diferentes factores tales como la prdida de goodwill, la prdida de la utilidad de la venta, la
prdida de clientes que en un futuro pueden ir a otra parte, etc. Este costo tambin puede incluir los asociados
con procedimientos especiales para informar al consumidor que su demanda no puede ser satisfecha. La forma
ms sencilla de estimar este costo es considerar el valor de la utilidad perdida. Este costo ser denotado por
CE. As, si V es el precio unitario de venta, el costo por escasez podr estimarse como CE = V - C
Las unidades de CE son [CE ] =
[$]
[ ] Q

3.4 Propiedades de las restricciones

Las restricciones en los sistemas de inventarios tienen que ver con varias propiedades que de una u otra forma
representan limitaciones a las componentes discutidas antes. Algunas de las restricciones que pueden ocurrir
son las siguientes:

- Restricciones en las unidades. Las unidades pueden considerarse como continuas o discretas. Por ejemplo,
en algunos sistemas se deben pedir siempre por docenas.

- Restricciones de espacio. El espacio para almacenar los artculos puede ser limitado.

- Restricciones en los costos. En algunos sistemas de inventarios puede no permitirse la ocurrencia de
determinado tipo de costos. Por ejemplo, la poltica del sistema puede ser no permitir escasez. En este caso
el costo de escasez es prohibitivo (CE )

- Restricciones en el capital invertido, es decir, la inversin en inventarios puede estar limitada a un capita
mximo.

4 Aspectos generales de la simulacin de sistemas de inventarios

Por lo general, el objetivo principal al estudiar un problema de inventario es determinar la poltica operativa que
minimice el costo total del sistema. Si se est simulando el sistema de revisin peridica, se debe determinar
el perodo ptimo de revisin T y el nivel mximo al cual debe llevarse el inventario S. En el sistema de punto
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 8

de reorden, deben determinarse los valores ptimos del punto de reorden R y del tamao del lote Q. Sin
embargo, en otras situaciones el objetivo puede ser simplemente evaluar el comportamiento de una
determinada poltica de manejo del inventario.

Antes de entrar a la simulacin de los sistemas antes mencionados, es conveniente analizar algunos aspectos
que son comunes a ambos sistemas, para luego estudiar cada sistema por separado y analizar posteriormente
la posibilidad de disear un simulador para ambos sistemas.

La simulacin de los sistemas de inventarios se har, al igual que la simulacin de sistemas de colas, con base
en eventos. Es decir, una vez definidos los eventos se buscar el de ms cercana ocurrencia, se ejecutar el
evento primario y se efectuarn todas las ramificaciones que resulten del evento que ha ocurrido.

4.1 Eventos

En la simulacin de inventarios se pueden distinguir los siguientes eventos:

- La demanda por artculos
- La revisin del inventario y como consecuencia la colocacin de una orden para su reabastecimiento.
- La llegada de un lote de artculos
- El fin de la simulacin

Las caractersticas de los tres primeros elementos ya fueron estudiadas al analizar las propiedades de los
sistemas de inventarios. Sin embargo, a continuacin haremos un repaso de los mismos, pero esta vez desde
el punto de vista de la simulacin.

1) Caractersticas de la demanda. Generalmente se supone que el patrn de comportamiento de la demanda
es por completo independiente del sistema que se analice. Es decir, el sistema no tiene ningn control
sobre la demanda.

La demanda se define mediante el tiempo entre demandas sucesivas y el nmero de unidades requeridas
en cada demanda. El tiempo entre demandas sucesivas puede ser una constante o una variable aleatoria.
En igual forma, el nmero de unidades requeridas en cada demanda puede ser constante o puede ser una
variable. Por ejemplo, cuando registramos las ventas diarias de determinado artculo, estamos
considerando el tiempo entre demandas sucesivas como constante (un da) y el nmero de unidades
requeridas en cada demanda como una variable aleatoria. Cuando el tiempo entre demandas sucesivas es
variable, generalmente la cantidad demandada por cada cliente es constante (una unidad). Sin embargpo,
tanto el tiempo como la cantidad demandada pueden ser variables aleatorias, y estarn definidos mediante
la respectiva distribucin de probabilidad.

2) Revisin del inventario y colocacin de rdenes. En el sistema de punto de reorden se supone que se tiene
un sistema continuo de inventarios y que en cualquier instante se puede saber cul es el inventario
disponible. Sin embargo, slo es necesario conocer el estado del inventario cuando ocurre una demanda
que haga bajar el nivel del inventario (fsico y en rdenes) al punto de reorden o por debajo de l. Es decir,
en el sistema Q es necesario efectuar una revisin del inventario cada vez que ocurre una demanda para
decidir si es necesario colocar una orden para reabastecer el inventario; esta orden sera por una cantidad
fija Q.

En el sistema de revisin peridica, el nivel del inventario es revisado a intervalos fijos de tiempo (T) para
conocer el tamao de la orden que debe colocarse. En este sistema puede suponerse que existe un sistema
peridico de inventarios y que al final del perodo puede ser necesario hacer una revisin para conocer las
existencias y con base en las mismas colocar un pedido.

Si revisado el inventario se concluye que hay que colocar una orden, es necesario estimar el tiempo que
tardara esa orden en ser entregada y adicionada al inventario. Este tiempo de espera, como ya se indic,
puede ser constante o variable. En este momento se genera un evento futuro correspondiente a la entrega
de dicho pedido.

En la simulacin y en el sistema real puede suceder que en un instante haya varias rdenes colocadas, pero
no recibidas, y debido a lo aleatorio de los tiempos de espera, podra suceder que las rdenes se cruzaran,
es decir, si una orden que se coloc en un tiempo t1 y otra orden se coloc en un tiempo t2, t2 > t1, la orden
colocada en t2 puede llegar primero que la orden colocada en t1. Por lo tanto, el modelo de simulacin que
se disee deber tener en cuenta este aspecto.

Cuando exista un costo de revisin del inventario, este costo deber tenerse en cuenta en el sistema de
revisin peridica, ms no en el sistema de punto de reorden (en el cual se supone que el inventario se
mantiene actualizado) a no ser que se desee comparar ambos sistemas.
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 9


3) Recibo de rdenes. Cuando se revisa el inventario y se decide colocar una orden para reabastecer el
inventario, es necesario estimar su fecha de llegada, es decir, se debe generar un evento futuro que ser
la llegada de dicho pedido. Cuando el prximo evento sea la llegada de una orden, es necesario saber qu
se har con la misma, de acuerdo a las caractersticas del sistema simulado.

Si cuando llega una orden no hay demanda insatisfecha, entonces todo el lote que llegue ser adicionado al
inventario existente. Si hay demanda insatisfecha y comprometida, entonces, del lote de unidades que
llegue, se satisface primero la demanda insatisfecha o comprometida y el resto se agrega al inventario. Si
se est simulando un sistema de ventas perdidas, todas las unidades que lleguen irn al inventario.

Cuando llegue un lote de unidades, se debe actualizar el nmero de rdenes que estn pendientes por llegar
y eliminar dicho evento de la lista de eventos.

4) Fin de la simulacin. Se calculan las estadsticas requeridas y se genera el reporte de salida.

4.2 Formulacin general del modelo

Enfoques para la simulacin de sistemas de inventario
Enfoque por eventos
Enfoque unidad por unidad

Eventos primarios

1) Demanda por artculos, caracterizada por:
- Tiempo entre demandas sucesivas, y
- Nmero de unidades requeridas.
2) Revisin del inventario colocacin de una orden para su reabastecimiento
- Sistema de Punto de Reorden: Evento condicional
- Sistema de revisin peridica: Evento independiente
3) Llegada de un lote de artculos
- Tamao del pedido
3) El fin de la simulacin

Puede haber varios lotes pendientes de entrega

Reloj = 0
Inicializar sistema (estado, contadores, eventos)
Mientras (Reloj < tiempo_simulacion)
Buscar prximo evento (minimo tiempos eventos)
Reloj = tiempo del prximo evento
Identificar tipo de evento
Si (evento = demanda), entonces ,
Manejar demanda (Actualizar inventario)
Si sistema = punto de reorden, entonces
Si lleg al Punto de Reorden, colocar pedido
Fin si
si no
Si (evento = Llegada lote), entonces
Actualizar inventario fsico y faltantes
si no (es evento Revisin)
Revisar inventario y colocar pedido
Fin si
Fin si
Fin mientras
Generar reporte -Calcular variables de salida (endgenas)

Modelo general de la simulacin por eventos

Lectura de parmetros bsicos
Reloj = 0
Inicializacin del sistema
Mientras (reloj < tiempo simulacin)
Bsqueda del prximo evento
Reloj = tiempo del prximo evento
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 10

Si evento = demanda, entonces Manejo demanda
Si evento = Revisin, entonces Revisin inventario
Si evento = llegada lote, entonces Recibo del lote
Fin mientras
Generar reporte
Fin simulacin


Un sistema de inventarios ha sido definido como aquel sistema en el cual son relevantes los costos de
adquisicin, de mantenimiento y de escasez. Es decir, la poltica que se escoja es aquella que minimice el costo
total del sistema, que estar dado por la suma de los costos anteriores. Por lo tanto, se debe buscar una forma
de expresar los diferentes costos del sistema de acuerdo a las variables que es necesario tener en cuenta. Con
respecto a los costos unitarios se usar la misma anotacin que se defini anteriormente, a saber:

CM: Costo de mantener una unidad en inventario una unidad de tiempo.
CE: Costos de escasez. Dependiendo de las caractersticas del sistema simulado, tendr los siguientes
significados:
- Costo por unidad de demanda no satisfecha por unidad de tiempo, cuando la demanda se
compromete.
- Costo por unidad no vendida cuando la demanda se pierde.
A: Costo fijo de ordenar un lote de artculos para reabastecer el inventario.
CR: Costo de revisar el inventario (sistemas de revisin peridica). Podra estar incluido en A.
C: Costo unitario o precio de compra.

Si It representa el inventario que hay en el tiempo t y ese inventario se mantiene durante un tiempo At,
entonces el costo de mantenimiento del inventario durante ese tiempo (CMt) estar dado por:

CMt = CM. It. A t

Si durante el tiempo At no hubo existencias sino un dficit de Et unidades, el costo de mantenimiento del
inventario durante ese tiempo sera cero (0) y el costo de escasez (CEt) estara dado por:

CEt = CE. Et. A t

Si las ventas se pierden, el costo anterior de escasez no se aplicar, sino que en el momento en que se pierda
la venta se aplicar el respectivo costo de ventas perdidas dado por CE. VP.

Si en el tiempo t se examina el estado de un sistema de inventarios, entonces es necesario tener en cuenta
algunos de los siguientes aspectos:

1. Si It representa las unidades que hay en inventario en el tiempo t, y esas unidades han estado en inventario
durante un tiempo At, entonces el costo en que ha incurrido el sistema para mantener esas unidades en
inventario durante At, est dado por CM. It. At, es decir, el costo de mantenimiento del inventario hasta el
tiempo t - CMt - estar dado por:

CMt = CMt + CM. It A t

2. Puede suceder que en el tiempo t no haya unidades en inventario sino que por el contrario exista un dficit
Et de artculos que deber satisfacerse cuando llegue un lote de artculos. Si el dficit es Et, y se ha
mantenido durante el intervalo de tiempo At, el costo acumulado de escasez hasta el tiempo t (CEt) est
dado por:

CEt = CEt + CE. Et A t

Si se est simulando un sistema de ventas perdidas, entonces no se aplicara el costo anterior, ya que el
costo de escasez sera independiente del tiempo. El costo de escasez se aplicara en el instante en que las
ventas se perdieran.

3. Si en el tiempo t tiene lugar una demanda por Dt artculos, podran presentarse las siguientes situaciones:

a. Dt s It :Hay en inventario artculos suficientes para satisfacer la demanda. Entonces el inventario
resultante sera It - Dt artculos, es decir el inventario se reduce en la cantidad demandada.

b. 0 < It < Dt : Aunque hay artculos en inventario stos no son suficientes para satisfacer toda la
demanda. En este caso se satisfar parte de la demanda (It) y el resto (Dt - It) ser la demanda no
satisfecha a tiempo, la cual se podr comprometer para ser satisfecha cuando se reabastezca el
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 11

inventario, o se perder, de acuerdo a las caractersticas del sistema analizado. Despus de satisfecha
parcialmente la demanda, la escasez o ventas perdidas, segn el caso, sern Et = Et + Dt - It y el nivel
del inventario ser Cero (0): It = 0

c. It = 0. No hay artculos en inventarios. En este caso, no se puede satisfacer ninguna parte de la
demanda, y sta ir a formar parte de la demanda comprometida (Et = Et + Dt) o se perder, segn el
sistema.

Cuando las ventas se pierden, debe actualizarse inmediatamente el costo de las ventas perdidas.

Si la variable IOt representa los artculos que hay fsicamente en inventario mas las rdenes que se han
colocado pero que an no han llegado, entonces cada vez que ocurre una demanda, esta variable debe ser
actualizada de acuerdo a la demanda que se satisfaga o puede satisfacerse. Es decir, si toda demanda
puede ser finalmente satisfecha (ahora o posteriormente), entonces cada vez que ocurra una demanda, a
la variable IOt debe restrsele la demanda total (IOt = IOt - Dt). Sin embargo, si las ventas se pierden, esta
variable debe actualizarse nicamente con la parte de la demanda que se satisfaga, es decir con It (IOt =
IOt - It)..

En algunos sistemas de inventarios, el costo de mantenimiento podra calcularse con base en lo que haya
en existencias y en pedidos, y no nicamente con base en las existencias.

Si se est simulando el sistema de punto de reorden, entonces cada vez que ocurre una demanda se debe
examinar lo que hay en inventario y en rdenes para saber si se lleg al punto de reorden. Si se lleg al
punto de reorden ( IOt s R ), se coloca una orden por una cantidad fija Q, la cual puede tardar algn tiempo
en llegar. Cuando se coloca la orden el sistema incurre en un nuevo costo, el costo de adquisicin -costo de
colocacin de la orden mas el costo de los artculos. Estos costos sera A + CQ. El costo acumulado de
adquisicin hasta el tiempo t (CAt) sera:

CAt = CAt + A + CQ

El costo anterior se actualiza solamente cuando IOt s R.

5. Si se est simulando el sistema de revisin peridica y en el tiempo t ocurre una revisin, se debe definir el
tamao de la orden que debe colocarse, el cual est dado por Q = S - IOt, Q = S - It si no hay rdenes
pendientes por llegar. En este momento el sistema est incurriendo en el costo de revisar el inventario (CR),
en el costo de colocar la orden (A) y en el costo de los artculos. Por lo tanto, el costo acumulado de
adquisicin hasta el tiempo t ser el dado por:

CAt = CAt + A + CR + CQ

6. Si en el tiempo t llega un lote de Q artculos, entonces lo primero que debe hacerse es satisfacer la demanda
comprometida y el resto llevarlo al inventario. Las siguientes expresiones ilustran las diferentes situaciones
que pueden presentarse:

Et = Et - Q, It = 0 si Et > Q.
It = It + Q - Et , Et = 0 si Et s Q.

Habiendo considerado los diferentes aspectos de cualquier sistema de inventario, se puede entrar ahora a la
simulacin de los mismos.

5 Modelo de simulacin para los sistemas Q y T

5.1 Aspectos generales

Para la simulacin de los sistemas de inventario se usar el enfoque por eventos, es decir, la simulacin se har
siguiendo los cambios que se pueden presentar en el estado del inventario de acuerdo a los eventos que vayan
ocurriendo.

En el sistema Q la revisin del inventario es un evento secundario o condicional y se presenta como
consecuencia de una demanda. Por lo tanto se tienen nicamente tres eventos primarios, a saber:

- El fin de la simulacin
- La demanda por artculos (llegada de un cliente)
- La llegada de un lote de artculos para reabastecer el inventario.

Simulacin de Sistemas de Inventarios. Procedimiento general 7- 12

En el sistema T o de revisin peridica el inventario solamente se revisa cada T unidades de tiempo y no cada
vez que ocurra una demanda. Adems, cuando se coloca una orden por un lote de artculos, el tamao del lote
no es siempre el mismo, sino que ser variable, dependiendo del nivel de existencias o de lo que haya en
existencias y en rdenes pendientes de entrega en el momento de hacer la revisin y del nivel mximo que
deben alcanzar esas existencias. Por lo tanto, en el sistema T la revisin del inventario no es consecuencia
directa de una demanda, sino que es un evento independiente. Por lo tanto, adems de los eventos
considerados en el sistema Q se debe incluir el siguiente evento adicional:

- Fin de la simulacin.
- Ocurrencia de una demanda.
- Ocurrencia de una revisin del inventario.
- Llegada de un lote de artculos.

La figura 7.6 presenta en forma grfica un diagrama de flujo descriptivo de las diferentes actividades que
deben desarrollarse en la simulacin, tanto para el sistema de punto de reorden como de revisin peridica.

Cuando se simula el sistema Q debern definirse los valores de Q y R y en el sistema T los valores de T y S,
junto con los dems parmetros comunes a ambos sistemas, tales como costos, semillas, inventario inicial,
distribuciones.,etc.

Con respecto al desarrollo del programa de simulacin, es necesario identificar las siguientes etapas:

1 Creacin de la imagen del sistema (inicializacin del sistema), que comprende
1.1 Lectura de los parmetros bsicos para la simulacin, tales como costos unitarios, semillas,
parmetros de las distribuciones, parmetros del sistema o poltica a simular, inventario inicial.
1.2 Inicializacin de las variables de estado, tales como nivel del inventario fsico, inventario fsico y en
rdenes, rdenes pendientes, etc.
1.3 Inicializacin de contadores para recoger estadsticas, tales como inventario medio, escasez media,
costos, etc.
2 El algoritmo de simulacin, que comprende:
2.1 La bsqueda del prximo evento y recoleccin de estadsticas de variables que dependen del
tiempo.( Contadores del tipo nt At)
2.2 La realizacin del evento, que como ya se indic puede ser uno de los siguientes:
2.2.1 Ocurrencia de una demanda.
2.2.2 La llegada de un lote
2.2.3 La revisin del inventario
2.2.4 El fin de la simulacin

3 La generacin del reporte de salida, que tiene lugar cuando el evento es el fin de la simulacin.

Para desarrollar un modelo de simulacin para los sistemas Q y T es necesario definir una variable que
identifique para un caso particular el sistema que se va a simular. Esa variable denominada SISTEMA podr
tomar los siguientes valores:

SISTEMA = 1 Si se ha de simular el sistema Q.
SISTEMA = 2 cuando se va a simular el sistema T.

En los numerales siguientes se desarrollan algunos aspectos y se definen algunas variables que hay que tener
en cuenta en el diseo del modelo de simulacin, que puede luego implementarse en un computador..

5.2 Lista de Eventos Futuros MEF

Los eventos que pueden ocurrir en una simulacin tienen tres atributos bsicos, a saber:

- El tiempo de ocurrencia del evento.
- El tipo de evento
- La entidad que causa el evento. Para la simulacin de inventarios ser la cantidad asociada con el
evento.


Simulacin de Sistemas de Inventarios. Procedimiento general 7- 13

E
Tipo evento?
C
Fin
D
C
Puede satisfacerse
la demanda?
Ventas perdidas?
Figura 7.6 Simulacin de Sistemas de inventario. Diagrama de flujo descriptivo.




Legada lote

Fn

Revisin
Demanda
Fin


















S


No
No No
S

S
No
S



No









Comienza la simulacin
Lectura de datos
Asignacin de valores de Q y
R o de T y S.
A
Inicializacin del estado del
sistema:
- Nivel del inventario
- Escasez, ordenes pendientes

Lista de eventos:
- Fin de Simulacin
- Primera Demanda
Reloj = 0
Sistema T?
Lista de eventos:
- Primera Revisin
Inicializar contadores
B
Bsqueda del prximo evento
Actualizacin de contadores del
tipo nt At)

1
1
Avance del Reloj al tiempo del
prximo evento:
RELOJ=Tiempo Prximo Evento
Registrar cantidad pedida - D
Actualizar lista de eventos con
prxima demanda.
Generar tiempo de la prxima
demanda y la prxima demanda
Se reduce el
inventario fsico en la
cantidad pedida.
Inventario fsico y en
rdenes se reduce en la
demanda satisfecha.
Demanda Satisfecha
= Nivel del Inventario
Se reduce el inventario
fsico y en rdenes en la
cantidad pedida
Se reduce el
inventario a cero
Se actualizan ventas
prdidas

Demanda comprometida =
Valor anterior
+Demanda insatisfecha
Se reduce el inventario fsico
y en rdenes en la cantidad
pedida
2
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 14





4







Sistema de Punto No


S

No S
































S



S









Figura 7.6 Simulacin de Sistemas de inventario. Diagrama de flujo descriptivo.
2
Actualizacin de estadsticas
sobre demandas satisfechas y no
satisfechas
Se lleg al punto de
reorden?
COLOCAR UN NUEVO PEDIDO
- Generar Tiempo de Espera
- Actualizar Costos de Adquisicin
Actualizar Lista de Eventos con el
tiempo de llegada del lote.
B
D
Calcular el tamao del lote
COLOCAR UN NUEVO PEDIDO
- Generar Tiempo de Espera
- Actualizar Costos de Adquisicin
Actualizar Lista de Eventos con el
tiempo de llegada del lote.
B
Actualizar Lista de Eventos con la
Prxima Revisin
Evento: Llegada lote
E
Evento: Revisin Inventario
Se alcanza a satisfacer
demanda comprometida?
Identificar tamao del lote Q
Se actualiza la Lista de
Eventos Futuros, eliminando
esta llegada.
B
F
Evento: Fin de la Simulacin
GENERAR REPORTE DE SALIDA:
- Inventario y Escasez Promedio.
- Inventario Fsico y en rdenes promedio.
- Costo promedio por unidad de tiempo.
- Etc.
Desea realizar mas
simulaciones?
Realizar los cambios requeridos:
- Variables de Decisin (Q,R) o (T,S)
- Reinicializar semillas.
A
Fin Simulacin
Se satisface demanda
comprometida y se lleva el
resto al inventario.
Se reduce el nivel de la
demanda
comprometida
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 15

Para llevar la informacin sobre los eventos futuros, se usar un arreglo denominado Matriz de Eventos
Futuros - MEF, que ser un arreglo en dos dimensiones, con la siguiente estructura:

Fila No TIEMPO CANTIDAD TIPO
1 Tiempo de Simulacin No hay Fin tipo 1
2 Tiempo Prxima Demanda Demanda Demanda tipo 2
3 Tiempo prxima revisin Nivel mximo S Revisin inv tipo 3
4 Tiempo de llegada Tamao del lote Q Llegada lote tipo 4
5 Tiempo de llegada Tamao del lote Q Llegada lote tipo 4

N Tiempo de llegada Tamao del lote Q Llegada lote tipo 4

Por lo tanto el significado general de este arreglo ser el siguiente:

- MEF(I,1) = representa el tiempo de ocurrencia del evento.
- MEF(I,2) = representa la cantidad asociada con el evento (demanda, nivel mximo, lote).
- MEF(I,3) = representa el tipo de evento, segn la siguiente convencin:
= 1 si el evento es el fin de la simulacin
= 2 si el evento es una demanda.
= 3 si el evento es la revisin del inventario (solamente se da si se simula el sistema T).
= 4 si el evento es la llegada de un lote para reabastecer el inventario.

El nmero de filas ocupadas depender del sistema a simular y del nmero de lotes que estn pendientes por
llegar. Cuando se inicialice el sistema en el tiempo cero (RELOJ = 0) se llenarn, las dos primeras filas en el
sistema Q y las tres primeras en el sistema T, siendo la tercera la relacionada con la prxima revisin. Cuando
se haga la revisin y se coloque un pedida para reabastecer el inventario, estos lotes pendientes por llegar irn
a partir de la fila tres en el sistema Q y de la fila cuatro en el sistema T.

El tiempo de ocurrencia de los futuros eventos puede definirse como una variable entera, para lo cual puede ser
necesario definir un factor de escala de tal forma que al calcular los tiempos de los eventos no se pierda
informacin en el momento de truncar o redondear los valores. Por ejemplo, si el tiempo medio entre
ocurrencia de una demanda es 0.5 horas, entonces puede usarse como unidad de tiempo el minuto (factor de
escala de 60) y no la hora, o un factor de escala de 30.

Esta informacin se guardar de la siguiente manera:

MEF (1,1) = Tiempo de simulacin
MEF (1,2) = 1, que indica que el evento es el fin de la simulacin.

MEF (2,1) = Tiempo de ocurrencia de la prxima demanda. Puede ser aleatorio.
MEF (2,2) = Guarda la cantidad que demandar el prximo cliente. Puede ser una variable aleatoria.
MEF (2,3) = 2 que indica que el evento es una demanda.

MEF (I,1), I > 2 Para I=3 guardar el tiempo de la prxima revisin en el sistema T y para I > 3 en el
sistema Q el tiempo de llegada de un lote para reabastecer el inventario.
MEF (I,2), I > 2: Para I=3 guardar el nivel mximo del inventario S, y para I > 3 en el sistema Q el tamao
del lote que est pendiente por llegar.
MEF(I,3), I > 2: Para I = 3 guardar el valor de tres (3) en el sistema T, lo cual indica que el evento es la
revisin del inventario, y en el sistema Q el valor de cuatro (4), que indica que el evento
es la llegada de un lote.

Como en un momento dado puede que no haya lotes pendientes por llegar al sistema, o por el contrario puede
que haya varias rdenes que se han colocado pero que no han llegado, entonces el arreglo MEF debe ser
abierto y debe existir alguna variable que indique o cuntas rdenes estn pendientes por llegar o cuntas filas
haya ocupadas en este arreglo. Se usar la variable NFILA para indicar el nmero de filas ocupadas en el
arreglo MEF. El valor mnimo de NFILA es dos en el sistema Q y tres en el sistema T. Adems, las filas
ocupadas sern las primeras; por lo tanto, cuando llegue un lote ser necesario disminuir el nmero de filas
ocupadas y reorganizadas, si es del caso, de tal forma que cuando se vaya a buscar el prximo evento, se
busque nicamente en las primeras filas de la matriz.

5.3 Recoleccin de estadsticas

En la simulacin de inventarios hay variables cuyo valor debe darse en funcin del tiempo, es decir, al recoger
informacin acerca de esta variable, es necesario indicar el tiempo durante el cual la variable tom
determinado valor. Esas variables son el inventario y la escasez, pero esta ltima slo se da cuando el
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 16

sistema se compromete a satisfacer la demanda cuando haya existencias. Si las ventas se pierden la nica
variable que depende del tiempo es el inventario.

Se recoger informacin acerca de las unidades requeridas en cada demanda y sobre la parte de la demanda
que es satisfecha inmediatamente y sobre la demanda que debe esperar ser satisfecha o que se pierde.

Costos La informacin de costos es la siguiente:
- Costos de mantenimiento: CMt = CMt + CM. It A t
- Costos de Escasez: CEt = CEt + CE. Et At, cuando la demanda se compromete.
- CEt = CEt + CE. VPt , si la demanda no satisfecha se pierde.
- Costos de adquisicin: CAt = CAt + A + CQ


5.4 Seudo cdigo. Simulacin de sistemas de inventarios

PROCEDIMIENTO GENERAL
(1) CREACIN IMAGEN DEL SISTEMA
LECTURA DE PARMETROS BSICOS
Tiempo de simulacin, semillas, costos, Tipo_Sistema, Tipo_escasez, inventario inicial
Parmetros de distribuciones de:
Tiempos entre llegada de clientes (demandas)
Cantidad demandada
Tiempo de espera
Si Tipo_Sistema = Sistema Q, entonces
Leer Tamao Lote (Q) y Punto de Reorden (R)
Si no
Leer Nivel Mximo (S) y Perodo de Revisin (T)
Fin Si
INVOCAR RUTINA DE INICIALIZACIN

(2) ALGORITMO DE SIMULACIN
Prximo Evento: Demanda (Llegada Cliente al Sistema)
Mientras Prximo Evento = Fin_Simulacin
Rutina de Prximo Evento
Si Prximo Evento = Demanda ,entonces
Invocar Rutina de Demanda
Si no
Si Prximo Evento = Revisin, entonces
Invocar Rutina de Revisin
Si no
Si prximo Evento = Llegada Lote, entonces
Invocar Rutina Llegada Lote
Fin si
Fin si
Fin si
Fin Mientras
(3) INVOCAR RUTINA DE GENERACIN DE REPORTES
Si hay mas experimentos de simulacin, entonces
Establecer condiciones de nueva simulacin
Volver a inicializar el sistema
Fin si
FIN DE LA SIMULACIN

RUTINA DE INICIALIZACIN
RELOJ = 0
* Inicializacin del estado del sistema
Inventario = Inventario Inicial (It = II)
Inventario Fsico y en Ordenes = Inventario Inicial (IOt = II)
* Inicializacin lista de eventos
* Evento tipo 1: Fin de Simulacin.
MEF(1,1) = Tiempo Simulacin
MEF(1,2) = 1
* Evento tipo 2 : Llegada nuevo cliente (Generar Tiempo entre Demandas y Cantidad pedida
MEF(2,1) = Reloj + Tiempo entre demandas
MEF(2,2) = 2
MEF(2,3) = Cantidad Pedida
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 17

Nmero de Eventos = 2
* Eventos tipo 3: Fin de servicio de las k estaciones
Si Tipo Sistema = Sistema T
MEF(3,1) = Reloj + Tiempo entre demandas
MEF(3,2) = 3
MEF(3,3) = S
Nmero de Eventos = 3
Fin si
* Inicializacin contadores para estadsticas
Nmero Clientes (demandas)= 0
Numero demandas atendidas = 0
Suma _It = 0 (tipo Ent At )
Suma_Et = 0 (tipo Ent At)
Ventas Perdidas = 0
Nmero pedidos = 0
Artculos pedidos = 0
FIN RUTINA DE INICIALIZACION
RUTINA DE PROXIMO EVENTO
* Bsqueda de Prximo Evento
Min = 1
Para fila = 2 hasta Nmero de eventos
Si (MEF(fila,1) s MEF(min,1) entonces
Min = fila
Fin si
Fin para
Tiempo del Prximo Evento: TPE = MEF(min,1)
At = TPE - RELOJ
* Actualizacin de contadores sobre variables de estado del tipo Ent At
Suma _It+ = It * At
Suma_Et+ = It * At
RELOJ = TPE
FIN RUTINA DE PRXIMO EVENTO
RUTINA DE LLEGADA DE DEMANDA
* Evento tipo 2 : Llegada nuevo cliente
Evento: Llegada de un cliente (Demanda).
Demanda_actual = MEF(min,3)
* Actualizar Evento Primario: Programar nueva demanda
Generar Tiempo de Prxima demanda (TD)
Generar prxima cantidad pedida (D)
MEF(2,1) = Reloj + Tiempo entre demandas
MEF(2,3) = D
Nmero de Clientes (demandas)+ = 1
Si Demanda_actual s It, entonces
Numero de demandas atendidas+ = 1
It = It demanda actual.
IOt = IOt - demanda actual
Si no
Demanda satisfecha = It
Demanda insatisfecha = Demanda actual It
It = 0
Si Tipo_escasez = Demanda comprometida, entonces
Et = Et +demanda insatisfecha
IOt = IOT Demanda actual
Si no
Ventas perdidas+ = demanda insatisfecha
IOt = IOT Demanda satisfecha
Fin si
Fin si
* Revisin del inventario (Sistema Q)
Si Tipo Sistema = Punto de Reorden, entonces
Si IOT s Punto de Reorden, entonces
Nmero de pedidos+ = 1
Artculos pedidos+ = Q
IOt+ = Q.
Generar Tiempo de espera (L)
Nmero de eventos+ = 1
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 18

MEF(nmero de eventos,1) = Reloj + Tiempo de espera
MEF(nmero de eventos,2) = 4
MEF(nmero de eventos,3) = Q
Fin si
Fin
FIN RUTINA DEMANDA
RUTINA DE REVISIN
* Actualizar Evento Primario: Programar nueva revisin
MEF(min,1) = Reloj + Tiempo de revisin (T)
Q = S IOT
Nmero pedidos+ = 1
Artculos pedidos+ = Q
IOt+ = Q.
Generar Tiempo de espera (L)
Nmero de eventos+ = 1
MEF(nmero de eventos,1) = Reloj + Tiempo de espera
MEF(nmero de eventos,2) = 4
MEF(nmero de eventos,3) = Q
FIN RUTINA LLEGADA DE CLIENTE
RUTINA DE LLEGADA DE LOTE
Q = MEF(min,3)
Si Et s Q, entonces
It = It + Q - Et
Et = 0.
Si no
Et = Et - Q
Fin si
Si min < Nmero de eventos
MEF(min,1) = MEF(nmero de eventos,1)
MEF(min,2) = MEF(nmero de eventos,2)
MEF(min,3) = MEF(nmero de eventos,3)
Fin si
Nmero de eventos- = 1
FIN RUTINA LLEGADA DE LOTE
RUTINA DE GENERACION DEL REPORTE DE SALIDA
* Clculo de:
Inventario promedio = Suma_It/Reloj
Escasez promedio = Suma_Et/Reloj
Nivel Servicio = (Nmero de demandas Nmero demandas atendidas)/ Nmero demandas
Promedio lote = Artculos pedidos/Nmero pedidos
Costo Inventario = Inventario Promedio * Costo_manto
Costo Pedido = Nmero pedidos * Costo_pedido/Reloj
Costo_artculos = Artculos pedidos *costo_unitario/Reloj
Si Tipo_escasez =Demanda comprometida, entonces
Costo escasez = Suma_Et * Costo_escasez
Si no
Costo escasez = Ventas perdidas * Costo_escasez/Reloj
Fin si
Costo = Costo Pedido + Costo artculos + Costo Inventario + Costo escasez
Imprimir: Estadsticas
FIN RUTINA DE GENERACION DE REPORTE

5.5 Ejemplo. Simulacin en hoja de clculo

Ejemplo. La tabla siguiente presenta la simulacin realizada en Excel durante 45 das del siguiente sistema de
inventarios: Se hace un pedido por 50 unidades cuando el inventario llegue a un nivel de 20 unidades. La
demanda que no se pueda satisfacer a tiempo se pierde. La demanda y el tiempo de espera tienen las
distribuciones emprica mostradas a continuacin:

Demanda 0 1 2 3 4 5 6 7 8 9 10
Probabilidad 0.01 0.02 0.04 0.06 0.09 0.14 0.18 0.22 0.16 0.06 0.02

Tiempo de espera 3 4 5
Probabilidad 0.2 0.6 0.2

Simulacin de Sistemas de Inventarios. Procedimiento general 7- 19

Simulacin de sistemas de inventario. Sistema de Punto de Reorden

Reloj
(das)
Inv
inicial
Lote Demanda Demanda.
Satisf.
Total
Ventas
Perdidas
Invent.
fsico
final
Inv fsico
y en
rdenes
Ordenes
?
Tiempo
de
espera
Llegada
lote
0 50 0 50 50
1 50 0 5 5 0 45 45 0 0 0
2 45 0 7 7 0 38 38 0 0 0
3 38 0 4 4 0 34 34 0 0 0
4 34 0 7 7 0 27 27 0 0 0
5 27 0 7 7 0 20 20 50 5 11
6 20 0 5 5 0 15 65 0 0 0
7 15 0 5 5 0 10 60 0 0 0
8 10 0 3 3 0 7 57 0 0 0
9 7 0 6 6 0 1 51 0 0 0
10 1 0 5 1 4 0 50 0 0 0
11 0 50 8 8 4 42 42 0 0 0
12 42 0 8 8 4 34 34 0 0 0
13 34 0 6 6 4 28 28 0 0 0
14 28 0 7 7 4 21 21 0 0 0
15 21 0 8 8 4 13 13 50 4 20
16 13 0 6 6 4 7 57 0 0 0
17 7 0 4 4 4 3 53 0 0 0
18 3 0 8 3 9 0 50 0 0 0
19 0 0 2 0 11 0 50 0 0 0
20 0 50 7 7 11 43 43 0 0 0
21 43 0 5 5 11 38 38 0 0 0
22 38 0 7 7 11 31 31 0 0 0
23 31 0 8 8 11 23 23 0 0 0
24 23 0 9 9 11 14 14 50 4 29
25 14 0 7 7 11 7 57 0 0 0
26 7 0 5 5 11 2 52 0 0 0
27 2 0 2 2 11 0 50 0 0 0
28 0 0 8 0 19 0 50 0 0 0
29 0 50 7 7 19 43 43 0 0 0
30 43 0 3 3 19 40 40 0 0 0
31 40 0 2 2 19 38 38 0 0 0
32 38 0 5 5 19 33 33 0 0 0
33 33 0 6 6 19 27 27 0 0 0
34 27 0 9 9 19 18 18 50 5 40
35 18 0 5 5 19 13 63 0 0 0
36 13 0 2 2 19 11 61 0 0 0
37 11 0 4 4 19 7 57 0 0 0
38 7 0 4 4 19 3 53 0 0 0
39 3 0 7 3 23 0 50 0 0 0
40 0 50 7 7 23 43 43 0 0 0
41 43 0 8 8 23 35 35 0 0 0
42 35 0 9 9 23 26 26 0 0 0
43 26 0 6 6 23 20 20 50 4 48
44 20 0 6 6 23 14 64 0 0 0
45 14 0 5 5 23 9 59 0 0 0
Promedi
o
20.5 50 5.87 5.36 0.51 19.6 41.8 50.0 4.4



Simulacin de Sistemas de Inventarios. Procedimiento general 7- 20

6 Organizacin del modelo de simulacin. Subprogramas

Con el fin de facilitar la ejecucin de las actividades anteriores, y para permitir una mayor flexibilidad para
realizar los cambios que pueden surgir, debido principalmente a las fuentes de variaciones aleatorias, todas las
etapas anteriores sern desarrolladas en mdulos independientes (procedimientos o subprogramas), pero
todas las variables aleatorias sern generadas en el programa principal.

En el programa principal se deben leer las caractersticas generales de la simulacin y los parmetros de las
distribuciones que definen el tiempo entre demandas sucesivas, la cantidad requerida en cada demanda y el
tiempo de espera. Adems, se debe ejecutar el control de las diferentes rutinas o procedimientos, de acuerdo
con el tipo del evento que ocurra. Finalmente se debe realizar la organizacin de las diferentes simulaciones, si
se van a simular varias alternativas. (definir proceso de optimizacin, si es del caso). Todas las variables
aleatorias que se necesiten sern generadas en el programa principal, de tal forma que los subprogramas sean
independientes de estas distribuciones.

6.1 Programa principal

Las actividades generales que se desarrollarn en el programa principal se describen a continuacin, y se
resumen en la figura siguiente:

1) Leer las caractersticas generales de la simulacin y los parmetros de las distribuciones que definen el
tiempo entre demandas sucesivas, la cantidad requerida en cada demanda y el tiempo de espera.
2) Cuando se desee simular el sistema Q se deben leer los valores del punto de reorden (R) y del tamao del
lote (Q) y si se trata del sistema T se deben leer los valores del nivel mximo del inventario (S) y del
perodo entre dos revisiones sucesivas (T). Si se trata de determinar una poltica ptima, inicialmente se
deben leer los valores iniciales de las caractersticas de operacin e iniciar el algoritmo de optimizacin, y
al final de la simulacin se deben realizar las modificaciones del caso.
3) En el programa principal se debe generar, de acuerdo con las respectivas distribuciones, el tiempo en que
ocurrir la primera demanda (TD) y la cantidad que ser requerida.

Simulacin de Sistema de Inventarios. Programa Principal.

Inicio del programa
Leer caractersticas generales de la simulacin
Reloj = 0
Inicializar el sistema
Prximo evento = demanda
Mientras prximo evento = Fin de simulacin, entonces
Buscar prximo evento
Actualizar contadores
Reloj = tiempo del prximo evento
Si (Prximo evento = demanda) entonces
Procedimiento demanda
Si (sistema = Punto de Reorden) entonces
Si ( Inventario <= Punto de Reorden) entonces
Realizar Pedido (Q)
Fin si
Fin si
Si no
Si (evento = Revisin) entonces
Realizar Revisin (Hacer pedido)
Si no
Si (evento = Llegada lote) entonces
Recibir lote
Fin si
Fin si
Fin si
Fin mientras
Generar Reporte
Fin Simulacin

4) Inicializar todo el estado del sistema de inventarios y de las subrutinas que recogern estadsticas.
(INICIALIZAR)

Simulacin de Sistemas de Inventarios. Procedimiento general 7- 21

5) Buscar el prximo evento y actualizar las estadsticas acerca de variables que dependen del tiempo. La
informacin sobre el prximo evento se encuentra en la fila min del arreglo MEF, y est definido por el valor
que tome MEF (min, 3). Segn su valor se realizarn los subprogramas enunciados en los siguientes
prrafos.

6) Evento = Demanda. Si MEF (min, 3) = 2 el prximo evento es una demanda. En este caso, en el
programa principal se genera el tiempo de la prxima demanda (TD) y la cantidad requerida (D) y la
subrutina DEMANDA se encarga de manejar el sistema. Si se trata del sistema Q, se pregunta si se alcanz
el punto de reorden; si no se alcanz el punto de reorden o si se trata del sistema T, se busca el prximo
evento. Si se alcanz el punto de reorden, se genera el tiempo que va a demorar el pedido y todas las
actividades relacionadas con el nuevo pedido son desarrolladas por la subrutina REVISIN.

7) Evento = Revisin. Si MEF (min, 3) = 3 el prximo evento es la revisin del inventario (sistema T) y se
debe calcular el tamao del lote que debe colocarse. En el programa principal se genera el tiempo de
espera L y la subrutina REVISIN realiza las dems actividades relacionadas con la colocacin del pedido.

8) Evento = Recibo lote. Si MEF (min, 3) = 4 el prximo evento es la llegada de un lote de artculos para
reabastecer el inventario. La subrutina RECIBO realiza las actividades relacionadas con el recibo y
almacenamiento del lote.

9) Evento = Fin de simulacin. Si MEF (min, 3) = 1 el prximo efecto es el fin de la simulacin. En este caso
se hace la generacin del reporte de salida, es decir, se realiza un resumen de la simulacin, (subrutina
REPORTE), se calculan costos y valores medios y se imprimen los resultados.

Si terminada la simulacin se desea realizar otro experimento de simulacin, se hacen las modificaciones que
sean necesarias y se vuelve a inicializar el sistema.

A continuacin se da una breve explicacin de las actividades desarrolladas en cada subrutina.

6.2 Subrutina INICIALIZAR

Esta subrutina inicializa todas las variables de estado, los primeros eventos y las variables para recoger
estadsticas. Las actividades realizadas se pueden resumir en las siguientes:

1) Variables de estado. Se inicializa el inventario fsico (It) y el inventario fsico y en rdenes (IOt) en el
inventario inicial. El inventario inicial se puede leer al definir las caractersticas generales del sistema, o se
puede asignar de acuerdo con la caracterstica del sistema a simular en los valores Q +R para el sistema
Q o en S para el sistema de revisin peridica. Adems, se define en cero el valor de la demanda
comprometida.
2) Primeros eventos. Se deben programar los primeros eventos de la simulacin, los cuales sern: El fin de
la simulacin, el tiempo de ocurrencia de la primera demanda con la cantidad demandada, y si se simula
el sistema de revisin peridica, se debe programar el tiempo de la primera revisin.
3) Contadores para recoger informacin. La informacin bsica que puede ser de inters en la simulacin de
un sistema de inventarios es la siguiente:
- Demanda satisfecha a tiempo
- Demanda no satisfecha a tiempo
- Nmero de demandas
- Nmero de demandas satisfechas a tiempo, para calcular el nivel de servicio.
- Inventario fsico promedio. Se usar tambin para calcular el costo medio de mantenimiento del
inventario.
- Demanda comprometida o escasez promedio. Se usar tambin para calcular el costo medio de escasez o
demanda comprometida.
- Nmero total de pedidos.
- Costo total de adquisicin.
- Ventas perdidas, si es del caso.

6.3 Subrutina Prximo evento

Esta subrutina busca cundo ha de ocurrir el prximo evento, y su tiempo de ocurrencia. Adems recoge
informacin acerca de las variables que dependen del tiempo, como son el inventario promedio y la escasez
media. Cuando ocurren eventos simultneos, se le da prelacin al ltimo evento que se ha encontrado, as,
cuando ocurren simultneamente una demanda y la llegada de un lote para reabastecer el inventario, se le da
prelacin a este ltimo evento.

6.4 Subrutina DEMANDA

Simulacin de Sistemas de Inventarios. Procedimiento general 7- 22

Esta subrutina, mostraba en la figura 7.11 maneja el sistema cuando el prximo evento es una demanda. La
subrutina lo primero que hace es guardar la cantidad pedida (KD) y actualizar la lista de eventos futuros con la
nueva demanda (tiempo y cantidad). Posteriormente, la subrutina examina lo que puede suceder a la
demanda que acaba de llegar, si puede ser o no satisfecha. Posteriormente recoge informacin acerca de la
demanda que se satisfizo o no se satisfizo. Adems, se actualiza el estado del sistema.

6.5 Subrutina REVISIN

Esta subrutina revisa el inventario para determinar, dependiendo del sistema simulado, la cantidad a pedir y la
prxima revisin.

Esta subrutina determina cundo llegar la orden que se acaba de colocar, actualiza el registro de inventario
fsico y en rdenes (IOT) y los costos de adquisicin. Adems recoge informacin acerca del tiempo de espera
y del tamao del lote.

6.6 Subrutina RECIBO

Esta subrutina maneja el sistema cuando se recibe una orden para reabastecer el inventario, y realiza,
bsicamente, dos actividades:

- Actualizar los registros de demanda comprometida (Et) y del nivel de inventario (It), y
- Reorganizar la lista de eventos futuros de tal manera que en el arreglo MEF estn ocupadas las primeras
filas.

6.7 Subrutina REPORTE

En esta rutina se presentan los resultados bsicos de la simulacin, lo cual incluye el clculo de los diferentes
indicadores, incluyendo los costos promedio del sistema y el nivel de servicio, que como ya se indic
previamente corresponde al porcentaje de veces que se satisface a tiempo la demanda total. Tambin incluye
la impresin de los anteriores resultados, junto con las caractersticas bsicas del sistema simulado

Ejemplo. El costo de mantener un artculo en inventario es $ 1 por unidad y por ao. Cuando la demanda no se
satisface inmediatamente, se pierde a un costo de $5 por unidad. Cuando se coloca una orden se incurre en un
costo de $ 20, adems de costo de los artculos comprados, a razn de $ 5 por unidad. La demanda diaria y
el tiempo de espera, en das, siguen las distribuciones que se dan a continuacin.

Distribucin de probabilidad de la
demanda diaria
Distribucin de probabilidad del
tiempo de espera (das)
Demanda Diaria Probabilidad Tiempo de espera
(da)
Probabilidad
5 0.01 2 0.15
6 0.03 3 0.20
7 0.06 4 0.03
8 0.11 5 0.20
9 0.19 6 0.15
10 0.31
11 0.17
12 0.07
13 0.03
14 0.02


Se desea obtener las estadsticas bsicas de la simulacin y cual poltica es mejor, entre las siguientes: Un
sistema <Q,R> con Q = 330 y R = 20, la poltica <S, T>, con un nivel mximo de 350 unidades y un perodo
de revisin de un mes (das). La figura VII-16 presenta adems del programa principal, los resultados de
simular el sistema Q para Q =330 y R = 20 (proyecto de simulacin No. 9) y los resultados de simular el sistema
T para L = 350 y T = 30 das.

Los datos y variables usados para las dos simulaciones fueron los siguientes:

Costo de mantenimiento Cm: $1/unidad-ao = $1/300 por unidad - da = $0.00333/unidad-da
Costo de escasez : $5/unidad
Costo de pedido A : $20/orden
Costo unitario c : $5/unidad
Tiempo de simulacin: 1000 das
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 23

Inventario inicial II : 500
Semillas : 787 para el tiempo entre demandas, 329 para la cantidad demandada y 1477 para
el tiempo de espera.
Sistema de ventas perdidas
IX (I), 1 = 1, 10 : Valores de la demanda diaria
P (I), I = 1, 10 : Probabilidad de que ocurra la demanda IX (I)
L (I), I = 1, 5 : Valores del tiempo de espera
PL (I), I = 1, 5 : Probabilidad de ocurrencia de un tiempo de espera IL (I)
Vector_demanda: :Vector que contiene la demanda, de 100 posiciones
Vector_tpo_espera :Vector que contiene los valores del tiempo de espera, usando el mtodo de Marsaglia,
para variables empricas.

Para definir la distribucin de probabilidad tanto de la demanda como del tiempo de espera se us el mtodo
de Marsaglia.

Los principales resultados de las dos simulaciones realizadas en el lenguaje de programacin Fortran fueron los
siguientes:

Concepto \ Sistema Sistema de revisin
continua
Q = 330, R = 20
Sistema de Revisin
peridica
T = 30, S = 350
Tiempo simulado (das) 1000 1000
Nivel de Servicio (%) 95.4 99.70
Costo total de Mantenimiento 533.63 564.93
Costo de ventas perdidas 1835 105
Costo de adquisicin 540 660
Costo de los artculos 44550 47315
Nmero de pedidos 27 33
Costo por unidad de tiempo 47.46 48.64
Demanda media satisfecha 9.37 9.72
Demanda media insatisfecha 0.37 0.02
Inventario fsico medio 160.1 169.5
Inventario medio fsico y en rdenes 193.8 204.3


7 Optimizacin en sistemas de inventarios

Generalmente el objetivo que se persigue al estudiar un sistema de inventarios es la determinacin de una
poltica ptima, por lo general aquella que minimice el costo total del sistema. Mediante la simulacin y debido
a las caractersticas propias de la misma, y a los costos de efectuarla, no se puede garantizar que se obtiene
exactamente la poltica ptima de cualquier sistema, pero s se puede obtener una poltica que est muy cerca
de la ptima, sin que el costo de obtenerla sea demasiado alto. En el sistema de punto de reorden, se deben
determinar los valores del Punto de Reorden y del Tamao del Lote ptimos <R
*
,Q
*
>, y en el sistema de
Revisin Peridica el objetivo ser la determinacin del perodo entre revisiones y el nivel mximo al cual debe
elevarse el inventario <T
*
,S
*
>.

7.1 Mtodos de bsqueda

Para determinar un valor ptimo mediante la simulacin hay varios procedimientos dependiendo de las
caractersticas de las variables cuyo valor se trate de determinar. Los dos procedimientos ms comunes son
los siguientes:

- Simulacin de todas las alternativas. Cuando el nmero de alternativas es limitado, se pueden simular todas
las alternativas y escoger la mejor. Es decir, cuando las polticas que se pueden simular son pocas, o
cuando las variables de inters slo pueden tomar determinados valores, y la combinacin de los diferentes
valores de esas variables no es muy elevado (lo cual hara que el costo de determinar la poltica ptima no
fuera muy alto) se pueden simular todas las alternativas y escoger la mejor.

- Proceso de optimizacin. Cuando el nmero de alternativas es muy alto, o no se conozca a priori cuantas
son, o cuando las variables de inters varan en forma continua y pueden tomar, en teora un nmero
infinito de valores, entonces es necesario usar un procedimiento de optimizacin, que para el caso de la
simulacin sera mtodo de bsqueda.

Cuando se tiene una sola variable (X) y se requiere determinar su valor ptimo (X*) mediante un
procedimiento de bsqueda, se le asigna a esa variable un valor inicial (X0) y un incremento (AX), y se
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 24

determina el valor de la funcin objetivo en el punto inicial, y luego en un nuevo punto situado a una distancia
AX hacia la derecha del punto inicial (X0 + AX); si la funcin objetivo es mejor en este punto que en el punto
inicial, se ensayan nuevos valores ubicados a la derecha del punto inicial hasta que no se obtenga ninguna
mejora en la funcin objetivo. Si la funcin objetivo en el punto X0 + AX es peor que en el punto inicial X0,
entonces se ensaya el punto X0 - AX; si la funcin objetivo es mejor en este punto que en el punto inicial, se
ensayan nuevos valores a la izquierda del valor inicial, hasta que no se obtenga ninguna mejora significativa
en la funcin objetivo. Si la funcin objetivo en el punto (X0 - AX) es peor que la funcin en X0, entonces el
mejor punto es el punto inicial. El procedimiento anterior puede reiniciarse tomando como punto inicial el
mejor valor que se haya obtenido, y disminuyendo el incremento.

Cuando se tienen varias variables, puede usarse el procedimiento para una sola variable, dejando constantes
todas las variables menos una, y variando sta hasta que no se obtenga ninguna mejora en la funcin objetivo.
Enseguida se deja esta ltima variable constante y se vara otra de las restantes variables. Este procedimiento
se repite hasta que no se obtenga ninguna mejora significativa en la funcin objetivo. Este procedimiento
recibe el nombre de Bsqueda de un solo Factor.

En la simulacin de sistemas de inventarios se tiene, en general, un nmero ilimitado de alternativas, ya que
el punto de reorden o la cantidad a pedir, pueden tomar muchos valores. Sin embargo se le podran asignar
a las variables de inters un nmero limitado de valores y considerar el problema como si se tuviera un nmero
limitado de alternativas. Ms especficamente, si se est simulando el sistema Q de inventarios se podra
proceder de la siguiente manera:

- Se asignan N valores a la cantidad a pedir -Q. sean Q1, Q2, ,,,QN los valores asignados.
- Se asignan M valores al punto de reorden. Sean R1, R2,... RM los valores asignados.
- Se simulan las diferentes parejas de cantidad y punto de reorden que sean posibles, y se escoge la pareja
que d el menor costo. Sea (Q*, R*) la mejor poltica.
- Si se encuentra que la mejor solucin para una o las dos variables queda en uno en los dos puntos
extremos considerados, esto nos indica que probablemente la solucin ptima no fue simulada y se hace
necesario ensayar nuevos valores en la regin no analizada. Por ejemplo, si se encuentra que Q* = QN,
entonces es probable que la solucin ptima para Q quede a la derecha de QN. Si R* = R1 es probable que
el mejor valor del punto de reorden sea inferior a R1.

Si se quiere obtener una solucin ms exacta, se pueden asignar nuevos valores a las variables de decisin,
que estn alrededor de los mejores valores que ya se tienen. (Esto es equivalente a la reduccin en el tamao
del incremento).

Para la poltica ptima del sistema T se puede usar el mismo procedimiento indicado para el sistema Q,
asignando valores al perodo de revisin y al nivel mximo.

7.2 Valores iniciales para el proceso de bsqueda

A continuacin se dan unas indicaciones de cmo escoger el valor inicial para cada una de las diferentes
variables de decisin, ya que si se escoge adecuadamente el punto inicial, se reducir el costo de encontrar la
solucin ptima. Bsicamente el proceso consiste en darle valores iniciales a las variables de decisin usando
los valores ptimos que se calculan suponiendo que se tiene un sistema completamente determinstico.

a) Tamao del Lote Q

Para escoger un valor inicial para el tamao del lote, que est cerca de la solucin ptima, se puede considerar
la solucin para un sistema determinstico, considerando que la demanda es constante e igual a la demanda
media. (Frmula de Harris o de lote econmico) Si la demanda para un intervalo de tiempo t est descrita por
la funcin continua de densidad f(x), entonces la demanda media para el tiempo t estar dada por x(t):
}

=
0
dx ) x ( xf ) t ( x
Si la demanda est descrita por una funcin discreta de probabilidad p(x), entonces la demanda media estar
dada por

=
=
0 x
) x ( p x ) t ( x
La tasa media de demanda estar dada por t t x / ) ( = . Es decir nos describe la demanda media por
unidad de tiempo.

Simulacin de Sistemas de Inventarios. Procedimiento general 7- 25

Si se asume que la demanda es constante a una tasa de unidades por unidad de tiempo (ao, mes, etc.) se
puede demostrar que el costo de sistema de inventarios cuando se colocan rdenes por Q unidades, est dado
por (Frmula de Harris):

CT(Q) = A /Q + C +Cm (Q / 2 +B)

Donde: A = Costo de colocar una orden para reabastecer el inventario.
C = Costo unitario.
CM = Costo unitario de mantenimiento del inventario
B = Inventario de seguridad

La solucin ptima se encuentra derivando la expresin del costo total con respecto a Q e igualando a cero, lo
cual nos da el siguiente valor par Q*:

C i
A A
C
Q
m
2 2 *
= =

El valor que se encuentra para Q* puede usarse como punto inicial Q0 para el proceso de bsqueda del ptimo
o para definir los diferentes valores que se le asignan a Q, de acuerdo con el procedimiento empleado para
encontrar el ptimo. Si no se usa el mtodo de bsqueda sino el de ensayar varios valores, entonces la mayora
de los valores que se asignen a Q deben estar por encima de Q*.

Para los datos del ejemplo analizado anteriormente el valor inicial para Q estar dado por
342
00333 . 0
72 . 9 20 2 *
= =
x x
Q


b) Punto de Reorden R

Las existencias que deben haber disponibles cuando se decida reabastecer el inventario deben ser suficientes
para satisfacer la demanda mientras llega la orden colocada. Es decir, y como se ha indicado varias veces el
punto de reorden R debe ser la cantidad que se necesita para satisfacer la demanda durante el tiempo de
espera, sin que se presente escasez con mucha frecuencia, pero tambin sin que el costo de almacenamiento
sea demasiado elevado. Si el tiempo de espera L est comprendido en el rango (Lmin 1 Lmax) y la demanda por
unidad de tiempo est comprendida entre Xmin y Xmax, entonces la demanda durante el tiempo de espera,
denotada por X (L) estar comprendida en el rango:

Lmin * Xmin s X (L) s Lmax * Xmax

La demanda media durante el tiempo de espera est dada por: L x t x

) (

Si el punto de reorden es R, entonces a la diferencia entre el punto de reorden y la demanda media durante el
tiempo de espera se le denomina Inventario de seguridad B, es decir:

L x t x R B

) ( =

El inventario de seguridad B se usa para absorber las fluctuaciones que se puedan presentar en la demanda y/o
en el tiempo de espera. Es decir, sirve para amortiguar las variaciones en la demanda cuando sta exceda,
hasta cierto punto, a la demanda media.

Para los datos del ejemplo analizado anteriormente tenemos que el punto de reorden estar entre 10 y 84
unidades, con una demanda media de 39 (38.8) unidades.

Para determinar el punto ptimo de reorden mediante la simulacin, pueden emplearse varios enfoques, que
sern descritos a continuacin:

- Proceso de optimizacin. Pueden asignarse varios valores al punto de reorden, como se indic antes,
simular para las diferentes combinaciones que pueden obtenerse con los valores asignados a Q y escoger
la mejor combinacin. Los valores que se asignen al punto de reorden deben estar comprendidos entre la
demanda mnima y mxima durante el tiempo de espera. Como el costo de escasez es generalmente
mucho mayor que el costo de mantenimiento del inventario, los valores que se asignen a R deben estar por
encima de la demanda media durante el tiempo de espera. Aun, el nmero de valores que se asignen al
punto de reorden podra no estar definido de antemano, sino que, al principio podra asignrsele al punto de
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 26

reorden el valor mximo, simular para los diferentes valores de Q, e ir disminuyendo el valor del punto de
reorden hasta llegar al punto de reorden de mnimo costo.

- Nivel de servicio. Mediante la determinacin de la distribucin de la demanda durante el tiempo de espera.

Si el tiempo de espera es constante, entonces mediante el uso de las convoluciones se podra determinar
analticamente la demanda durante el tiempo de espera. Por ejemplo, si el tiempo de espera para la entrega
de un pedido es 3 das, y la demanda diaria de ese artculo puede ser 0, 1 2, 3 con probabilidades de 0.15,
0.25, 0.40 y 0.20 respectivamente, la demanda durante el tiempo de espera estar comprendido entre 0 y 9
unidades y tiene la siguiente distribucin:

Demanda
durante L
Probabilidad

Probabilidad
Acumulada * 100

0 0.003375 0.3375
1 0.016875 2.0250
2 0.055125 7.5375
3 0.119125 19.4500
4 0.192000 38.6500
5 0.229500 61.6000
6 0.202000 81.8000
7 0.126000 94.40000
8 0.048000 99.20000
9 0.008000 100.0000


Analizando la funcin de distribucin (probabilidad acumulada) se observa que la demanda durante el tiempo
de espera ser 8 unidades o menos en el 99.2 por ciento de las veces; ser menor o igual a 7 unidades el 94.4
por ciento de las veces, ser menor o igual a 6 unidades el 81.8 por ciento de las veces.

La determinacin del punto de reorden puede realizarse entonces con base en un nivel de servicio. Se entiende
por nivel de servicio al porcentaje de veces que el sistema de inventarios puede satisfacer la demanda que
ocurra durante el tiempo de espera
1
. As un nivel de servicio del 95% quiere decir que el sistema satisface
completamente la demanda en el 95% de los casos. Si en el problema que estamos analizando deseamos un
nivel de servicio del 95% el punto de reorden debe ser igual a 7 unidades. Si el nivel de servicio fuera del
81.8% el punto de reorden debera ser de 6 unidades.

Para determinar el punto ptimo de reorden pueden definirse varios niveles de servicio, y con base en dichos
niveles se escogen los valores posibles del punto de reorden.

Sin embargo cuando el tiempo de espera es aleatorio la determinacin de la distribucin de la demanda durante
el tiempo de espera es ms complicada, ya que al calcular la probabilidad de que la demanda tome un valor
especfico es necesario considerar adems de la variacin en la demanda, la variacin en el tiempo de espera.
Por ejemplo, si el tiempo de espera puede ser 1, 2, 3, 4 das y la demanda diaria puede ser 0, 1, 2 3
unidades y si se quiere calcular la probabilidad de que la demanda durante el tiempo de espera sea 3 unidades
es necesario considerar: a) que el tiempo de espera puede ser 1, 2, 3 4 das; b) que para cada uno de esos
tiempos hay muchas formas en que la demanda puede ser 3 unidades. (Hay 35 maneras diferentes en que la
demanda durante el tiempo de espera puede ser 3 unidades).

La distribucin de la demanda durante el tiempo de espera puede determinarse ms fcilmente mediante la
simulacin. El procedimiento para su determinacin es el siguiente:

- Simular (generar) el tiempo de espera.
- Simular la demanda que tiene lugar durante el tiempo de espera.
- Repetir varias veces el procedimiento anterior, tabulando los resultados para determinar la distribucin
emprica de la demanda durante el tiempo de espera y con base en esta distribucin fijar los puntos de
reorden para varios niveles de servicio.

A continuacin se muestra la distribucin del tiempo de espera y de la demanda diaria.


1
Otra definicin del nivel de servicio est relacionada con el porcentaje de la demanda que el sistema es
capaz de satisfacer a tiempo. Por ejemplo, si la demanda media es 10 unidades, y el sistema entrega a tiempo,
en promedio 9 unidades, entonces el nivel de servicio sera del 90%. Sin embargo, usaremos como nivel de
servicio la definicin dada previamente, relacionada con el porcentaje de veces que se satisface la demanda.
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 27

Tiempo de espera (L)

Probabilidad P (L) Demanda diaria (X) Probabilidad P (X)
1 0.10 0 0.15
2 0.20 1 0.25
3 0.40 2 0.40
4 0.30 3 0.20

La demanda durante el tiempo de espera est comprendida entre 0 y 12 unidades y la determinacin analtica
de su distribucin es bastante complicada. Los resultados de simular 1.000 tiempos de espera se dan a
continuacin.

Demanda


Frecuencia


Probabilidad


Probabilidad
Acumulada * 100
0 19 0.019 1.9
1 58 0.058 7.7
2 86 0.086 16.3
3 150 0.150 31.3
4 149 0.149 46.2
5 159 0.159 62.1
6 138 0.138 75.9
7 110 0.110 86.9
8 74 0.074 94.3
9 33 0.033 97.6
10 17 0.017 99.3
11 6 0.006 99.9
12 1 0.001 100.0

Con base en la distribucin de la demanda durante el tiempo de espera pueden definirse los niveles de servicio;
as, se desea un nivel de servicio del 97.6 por ciento, el punto de reorden debe ser de 9 unidades; para un nivel
de servicio del 95 por ciento el punto de reorden debe ser de 8 unidades y para un nivel de servicio del 90 por
ciento el punto de reorden debe ser 7 unidades.

c) Perodo de revisin T

Si cada T unidades de tiempo se coloca una orden para reabastecer el inventario y si la demanda ocurre a una
tasa constante de unidades por unidad de tiempo, el tamao de la orden que se coloque estar dado por:
Q = T T = Q/

Como punto inicial para el perodo de revisin puede usarse el valor que se encuentra cuando se asume
demanda determinstica a una tasa media , y que est dado por:
C i
A A
C
T
m

2 2
*
= =

Para el ejemplo que hemos estado analizando, este valor sera igual a
das
x
x A
C
T
m
35
72 . 9 00333 . 0
20 2 2
*
= = =



d) Nivel mximo del inventario S

El nivel al cual se eleva el inventario debe ser suficiente para satisfacer de la demanda que ocurra durante el
perodo de revisin ms el tiempo de espera. Es decir:

S = demanda durante (T + L)

o sea que el nivel mximo es funcin no slo del perodo de revisin (que es otra variable de decisin) sino
tambin del tiempo de espera (que puede ser aleatorio).

Para un T dado, el nivel mximo al cual se debe elevar el inventario debe ser menor o igual que la demanda
mxima durante T + L. Es decir:
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 28


S ) (
L D
max max
T S + = s
La tabla siguiente presenta los resultados de la simulacin del siguiente problema para varios valores de la
cantidad a pedir (Q) y del punto de reorden.
La demanda diaria de un artculo en un sistema de produccin se muestra a continuacin. El costo de
mantener una unidad en inventario es de $ 0.10 por unidad/da. Si el sistema se queda sin existencias se
incurre en un costo de $ 5 por unidad/da. Cada orden de produccin que se coloque tiene un costo de $ 2.000
ms el costo de los artculos que se estima en $ 150 la unidad. Sin embargo, la orden de produccin no se
puede empezar inmediatamente, sino que hay que esperar unos das antes de que se haga efectiva. A
continuacin se muestra la distribucin del nmero de das que demora en ser ejecutada la orden de
produccin. Se desea determinar el punto de reorden (R) y la cantidad que debe ordenarse (Q) de tal forma
que se minimice el costo total del sistema.

DEMANDA DIARIA

PROBABILIDAD TIEMPO DE ESPERA
(DAS)
PROBABILIDAD
10 0.200
15 0.100 1 0.05
20 0.070 2 0.18
25 0.098 3 0.26
30 0.170 4 0.33
35 0.156 5 0.08
40 0.090 6 0.10
45 0.074
50 0.042

La tabla siguiente presente los resultados de simular varias polticas. Como se observa, para varias polticas los
costos por unidad de tiempo son bastante cercanos. Para cada poltica se simularon 1000 das, 3 aos).

Optimizacin en sistemas de inventarios. Sistema Q

Punto de
Reorden
Conceptos Tamao del Lote Q
900 1000 1100
70 Nivel de servicio 97.0 96.4
Costo de Mantenimiento 41,941 46,815
Costo de escasez 5,150 6,875
Costo de Pedido 60,000 54,000
Costo de compra 4,050,000 4,050,000
Costo unitario 4,157.1 4,157.7
80 Nivel de servicio 97.8 97.0 96.6
Costo de Mantenimiento 42,898 47,780 51,648
Costo de escasez 3,475 5,150 7,500
Costo de Pedido 60,000 54,000 50,000
Costo de compra 4,050,000 4,050,000 4,125,000
Costo unitario 4,156.4 4,156.9 4,234.1
100 Nivel de servicio 98.8 98.7 97.9
Costo de Mantenimiento 44,756 50,303 53,896
Costo de escasez 1,900 1,275 4,425
Costo de Pedido 60,000 54,000 50,000
Costo de compra 4,050,000 4,050,000 4,125,000
Costo unitario 4,156.7 4,155.6 4,233.3
120 Nivel de servicio 99.4 99.3
Costo de Mantenimiento 46,895 51,989
Costo de escasez 875 575
Costo de Pedido 60,000 54,000
Costo de compra 4,050,000 4,050,000
Costo unitario 4,157.8 4,156.6
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 29


Simulacin de Sistemas de Inventarios. Procedimiento general 7- 30

8 Problemas

8.1 La demanda de un artculo sigue una distribucin de Poisson con una media de 100 unidades por ao. El
costo de colocar una orden es de $ 1.000, el costo de mantener una unidad en inventario es $ 200 por
ao y el costo de escasez es de $6 000 por unidad y por ao. El tiempo de espera es 0.08 aos.
Determine el costo de operacin cuando se ordenan lotes de 34 unidades, de acuerdo con un punto de
reorden de 8. (simule 10 aos de operacin del sistema).

8.2 En el problema anterior, determine la poltica ptima.

8.3 Simule el problema 8.1 cuando se tienen las siguientes distribuciones para el tiempo de espera:

a) Tiempo exponencial con = 12.5
b) Tiempo gama con = 25, n = 2
c) Tiempo gama con = 125, n = 10

Simule cada situacin durante 50 aos. Cul situacin da un costo ms cercano al costo del sistema que
tiene un tiempo de espera de 0.08 aos?

8.4 Considere el siguiente sistema de inventarios: El costo de colocar una orden es de $ 100, el costo de
mantener una unidad en inventario es $ 20 por ao y el costo de escasez es de $ 60 por unidad por ao.
El tiempo que transcurre entre la colocacin de una orden y la llegada de la misma es de 0.08 aos.
Determine el costo medio de operacin por ao, para el caso en que se coloca una orden por 34
unidades cuando el inventario llegue a 8 unidades, y se tienen las siguientes condiciones:

a) La demanda es Poisson con una media de 50 demandas por ao. En cada demanda se piden 2
unidades.
b) La demanda es Poisson con una media de 25 demandas por ao y en cada demanda se piden 4
unidades.
c) La demanda es Poisson con una media de 50 demandas por ao y en cada demanda el nmero
de unidades pedidas se distribuye geomtricamente con p = 0.5
d) Igual que c) con una media de 25 demandas por ao y p = 0.25

Simule 50 aos de operacin del sistema.
8.5 En el problema anterior, determine la poltica ptima para cada una de las condiciones dadas.

8.6 Se desea simular un sistema de revisin peridica con ventas perdidas para varias condiciones de la
demanda. El tiempo de espera es 0.1 aos, y en cada demanda se pide slo una unidad. Cada revisin
cuesta $ 600 y cada orden colocada cuesta $1 000. Cada venta perdida cuesta $ 100 y el mantener una
unidad en inventario cuesta $ 200 por ao. El perodo entre revisiones sucesivas es 0.3 aos y el
nmero de unidades en cada orden es la cantidad suficiente para llevar el inventario a 42. Se desea
determinar el costo medio por ao para las siguientes condiciones de demanda:

a) El tiempo entre demandas sucesivas es constante e igual a 0.005
b) El tiempo entre demandas sucesivas es exponencial con = 200
c) El tiempo entre demandas sucesivas es gama con = 1.000, n = 5
d) El tiempo entre demandas sucesivas es gama con = 3.000, n = 15

Explique el efecto de la variacin en la demanda sobre el costo.

8.7 Simule el problema 8.1 con la siguiente modificacin: En vez de revisar el inventario cada que ocurre una
demanda, se lo revisa cada 0.01 aos. Si en cada revisin, el inventario est en 8 o por debajo de 8, se
coloca una orden por 34 unidades. El costo de efectuar la revisin es cero. Simule este sistema por un
perodo de 50 aos y compare el costo anual con el costo anual del problema 53.

8.8 La demanda por aparatos de televisin se estima en 300 unidades para el prximo ao. Cada vez que se
coloca una orden se incurre en un costo de $ 2.400. El costo de mantener un artculo en existencia es
de $ 400 por ao. Si no hay existencias cuando se solicita un artculo, la venta se pierde a un costo de
$ 560 por artculo. El tiempo de espera es 0.0083 aos. Determine el costo promedio por ao cuando
se tiene Q = 61, R = 4

8.9 En el problema anterior, determine el sistema Q de mnimo costo, si el tiempo de espera es una variable
aleatoria normal con una media de 0.0083 aos y una desviacin de 0.002 aos.
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 31


8.10 En el problema 8.1 suponga que el espacio est limitado a 36 unidades. Cada vez el inventario fsico
excede de 36 unidades, se incurre en un costo de $ 5 por cada unidad que haya en inventario por encima
de 36. Usando un punto de reorden de 8 unidades y un tamao de lote de 34 unidades, determine el
costo anual de operacin.

8.11 Simule el sistema descrito en el problema anterior cuando cada unidad que est en inventario por encima
de 36 es almacenada a un costo de $40 por unidad-ao, ms un costo de manejo de $ 2 por unidad. Qu
mtodo de manejo es preferible: El del problema anterior o el del presente problema?.

8.12 Considere el problema No. 8.1, suponga que se ofrece el siguiente programa de descuentos:

Programa Costo Unitario
Q s 35 $ 80.00
36 s Q s 105 $ 75.00
106 s Q s 245 $ 73.00
Q > 246 $ 70.00

Para un punto de reorden de 8 unidades, determine cul de las siguientes polticas es la de menor costo:

a) Q = 35?
b) Q = 36?
c) Q = 105?
d) Q = 246

8.13 En el problema anterior suponga que las primeras 35 unidades cuestan a $ 80 cada una; de la unidad 36
a la unidad 105 el costo unitario es $ 75; de la unidad 106 a la unidad 245 el costo unitario es $ 73.
Todas las unidades por encima de 246 cuestan a $ 70 cada una.

8.14 La siguiente es la distribucin de la demanda de neveras en un almacn:

Enero 0 julio 70
Febrero 1 Agosto 85
Marzo 2 Septiembre 50
Abril 10 Octubre 3
Mayo 25 Noviembre 4
Junio 40 Diciembre 2

Se espera que la demanda mensual de Mayo a Septiembre aumente a una tasa de un 10 por ciento anual para
los prximos cinco aos. No se espera que la demanda durante los otros meses cambie. El tiempo de espera
es de 2 semanas. La poltica actual consisten en colocar una orden por 25 neveras cuando el inventario est
en 6 o menos unidades. El costo de mantener una nevera almacenada es de $900 por unidad - ao. Cuando
se pide una nevera y no hay existencias, la venta se pierde a un costo de $ 3.000 por unidad. El costo de
colocar una orden es de $ 250.

a) Simule 5 aos del sistema y determine qu tan adecuada es esta poltica.
b) Desarrolle polticas separadas para el tiempo en que hay ms demanda, y para el tiempo en que haya
menor demanda, de tal forma que el costo de operacin se reduzca.

8.15 Cinco artculos de un sistema de se obtienen de la misma fuente. La demanda para el artculo A es
independiente de la demanda para el B; pero ambos tienen la distribucin de la demanda que se mostrar
a continuacin. As mismo, la demanda para los artculos C, D y E es independiente; pero los tres tienen
la distribucin de la demanda que se muestra a continuacin (se trata de una distribucin de Poisson, con
una media de 3).

La distribucin del tiempo de espera es idntica para los cinco artculos, ya que se obtienen de una sola fuente
y es igual a la que se muestra a continuacin. La demanda que no puede satisfacerse se pierde. Se estn
considerando dos mtodos diferentes de abastecimiento del inventario.

Demanda A, B Demanda C, D, E
Unidades Probabilidad Unidades Probabilidad
0 0.135 0 0.050
1 0.271 1 0.149
2 0.271 2 0.224
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 32

3 0.180 3 0.224
4 0.090 4 0.168
5 0.036 5 0.101
6 0.012 6 0.050
7 0.004 7 0.022
8 0.001 8 0.008
9 0.003 9 0.003
10 10 0.001

Tiempo de espera (das) Probabilidad
2 0.30
3 0.40
4 0.30



Mtodo 1: Se piden los artculos por separado, cuando el inventario de cada uno de ellos llega al punto de
pedido. Para los artculos A y B, el punto de pedido es de 10 unidades para cada uno y la cantidad de
la orden es de 20 unidades. Para los artculos C, D y E, el punto de pedido para cada uno de ellos es de
15, y la cantidad a ordenar es de 30 unidades.

Mtodo 2: Siempre que cualquiera de los 5 artculos alcance su punto de pedido, hgase inmediatamente un
pedido para los 5 artculos. En este caso, la cantidad de pedido para cada artculo es la diferencia entre
el nivel de inventario y la cantidad objetivo. Para los artculos A y B la cantidad objetivo es de 30, y para
los artculo C, D, y E dicha cantidad es de 45.

e) Simule el sistema para 250 das de funcionamiento para cada mtodo. Comprense los mtodos
de acuerdo con estos criterios:

i. Nmero de pedidos
ii. Inventario promedio de cada artculo
iii. Unidades de demanda perdida para cada artculo

f) Qu informacin de costos se necesitar para evaluar ambos mtodos?







Xxxxxxxxxxxx

d) Costos.

La informacin de costos es la siguiente:

- Costos de mantenimiento: CMt = CMt + CM. It A t
- Costos de Escasez: CEt = CEt + CE. Et At, cuando la demanda se compromete.
- CEt = CEt + CE. VPt , si la demanda no satisfecha se pierde.
- Costos de adqusicin: CAt = CAt + A + CQ



Toda la informacin anterior se recoger de la siguiente manera:

a) Observaciones puntuales - Subrutina U555X (X, N)

Esta subrutina recoger la siguiente informacin:

N = 1 Nmero de unidades requeridas en cada demanda.
N = 2 Parte de la demanda que se satisface inmediatamente.
N = 3 Nmero de unidades que no son satisfechas inmediatamente y que tienen que esperar o que se
pierden, segn el sistema.
N = 4 Tiempo medio de espera
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 33


b. Variables de estado. Subrutina U555T (NX, DT, N)

Recoger la siguiente informacin:

N = 1 Inventario fsico durante el tiempo DT.
N = 2 Inventario fsico y en rdenes.

Cuando la demanda que no se satisface inmediatamente se puede satisfacer despus, esta informacin se
guardar en la posicin N = 3. Si la demanda se pierde, esta informacin no se recoger. Por lo tanto
se usar la variable KS para indicar qu sistema se est simulando as:

KS = 1 Si la demanda no satisfecha se compromete.
KS = 2 Si la demanda no satisfecha se pierde.

Si KS =- 1 entonare NESTT = 3; Si KS = 2 entonces NESTT = 2

c) Subrutina U55NU (NX0, ND, N, NX, DT)

Recoger informacin en la misma forma que la subrutina U555T, con un lmite inferior NXO (generalmente
NXO = O) y con un intervalo de tamao ND.

La figura 7.15, en el anexo de este captulo, presenta un listado completo de las anteriores subrutinas. Es de
observar que la mayora de las variables que se usan en diferentes subrutinas aparecen en instruccin
COMMON. Esta instruccin COMMON debe ir despus de la instruccin Common que define los arreglos
en que se recogen estadsticas.
Simulacin de Sistemas de Inventarios. Procedimiento general 7- 34

SIMULACION DE SISTEMAS DE INVENTARIOS

Lista de Eventos Futuros MEF
Los eventos que pueden ocurrir en una simulacin tiene tres atributos bsicos, a saber:
- Tiempo de ocurrencia del evento.
- Tipo de evento
- Entidad que causa el evento. Para este caso corresponde a la cantidad asociada con el evento.
Para llevar la informacin sobre los eventos futuros, se usar un arreglo denominado Matriz de Eventos
Futuros - MEF, que ser un arreglo en dos dimensiones, con la siguiente estructura:

Fila No TIEMPO CANTIDAD TIPO
1 Tiempo de Simulacin No hay Fin tipo 1
2 Tiempo Prxima Demanda Demanda Demanda tipo 2
3 Tiempo prxima revisin Nivel mximo S Revisin inv tipo 3
4 Tiempo de llegada Tamao del lote Q Llegada lote tipo 4
5 Tiempo de llegada Tamao del lote Q Llegada lote tipo 4

N Tiempo de llegada Tamao del lote Q Llegada lote tipo 4
- MEF(I,1) = representa el tiempo de ocurrencia del evento.
- MEF(I,2) = representa la cantidad asociada con el evento (demanda, nivel mximo, lote).
- MEF(I,3) = representa el tipo de evento, segn la siguiente convencin:
= 1 si el evento es el fin de la simulacin
= 2 si el evento es una demanda.
= 3 si el evento es la revisin del inventario (solamente se da si se simula el sistema T).
= 4 si el evento es la llegada de un lote para reabastecer el inventario.
Algunas variables:
It = Inventario fsico
IOt = Inventario fsico y en rdenes
Et = Demanda comprometida

9 PROCEDIMIENTO GENERAL
(1) Creacin imagen del sistema
* Definicin de parmetros bsicos:
Tiempo de simulacin, semillas, costos, Tipo_Sistema, Tipo_escasez, inventario
inicial
Parmetros de distribuciones de:
Tiempos entre demandas (llegada clientes)
Cantidad demandada
Tiempo de espera
Si Tipo_Sistema = Sistema Q,
Leer Tamao Lote, Punto Reorden (Q,R)
Si no
Leer Nivel Mximo, Perodo Revisin (S,T)
Fin Si
Invocar Rutina de Inicializacin
(2) Algoritmo de simulacin
Prximo Evento: Demanda (Llegada Cliente)
Mientras Prximo Evento = Fin Simulacin
Invocar Rutina de Prximo Evento
Si Prximo Evento = Demanda
Invocar Rutina de Demanda
Si no
Si Prximo Evento = Revisin
Invocar Rutina de Revisin
Si no
Si prximo Evento = Llegada Lote
Invocar Rutina Llegada Lote
Fin si
Fin si
Fin si
Fin Mientras
(3) Invocar rutina generacin reportes
Si hay mas experimentos de simulacin,
Establecer condiciones de nueva simulacin
Volver a inicializar el sistema
Fin si
10 Fin de la simulacin

RUTINA DE INICIALIZACION
Reloj = 0
* Inicializacin del estado del sistema
Inventario = Inventario Inicial (It = II)
Inv Fsico y en Ordenes = Inventario Inicial (IOt = II)
* Inicializacin lista de eventos
* Evento tipo 1: Fin de Simulacin.
MEF(1,1) = Tiempo Simulacin
MEF(1,2) = 1
* Evento tipo 2: Demanda (Llegada cliente) Generar Demanda = generar_demanda
Tpo entre dem = generar Tiempo entre Demandas
MEF(2,1) = Reloj + Tiempo entre demandas
MEF(2,2) = 2
MEF(2,3) = Demanda
Nmero de Eventos = 2
* Eventos tipo 3: Revisin, en el sistema T
B. Caldern. Introduccin a la Simulacin. Cap 7. Simulacin de Sistemas de Inventarios 7 - 36
Si Tipo Sistema = Sistema T
MEF(3,1) = Reloj + Tiempo Revisin
MEF(3,2) = 2
MEF(3,3) = S
Nmero de Eventos = 3
Fin si
* Inicializacin contadores para estadsticas
Nmero Clientes (demandas)= 0
Demandas atendidas = 0
Suma _It = 0 (tipo Ent At )
Suma_Et = 0 (tipo Ent At)
Venta Perdida = 0
Nro pedidos = 0
Artculos pedidos = 0
Fin rutina de inicializacin
RUTINA DE PROXIMO EVENTO
* Bsqueda de Prximo Evento
Min = 1
Para fila = 2 hasta Nmero de eventos
Si (MEF(fila,1) s MEF(min,1)
Min = fila
Fin si
Siguiente
Tiempo Prximo Evento: TPE = MEF(min,1)
At = TPE - RELOJ
* Actualizacin contadores variables de estado
Suma _It+ = It * At
Suma_Et+ = It * At
RELOJ = TPE
Fin rutina de prximo evento

RUTINA DE LLEGADA DE DEMANDA
* Evento tipo 2: Demanda (Llegada cliente)
Demanda_actual = MEF(min,2)
* Actualizar Evento Primario: Nueva demanda
Generar Tiempo de Prxima demanda (TD)
Generar prxima cantidad pedida (D)
MEF(2,1) = Reloj + Tiempo entre demandas
MEF(2,3) = D
Nmero de Clientes (demandas)+ = 1
Si Demanda_actual s I_t ,
Demandas atendidas+ = 1
It = It - demanda actual.
IOt = IOt - demanda actual
Si no
Demanda satisfecha = It
Demanda insatisfecha=Demanda actualIt
It = 0
Si Tipo_escasez=Demanda comprometida,
Et = Et +demanda insatisfecha
IOt = IOT Demanda actual
Si no
Venta perdida+=demanda insatisfech
IOt = IOT Demanda satisfecha
Fin si
Fin si
* Revisin del inventario (Sistema Q)
Si Tipo Sistema = Punto de Reorden,
Si IOT s Punto de Reorden,
Nmero de pedidos+ = 1
B. Caldern. Introduccin a la Simulacin. Cap 7. Simulacin de Sistemas de Inventarios 7 - 37
Artculos pedidos+ = Q
IOt+ = Q.
Generar Tiempo de espera (L)
Nmero de eventos+ = 1
MEF(nmero de eventos,1) = Reloj + Tiempo de espera
MEF(nmero de eventos,2) = 4
MEF(nmero de eventos,3) = Q
Fin si
Fin
Fin rutina demanda
RUTINA DE REVISION
* Actualizar Evento Primario: Programar nueva revisin
MEF(min,1) = Reloj + Tiempo de revisin (T)
Q = S IOT
Nro pedidos+ = 1
Artculos pedidos+ = Q
IOt+ = Q.
Generar Tiempo de espera (L)
Nmero de eventos+ = 1
MEF(nmero eventos,1) = Reloj + Tpo espera
MEF(nmero eventos,2) = 4
MEF(nmero eventos,3) = Q
Fin rutina llegada de cliente
RUTINA DE LLEGADA DE LOTE
Q = MEF(min,3)
Si Et s Q,
It = It + Q - Et
Et = 0.
Si no
Et = Et - Q
Fin si
Si min < Nmero de eventos
MEF(min,1) = MEF(nmero de eventos,1)
MEF(min,2) = MEF(nmero de eventos,2)
MEF(min,3) = MEF(nmero de eventos,3)
Fin si
Nmero de eventos- = 1
Fin rutina llegada de lote
RUTINA GENERACION REPORTE DE SALIDA
* Clculo de:
Inv_medio = Suma_It/Reloj
Escasez_media = Suma_Et/Reloj
Nivel Servicio = (Nmero de demandas Demandas atendidas)/ Nmero
demandas
Q_medio = Artculos pedidos/Nmero pedidos
Costo_Inv = Inv_medio * Costo_manto
Costo Pedido = Nro pedidos * Costo_pedido/Reloj
Costo_artculos =Artculos pedidos*costo_unidad/Reloj
Si Tipo_escasez =Demanda comprometida,
Costo_Esc = Suma_Et * Costo_deficit
Si no
Costo_Esc = Venta perdida * Costo_deficit/Reloj
B. Caldern. Introduccin a la Simulacin. Cap 7. Simulacin de Sistemas de Inventarios 7 - 38
Fin si
Costo = Costo Pedido + Costo artculos + Costo_Inv + Costo_Esc
Imprimir: Estadsticas
Fin rutina de generacin de reporte

8 ANLISIS DE UNA SIMULACION

1 Introduccin

El analista debe ser capaz no slo de disear, programar y correr el programa de simulacin, sino tambin de
analizar e interpretar los resultados para la toma de decisiones, y medir la significancia de estos resultados.
Los valores medidos no son ms que una muestra y deben usarse para estimar los parmetros de la
distribucin de la cual son extrados.

Un estudio de simulacin se planea usualmente como una serie de corridas orientadas a comparar varias
alternativas cuyos resultados deben analizarse estadsticamente. Los problemas estadsticos asociados con
un estudio de simulacin han sido clasificados por Conway en dos clases:

a. Problemas estratgicos relacionados con el diseo de un conjunto de experimentos.
b. Problemas tcticos relacionados con la especificacin de cmo se va a realizar cada experimento.

La planeacin estratgica debe determinar las medidas por las cuales se ha de juzgar el sistema y cmo se
va a medir la significancia de las diferencias de estas medidas. La planeacin tctica debe decidir cmo se
van a tomar las medidas de cada corrida y cuntas corridas se deben hacer para cada simulacin. Los
problemas estratgicos se analizarn posteriormente. Los problemas tcticos sern analizados primero.
Pero antes de su anlisis se estudiarn unas definiciones que son necesarias para clarificar conceptos.

2 Definiciones

Una "corrida" de simulacin es un registro ininterrumpido del desempeo de un sistema bajo una
combinacin especificada de variables controlables.

Un "replicado" de una corrida es un registro del desempeo del sistema bajo la misma combinacin de
variables controlables, pero con diferentes variaciones aleatorias (es decir, empleando diferentes semillas
para generar los nmeros aleatorios).

Una "observacin" de un sistema simulado es un segmento de una corrida, suficiente para estimar el valor
de cada una de las medidas del desempeo. Por lo tanto una observacin puede extenderse durante un
perodo considerable de tiempo simulado.

Se dice que un sistema ha alcanzado las condiciones estables o ha llegado a un rgimen permanente
cuando las observaciones sucesivas del desempeo del sistema son estadsticamente independientes.
Estado estable o rgimen permanente significa que es posible definir una nueva observacin tal que no
ofrezca ninguna informacin adicional acerca del comportamiento futuro del sistema.

La definicin matemtica estricta del estado estable requiere que el comportamiento del sistema sea
estacionario, esto es, la distribucin de probabilidad g (t) que describe el comportamiento en t debe ser
idntica a la distribucin g (t + d), para todo d > O. Este criterio matemtico es demasiado estricto para los
fines de la simulacin ya que excluye todos los sistemas que tengan un comportamiento cclico perfectamente
predecible. La definicin dada inicialmente no excluye el comportamiento cclico. Como una observacin es
definida como un segmento de una corrida en vez de un instante en la corrida, podemos tratar cada ciclo
como una observacin. Entonces si cada observacin es estadsticamente idntica, se puede definir cundo
el sistema est en el rgimen permanente.

Se dice que un sistema cuyo comportamiento no satisface las condiciones del rgimen permanente est en un
estado "transitorio". Los modelos pueden exhibir propiedades transitorias por una de dos razones:

1. Si las condiciones iniciales usadas para inicializar el sistema no son tpicas de las condiciones operativas,
pero se espera que eventualmente el sistema exhiba las condiciones del estado estable, entonces hay un
perodo transitorio hasta que los efectos de las condiciones iniciales desaparezcan o se vuelvan
insignificantes. Un buen diseo experimental debe asegurar que los resultados durante tal fase de
transicin sean insignificantes o no sean tenidos en cuenta en el anlisis.

2. Puede ocurrir un fenmeno transitorio en la situacin que se est simulando.
B. Caldern. Introduccin a la Simulacin. Cap 8. Anlisis de una Simulacin. 8 - 2
Para algunos sistemas no existen, o no se espera que existan las condiciones del rgimen permanente. Por
ejemplo, el producto nacional bruto de un pas, si ese es el resultado que se est simulando. En estos casos
la fase transitoria es la de inters.

3 Mtodos para remover estados indeseables. Condiciones iniciales

En muchos estudios de simulacin se est interesado en investigar sistemas que operan continuamente en
condiciones del estado estable. Desafortunadamente un modelo de simulacin no puede operar siempre de
este modo, ya que debe empezarse y terminarse en algn instante. Existirn siempre, en general, estados
transitorios porque el analista ha empezado la corrida de la simulacin con valores o en estados que no son
tpicos del sistema. A causa de la artificialidad introducida por el comienzo repentino de la operacin del
sistema, el desempeo del sistema simulado no es representativo del correspondiente sistema real hasta tanto
no haya alcanzado una condicin o rgimen estable. Por consiguiente, los datos obtenidos durante el perodo
inicial de operacin deberan excluirse del anlisis. Por lo tanto, el analista debe seleccionar unas condiciones
iniciales de tal forma que se empiece la simulacin del sistema en un estado que sea lo ms representativo
posible de las condiciones que se encuentran en el estado estable (rgimen permanente) con el fin de
minimizar la longitud del perodo transitorio. Posteriormente el analista debe decidir cmo eliminar el efecto
del perodo transitorio que ocurre de tal forma que el desempeo del simulador sea juzgado nicamente en su
comportamiento normal.

Hay dos enfoques que pueden usarse para reducir el efecto de las condiciones iniciales: Puede empezarse el
sistema en un estado ms representativo o puede ignorarse la primera parte de cada simulacin.

3.1 Condiciones iniciales representativas

En algunos estudios de simulacin, principalmente de sistemas existentes, puede existir alguna informacin
disponible acerca de las condiciones esperadas, lo cual hace posible seleccionar mejores condiciones
iniciales, que simplemente empezar con el sistema vaco, libre de actividad. Este mtodo reduce el perodo
transitorio pero puede viciar (sesgar) los resultados a conclusiones preconcebidas si se recogen datos antes
de eliminar los efectos transitorios.

Adems, debera darse un rango para las condiciones iniciales, del cual se escogeran las diferentes
condiciones iniciales para cada replicado. El usar las mismas condiciones iniciales para cada replicado puede
reducir el sesgo removiendo condiciones iniciales poco usuales, pero puede dejar algn grado de correlacin
entre las corridas.

Este enfoque supone que se conoce mucho acerca del comportamiento del sistema antes de que se empiece
la simulacin. Sin embargo, s hay casos en los que puede usarse este enfoque, principalmente cuando se
simula un sistema existente para estudiar aspectos desconocidos de su comportamiento.

Una complicacin adicional resulta cuando se van a efectuar dos o ms corridas bajo diferentes condiciones.
Presumiblemente las dos corridas, A y B por ejemplo, conducirn a diferentes condiciones de operacin. Si
se han de usar estimativos a priori del estado estable para inicializar las corridas, deberan A y B empezarse
en los niveles que se espera logre cada uno en el rgimen permanente? Para evitar viciar los resultados, se
recomienda que ambas corridas empiecen en las mismas condiciones iniciales, en una condicin que
represente el promedio de las dos condiciones iniciales. (Conway, 1963; Emshoff y Sisson, 1970).

3.2 Condiciones iniciales = Sistema Vaco

El enfoque ms comn consiste en empezar la simulacin con el sistema vaco, en estado de inactividad, esto
es, asumir que el sistema est libre de actividad y correr la simulacin hasta que los efectos transitorios sean
insignificantes. Es fcil empezar el simulador bajo estas condiciones pero es muy costoso en cuanto a tiempo
de computador.

En este mtodo la corrida de la simulacin se empieza con el sistema vaco pero se detiene una vez haya
transcurrido el perodo transitorio. Las entidades existentes en el sistema al final de este perodo se dejan
como estn. En seguida se empieza de nuevo la corrida y se recogen estadsticas a partir del reinicio de la
simulacin. Durante el perodo transitorio no se recogen estadsticas de ninguna clase, es decir, las
estadsticas recogidas durante este perodo no se tienen en cuenta para el anlisis. Como asunto prctico, es
usual programar la simulacin de tal forma que se recojan estadsticas desde el principio de la simulacin,
B. Caldern. Introduccin a la Simulacin. Cap 8. Anlisis de una Simulacin. 8 - 3
correr la simulacin hasta que se alcancen las condiciones del rgimen permanente, limpiar (borrar) todas las
estadsticas que se hayan recogido hasta el momento, pero dejando intacto el estado del sistema simulado y
continuar la corrida de la simulacin (con recoleccin de estadsticas). Las condiciones al final del perodo
transitorio se convierten en los estimativos a priori de las condiciones de rgimen permanente y se usan para
empezar una nueva corrida. Este mtodo es mucho ms fcil de programar que el mtodo alternativo,
insertar las condiciones iniciales del rgimen permanente en el modelo.

Es difcil estimar qu tan largo debe ser el perodo de transicin para alcanzar las condiciones del rgimen
permanente. Es decir, no existen reglas simples que se puedan dar para decidir qu tan largo debe ser el
perodo que debe eliminarse. Usualmente se requiere realizar un nmero preliminar de corridas piloto,
empezando con el sistema vaco, para juzgar cunto tiempo dura el sesgo inicial. Esto puede realizarse
graficando la estadstica medida contra la longitud de la corrida, como lo indica la figura siguiente.

Es altamente deseable que la investigacin piloto se realice repitiendo varias corridas. Aunque se requiera un
poco ms de clculo, la presencia del sesgo inicial puede examinarse estudiando el comportamiento de la
desviacin estndar. Si el efecto inicial ha desaparecido, puede esperarse que la desviacin estndar sea
inversamente proporcional a n, siendo n el nmero de eventos simulados. Examinando grficamente la
forma en que la desviacin estndar cambia con la longitud de la corrida es posible ver si la relacin se
cumple.


Medida


del


Desempeo


Figura No 9.1 Tiempo de Simulacin

Si se grafica el logaritmo de la desviacin estndar contra el logaritmo de n, debe obtenerse una lnea recta
con pendiente negativa, si se cumple la relacin. (Gordon, 1969).

Otra forma de decidir cuando se ha alcanzado el rgimen permanente consiste en examinar una secuencia de
observaciones de la corrida de la simulacin. Si el nmero de observaciones en que el resultado es mayor
que el resultado promedio es aproximadamente igual al nmero de observaciones que son menores, entonces
es probable que existan ya las condiciones del rgimen permanente.

Otro mtodo consiste en calcular un promedio mvil de los resultados y suponer que existen las condiciones
para el rgimen permanente cuando el promedio no cambie significativamente con el tiempo.

Hay sistemas en los cuales no se necesitan las condiciones iniciales, por ejemplo en el problema del vendedor
de peridicos, o en los cuales las condiciones iniciales son completamente conocidas, por ejemplo, en un
problema de inventarios en el cual slo se necesita conocer el inventario inicial para empezar la simulacin, el
cual puede estar por el nivel real de inventarios del sistema estudiado.

4 Uso de modelos de simulacin para estudiar fenmenos transitorios

Algunos modelos de simulacin se desarrollan especficamente para estudiar las caractersticas transitorias
del sistema, en vez de las caractersticas del rgimen permanente. Existen dos razones para analizar la fase
transitoria de un modelo de simulacin:

1. Las condiciones del rgimen permanente pueden no existir. Tal es el caso cuando se estudia un proceso
que cambia constantemente.
2. Podemos estar interesados en estudiar los problemas asociados con el perodo de transicin o de
iniciacin de un proceso. (Perodo de calentamiento). Este sera el caso en que estemos simulando, por
ejemplo, en la operacin de una planta el efecto inicial de cambios importantes en una planta existente.

B. Caldern. Introduccin a la Simulacin. Cap 8. Anlisis de una Simulacin. 8 - 4
En la segunda situacin, el modelo de simulacin alcanza el rgimen permanente. El rgimen permanente
puede aun predecirse usando modelos analticos. Pero es poco probable que los modelos analticos puedan
usarse para predecir las condiciones en el rgimen transitorio. Tal es el caso de las teoras actuales sobre los
fenmenos de espera o la teora de inventarios. Pero existe un efecto transitorio muy conocido en la
implantacin de un nuevo sistema de inventarios. Los inventarios se elevan inicialmente y luego se estabilizan
en los niveles deseados. Esto ocurre porque aquellos materiales que eran llevados a un nivel muy bajo son
ordenados inmediatamente al nivel deseado, mientras que aquellos que estn a niveles muy elevados slo se
reducen gradualmente a medida que se los va necesitando. Es muy difcil predecir analticamente cul es el
nivel mximo que puede alcanzar el inventario en el perodo de transicin, pero puede hacerse fcilmente
mediante la simulacin.

El resultado de la simulacin que puede ser importante para el anlisis del perodo transitorio puede ser
diferente del deseado para el anlisis de las condiciones que se presentan en el rgimen permanente. En el
estudio del rgimen permanente generalmente estamos interesados en promedios u ocurrencias tpicas del
sistema. En el anlisis del estado transitorio podemos estar interesados en condiciones excepcionales o
extremas que puedan existir durante el perodo de instalacin o implementacin de una nueva poltica. Por
ejemplo, podemos estar interesados en el nmero mximo de meses requeridos para implantar el sistema, la
probabilidad de exceder un nivel de seguridad en la instalacin de una nueva planta o la probabilidad de
fracasar en una nueva empresa.

Al estudiar el rgimen permanente puede obtenerse una muestra mayor ms eficientemente haciendo mayor
la corrida de simulacin. Mientras mayor sea la muestra, ms confianza hay en los estimativos. Al estudiar
fenmenos transitorios en un modelo estocstico, la corrida debe replicarse, empezando de nuevo para
obtener una distribucin de resultados. Adems, si el inters es la probabilidad de un resultado de excepcin
o un estimativo de un punto extremo, puede requerirse un nmero mayor de replicados para asegurar una
alta probabilidad de incluir el evento improbable en la muestra.

En algunos casos el estado transitorio puede convertirse a condiciones en que el anlisis del rgimen
permanente es apropiado descontando los valores futuros de los eventos. Este mtodo sera apropiado para
simulaciones de sistemas econmicos. En tal caso las comparaciones entre alternativas se hacen
comparando el valor presente de las condiciones futuras.

4.1 Mtodos de estimacin

Antes de discutir el problema de la determinacin del nmero de ensayos que deben realizase en una
simulacin, es conveniente examinar algunos mtodos estadsticos para estimar parmetros a partir de las
observaciones de unas variables aleatorias. Normalmente, una variable aleatoria X es muestreada de una
poblacin que tiene una distribucin estacionaria (independiente del tiempo) con media finita E (X) = y
varianza Var (X) =
2
. Si se hacen n ensayos de esa variable, o se toman n observaciones, la media
X
N
i
i
N
X
=
=

1

es tambin una variable aleatoria. El teorema central del lmite nos dice que X tiende a estar normalmente
distribuida con media E ( X ) = y varianza Var ( X ) =
2
/n. Es decir la variable Z definida como
Z
X
n
=

/
, - < z < +
se distribuye normalmente con media cero y varianza unitaria

Como antes se indic F (z) indica la probabilidad de que la variable aleatoria Z sea menor o igual que z. Si
denotamos por z
/2
el valor de la normal (0, 1) que tiene un rea de /
2
hacia la izquierda y por z
1-/2
el valor
que tiene un rea de 1 - /
2
hacia la izquierda, entonces por simetra z
/2
= - z
1-/2
. Por lo tanto la probabilidad
de que Z caiga entre z
/2
y z
1-/2
es 1 - . Es decir:
P(z
/2
< Z < z
1-/2
) = P(-z
1-/2
< Z < z
1-/2
) = 1 -
B. Caldern. Introduccin a la Simulacin. Cap 8. Anlisis de una Simulacin. 8 - 5
En trminos de la media muestral (X) la anterior probabilidad puede expresarse como:
P( X - z
1-/2
/ n < < ( X +z
1-/2
/ n ) = 1 -
Es decir, (1 - ) es la probabilidad de que la media poblacional quede en el intervalo definido por:
X z
1-/2
/ n
El intervalo de confianza antes encontrado estar dado por dos lmites:

Lmite inferior del intervalo de confianza = LI = X - z
1-/2
/ n
Lmite superior del intervalo de confianza = LS = X + z
1-/2
/ n

El tamao del intervalo de confianza est dado por { 2z
/2
/ n } y depende del nivel de confianza escogido
(1 - ) y del tamao de la muestra n. Usualmente los niveles de confianza son del orden de 90%, 95% y 99%,
en cuyos casos los valores de z son 1.65, 1.96 y 2.58. El significado del intervalo de confianza es: "Si el
experimento se repite muchas veces, puede esperarse que la media caiga dentro del intervalo de confianza en
el 100 (1 - )% de las veces".

En la prctica o por lo menos en la simulacin, la varianza poblacional no es conocida, en cuyo caso debe
reemplazarse por un estimativo muestral S, calculada como

( )
2
2
1
1
S
X
X
i
n
i
n
=

=

En este caso la variable Z definida antes no tiene aplicacin. Es necesario usar la variable aleatoria T definida
como
T
X
S n
=

/
, - < t < +
la cual sigue una distribucin t de Student, con n - 1 grados de libertad, la cual tambin es simtrica
alrededor de la media. A medida que n aumenta (n 30) la distribucin de Student tiende a la distribucin
Normal. Por lo tanto el intervalo de confianza para la media estar dado por:

Lmite Inferior = LI = X - z
1-/2
/ n X - t
1-/2
S/ n
Lmite superior = LS = X + z
1-/2
/ n X + t
1-/2
S/ n

conocido desconocido y n < 30
desconocido y n 30

5 Determinacin del tamao de la muestra

La escogencia del tamao de la muestra que debe usarse en un experimento de simulacin es una de las
decisiones ms importantes que deben hacerse en la planeacin de un estudio de simulacin. Es esencial
que se realicen estudios estadsticos para determinar los tamaos de las muestras.

Para determinar el nmero de ensayos o eventos que deben simularse hay varios enfoques que pueden
emplearse, y que se describirn a continuacin:

5.1 Enfoque estadstico

La formulacin del problema de simulacin determina qu variables van a ser generadas por el simulador y
cmo se van a relacionar con el objetivo del desempeo del sistema. Suponga que se desea estimar la media
de alguna medida del desempeo del sistema. Si las medidas de las observaciones del sistema son
B. Caldern. Introduccin a la Simulacin. Cap 8. Anlisis de una Simulacin. 8 - 6
independientes con una distribucin comn cuya varianza es , entonces puede determinarse un intervalo de
confianza para la media. Este intervalo puede hacerse tan pequeo como se desee haciendo el tamao de la
muestra lo suficientemente grande. Por lo tanto si se fija un lmite al tamao del intervalo o equivalentemente,
al error mximo permisible en la estimacin de la media, dado por X - entonces puede determinarse el
nmero requerido de observaciones (despus de que ha pasado el rgimen transitorio) requirindose primero
un estimativo de la desviacin estndar a partir de las observaciones realizadas en los ensayos pilotos.

Como se explic antes, el intervalo de confianza est dado por:
P( X - z
1-/2
/ n < < ( X +z
1-/2
/ n ) = 1 -
Si el error mximo permitido en la estimacin de la media poblacional (u) es entonces se tiene que:
= X - = z
1-/2
/ n n
z
=

2
1 2

/


En la mayora de los casos no es conocida, por lo cual se debe efectuar una corrida piloto de M
observaciones (M 30), a partir de la cual se puede estimar como S, donde:

( )
2
2
1
1
S
X
X
i
M
i
M
=

=
con X
M
i
i
M
X
=
=

1

Muchas veces no se especifica el error absoluto mximo permitido en la estimacin de la media () sino que
en su lugar se da el error relativo mximo permitido , dado por:


=

=
X
X
= X
Como no es conocida se la estima por X . Por lo tanto el tamao de la muestra estar dado por:
n
z
=

2
1 2

/
=
2
1 2

/
z
S
=
2
1 2

/
z
S
x

El mtodo usado para determinar el tamao de la muestra o el intervalo de confianza est basado en dos
suposiciones: Que la distribucin de donde se obtienen las observaciones es estacionaria y que las
observaciones son independientes. Desafortunadamente a causa de la naturaleza de los problemas para los
cuales se emplea la simulacin, es probable que las observaciones de los experimentos de simulacin estn
altamente correlacionados, es decir, es muy probable que el resultado de una observacin dependa del
resultado de la anterior o anteriores. Por ejemplo, los tiempos de permanencia en la cola de los clientes
sucesivos que son atendidos en una estacin de servicio estn altamente correlacionados. El trmino tcnico
para esta interdependencia es "autocorrelacin".

Adems, muchas medidas del desempeo son tales que en el experimento de simulacin se las debe calcular
en forma peridica como funcin del tiempo, en vez de darlas como una secuencia separada de
observaciones. Tal es el caso, por ejemplo, del nmero de clientes en un sistema.

Considere un fenmeno de espera, estacin nica. La disciplina de espera es de acuerdo al tiempo de
llegada, PEPS: primeros en llegar, primeros en ser atendidos. Suponga que uno de los objetivos del estudio
es medir el tiempo medio de permanencia en el sistema, definido como el tiempo que los clientes pasan en el
sistema, el cual incluye el tiempo de espera en la cola y el tiempo de servicio. En una corrida de simulacin el
enfoque ms sencillo para estimar el tiempo medio de permanencia en el sistema consiste en acumular los
tiempos de permanencia de n entidades sucesivas y dividir por n. Esta medida ser denotada por X (n),
B. Caldern. Introduccin a la Simulacin. Cap 8. Anlisis de una Simulacin. 8 - 7
para enfatizar el hecho de que depende de n. Si X
i
, i = 1, 2,..., n son los tiempos individuales de permanencia
en el sistema, entonces:
X n
n
i
i
n
X
( ) =
=

1
1

Los tiempos de permanencia medidos en esta forma no son independientes. Cuando se forman colas, el
tiempo de permanencia de cada entidad depender del tiempo de permanencia de la entidad anterior.
Cualquier secuencia de datos que tenga la propiedad de que un valor afecte otros valores se dice que est
autocorrelacionada. Existen varios modos de medir el grado de autocorrelacin. En el problema particular, el
grado de autocorrelacin aumenta a medida que aumenta la utilizacin de la facilidad o estacin de servicio.

Bajo las condiciones que pueden esperarse en la simulacin, la media muestral de datos autocorrelacionados
tiende a distribuirse normalmente a medida que el tamao de la muestra aumenta. La frmula anterior para
estimar la media proporciona aun un estimativo satisfactorio de la media de datos autocorrelacionados. Sin
embargo, la varianza de datos autocorrelacionados no est relacionada con la varianza de la poblacin
mediante la formula
2
/n, como ocurre con observaciones independientes. Debe agregarse un trmino que
tenga en cuenta o mida la autocorrelacin. Este trmino es positivo en la mayora de las situaciones que
ocurren normalmente en los experimentos de simulacin, de tal forma que si se lo ignora la varianza quedara
subestimada y el intervalo de confianza calculado sera demasiado optimista o el tamao de la muestra
quedara tambin subestimado.

Otro problema que puede presentarse para estimar el tamao de la muestra estadsticamente est en que la
distribucin no es estacionaria, principalmente cuando se trata de estimarla con base en los primeros
resultados. Sera conveniente estimar con base en las primeras observaciones realizadas despus de que
el sistema haya salido del perodo transitorio.

Existen otros dos mtodos para tratar de resolver el problema de la determinacin del tamao de la muestra
cuando los datos estn autocorrelacionados. Estos mtodos son a) Ejecutar una serie de corridas
independientes y separadas, de la misma longitud, o b) Ejecutar una sola corrida de simulacin, dividida en
varias partes o bloques.

5.2 Replicacin de corridas

En este mtodo se ejecuta una serie de corridas de simulacin, completamente separadas e independientes,
de igual longitud y cada corrida (excluyendo el perodo inicial de estabilizacin) se usara como una
observacin individual. Este mtodo nos da una secuencia de observaciones estadsticamente
independientes. Adems como son promedios, estas observaciones tienden a estar normalmente distribuidas,
en virtud del teorema central del lmite.

La principal desventaja de este enfoque est en el hecho de que cada replicado requiere un perodo de
estabilizacin o perodo transitorio, para que el sistema cumpla las condiciones del rgimen permanente, de
tal forma que gran parte del tiempo de la simulacin sera improductivo.

Cada replicado debe hacerse con una semilla diferente. Suponga que cada experimento se repite p veces,
con semillas diferentes. Sea X
ij
la i-sima observacin de la j-sima corrida. Entonces, los estimativos del
valor medio y de la varianza estarn dados por:
X
p
n
np
i
i
p
ij
i
n
j
p
X X
= =
= = =

1 1
1 1 1
( )

( )
2
2
1
1
1
S X
n X
p
j
j
p
=

=
( )

Entonces X(n) y S
2
(n) pueden usarse para establecer intervalos de confianza.

5.3 Divisin de una corrida en lotes o bloques
B. Caldern. Introduccin a la Simulacin. Cap 8. Anlisis de una Simulacin. 8 - 8

En este mtodo no se replican las corridas de simulacin sino que se realiza una sola corrida larga y para el
registro de los datos se la divide en un nmero de segmentos o bloques de igual longitud. La media de cada
segmento es considerada como una observacin individual. En este mtodo se elimina la desventaja del
mtodo anterior, ya que slo se necesita un perodo inicial transitorio y el estado del sistema al final de un
bloque o segmento es tomado como el estado inicial (condiciones iniciales) para el segmento siguiente. Es
decir, slo existe una corrida continua de simulacin que, para la recoleccin de las estadsticas, se divide en
una serie de p bloques (corridas) de igual longitud. Este mtodo de dividir una corrida es preferible a
empezar cada corrida en un estado vaco. Sin embargo la conexin entre los segmentos introduce alguna
correlacin. A veces los segmentos son separados por intervalos de tiempos en los cuales se descartan las
primeras medidas para evitar la correlacin. Conway ha demostrado que la varianza que se obtiene usando
todos los datos y aceptando la correlacin entre los segmentos, es menor que la obtenida a partir de la
cantidad reducida de datos que se obtienen separando los segmentos.


Medidas


del



Desempeo B
1
B
2
B
3
B
4
B
p



Perodo de recoleccin de estadsticas
Perodo
transitorio
Corrida de simulacin
Figura No 9.2 Divisin de una corrida en lotes o bloques

En el mtodo de segmentar una corrida es necesario suponer que las medias de los segmentos o bloques son
independientes. Esta suposicin est justificada si la longitud del segmento es suficientemente grande. El
efecto de la autocorrelacin est, como ya se explic, en que el valor de un dato afecta al otro. El efecto
disminuye a medida que la separacin entre los datos aumenta.

En los dos mtodos anteriores la corrida de simulacin deber dividirse de tal forma que se obtengan al
menos 15 observaciones independientes. El tamao requerido de cada corrida puede estimarse por mtodos
estadsticos (primer enfoque) o mediante una corridas piloto. El tamao de cada corrida debe ser, al menos,
igual al intervalo o perodo usado para remover el sesgo inicial.

Cuando se comparan dos sistemas alternativos, el procedimiento preferible consiste en reproducir la misma
secuencia de nmeros aleatorios para ambas simulaciones. Los resultados correspondientes a los
desempeos de los dos sistemas son luego apareados y las diferencias entre resultados apareados son
usados como observaciones muestrales. En este caso sera la media de las diferencias de la medida del
desempeo la media que se estara estimando. Es decir, la hiptesis de inters sera si la diferencia entre las
medidas del desempeo es cero.
9 EL PROBLEMA DE LA VALIDACIN


1 Introduccin

La validacin del modelo y de los resultados es uno de los aspectos ms importantes que hay que tener en
cuenta al desarrollar el modelo de un sistema, bien sea un modelo analtico o un modelo de simulacin. La
validacin est ntimamente relacionada con lo que se ha denominado la "credibilidad del modelo". Es
decir, quien desarrolla un modelo de simulacin debe buscar la forma de mostrar que el modelo es confiable y
que representa adecuadamente el comportamiento del sistema bajo estudio. Adems, debe lograr que quien
va a tomar la decisin final sobre el uso de los resultados de la simulacin crea en la simulacin y en los
resultados obtenidos a travs de ella. La validacin de una simulacin, es en su esencia, igual a la validacin
de cualquier otro modelo; sin embargo existen ciertas diferencias en cuanto a su realizacin, debido a las
caractersticas especiales de la simulacin.

2 Aspectos que hay que validar

Al estudiar el desarrollo de un modelo se encontr que haba tres clases de variables que describan el
comportamiento de un sistema. Esas variables las clasificamos como:

1) Variables exgenas o independientes

Estas variables afectan el comportamiento del sistema, pero que no son afectados por el sistema. Estas
variables se pueden clasificar a su vez en:

a. Variables controlables o incontrolables, dependiendo de si pueden ser manipulados o no por quien toma
las decisiones.
b. Variables aleatorias o parmetros, dependiendo de si su valor se da en trminos de una funcin de
densidad o como una constante. Las variables aleatorias actan en una forma independiente del sistema.

2) Variables de Estado

Son variables que describen el estado del sistema en cualquier instante. Generalmente las variables de
estado son variables aleatorias secundarias, cuyos valores estn completamente relacionados con otras
variables aleatorias, con las variables de decisin o controlables y con los parmetros.

3) Variables endgenas o de salida

Son las variables cuyo valor se trata de predecir a travs del modelo.

Por lo tanto, cuando se trata de validar un modelo de simulacin, es necesario validar todos los aspectos que
se han considerado en la construccin del mismo. Esto incluye:

a. Validacin de las variables exgenas, tanto las que toman la forma de variables aleatorias como las que
toman la forma de parmetros. Es necesario examinar si a las variables aleatorias se les ha asignado la
funcin de densidad apropiada y si los estimativos de los parmetros son confiables.
b. Validacin del simulador, es decir, es necesario examinar el modelo de simulacin que se construy para
ver si est realizando las tareas para las cuales fue diseado (variables de estado).

c. Validacin de los resultados del simulador (variables endgenas). La validacin de las variables
endgenas es la parte principal, ya que con base en estas variables se han de tomar las decisiones. La
validacin de estos resultados depende grandemente de si se est usando el modelo para simular un
sistema existente o un sistema propuesto, no existente, ya que para el primero pueden existir datos con
los cuales puedan compararse los resultados de la simulacin.


3 Enfoque de Hermann

B. Caldern. Introduccin a la Simulacin. Cap 9. El problema de la validacin 9 - 2
Hermann presenta cinco aspectos que hay que tener en cuenta para la validacin de modelos de sistema no
existentes:

1) Validez Interna

Se refiere a la variabilidad que haya entre los resultados de una simulacin cuando se la replica, manteniendo
constantes todas las variables exgenas. Se requiere una baja variabilidad interna porque un modelo
estocstico que tenga una alta varianza debida a procesos internos puede oscurecer o hacer desaparecer los
cambios en los resultados producidos de cambios en las variables controlables o de decisin. A nivel de
ejemplo, considere el problema del juego de las monedas, o el problema de los tubos. Tienen una baja
variabilidad interna?

2) Validez externa o prueba de la credibilidad del modelo

Se debe analizar si el modelo es realista, es decir, si el modelo describe adecuadamente el comportamiento
del sistema. Se debe preguntar a quienes conozcan el sistema real que juzguen si el modelo es una
descripcin razonable del sistema real.

3) Validez de las variables y los parmetros

Es necesario analizar si las variables y los parmetros se ajustan a los datos observados en el mundo real.
Adems, pueden hacerse pruebas de sensibilidad para probar la validez de las variables y los parmetros.

4) Validez de las hiptesis

Es necesario probar la validez real de las hiptesis que se hacen al construir el modelo. Adems, cuando el
sistema se divide en subsistemas, es necesario analizar si los modelos de los subsistemas han sido bien
construidos y si han sido bien ensamblados.

5) Validez de los eventos o series de tiempo que predice

Esta es la validacin en el sentido estricto. Es necesario examinar si la simulacin predice los eventos que se
observan en el sistema real, la forma en que ocurren esos eventos y las variaciones en las variables de
salida. Es decir, es necesario examinar las discrepancias que existan entre los resultados simulados y los
reales, si estos se conocen.

Las pruebas 1, 2, 3, y 4 son importantes para asegurar que el modelo est bien construido y que puede
usarse como una ayuda en el proceso de toma de decisiones. Sin embargo, un modelo es completamente
vlido slo cuando ha demostrado que predice en una forma confiable y exacta las variables endgenas.
Adems, un modelo es til cuando la persona que toma las decisiones cree que es vlido.

Para probar completamente la validez de un modelo de simulacin, es necesario probar entonces la validez de
las suposiciones hechas, y estimar correctamente los parmetros y las distribuciones de las variables
aleatorias, y examinar qu tan confiables son los resultados de la simulacin. En los prrafos siguientes se
hace un resumen de la forma de estimacin de parmetros y distribuciones y de las pruebas que pueden
hacerse para probar la validez de los resultados.

4 Estimacin de parmetros y de distribuciones

Un parmetro es un factor que afecta el comportamiento del sistema, que puede predecirse con certeza y que
puede o no ser afectada por las personas que operan o toman las decisiones sobre el sistema; un parmetro
no necesariamente tiene que ser constante. Ejemplo de parmetros son la tasa de llegada de clientes a un
sistema, la tasa de servicio en una facilidad, la demanda media por unidad de tiempo, el nmero de estaciones
de servicio, etc.

La mayora de los parmetros se usan para describir las funciones de densidad de las variables aleatorias del
modelo de simulacin. Su estimacin depende de los registros que se lleven, y por supuesto, del tipo de
parmetro estimado. Cuando se estudi la generacin de las variables aleatorias ms importantes, se indic
tambin la forma de estimar los parmetros de esas variables. Para estimar los parmetros de una
distribucin, suponiendo que sta es conocida, existen varios mtodos, de los cuales los ms conocidos son el
B. Caldern. Introduccin a la Simulacin. Cap 9. El problema de la validacin 9 - 3
mtodo de los momentos y el principio de mxima verosimilitud. La estimacin de los parmetros se hace a
partir de los resultados que se obtengan en una muestra aleatoria.

4.1 Mtodo de los momentos

En el mtodo de los momentos se igualan los primeros momentos de la distribucin con los primeros
momentos obtenidos a partir de la muestra. As, si X es una variable aleatoria con funcin de densidad f(x), la
cual es funcin de dos parmetros (a,b), entonces para estimar a y b se igualan los dos primeros momentos
poblacionales con los dos primeros momentos muestrales.

Los dos momentos poblacionales estn dados por:
E(X) = = xf x dx ( )

(1)
E(X - )
2
=
2
=
2
(x )
f x dx

( ) (2)
Los dos primeros momentos muestrales se calculan como:
x
1
n
i
x
i 1
j
f
j
x
j 1
k
j
f
j 1
k
=
=
=
=

n
(3)

( )
( )
2
1
1
2
1
2
1
1
1
s
n
i
x
x
i
n
i
f
i
x
x
i
M
k
f
k
M
=


=
=

=

(4)

donde: x
i
= Valor observado
f
i
= nmero de veces que se observ el valor x
i

n = Tamao de la muestra
M = nmero de intervalos de clases en que se agrupan las observaciones.

Entonces para estimar los parmetros a y b antes mencionados, se igualan las expresiones (1) y (3) y las
expresiones (2) y (4), as:

$
= X

2 2
$

=
S

donde y
$
se usan para denotar "estimativos de los verdaderos valores de u y .

Ejemplo: Si X sigue una distribucin uniforme en el intervalo (a,b), es decir:
f x
b a
( ) =

1
, a x b
= 0 en otros casos
Entonces
E(X) = =
x
b a
dx
a b
a
b

=
+

2



2
=
( ) ( )
2 2
12
x
b a
dx
b a
a




Para estimar a y b se igualan u y
2
con X y s
2
respectivamente, a saber:
B. Caldern. Introduccin a la Simulacin. Cap 9. El problema de la validacin 9 - 4

$
= X =
a b +
2

$
b X a = 2

( )
2 2
2
12

= =

S
b a

( )
2
2
3
S
X a
=



$
a X S = 3 y
$
b X S = + 3

4.2 Principio de mxima verosimilitud

Usando el principio de mxima verosimilitud se trata de estimar los parmetros de tal forma que se maximice
la probabilidad de obtener los resultados que se obtienen en la muestra aleatoria. As, en el principio de
mxima verosimilitud se trata de maximizar la probabilidad de que X
1
quede entre x
1
y x
1
+ dx
1
, X
2
est entre
X
2
y X
2
+ dx
2
,..., y X
n
est entre X
n
y X
n
+ dx
n
. As se trata de maximizar la siguiente probabilidad.

P(x
1
<X
1
<x
1
+dx
1
,x
2
<X
2
<x
2
+dx
2
,...,x
n
<X
n
<x
n
dx
n
) (5)

= f(x
1
)dx
1
.f(x
2
).dx
2
...f(x
n
)dx
n
=f(x
1
)f(x
2
)...f(x
n
)dx
1
dx
2
...dx
n


La expresin:

L (X,) = f (x
1
) f (x
n
) = f (X
i
) (6)

recibe el nombre de "funcin de verosimilitud" y el maximizar la expresin (5) es idntico a maximizar la
expresin (6) o a maximizar el logaritmo de la expresin (6), siendo el conjunto de parmetros a estimar.
As, si = (
1
y
2
) entonces para estimar
1
y
2
se deriva la funcin de verosimilitud con respecto a
1
y
2
,
se igualan a cero las expresiones resultantes y se despejan los estimativos..

Ejemplo. Consideremos la estimacin de los parmetros y
2
de una distribucin normal por el mtodo de
mxima verosimilitud.

Si X N(,
2
) = {
1
,
2
}
1
= ,
2
=
2
.

La funcin de verosimilitud est dada por:
( )
e
2
1
e x
n
1 i
2
2
2
2

)
x
i
(

x
i
2
1
) , , ( f ) , , X ( L
2 /
n
n
1 i
2 /
n
1 i
2
i
2

=

= =
=



El logaritmo de la funcin de verosimilitud est dado por:

)
x
(

2
n
1 i
2
2
2
i
) 2 ln( n ) , , X ( L ln

=
=


Derivando inicialmente con respecto al parmetro se tiene:
=

=

= =
=
=

n
1 i
n
1 i
2
n
1 i
2
0
i i
0
2
) 1 (
i
2

) , , X ( L ln
n
x
)
x
(

)
x
(


X
n

n
1 i
i x
= =

=

Derivando con respecto al parmetro se tiene:
0
2
) 2 (
i
2
2
n

) , , X ( L ln

)
x
(

3
n
1 i
2
2
=

=

=


B. Caldern. Introduccin a la Simulacin. Cap 9. El problema de la validacin 9 - 5
n
i
0
i

n
n
1 i
2
2
3
n
1 i
2
) x
x
(

)
x
(
= =

+
= =


En resumen tenemos que:

=
= =

=
X X T
T
2
n
1 i
2
i 2
1
n
n
1
X

Las expresiones obtenidas son las mismas obtenidas haciendo uso del mtodo de los momentos.

Para estimar un parmetro es necesario conocer la distribucin de la cual fue obtenida la muestra. Sin
embargo, en muchas ocasiones no se sabe de qu distribucin fue extrada la muestra. Por lo tanto, el
proceso de estimacin incluye tambin la estimacin de la distribucin de la variable aleatoria.

4.3 Definicin de la Distribucin

Para definir la distribucin de una variable aleatoria, a partir de resultados muestrales, es necesario seguir el
siguiente procedimiento.

a. Identificacin de la distribucin

b. Una vez se haya recogido la informacin que se va a usar como gua, se resume en una distribucin de
frecuencias, por medio de histogramas o de grficas de barras. Si la variable es continua se la distribuye
en intervalos de clase. En base al histograma o al grfico de barras se hace la suposicin acerca de la
distribucin que pueden seguir los valores de la muestra.

Al identificar la distribucin hay que tener en cuenta que no siempre es necesario representar una variable
aleatoria discreta mediante una distribucin discreta. La distribucin normal puede emplearse para
aproximar la distribucin binomial o la distribucin de Poisson, con buenos resultados de acuerdo a los
valores de los parmetros.

c. Estimacin de los parmetros: Una vez se haya identificado la distribucin, es necesario estimar los
parmetros de la misma.

d. Prueba de la distribucin: Es necesario probar si la variable aleatoria de inters si sigue la distribucin
que se supuso, es decir, hay que probar la validez de la hiptesis supuesta. Para probar esta validez se
pueden usar las dos pruebas estudiadas antes al analizar la uniformidad de los nmeros aleatorios:
prueba chi- cuadrado y prueba de Smirnov-Kolmogorov. Para cualquiera de estas pruebas es necesario
fijar el nivel de significancia de la prueba ().

Si para el nivel de significancia fijado se rechaza la prueba (cualquiera que se use) es necesario suponer
una nueva distribucin, y repetir de nuevo el procedimiento de estimacin de la distribucin.

Si no es posible ajustar los datos a una distribucin estndar, es necesario utilizar la distribucin emprica.
Debe tenerse en cuenta que al utilizar una distribucin emprica se pierde a veces mucha informacin ya que
habr muchos valores que sern imposibles de generar. Por ejemplo, en el problema del vendedor de
peridicos, al usar la distribucin emprica, la demanda vara en intervalos de a 5; si se ajustaran esos datos a
una distribucin estndar, la demanda podra variar en intervalos de a uno; adems, la demanda podra ser
inferior a 75 o superior a 120.

Cualquier libro de estadstica puede consultarse para profundizar un poco ms acerca del problema de la
estimacin.

5 Validacin del simulador y los resultados

5.1 Validacin del Programa

B. Caldern. Introduccin a la Simulacin. Cap 9. El problema de la validacin 9 - 6
Como se indic antes es necesario validar la estructura del modelo de simulacin para verificar si est
desarrollando las tareas para las cuales fue diseado, y para examinar si los resultados finales que se
obtienen son confiables. Es decir, interesa saber si el programa de simulacin est o no trabajando.

Un programa de simulacin puede fallar por no alcanzar su objetivo por uno de los siguientes errores.

1) Errores de codificacin

Estos errores son detectados fcilmente ya que ellos impiden la ejecucin del programa. Adems, el
diagnstico del error ayuda a su descubrimiento.

2) Errores de lgica

Cuando hay un error de lgica el programa funciona pero no produce resultados correctos. Los errores de
lgica pueden detectarse mediante los siguientes mtodos:

- Una prueba de escritorio, es decir, simular manualmente varios eventos de la simulacin. En la prueba de
escritorio debe efectuarse una "corrida" corta, tratando que en la prueba se presenten todos los casos
"raros", difciles de manejar. Al realizar la prueba de escritorio hay que tener cuidado de ejecutar todos los
pasos que ejecutara el computador al hacer la simulacin, y no omitir ningn detalle.

- Una verificacin de las principales relaciones que hay entre las variables endgenas. Una vez se
obtengan los resultados de la simulacin, es necesario verificar que se hayan cumplido todas las
relaciones que existen entre las variables endgenas. Por ejemplo, cuando se hace la simulacin del
sistema de colas de una sola estacin, se recoge la informacin sobre el tiempo medio de permanencia de
una unidad en el sistema, el tiempo medio de permanencia en la cola, el tiempo medio entre llegados y el
tiempo medio de servicio (TPS, TPC, TLLEG, TSERV respectivamente); aunque el tiempo esperado entre
llegados y el tiempo esperado de servicio son conocidos (1/ y 1/u respectivamente) son calculados a
travs de los datos simulados para verificar que el tiempo medio en el sistema es igual al tiempo medio en
la cola ms el tiempo en el servicio, a saber:

TPS = TPC + TSERV

Otra relacin que debe cumplirse es la existente entre el nmero medio de unidades en el sistema con el
nmero medio de unidades en la cola y en el servicio, a saber:

n = V + a NUS = NUC + IE

Si se obtuviera el nmero medio de estaciones ocupadas (nmero medio de unidades en servicio) como la
diferencia entre las unidades en el sistema, y las unidades en la cola, y hubiera un error en la simulacin, ste
no sera detectado a no ser que de negativo.

Aunque no existan errores de lgica y se cumplan las diferentes relaciones que deben existir entre las
variables, es necesario efectuar el anlisis sobre la "credibilidad" del modelo, lo cual implica hacer un anlisis
detallado de la estructura interna del modelo. Adems se requiere comparar los resultados obtenidos
mediante la simulacin con los datos histricos, si stos existen, y analizar las discrepancias que existan.
Este anlisis es indispensable para asegurarnos que el modelo de simulacin si sea una representacin vlida
del sistema de inters, y no de otro sistema.

5.2 Validacin de los resultados

Para verificar los resultados de la simulacin se pueden usar los siguientes mtodos:

5.2.1 Comparacin con resultados del sistema real.

Cuando se simula un sistema existente, se puede simular el sistema bajo las condiciones actuales y luego
comparar los resultados de la simulacin con los datos histricos, o con aquellos datos que podran obtenerse
mediante la observacin del sistema real. Si no existen discrepancias significativas entre los resultados
simulados y los reales se concluye que el modelo de simulacin es una representacin vlida del sistema
actual, y puede suponerse que en igual forma simular el sistema propuesto (siempre y cuando el sistema
B. Caldern. Introduccin a la Simulacin. Cap 9. El problema de la validacin 9 - 7
actual y el propuesto se simulen bajo las mismas condiciones). Es decir, la validacin del sistema propuesto
se hace con base en los resultados del sistema actual.

5.2.2 Comparacin con resultados analticos.

En la mayora de los casos que se usa la simulacin, no existe un modelo matemtico que pueda representar
al sistema real, si este modelo existiera se usara en vez de la simulacin, ya que su costo sera menor. Sin
embargo, en muchos casos, se pueden hacer modificaciones al modelo de tal forma que sin cambiar la
esencia del mismo, permita resolverlo por medios analticos. Por ejemplo, asuma que se requiere simular un
sistema de colas, estacin nica, para el cual las llegadas al sistema siguen una distribucin G y el tiempo de
servicio sigue una distribucin H. Para este sistema no existe un modelo analtico, con el cual puedan
compararse los resultados. Sin embargo, si cambiamos las distribuciones G y H por la exponencial, entonces
se pueden validar los resultados de la simulacin con los resultados analticos y si la simulacin se comporta
bien para la distribucin exponencial, se puede suponer que se comportar bien para las distribuciones H y G.
Este es el mtodo que se us para validar los resultados del sistema de colas en que el tiempo entre llegados
era Erlang y el tiempo de servicio era normal.

Este mtodo se us tambin para validar los resultados del proyecto de simulacin No.8, en el cual se
estudiaron diferentes disciplinas de la cola. En ese problema se estudiaron las siguientes disciplinas o
polticas de atencin:

- Poltica No. 1 : Atencin de acuerdo al orden de llegada
- Poltica No. 2 : Atencin de acuerdo al tiempo de procesamiento.
- Poltica No. 3 : Atencin de acuerdo a la fecha de entrega
- Poltica No. 4 : Atencin en forma aleatoria

Los resultados analticos (frmulas) usadas para estudiar el proyecto de simulacin No. 6 se aplican cuando
la disciplina de la cola es de acuerdo al orden de llegada. Al estudiar este problema en el captulo VII se
calcularon los resultados analticos para la poltica No. 1 y se observ que la diferencia entre los resultados
tericos y simulados eran despreciables. Entonces, si el modelo simula bien la primera poltica, puede
esperarse que haga lo mismo para las dems polticas, ya que todas las polticas son lgicas.

5.2.3 Verificacin por segmentos.

Cuando el sistema de inters pueda subdividirse en subsistemas, puede validarse cada subsistema
(segmento) por separado, quizs efectundole algunas modificaciones que permitan la validacin analtica,
teniendo sumo cuidado al estudiar la forma de enlazar (unir) luego los modelos de los subsistemas para
formar (y validar) el sistema real. Esta es una de las formas en que puede validarse el sistema de colas en
serie y los sistemas complejos de produccin. Al validar por segmentos es necesario obrar con cuidado, ya
que los subsistemas no son independientes.

6 Conclusin

Cuando se crea un nuevo modelo de simulacin, y ms cuando se trata de un modelo para un sistema no
existente, el aspecto principal que se debe estudiar en el modelo es que sea "razonable" y muchas veces se
requiere hacer un "acto de f" y creer que el modelo ser de utilidad en el proceso de toma de decisiones.

Es de suma importancia que a medida que se va desarrollando el modelo de simulacin exista una
comunicacin constante entre el analista que desarrolla el modelo y la persona que ha de tomar la decisin
sobre el uso de los resultados de la simulacin. Esta comunicacin evita que al presentar los resultados
finales, se dude de la validez de los mismos, debido a que quien toma la decisin conoce, en forma ntima, la
manera como se lleg a la misma y la validez del modelo y por lo tanto de los resultados. En general, el
problema de la validez de un modelo de simulacin, es bsicamente el mismo problema de la validez de
cualquier otro modelo.
Crystal Ball


1. ASPECTOS GENERALES

Crystall Ball es un programa basado en Excel (incorporado a Microsoft Excel) cuyo objetivo
bsico es realizar simulaciones tipo Montecarlo, de una manera sencilla automatizando los
pasos ms complejos y tediosos en el proceso de simulacin Montecarlo en Excel, tales como
el muestreo de distribuciones, realizacin de replicados, agregacin de resultados del modelo,
clculo de estadsticas e informacin relacionada con el anlisis de riesgo

Crystal Ball incluye conos para las diferentes opciones del men, y tiene otras capacidades
desde el punto de vista estadstico, para facilitar el proceso de simulacin, tales como

Generacin de diferentes variables aleatorias
Realizacin de pruebas de bondad de ajuste a una muestra de datos, o a los resultados
del modelo.
Proceso de optimizacin

Crystal Ball fue desarrollado y publicado por Decisioneering, Inc., y actualmente es
propiedad de Oracle.

Apariencia: Cristal Ball agrega tres nuevos mens y una barra de herramientas al Excel. La
barra de men incluye tres nuevas opciones: Cell, Run, CB tools (herramientas Cristal Ball)

Cell: Sirve para crear o modificar un modelo de Crystal Ball
Run: Para ejecutar el modelo y analizar sus resultados
CB.tools.

La barra de herramientas est ordenada de izquierda a derecha, siguiente el proceso de
modelamiento, a saber: Definir modelo, correr el modelo y analizar los resultados. Los nueve
primeros botones ayudan a organizar un modelo nuevo o uno existente, los siguientes cinco
especifican los parmetros de la simulacin, y los ltimos siete generan grficos y reportes, y
contienen las ayudas de CB.

Anlisis de riesgo:
El anlisis del riesgo es un enfoque para desarrollar un entendimiento comprensivo y una
conciencia del riesgo asociado con una variable particular de inters. Los pasos para
desarrollar el anlisis de riesgo con la tcnica de Montecarlo es la siguiente:

a) Construir un modelo para proveer informacin y un conocimiento para evaluar una
decisin.
b) Reconocer e identificar la incertidumbre asociada con el modelo y sus variables
c) Generar una distribucin de probabilidad para las variables de salida asociadas con la
decisin
d) Analizar los efectos de la incertidumbre en las variables de salida, y sobre la decisin.

2. Simulacin Montecarlo con Crystal Ball

El procedimiento general de la simulacin comprende los siguientes pasos:

1) Desarrollar el modelo de hoja de clculo
2) Definir las suposiciones para las variables de incertidumbre (Assumptions), es decir,
las distribuciones de probabilidad de las variables aleatorias
3) Definir las variables de decisin,
4) Definir las variables de salida de inters (forecast cells)
Crystal Ball. Proceso general. Bernardo A. Caldern C. 2
5) Definir el nmero de ensayos y otras opciones de la simulacin (preferentes)
6) Ejecutar la simulacin (Run)
7) Interpretar los resultados.

A continuacin se desarrollan en forma somera los principales aspectos a tener en cuenta
para el desarrollo del modelo de simulacin en Cristal Ball.

Para la aplicacin del Cristal Ball usaremos el siguiente problema, relacionado con la toma de
decisin sobre un plan de telefona celular.

Usted enfrenta la toma de una decisin importante: Qu plan de telefona celular debe usar,
entre dos propuestas, que llamaremos Plan 1 y Plan 2, y que tienen las siguientes
caractersticas:

Plan 1
Costo del plan: $10000, con cuatrocientos (400) minutos por mes, sin cargos extras por
llamadas de larga distancia, y con un costo extra de $1000 por minuto por encima de 400
minutos.

Plan 2
Costo del plan: $87500, cantidad ilimitada de minutos, pero con un cargo de $200 por
minuto de larga distancia.

Sus datos bsicos son los siguientes:

El tiempo de conversacin se distribuye aproximadamente de una manera normal, con una
media de 400 minutos, un mnimo de 340 y un mximo de 460, y el porcentaje de llamadas
de larga distancia tiene una distribucin triangular, con un mnimo del 10%, un mximo del
40% y un valor ms probable del 30%.

2.1. Diseo de la hoja de la simulacin

Como ya se ha mencionado previamente, la hoja de clculo debe disearse de tal forma que
la informacin pueda se pueda leer de una manera gil y rpida, y debera tener en cuenta
los siguientes aspectos:
Un ttulo descriptivo que identifique el estudio
Una seccin para los datos de entrada
Los datos de entrada deben usarse slo a travs de referencias a las celdas que los
contienen, de tal manera que cualquier cambio en los mismos se refleje
inmediatamente en los resultados de salida
Una seccin para los datos de salida
Una seccin para el rea de trabajo.
Deben usarse los formatos apropiados, de acuerdo a la naturaleza de los datos
Los clculos complejos deberan realizarse en ms de una celda, para reducir las
posibilidades de error.

El siguiente ser el modelo de hoja de clculo empleado para la simulacin.

A B C
1 Seleccin de plan de telefona celular
2 Plan No 1 Plan No 2
3 Costo base $100,000 $87,500
Crystal Ball. Proceso general. Bernardo A. Caldern C. 3
4 Minutos del plan 400 Ilimitado
5 Cargo por minuto adicional $1000 $0
6 Larga distancia $0 $200
7 Costo total $100,000 $115,500
8
9 Minutos actuales 400
10 % de larga distancia 30%
11 No. de minutos de LD 120
12 Ahorro por escoger el Plan No
13 $11,500
2.2. Descripcin de la incertidumbre

Describir la incertidumbre en celdas sencillas usando la distribucin de probabilidad
apropiada, a travs del botn assumptions, siguiendo el siguiente procedimiento:

a) Se selecciona la celda y se da click en Define Assumptions. Cristal Ball supone que el
nombre de la variable est en la celda a la izquierda de la celda seleccionada
previamente. Se selecciona la distribucin apropiada y se presiona OK.
b) Se entran los parmetros de la distribucin, y se presiona Enter y OK. La celda toma
un color verde.

Si se quiere ver una suposicin se selecciona la celda y se da clic en definir suposiciones.
El procedimiento anterior se repite para las dems variables aleatorias.

Para este problema no existen variables de decisin

2.3. Definir las variables de decisin

Para este problema no existen variables de decisin. Cuando existen las variables de
decisin, se selecciona la o las variables de decisin, se usa la opcin define decision
variables, y se define el rango de valores de la variable de decisin, dependiendo de si esta
es continua o discreta.

2.4. Definir los pronsticos o variables de salida

Definir las variables de salida, o variables de inters que se tratan de estimar, y se
denominan pronsticos (forecasts). Se definen mediante frmulas que dependen de las
variables de entrada (suposiciones). Por ejemplo: Valor neto, utilidad, costo de operacin,
etc. Se pueden definir tantas variables de salida como se desee.

Cuando se ejecuta la simulacin, el Cristal Ball almacena las variables de salida, y cuando la
simulacin termina se pueden analizar sus resultados. El procedimiento a seguir es el
siguiente:

Se seleccionan las celdas y se presionan el botn define forecasts (las celdas toman
color azul.

2.5. Corrida de la simulacin

La simulacin se puede realizar paso a paso (single step) o realizando todas las simulaciones
de una vez (botn de Run Preference Dialog). Mediante este botn se define el nmero
mximo de ensayos, y otros criterios si es del caso, y luego se realiza la corrida mediante el
Crystal Ball. Proceso general. Bernardo A. Caldern C. 4
botn Run. Si previamente se realizaron otras simulaciones, antes de ejecutar el modelo se
debe presionar el botn reset.

Cuando se inicia la simulacin, se activa la ventana de pronsticos, y a medida que avanza
la simulacin, el simulador va construyendo un histograma de frecuencia con los resultados
obtenidos.

2.6. Anlisis de los resultados

Para facilitar el anlisis de la simulacin, se pueden considerar los siguientes resultados:

a) Probabilidad de excedencia. Si se quiere calcular la probabilidad de que la variable de
salida exceda de cierto valor, basta con entrar dicho valor en la celda inferior izquierda,
y la probabilidad aparece en la celda inferior central. Si entramos el valor de cero,
entonces obtenemos la probabilidad de que la variable de salida sea positiva
b) Estadsticas resumen. En la ventana de pronsticos, mediante el men View se
pueden mirar las estadsticas resumen, los percentiles, o el histograma acumulado. Las
estadsticas resumen incluyen, entre otros: Nmero de ensayos, media, mediana,
moda, desviacin estndar, varianza, coeficientes de simetra, de curtosis y de
variabilidad, valores mnimos, mximos, el rango, y el error estndar.,

c) Anlisis de sensibilidad. Usando el botn de Anlisis de Sensibilidad se puede apreciar
en que forma las diferentes suposiciones afectan los resultados (pronsticos) de la
simulacin. Presionando el botn de preferencias, se escoge luego contribucin a la
varianza y se obtiene en que porcentaje contribuye cada una de las suposiciones a la
variable de salida, y presenta adems el tipo de correlacin de cada suposicin a la
variable de salida (positiva o negativa)

2.7. Creacin del reporte

Para crear el reporte, se presiona el botn de Creacin del reporte y se sealan los aspectos
a incluir en el mismo, tales como estadsticas resumen, distribuciones de frecuencia,
percentiles, suposiciones del estudio (variables aleatorias), si se desea el informe en blanco y
negro o a color, y la ubicacin del reporte.

3. Otros aspectos del Cristal Ball

Ajuste de distribuciones a los datos, mediante el botn Fit de la galera de
distribuciones.
Suposiciones (variables aleatorias) correlacionadas, mediante el botn
correlacin.
Uso de referencias absolutas o relativas en vez de valores al definir las suposiciones.
Control de precisin al definir las opciones de fin de simulacin.
Comparacin de alternativas. Grficos overlay (superpuestos o traslapados) que
muestran mltiples pronsticos o varias curvas de distribucin en el mismo grfico,
usando la barra de herramientas del men Run.
Grficos de tendencia.

You might also like