Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IntroduIntroducción A La Simulación Calderóncción A La Simulación Calderón
IntroduIntroducción A La Simulación Calderóncción A La Simulación Calderón
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
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.
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 reproducir
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.
1.3.
1- 3
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.
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.
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.
La observacin detallada del sistema que se est simulando conduce a un mejor entendimiento del mismo
y proporciona sugerencias para mejorarlo.
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.
1.4.
1- 4
Desventajas de la simulacin
La simulacin como cualquier otra tcnica tiene sus desventajas, de las cuales las principales 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.
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.
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.
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:
1000
U 5000
0
1- 5
Como la utilidad es una variable aleatoria, entonces el criterio de decisin o comparacin sera la
utilidad esperada, dada por:
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 Xi el valor destapado en la casilla de la fila i, i = 1,2,3, entonces tenemos que:
P(1000) = P(X1 = 1000, X2 = 1000, X3 = 1000) = P(X1=1000)P(X2=1000) P(X3=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:
1000
U 5000
0
1- 6
(B)
(C)
(D)
(E)
(F)
(G)
(H)
Boleto
nmero
Nmero
aleatorio 1
Valor
primera
celda
Nmero
aleatorio 2
Valor
segunda
celda
Nmero
aleatorio 3
1- 7
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
1- 8
Nmero
aleatorio 1
(B)
Valor
primera
celda (C)
Nmero
aleatorio 1
(D)
Valor
segunda
celda (E)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
0,067
0,090
0,063
0,441
0,002
0,431
0,997
0,191
0,795
0,586
0,461
0,542
0,085
0,860
0,746
0,629
0,361
0,670
0,761
0,514
0,430
0,906
0,813
0,689
0,812
0,150
0,553
0,144
0,425
0,179
0,469
0,241
0,301
0,463
0,721
0,896
0,322
0,210
0,521
0,535
1000
1000
1000
1000
1000
1000
5000
1000
5000
5000
1000
5000
1000
5000
5000
5000
1000
5000
5000
5000
1000
5000
5000
5000
5000
1000
5000
1000
1000
1000
1000
1000
1000
1000
5000
5000
1000
1000
5000
5000
0,316
0,759
0,625
0,129
0,328
0,323
0,893
0,436
0,659
0,867
0,835
0,148
0,244
0,403
0,913
0,463
0,831
0,397
0,567
0,447
0,176
0,038
0,874
0,637
0,278
0,349
0,705
0,397
0,403
0,051
0,080
0,504
0,845
0,217
0,244
0,934
0,487
0,087
0,800
0,669
1000
5000
5000
1000
1000
1000
5000
1000
5000
5000
5000
1000
1000
1000
5000
1000
5000
1000
5000
1000
1000
1000
5000
5000
1000
1000
5000
1000
1000
1000
1000
5000
5000
1000
1000
5000
1000
1000
5000
5000
Utilidad media =
Nmero
Valor
aleatorio 1
tercera
(F)
celda (F)
0,219
0,551
0,774
0,910
0,746
0,666
0,777
0,781
0,971
0,279
0,741
0,557
0,712
0,122
0,030
0,802
0,645
0,877
0,533
0,091
0,283
0,693
0,539
0,371
0,114
0,859
0,803
0,135
0,399
0,705
0,902
0,102
0,972
0,312
0,758
0,102
0,987
0,055
0,844
0,773
1000
5000
5000
5000
5000
5000
5000
5000
5000
1000
5000
5000
5000
1000
1000
5000
5000
5000
5000
1000
1000
5000
5000
1000
1000
5000
5000
1000
1000
5000
5000
1000
5000
1000
5000
1000
5000
1000
5000
5000
817,8
Valor
ganado
(G)
1000
0
0
0
0
0
5000
0
5000
0
0
0
0
0
0
0
0
0
5000
0
1000
0
5000
0
0
0
5000
1000
1000
0
0
0
0
1000
0
0
0
1000
5000
5000
1- 9
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 terminar 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) = 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)
P (X=5)
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.
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)
b)
c)
Se lanza la moneda
d)
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)
g)
h)
1 N
Uj
N i1
Si U 0 el juego es favorable
1.7.3.
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.
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)
b)
c)
d)
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)
g)
h)
1 N
Uj
N i1
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)
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)
1 - 12
Comienza la simulacin
1
Se simula el lanzamiento de
la moneda
Cara
Cara o
Sello
=+=
Se aumenta el
nmero de caras en
uno
Se aumenta el
nmero de sellos en
uno
Quedan juegos
por realizar ?
=3?
Si
1.7.4.
No
A
FIN
1 - 13
As
En general:
Se obtiene cara
Se obtiene sello
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.
2.
1 - 14
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
Nmero de juegos
Nmero mnimo de lanzamientos por juego
Nmero mximo de lanzamientos por juego
Nmero medio de lanzamientos por juego
Desviacin del nmero de lanzamientos
Utilidad mnima por juego
Utilidad mxima por juego
Utilidad media por juego
Desviacin de la utilidad por juego
Probabilidad de terminar en tres lanzamientos
727
1000
3
51
9.04
7.00
-43
5
-1.04
7.0
23.9
5727
1000
3
51
9.05
7.07
-43
5
-1.05
7.07
23.9
1 - 15
Figura No 2
Juego de la moneda. Simulacin manual
Juego
Nmero
J
1
Lanza
miento No
X
0
1
2
3
0
1
2
3
0
1
2
3
4
5
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
0
1
2
3
4
5
Nmero
aleatorio
R
Resultado
0.945
0.973
0.829
S
S
S
0.348
0.119
0.080
C
C
C
0.228
0.695
0.620
0.964
0.709
C
S
S
S
S
0.573
0.262
0.916
0.635
0.066
0.178
0.975
0.750
0.223
0.086
0.011
0.794
0.168
0.361
0.148
S
C
S
S
C
C
S
S
C
C
C
S
C
C
C
0.028
0.378
0.512
0.172
0.927
0.512
0.227
0.256
0.990
0.138
0.419
C
C
S
C
S
S
C
C
S
C
C
0.342
0.632
0.213
0.087
0.108
C
S
C
C
C
(C, S)
Total de
Caras
0
0
0
0
0
1
2
3
0
1
1
1
1
1
0
0
1
1
1
2
3
3
3
4
5
6
6
7
8
9
0
1
2
2
3
3
3
4
5
5
6
7
0
1
1
2
3
4
Sellos
0
1
2
3
0
0
0
0
0
0
1
2
3
4
0
1
1
2
3
3
3
4
5
5
5
5
6
6
6
6
0
0
0
1
1
2
3
3
3
4
4
4
0
0
1
1
1
1
Diferencia
Utilidad
ABS (C-S)
8-X
1
2
3
1
2
3
1
0
1
2
3
1
0
1
2
1
0
1
2
1
0
1
0
1
2
3
-7
1
2
1
2
1
0
1
2
1
2
3
-3
1
0
1
2
3
Lanza
miento No
X
0
1
2
3
4
5
6
7
8
9
10
11
12
13
8
0
1
2
3
4
5
6
7
8
9
10
11
12
13
9
0
1
2
3
4
5
10
0
1
2
3
4
5
11
0
1
2
3
4
5
Medias7-11
8.2
Medias 1-11
7.5
Nmero
aleatorio
R
Resultado
0.381
0.310
0.935
0.316
0.983
0.554
0.978
0.384
0.999
0.040
0.748
0.631
0.554
C
C
S
C
S
S
S
C
S
C
S
S
S
0.370
0.434
0.773
0.238
0.968
0.165
0.782
0.700
0.668
0.202
0.704
0.905
0.594
C
C
S
C
S
C
S
S
S
C
S
S
S
0.665
0.227
0.872
0.689
0.791
S
C
S
S
S
0.626
0.890
0.205
0.722
0.982
S
S
C
S
S
0.034
0.645
0.065
0.081
0.402
C
S
C
C
C
(C, S)
Total de
Cara
0
1
2
2
3
3
3
3
4
4
5
5
5
5
0
1
2
2
3
3
4
4
4
4
5
5
5
5
0
0
1
1
1
1
0
0
0
1
1
1
0
1
1
2
3
4
3.2
3.6
Sello
0
0
0
1
1
2
3
4
4
5
5
6
7
8
0
0
0
1
1
2
2
3
4
5
5
6
7
8
0
1
1
2
3
4
0
1
2
2
3
4
0
0
1
1
1
1
3.5
3.2
1 - 16
Diferencia
Utilidad
ABS(C-S)
8-X
1
2
1
2
1
0
1
0
1
0
1
2
3
-5
1
2
1
2
1
2
1
0
1
0
1
2
3
-5
1
0
1
2
3
1
2
1
2
3
1
0
1
2
3
3
-0.2
0.5
1 - 17
JUEGOS = 1
MIENTRAS (JUEGOS NRO_JUEGOS)
CARAS = SELLOS =0
MIENTRAS ( CARAS - SELLOS .NE. 3) ENTONCES
GENERAR NUMERO ALEATORIO R
SI (R < PROB_CARA)
CARAS = CARAS + 1
SI NO
SELLOS = SELLOS + 1
FIN SI
FIN MIENTRAS
LANZA = CARAS + SELLOS
X = X + LANZA
2
2
2
X = X + LANZA
SI (LANZA .LT. Xmin) Xmin = LANZA
SI (LANZA .GT. Xmax) Xmax = LANZA
INT=[(LANZA - Xo)/X + 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
2
2
VARIANZA = (X - NRO_JUEGOS * MEDIA )/(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
1 - 18
Numero de
Lanzamientos
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
41 o mas
Frecuencia
absoluta
239
171
164
104
82
54
57
17
28
22
13
8
7
11
4
8
8
2
0
1
Frecuencia
relativa
23.90
17.10
16.40
10.40
8.20
5.40
5.70
1.70
2.80
2.20
1.30
0.80
0.70
1.10
0.40
0.80
0.80
0.20
0.00
0.10
Frecuencia
rel. acum.
23.90
41.00
57.40
67.80
76.00
81.40
87.10
88.80
91.60
93.80
95.10
95.90
96.60
97.70
98.10
98.90
99.70
99.90
99.90
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
Semilla
Numero de juegos
Utilidad media
Desviacin estndar de la utilidad
Utilidad mnima
Utilidad mxima
Numero medio de lanzamientos
Desviacin estndar de la utilidad
Numero mnimo de lanzamientos
Numero mximo de lanzamientos
Corrida
727
1000
-1.00
Replicado
4727
1000
-0.97
7.00
-59
5
7.04
-59
5
9.00
7.00
3
67
8.97
7.04
3
67
Cree Usted que existen diferencias significativas con los resultados anteriores?
1 - 19
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.
2.
3.
4.
5.
6.
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 - 20
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, X, NRO_INT)
X = X = 0, Xmin = 100, Xmax = 0
FRECUENCIA(INT)=0, INT=1,NRO_INT
2
SI NO
POSICION = POSICION - 1
SI (POSICION. = -1) ENTONCES
POSICION = 7
FIN SI
SI (POSICION. EQ. 0)
FIN_VIAJE = 1
FIN SI
FIN MIENTRAS
X = X + PASOS
2
2
2
X = X + PASOS
SI (PASOS .LT. Xmin) Xmin = PASOS
SI (PASOS .GT. Xmax) Xmax = PASOS
INT=[(PASOS - Xo)/X + 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
2
2
VARIANZA = (X - NRO_VIAJES * MEDIA )/(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
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
Nro de viajes
Media
Desviacin
Mnimo
Mximo
Prob(2)
50
11.8
18.6
2
92
42
100
10.5
16.5
2
92
43
555
500
8.4
11.3
2
92
48
1000
8.1
10.5
2
92
49
50
5.2
6.5
2
32
66
100
6.7
9.3
2
56
55
5555
500
7.8
10.1
2
82
50
1000
7.9
10.2
2
82
50
0
0.15
1
0.25
2
0.45
3
0.10
4
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:
Ingresos por alquiler Costo Cintas compradas + Precio reventas
30
Utilidad mensual(Q) =
=
j 1
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
=Q
si X 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
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
Probabilidad p(x)
Probabilidad acumulada F(x)
0
0.15
0.15
1
0.25
0.40
2
0.45
0.85
3
0.10
0.90
4
0.05
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 r < 0.40
X=1
Si
0.40 r < 0.85
X=2
Si
0.85 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 (Q = 1). Se suspende el proceso de
bsqueda cuando la utilidad esperada empiece a decrecer. En resumen, el procedimiento de optimizacin
sera :
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, incluyendo 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
Probabilidad
0
1/6
1
1/3
2
1/3
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 S t 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 :
Demanda Q
Alquiler = Demanda
Alquiler = Q
Alquiler_total = Alquiler_total+Alquiler
Siguiente da
Siguiente mes
Promedio= Alquiler_total/nro_meses
Util_media = 3000 Promedio 25,000 Q + 5,000 Q
Imprimir resultados: Q, util_media
Qop = Q
U_optima=
util_media
Q = Q + Q
FIN
1 - 24
1 - 25
1 - 26
DEMANDA
1
0.504
2
2
0.634
2
3
0.381
1
4
0.689
2
5
0.980
4
6
0.306
1
7
0.589
2
8
0.542
2
9
0.849
2
10
0.816
2
11
0.326
1
12
0.778
2
13
0.387
1
14
0.610
2
15
0.819
2
16
0.468
2
17
0.679
2
18
0.296
1
19
0.875
3
20
0.442
2
21
0.637
2
22
0.935
3
23
0.390
1
24
0.526
2
25
0.346
1
26
0.236
1
27
0.659
2
28
0.129
0
29
0.785
2
30
0.159
1
2
1
0.240
1
2
0.504
2
3
0.296
1
4
0.378
1
12
29
0.714
2
30
0.314
1
Total anual (cintas)
588
Promedio Mensual (Cintas/mes)
49.0
Promedio diario (Cintas/da)
1.63
Utilidad media mensual simulacin ($/mes)
Utilidad media mensual analtica ($/mes)
1
ALQUILER
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
307
25.6
0.85
56750
56500
NUMERO DE COPIAS Q
2
3
ALQUILER
ALQUILER
2
2
2
2
1
1
2
2
2
3
1
1
2
2
2
2
2
2
2
2
1
1
2
2
1
1
2
2
2
2
2
2
2
2
1
1
2
3
2
2
2
2
2
3
1
1
2
2
1
1
1
1
2
2
0
0
2
2
1
1
1
1
2
2
1
1
1
1
2
2
1
1
516
570
43.0
47.5
1.43
1.58
89000
82500
90500
84000
4
ALQUILER
2
2
1
2
4
1
2
2
2
2
1
2
1
2
2
2
2
1
3
2
2
3
1
2
1
1
2
0
2
1
1
2
1
1
2
1
588
49.0
1.63
67000
68500
1 - 27
Vt = Et - Cap
Et = Cap
Se calcula la demanda mensual para generar energa D t
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, V t 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
1/6 R < 3/6
3/6 R <5/6
1
2
Agua que llega al embalse
R < 1/6
0
5/6
3
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
si 1/6 r < 3/6
si 3/6 r < 5/6
si
r 3/6
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
Si
r < 1/2
r 1/2
Demanda de agua = 1
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.
1 - 28
Embalse Nmero Agua que Verti Embalse Nmero Demanda Demanda Embalse
inicial
aleatorio
llega
miento Intermed aleatorio
agua satisfecha
Final
Et
3
3
3
3
2
3
2
0
0
2
1
2
2
2
2
1
2
2
2
3
1
1
2
2
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1.0
R1
At
Vt
Et
R2
At
DSt
0.945
0.973
0.829
0.719
0.348
0.119
0.080
0.908
0.228
0.695
0.620
0.964
0.709
0.075
0.573
0.262
0.916
0.635
0.066
0.178
0.975
0.750
0.223
0.086
0.011
0.794
0.168
0.361
0.148
0.144
0.028
0.378
0.512
0.172
0.927
0.512
0.227
0.256
0.990
0.138
0.419
0.769
0.342
0.632
0.213
0.087
0.450
3
3
2
2
1
0
0
3
1
2
2
3
2
0
2
1
3
2
0
1
3
2
1
0
0
2
1
1
0
0
0
1
2
1
3
2
1
1
3
0
1
2
1
2
1
0
1.4
2
2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.1
4
4
4
4
4
2
0
3
3
3
4
4
4
2
3
3
4
4
3
2
4
4
3
1
0
2
1
1
0
0
0
1
2
1
3
3
2
2
3
1
1
2
1
2
2
1
2.3
0.381
0.310
0.935
0.316
0.983
0.554
0.978
0.384
0.999
0.040
0.748
0.631
0.554
0.143
0.370
0.434
0.773
0.238
0.968
0.165
0.782
0.700
0.668
0.202
0.704
0.905
0.594
0.918
0.665
0.227
0.872
0.689
0.791
0.041
0.626
0.890
0.205
0.722
0.982
0.895
0.034
0.645
0.065
0.081
0.402
0.186
0.567
1
1
2
1
2
2
2
1
2
1
2
2
2
1
1
1
2
1
2
1
2
2
2
1
2
2
2
2
2
1
2
2
2
1
2
2
1
2
2
2
1
2
1
1
1
1
1.6
1
1
2
1
2
2
0
1
2
1
2
2
2
1
1
1
2
1
2
1
2
2
2
1
0
2
1
1
0
0
0
1
2
1
2
2
1
2
2
1
1
2
1
1
1
1
1.3
Et
3
3
3
2
3
2
0
0
2
1
2
2
2
2
1
2
2
2
3
1
1
2
2
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
1.0
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
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 p 1 = 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
Probabilidad
10
0.1
20
0.2
25
0.3
30
0.2
50
0.1
70
0.06
100
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.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
1 - 30
La probabilidad de ganar est dada por el nmero de juegos ganados, dividido por el nmero de
juegos realizados.
b)
c)
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
40
50
60
70
80
90
100
110
120
130
140
150
Malo
0.05
0.20
0.41
0.26
0.08
Bueno
0.02
0.15
0.28
0.24
0.12
0.09
0.06
0.04
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
Probabilidad
1
0.40
2
0.35
3
0.15
4
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.
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)
Probabilidad
50 - 55
0.10
55 - 60
0.15
60 65
0.30
65 - 70
0.35
70 - 75
0.08
75 - 80
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:
4.0 4.5
4.5 5.0
5.0 5.5
5.5 6.0
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?
1 - 32
REM
REM
REM
REM
REM
REM
REM
WEND
Fin juego
Si se termina el juego, se actualizan las estadisticas
lanza = caras + sellos
util = 8 - lanza
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
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
Distribucion del Numero de lanzamientos
1 - 33
1 - 34
727
1000
-0.972
7.0439
-59
5
8.972
7.0439
3
67
3
5
1803
2534
18.03
25.34
43.37
25.34
(25.7)
(18.0)
Los valores entre parntesis corresponden a la frecuencia relativa de la simulacin de 1000 juegos
1 - 35
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.
1.1.
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.
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*.
df ( x)
0 x x*
dx
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:
d 2 f ( x)
| x x* 0 para max imizar
dx 2
d 2 f ( x)
| x x* 0 para min imizar
dx 2
Ejemplo 1: Un sistema de inventarios
Considere el modelo clsico de inventarios, cuyo costo est dado por la siguiente expresin:
CT (Q)
AD cm Q
Q
2
dCT (Q)
AD C
AD
Q
2 AD
0 2 m 0
cm Q *
sQ
Q
2
Q
2
cm
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.
2
d CT(Q)
Q2
Q Q*
CT(Q) 2AD
0. Para Q Q *se tiene que d
0
Q2
Q3
CT (Q*) 2 ADcm
Para A = $2000/pedido, D = 2400 unidades/ao, Cm = $150/unidad-ao, se tiene
*
Q
1.3.
2(2000)(2400) AD
252.98 253, CT (253) 2(2000)(2400)(15) 37947.33
150
Caso discreto (minimizacin)
Si se desea encontrar el valor ptimo x* de una variable discreta, que vara en intervalos de ,
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*) f(x*- ), y
f(x*) f(x*+ )
ya que, por definicin f(x*) es el ptimo (mnimo).
Para el caso de maximizacin las condiciones son:
f(x*) f(x*- )
f(x*) f(x*+ )
X
f(x)
0
0
0.2
-0.7584
0.4
-1.4144
0.6
-1.9104
0.8
-2.1504
1.0
-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*) CT(Q* - u)
CT(Q*) CT(Q* + u)
(1)
(2)
AD cm Q *
AD
c (Q * u )
:
m
Q*
2
Q * u
2
1.4.
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 x1 y
x2. En este caso el problema es encontrar los valores de x1 y x2 que optimicen la funcin f(x1,x2),
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 x1 y x2 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
x1* y x2* .
df ( x1 , x2 )
0
dx1
df ( x1 , x2 )
0
dx2
Se resuelve el sistema de dos ecuaciones y dos variables para encontrar los valores ptimos
x1* y x2*
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:
d 2 f ( x1 , x2 ) d 2 f ( x1 , x2 ) d 2 f ( x1 , x2 )
dx dx
dx
dx
2
2
1
2
d 2 f ( x1 , x2 ) d 2 f ( x1 , x2 ) d 2 f ( x1 , x2 )
dx dx
dx
dx
2
2
1
2
f ( x1 , x2 ) 2 x1 x2 8x1 6 x2 20
2
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 x0, x1, x2,,xk, 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* - ) y mejor que f(x* + ).
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.
2.1.
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.
Se
Se
Se
Se
xk = xk-1 +
donde en xk la funcin no responde, es decir, f(xk) > f(xk-1).
La solucin ptima x* se encuentra entre xk-2 y xk, en un intervalo de tamao 2, y la mejor
solucin esxk-1.
Se dice que la solucin ptima x* se encuentra entre xk-2 y xk, y no entre xk-2 y xk-1, o entre xk-1
y xk, ya que no se sabe si el punto xk-1 queda a la derecha o a la izquierda del punto ptimo.
En resumen:
4.2.
xk-2 <x* < xk, mejor solucin = xk-1, tamao del intervalo = 2
Si f(x1) > f(x0) (es decir, la funcin no responde) se evala la funcin en:
x x1' x0
Si
f ( x1' ) f ( x0 )
se evala f(x0)
(la funcin responde) entonces se evala la funcin en:
x2' x1'
x3' x2'
................
X3 = x2 +
xk' xk' 1
donde en
xk'
'
k 1 .
f ( xk' ) f ( xk' 1 ) .
xk' y xk' 2
Si
f ( x1' ) f ( x0 )
x
0
3
6
9
.
45
48
51
54
f(x)
2500
2209
1936
1681
25
4
1
16
Mejora?
S
S
S
S
S
S
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 (2), 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 () menor. Se usa
como valor inicial el mejor valor encontrado hasta el momento (x0 = xk-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 (xk-2 <x* < xk).
4) Se puede ajustar una ecuacin cuadrtica que pase por los tres ltimos valores ensayados
(xk-2, xk-1, xk), y luego encontrar la solucin ptima de una forma analtica.
y = f(x) = a + b x + cx2
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, = 0.3.
Usando el nuevo paso = 0.3 y como solucin inicial el mejor valor conocido hasta el momento
(51), se obtienen los resultados presentados en la siguiente tabla.
Ensayo
1
2
3
x
51
51.3
50.7
f(x)
1
1.69
0.49
Mejora?
No
S
4
5
6
50.4
50.1
49.8
0.16
0.01
0.04
S
S
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:
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 (X0) y el paso (x)
Nmero_ensayos = 0
Costo_minimo = 0
// Se inicializa el proceso de optimizacin
X = X0
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 + x
Si no
// La funcin no mejora
Si Nmero_ensayos = 2, entonces // Se empez la bsqueda a la derecha del ptimo
x = x0 - x
x = - x
// 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
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 = x0
se evala f(x0)
x = x1 = x0 + se evala f(x1)
Si f(x1) < f(x0) (la funcin responde) se evala la funcin en:
x2 = x1 + 2
x3 = x2 + 4
xk = xk-1 + 2k-1
donde en xk la funcin no responde, es decir, f(xk) > f(xk-1).
La solucin ptima x* se encuentra entre xk-2 y xk, en un intervalo de tamao 2k-2 + 2k-1, y de
nuevo la mejor solucin es xk-1.
En resumen:
xk-2 <x* < xk, mejor solucin = xk-1, tamao del intervalo = 2k-2 + 2k-1
2. Si f(x1) > f(x0) (la funcin no responde) se evala la funcin en:
x x1' x0
Si
f ( x ) f ( x0 )
'
1
se evala f(x0)
(la funcin responde) se evala la funcin en:
x2' x1' 2
x3' x2' 4
................
xk' xk' 1 2 k 1
donde en
xk'
'
k 1 .
f ( xk' ) f ( xk' 1 ) .
xk' y xk' 2
3. Si
f ( x1' ) f ( x0 )
X
0
3
9
21
45
93
f(x)
2500
2209
1681
841
25
1849
Mejora?
S
S
S
S
No
Nuevo paso
3
6
12
24
48
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
1
2
3
X
45
48
54
f(x)
25
4
16
Mejora?
S
No
Nuevo paso
3
6
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:
CT (Q)
AD C mQ
Q
2
10
1
15
20
2
20
20
3
25
22
4
30
20
5
35
15
6
40
18
7
30
22
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.
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)
x1
b)
ab
x2
ab
Si f(x1) < f(x2) 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(x2) 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
Si f ( x 1 ) f ( x 2 ) a a , b
Si f ( x 1 ) f ( x 2 ) a
c)
ab
2
ab
, bb
2
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 , es decir, (b-a) .
El valor de debe ser tal que los valores a ensayar en el ltimo intento estn dentro del rango
de bsqueda, es decir, /2. La mejor solucin (solucin ptima) corresponde al punto medio
del ltimo intervalo.
2.3.2.
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:
Ensayo 1
Ensayo 2
............
Ensayo N
11
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
LN
L0 b a
N
2N
2
LN (b a) LN ( )
LN (2)
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:
L N
L0 b a
N
2N
2
Punto
medio
x1
x2
f(x1)
f(x2)
Rango
1
2
21
21
93
57
57
39
56,75
38,75
57,25
39,25
39
48
57
57
48
52,5
47,75
52,25
48,25
52,75
52,563
115,56
3
3,063
7,563
72
36
3
4
45,563
126,56
3
5,063
5,063
5
6
48
48
52,5
50,25
50,25
49,125
50
48,875
50,5
49,375
0,000
1,266
0,250
0,391
4,5
2,25
7
8
49,125
49,6875
50,25
50,25
49,6875
49,96875
49,4375
49,7187
5
49,9375
50,2187
5
0,316
0,079
0,004
0,048
1,125
0,5625
49,9687
5
50,25
50,10937
5
18
9
0,2812
5
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 =
3.
13
Ensayo
Valor de x
f(x)
1
2
0,1712
0,5091
0,2460
0,1893
0,9762
0,7132
0,3588
0,9485
0,7336
0,6328
0,2096
0,0800
0,7440
0,4278
0,6623
0,3453
0,8330
0,8320
0,6471
0,0789
33,33
57,66
38,71
34,63
91,28
72,35
46,83
89,29
73,82
66,56
36,09
26,76
74,57
51,80
68,69
45,86
80,97
80,90
67,59
26,68
277,91
58,63
127,49
236,21
1704,44
499,47
10,02
1543,78
567,51
274,28
193,38
540,16
603,66
3,23
349,18
17,12
959,36
955,00
309,44
543,82
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Valor
mnimo
277,91
58,63
58,63
58,63
58,63
58,63
10,02
10,02
10,02
10,02
10,02
10,02
10,02
3,23
3,23
3,23
3,23
3,23
3,23
3,23
Mejor
valor
33,33
57,66
57,66
57,66
57,66
57,66
46,83
46,83
46,83
46,83
46,83
46,83
46,83
51,80
51,80
51,80
51,80
51,80
51,80
51,80
Ensayo
1
2
3
4
5
6
7
a
45
49,5
49,5
49,5
49,5
49,781
49,922
B
54
54
51,75
50,625
50,063
50,063
50,063
m
49,5
51,75
50,625
50,063
49,781
49,922
49,992
14
x1
49,4
51,65
50,525
49,963
49,681
49,822
49,892
x2
49,6
51,85
50,725
50,163
49,881
50,022
50,092
f(x1)
0,360
2,723
0,276
0,001
0,102
0,032
0,012
f(x2)
0,160
3,423
0,526
0,026
0,014
0,000
0,008
Rango
9
4,5
2,25
1,125
0,563
0,281
0,141
CONTENIDO
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
Introduccin
Diseo de la hoja de la simulacin
Funciones tiles
Ejemplo. Juego del raspa raspa.
Construccin de histogramas y tablas de frecuencia
Generacin de variables aleatorias usando Excel
Comparacin de alternativas
Replicado de una corrida
Replicado de una corrida y comparacin de alternativas simultneamente
Un modelo de simulacin. Juego del lanzamiento de la moneda
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
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:
2.3
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:
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:
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 -anidarotra condicin tipo si.
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
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:
1000
U 5000
0
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:
Columna
Columna
Columna
Columna
Columna
Columna
Columna
Columna
(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
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.
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
0,067
1000
0,316
1000
0,219
1000
1000
0,090
1000
0,759
5000
0,551
5000
0,063
1000
0,625
5000
0,774
5000
0,441
1000
0,129
1000
0,910
5000
0,002
1000
0,328
1000
0,746
5000
0,431
1000
0,323
1000
0,666
5000
0,997
5000
0,893
5000
0,777
5000
5000
0,191
1000
0,436
1000
0,781
5000
0,795
5000
0,659
5000
0,971
5000
5000
10
0,586
5000
0,867
5000
0,279
1000
11
0,461
1000
0,835
5000
0,741
5000
12
0,542
5000
0,148
1000
0,557
5000
13
0,085
1000
0,244
1000
0,712
5000
14
0,860
5000
0,403
1000
0,122
1000
15
0,746
5000
0,913
5000
0,030
1000
16
0,629
5000
0,463
1000
0,802
5000
17
0,361
1000
0,831
5000
0,645
5000
18
0,670
5000
0,397
1000
0,877
5000
19
0,761
5000
0,567
5000
0,533
5000
5000
20
0,514
5000
0,447
1000
0,091
1000
21
0,430
1000
0,176
1000
0,283
1000
1000
22
0,906
5000
0,038
1000
0,693
5000
23
0,813
5000
0,874
5000
0,539
5000
5000
24
0,689
5000
0,637
5000
0,371
1000
25
0,812
5000
0,278
1000
0,114
1000
26
0,150
1000
0,349
1000
0,859
5000
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
31
0,469
1000
0,080
1000
0,902
5000
32
33
34
35
36
37
38
39
40
41
42
0,241
0,301
0,463
0,721
0,896
0,322
0,210
0,521
0,535
0,212
0,910
1000
1000
1000
5000
5000
1000
1000
5000
5000
1000
5000
0,504
0,845
0,217
0,244
0,934
0,487
0,087
0,800
0,669
0,509
0,225
5000
5000
1000
1000
5000
1000
1000
5000
5000
5000
1000
0,102
0,972
0,312
0,758
0,102
0,987
0,055
0,844
0,773
0,977
0,738
1000
5000
1000
5000
1000
5000
1000
5000
5000
5000
5000
0
0
1000
0
0
0
1000
5000
5000
0
0
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:
2.6
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.
La hoja de clculo Excel tiene varias funciones para generar variables aleatorias de diferentes tipos. Estas
funciones son las siguientes:
2.6.1
0
0.15
1
0.25
2
0.45
3
0.10
4
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)
Rango de R
Valor de la variable X
0.15
R<0.15
0
0.40
0.15R<0.40
1
0.85
0.40R<0.85
2
0.90
0.85R<0.95
3
1.00
R0.95
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
Si
Si
Si
Si
r < 0.15
0.15 r < 0.40
0.40 r < 0.85
0.85 r < 0.95
r 0.95
X
X
X
X
X
=
=
=
=
=
0
1
2
3
4
Analizando el procedimiento anterior, se observa que el valor de x es el entero que cumple la siguiente
desigualdad.
Si
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
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:
2.6.3
DISTR.BETA.INV(0,685470581;8;10;1;3) es igual a 2
Distribucin F DISTR.F.INV
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:
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:
2.6.5
DISTR.GAMMA.INV(0,068094;9;2) es igual a 10
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).
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
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.
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
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.
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
Frecuencia relativa - f(xi)
Frecuencia relativa acumulada - F(xi)
10
0.18
0.18
15
0.38
0.56
20
0.31
0.87
25
0.11
0.98
30
0.02
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)
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
1
10
11
12
13
14
15
A
.
D
.
E
.
F
.
G
.
0
0.18
0.56
0.87
0.98
0.18
0.56
0.87
0.98
1.0
10
15
20
25
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
Beta
Binomial
F
Gama
Logartmica
Normal
Normal
estndar
N(0,1)
Normal
Nombre funcin
DISTR.BETA.INV
Parmetros
Probabilidad
nmero aleatorio
BINOMCrit
Probabilidad
nmero aleatorio
Probabilidad
nmero aleatorio
Probabilidad
nmero aleatorio
Probabilidad
nmero aleatorio
DISTR.F.INV
DISTR.GAMMA.INV
DISTR.LOG.INV
Alfa
Beta
Ensayos
Probabilidad
de xito
Grados de
libertad 2 2
Beta
Grados de
libertad 1 1
Alfa
Media del
Desviacin
logaritmo de estndar del
x
ln x
DISTR.NORM.ESTAND.INV Probabilidad
nmero aleatorio
DISTR.NORM.INV
Probabilidad
nmero aleatorio
Media
Desviacin
estndar
AyB
(Valores
mnimo y
mximo)
12
Prueba.chi.inv
Probabilidad
Grados de
nmero aleatorio
libertad
T
DISTR.T.INV
Probabilidad
Grados de
libertad
nmero aleatorio
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)
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
1
10
11
12
13
14
15
A
.
D
.
E
.
F
.
0
0.18
0.56
0.87
0.98
0.18
0.56
0.87
0.98
1.0
10
15
20
25
30
G
.
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:
Para realizar esta segunda opcin, los pasos a segur son los siguientes:
1)
2)
3)
4)
Crear una columna que contenga los valores de las diferentes alternativas
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.
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.
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
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.
0
0.15
1
0.25
2
0.45
3
0.10
4
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
si X 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
Probabilidad p(x)
Probabilidad acumulada F(x)
0
0.15
0.15
1
0.25
0.40
2
0.45
0.85
3
0.10
0.90
4
0.05
1.00
Se genera un nmero aleatorio R = r, que se usa para generar la demanda X de la siguiente manera:
Si
Si
Si
Si
Si
r < 0.15
0.15 r < 0.40
0.40 r < 0.85
0.85 r < 0.95
r 0.95
X
X
X
X
X
=
=
=
=
=
0
1
2
3
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
A
B
C
Contenido
Cada mes
Cada da
Nmero aleatorio para
la demanda
Frmula
1, 2, 3,
1,2,3,.
=aleatorio()
Demanda diaria
Videos alquilados
14
=si(Ci<0.15;0;si(Ci<0.40,1;si(Ci<0.85;2;si(Ci<0.95;3;4))))
=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)
b)
c)
d)
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
En la celda D375 se copia la frmula que contiene el resultado de salida del modelo = utilidad media
=E371.
Se selecciona el rango C375:D378que incluye tanto la frmula como todos los valores del rango de
entrada.
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.
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)
15
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.
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).
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.
16
Precios de compra =
25000
Precio de alquiler =
3000
Precio de reventa =
5000
6
7
MES
DIA
Nmero
aleatorio R
DEMANDA
ALQUILER
ALQUILER
ALQUILER
ALQUILER
0,504
0,634
10
0,381
11
0,689
12
0,980
13
0,306
14
0,589
15
0,542
16
0,849
17
10
0,816
18
11
0,326
19
12
0,778
20
13
0,387
21
14
0,610
22
15
0,819
23
16
0,468
31
0,240
39
40
32
0,504
367
12
359
0,714
360
0,314
307
25,6
516
43,0
570
47,5
588
49,0
368
369
370
588
49,0
371
1,63
0,85
1,43
1,58
1,63
372
56750
89000
82500
67000
373
374
375
376
377
378
379
56500
90500
84000
68500
Nmero de cintas
Q
1
2
3
4
Utilidad
56750
89000
82500
67000
17
Si queremos simular varios meses (replicar la corrida anterior), lo podemos hacer de la siguiente manera:
(para 100 meses)
1)
2)
3)
4)
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
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
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,
18
H
Precios de compra =
25000
Precio de alquiler =
3000
Precio de reventa =
5000
7
8
MES
DIA
Nmero
aleatorio R
DEMANDA
ALQUILER
ALQUILER
ALQUILER
ALQUILER
0,404
10
0,138
11
0,939
12
0,870
13
0,189
14
15
6
7
0,664
0,330
2
1
1
1
2
1
2
1
2
1
16
0,347
17
0,921
18
10
0,742
19
11
0,818
28
0,456
37
29
0,485
38
30
0,929
39
53
28
47
53
53
40
2,3
3,9
4,4
4,4
0,08
0,13
0,15
0,15
42
Promedio Mensual
53,0
(Cintas/mes)
Promedio diario
1,77
(Cintas/da)
Utilidad mensual simulacin ($/mes)
64000
101000
99000
79000
43
56500
90500
84000
68500
56200
6267
89030
11890
82020
14348
66190
15759
1
64000
67000
61000
43000
58000
55000
2
101000
107000
92000
62000
89000
89000
3
99000
99000
90000
54000
78000
81000
4
79000
82000
73000
34000
58000
64000
99000
81000
93000
88000
70000
76000
35
36
41
44
45
46
47
48
49
50
51
52
53
145
146
147
48
Util media
Desviacin
Meses
1
2
3
4
5
97
98
99
100
Simulacin de la tienda de
64000
98000
61000
89000
64000
104000
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
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.
20
G
Lanza
miento
No
Nmero
aleatorio
R
10
11
0,364
12
0,705
13
0,070
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
68
69
70
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
58
59
60
Utilidad
Resultado
0,5
100
8,6
5,4
-0,6
22
0,22
Nro de
caras
Nro de
sellos
Diferencia
|C - S|
Nmero de
lanzamientos
Nro del
juego
Nmero de
lanzamientos
Utilidad
11
-3
Cara
13
-5
Sello
Cara
0,872
Sello
-1
0,696
0,195
0,239
0,948
0,680
0,864
0,569
Sello
Cara
Cara
Sello
Sello
Sello
Sello
2
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
4
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
1
0
1
0
1
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
5
6
7
8
9
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
-3
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
59
60
61
62
63
64
7
15
3
19
5
9
9
11
3
3
9
3
15
5
7
3
7
15
11
7
11
5
9
11
5
3
17
1
-7
5
-11
3
-1
-1
-3
5
5
-1
5
-7
3
1
5
1
-7
-3
1
-3
3
-1
-3
3
5
-9
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
Probabilidad
10
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
0
0.20
1
0.30
2
0.4
3
0.10
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)
3
1
Introduccin
f(x) = b a
0
a xb
a<x<b
enotroscasos
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:
xa
0
x a
F(x) = P(X x) = =
b a
1
axb
xb
f(x)
F(x)
1.0
E(X)
xf (x)dx
a
ab
2
ba
Var (X) abx E(X) 2f ( x )dx
12
0r<1
0r<1
3-2
0r<1
0r<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)
2)
3)
4)
5)
6)
7)
Los nmeros generados deben estar distribuidos uniformemente entre cero y uno.
Los nmeros generados deben ser estadsticamente independientes.
Las secuencias generadas deben ser reproducibles de tal forma que los diferentes experimentos de
simulacin se puedan repetir bajo las mismas condiciones.
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.
Eficiencia. El mtodo debe requerir el mnimo tiempo para generar un nmero aleatorio, es decir, debe
generar nmeros a grandes velocidades.
El mtodo debe requerir una mnima capacidad de almacenamiento.
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
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
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
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
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,
2
Xn = K cifras centrales de X 2
n - 1= D C ( Xn - 1)
0 Xn < M
0r<1
Rn = Xn / M
donde M = 10
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:
3
X0 = 721, M = 10 = 1000
2
X1 = D C (721 ) = DC (519841) = DC (0519841) = 198
2
X2 = D C (198 ) = DC (39204)
= 920
2
X3 = D C (920 ) = DC (846400)
= 464
2
X4 = D C (464 ) = DC (215296) = DC (0215296) = 152
R1 = 198/1000 = 0.198
R2 = 920/1000 = 0.920
R3 = 464/1000 = 0.464
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
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
X3 = DC ( 15 x 19 ) = DC (285) = DC (0285) = 28
X4 = DC ( 19 x 28 ) = DC (532) = DC (0532) = 53
R2 = 19/100 = 0.19
R3 = 28/100 = 0.28
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
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
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 Xi < M
Se tiene que 0 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 ri < 1
R1 = 46/100 = 0.46
R2 = 5/100 = 0.05
R3 = 72/100 = 0.72
R4 = 43/100 = 0.43
R5 = 66/100 = 0.66
R6 = 65/100 = 0.65
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
2
X2 (a X1 +C) Mod M (a[a X0 +C] Mod M +C) Mod M (a X0 +aC +C) Mod M
3-7
X3 (a X2 +C) Mod M (a[a X0 +aC +C] Mod M +C) Mod M (a X0 +a C + aC +C) Mod M
3
2
4
3
2
X4 (a X3 +C) Mod M (a[a X0 +a C + aC +C] Mod M +C) Mod M (a X0 +a C + a C + aC +C) Mod M.
...
En general, Xi puede expresarse como:
2
Xi
i 1
= (a X0 + C
a
k 0
i 1
) mod M = a X0 + C
mod M, si a 1
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 {X 1 , 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 determinstico 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
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 X 0 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
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
4
Generadores compuestos
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
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
En los computadores generalmente se usa como mdulo M = p 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
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 =
15
31
63. As el mdulo para palabra sencilla sera M = 2 = 32768 y con palabra doble sera M = 2 =
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.
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.
e
La reduccin mdulo M = 2 es casi automtica si las operaciones se realizan en aritmtica entera, ya que el
e
e
mayor entero positivo que puede almacenar el computador es 2 -1 y el mayor entero negativo es -2 . Es
e
e
decir, cualquier entero que maneje el computador estar entre -2 y -2 . 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
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:
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.
RESIDUO
MODULO 32768
1
20000
32766
32 767
1
2
3
...
32766
32767
0
1
2
e
31
Mdulo 2 1 (2
4.1.2
RESULTADO DEL
COMPUTADOR
1
20000
32766
32 767
-32 768
-32 767
-32 766
...
-2
-1
0
1
2
PROCESO CONVERSION
RESIDUO MOD 32768
No hay
No hay
No hay
No hay
-32 768 + 32767 +1 = 0
-32 767+32767 + 1 = 1
-32 766 +32767 + 1 = 2
...
-2 +32767 + 1 = 32766
-1 + 32767 + 1 = 32767
0
1
2
- 1)
31
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 (=2 ) c debe ser un nmero impar.
e
31
a 1 mod q para cada factor primo q de M. si M = 2 (=2 ) 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.
31
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
Los nmeros aleatorios se generan haciendo uso de la relacin Xi a Xi-1 Mod M a mod M.
i
3 - 11
31
Para el mdulo puede escogerse M = 2 = 2 para obtener una mayor eficiencia en la generacin de las
31
secuencias de nmeros o M = 2 - 1 si se desea obtener una mayor aleatoriedad en las ltimas cifras de los
nmeros y un perodo mayor.
4.3.1
31
e--2
a debe ser primo relativo con M. Es decir, si M = 2 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.
e/2
Dado que no se puede obtener el valor de cero y M = 2 , entonces el valor inicial o semilla X0 debe ser
primo relativo con el mdulo, es decir, X0 debe ser un nmero impar.
Para la palabra sencilla se usa un multiplicador de 899, mientras que para la palabra doble el valor es de 5 .
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.
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.
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
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:
k
O i E i
i 1
Ei
X
2
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
p xx
i
i 1
x
f ( x)dx i dx xi xi 1 x 1 / k
xi 1
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 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.
2
Para la prueba de uniformidad se calcula el valor X como se acaba de explicar, y se acepta la hiptesis nula
si X
2
2
k1,1
, donde el valor
2
k1,1
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 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.
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
Lmite Inf Xi-1
Lmite Sup Xi
Oi
pi
Ei
O i E i
1
0.0
0.1
14
0.1
10
1.6
2
0.1
0.2
15
0.2
10
2.5
3
0.2
0.3
9
0.3
10
0.10
4
0.3
0.4
8
0.4
10
0.40
5
0.4
0.5
4
0.5
10
3.6
6
0.5
0.6
11
0.6
10
0.1
7
0.6
0.7
10
0.7
10
0.0
8
0.7
0.8
10
0.8
10
0.0
9
0.8
0.9
7
0.9
10
0.9
10
0.9
1.0
12
1.0
10
0.4
1.6
4.1
4.2
4.6
8.2
8.3
8.3
8.3
9.2
9.6
Ei
k
O i E i
i 1
Ei
El estadstico de prueba X
cual nos lleva a aceptar la hiptesis de que los valores generados provienen de una distribucin uniforme.
5.1.2
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 x) =
f ( x)dx = x
si X es U(0,1)
3 - 15
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 S n(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 F X (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-, n) con un nivel de significancia . 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-,n) de la mxima diferencia absoluta entre las
funcin de distribucin muestral y terica.
Tamao de la
muestra
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
25
30
35
35
Nivel de significancia
.20
.9000
.684
.565
.494
.446
.410
.381
.358
.339
.322
.307
.295
.284
.274
.266
.258
.250
.244
.237
.231
.210
.190
.18
1.07/
.15
.925
.726
.597
.525
.474
.436
.405
.381
.360
.342
.326
.313
.302
.292
.283
.274
.266
.259
.252
.246
.220
.200
.190
1.14/
0.10
.950
.776
.642
.564
.510
.470
.438
.411
.388
.368
.352
.338
.325
.314
.304
.295
.286
.278
.272
.264
.240
.220
.201
1.22/
0.05
.875
.842
.708
.624
.565
.521
.486
.457
.432
.410
.391
.375
.361
.349
.338
.328
.318
.309
.301
.294
.270
.240
.230
1.36/
0.01
.995
.929
.828
.733
.669
.618
.577
.543
.514
.490
.468
.450
.433
.418
.404
.392
.381
.371
.363
.356
.320
.290
.270
1.63/
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
Lmite Inf Xi-1
Lmite Sup Xi
Oi
Oi
Sn(x)
FX (x)
| FX (x) Sn (x) |
1
0.0
0.1
14
14
.14
0.10
0.04
2
0.1
0.2
15
29
0.29
0.20
0.09
3
0.2
0.3
9
38
0.38
0.30
0.08
4
0.3
0.4
8
46
0.46
0.40
0.06
5
0.4
0.5
4
50
0.50
0.50
0.00
6
0.5
0.6
11
61
0.61
0.60
0.01
7
0.6
0.7
10
71
0.71
0.70
0.01
8
0.7
0.8
10
81
0.81
0.80
0.01
9
0.8
0.9
7
88
0.88
0.90
0.02
10
0.9
1.0
12
100
1.00
1.00
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
Valor R
Sn(x)
FX (x)
| FX (x) Sn(x) |
Observacin No
Valor R
Sn (x)
FX (x)
| FX (x) Sn (x) |
1
0.066
0.05
0.066
0.016
11
0.635
0.55
0.635
0.085
2
0.075
0.10
0.075
0.025
12
0.695
0.60
0.695
0.095
3
0.080
0.15
0.080
0.070
13
0.709
0.65
0.709
0.059
4
0.119
0.20
0.119
0.081
14
0.719
0.70
0.719
0.019
5
0.178
0.25
0.178
0.072
15
0.829
0.75
0.829
0.079
6
0.228
0.30
0.228
0.072
16
0.908
0.80
0.908
0.108
7
0.262
0.35
0.262
0.088
17
0.916
0.85
0.916
0.066
8
0.348
0.40
0.348
0.052
18
0.945
0.90
0.945
0.045
9
0.573
0.45
0.573
0.123
19
0.964
0.95
0.964
0.014
10
0.620
0.50
0.620
0.120
20
0.973
1.00
0.973
0.027
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.
3 - 17
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 dependiendo 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.
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:
Secuencia B:
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
2
media y la varianza de A, A y A estn dadas por:
2
A
2N 1
3
16 N 29
90
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:
A A
3 - 19
Z Z1-/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
98
42
90
5
97
75
77
91
3
83
22
34
81
26
72
9
63
23
76
35
1
21
58
73
12
79
9
87
2
8
17
11
52
4
91
36
37
80
55
23
15
73
61
39
69
14
58
89
94
62
3
41
40
61
96
38
72
87
70
71
51
10
11
16
8
17
64
34
17
57
93
38
56
10
26
51
7
80
59
92
23
45
22
14
64
26
62
60
7
7
99
14
14
62
18
14
78
97
60
1
42
2
18
3
4
4
1
5
1
Total A
66
2
A
2 N 1 2 x100 1
66.3
3
3
16 N 29 16 x100 29
17.46
90
90
4.18
66 66.3
0.072
4.18
Para un nivel de significancia del 5%, se tiene que Z 1-/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 :
--+++-++---+++-+++-++-++-++-+--
3 - 20
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
2
del nmero total de rachas por encima y por debajo del valor medio (B y B ) estn dados por :
2 n1 n 2
1
n1 n 2
2
B
2 n1n 2 (2 n1n 2 n1 n 2)
(n1 n 2) 2 (n1 n 2 1)
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:
B B
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 es el nivel de significancia de la prueba y Z 1/2 es el valor de la distribucin normal (0,1) que tiene un rea de 1-/2 hacia la izquierda, rechazamos la
hiptesis de aleatoriedad si Z Z1-/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
Nmero de rachas
1
28
2
13
3
6
4
4
5
0
6
2
Se tiene entonces : n = 100, B = 53, n1 =50, n2 = 50. La media y la varianza estarn dadas por:
Total B
53
2B
3 - 21
2 x50x50
1 51
50 50
2 x50x50(2 x50x05 50 50)
24.75
50 502 (50 50 1)
4.97
Dado que tanto n1 como n2 son mayores que 20, la aproximacin normal es apropiada. Por lo tanto
53 51
0.402
4.97
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.
E L i 2n n1
n
n2
n
2
, i= 1, 2, ..., n
E L i
2
n(i 2 3i 1) (i 3 3 i 2 i 4)
i 3!
E L i
2
,
n!
in-2
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 :
3 - 22
k O i E[ L i]2
2
X
E[ L i]
i 1
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 L1
2
100(12 3x1 1) (13 3x 12 1 4) = 41.75
1 3!
E L 2 181
.
E L 3 515
.
E L 4 110
.
E L5 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
Nmero observado de
rachas
Nmero esperado de
rachas
O i E ( L i 2
3 o mas
Total A
42
18
4+1+1
66
41.75
18.10
6.15
66
0.001
0.001
0.004
0.006
E ( L i)
2
El valor experimental X 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
3 - 23
El nmero esperado de rachas por encima y por debajo de la media de las diferentes longitudes est dado
por:
E L i 2n
E L 2 12.5
n1
n
n2
n
50
= 2 x100x
100
50
100
25.0
E L 3 6.25
E L 4 3125
.
E L5 15625
.
E L 6 0.78125
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
Nmero observado de rachas
Nmero esperado de rachas
O i E ( L i 2
1
28
25.0
2
13
12.5
3
6
6.25
0.36
0.02
0.01
4 o mas Total A
6
53
9.25
53
1.14
1.53
E ( L i)
2
El valor experimental X 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 :
1 nm
R R
n m i 1 i i m
Para n grande con relacin a m, m se distribuye aproximadamente normal con media y varianza dadas por
las siguientes expresiones
E(m) 0.25
Var ( m)
13n 19m
144 (n m) 2
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-/2, donde
3 - 24
E( m)
Z 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
0.2238
0.25
0.090
0.300
-0.087
m
E(m)
Var(m)
(m)
Z
2
0.2128
0.25
0.089
0.299
-0.125
3
0.2048
0.25
0.089
0.298
-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 :
k
P(x/k) = P(k seguido por x dgitos diferentes de k, y luego por k) = (0.9) (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)
X
j 0
P( j)
. ) (01. ) 1 (09
. )
(09
j
x 1
j 0
Ejemplo: Basado en la frecuencia con que ocurren los intervalos determine si puede suponerse que los
siguientes dgitos estn ordenados aleatoriamente. Use = 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
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
0-2
3-5
6-8
9 - 11
12 - 14
15 - 17
18 - 20
21 - 23
24 - 26
27 - 29
30 - 32
33 - 35
36 - 38
39 - 41
42 - 44
45 - 47
48 - 50
27
30
33
11
8
3
2
3
1
1
2
1
1
0
1
0
1
Frecuencia
relativa
acumulada Sn(x)
0.234
0.495
0.675
0.792
0.860
0.888
0.905
0.931
0.940
0.948
0.965
0.974
0.983
0.983
0.990
0.990
1.000
FX (x)
| FX (x) - SN (x) |
0.271
0.469
0.613
0.718
0.794
0.850
0.891
0.920
0.942
0.958
0.969
0.978
0.984
0.988
0.991
0.994
0.995
0.027
0.026
0.082
0.074
0.066
0.038
0.014
0.011
0.002
0.010
0.004
0.004
0.001
0.005
0.001
0.004
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 i, entonces el nivel de significancia total de la prueba T est dado por :
k
1 1 i
i 1
Si 1 = 2 = 3 =... =k = entonces
k
k
1 1 1 1
i 1
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 T. Por consiguiente, para un nivel total de significancia dado T, el error i
de cada prueba estar dado por:
i 1
1 T
1/ k
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:
T = 1-(0.95) = 0.226
5
Si se quisiera un error mximo del 5% para todas las pruebas en conjunto, entonces cada prueba debera
tener un nivel de significancia i del 1%, segn se deduce de la siguiente expresin :
i = 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
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
a=5 ,c=1ym=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
RANDU: a = 5
15
6.3
16
31
+ 3 = 65539, m = 2
a = 7 = 16807
a = 630,360,016
a = 742,938,285
a = 397,204,094
a = 16807
a = 630,360,016
a = 16807
3 - 27
Problemas
3.1 Genere 200 nmeros aleatorios, por medio de un computador, de acuerdo con el mtodo que usted
considere apropiado.
a)
b)
c)
Pruebe si esos nmeros se distribuyen uniformemente en el intervalo (0.1) por medio de la prueba
chi-cuadrado o de la Smirnov Kolmogorov..
Verifique si la secuencia generada es independiente, mediante la aplicacin de diferentes pruebas
estadsticas.
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 X i 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
0.88
0.82
0.36
0.53
0.53
0.01
0.81
0.63
0.42
0.91
0.80
0.66
0.39
0.15
0.04
0.45
0.80
0.79
0.24
0.73
0.54
0.16
0.90
0.62
0.53
0.10
0.50
0.36
0.28
0.35
0.26
0.23
0.34
0.02
0.49
0.17
0.50
0.21
0.53
0.38
3 - 28
0.90
0.05
0.26
0.67
0.80
0.10
0.03
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
449
081
808
025
356
808
661
604
143
899
096
766
340
889
228
870
191
457
182
686
378
141
429
677
502
634
721
966
211
804
156
332
671
233
307
088
449
310
508
562
485
676
709
981
214
927
254
603
613
958
167
159
591
415
511
498
534
830
274
850
476
133
341
662
894
401
867
361
GENERACION DE PROCESOS
4
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 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
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:
X
F( x ) P(X x ) f ( x )dx
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 F(x) 1,
0r<1
f (r ) r,
0 r 1
r
(1)
Ahora, la probabilidad de que un nmero aleatorio R sea menor o igual que el valor F(x) est dada por:
0 F(x) 1
P r [ R r] = r,
0r1
4-2
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 (r)
-1
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 (r)
-1
F(x)
-1
x
X
Figura 4.1
Dado que 0 F(x) 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
f ( x)
1
xa
, F ( x)
,a xb
ba
ba
xa
ba
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) .
Solucin: (Ver numeral 3.2).
Se tiene que f ( x) e x , F ( x) 1 e x
r F( x ) 1 e x 1 r e x x
Ln (1 r )
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
Ln ( r )
Ejemplo 4.3. Desarrolle un generador del proceso descrito por la variable aleatoria X cuya funcin de
densidad est dada por :
0x2
2x3
1 / 6
(x) = 1 / 3
1 / 12
3x7
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:
X
F(x) = P ( X x ) =
f ( x)dx
1)
Para 0 x 2, se tiene:
X
1
x
F( x ) F1 ( x ) dx ,
6
6
0
2)
0 F( x ) 1/ 3
Para 2 x 3, se tiene:
X
1
1
1
1
1
2
F ( x) F2 ( x) f ( x)dx dx f ( x)dx dx ( x 1), F ( x)
6
3 23
3
3
3
0
0
2
3)
Para 3 x 7, se tiene:
x
1
1
1
2
1
1
2
F ( x) F3 ( x) f ( x)dx dx dx dx dx ( x 5) , F ( x) 1
6
3
12
3 3 12
12
3
0
0
2
3
Resumiendo se tiene:
x
6 ,
F(x) = F( x ) 1 ( x 1),
3
1 ( x 5),
12
0 x 2,
2 x 3,
3 x 7,
1
3
1
2
F( x )
3
3
2
F( x ) 1
3
0 F( x )
Si
Si
Si
1
x
0 r r x 6 r
3
6
1
2
1
r r ( x 1) x 3 r 1
3
3
3
2
1
r 1 r ( x 5) x 12 r 5
3
12
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/6
2/3
r
1/12
1/3
0
0
5 6 7
Figura 4.2
5 6 7
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:
x ,
f (x)
2 x,
0 x 1
1 x 2
f(x)
1
2
x
Figura 4.4 Distribucin Triangular
F( x ) F1 ( x ) P(X x ) xdx
0
x2
,
2
0 F( x )
1
2
2) Para 1 x 2
(2 x ) 2
F( x ) F2 ( x ) P(X x ) xdx (2 x )dx 1
,
2
0
1
1
1
F( x ) 1
2
Resumiendo se tiene :
x2
,
2
F( x )
2
1 (2 x ) ,
1
2
0 x 1,
0 F( x )
1 x 2,
1
F( x ) 1
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
1
x2
r r x 2 r x 2 r
2
2
2) Si
1
(2 x ) 2
r 1
x 2 2 (1 r ) x 2 2 (1 r )
2
2
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:
x 2r
1
2
1
si r
2
si r
x 2 2(1 r )
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
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:
1 / 4
P( x)
0
x= 1, 2, 3, 4, en otros casos.
1 / 4
1 / 2
F(x)
3 / 4
1
x1
x2
x3
x4
F(x)
1
3/4
1/4
1/2
r
r
1/4
0
3
4
0
1
2
3
Figura 4.5 Mtodo de la transformacin inversa caso discreto
x
x 4r 1.24
4
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 ) 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 - ) r < F(x)
(1)
1
2
x
3
4
si
si
si
si
0 r 1/ 4
1/ 4 r 2 / 4
2 / 4 r 1/ 4
r 3/ 4
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 ) r < F(x) ( 1 )
es decir:
x1
x
r
4
4
x 1
r x 4r 1
4
x
r 4r < x x > 4r
4
(2)
(3)
r = 0.31
r = 0.43
r = 0.49
r = 0.50
1.24
1.92
1.90
2.00
<
<
<
<
x
x
x
x
2.24
2.92
2.96
3.00
x=2
x=2
x=2
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(1 p) x1,
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:
4-7
F(x) P( X x)
P(X i) pq
i1
x1
F(x) p
i 0
F(x)
i1
i1
p(1 q )
q
, dado que
1 q
x
Zi
i 0
1 Z N1
, si Z 1
1 Z
p(1 q )
1 q x , x = 1, 2, .....,
1 (1 p)
x
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 ) r < F(x) 1 - q
x-1
r < 1-q
x-1
r1-rq
x-1
Ln ( 1 - r ) ( x -1 ) Ln q x - 1
Ln(1 r )
,
Ln. q
Ln(1 r )
1 (A)
Lnq
Ln ( 1 - r ) > x Ln q
Ln (1 r )
, dado que Ln q < 0
Ln.q
(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:
Ln (1 r )
Ln (1 r )
x
1
Lnq
Lnq
Analizando un poco ms la expresin anterior se concluye que X es igual a la parte entera que se obtiene de
realizar el clculo
2.2
Ln(1 r )
1
Lnq
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 x 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 c.f(x) 1, a x 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
4-8
5) Se acepta la pareja de nmeros aleatorios si r 2 c.f(x), o sea si, r2 c.f[a + (b -a) r1 ]. Por lo tanto, se
acepta la pareja si la interseccin de X con r 2 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
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 (r 1, 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 r] = r p[R c.f(x)] = c.f(x), 0 c.f(x) 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
c
. cf ( x)
ba
ba
f ( x)
c
ba
4-9
f ( z)
1
2
2
e z / 2 , - < 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)
1
2
2
e z / 2 , -3 < z < +3
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) =
2 c =
2
2 y c. f ( z) e z / 2 .
2)
3)
Se calcula Z como z = a + (b - a) r1 = -3 + 6 r1
4)
Se calcula c. f(z).
5)
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
2
x +y =1
De la ecuacin se obtiene que y 1 x . 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 :
1) Se genera la pareja de nmeros aleatorios r 1 y r2.
2) Se expresa x como x = a + (b - a ) r1 =r1
2
3) Se calcula y = c.f(x) =
1 x 2 1 r12
y se acepta la pareja si
4 - 10
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
2
un crculo est dada por R , siendo R es el radio del crculo. Por lo tanto el rea exacta del cuadrante ser
/4. A medida que se aumente el nmero de parejas generadas la proporcin de las que caen bajo la curva
debe tender a /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 :
1)
2)
3)
8
Se normaliza f(x) por el factor c=1/15, por lo tanto
c.f(x) = x/5
4
Se genera un par de nmero aleatorios (r 1,r2).
Se calcula x como x = 2 + 3 r1
0 1 2 3 4 5 6 x
Si r2 (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
Parejas Aceptadas
25
50
100
200
500
1000
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 :
5
Area_Real_Bajo_Lnea =
3xdx 315.
2
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 (, k) resulta de la convolucin de k variables
aleatorias distribuidas exponencialmente con valor esperado 1/. Por lo tanto, para generar una varaible
aleatoria Erlang, basta con generar k variables exponenciales con media 1/ y sumarlas.
k
X Xi
i 1
k
1 k
1
ln
ln
R
i
Ri
i 1
i 1
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.
4 - 11
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)
1
, axb
f (x) b a
en otros casos
0,
Su funcin de distribucin F(x) est dada por :
0,
x a
F( x ) P(X x )
,
b
1, ,
F(x)
xa
axb
xb
a
b
El valor esperado y la varianza de una distribucin uniforme estn dados por:
ab
E ( X)
,
2
b a 2
Var (X)
12
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 F( x )
xa
x a (b a ) r
ba
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
2
de la distribucin con la media y la varianza muestrales, respectivamente.
a b
X
2
b a
12
S2
4 - 12
b 2X a
a X 3 S2 ,
a Xmin ,
3.2
b Xmax
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)
2( x a )
(b a )(c a ) ,
f ( x )
2(c x ) ,
(c b)(c a )
axb
bxc
a
abc
a 2 b 2 c 2 ac ab bc
,V (X )
3
18
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
x
F( x ) P(X x ) F1 ( x )
a
2( x a )
2
dx
( x a )dx
(b a )(c a )
(b a )(c a ) a
x
(x a ) 2
2
(b a )(c a ) 2
ba
x a
, 0 F( x )
(b a )(c a )
ca
a
x
b) b x c
b
F ( x) P( X x) F2 ( x)
a
x
2( x a)
2(c x)
dx
dx
(b a)(c a)
(c a)(c b)
b
(c x ) 2
ba
2
c a (c a)(c b)
2
ba
1 c x
,
F ( x ) 1
(c a)(c b) c a
b
x
(x a ) 2
ba
, a x b; 0 F( x )
ca
(b a )(c a )
F( x )
2
ba
1 (c x )
, b x c;
F( x ) 1
(c b)(c a )
ca
4 - 13
ba
ca
entonces
r F1 ( x)
es decir
( x a) 2
, despejando x tenemos que
(b a)(c a)
x a (b a )(c a ) x a (b a )(c a )r
Se toma la raz positiva ya que x a
b) Si
ba
ca
entonces
r F2 ( x) es decir, r 1
(c x ) 2
, y despejando x tenemos que
(c b)(c a )
ba
(
b
a
)(
c
a
)
r
si
r
ca
x
c (c a )(c b)(1 r ) si r b a
ca
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)
x 0
f ( x) e
en otros casos
F ( x) 1ex
0
1
E(X) ,
V ( X ) 2
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
4 - 14
El parmetro representa una tasa (eventos por unidad de tiempo). Para los ejemplos mencionados en el
prrafo anterior su significado sera:
.
1 x /
f ( x ) e
x 0
en otros casos
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
1/ X X
Generacin. La generacin de una variable exponencial puede hacerse por varios mtodos, de los cuales el
rns eficiente es el de la transformacin inversa.
x
r F( x )1e
1r e
1
Ln (1 r ) x x Ln (1r ) Ln (1r )
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:
1
x Ln r Ln r
Si una variable aleatoria sigue una distribucin exponencial, entonces su media y su desviacin 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 condicin 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).
4 - 15
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
h(t )
f (t )
1 F (t )
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 falla. En
la mayora de los casos se supone = 0.
b)
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/).
Sus principales caractersticas son las siguientes:
a)
f ( f )
0
b)
, t
Funcin de distribucin F(t), que representa la probabilidad de que el producto o componente falle antes
del tiempo t
, t
t
F (t ) P(T t ) f (t )dt 1 e
0
,
t
0
4 - 16
h(t )
Si = 1 se tiene una intensidad de fallas constante {h(t) = 1/= }, tpica de la distribucin exponencial. Adems 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 intensidad 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 =
e)
1 1
1
Varianza de Vida,
[ (
1) 2 (
1)]
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.
r F (t ) 1 e
t
Ln(1 r )
Ln(1r )1/
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:
t
3.5
Lnr)1/
Una variable aleatoria X tiene una distribucin gama si su funcin de densidad est dada por:
k 1
f ( t ) e t
donde
( k )
t 0
(k ) x k 1 e x dx
0
Tambin se cumple que
(k) (k 1) (k 1) .
(k) (k 1)!
4 - 17
E (T )
k
k ,
V(T) 2
k 2
0 f ( x)dx no
X
2 ,
V
3.5.1
k X2 , donde V 2 i1
V
n X2
2
i
Distribucin de Erlang
f (t ) et
t k 1
(k 1)!
t 0
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
T i Ln r i
Generacin: Para generar una variable Erlang basta con generar k variables aleatorias exponenciales con
tasa y sumarlas. Es decir:
1
1
1
T T1T2... Tk Ln r1 Lnr 2 ... Ln r k
n
1
1
T Ln r1 Ln r 2 ...Ln r k Ln ri
i 1
(A)
(B)
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 variables
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 = k 1 + p,
donde k1 < k < k1+1 y 0 < p < 1. Adems, si k 2 = k1 + 1, entonces k2 k1 = 1 - p. Entonces una mezcla de
variables gama escogiendo k 2 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 = k 1 + p. Si
escogemos k1 con probabilidad 1 - p y k2 = k1 + 1 con probabilidad p, el valor medio generado de k seria:
k1 (1 p) + k2 p) = k1 - k1 p + (k1 + 1) p = K1 + p
K esperado =
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
El siguiente procedimiento, propuesto por Cheng (1977) sirve para generar variables gamma con
2
media y parmetro de forma k, esto es, con media 1/ y varianza 1/k . El procedimiento es el
siguiente:
0.5
Si X b ln
2
1
2
(R 1
6) Reemplace X por X/ k
3.6
Distribucin normal
Una variable aleatoria X tiene una distribucin normal, denotada por N(, ) si su funcin de densidad est
dada por:
2
f ( x)
1
2
/2
e x
2
x
La funcin de distribucin F ( x)
f (t )dt no tiene una forma analtica explcita.
V(X) =
f ( z)
1
2
e z
/ 2,
4 - 19
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(, ) puede convertirse a la forma estndar N(0,1) mediante la siguiente
transformacin:
2
Si se conoce la variable aleatoria Z puede calculares X como X = + Z. Por lo tanto, puede trabajarse tanto
2
con la variable X que es N(, ) 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
2
distribuidas con media y varianza , entonces la distribucin de la media X tiende a distribuirse
2
normalmente con valor esperado igual a y varianza igual a /n, cuando n es grande. Es decir, si X1, X2,,
2
Xn es una muestra aleatoria con E (X) = y V(X) = , entonces
1 n
X
n i 1 i
tiende a seguir una distribucin normal, cuando n es grande, con E( X ) = = y V( X ) = /n. O tambin, la
variable Z definida como:
2
X
/ n
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 X 1, X2,, Xn es una muestra aleatoria
2
con E (X) = y V(X) = , entonces la suma S = X1 + X2 ++ Xn tiende a distribuirse normalmente con valor
2
Sn
n
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 (r)
-1
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 = + Z = + Zr
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
Sean R1, R2,, RN un conjunto de n variables aleatorias independientes e idnticamente distribuidas, cada
1 N
una con distribucin uniforme en el intervalo (0,1), con E(R) = 1/2 y V(R) = 1/12. Sea R
Ri ,
N i 1
entonces, en virtud del teorema central del lmite R tiende a distribuirse normalmente con
ZR
R E(R )
1 N
R 1 / 2
N i 1 i
1
12 N
Ri N / 2
i 1
N
12
N
12
Ri N / 2
N
i 1
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)
12
R i 6
ZR
i 1
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(, ), entonces se la genera como:
2
12
X Z R Ri 6
i 1
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 1 y 2 dos variables normales (0, 1) e independientes. Su representacin en un plano
cartesiano es la siguiente:
4 - 21
Z2
Z1
Z1
donde el ngulo est formado por la hipotenusa B y la abcisa Z1. Matemticamente se tienen las
siguientes relaciones:
B2 Z12 Z 22
Z1 = B cos
Z2 = B seno
Como 1 y 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:
Zi2 ~ X (21)
B 2 ~ X (22)
2
f (x)
/2
x
( / 2)
/ 21
x / 2
11
x / 2
x e
(1)
1 x / 2
2e
x 0
Es decir, B tiene una distribucin exponencial con parmetro = 1/2, y por lo tanto se puede
generar a travs de un nmero aleatorio r1 como
2
B 2 ln r1
f ()
1
,
2
0 2
2r2
Dado que
Z1 2 ln r1 cos(2 r2 )
Z 2 2 ln r1 seno (2 r2 )
Las variables Z1 y Z2 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 Z2, como
se muestra a continuacin.
X = + Z1
3.6.4
4 - 22
X = + Z2
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
El mtodo de Marsaglia Bray para generar variables normales (o, 1) usa el siguiente procedimiento:
a)
b)
S V 12V 22
c)
d)
Si S 1 se calculan las siguientes expresiones para Z 1 y Z2, que se distribuyen normalmente con media
cero y varianza unitaria:
Z 1V 1
2 LnS
,
S
Z 2V 2
2LnS
S
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
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 . La funcin de densidad de X que resulta
est dada por:
f ( x )
1
x
/2
e ln x u ,
2
0x
4 - 23
L E(X)e
/2
2
2L V(X)e2 (e 1)[E(X)] (e 1)
2
ln(X )
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.
Y ln(X) Z X e Z
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:
2L
Ln
2 2
L
L
:
4
2
2
, 2 Ln L L
2
L
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) 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:
x
P(x) = p (1 p)
1x
x = 0, 1
4 - 24
o simplemente:
P(X = 1) = p
P(X = 0) = q = 1 p
F(x)
V(X) = = p q, q = 1 - p
2
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
(1)
x = 1 si r 1 p
(2)
1p
{X = 0}
{X = 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
{X = 1}
{X = 0}
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:
n x
P( x ) p
x
1pn x ,
4 - 25
x 0,1,...,n
La funcin de distribucin, dada por la expresin siguiente no tiene una forma explcita.
x
x n
j
n j
F( x ) p( j) p (1 p)
j 0
j 0 j
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) = = n p q, q = 1 - p
2
Para generar una variable binomial hay diferentes enfoques, dependiendo de los valores de n y p.
4.2.1
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
X X i
i 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)
b)
c)
d)
e)
Se inicializa X = 0
Se genera un nmero aleatorio ri, para i = 1, 2,..., n.
Si ri < p, entonces Xi = 1, en caso contrario Xi = 0
Se aumenta X en el nuevo valor de Xi, es decir, X = X + Xi.
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, )
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
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:
3 0 np 3 n p (1 p) 0 n9(1 p) / p
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 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 p 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 = np(1-p), es decir,
2
X np
n p (1 p)
se distribuye normalmente con media cero y varianza unitaria. Por lo tanto, la variable X se generara como:
Xn p Z n p(1p)
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:
X [n p Z n p(1 p) 1/ 2]
donde [Y] quiere decir que se toma la parte entera de Y.
4.2.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.
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:
x
F ( x) P( X x) p (1 p)
j 1
x 1 i
j 1
i 0
1 q
1 q
1 q
V(X) = = q / p , q = 1 - p
2
Como se demostr antes, el valor de la variable aleatoria X ser el entero que satisfaga la desigualdad
F(x 1) r F(x) 1 q
x 1
r 1 q x
y como se demostr en el ejemplo 4.6 el valor de X es el entero que cumple la siguiente desigualdad:
Ln(1 r )
Ln(1 r )
Ln(1 r )
x
1 x es la parte entera de
1
Lnq
Lnq
Lnq
Ver ejemplo 4.6
4.3.2
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 realizados. El
procedimiento se puede resumir en los siguientes pasos:
a)
b)
c)
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
4.4
4 - 28
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,,
F ( y) P(Y y) 1q
y 1
E (Y) = E(X 1) = = q / p
V(Y) = V(X 1) = = q / p , q = 1 - p
2
Para generar esta variable aleatoria se usan los mismos mtodos de la distribucin geomtrica, y se obtienen
los siguientes resultados:
4.4.1
Ln(1 r )
Ln(1 r )
1 x
Y es la parte entera de la expresin
Lnq
Lnq
Ln (1r )
Ln q
x=2
x=3
x=0
x=2
x=3
x=5
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:
x 1 k
p (1 p) k ,
p( x, k )
k 1
4 - 29
Como k es entero, la variable de Pascal puede generarse mediante el proceso matemtico que da origen a la
k
distribucin, es decir, mediante la suma de k variables geomtricas, es decir, X X i , donde las Xi siguen
i 1
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:
y k 1 k
p (1 p) y ,
p( y, k )
k
y0,1,2,...,
y k 1 y k 1
dado que
k 1 y
n n
x n x
y k 1 k
p (1 p) y ,
p( y, k )
y
y0,1,2,...,
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 elementos
tomada de la poblacin total N, n 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 N M
x n x
p( x)
,
N
n
x 0,1,...,n, x M
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:
E ( X )n p
V ( X )n p q
N n
N 1
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
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
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:
t )
t (
p( x )e
x!
x 0, 1, 2,...
La funcin de distribucin est dada por la siguiente expresin, que no puede evaluarse en una forma
analtica:
F ( x) P( X x)
j 0
t (t )
j!
4 - 31
P(0) F(0) et
x x 1
t
x
F( x ) F( x 1) p( x )
p( x ) p( x 1)
V(X) = = t
2
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
p( x )e
x
,
x!
x 0, 1, 2,...
donde 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 = 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 = t.= 3 (60) = 120 clientes/hora
4.7.1
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 T 1 es el tiempo de
ocurrencia del primer evento, T2 es el tiempo entre la ocurrencia del primero y el segundo eventos, T i el
tiempo entre el evento i - 1 y el evento i, entonces se debe cumplir que:
x
x 1
i 1
i 1
Ti t
Ti
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 T i. 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:
x 1
T i t , donde Ti = -Ln ri /
i 1
entonces el valor de x ser el nmero de variables T i generadas menos uno (dado que el ltimo evento
ocurre despus de t). El valor x = 0 se genera cuando T 1 > t, es decir, cuando el primer valor generado es
4 - 32
x 1
i 1
i 1
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:
x
x 1
i 0
i 0
1 x 1
i 1
1 x
i 1
x 1
i 1
i 1
Ti t Ti Ln ri t Ln ri Ln ri t Ln ri
x 1
i 1
i 1
ri e t ri
Por lo tanto, y de acuerdo con la expresin anterior, para generar una variable Poisson, basta con generar
- t
nmeros aleatorios, multiplicarlos, y suspender el proceso cuando dicho producto sea menor que e . El valor
de la variable aleatoria x es igual a la cantidad de nmeros aleatorios generados menos 1. La productoria se
- t
inicializa en uno (1). El valor x = 0 se produce cuando r 1 < e , es decir, cuando el primer nmero aleatorio
- t
generado es menor que e .
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
- t
Mientras Producto > e haga
R = RND
Producto = Producto * R
X=X+1
Fin mientras
Generar_Poisoon = X
Fin proceso
4.7.2
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 se escribe como:
F( x )F(x 1) p(x 1)
donde p F(0)e
4 - 33
Por lo tanto, X puede generarse a travs de la distribucinnormal usando el factor de correccin de como:
X[ Z 1/ 2][ t Z t 1/ 2]
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 la frmula apropiada
es la siguiente: (forma normal o estndar de la distribucin):
p( x )e
x
,
x!
x 0,1,2,...
En este caso la variable aleatoria se genera usando exactamente los mismos procedimientos dados antes,
pero considerando = 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
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) x < F(xi)
Ejemplo 4.10. La demanda de un producto durante 55 semanas fue la siguiente:
Demanda
Frecuencia
10
10
15
21
20
17
25
6
30
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:
p ( xi )
f ( xi )
N
i
F ( xi ) p( xi ) F ( xi 1) p( xi )
j 1
La tabla siguiente presenta la informacin referida anteriormente.
Demanda - xi
Frecuencia relativa - f(xi)
10
0.18
15
0.38
20
0.31
25
0.11
30
0.02
0.18
0.56
0.87
4 - 34
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) r < F(x2)
x = x2
.
Si F(xi-1) r < F(xi)
x = xi
.
r F(xN)
Si
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
Si
Si
Si
Si
5.2
r < 0.18
0.18 r 0.56
0.56 r 0.87
0.87 r 0.98
r 0.98
x = 10
x = 15
x = 20
x = 25
x = 30
Interpolacin lineal
Cuando la variable aleatoria X es continua, no discreta, y puede tomar cualquier valor ente x i-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
r < F(x1)
Si
x = x1
.
F(xi-1) r < F(xi)
Si
x xi 1
xi xi 1
F(x ) F( r xi 1
xi 1
Si r F(xN)
5.3
x = xN
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
Valor
1 2 3
10 10 10
..
..
17 18 19 20
10 10 15 15
..
..
56 57 58
15 15 20
..
..
86 87 88 89
20 20 25 25
..
..
98 99
25 30
100
30
El nmero de posiciones N del vector debe ser tal que a cada valor de x i 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
4 - 35
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)
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.
2.
3.
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
La hoja de clculo Excel tiene varias funciones para generar variables aleatorias de diferentes tipos. Estas
funciones son las siguientes:
6.1
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,
-7
DISTR.BETA.INV itera hasta que el resultado tenga una exactitud de 3x10 . 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
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
-7
reitera hasta que el resultado alcance una exactitud de 3x10 . 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
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)
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)
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
-7
3x10 . 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
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 simulacin corresponde a un
nmero aleatorio.
Media es la media aritmtica de la distribucin.
Desv_estndar es la desviacin estndar de la distribucin.
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)
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,
-7
DISTR.T.INV reitera hasta obtener un resultado con una exactitud de 3x10 . 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
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
Frecuencia relativa - f(xi)
Frecuencia relativa acumulada - F(xi)
10
0.18
0.18
15
0.38
0.56
20
0.31
0.87
25
0.11
0.98
30
0.02
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)
4 - 39
10
11
12
13
14
A
.
D
.
E
.
F
.
G
.
0
0.18
0.56
0.87
0.98
0.18
0.56
0.87
0.98
1.0
10
15
20
25
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
Beta
F
Gama
Logartmica
Normal
Normal
estndar (0,1)
Normal
T
7
7.1
Nombre funcin
DISTR.BETA.INV
Parmetros
Probabilidad
nmero aleatorio
DISTR.F.INV
Probabilidad
nmero aleatorio
Probabilidad
nmero aleatorio
DISTR.GAMMA.INV
DISTR.LOG.INV
Probabilidad
nmero aleatorio
DISTR.NORM.ESTAND.INV Probabilidad
nmero aleatorio
DISTR.NORM.INV
Probabilidad
nmero aleatorio
DISTR.T.INV
Probabilidad
nmero aleatorio
Alfa
Beta
AyB
(Valores
mnimo y
mximo)
Grados de
libertad 1 1
Alfa.
Parmetro
de forma (k)
Grados de
libertad 2 2
Beta
Parmetro
de escala
(inverso de
la tasa=1/)
Media del
Desviacin
logaritmo de estndar del
x
ln x
Media
Desviacin
estndar
Grados de
libertad
Otros ejemplos
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 1 x
f (x) 1
2 e 2 x
x 0, ruta1
x 0, ruta 2
4 - 40
1
ln R
1
X
1
ln R
ruta
ruta
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 (r 1, 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:
1
1
1
2
ln R 2 , si R1 p
.
ln R 2 , si R1 p
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.
Concepto
4 - 41
Simulacin
No 1
No 2
377 y 1425
1797 y 971
30.6
30.1
0.02
0.07
237.3
241.1
32.0
31.0
500
500
Semillas
Tiempo medio de viaje
Tiempo mnimo de viaje
Tiempo Mximo de viaje
Desviacin estndar
Nmero de viajes
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
p(x)
75
0.02
80
0.07
85
0.08
90
0.20
95
0.19
100
0.14
105
0.12
110
0.09
115
0.06
120
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)
b)
,xQ
(1)
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 :
E[ U(Q)]
x Q
x 0
x Q u
(4)
(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:
Q*
p( x)
x Xmin
VC
VS
(5)
E[ U(Q)]
Xmin
xf ( x)dx
(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:
dE[ U(Q)]
0
dQ
Q*
VC
V S
(7)
75
0.02
0.02
80
0.07
0.09
85
0.08
0.17
90
0.20
0.37
95
0.19
0.56
100
0.14
0.70
105
0.12
0.82
110
0.09
0.91
115
0.06
0.97
120
0.03
1.00
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)
2)
3)
4)
xQ
x>Q
Una vez se han simulado todos los das se calcula la utilidad promedio diaria, dada por U/N
Condicin
r < 0.02
0.02 r < 0.09
0.09 r < 0.17
0.17 r < 0.37
0.37 r < 0.56
0.56 r < 0.70
0.70 r < 0.82
0.82 r < 0.91
0.91 r < 0.97
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 (Q = 5). Se suspende el
4 - 44
Se simula pidiendo una cantidad inicial Q = Q0 = Xmin = 75 y se obtiene la utilidad media UM(Q0).
2)
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
75
80
85
90
95
100
SEMILLA
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
90
95
SEMILLA
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.
4 - 45
Da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Total
Promedio
Nmero
Aleatorio
0.0370
0.9553
0.5208
0.0656
0.7514
0.7971
0.9048
0.0747
0.2364
0.6483
0.6962
0.2358
0.0335
0.4260
0.1117
0.5401
0.6454
0.2605
0.4186
0.9268
0.8607
0.0872
0.7895
0.6240
0.9751
0.6145
0.4680
0.6953
0.0680
0.3132
0.4927
80
85
85
80
85
85
85
80
85
85
85
85
80
85
85
85
85
85
85
85
85
80
85
85
85
85
85
85
80
85
2520
84.0
7000
8500
8500
7000
8500
8500
8500
7000
8500
8500
8500
8500
7000
8500
8500
8500
8500
8500
8500
8500
8500
7000
8500
8500
8500
8500
8500
8500
7000
8500
246,000
8200.0
80
90
90
80
90
90
90
80
90
90
90
90
80
90
85
90
90
90
90
90
90
80
90
90
90
90
90
90
80
90
2635
87.8
6000
9000
9000
6000
9000
9000
9000
6000
9000
9000
9000
9000
6000
9000
7500
9000
9000
9000
9000
9000
9000
6000
9000
9000
9000
9000
9000
9000
6000
9000
250,500
8350.0
Pedido Q = 95
Peridicos
Utilidad
Vendidos
80
95
95
80
95
95
95
80
90
95
95
90
80
95
85
95
95
90
95
95
95
80
95
95
95
95
95
95
80
90
2730
91.0
5000
9500
9500
5000
9500
9500
9500
5000
8000
9500
9500
8000
5000
9500
6500
9500
9500
8000
9500
9500
9500
5000
9500
9500
9500
9500
9500
9500
5000
8000
249,000
8300.0
7.3
4 - 46
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
Duracin media
B
40
C
20
D
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.6
2
c
0.5
4
1.0
5
0.4
d
1.0 6
b
j
1.0 19
1.0
1.0
k
21
Ruta
1
2
3
4
5
6
7
8
Media
5
3
10
2
8
3
12
5
Desviacin
1.0
0.5
1.0
0.25
0.5
0.25
0.5
0.2
20
Ruta
9
10
11
12
13
14
15
16
8
f
1.0 22
e
1.0
9
Media
7
9
4
9
6
4
2
4
0.5
15
0.8
16
0.3
17
Desviacin
0.4
0.3
0.6
1.0
0.4
0.1
0.1
0.3
Ruta
17
18
19
20
21
22
1.0
10
1.
11
1.0 12
Media
8
3
6
9
5
3
Desviacin
0.2
0.3
1.0
1.0
0.5
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.).
4 - 47
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)
I/J
I=1
I=2
I=3
I=4
I=5
I=6
....
I=21
I=22
I=23
J=1
0
0
1
0
0
1
0
4
0
MATRIZ RUTA
J=2
J=3
2
3
1
5
1
7
1
6
1
6
1
7
1
2
2
22
1
1
j=4
4
0
0
0
0
0
0
2
2
I/J
I=1
I=2
I=3
I=4
I=5
I=6
....
I=21
I=22
I=23
MATRIZ TIEMPO
J=1
J=2
J=3
0.4
5
1.0
0.6
3
0.5
0.5
10
1.0
0.5
2
0.25
1.0
8
0.5
1.0
3
0.25
1.0
1.0
1.0
5
5
3
0.5
0.5
0.3
3)
4)
Para la implementacin del procedimiento anterior, es necesario tener en cuenta los siguientes aspectos,
relacionados con la simulacin propiamente dicha, y son:
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 I = 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:
Si Tiempo_Viaje representa el tiempo gastado en un viaje, el intervalo Int en el cual cae este valor estar
dado por:
Tiempo _ Viaje T 0
Int
2
T
Si Int < 1
Int = 1
Si Int > Nro_Int Int = Nro_Int
(ver captulo 5, seccin 5.5 Registro de distribuciones de frecuencia..
4 - 49
A
Tiempo viaje = 0
Ruta = Nro_rutas +1
No
Desemboca en un
punto de entrega?
Si
Identifique el punto de entrega.
S
No
Es el punto A?
No
No
S
Ruta = Nro_rutas +1
Desemboca en dos
rutas?
Identifica la ruta
Selecciona la ruta
Si
Generar reporte
Actualiza tiempo de viaje
Fin
B
SI NO
IR1 = RUTAS(IR,3)
IR2 = RUTAS(IR,4)
GENERE NUMERO ALEATORIO R
SI R .LT. TIEMPO(IR1,1)
IR = IR1
IR = RUTAS(IR,3)
SI NO
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
4 - 50
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
Semillas
Nmero de viajes
Tiempo medio
Desviacin estndar
Tiempo mnimo
Tiempo Mximo
CORRIDA No 1
111, 555, 999
1000
148.4
46.8
78.1
483.5
CORRIDA No 2
77, 777 y 7777
1000
149.6
45.4
75.3
366.4
Limite
Limite
inferior
superior
80 menos
95
110
110
125
125
140
140
155
155
170
170
185
185
200
200
215
215
230
230
245
245
260
260
275
275
290
305 mas
Frecuencia
absoluta
5
53
123
179
170
116
102
75
57
42
24
16
8
10
20
Frecuencia
relativa
0.5
5.3
12.3
17.9
17.0
11.6
10.2
7.5
5.7
4.2
2.4
1.6
0.8
1.0
2.0
Frecuencia
Rel. acum.
0.5
5.8
18.1
36.0
53.0
64.6
74.8
82.3
88.0
92.2
94.6
96.2
97.0
98.0
100.0
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 - 52
x
100 ,
f ( x)
20 x ,
100
a)
0 x 10
10 x 20
f ( x) (b 1) (1 x)b ,
b)
0 x1
4.9 Desarrolle generadores de procesos para cada una de las variables definidas por las siguientes
funciones de probabilidad:
a)
p(1 p) x1
p ( x)
,
n
1
(
1
p
)
b)
p(x) 1/ 6,
x 1, 2, 3,...,
x 1, ,2,...,6
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) =
i i
i t in
n 1!
, ti 0, i 1, 2, 3
i
i
ni
1
0.25
4
2
0.10
8
3
0.25
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.
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
B
E
3
.7 0.3
0.5
1
0.2
0.6
7
10
9
1A
4
1.
H
G
D
13
.5
.6 . 5
0.4
0.4 11 .6
2
8
12
.4
F
C
6
La distribucin del tiempo gastado en cada ruta es normal, con los siguientes parmetros:
Ruta
1
2
3
4
5
6
Media(min)
20
15
5
7
6
10
Desviacin
1.0
2.0
0.5
1.0
1.5
2.0
Ruta
7
8
9
10
11
12
13
Media (min)
4
5
3
6
5
7
6
Desviac.
0.6
0.8
0.25
1.0
0.8
1.1
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 = 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
Xi
i
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
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
1
2
3
COMPONENTE PRINCIPAL
Vida Media
Desviacin
(aos)
Estndar (aos)
1.2
0.10
1.4
0.15
1.1
0.10
COMPONENTES DE RESPALDO
Vida media
Costo/unidad
(aos)
agregada
0.05
200
0.07
300
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)
,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 = 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
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.
4 - 55
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
Malo
0.05
0.20
0.41
0.26
0.08
40
50
60
70
80
90
100
110
120
130
140
150
Bueno
0.02
0.15
0.28
0.24
0.12
0.09
0.06
0.04
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
Probabilidad
0
0.10
1
0.40
1
0.10
2
0.35
2
0.25
3
0.15
3
0.30
4
0.25
4
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
Probabilidad
5
0.05
6
0.05
7
0.10
8
0.15
9
0.25
10
0.25
11
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
Probabilidad
4
0.15
5
0.20
6
0.30
7
0.20
8
0.15
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)
Probabilidad
50 - 55
0.10
55 - 60
0.15
60 65
0.30
65 - 70
0.35
70 - 75
0.08
75 - 80
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
Probabilidad
4.0 4.5
0.30
4.5 5.0
0.40
5.0 5.5
0.20
5.5 6.0
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?
Introduccin
Definiciones
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
Trfico
ENTIDADES
Carros
Banco
Clientes
Comunicaciones
Mensajes
Supermercado
Empresa
Consumidores
Departamentos
Ordenes
Productos
ATRIBUTOS
Velocidad
Distancia
Balance
Estado de crdito
Longitud
Prioridad
Lista de compras
Tipos
Cantidades
ACTIVIDADES
Conduccin
Depositar
Retirar
Transmisin
Pagar
Proceso
de
rdenes
Para realizar una simulacin hay dos aspectos muy importantes que hay que analizar, a saber:
a.
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.
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
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
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
Se presta el servicio
El cliente sale
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).
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.
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.
Inicio
Definicin de parmetros
Reloj = 0
Incializacin registros = 0
Para i = 1, nro_clientes
tiempo entre llegadas
Genera tiempo
entre llegadas
Siguiente cliente
Clculo de estadsticas
Reloj = Tiempo salida ltimo cliente
Fin
Figura 5.3 Diagrama de flujo para a simulacin de un sistema de colas con un servidor. Enfoque
del flujo
Clculo para la
fila i
(i) = (i-1) + 1
Nmero aleatorio
=aleatorio()
Segn distribucin
D(i-1)+C(i)
Max(D(i), I(i-1)
Tiempo de espera
E(i) D(i)
Nmero aleatorio
=aleatorio()
Tiempo de servicio
Segn distribucin
E(i) + H(i)
Columna Contenido
Observaciones
Inicia en 1
D(1) = 0
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:
0.125
0.125
0.125
0.125
0.125
0.125
0.125
0.125
1
0.10
2
0.20
3
0.30
4
0.25
5
0.10
6
0.05
R
(B)
0.853
0.208
0.945
0.030
0.064
0.984
0.603
0.852
0.302
0.981
0.048
0.780
0.882
0.945
0.698
0.514
0.631
0.552
0.229
(D)
0
7
9
17
18
19
27
32
39
42
50
51
58
66
74
80
85
91
96
98
(E)
0
7
11
17
21
22
27
32
39
43
50
54
58
66
74
80
85
91
96
100
(F)
0
0
2
0
3
3
0
0
0
1
0
3
0
0
0
0
0
0
0
2
14
0.7
Estadsticas:
1
Tiempo promedio de espera
2
Clientes que no esperan
3
Probabilidad de esperar
4
Tiempo medio de los que esperan
5
Porcentaje de inactividad del cajero
6
Tiempo medio de servicio
7
Tiempo medio entre dos llegadas
8
Tiempo medio en el sistema
9
Tiempo medio en el sistema control
10
Nmero medio de clientes en el sistema L
11
Nmero medio de clientes en la cola Lq
12
Nmero medio de clientes en servicio a
13
L aprox. Control
(G)
0.101
0.706
0.541
0.649
0.092
0.072
0.796
0.213
0.819
0.035
0.755
0.497
0.626
0.451
0.726
0.434
0.089
0.411
0.743
0.904
(H)
2
4
3
4
1
1
4
2
4
1
4
3
4
3
4
3
1
3
4
5
60
3
=
=
=
=
=
=
=
=
=
=
=
=
=
0.7
14
0.3
2.3
42.9
3
4.9
3.7
3.7
0.76
0.14
0.57
0.71
(I)
2
11
14
21
22
23
31
34
43
44
54
57
62
69
78
83
86
94
100
105
(J)
2
4
5
4
4
4
4
2
4
2
4
6
4
3
4
3
1
3
4
7
74
3.7
(K)
0
5
0
3
0
0
4
1
5
0
6
0
1
4
5
2
2
5
2
0
45
0.429
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
Puede entrar al
sistema?
No
S
Cliente se va
Se identifica al Cliente
Hay servidores
inactivos?
Se selecciona un servidor
Si
disponible
No
La unidad pasa
a la Cola
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
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.
Fin de un servicio
Se identifica el Servidor
Se identifica el Cliente
Hay Clientes
esperando servicio
No
El servidor va a
la cola
3.2
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)
c)
3.3
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
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
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
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:
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)
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.
Inicio
INICIO
Lectura de parmetros
Reloj = 0
Inicializar estado del sistema:
- Todas las mquinas funcionando
- Todos los operarios inactivos
Inicializar contadores
Reloj = Reloj +1
AAAAAAAAAAAA
Para cada mquina I
En espera
En Reparacin
Estado de la mquina
En funcionamiento
Actualizar tiempo en
servicio
No
Trabajando
Termin?
No
No
Reloj=tiempo de simulacin?
S de salida
Generar el reporte
Fin
Figura No 5.8 Avance del Tiempo Unidad por Unidad. Caso del taller de N mquinas y M mecnicos
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)
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)
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
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 = 216-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.
Tipo de evento?
Generar Reporte
Falla
Reparacin
Identificar maquina
Aumentar en 1 las maquinas inactivas
Fin
Hay mecnicos
inactivos?
No
Aumentar en 1 las
mquinas en cola
Mquina en lista de
espera
S
Escoger un mecnico
Asignar mquina al mecnico
Prximo evento ( A )
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
CR
Evento = Reparacin
Identificar mecnico
Identificar mquina reparada
Aumentar en 1 las mquinas operando
No
Aumentar en 1 los
mecnicos inactivos
S
Escoger una maquina
Asignar maquina al mecnico
Mecnico en lista de
espera
Prximo evento ( A )
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
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
3.3.4
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 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 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.
Unidad de
tiempo
Probabilidad
exacta
Aproximacin
del Modelo
1/2 minuto
1 minuto
2 minutos
3 minutos
4 minutos
0.0848
0.0952
0.1813
0.2592
0.3297
0.05
0.10
0.20
0.30
0.40
Error por
minuto
de simulacin
0.00240
0.00480
0.00935
0.01360
0.01760
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)
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)
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)
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)
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
(evento
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
Inicializacin de contadores
Algoritmo de simulacin
Cuando el avance del reloj es unidad por unidad (activity scanning), el algoritmo de simulacin
comprende los siguientes pasos:
Inicio de la simulacin
Inicializacin de contadores
Algoritmo de simulacin
Examen de entidades del sistema para ver si hubo cambios en la ltima unidad de
tiempo.
Actualizacin de todas las estadsticas que sean apropiadas para generar el reporte final.
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.
Inicio
Puede
ejecutarse el
evento?
S
No
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
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,
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
I
I
I
I
I
=1
=2
=3
=4
=5
...
I = N-1
I=N
J=1
J=2
J=3
...
J=M-1
J=M
0
16
15
0
14
...
0
0
3
32
30
12
22
...
0
0
5.0
7.2
6.2
4.2
3.5
...
0
0
Figura No 5.5
...
...
...
...
...
...
...
...
4
13
21
8
8
...
0
0
11
9
20
4
4
...
0
0
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
J
J
J
J
J
=
=
=
=
=
1
2
3
4
5
=
=
=
=
=
Nmero de orden
Fecha de llegada
Estado de la orden
Fecha de entrega
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
Recoleccin de estadsticas
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.
5.
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
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:
Xi
i 1
Xi X
n
S2
i 1
n 1
X i2 n * X 2
i 1
n 1
un
registro
adicional
Pr obabilidad
5.2
Casos favorables
Casos posibles
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
(T1 T0 )
T
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 nt que estn
operando como funcin del tiempo.
Nmero
de
Entidades
(t i 1 t i )
n t
t
n i (t i 1 t i ) n t t
i
NT
NT
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
X0
X
M
El primer intervalo se destina para aquellas observaciones que son muy pequeas e incluye
aquellos valores que son menores que o iguales a X0, es decir, el primer intervalo comprende los
valores entre - y X0. El ltimo intervalo contiene aquellos valores que son muy grandes. Los
lmites de los intervalos de clase se ilustran en la siguiente tabla.
X X0
I
1.99
X
Si I < 1 I = 1
Si I > M I = M
FI = FI + 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 X0 (el primer intervalo es cerrado por
encima).
CALCULO DE DISTRIBUCIONES
Nmero del
Intervalo
1
2
3
4
.
J
.
NI 1
NI
Lmite Inferior
Xi 1
-
X0
X0 + X
X0 + 2 X
Lmite Superior
Xi
X0
X0 + X
X0 + 2 X
X0 + 3 X
X0 + (j 2) X
X0 + (j - 1) X
X0 + (NI - 3) X
X0 + (NI - 2) X
X0 + (NI - 2) X
Frecuencia
Fi
Totales
||
||||||||
||||||||||||||||||||
|||||||||||||||||||||||
.......................
||||||||||||||||||||||||
...................
||||||
|||||
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
Fi
n
FR i
i
FRAi FR k
k 1
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:
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:
Suma de cuadrados = X2 = X2 x2
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
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 costo total asociado con parar el equipo y reemplazar los tubos es $ 60 000 por hora, mas
$ 80 000 por cada tubo nuevo.
Ci
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
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
Si No
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
Poltica=Poltica propuesta
Nmero_tubos = 4
Fin Si
Siguiente poltica
Escribir la mejor poltica
Fin Simulacin
Si No
Comparar polticas y escoger la mejor
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
D
472
TF(1)
472
466
472
472
580
-
556
574
580
D
466
Tubo No 3
Tubo No 4
TF(2)
466
D
661
TF(3)
661
D
533
TF(4)
533
T_rep
T_fin
661
661
533
533
108
574
556
1130
769
641
1130
769
641
1324
1213
852
724
724
1324
1213
852
824
1424
1313
952
605
1429
952
1424
1313
605
1429
1048
1520
1409
1415
605
1525
663
661
Reparacin
367
83
100
96
663
824
1048
Tiem.
Nro
de
Inact. Tubos
4
0
108
108
191
191
291
291
387
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:
Conceptos/ Poltica
Semilla para fallas
Semillas para reparacin
Tiempo simulado
Tiempo de inactividad
No de tubos reemplazados
Costo por hora
Simulacin No 1
Actual
Propuesta
555
555
4777
4777
60241
60315
24086
17230
243
344
243
176
Simulacin No 2
Actual
Propuesta
4729
4729
8215
8215
60244
60201
24072
17443
241
344
243
178
6.2
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
Carburador
Sistema Elctrico
Enfriamiento
KILMETRO MEDIO
23.000
20.000
40000
VARIACIONES
10.000
7.000
20.000
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)
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:
Mef(1)
Mef(2)
Mef(3)
Mef(4)
Mef(5)
=
=
=
=
=
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.
Problemas
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:
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
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
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
b)
Cul
c)
Cul
mquinas, o
5.9
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.
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
C
C
C
C
C
C
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
mecan(k,4) = reloj
fin para
C
C
c
c
c
c
c
c
c
c
c
c
c
dt = tpe - reloj
reloj = tpe
c
c
c
c
C
C
maqui(i,5) = reloj
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
Si hay mecanicos, se escoge el primero
k = cola(1,2)
nro_unid_cola(2) = nro_unid_cola(2) - 1
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
c
c
c
c
c
c
fin si
si no
C
C
C
c
c
c
c
nro_maq_fun = nro_maq_fun + 1
maqui(i,2) = 0
maqui(i,3) = maqui(i,2) + reloj - maqui(i,5)
programacion del evento falla.
r = rnd
tfalla = -ln( r )/tasa_falla
maqui(i,1) = reloj + tfalla
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
Si no
c
c
c
maqui(i,2) = 2
mecan(k,2) = i
r = rnd
trep = -ln( r )/tasa_repara
mecan(k,1) = reloj + trep
c
C
C
C
C
C
C
C
C
C
fin si
fin si
fin de evento reparacion
Fin mientras
Fin de la simulacin, cuando el Tipo de Evento sea = 3
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
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
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
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
fin
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 1
Fuente 2
Fuente
Centro de espera
Centro de servicio
La fuente de llegadas
El tipo de llegadas
Los tiempos entre llegadas.
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.
Llegadas regulares, a intervalos constantes.
Llegadas en grupo.
Llegadas regulares con impuntualidad.
Llegadas en tiempos discretos.
Llegadas no estacionarias. Se presenta cuando la tasa de llegada no es constante, sino que depende del
instante de tiempo considerado
Llegadas que siguen una distribucin general.
Otros aspectos relacionados con las llegadas son:
Los clientes se desaniman segn el tamao de la cola.
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)
b)
c)
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.
Disciplina LIFO o UEPS (ltimos en entrar, primeros en salir). Los ltimos clientes en llegar, sern los
primeros en ser atendidos.
Seleccin aleatoria de la unidad a ser atendida.
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)
b)
c)
d)
e)
f)
Tiempo medio que una unidad permanece en el sistema y la distribucin de frecuencia del tiempo de
permanencia en el sistema.
Utilizacin de las estaciones de servicio.
Nmero medio de unidades en el sistema y distribucin del nmero de unidades del sistema.
Tiempo medio que permanece una unidad en cada una de las colas y su distribucin.
Nmero medio de unidades en cada una de las colas y su distribucin.
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.
6-3
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.
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.
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
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.
1
2
k
Llegada
Lnea de espera
Centro de servicio
6-5
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
Se presta el servicio
El cliente sale
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).
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.
6-6
Inicio
Definicin de parmetros
Reloj = 0
Incializacin registros = 0
Para i = 1, nro_clientes
tiempo entre llegadas
Genera
tiempo
entre llegadas
Clculo de estadsticas
Fin
Figura 6.3 Diagrama de flujo para a simulacin de un sistema de colas con un servidor. Enfoque del flujo
6-7
Contenido
Observaciones
(i) = (i-1) + 1
Inicia en 1
Nmero aleatorio
=aleatorio()
Segn distribucin
D(i-1)+C(i)
Max(D(i), I(i-1)
Tiempo de espera
E(i) D(i)
Nmero aleatorio
=aleatorio()
Tiempo de servicio
Segn distribucin
E(i) + H(i)
I(i) D(i)
E(i) I(i-1)
D(1) = 0
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:
0.125
0.125
0.125
0.125
0.125
0.125
0.125
0.125
1
0.10
2
0.20
3
0.30
4
0.25
5
0.10
6
0.05
6-8
(A)
(B)
Tiempo
Tiempo
Tiemp de
Tiempo
prxima
inicio
llegada
de espera
llegada
servicio
Tiempo
de
servicio
Tiempo
fin de
servicio
Tiempo
en el
sistema
Tiempo
ocioso
cajero
(I)
(J)
(K)
(C)
(D)
(E)
(F)
(G)
(H)
0.101
0.853
0.706
11
0.208
11
0.541
14
0.945
17
17
0.649
21
0.030
18
21
0.092
22
0.064
19
22
0.072
23
0.984
27
27
0.796
31
0.603
32
32
0.213
34
0.852
39
39
0.819
43
10
0.302
42
43
0.035
44
11
0.981
50
50
0.755
54
12
0.048
51
54
0.497
57
13
0.780
58
58
0.626
62
14
0.882
66
66
0.451
69
15
0.945
74
74
0.726
78
16
0.698
80
80
0.434
83
17
0.514
85
85
0.089
86
18
0.631
91
91
0.411
94
19
0.552
96
96
0.743
100
20
0.229
98
100
0.904
105
20
98
14
60
74
45
4.9
0.7
3.7
0.429
Estadsticas:
1
0.7
14
Probabilidad de esperar
0.3
2.3
42.9
4.9
3.7
3.7
10
0.76
11
0.14
12
0.57
13
L aprox. Control
0.71
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
5.1
Sistema de colas con varias estaciones de servicio en paralelo. Enfoque por eventos
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.
Llegada Cliente
Puede entrar al
sistema?
No
Cliente se va
Se identifica al Cliente
Hay servidores
inactivos?
S
Se selecciona un servidor
disponible
Si
No
La unidad pasa
a la Cola
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.
Fin de un servicio
Se identifica el Servidor
Se identifica el Cliente
Hay Clientes
esperando servicio
No
El servidor va a
la cola
Inicializacin de contadores
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.
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.
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:
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.
6 - 13
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
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.
Cuando el prximo evento es una llegada, el simulador debe realizar las siguientes actividades
3.1
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.
5.
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.
Cuando se termina la simulacin, es necesario calcular e imprimir las estadsticas de inters tales como:
5.3
6 - 14
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
6 - 15
6 - 16
Estado de la unidad.
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.
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:
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
I=1
I=2
I=3
I=K
(J = 1)
15
13
0
Tiempo de
inactividad
(J = 2)
Tiempo inicio de
inactividad
(J = 3)
COLA_CL(I):
6 - 18
COLA_EST(I):
NRO_CL_COLA:
NRO_EST_IN:
LCOLA:
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:
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
Fin Simulacin (I = 1)
Llegada cliente (I = 2)
Fin Servicio
(I = 3)
..
Fin Servicio (I = k + 2)
Tiempo de Servicio
Entidad
(J = 2)
Nmero del cliente
Nmero Estacin
.
Nmero Estacin
Tipo
(J = 3)
1
2
3
.
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:
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.
6 - 19
Recoleccin de Estadsticas
En la simulacin de un sistema de colas puede ser interesante recoger las siguientes estadsticas::
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.
6 - 20
6 - 21
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
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
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.
Puede entrar al
sistema?
NO
Cliente se va
Se identifica al Cliente
Si 1 est
Estacin No
inactiva?
Si
No
Cliente pasa a
la Cola No 1
Figura 6.12 Sistema en serie. Actividades realizadas cuando una unidad llega al sistema
6 - 24
Fin de un servicio
Es J la ltima
estacin?
El cliente sale
del sistema
No
No
Cliente pasa a la
cola siguiente (j+1)
No
El servidor J
queda inactivo
Fig. 6.13 Sistema en serie. Actividades realizadas por el simulador cuando finaliza un servicio.
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
7.1
Problemas resueltos
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)
b)
c)
d)
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.
6 - 26
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.
6 - 27
Poltica No 2
= 8, N = 2
Poltica No 3
= 4, N = 3
Simulacin
Analtico
Simulacin
Analtico
Simulacin
Analtico
Unidades atendidas
1864
1816
2244
2177
2092
2030
2477
2400
2477
2400
2477
2400
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?.
6 - 28
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: u 1 = 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)
b)
c)
d)
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:
Probabilidad:
0.5
0.15
1.0
0.25
1.5
0.30
2.0
0.25
2.5
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
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.
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)
b)
c)
d)
e)
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)
b)
c)
d)
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
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
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)
b)
c)
d)
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.
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
1
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
7-
L1
L2
L3
7-
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.
It
Q1
Q2
L1
T
Q3
L2
T
L3
T
Q1
L1
T
L2
T
L3
T
7-
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/T p
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 < .
Uniforme
Potencia
7-
3.3.1
3.3.2
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.
7-
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 t hay un inventario de It artculos, el costo de mantener este inventario estar dado por C M
It t.
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 (I11 + I22
I1
I2
I3
I4
I5
I6
10
[$]
,
[ Q]
[CM ] = [iC] =
[$]
,
[ Q][ T ]
[ A ] =[ $ ],
[i]=
[$]
1
[$][ T ] T
donde [Q] denota unidades de cantidad, [$] denota unidades monetarias o de pesos y [T] denota
unidades de tiempo.
3.3.3
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:
-
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 ]
[$]
[ Q]
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 el capital invertido, es decir, la inversin en inventarios puede estar limitada a un capita
mximo.
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
7-
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:
-
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.
7-
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.
2)
3)
3)
El fin de la simulacin
7-
10
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 t,
entonces el costo de mantenimiento del inventario durante ese tiempo (CMt) estar dado por:
CMt = CM. It. t
Si durante el tiempo t 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. 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 C E. 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 t, entonces el costo en que ha incurrido el sistema para mantener esas unidades en
inventario durante t, est dado por CM. It. t, es decir, el costo de mantenimiento del inventario hasta el
tiempo t - CMt - estar dado por:
CMt = CMt + CM. It 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 E t, y se ha
mantenido durante el intervalo de tiempo t, el costo acumulado de escasez hasta el tiempo t (CEt) est
dado por:
CEt = CEt + CE. Et 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 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 (I t) y el resto (Dt - It) ser la demanda no
satisfecha a tiempo, la cual se podr comprometer para ser satisfecha cuando se reabastezca el
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 I t (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 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 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 = It + Q - Et ,
It = 0
Et = 0
si Et > Q.
si Et Q.
Habiendo considerado los diferentes aspectos de cualquier sistema de inventario, se puede entrar ahora a la
simulacin de los mismos.
5
El fin de la simulacin
La demanda por artculos (llegada de un cliente)
La llegada de un lote de artculos para reabastecer el inventario.
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
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:
-
7-
13
Comienza la simulacin
Legada lote
Tipo evento?
Lectura de datos
Fn
Asignacin de valores de Q y
R o de T y S.
Fin
Fin
Revisin
D
Demanda C
C
A
Registrar cantidad pedida - D
Reloj = 0
Inicializacin del estado del
sistema:
- Nivel del inventario
- Escasez, ordenes pendientes
Lista de eventos:
- Fin de Simulacin
- Primera Demanda
Puede satisfacerse
la demanda?
Se reduce el
inventario fsico en la
cantidad pedida.
Sistema T?
Lista de eventos:
- Primera Revisin
S
S
Inicializar contadores
B
No
Bsqueda del prximo evento
No
Se reduce el inventario
fsico y en rdenes
en la
No
cantidad No
pedida
No
Demanda comprometida =
Valor anterior
+Demanda insatisfecha
Demanda Satisfecha
S
= Nivel del Inventario
Se reduce el
inventario a cero
Ventas perdidas?
S
Inventario fsico y en
rdenes se reduce en la
demanda satisfecha.
Se actualizan ventas
prdidas
7-
E
4
Actualizacin de estadsticas
sobre demandas satisfechas y no
satisfechas
No
Se alcanza a satisfacer
demanda comprometida?
S
Se lleg al punto de
reorden?
No
Se reduce el nivel de la
demanda
comprometida
Se satisface demanda
comprometida y se lleva el
resto al inventario.
Se actualiza la Lista de
Eventos Futuros, eliminando
esta llegada.
B
B
S
Realizar los cambios requeridos:
- Variables de Decisin (Q,R) o (T,S)
- Reinicializar semillas.
S
Fin Simulacin
14
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
1
2
3
4
5
N
TIEMPO
Tiempo de Simulacin
Tiempo Prxima Demanda
Tiempo prxima revisin
Tiempo de llegada
Tiempo de llegada
CANTIDAD
No hay
Demanda
Nivel mximo S
Tamao del lote Q
Tamao del lote Q
TIPO
Fin
Demanda
Revisin inv
Llegada lote
Llegada lote
Tiempo de llegada
tipo 1
tipo 2
tipo 3
tipo 4
tipo 4
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)
MEF (1,2)
= Tiempo de simulacin
= 1, que indica que el evento es el fin de la simulacin.
MEF (2,1)
MEF (2,2)
MEF (2,3)
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
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 t
- Costos de Escasez:
CEt = CEt + CE. Et t, 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
7-
17
7-
18
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 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
Probabilidad
10
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
Probabilidad
0.2
0.6
0.2
7-
19
Inv
inicial
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Promedi
o
50
50
45
38
34
27
20
15
10
7
1
0
42
34
28
21
13
7
3
0
0
43
38
31
23
14
7
2
0
0
43
40
38
33
27
18
13
11
7
3
0
43
35
26
20
14
20.5
Lote
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
50
Demanda Demanda.
Satisf.
5
7
4
7
7
5
5
3
6
5
8
8
6
7
8
6
4
8
2
7
5
7
8
9
7
5
2
8
7
3
2
5
6
9
5
2
4
4
7
7
8
9
6
6
5
5.87
5
7
4
7
7
5
5
3
6
1
8
8
6
7
8
6
4
3
0
7
5
7
8
9
7
5
2
0
7
3
2
5
6
9
5
2
4
4
3
7
8
9
6
6
5
5.36
Total
Invent. Inv fsico Ordenes Tiempo
Ventas
fsico
y en
?
de
Perdidas
final
rdenes
espera
0
50
50
0
45
45
0
0
0
38
38
0
0
0
34
34
0
0
0
27
27
0
0
0
20
20
50
5
0
15
65
0
0
0
10
60
0
0
0
7
57
0
0
0
1
51
0
0
4
0
50
0
0
4
42
42
0
0
4
34
34
0
0
4
28
28
0
0
4
21
21
0
0
4
13
13
50
4
4
7
57
0
0
4
3
53
0
0
9
0
50
0
0
11
0
50
0
0
11
43
43
0
0
11
38
38
0
0
11
31
31
0
0
11
23
23
0
0
11
14
14
50
4
11
7
57
0
0
11
2
52
0
0
11
0
50
0
0
19
0
50
0
0
19
43
43
0
0
19
40
40
0
0
19
38
38
0
0
19
33
33
0
0
19
27
27
0
0
19
18
18
50
5
19
13
63
0
0
19
11
61
0
0
19
7
57
0
0
19
3
53
0
0
23
0
50
0
0
23
43
43
0
0
23
35
35
0
0
23
26
26
0
0
23
20
20
50
4
23
14
64
0
0
23
9
59
0
0
0.51
19.6
41.8
50.0
4.4
Llegada
lote
0
0
0
0
11
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
48
0
0
7-
20
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)
2)
3)
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.
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.
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)
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)
2)
3)
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.
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.
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.
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.
0.01
0.03
0.06
0.11
0.19
0.31
0.17
0.07
0.03
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
7-
23
Inventario inicial II
Semillas
: 500
: 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
Tiempo simulado (das)
Nivel de Servicio (%)
Costo total de Mantenimiento
Costo de ventas perdidas
Costo de adquisicin
Costo de los artculos
Nmero de pedidos
Costo por unidad de tiempo
Demanda media satisfecha
Demanda media insatisfecha
Inventario fsico medio
Inventario medio fsico y en rdenes
7
Sistema de revisin
continua
Q = 330, R = 20
1000
95.4
533.63
1835
540
44550
27
47.46
9.37
0.37
160.1
193.8
Sistema de Revisin
peridica
T = 30, S = 350
1000
99.70
564.93
105
660
47315
33
48.64
9.72
0.02
169.5
204.3
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 (X 0) y un incremento (X), y se
7-
24
determina el valor de la funcin objetivo en el punto inicial, y luego en un nuevo punto situado a una distancia
X hacia la derecha del punto inicial (X0 + X); 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 X 0 + X es peor que en el punto inicial X0,
entonces se ensaya el punto X0 - X; 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 (X 0 - X) 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 R 1, 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* = Q N,
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 R 1.
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.
x (t ) 0 xf (x )dx
Si la demanda est descrita por una funcin discreta de probabilidad p(x), entonces la demanda media estar
dada por
x ( t ) x p( x )
x 0
x(t ) / t .
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:
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*:
2 A
Cm
2 A
iC
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
2 x20 x9.72
342
0.00333
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 X (L) Lmax * Xmax
La demanda media durante el tiempo de espera est dada por:
x(t ) x L
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:
B R x(t ) x L
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
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.
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
1
2
3
4
5
6
7
8
9
0.003375
0.016875
0.055125
0.119125
0.192000
0.229500
0.202000
0.126000
0.048000
0.008000
0.3375
2.0250
7.5375
19.4500
38.6500
61.6000
81.8000
94.40000
99.20000
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 espera1. 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:
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.
7-
Probabilidad P (L)
Probabilidad P (X)
1
2
3
4
0.10
0.20
0.40
0.30
0
1
2
3
0.15
0.25
0.40
0.20
27
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
1
2
3
4
5
6
7
8
9
10
11
12
19
58
86
150
149
159
138
110
74
33
17
6
1
0.019
0.058
0.086
0.150
0.149
0.159
0.138
0.110
0.074
0.033
0.017
0.006
0.001
1.9
7.7
16.3
31.3
46.2
62.1
75.9
86.9
94.3
97.6
99.3
99.9
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:
2A
C m
2A
iC
Para el ejemplo que hemos estado analizando, este valor sera igual a
2A
C m
2 x 20
35das
0.00333 x9.72
7-
28
S Dmax(T Lmax)
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
10
15
20
25
30
35
40
45
50
0.200
0.100
0.070
0.098
0.170
0.156
0.090
0.074
0.042
TIEMPO DE ESPERA
(DAS)
PROBABILIDAD
1
2
3
4
5
6
0.05
0.18
0.26
0.33
0.08
0.10
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
70
Conceptos
Nivel de servicio
Costo de Mantenimiento
Costo de escasez
Costo de Pedido
Costo de compra
Costo unitario
80
Nivel de servicio
Costo de Mantenimiento
Costo de escasez
Costo de Pedido
Costo de compra
Costo unitario
100
Nivel de servicio
Costo de Mantenimiento
Costo de escasez
Costo de Pedido
Costo de compra
Costo unitario
120
Nivel de servicio
Costo de Mantenimiento
Costo de escasez
Costo de Pedido
Costo de compra
Costo unitario
1000
97.0
96.4
41,941
46,815
5,150
6,875
60,000
54,000
4,050,000
4,050,000
4,157.1
4,157.7
1100
97.8
97.0
96.6
42,898
47,780
51,648
3,475
5,150
7,500
60,000
54,000
50,000
4,050,000
4,050,000
4,125,000
4,156.4
4,156.9
4,234.1
98.8
98.7
97.9
44,756
50,303
53,896
1,900
1,275
4,425
60,000
54,000
50,000
4,050,000
4,050,000
4,125,000
4,156.7
4,155.6
4,233.3
99.4
99.3
46,895
51,989
875
575
60,000
54,000
4,050,000
4,050,000
4,157.8
4,156.6
7-
29
7-
30
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)
b)
c)
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)
b)
c)
d)
La demanda
unidades.
La demanda
unidades.
La demanda
de unidades
Igual que c)
es Poisson con una media de 50 demandas por ao. En cada demanda se piden 2
es Poisson con una media de 25 demandas por ao y en cada demanda se piden 4
es Poisson con una media de 50 demandas por ao y en cada demanda el nmero
pedidas se distribuye geomtricamente con p = 0.5
con una media de 25 demandas por ao y p = 0.25
a)
b)
c)
d)
El
El
El
El
tiempo
tiempo
tiempo
tiempo
entre
entre
entre
entre
demandas
demandas
demandas
demandas
sucesivas
sucesivas
sucesivas
sucesivas
es
es
es
es
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
Q 35
36 Q 105
106 Q 245
Q 246
$ 80.00
$ 75.00
$ 73.00
Costo Unitario
$ 70.00
Para un punto de reorden de 8 unidades, determine cul de las siguientes polticas es la de menor costo:
a)
b)
c)
d)
Q
Q
Q
Q
=
=
=
=
35?
36?
105?
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
Febrero
Marzo
Abril
Mayo
Junio
0
1
2
10
25
40
julio
Agosto
Septiembre
Octubre
Noviembre
Diciembre
70
85
50
3
4
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)
b)
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
Unidades
0
1
2
Probabilidad
0.135
0.271
0.271
Demanda C, D, E
Unidades
0
1
2
Probabilidad
0.050
0.149
0.224
0.180
0.090
0.036
0.012
0.004
0.001
0.003
73
4
5
6
7
8
9
10
32
0.224
0.168
0.101
0.050
0.022
0.008
0.003
0.001
Probabilidad
0.30
0.40
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.
ii.
iii.
f)
Nmero de pedidos
Inventario promedio de cada artculo
Unidades de demanda perdida para cada artculo
Xxxxxxxxxxxx
d)
Costos.
b.
7-
33
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.
7-
34
TIEMPO
Tiempo de Simulacin
Tiempo Prxima Demanda
Tiempo prxima revisin
Tiempo de llegada
Tiempo de llegada
CANTIDAD
No hay
Demanda
Nivel mximo S
Tamao del lote Q
Tamao del lote Q
TIPO
Fin
Demanda
Revisin inv
Llegada lote
Llegada lote
tipo 1
tipo 2
tipo 3
tipo 4
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:
7 - 36
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
Fin si
7 - 38
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.
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.
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.
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.
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
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.
8- 4
X=
X
i =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 < +
8- 5
X - z1-/2
n )=1-
X z1-/2 / n
El intervalo de confianza antes encontrado estar dado por dos lmites:
Lmite inferior del intervalo de confianza = LI =
Lmite superior del intervalo de confianza = LS =
X - z1-/2 / n
X + z1-/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
n
X i X
i =1
n 1
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 =
Lmite superior = LS =
X - z1-/2 / n
X + z1-/2 / n
conocido
desconocido y n 30
X - t1-/2 S/ n
X + t1-/2 S/ n
desconocido y n < 30
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:
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:
X - z1-/2
P(
n )=1-
Si el error mximo permitido en la estimacin de la media poblacional (u) es entonces se tiene que:
=
z1 / 2
n n=
- = z1-/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:
M
Xi X
i =1
M 1
con
X =
X
i =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.
z1 / 2 = z1 / 2 S
n=
z1 / 2S
=
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),
8- 7
para enfatizar el hecho de que depende de n. Si Xi, i = 1, 2,..., n son los tiempos individuales de permanencia
en el sistema, entonces:
X ( n) =
1 n
n i =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.
X=
S
Entonces
1 p
1 p n
(
n
)
=
p i =1 X i
np j=1 i =1 Xij
1 p
=
p 1 j =1
(X (n) X)
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
B1
B2 B3
B4
Bp
9 EL PROBLEMA DE LA VALIDACIN
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.
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)
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)
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.
Enfoque de Hermann
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)
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)
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)
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.
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
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.
E(X - )2
xf(x)dx
= =
(x ) f (x)dx
E(X) = =
(1)
(2)
donde:
k
f j xj
1 n
j=1
x=
x =
k
n i = 1i
fj
j=1
(3)
M
2
f i (xi x)
n
1
2
(xi x) = i = 1
s2 =
M
n 1i = 1
fk 1
k=1
(4)
xi = Valor observado
fi = nmero de veces que se observ el valor xi
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 = S2
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) =
1
,
b a
axb
= 0 en otros casos
Entonces
E(X) = =
2 =
x
a+b
dx =
b a
2
(x )2dx = (b a)2
b a
12
a+b
$ = X =
2
(b a)2
2 = S2 =
12
$
a= XS 3
b$ = 2X a
S2 =
9- 4
(X a)2
3
$b = X + S 3
(5)
= f(x1)dx1.f(x2).dx2...f(xn)dxn=f(x1)f(x2)...f(xn)dx1dx2...dxn
La expresin:
L (X,) = f (x1) f (xn) = f (Xi)
(6)
L( X, , ) = f ( xi , , )=
2
i=1
i=1
/2
e (x i) =
2
( x ) / 2
i
e
i =1
( x i)
ln L( X, , 2) = n ln( 2 ) i=1
2 2
ln L( X, , )
=
2 ( x i) ( 1)
i=1
2 2
i =1
i=1
= 0 ( x i) x in = 0
xi
i=1
=X
ln L( X, , )
n
=
( x i) ( 2)
2 i=1
2 3
=0
n
+
( x i)
= 0
2 =
i=1
( x i x )
9- 5
i=1
T1 = = X
1
T2 = n Xi
i=1
n X2
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.
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.
diagnstico del error ayuda a su descubrimiento.
2)
Adems,
el
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.1
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
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
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 :
- Poltica No. 2 :
- Poltica No. 3 :
- Poltica No. 4 :
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
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.
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
Inc., y actualmente es
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)
5)
6)
7)
de $200 por
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
Los clculos complejos deberan realizarse en ms de una celda, para reducir las
posibilidades de error.
Plan No 1
Plan No 2
$100,000
$87,500
Larga distancia
Costo total
400
Ilimitado
$1000
$0
$0
$200
$100,000
$115,500
8
9
Minutos actuales
400
10
% de larga distancia
30%
11
No. de minutos de LD
120
12
13
$11,500
b)
Se seleccionan las celdas y se presionan el botn define forecasts (las celdas toman
color azul.
b)
c)