Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
programacin
Rafael Alberto Moreno Parra
La simulacin es un mtodo por el cual se puede probar o experimentar o ver qu sucede en
determinado proceso, escenario u objeto sin el riesgo que haya consecuencias reales. Esto
permite comparar diferentes soluciones ante un problema, probarlas y ver cul es la mejor,
despus de eso, se podra aplicar esa solucin que funcion adecuadamente en la simulacin,
en el mundo real y esperar que las consecuencias que el modelo de simulacin muestra, sean
las mismas en el mundo real.
27/07/2012
Contenido
Dedicatoria .................................................................................................................................................................................................................................................. 4
Agradecimientos.......................................................................................................................................................................................................................................... 5
Licencia de este libro ................................................................................................................................................................................................................................... 6
Marcas registradas ...................................................................................................................................................................................................................................... 7
Introduccin ................................................................................................................................................................................................................................................ 8
Nmeros aleatorios ..................................................................................................................................................................................................................................... 9
Nmeros aleatorios vs nmeros pseudo-aleatorios ............................................................................................................................................................................... 9
Generando nmeros pseudo-aleatorios ................................................................................................................................................................................................. 9
Mtodo congruencial .......................................................................................................................................................................................................................... 9
Algoritmo de cuadrados medios ....................................................................................................................................................................................................... 11
El infame generador RANDU ............................................................................................................................................................................................................. 11
Mersenne Twister .............................................................................................................................................................................................................................. 11
Multiply-with-carry ............................................................................................................................................................................................................................ 11
Well Equidistributed Long-period Linear (WELL) .............................................................................................................................................................................. 11
Probando los generadores de nmeros aleatorios ............................................................................................................................................................................... 12
Prueba del promedio ......................................................................................................................................................................................................................... 12
Prueba de varianza ............................................................................................................................................................................................................................ 12
Prueba de uniformidad Ji-Cuadrada .................................................................................................................................................................................................. 12
Prueba de Uniformidad de Kolmogorov-Smirnov ............................................................................................................................................................................. 15
Pruebas de Independencia .................................................................................................................................................................................................................... 17
Prueba de Pker ................................................................................................................................................................................................................................ 17
Prueba de Wald-Wolfowitz ............................................................................................................................................................................................................... 18
Variables Aleatorias ................................................................................................................................................................................................................................... 20
Variable aleatoria discreta..................................................................................................................................................................................................................... 20
Variable aleatoria continua ................................................................................................................................................................................................................... 21
Distribuciones de variables aleatorias continuas ...................................................................................................................................................................................... 22
Transformada Inversa............................................................................................................................................................................................................................ 22
Distribucin Normal .............................................................................................................................................................................................................................. 23
Distribucin Triangular .......................................................................................................................................................................................................................... 24
Distribucin Exponencial ....................................................................................................................................................................................................................... 25
Distribucin Uniforme ........................................................................................................................................................................................................................... 26
Distribuciones de variables aleatorias discretas ....................................................................................................................................................................................... 28
Distribucin Bernoulli ............................................................................................................................................................................................................................ 28
Distribucin Poisson .............................................................................................................................................................................................................................. 28
Ejemplos de simulaciones para resolver problemas ................................................................................................................................................................................. 30
El problema del viajero .......................................................................................................................................................................................................................... 30
Hallando el rea bajo la curva ............................................................................................................................................................................................................... 33
Resolviendo un Sudoku ......................................................................................................................................................................................................................... 35
Resolviendo el problema de Monty Hall o de las tres cajas .................................................................................................................................................................. 38
Deducir la mejor estrategia para que dos robots se encuentren.......................................................................................................................................................... 40
Simulando un proceso empresarial: Filas de Espera ................................................................................................................................................................................. 45
Sistema de filas de espera ..................................................................................................................................................................................................................... 45
Costos de un sistema de filas de espera................................................................................................................................................................................................ 46
Las llegadas en un sistema de filas de espera ....................................................................................................................................................................................... 46
La fila...................................................................................................................................................................................................................................................... 46
El servicio ............................................................................................................................................................................................................................................... 47
La simulacin ......................................................................................................................................................................................................................................... 47
Ejemplo 1 de simulacin de una fila de espera ..................................................................................................................................................................................... 47
Ejemplo 2 de simulacin de una fila de espera ..................................................................................................................................................................................... 48
Ejemplo 3 de simulacin de una fila de espera ..................................................................................................................................................................................... 50
Desarrollo del modelo ....................................................................................................................................................................................................................... 50
Dedicatoria
Agradecimientos
Las siguientes personas les agradezco su colaboracin para el desarrollo de este libro:
Matemtico Walter Magaa como el par evaluador del libro.
Ing. Mara Mercedes Sinisterra, directora de la Divisin de Investigacin de la Universidad Libre - Cali
Ing. Fabin Castillo, director del Programa de Ingeniera de la Universidad Libre - Cali
Marcas registradas
Universidad Libre Seccional Cali. Enlace: http://www.unilibrecali.edu.co/home/
En este libro se hace uso de las siguientes tecnologas registradas:
Microsoft Windows Enlace: http://windows.microsoft.com/en-US/windows/home
Microsoft Office Enlace: http://office.microsoft.com/en-us/excel
Oracle Java Enlace: http://www.oracle.com/technetwork/java/index.html
Introduccin
La simulacin es un mtodo por el cual se puede probar o experimentar o ver qu sucede en determinado proceso, escenario u
objeto sin el riesgo que haya consecuencias reales. Luego permite comparar diferentes soluciones ante un problema, probarlas y
ver cul es la mejor, posteriormente, se podra aplicar esa solucin que funcion adecuadamente en la simulacin, en el mundo
real y esperar que las consecuencias que el modelo de simulacin mostr, sean las mismas en el mundo real.
Es por ese motivo que cuando se planea una simulacin, sta debe ser lo ms realista posible o acercarse lo suficiente a lo que
sucede en la realidad. La expresin: la solucin funcionaba correctamente en el modelo, no entiendo la razn por la cual no
funciona en la realidad, significa que la simulacin no fue realizada correctamente, es decir, el modelo matemtico de la situacin
real tiene fallas como no deducir correctamente como las diferentes variables afectan el todo o en el peor de los casos, olvidar
incluir variables fundamentales.
Una de las lecciones que primero se aprenden al disear modelos de simulacin, es darse cuenta que el mundo real es
indeterminista, esto significa que hay variables que no se pueden controlar, a lo sumo estimar su comportamiento; estas variables
son conocidas como variables aleatorias, y funcionan con frmulas en el que el azar es el protagonista.
Uno de los temas ms llamativos es mostrar que haciendo uso de modelos de simulacin, es posible solucionar problemas
complejos, por ejemplo: encontrar el rea bajo la curva dibujada por una funcin algebraica requiere de resolver integrales, una
tarea que puede llegar a ser muy difcil, sin embargo, usando el mtodo Monte carlo, encontrar el rea bajo cualquier curva es
muy fcil, aclarando que es un mtodo que aproxima muy bien el rea de la curva, no es un mtodo totalmente exacto.
Muchas personas para entretenerse comienzan a resolver Sudokus, se han planteado Sudokus desde sencillos hasta
increblemente complejos que requieren horas o das de dedicacin para resolverlos. Cree que un mtodo usando azar pueda
resolver cualquier Sudoku? La respuesta es s, es un algoritmo muy sencillo, corto y rpido. En este libro se muestra y explica este
algoritmo.
Este libro va desarrollando el concepto de simulacin, los modelos, cmo se construyen, cules son sus partes; entre estas partes
estn los nmeros aleatorios (el representante del azar) explicando que son, como se obtienen, como se prueban; luego viene la
parte de las variables aleatorias y las ecuaciones que las generan (conocida como distribuciones de probabilidad). Una vez que
esta explicado el concepto de modelo, el libro continua con las aplicaciones de estos modelos, desde simular procesos industriales
como inventario o filas de espera, hasta la solucin de problemas en el que el enfoque determinista no es la mejor opcin como el
problema del viajero.
Estoy abierto a las recomendaciones de los lectores para futuros libros, pueden escribirme a ramsoftware@gmail.com o visitar mi
pgina web en http://darwin.50webs.com
Nmeros aleatorios
Una pieza fundamental en una simulacin que requiera el uso del azar, son los nmeros aleatorios. En una hoja de clculo como
Microsoft Excel, para tener un nmero aleatorio es escribir en una celda =aleatorio()
Los nmeros aleatorios tienen las siguientes caractersticas:
1.
2.
3.
4.
5. En una secuencia larga de nmeros aleatorios, el promedio debe ser de 0.5 y su varianza de
6. Cada nmero aleatorio es independiente del anterior y del siguiente.
Ejemplo de nmeros aleatorios:
0,102693
0,97588244
0,40099075
0,6494215
0,3739077
0,26775066
0,97170821
0,49521218
0,78211251
0,35971964
0,94311542
0,63109173
0,9967313
0,72090815
0,42808482
0,70995155
0,9643229
0,05570935
0,1263963
0,06160593
0,57720142
0,59561591
0,39351285
0,2871632
0,87552863
0,35229998
0,8416563
0,63139762
0,54840686
0,56011635
0,3702134
0,48318402
0,62256281
0,25788505
0,29332582
0,702667
0,0423875
0,84786695
0,20860891
0,01919562
0,35768096
0,77633856
0,32169894
0,69996839
0,61046046
0,85188234
0,06383283
0,56729874
0,47877622
0,18247436
0,72808404
0,05803163
0,30854969
0,18634783
0,23492947
0,20957046
0,29223249
0,64424586
0,54230602
0,40111375
0,61722938
0,5915599
0,39593878
0,14191931
0,88940381
0,84546362
0,63273874
0,39072164
0,80023535
0,56032819
0,23648002
0,9501602
0,48474157
0,10060332
0,50977597
0,56613832
0,09556429
0,80649234
Mtodo congruencial
Hace uso de la siguiente frmula:
(
A, B, X0 y N son valores llamados semillas que son ingresados por el usuario, a partir de ese punto el algoritmo genera los
nmeros pseudo-aleatorios. Y la operacin mod retorna el residuo de la divisin.
Este es un ejemplo de ejecucin
Xn
A
111
2
47
15
60
28
73
B
78
N
45
Xn+1
77
2
47
15
60
28
73
41
r
0,02597403
0,61038961
0,19480519
0,77922078
0,36363636
0,94805195
0,53246753
41
9 0,11688312
En las celdas A2, B2, C2, D2 se ingresan los valores semilla, en la celda E2 se escribe la operacin
=RESIDUO(A2*$B$2+$C$2;$D$2) y en la celda F2 se escribe la operacin =E2/$D$2 , luego en la celda A3 se escribe la
operacin =E2 (de esa forma la ecuacin se retroalimenta).
Generara lo siguiente:
r
r
r
r
r
r
=
=
=
=
=
=
0.025974025974025976
0.6103896103896104
0.19480519480519481
0.7792207792207793
0.36363636363636365
0.948051948051948
Finalmente, la realimentacin genera un nmero que ya se haba calculado anteriormente por lo que la secuencia se repite
nuevamente. En el ejemplo de la imagen el perodo es demasiado corto por lo que es intil ese generador con esos valores
10
semillas para una simulacin debido a que si los nmeros aleatorios repiten secuencia, se repiten resultados en el modelo de
simulacin. Lo ideal es un perodo muy largo, que supere el nmero de aleatorios que se necesitan para una simulacin, as que se
est hablando de periodos con una longitud que se mida en decenas o cientos de millones de nmeros.
1:
2:
3:
4:
5:
Ejemplo
Semilla = 4561
X2
Xn
Xn+1
4561
20802721
8027
0,8027
8027
64432729
4327
0,4327
4327
18722929
7229
0,7229
7229
52258441
2584
0,2584
Implementar este generador requerira manipular las cifras del nmero elevado al cuadrado, lo cual exigira una serie de clculos
en la CPU y aqu hay otra regla que debe cumplir los generadores de nmeros pseudo-aleatorios: deben ser extremadamente
rpidos.
65539
393225
1769499
7077969
26542323
95552217
334432395
1146624417
1722371299
14608041
1766175739
1875647473
1800754131
RANDU fue un grave error. Se seleccion como divisor un nmero no primo para facilitar la divisin modular y el multiplicador fue
seleccionado por su simplicidad en su representacin binaria (100000000000000112). Fall en la prueba aleatoria 3D [1]
Mersenne Twister
Desarrollado en 1997 por Makoto Matsumoto y Takuji Nishimura, es un generador de nmeros pseudo-aleatorios [2] con un
enorme periodo: 219937-1. En 2007 tuvo una mejora que lo haca ms rpido (el doble), mejor distribuido y con mejor capacidad
para recuperarse de un estado inicial cero [3].
Multiply-with-carry
Es un conjunto de mtodos desarrollados por George Marsaglia para generar una serie de nmeros enteros pseudo-aleatorios con
enormes periodos: 260 a 220000000. Existen implementaciones de este generador en lenguajes de programacin como C# [4].
11
Prueba de varianza
La varianza de los nmeros aleatorios, debe ser cercano o igual a 1/12.
Para calcular la varianza se hace uso de la siguiente frmula
Ejemplo
Promedio
Total
nmeros
Varianza
Varianza
ideal
r
Promedio
0,67
0,43
0,47
0,43
0,93
0,43
0,12
0,43
0,04
0,43
0,04
0,43
0,31
0,43
0,10
0,43
0,71
0,43
0,38
0,43
0,55
0,43
0,21
0,43
0,02
0,43
0,95
0,43
0,23
0,43
0,41
0,43
0,87
0,43
0,88
0,43
0,08
0,43
0,59
0,43
0,43
Diferencia
al
cuadrado
0,05818293
0,00211498
0,25107677
0,09562926
0,15379429
0,1526288
0,01278217
0,10741861
0,07758388
0,0023943
0,01517245
0,04776856
0,16620733
0,27544766
0,04060265
0,00029022
0,19426676
0,2015445
0,11854597
0,02768634
20
0,10005692
0,08333333 1/12
12
Rango
de 0 a
de 0,1
de 0,2
de 0,3
de 0,4
de 0,5
de 0,6
de 0,7
de 0,8
de 0,9
0,1
a 0,2
a 0,3
a 0,4
a 0,5
a 0,6
a 0,7
a 0,8
a 0,9
a 1,0
Significa
0 <= n < 0,1
0,1 <= n < 0,2
0,2 <= n < 0,3
0,3 <= n < 0,4
0,4 <= n < 0,5
0,5 <= n < 0,6
0,6 <= n < 0,7
0,7 <= n < 0,8
0,8 <= n < 0,9
0,9 <= n < 1
Paso 2
Se lanza el generador de nmeros aleatorios. En el ejemplo se hace unas mil veces. Luego se cuenta cuantos nmeros caen en
cada subrango.
Rango
de 0 a
de 0,1
de 0,2
de 0,3
de 0,4
de 0,5
de 0,6
de 0,7
de 0,8
de 0,9
91
102
113
110
87
95
98
104
117
83
Paso 3
En una distribucin uniforme ideal la cantidad de nmeros que caen en cada subrango debera ser = Total Nmeros / #
SubRangos, es decir, 1000 / 10 = 100
Rango
de 0 a
de 0,1
de 0,2
de 0,3
de 0,4
de 0,5
de 0,6
de 0,7
de 0,8
de 0,9
frecuencia obtenida
FO
0,1
a 0,2
a 0,3
a 0,4
a 0,5
a 0,6
a 0,7
a 0,8
a 0,9
a 1,0
frecuencia esperada FE
91
102
113
110
87
95
98
104
117
83
100
100
100
100
100
100
100
100
100
100
Paso 4
Se aplica la siguiente operacin ((FE-FO)^2)/FE
Rango
de 0 a
de 0,1
de 0,2
de 0,3
de 0,4
de 0,5
de 0,6
de 0,7
de 0,8
de 0,9
0,1
a 0,2
a 0,3
a 0,4
a 0,5
a 0,6
a 0,7
a 0,8
a 0,9
a 1,0
frecuencia
frecuencia
obtenida FO
esperada FE
91
102
113
110
87
95
98
104
117
83
Sumatoria
((FE-FO)^2)/FE
100
((100-91)^2)/100 = 0,81
100
0,04
100
1,69
100
1
100
1,69
100
0,25
100
0,04
100
0,16
100
2,89
100
2,89
11,46
Paso 5
Nivel de confianza Alpha (entre ms alto, ms confiable). Alpha = 0,05
Paso 6
Como son 10 rangos, se tiene 10-1=9 grados de libertad.
13
Paso 7
Se busca en la tabla cruzando Alpha y los grados de libertad
Alpha
Grados
de
Libertad
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
40
50
60
70
80
90
100
0,005
0,01
0,025
0,05
0,10
7,88
10,60
12,84
14,96
16,7
18,5
20,3
22,0
23,6
25,2
26,8
28,3
29,8
31,3
32,8
34,3
35,7
37,2
38,6
40,0
41,4
42,8
44,2
45,6
49,6
48,3
49,6
51,0
52,3
53,7
66,8
79,5
92,0
104,2
116,3
128,3
140,2
6,63
9,21
11,34
13,28
15,1
16,8
18,5
20,1
21,7
23,2
24,7
26,2
27,7
29,1
30,6
32,0
33,4
34,8
36,2
37,6
38,9
40,3
41,6
43,0
44,3
45,6
47,0
48,3
49,6
50,0
63,7
76,2
88,4
100,4
112,3
124,1
135,8
5,02
7,38
9,35
11,14
12,8
14,4
16,0
17,5
19,0
20,5
21,9
23,3
24,7
26,1
27,5
28,8
30,2
31,5
32,9
34,2
35,5
36,8
38,1
39,4
40,6
41,9
43,2
44,5
45,7
47,0
59,3
71,4
83,3
95,0
106,6
118,1
129,6
3,84
5,99
7,81
9,49
11,1
12,6
14,1
15,5
16,9
18,3
19,7
21,0
22,4
23,7
25,0
26,3
27,6
28,9
30,1
31,4
32,7
33,9
35,2
36,4
37,7
38,9
40,1
41,3
42,6
43,8
55,8
67,5
79,1
90,5
101,9
113,1
124,3
2,71
4,61
6,25
7,78
9,2
10,6
12,0
13,4
14,7
16,0
17,3
18,5
19,8
21,1
22,3
23,5
24,8
26,0
27,2
28,4
29,6
30,8
32,0
33,2
34,4
35,6
36,7
37,9
39,1
40,3
51,8
63,2
74,4
85,5
96,6
107,6
118,5
Valores tomados del libro "Discrete Events System Simulation" de J. Banks. Ed. Prentice Hall [6]
Explicacin
Alfa es el nivel de significacin utilizado para calcular el nivel de confianza. El nivel de confianza es igual a 100*(1 - alfa)%, es
decir, un alfa de 0.05 indica un nivel de confianza de 95%.
Suponga que se observa que en la muestra de 50 personas que realizan diariamente un trayecto, la distancia media de viaje es 30
minutos con una desviacin estndar de la poblacin de 2,5. Con alfa = 0.05, INTERVALO.CONFIANZA(0,05; 2,5; 50) devuelve
0,69291. El intervalo de confianza correspondiente ser entonces 30 0,69291
14
Paso 8
Comparacin. Como 11.46 (lo obtenido en la sumatoria) < 16.9 (el valor constante de la tabla) entonces se acepta la hiptesis
que el generador pasa esta prueba de uniformidad.
A
178
905
962
49
866
113
490
697
434
401
298
825
682
569
186
B
791
N
107
R
1000
905
962
49
866
113
490
697
434
401
298
825
682
569
186
233
Aleatorio
0,905
0,962
0,049
0,866
0,113
0,49
0,697
0,434
0,401
0,298
0,825
0,682
0,569
0,186
0,233
Paso 1
Como los nmeros estn en el rango 0 y 1 entonces se divide este rango en un nmero finito de subrangos, en el ejemplo se
usarn 10 subrangos.
Rango
de 0 a
de 0,1
de 0,2
de 0,3
de 0,4
de 0,5
de 0,6
de 0,7
de 0,8
de 0,9
0,1
a 0,2
a 0,3
a 0,4
a 0,5
a 0,6
a 0,7
a 0,8
a 0,9
a 1,0
Significa
0 <= n < 0,1
0,1 <= n < 0,2
0,2 <= n < 0,3
0,3 <= n < 0,4
0,4 <= n < 0,5
0,5 <= n < 0,6
0,6 <= n < 0,7
0,7 <= n < 0,8
0,8 <= n < 0,9
0,9 <= n < 1
Paso 2
Se lanza el generador de nmeros aleatorios, en el ejemplo se hace unas mil veces. Luego se cuenta cuantos nmeros caen en
cada subrango.
Rango
de 0 a 0,1
de 0,1 a 0,2
de 0,2 a 0,3
15
de
de
de
de
de
de
de
0,3
0,4
0,5
0,6
0,7
0,8
0,9
a
a
a
a
a
a
a
0,4
0,5
0,6
0,7
0,8
0,9
1,0
6
14
11
9
10
8
7
Paso 3
Se deduce la frecuencia obtenida acumulada
Rango
de 0 a
de 0,1
de 0,2
de 0,3
de 0,4
de 0,5
de 0,6
de 0,7
de 0,8
de 0,9
0,1
a 0,2
a 0,3
a 0,4
a 0,5
a 0,6
a 0,7
a 0,8
a 0,9
a 1,0
frecuencia frecuencia
obtenida
obtenida
FO
acumulada
12
14
9
6
14
11
9
10
8
7
Probabilidad
obtenida
acumulada
12
26
35
41
55
66
75
85
93
100
0,12
0,26
0,35
0,41
0,55
0,66
0,75
0,85
0,93
1
Paso 4
Se compara con la probabilidad esperada (como son diez rangos y debe ser uniforme, lo ideal es que hubiesen el mismo nmero
de elementos por rango).
Rango
de 0 a
de 0,1
de 0,2
de 0,3
de 0,4
de 0,5
de 0,6
de 0,7
de 0,8
de 0,9
0,1
a 0,2
a 0,3
a 0,4
a 0,5
a 0,6
a 0,7
a 0,8
a 0,9
a 1,0
frecuencia frecuencia
esperada
esperada
Probabilidad esperada
FE
acumulada
acumulada
10
10
0,1
10
20
0,2
10
30
0,3
10
40
0,4
10
50
0,5
10
60
0,6
10
70
0,7
10
80
0,8
10
90
0,9
10
100
1
Paso 5
Se compara la probabilidad obtenida acumulada y la probabilidad esperada acumulada y se busca cual tuvo la mayor diferencia.
Rango
de 0 a
de 0,1
de 0,2
de 0,3
de 0,4
de 0,5
de 0,6
de 0,7
de 0,8
de 0,9
probabilidad
obtenida
acumulada
0,1
a 0,2
a 0,3
a 0,4
a 0,5
a 0,6
a 0,7
a 0,8
a 0,9
a 1,0
0,12
0,26
0,35
0,41
0,55
0,66
0,75
0,85
0,93
1
probabilidad
esperada acumulada
Diferencia
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
Mayor diferencia
0,02
0,06
0,05
0,01
0,05
0,06
0,05
0,05
0,03
0
0,06
Paso 6
Nivel de confianza Alpha (entre ms alto, ms confiable). Alpha = 0,05
Paso 7
Se debe recordar que el tamao de la muestra es 100
16
Paso 8
E busca en la tabla cruzando Alpha y el tamao de la muestra
Como el tamao de la muestra es 100 y alpha es 0,05 entonces el nmero buscado es 1.36 / RaizCuadrada(100) = 0.136
Paso 9
Comparando la mayor diferencia con el nmero obtenido en la tabla. Como 0.06 < 0.136 entonces se acepta la hiptesis que los
datos tienen la distribucin U(0,1), luego el generador es bueno en uniformidad.
Pruebas de Independencia
Supngase que un generador de nmeros aleatorios ha dado 400 nmeros (del 1 al 1000), uniformemente repartidos pero del
primer nmero al 200avo nmero est justo por debajo de 500 y del 201avo nmero al 400avo estn por encima de 500. Eso es
raro, no suena a azar. Luego se debe hacer la prueba de independencia.
Prueba de Pker
Esta es una prueba de independencia que se basa en la frecuencia con que se repiten los dgitos en los aleatorios generados, por
ejemplo: en los aleatorios: 0.345, 0.777, 0.945, 0.003, 0.478
Se pueden observar los siguientes casos:
a) Los tres dgitos son iguales (0.777)
b) Los tres son diferentes (0.478, 0.345, 0.945)
c) Existe un par de iguales (0.003)
Si se examina una muestra independiente se espera que los dgitos que componen los nmeros estn repartidos al azar, de
manera similar a cuando se reparte una "mano" de Pker donde se espera que las cartas estn distribuidas al azar en un juego
legal, por eso el nombre de la prueba.
Para aplicar la prueba es necesario estos pasos:
1. Saber la cantidad de dgitos que formarn los aleatorios que se desean probar.
2. Clasificar los casos posibles que se pueden formar (pares de iguales, tercias, etc.).
3. Calcular las probabilidades de que en esos nmeros se presenten los casos que se determinaron.
4. Generar una muestra de aleatorios con el generador a probar y clasificar la frecuencia que presentaron los casos en la muestra.
5. Efectuar una prueba ji-cuadrada para verificar si existe evidencia estadstica para afirmar que las frecuencias observadas son
diferentes a las esperadas. En caso contrario, no se rechazar la hiptesis de que el generador produce aleatorios independientes.
17
Ejemplo
Determine si hay independencia en los aleatorios generados para el siguiente caso (con un 5% de significancia y aplicando la
prueba de Pker).
Hay 1000 nmeros de tres dgitos y despus de analizarlos se tienen los siguientes resultados:
700 con tres dgitos diferentes.
273 con un par de dgitos iguales.
27 con dgitos iguales.
Caso
3 dgitos
diferentes
2 dgitos iguales
dgitos iguales
Frecuencia Frecuencia
obtenida
Esperada
FO
FE
700
273
27
((FEFO)^2)/FE
720
270
10
Sumatoria
0,555
0,033
28,9
29,4888
Grados de libertad: 3 - 1 = 2 y Alpha=0.05 consultando en la tabla el cruce de estos dos valores se obtiene el valor 5.99
Como 29,4888 > 5,99 se rechaza la independencia.
Nota: Hay que determinar las frecuencias esperadas cuando hay dos, cuatro, cinco o ms dgitos.
Prueba de Wald-Wolfowitz
Supngase que se tiene la siguiente secuencia FFHHHFFHFFFFFHHF , el nmero de secuencias es R=7 que resulta de la siguiente
agrupacin FF HHH FF H FFFFF HH F
Si fuese la cadena as: HHHHHHFFFFFFFFFF entonces R=2 porque hay dos agrupaciones HHHHHH
FFFFFFFFFF
Para probar que un generador de nmeros pseudoaleatorios pasa esta prueba debe seguir estos pasos:
Paso 1
Se genera los nmeros aleatorios (mnimo 20). Por ejemplo estos generados por la funcin Aleatorio() de Excel.
0,13115648
0,15542105
0,86586089
0,87441265
0,2733703
0,84422255
0,18411069
0,72996966
0,40422589
0,61401405
0,187506
0,71442666
0,829512
0,35673842
0,64474038
0,82786857
0,28769922
0,84599494
0,69417319
0,77368306
Paso 2
Se calcula la media (promedio) de esos nmeros, en el ejemplo es 0,561955333
Paso 3
Se compara el valor de la media con cada nmero, si es superior se pone un +, si es inferior se pone un 0,13115648
0,15542105
0,86586089
0,87441265
0,27337030
0,84422255
0,18411069
0,72996966
0,40422589
+
+
+
+
Rafael Alberto Moreno Parra. http://darwin.50webs.com
18
0,61401405
0,18750600
0,71442666
0,82951200
0,35673842
0,64474038
0,82786857
0,28769922
0,84599494
0,69417319
0,77368306
+
+
+
+
+
+
+
+
En otras palabras es --++-+-+-+-++-++-+++ luego R=14 Con N1=8 (nmero de -), N2=12 (nmero de +) y N=20 (todos los
elementos)
Paso 4
Se calcula la media de R
Paso 5
Se calcula la varianza de R
) (
) (
Paso 6
Se calcula Z
Paso 7
Nivel de confianza de 100*(1- Alpha)% . Para el ejemplo Alpha=0.05
Paso 8
Se busca en la tabla de distribucin normal de Z para Alpha/2 (es decir 0.025) y se observa los nmeros -1.96 (izquierda) y 1.96
(derecha). Como el resultado de Z fue 1.63106352 que est entre esos dos valores (-1.96 y 1.96) entonces se acepta que es
aleatorio.
19
Variables Aleatorias
En un modelo de simulacin, lo que no es controlable (la variable independiente) se le conoce como variable aleatoria. Durante la
simulacin, esta variable recibe valores al azar, pero no cualquier azar, sino dependiendo de una distribucin. En otras palabras,
se genera un nmero al azar entre 0 y 1, con ese nmero se deduce un valor para esa variable aleatoria utilizando para ello la
funcin de distribucin que tenga.
Por ejemplo, en la experiencia de lanzar monedas, los posibles resultados son {cara, cruz}, y sus probabilidades son {1/2, 1/2}.
En la experiencia de lanzar dados, los resultados posibles son {1, 2, 3, 4, 5, 6} y sus probabilidades respectivas son {1/6, 1/6,
1/6, 1/6, 1/6, 1/6}.
Se hace girar una ruleta y se apunta el nmero del sector que coincide con la flecha. En la ruleta de la izquierda de la figura los
resultados posibles son {0, 1, 2, 3, 4, 5, 6, 7}, y la probabilidad de cada resultado es 1/8. En la ruleta de la derecha de la figura
los posibles resultados son {0, 1, 2, 3}, y las probabilidades respectivas {1/4, 1/2, 1/8, 1/8}, proporcionales al ngulo del sector.
En los tres primeros ejemplos, la variable aleatoria X se dice que est uniformemente distribuida, ya que todos los resultados
tienen la misma probabilidad. Sin embargo, en el ltimo ejemplo, la variable aleatoria X, no est uniformemente distribuida.
Probabilidad
Resultado Probabilidad acumulada
0
0.25
0.25
1
0.5
0.75
2
0.125
0.875
3
0.125
1
Se sortea un nmero aleatorio r uniformemente distribuido en el intervalo [0, 1), el resultado del sorteo se muestra en la figura.
En el eje X se sitan los distintos resultados que son nombrados X0, X1, X2, X3. En el eje vertical, las probabilidades en forma de
segmentos verticales de longitud igual a la probabilidad Pi de cada uno de los resultados. Dichos segmentos se ponen unos a
continuacin de los otros, encima su respectivo resultado Xi. Se obtiene as una funcin escalonada. Cuando se sortea una variable
aleatoria g, se traza una recta horizontal cuya ordenada sea g. Se busca el resultado cuya abscisa sea la interseccin de dicha
recta horizontal y del segmento vertical, tal como se seala con flechas en la figura. Si el nmero aleatorio r est comprendido
entre 0.25 y 0.75 se obtiene el resultado denominado X1.
La tabla describe el sorteo de una variable discreta, siendo g una variable aleatoria uniformemente distribuida en el intervalo
[0,1).
Condicin
0 <= r <0.25
0.25 <= r < 0.75
0.75 <= r < 0.875
0.875 <= r < 1
Resultado
0
1
2
3
20
Una de las ecuaciones ms usadas es la exponencial (utilizada en simulacin de colas) que es as:
( )
El problema aqu radica en que se da el valor de F(X) y se debe encontrar x, luego la tarea es despejar x.
( ))
21
( )
( )
F(x) = r Hacer que la funcin distributiva F(x) sea igual a un nmero aleatorio.
Ejemplo:
Un viaje entre la ciudad A y la ciudad B puede demorarse entre:
0 y 2 horas con una probabilidad de 1/6
2 y 3 horas con una probabilidad de 1/3
3 y 7 horas con una probabilidad de 1/12
Se quiere simular ese viaje, luego se genera un nmero al azar entre 0 y 1, dando por ejemplo 0.3 Cunto tarda el viaje? (cabe
recordar que es una funcin continua).
( )
{
( )
( )
( )
( )
( )
( )
( )
( )
22
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
{
Se iguala F(x)=r (un nmero aleatorio entre 0 y 1)
1.
Si
entonces
2.
Si
entonces
3.
Si
, luego
entonces
luego
luego
Volviendo al inicio, en la simulacin se gener un nmero al azar que fue r=0.3, entonces es el caso 1, luego x=6*0.3=1.8 horas
Distribucin Normal
La distribucin normal es una de las ms utilizadas porque ciertos fenmenos tienen un comportamiento que sigue esta
distribucin:
es la media y
la desviacin
Para generar la variable aleatoria que utilice estos parmetros se usa la ecuacin:
(
Donde
( )
23
Para un
que es la media y
0,7426171
0,0689937
c
0,70010015
X
656,00801
0,7726637
0,7887022
0,17293273
613,83462
0,5599427
0,9631719
1,04825508
683,86041
0,4260246
0,4137198
-1,1190339
510,47729
0,5133995
0,2838823
-0,2439766
580,48187
0,0369807
0,3154899
-1,0271334
517,82933
0,2473558
0,0174322
1,66146658
732,91733
Si se lanza ms nmeros y se clasificaran cuntos caen entre determinados rangos (por ejemplo 600<=X<620, 620<=X<640,
640<=X<660), al graficar la frecuencia se obtendra la siguiente grfica:
10
20
30
40
50
60
Distribucin Triangular
entonces
) (
De lo contrario
) (
) (
24
condicin
Valor 1
Valor 2
0,2534766 0,9333333
6459,1791
Valor
variable
aleatoria
dependiendo
de la
condicin
7330,7362
6459,1791
0,9251694
7787,7272
7788,1076
7787,7272
0,5270771
7104,1502
7467,3146
7104,1502
0,3167106
6631,0638
7359,7082
6631,0638
0,3338556
6674,6304
7367,7922
6674,6304
0,7954867
7584,9735
7649,703
7584,9735
0,7846921
7567,3749
7640,5772
7567,3749
Si se lanzase ms nmeros y se clasificaran cuntos caen entre determinados rangos (por ejemplo 7000<=X<7200,
7200<=X<7400, 7400<=X<7600), al graficar la frecuencia se obtiene la siguiente grfica:
10
15
20
25
30
35
Distribucin Exponencial
La funcin de distribucin acumulada F(x) de la distribucin exponencial est dada por:
( )
Como F(x) se iguala a un nmero aleatorio r, entonces se debe despejar X
( )
25
Ejemplo
Dado un =1.2 generar los diferentes valores
r
0,3941224
0,2505386
0,6148782
0,4770978
0,5109731
0,3576689
0,6400596
0,5109084
0,7265719
0,6483582
0,9674186
1,7120068
0,2039011
0,1140159
Si se lanzara ms nmeros y se clasificara cuntos caen entre determinados rangos (por ejemplo 0,1<=X<0,2; 0,2<=X<0,3;
0,3<=X<0,4), al graficar la frecuencia se obtiene la siguiente grfica:
140
120
100
80
60
40
20
0
0
20
40
60
80
100
120
Distribucin Uniforme
Se requiere un valor aleatorio entre A y B, y que su ocurrencia sea uniforme entre esos dos valores. La funcin de distribucin
acumulada F(x) de la distribucin uniforme est dada por:
( )
Como F(x) se iguala a un nmero aleatorio r, entonces se debe despejar X
( )
26
Ejemplo
Distribuir uniformemente entre 30 y 70. Luego A=30 y B=70
0.2145
38.58
0.1278
35.112
0.9121
66.484
0.5314
51.256
27
( ){
Ejemplo
Para p=0,6 entonces
r
F(x)
0.2145
xito
0.1278
xito
0.9121
Fracaso
0.5314
xito
Distribucin Poisson
Su distribucin de probabilidad est dada por:
Ejemplo
En un sistema de filas de espera se tiene que la media de llegada de clientes y la media de atencin son:
Media de llegada de clientes = 3 por hora = 1 cada 20 minutos
Media de atencin de clientes = 5 por hora = 1 cada 12 minutos
Como es necesario saber el nmero de eventos por hora (60 minutos) usando distribucin Poisson entonces
Las probabilidades que se den 0, 1, 2, 3, 4, 5 llegadas en esa hora (es una distribucin discreta) son:
( )
( )
( )
28
Resultado Probabilidad
0
Probabilidad
Acumulada
0,04978706837 0,04978706837
0,1493612051
0,1991482735
0,2240418077
0,4231900812
0,2240418077
0,6472318889
0,1680313557
0,8152632446
0,1008188134
0,916082058
0,05040940672
0,9664914647
0,02160403145
0,9880954962
0,008101511795
0,996197008
0,002700503932
0,9988975119
10 0,0008101511795
0,9997076631
11 0,0002209503217
12 0,0000552375804
13 0,0000127471339
0,9997297581
0,9997849957
0,9997977428
29
Ciudad
6
0
34
34
65
11
13
20
19
61
41
60
47
31
51
30
23
24
34
36
12
63
21
21
0
21
27
41
10
22
50
25
61
65
41
41
0
63
63
19
56
37
50
11
51
21
18
18
0
46
61
20
17
40
37
61
13
63
12
12
0
53
61
53
14
57
46
20
30
27
63
46
53
53
0
19
31
29
16
53
19
23
41
19
61
53
41
41
0
61
43
31
56
61
24
10
56
20
61
19
7
0
34
47
41
34
22
17
53
31
61
20
20
0
63
45
27
16
31
10
63
62
20
27
18
51
52
0
16
37
51
10
31
61
62
52
46
46
0
M
5
40
48
11
59
61
52
Tabla 6: Costo de viajar de una ciudad a otra
18
49
18
16
21
21
0
Lo que quiere decir esa matriz es que ir de la ciudad C a la F tiene un costo de $9, ir de la ciudad H a la J tiene un costo de $20.
Qu ruta se debe hacer visitando solo una vez cada ciudad para minimizar el costo? Por ejemplo la siguiente ruta:
E-A-D-C-J-G-B-I-F-H-M-L-K
Para calcular su costo se realiza la siguiente tabla
Ruta
desglosada
Valor
E-A
$ 11
A-D
$ 65
D-C
$ 41
C-J
$ 22
J-G
$ 31
G-B
$ 30
B-I
$ 24
I-F
$ 61
F-H
$ 53
H-M
$ 56
M-L
$ 21
L-K
$ 46
Total
$ 461
Tabla 7: Costo de la ruta
Significa que esa ruta en total costara $461, habr una ruta menos costosa? Se genera la siguiente ruta:
A-B-F-C-I-H-D-E-J-G-L-M-K
Ruta
desglosada
A-B
B-F
F-C
C-I
I-H
H-D
D-E
E-J
J-G
G-L
L-M
Valor
$ 6
$ 6
$ 9
$ 10
$ 7
$ 19
$ 18
$ 17
$ 31
$ 16
$ 21
30
M-K
$ 16
Total
$ 176
Tabla 8: Costo de la ruta
Con esta nueva ruta propuesta el costo se reduce y ahora es de $176, habr una ruta menos costosa an?
El problema es que se deberan evaluar todas las rutas posibles, y el total de rutas es el factorial del nmero de ciudades.
Ms de 6 mil millones de rutas posibles. Si un computador costeara cada ruta por milsima de segundo, tardara
aproximadamente 72 das en probar todas las rutas.
Si no fueran 13 ciudades, sino 30 ciudades, as se tuviese un computador que evaluara mil millones de rutas por segundo, se
tardara
aos en evaluar todas las rutas para dar con la menos costosa.
Ante ese tipo de problemas existe otra forma de resolverlos y es usando el azar como mtodo de resolucin. Este es el
procedimiento:
Paso 1: Se genera una ruta completamente al azar y se evala su costo.
Paso 2: Se hace un cambio aleatorio a esa ruta y se vuelve a ensayar, si es mejor entonces esa nueva ruta se selecciona, si no,
se deja la ruta anterior. En el ejemplo se intercambia las ciudades B y J, esta es la nueva ruta.
31
Paso 3: Se ejecuta el paso anterior miles de veces. Se obtiene una buena ruta con un costo bajo.
Implementando en Java este algoritmo:
import java.util.Random;
public class BuscaRuta
{
public static void main(String[] args)
{
/* Total de ciudades */
final int CIUDADES = 13;
/* Llena la matriz
int costo[][]=
{ { 0, 6, 34, 65,
{ 6, 0, 21, 8,
{34, 21, 0, 41,
{65, 8, 41, 0,
{11, 51, 21, 18,
{13, 6, 9, 63,
{20, 30, 27, 63,
{19, 23, 41, 19,
{61, 24, 10, 56,
{41, 34, 22, 6,
{27, 16, 31, 10,
{37, 51, 10, 31,
{ 5, 40, 48, 11,
};
de costos */
11,
51,
21,
18,
0,
12,
46,
61,
20,
17,
63,
6,
59,
13,
6,
9,
63,
12,
0,
53,
53,
61,
53,
62,
61,
61,
20,
30,
27,
63,
46,
53,
0,
41,
19,
31,
20,
7,
52,
19,
23,
41,
19,
61,
53,
41,
0,
7,
61,
27,
62,
18,
61,
24,
10,
56,
20,
61,
19,
7,
0,
20,
18,
52,
49,
41,
34,
22,
6,
17,
53,
31,
61,
20,
0,
51,
7,
18,
60,
36,
50,
37,
40,
14,
29,
43,
5,
52,
0,
46,
16,
47,
12,
25,
6,
37,
57,
16,
31,
34,
63,
46,
0,
21,
31},
63},
61},
50},
61},
46},
53},
56},
47},
45},
16},
21},
0}
32
}
/* Si el intercambio disminuye el costo entonces
imprime la nueva ruta */
if (costoDespues < costoAntes)
{
for(int cont=0; cont<CIUDADES; cont++)
System.out.print(ruta[cont] + "-");
System.out.println(" Costo: " + costoDespues);
}
else /* Deja como estaba la ruta anteriormente */
{
temporal = ruta[sitioInicial];
ruta[sitioInicial] = ruta[sitioFinal];
ruta[sitioFinal] = temporal;
}
}
}
}
Se muestra a continuacin como sera una ejecucin del programa
8-7-9-5-3-11-6-0-4-2-10-1-128-7-9-5-3-11-6-0-4-2-10-12-112-7-9-5-3-11-6-0-4-2-10-8-112-7-10-5-3-11-6-0-4-2-9-8-112-7-5-10-3-11-6-0-4-2-9-8-112-7-5-10-3-11-6-0-4-9-2-8-112-7-5-10-3-11-6-0-4-9-8-2-112-7-1-10-3-11-6-0-4-9-8-2-512-7-8-10-3-11-6-0-4-9-1-2-512-7-8-10-3-11-6-9-4-0-1-2-512-7-8-10-3-9-6-11-4-0-1-2-512-7-8-10-3-9-6-11-4-0-1-5-2-
Costo:
Costo:
Costo:
Costo:
Costo:
Costo:
Costo:
Costo:
Costo:
Costo:
Costo:
Costo:
378
355
352
317
226
212
207
187
165
148
146
131
Traduciendo la ruta (A=0, B=1, C=2, M=12), entonces la ruta hallada por el software es:
M-H-I-K-D-J-G-L-E-A-B-F-C con un costo de $131
Se solicita que se encuentre el rea que encierra la curva generada por la ecuacin:
aparece esa rea sombreada.
( ) entre
. En la grfica
( )
33
El procedimiento de clculo requiere saber hacer integrales, pero si no se sabe o recuerda el procedimiento o este es muy
complejo de realizar, un mtodo para hallar el rea bajo la curva es el siguiente:
Paso 1: Dibujar un rectngulo que cubra el rea a hallar, la longitud de la base y la altura debe ser conocida.
La altura del rectngulo tambin debe ser conocida. Una forma de deducir la altura es ver que el mximo de la curva entre 2 y
3 es cuando X=5/2, all el valor de Y=5/2*seno(5/2)= 5/2*1=7.853981
Luego el rectngulo tiene base= y altura=5 /2
Paso 2: Se lanza al azar un nmero finito de puntos dentro del rectngulo.
Figura 22: Se lanza un nmero alto de puntos al azar dentro del rectngulo
Paso 3: Se cuenta el nmero de puntos que caen dentro del rea a hallar.
Paso 4: Se aplica la siguiente frmula para hallar el rea bajo la curva
El siguiente programa en Java encuentra el rea de la ecuacin del ejemplo siguiendo el procedimiento.
import java.util.Random;
public class AreausandoAzar
{
public static void main(String[] args)
{
/* Generador de nmeros pseudo-aleatorios */
Random azar = new Random();
/* Limites en X del rea a hallar.
Sirven tambin para calcular la base
del rectngulo. */
double xmin = 2*Math.PI;
double xmax = 3*Math.PI;
/* Altura mxima del rectngulo */
double ymax = 5*Math.PI/2;
/* Variable que lleva el total de puntos que
Rafael Alberto Moreno Parra. http://darwin.50webs.com
34
area);
}
}
El resultado ofrecido por el software es:
rea hallada es: 15.701331575594034
Una precisin muy buena al compararla con el resultado real que es 5 = 15.70796
Resolviendo un Sudoku
El popular pasatiempo llamado Sudoku puede ser resuelto usando tcnicas en las que el azar es protagonista.
El algoritmo para resolverlo, consiste en lanzar nmeros al azar en las casillas vacas siempre y cuando se cumplan las reglas del
juego. Sucede que a medida que se llenan las casillas con nmeros, llega un momento en el cual no hay forma de continuar (uno
o varios nmeros que en su momento cumplan las reglas no estn en la posicin correcta), en ese caso, el algoritmo borra al azar
algunos nmeros previamente puestos.
En ese proceso de: poner nmeros al azar en casillas vacas cumpliendo reglas del juego + borrar al azar algunos nmeros
puestos, con el tiempo, el Sudoku es resuelto.
El algoritmo implementado en Java es el siguiente:
import java.util.Random;
public class ResuelveSudoku
{
public static void main(String[] args)
Rafael Alberto Moreno Parra. http://darwin.50webs.com
35
{
/* El Sudoku como es planteado.
Los ceros(0) son las casillas vacas a completar */
int sudoku[][]=
{ { 5, 3, 0, 0, 7, 0, 0, 0, 0},
{ 6, 0, 0, 1, 9, 5, 0, 0, 0},
{ 0, 9, 8, 0, 0, 0, 0, 6, 0},
{ 8, 0, 0, 0, 6, 0, 0, 0, 3},
{ 4, 0, 0, 8, 0, 3, 0, 0, 1},
{ 7, 0, 0, 0, 2, 0, 0, 0, 6},
{ 0, 6, 0, 0, 0, 0, 2, 8, 0},
{ 0, 0, 0, 4, 1, 9, 0, 0, 5},
{ 0, 0, 0, 0, 8, 0, 0, 7, 9}
};
/* Objeto generador de nmeros pseudo-aleatorios */
Random azar = new Random();
/* Mantiene el ciclo hasta que resuelva el Sudoku */
boolean finalizo=false;
/* Lleva el nmero de iteraciones */
int ciclos=0;
/* Tablero en el que se trabaja */
int solucion[][] = new int[9][9];
/* Cada cuantos ciclos borra nmeros para destrabar */
final int DESTRUYE = 700;
/* Ciclo que llenar el sudoku completamente */
do
{
/* Se copia el sudoku sobre el tablero a evaluar */
for (int fila=0; fila<9; fila++)
for (int columna=0; columna<9; columna++)
if (sudoku[fila][columna] != 0)
solucion[fila][columna] = sudoku[fila][columna];
/* Busca un nmero al azar para
colocar en alguna celda */
boolean numValido=true;
do
{
/* Una posicin X de 0 a 8 */
int posX = azar.nextInt(9);
/* Una posicin Y de 0 a 8 */
int posY = azar.nextInt(9);
/* Un nmero al azar de 1 a 9 */
int numero = azar.nextInt(9) + 1;
/* Chequea si el nmero no se repite
ni vertical ni horizontalmente */
numValido=true;
for (int cont=0; cont<9; cont++)
if (solucion[cont][posY]==numero || solucion[posX][cont]==numero)
numValido=false;
/* Si el nmero no se repite entonces
lo coloca en el tablero */
if (numValido) solucion[posX][posY]=numero;
}while(!numValido);
/* Chequea que NO se viole la regla de que cada uno
de los 9 cuadros internos no repita nmero */
for (int cuadroX=0; cuadroX<=6; cuadroX+=3)
for (int cuadroY=0; cuadroY<=6; cuadroY+=3)
{
int numRepite=0, valor;
for (valor=1; valor<=9; valor++)
{
numRepite=0;
for (int posX=0; posX<3; posX++)
Rafael Alberto Moreno Parra. http://darwin.50webs.com
36
Ciclos: 700
Ciclos: 1400
Ciclos: 2100
Ciclos: 2800
Ciclos: 3500
Ciclos: 4200
Ciclos totales: 4244
5
6
1
8
4
7
9
2
3
3
7
9
5
2
1
6
8
4
4
2
8
9
6
3
1
7
5
6
1
3
7
8
9
5
4
2
7
9
4
6
5
2
3
1
8
8
5
2
1
3
4
7
9
6
9
3
5
4
7
8
2
6
1
1
4
6
2
9
5
8
3
7
2
8
7
3
1
6
4
5
9
Para ver la potencia de este programa, se prueba con el sudoku ms difcil del mundo [7], que es el siguiente:
37
Ese sudoku llamado por su autor AI Escargot, fue inventado por Arto Inkala, un matemtico finlands experto en matemtica
aplicada.
Ejecutando el programa, este arroja la respuesta despus de poco ms de 3 millones de iteraciones:
1
5
7
4
9
6
3
2
8
6
3
8
7
1
2
5
4
9
2
4
9
5
3
8
6
1
7
8
1
6
3
5
7
4
9
2
5
2
4
1
8
9
7
3
6
7
9
3
2
6
4
8
5
1
4
6
5
9
7
1
2
8
3
9
7
2
8
4
3
1
6
5
3
8
1
6
2
5
9
7
4
38
import java.util.Random;
public class Probabilidad
{
public static void main(String[] args)
{
/* Generador de nmeros pseudo-aleatorios */
Random azar = new Random();
/* Contador de xitos si
el jugador cambia su decisin inicial */
int cambia = 0;
/* Contador de xitos si el jugador
insiste en mantener su decisin inicial */
int insiste = 0;
for (int prueba=1; prueba<=1000000; prueba++)
{
/* Selecciona una caja al azar que ser la ganadora */
int cajaGana = azar.nextInt(3);
/* El jugador selecciona una caja al azar */
int cajaJuega = azar.nextInt(3);
/* Si el jugador escogi por casualidad la caja ganadora,
el dueo escoge al azar alguna de las dos cajas
restantes */
int cajaDueno = -1;
if (cajaGana == cajaJuega)
do
{
cajaDueno = azar.nextInt(3);
}while(cajaDueno == cajaGana);
else
/* El dueo slo puede escoger
la caja que no tiene premio */
do
{
cajaDueno = azar.nextInt(3);
}while(cajaDueno == cajaGana || cajaDueno == cajaJuega);
/* El jugador NO cambia su eleccin */
if (cajaGana == cajaJuega) insiste++;
/* El jugador SI cambia su eleccin */
int nuevaCaja = -1;
do
{
nuevaCaja = azar.nextInt(3);
}while(nuevaCaja == cajaDueno || nuevaCaja == cajaJuega);
if (nuevaCaja == cajaGana) cambia++;
}
System.out.println("Nmero de aciertos");
System.out.println("SIN cambiar la eleccin inicial: " + insiste);
System.out.println("CAMBIANDO la eleccin inicial: " + cambia);
}
}
La ejecucin del programa genera la siguiente salida
Nmero de aciertos
SIN cambiar la eleccin inicial: 333721
39
R2
Caso 2
Caso 3
Caso 4
Robot
Caso 5
Caso 6
Caso 7
Caso 8
El robot puede desplazarse a cualquier casilla vecina por iteracin, es el mismo tipo de movimiento del Rey en el Ajedrez.
El primer escenario en el que un robot se mueve y el otro permanece quieto, se usa el siguiente cdigo en Java
import java.util.Random;
public class EscenarioA
{
public static void main(String[] args)
{
int limiteX = 50;
int limiteY = 50;
/* Ubica al azar robotA y robotB, valida que no
* queden en la misma celda.
*/
Random azar = new Random();
int robotA_X, robotB_X, robotA_Y, robotB_Y;
do
{
robotA_X = azar.nextInt(limiteX);
robotA_Y = azar.nextInt(limiteY);
robotB_X = azar.nextInt(limiteX);
robotB_Y = azar.nextInt(limiteY);
}while (robotA_X==robotB_X && robotA_Y==robotB_Y);
System.out.println("Ubicacin inicial: robotA(" + robotA_X + "," + robotA_Y + ")");
System.out.println("Ubicacin inicial: robotB(" + robotB_X + "," + robotB_Y + ")");
/* robotA se mueve, robotB quieto */
int numMov = 0;
do
{
Rafael Alberto Moreno Parra. http://darwin.50webs.com
40
numMov++;
boolean movio = false;
do
{
/* Movimiento al azar del robotA */
switch(azar.nextInt(8))
{
case 0: if (robotA_X>0 && robotA_Y>0)
{ robotA_X--; robotA_Y--; movio=true; } break;
case 1: if (robotA_Y>0)
{ robotA_Y--; movio=true; } break;
case 2: if (robotA_X<limiteX && robotA_Y>0)
{ robotA_X++; robotA_Y--; movio=true; } break;
case 3: if (robotA_X>0)
{ robotA_X--; movio=true; } break;
case 4: if (robotA_X<limiteX)
{ robotA_X++; movio=true; } break;
case 5: if (robotA_X>0 && robotA_Y<limiteY )
{ robotA_X--; robotA_Y++; movio=true; } break;
case 6: if (robotA_Y<limiteY)
{ robotA_Y++; movio=true; } break;
default: if (robotA_X<limiteX && robotA_Y<limiteX)
{ robotA_X++; robotA_Y++; movio=true; } break;
}
}while(movio==false);
}while (robotA_X!=robotB_X || robotA_Y!=robotB_Y);
System.out.println("# movimientos para encuentro: " + numMov);
}
}
Un ejemplo de ejecucin es el siguiente
Ubicacin inicial: robotA(10,27)
Ubicacin inicial: robotB(2,13)
# movimientos para encuentro: 478
Para el segundo escenario, en el cual los dos robots se mueven, se usa este cdigo en Java
import java.util.Random;
public class Escenario2
{
public static void main(String[] args)
{
int limiteX = 50;
int limiteY = 50;
/* Ubica al azar robotA y robotB, valida que no
* queden en la misma celda.
*/
Random azar = new Random();
int robotA_X, robotB_X, robotA_Y, robotB_Y;
do
{
robotA_X = azar.nextInt(limiteX);
robotA_Y = azar.nextInt(limiteY);
robotB_X = azar.nextInt(limiteX);
robotB_Y = azar.nextInt(limiteY);
}while (robotA_X==robotB_X && robotA_Y==robotB_Y);
System.out.println("Ubicacin inicial: robotA(" + robotA_X + "," + robotA_Y + ")");
System.out.println("Ubicacin inicial: robotB(" + robotB_X + "," + robotB_Y + ")");
/* robotA se mueve, robotB tambin */
int numMov = 0;
do
Rafael Alberto Moreno Parra. http://darwin.50webs.com
41
{
numMov++;
boolean movio = false;
do
{
/* Movimiento al azar del robotA */
switch(azar.nextInt(8))
{
case 0: if (robotA_X>0 && robotA_Y>0)
{ robotA_X--; robotA_Y--; movio=true; } break;
case 1: if (robotA_Y>0)
{ robotA_Y--; movio=true; } break;
case 2: if (robotA_X<limiteX && robotA_Y>0)
{ robotA_X++; robotA_Y--; movio=true; } break;
case 3: if (robotA_X>0)
{ robotA_X--; movio=true; } break;
case 4: if (robotA_X<limiteX)
{ robotA_X++; movio=true; } break;
case 5: if (robotA_X>0 && robotA_Y<limiteY )
{ robotA_X--; robotA_Y++; movio=true; } break;
case 6: if (robotA_Y<limiteY)
{ robotA_Y++; movio=true; } break;
default: if (robotA_X<limiteX && robotA_Y<limiteX)
{ robotA_X++; robotA_Y++; movio=true; } break;
}
}while(movio==false);
movio = false;
do
{
/* Movimiento al azar del robotB */
switch(azar.nextInt(8))
{
case 0: if (robotB_X>0 && robotB_Y>0)
{ robotB_X--; robotB_Y--; movio=true; } break;
case 1: if (robotB_Y>0)
{ robotB_Y--; movio=true; } break;
case 2: if (robotB_X<limiteX && robotB_Y>0)
{ robotB_X++; robotB_Y--; movio=true; } break;
case 3: if (robotB_X>0)
{ robotB_X--; movio=true; } break;
case 4: if (robotB_X<limiteX)
{ robotB_X++; movio=true; } break;
case 5: if (robotB_X>0 && robotB_Y<limiteY )
{ robotB_X--; robotB_Y++; movio=true; } break;
case 6: if (robotB_Y<limiteY)
{ robotB_Y++; movio=true; } break;
default: if (robotB_X<limiteX && robotB_Y<limiteX)
{ robotB_X++; robotB_Y++; movio=true; } break;
}
}while(movio==false);
}while (robotA_X!=robotB_X || robotA_Y!=robotB_Y);
System.out.println("# movimientos para encuentro: " + numMov);
}
}
Para poder comparar bien los dos escenarios, se debe en primer lugar iniciar los robots en las mismas posiciones tanto para el
escenario 1 como para el escenario 2, y finalmente simular miles de veces para poder tomar una decisin. El cdigo en Java que
une los dos escenarios y simula miles de veces es el siguiente.
42
robotA_Xorig
robotA_Yorig
robotB_Xorig
robotB_Yorig
=
=
=
=
simular.robotA_X;
simular.robotA_Y;
simular.robotB_X;
simular.robotB_Y;
43
44
Fila
Fila
Fila
Fila
para
para
para
para
A la gente no le gusta esperar: despus de un largo tiempo, abandonan la fila. Sin embargo, un servicio muy rpido (atender ms
rpidamente) tendra un costo muy elevado. Luego es necesario encontrar un balance adecuado.
El objetivo de la simulacin es determinar una capacidad de servicio apropiada.
La cola, y,
El servicio
Los clientes o llegadas vienen en forma individual para recibir el servicio. Estos clientes o llegadas pueden ser:
Personas
Automviles (esperando en el semforo por ejemplo)
Mquinas que requieren reparacin
Documentos en espera de ser procesados
Si nadie est en la fila, cuando la persona llega va a ser atendida inmediatamente, de lo contrario, se une a la fila. La longitud de
la fila no incluye a la persona que en ese momento est siendo atendida. La formacin de la fila obedece a unas reglas o
disciplina. Generalmente, sta disciplina es primero en llegar, primero en ser atendido (FIFO: First Input, First Output), pero,
pueden haber otras reglas o filas con prioridades, por ejemplo: en una sala de emergencias mdicas, una persona en estado
crtico debe ser atendida con alta prioridad as llegue despus de una persona que tenga una herida de poca consideracin.
45
La fila
El nmero de clientes en la fila es el nmero de clientes que esperan a ser atendidos. El nmero de clientes en el sistema es el
nmero de clientes que hacen fila ms el nmero de clientes que reciben el servicio en ese momento
46
La capacidad de la fila es el nmero mximo de clientes que pueden estar en la cola. Generalmente se supone que la fila es
infinita aunque tambin la fila puede ser finita.
El servicio
El servicio puede ser brindado por uno o mltiples servidores. El tiempo de servicio vara de cliente a cliente (por ejemplo, tarda
mas tiempo atender a una persona con una compleja transaccin financiera que otra persona que solo paga un recibo en efectivo).
El tiempo esperado de servicio depende de la tasa media del servicio (). El tiempo esperado de servicio equivale a 1/. Por
ejemplo, si la tasa media de servicio es de 25 clientes por hora, entonces el tiempo esperado de servicio es 1/ = 1/25 = 0.04
horas = 2.4 minutos.
La simulacin
En principio el sistema est en un estado inicial (fila vaca). A medida que se ejecuta la simulacin, la fila pasa una condicin de
estado estable o nivel normal de operacin. Cuando se alcanza ese estado, se pueden emitir conclusiones.
Lo buscado en la simulacin es la tasa ptima de servicio.
La simulacin de filas de espera se desarrolla por unidad de tiempo seleccionada, cada 0.1 horas (6 minutos), es decir, dividir la
hora en 10 partes.
Como los tiempos de llegadas y salidas tienen una distribucin exponencial, la probabilidad PA de que un intervalo de 0.1 (1/10)
horas incluya una llegada es
Y la probabilidad de que incluya una salida (finalizacin del servicio), dado que se estaba sirviendo un cliente al inicio del servicio
es
47
Si
Si
r1
0
6
12
18
24
30
36
42
48
54
60
Llegada
en el
intervalo?
0
0,096
0,569
0,764
0,492
0,950
0,610
0,145
0,484
0,350
0,430
Si
No
No
No
No
No
Si
No
No
No
r2
Salida en
el
intervalo?
0
0,665
0,842
0,224
0,552
0,590
0,041
No
No
Si
No
No
Si
La simulacin de filas de espera se desarrolla por unidad de tiempo seleccionada, cada minuto, es decir, dividir la hora en 60
partes.
Como los tiempos de llegadas y de salidas tienen una distribucin exponencial, la probabilidad PA de que un intervalo de 1/60
horas incluya una llegada es
Y la probabilidad de que incluya una salida (finalizacin del servicio), dado que se estaba sirviendo un cliente al inicio del servicio
es
Si
48
Si
Tiempo
(minuto) r1
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
46
47
48
49
50
51
52
53
54
55
56
57
0,77650442
0,94275093
0,66641548
0,76487987
0,13243907
0,17974426
0,63052314
0,66448849
0,30974182
0,75790031
0,02571072
0,58543407
0,41782067
0,62793321
0,17784589
0,94571115
0,68005684
0,16722402
0,16272679
0,69040802
0,14082537
0,95813322
0,03703422
0,60438102
0,88603326
0,7886413
0,88286028
0,82766029
0,94172301
0,14507122
0,40839799
0,5427537
0,36735393
0,07392429
0,31898798
0,24129619
0,90444053
0,53173599
0,68145796
0,14360894
0,34446455
0,74873241
0,41690344
0,92737488
0,53374722
0,66173763
0,9057334
0,88985574
0,78101784
0,95652728
0,15883767
0,79639011
0,16125232
0,88240816
0,97167163
0,78877336
0,32002766
0,43980554
Llega
usuario? Turno r2
SI
SI
0,60117171
0,05224472
0,38094446
0,21211305
0,41858164
0,13027231
0,87731285
0,73302382
0,44864403
0,60791612
1 0,92136336
0,78165786
0,93462978
0,62701941
0,28448186
0,60368954
0,76625536
0,85211953
0,59815458
0,006085
0,70623304
0,17045818
2 0,61885717
0,10086073
0,12716227
0,06943013
0,73059954
0,05977628
0,36491122
0,37841808
0,44239527
0,47731154
0,45366328
0,44987745
0,54688381
0,37095574
0,27273652
0,45067639
0,47956027
0,63794235
0,34905287
0,38858364
0,90416263
0,86647223
0,92475769
0,15062455
0,38886044
0,71692401
0,31736587
0,28631476
0,31467531
0,58351036
0,91119773
0,07451972
0,72185893
0,1010477
0,6163067
0,5669924
Atendi
usuario? Quin?
NO
SI
SI
49
58 0,98734995
59 0,25659035
60 0,93067502
0,08371423
0,88138916
0,2499344
import java.util.Random;
/* Gestiona la persona que hace la fila de espera */
public class Persona
{
int codigo; /* Cdigo del cliente */
int
int
int
int
tramA;
tramB;
tramC;
tramD;
/*
/*
/*
/*
int
int
int
int
tramAini;
tramBini;
tramCini;
tramDini;
Duracin
Duracin
Duracin
Duracin
/*
/*
/*
/*
del
del
del
del
Duracin
Duracin
Duracin
Duracin
trmite
trmite
trmite
trmite
original
original
original
original
A
B
C
D
*/
*/
*/
*/
del
del
del
del
trmite
trmite
trmite
trmite
A
B
C
D
*/
*/
*/
*/
50
break;
break;
break;
break;
algn trmite
return;
return;
return;
return;
}
}
}
}
51
52
tramDini = tramD;
}
}
El siguiente programa sirve para simular el caso de una sola fila atendida por los cuatro(4) servicios
SimularFila.java
import java.util.ArrayList;
import java.util.Random;
public class SimularFila
{
public static void main(String Parametros[])
{
/* Slo un generador de nmeros aleatorios */
Random azar = new Random();
/* Condiciones de la simulacin */
final double TASALLEGADAHORA = 5;
/* Duracin mnima y mxima de los trmites en minutos */
final int TRAMITEAMIN = 2;
final int TRAMITEAMAX = 5;
final int TRAMITEBMIN = 3;
final int TRAMITEBMAX = 6;
final int TRAMITECMIN = 1;
final int TRAMITECMAX = 4;
final int TRAMITEDMIN = 4;
final int TRAMITEDMAX = 7;
/* Total minutos a simular */
final int TOTALMINUTOS = 600;
/* Llegada de clientes por hora */
double tasaLlega = TASALLEGADAHORA;
double limLlega = 1 - Math.exp(-tasaLlega * 1 / 60);
/* La cola es representada en una lista enlazada */
ArrayList<Persona> fila = new ArrayList<Persona>();
/* Nmero de servidores libres */
int servLibre = 4;
/* Cdigo del cliente */
int codigo = 0;
/* Simulacin minuto a minuto */
for (int minuto = 1; minuto <= TOTALMINUTOS; minuto++)
{
/* Comprueba si llega una persona en ese minuto */
if (azar.nextDouble() < limLlega)
{
Persona persona = new Persona(codigo, azar, minuto, TRAMITEAMIN, TRAMITEAMAX,
TRAMITEBMIN, TRAMITEBMAX, TRAMITECMIN, TRAMITECMAX, TRAMITEDMIN, TRAMITEDMAX);
persona.setEstado(1); /* De una vez va a hacer cola */
fila.add(persona);
codigo++;
}
/* Se atiende la fila siempre y cuando
existan personas en la fila */
for(int persona = 0; persona < fila.size(); persona++)
{
/* Si hay servidores libres, chequea si hay usuarios
en espera. Dado el caso el usuario pasa a ser
atendido y un servidor se usa para atencin. */
53
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
54
En el ejemplo, se observa que el cliente 1 llego en el minuto 9, le atendieron sus trmites y sali del sistema en el minuto 16, es
decir, estuvo haciendo fila y esperando a gestionar cada trmite por 7 minutos.
En el ejemplo de la simulacin el tiempo promedio de los clientes dentro del sistema fue de 6.4166 minutos.
Cambiando el programa para que simule el escenario 2, en el cual son cuatro filas especializadas se usa el siguiente programa:
import java.util.ArrayList;
import java.util.Random;
public class SimularMultipleFila
{
public static void main(String Parametros[])
{
/* Slo un generador de nmeros aleatorios */
Random azar = new Random();
/* Condiciones de la simulacin */
final double TASALLEGADAHORA = 5;
/* Duracin mnima y mxima de los trmites en minutos */
final int TRAMITEAMIN = 2;
final int TRAMITEAMAX = 5;
final int TRAMITEBMIN = 3;
final int TRAMITEBMAX = 6;
final int TRAMITECMIN = 1;
final int TRAMITECMAX = 4;
final int TRAMITEDMIN = 4;
final int TRAMITEDMAX = 7;
/* Total minutos a simular */
final int TOTALMINUTOS = 600;
/* Llegada de clientes por hora */
double tasaLlega = TASALLEGADAHORA;
double limLlega = 1 - Math.exp(-tasaLlega * 1 / 60);
/* Cdigo del cliente */
int codigo = 0;
/* Filas vacas */
ArrayList<Persona>
ArrayList<Persona>
ArrayList<Persona>
ArrayList<Persona>
ArrayList<Persona>
filaIni
filaA =
filaB =
filaC =
filaD =
= new ArrayList<Persona>();
new ArrayList<Persona>();
new ArrayList<Persona>();
new ArrayList<Persona>();
new ArrayList<Persona>();
=
=
=
=
filaA.size();
filaB.size();
filaC.size();
filaD.size();
55
56
57
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
38
39
39
40
41
42
43
43
44
44
45
45
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
[0]
[0]
[0]
[0]
[0]
[0]
[0]
[0]
[0]
[0]
[0]
[0]
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
46
47
47
48
48
49
49
50
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
[1]
[1]
[1]
[1]
[1]
[1]
[1]
[1]
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
Minuto:
.
50
51
51
51
51
52
52
52
53
53
53
54
54
54
55
55
55
56
56
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
Cliente
[2]
[2]
[1]
[2]
[2]
[2]
[1]
[2]
[1]
[1]
[2]
[1]
[1]
[2]
[1]
[1]
[2]
[2]
[2]
[0]
[1]
[2]
[3]
[4]
[5]
Lleg:
Lleg:
Lleg:
Lleg:
Lleg:
Lleg:
38
46
50
60
63
77
Termin:
Termin:
Termin:
Termin:
Termin:
Termin:
45
55
56
65
75
91
Diferencia:
Diferencia:
Diferencia:
Diferencia:
Diferencia:
Diferencia:
7
9
6
5
12
14
Escenario 2: 4 filas,
4 servicios,
58
7,088889
5,808511
7,714286
6,92
7,2244897
6,521739
7,8913045
6,375
6,962963
6,847826
5,9166665
8,290909
7,0
6,4130435
6,8125
8,04878
7,470588
8,404255
10
6,86
6,3333335
11
6,4
6,9166665
12
6,757576
8,513514
13
7,625
6,7708335
14
7,2765956
7,357143
15
6,8913045
7,236842
Promedio
7,0594775
7,1172264
59
Cuando
Polticas de Inventario
Sistema de Punto de Reorden (Sistema RQ)
Cuando el inventario est igual o por debajo del punto de reorden R se genera una orden de Q unidades fijas. La simulacin sirve
para definir el mejor R y Q. Se debe anotar que as se haga el pedido justo cuando el inventario caiga por debajo del punto R, hay
un tiempo de espera no determinado hasta que el proveedor traiga la mercanca, mientras tanto el empresario debe defenderse
con lo que le queda en el inventario para atender la demanda variable.
60
Probabilidad
25
10%
26
20%
27
30%
28
30%
29
10%
El tiempo en das desde el pedido al proveedor y que ste haga la entrega, est expresada en la siguiente tabla:
Tiempo en das
Probabilidad
20%
30%
35%
10%
5%
61
62
Da
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
#Azar
0,902084688
0,825244433
0,963613785
0,999112314
0,401594559
0,485172418
0,354153807
0,328321364
0,684177714
0,771624036
0,418056737
0,116846084
0,449786448
0,486076794
0,079714421
0,681874139
0,415244159
0,562321226
0,474514222
0,77082896
0,953051781
0,143461696
0,420843489
0,953750653
0,381198731
0,301085762
0,627277762
0,675102576
0,995381946
0,470388351
#Azar
-1,000
-1,000
-1,000
0,393
-1,000
-1,000
-1,000
0,898
-1,000
-1,000
-1,000
-1,000
0,349
-1,000
-1,000
-1,000
0,970
-1,000
-1,000
-1,000
-1,000
-1,000
0,927
-1,000
-1,000
-1,000
-1,000
0,941
-1,000
-1,000
63
En la simulacin anterior hay un problema importante: se simul por muy poco tiempo (slo 30 das) por lo que los datos estn
afectados por el valor del inventario inicial. Si se hubiese puesto un valor de inventario inicial muy bajo, el proceso de pedido y los
costos de prdida de imagen seran muy tempranos, en cambio, si se hubiese puesto un valor de inventario inicial muy alto,
entonces no habra durante bastantes das la necesidad de hacer pedido y mucho menos costos por prdida de imagen. El
problema es que no se sabe de antemano cuanto debe ser el inventario inicial. Para resolver ese problema se debe simular por
una cantidad inmensa de das (por lo menos 600 das) y tomar los ltimos 200 das para generar mtricas de costos. Al simular
por tanto tiempo, hace que el valor inicial pierda toda relevancia.
Se repite entonces la simulacin:
64
Da
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
Azar
0,142849517
0,60938385
0,269473243
0,824672033
0,836126144
0,913678941
0,708196762
0,626411454
0,611556178
0,083665546
0,341924391
0,35273422
0,749821492
0,30609012
0,300426007
0,201892346
0,862909019
0,208594003
0,719800392
0,226672355
0,652768352
0,176552748
0,131079062
0,364042679
0,776334195
0,369063125
0,508278706
0,58374575
0,026490682
0,647098472
0,473840339
0,626888629
0,602832973
0,273088151
0,988923101
0,343802184
0,818506569
0,413119728
0,244828735
0,477436827
0,268140765
0,975010711
0,901863847
0,395966343
0,627906618
0,577247675
0,876048987
0,161712494
0,226266125
0,752828822
0
3
0
0
0
3
0
0
0
3
0
0
0
3
0
0
0
3
0
0
0
2
0
0
0
2
0
0
0
1
0
0
0
1
0
0
0
3
0
0
0
1
0
0
0
3
0
0
0
1
Cuenta
atrs
llega
Costo de
ese
prdida de
pedido goodwill
0
-1
3
2
1
0
3
2
1
0
3
2
1
0
3
2
1
0
3
2
1
0
2
1
0
-1
2
1
0
-1
1
0
-1
-1
1
0
-1
-1
3
2
1
0
1
0
-1
-1
3
2
1
0
65
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
0,37533666
0,441361739
0,793316081
0,942470879
0,115650911
0,15113523
0,085263037
0,502436318
0,807354312
0,620673974
0,667070159
0,114272596
0,321505293
0,386711213
0,798046992
0,206103989
0,786360155
0,17076735
0,230755395
0,970326542
0,788180498
0,603770688
0,871511936
0,91370531
0,117414118
0,978079772
0,08468076
0,765092746
0,52754725
0,736495228
0,66941463
0,472929959
0,813881881
0,623995121
0,064277711
0,46947391
0,874358948
0,975498937
0,790496653
0,374147078
0,971117863
0,565946801
0,571706989
0,758005861
0,019819909
0,082787452
0,131398748
0,429092784
0,204302175
0,148972008
0,569723977
0,719563982
0,014687709
0,550170032
27
27
28
29
26
26
25
27
28
28
28
26
27
27
28
26
28
26
26
29
28
28
29
29
26
29
25
28
27
28
28
27
28
28
25
27
29
29
28
27
29
27
27
28
25
25
26
27
26
26
27
28
25
27
73
156
128
99
73
47
22
105
77
49
131
105
78
51
23
107
79
53
27
108
80
52
23
-6
84
55
30
2
-25
82
54
137
109
81
56
29
0
81
53
26
107
80
53
25
0
85
59
32
116
90
63
145
120
93
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
3.650,00
7.800,00
6.400,00
4.950,00
3.650,00
2.350,00
1.100,00
5.250,00
3.850,00
2.450,00
6.550,00
5.250,00
3.900,00
2.550,00
1.150,00
5.350,00
3.950,00
2.650,00
1.350,00
5.400,00
4.000,00
2.600,00
1.150,00
$ 0,00
4.200,00
2.750,00
1.500,00
$ 100,00
$ 0,00
4.100,00
2.700,00
6.850,00
5.450,00
4.050,00
2.800,00
1.450,00
$ 0,00
4.050,00
2.650,00
1.300,00
5.350,00
4.000,00
2.650,00
1.250,00
$ 0,00
4.250,00
2.950,00
1.600,00
5.800,00
4.500,00
3.150,00
7.250,00
6.000,00
4.650,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
-1,000
-1,000
-1,000
0,565
-1,000
-1,000
-1,000
-1,000
0,192
-1,000
-1,000
-1,000
0,216
-1,000
-1,000
-1,000
0,324
-1,000
-1,000
-1,000
0,704
-1,000
-1,000
-1,000
0,882
-1,000
-1,000
-1,000
-1,000
0,155
-1,000
-1,000
-1,000
0,657
-1,000
-1,000
-1,000
0,295
-1,000
-1,000
-1,000
0,748
-1,000
-1,000
-1,000
0,264
-1,000
-1,000
-1,000
0,198
-1,000
-1,000
-1,000
0,584
0
0
0
3
0
0
0
0
1
0
0
0
2
0
0
0
2
0
0
0
3
0
0
0
4
0
0
0
0
1
0
0
0
3
0
0
0
2
0
0
0
3
0
0
0
2
0
0
0
1
0
0
0
3
1
0
-1
-1
3
2
1
0
-1
1
0
-1
-1
2
1
0
-1
2
1
0
-1
3
2
1
0
4
3
2
1
0
1
0
-1
-1
3
2
1
0
2
1
0
-1
3
2
1
0
2
1
0
-1
1
0
-1
-1
$ 720,0
$ 3.000,0
66
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
0,832510738
0,917877064
0,461571465
0,464338658
0,445748559
0,890554656
0,419082498
0,491298665
0,314796162
0,547131798
0,783852137
0,352194333
0,89475457
0,658739176
0,479831552
0,76375922
0,197008924
0,175502614
0,05015966
0,841249661
0,461012802
0,778431396
0,962444711
0,809859723
0,546202852
0,22216969
0,635772147
0,540679693
0,852432819
0,583463061
0,296404936
0,475169486
0,829372543
0,52752513
0,63995141
0,963037453
0,260423749
0,166388119
0,76634915
0,489997228
0,563309028
0,792143395
0,47843578
0,382136736
0,891813254
0,66562343
0,137103896
0,774958031
0,398247571
0,227092148
0,227919932
0,659163821
0,971185005
0,570223879
28
29
27
27
27
29
27
27
27
27
28
27
29
28
27
28
26
26
25
28
27
28
29
28
27
26
28
27
29
27
26
27
28
27
28
29
26
26
28
27
27
28
27
27
29
28
26
28
27
26
26
28
29
27
65
36
9
92
65
36
9
92
65
148
120
93
64
36
9
-19
84
58
33
5
88
60
31
113
86
60
32
115
86
59
33
6
-22
83
55
26
110
84
56
29
112
84
57
140
111
83
57
29
112
86
60
142
113
86
$ 3.250,00
$ 1.800,00
$ 450,00
$ 4.600,00
$ 3.250,00
$ 1.800,00
$ 450,00
$ 4.600,00
$ 3.250,00
$ 7.400,00
$ 6.000,00
$ 4.650,00
$ 3.200,00
$ 1.800,00
$ 450,00
$ 0,00
$ 4.200,00
$ 2.900,00
$ 1.650,00
$ 250,00
$ 4.400,00
$ 3.000,00
$ 1.550,00
$ 5.650,00
$ 4.300,00
$ 3.000,00
$ 1.600,00
$ 5.750,00
$ 4.300,00
$ 2.950,00
$ 1.650,00
$ 300,00
$ 0,00
$ 4.150,00
$ 2.750,00
$ 1.300,00
$ 5.500,00
$ 4.200,00
$ 2.800,00
$ 1.450,00
$ 5.600,00
$ 4.200,00
$ 2.850,00
$ 7.000,00
$ 5.550,00
$ 4.150,00
$ 2.850,00
$ 1.450,00
$ 5.600,00
$ 4.300,00
$ 3.000,00
$ 7.100,00
$ 5.650,00
$ 4.300,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
-1,000
-1,000
-1,000
0,685
-1,000
-1,000
-1,000
0,047
-1,000
-1,000
-1,000
0,938
-1,000
-1,000
-1,000
-1,000
0,507
-1,000
-1,000
-1,000
0,270
-1,000
-1,000
-1,000
0,235
-1,000
-1,000
-1,000
0,934
-1,000
-1,000
-1,000
-1,000
0,373
-1,000
-1,000
-1,000
0,376
-1,000
-1,000
-1,000
0,146
-1,000
-1,000
-1,000
0,365
-1,000
-1,000
-1,000
0,067
-1,000
-1,000
-1,000
0,938
0
0
0
3
0
0
0
1
0
0
0
4
0
0
0
0
3
0
0
0
2
0
0
0
2
0
0
0
4
0
0
0
0
2
0
0
0
2
0
0
0
1
0
0
0
2
0
0
0
1
0
0
0
4
3
2
1
0
3
2
1
0
1
0
-1
-1
4
3
2
1
0
3
2
1
0
2
1
0
-1
2
1
0
-1
4
3
2
1
0
2
1
0
-1
2
1
0
-1
1
0
-1
-1
2
1
0
-1
1
0
-1
-1
$ 2.280,0
$ 2.640,0
67
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
0,157134105
0,371404306
0,485896897
0,561266293
0,187012905
0,804076203
0,303126993
0,513280691
0,254385794
0,353536282
0,255030677
0,122483942
0,316191725
0,49887889
0,687139927
0,089974441
0,881102693
0,072835571
0,073663044
0,225501837
0,974981914
0,494707844
0,719592255
0,693715437
0,321999689
0,089726425
0,182254073
0,745568899
0,10330006
0,479095028
0,893500542
0,206381577
0,935817947
0,362371293
0,932924451
0,987496942
0,83000261
0,387488181
0,639862429
0,714571607
0,978864806
0,146630102
26
27
27
27
26
28
27
27
26
27
26
26
27
27
28
25
29
25
25
26
29
27
28
28
27
25
26
28
26
27
29
26
29
27
29
29
28
27
28
28
29
26
60
33
6
-21
84
56
139
112
86
59
143
117
90
63
35
10
-19
-25
85
59
30
3
85
57
140
115
89
61
145
118
89
63
34
117
88
59
141
114
86
58
29
3
$ 3.000,00
$ 1.650,00
$ 300,00
$ 0,00
$ 4.200,00
$ 2.800,00
$ 6.950,00
$ 5.600,00
$ 4.300,00
$ 2.950,00
$ 7.150,00
$ 5.850,00
$ 4.500,00
$ 3.150,00
$ 1.750,00
$ 500,00
$ 0,00
$ 0,00
$ 4.250,00
$ 2.950,00
$ 1.500,00
$ 150,00
$ 4.250,00
$ 2.850,00
$ 7.000,00
$ 5.750,00
$ 4.450,00
$ 3.050,00
$ 7.250,00
$ 5.900,00
$ 4.450,00
$ 3.150,00
$ 1.700,00
$ 5.850,00
$ 4.400,00
$ 2.950,00
$ 7.050,00
$ 5.700,00
$ 4.300,00
$ 2.900,00
$ 1.450,00
$ 150,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
-1,000
-1,000
-1,000
-1,000
0,047
-1,000
-1,000
-1,000
0,075
-1,000
-1,000
-1,000
0,970
-1,000
-1,000
-1,000
-1,000
-1,000
0,609
-1,000
-1,000
-1,000
0,055
-1,000
-1,000
-1,000
0,154
-1,000
-1,000
-1,000
0,268
-1,000
-1,000
-1,000
0,182
-1,000
-1,000
-1,000
0,542
-1,000
-1,000
-1,000
0
0
0
0
1
0
0
0
1
0
0
0
5
0
0
0
0
0
3
0
0
0
1
0
0
0
1
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
4
3
2
1
0
1
0
-1
-1
1
0
-1
-1
5
4
3
2
1
0
3
2
1
0
1
0
-1
-1
1
0
-1
-1
2
1
0
-1
1
0
-1
-1
3
2
1
$ 2.520,0
$ 2.280,0
$ 3.000,0
En esa simulacin de 1000 das, tomando los ltimos 200 das, se obtienen los siguientes valores:
Total costo de inventario: $694.400
Total costo de pedido: $9.600
Total costo de prdida de Goodwill: $16.440
Total costo: $720.440
68
Da Azar
801 0,670271459
802 0,678096206
803 0,347873168
804 0,516641164
805 0,641518836
806 0,802105795
807 0,921427049
808 0,243481261
809 0,426084622
810 0,622849729
811 0,254225696
812 0,359411464
813 0,029213764
814 0,911547961
815 0,347254894
816 0,028581843
817 0,218174291
818 0,962237647
819
0,83427599
820 0,834562633
821 0,827429598
822 0,102971136
823 0,155008084
824 0,750118141
825 0,276149746
826
0,03545437
827 0,209510946
828
0,14577234
829 0,251002519
830 0,706524245
831 0,741378686
832 0,246647106
833 0,616094951
834 0,980691487
835 0,055607295
836
0,30872165
837 0,567909147
838 0,605007348
839 0,987726541
840 0,513757668
841 0,419995879
842 0,419678311
843 0,592061828
844 0,573203073
845 0,269554415
846 0,552075982
847 0,175444064
848 0,791271377
Demand
a ese
Inventa Valor
da
rio
Inventario
28
185
$ 9.250,00
28
157
$ 7.850,00
27
130
$ 6.500,00
27
103
$ 5.150,00
28
75
$ 3.750,00
28
247
$ 12.350,00
29
218
$ 10.900,00
26
192
$ 9.600,00
27
165
$ 8.250,00
28
137
$ 6.850,00
26
111
$ 5.550,00
27
284
$ 14.200,00
25
259
$ 12.950,00
29
230
$ 11.500,00
27
203
$ 10.150,00
25
178
$ 8.900,00
26
152
$ 7.600,00
29
123
$ 6.150,00
28
95
$ 4.750,00
28
267
$ 13.350,00
28
239
$ 11.950,00
26
213
$ 10.650,00
26
187
$ 9.350,00
28
159
$ 7.950,00
26
133
$ 6.650,00
25
308
$ 15.400,00
26
282
$ 14.100,00
26
256
$ 12.800,00
26
230
$ 11.500,00
28
202
$ 10.100,00
28
174
$ 8.700,00
26
148
$ 7.400,00
28
120
$ 6.000,00
29
91
$ 4.550,00
25
266
$ 13.300,00
27
239
$ 11.950,00
27
212
$ 10.600,00
28
184
$ 9.200,00
29
155
$ 7.750,00
27
128
$ 6.400,00
27
101
$ 5.050,00
27
274
$ 13.700,00
27
247
$ 12.350,00
27
220
$ 11.000,00
26
194
$ 9.700,00
27
167
$ 8.350,00
26
141
$ 7.050,00
28
113
$ 5.650,00
Llega
Pedido
Azar
Pedido
$ 0,00
-1,000
0
$ 200,00
0,679
3
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 200,00
0,470
2
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 200,00
0,709
3
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 200,00
0,065
1
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 200,00
0,640
3
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 200,00
0,416
2
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 0,00
-1,000
0
$ 200,00
0,289
2
$ 0,00
-1,000
0
$ 0,00
-1,000
0
Cuenta
atrs
llega
ese
pedido
Costo de
prdida
de
goodwill
-1
-1
3
2
1
0
-1
-1
-1
2
1
0
-1
-1
-1
-1
3
2
1
0
-1
-1
-1
-1
1
0
-1
-1
-1
-1
-1
3
2
1
0
-1
-1
-1
-1
2
1
0
-1
-1
-1
-1
2
1
69
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
0,718758809
0,362402069
0,203535201
0,104269424
0,67518786
0,367678385
0,074762157
0,540422884
0,156314206
0,449748745
0,170358331
0,052177658
0,068990344
0,945078009
0,936911454
0,06286461
0,016308715
0,193947007
0,932561947
0,480076439
0,198989515
0,157740078
0,740390438
0,755793719
0,122136866
0,813719984
0,543195754
0,361820935
0,952971222
0,007575131
0,359840362
0,344676958
0,791575554
0,550269898
0,8931738
0,10388089
0,507196912
0,618716854
0,485091363
0,950212046
0,938804077
0,14340788
0,654242708
0,335403218
0,5739478
0,541514742
0,771578733
0,414554701
0,27342179
0,383004972
0,4591243
0,622797279
0,438850852
0,994570265
28
27
26
26
28
27
25
27
26
27
26
25
25
29
29
25
25
26
29
27
26
26
28
28
26
28
27
27
29
25
27
27
28
27
29
26
27
28
27
29
29
26
28
27
27
27
28
27
26
27
27
28
27
29
285
258
232
206
178
151
126
299
273
246
220
195
170
141
312
287
262
236
207
180
154
328
300
272
246
218
191
164
135
110
283
256
228
201
172
146
119
91
264
235
206
180
152
125
98
71
243
216
190
163
136
108
281
252
$ 14.250,00
$ 12.900,00
$ 11.600,00
$ 10.300,00
$ 8.900,00
$ 7.550,00
$ 6.300,00
$ 14.950,00
$ 13.650,00
$ 12.300,00
$ 11.000,00
$ 9.750,00
$ 8.500,00
$ 7.050,00
$ 15.600,00
$ 14.350,00
$ 13.100,00
$ 11.800,00
$ 10.350,00
$ 9.000,00
$ 7.700,00
$ 16.400,00
$ 15.000,00
$ 13.600,00
$ 12.300,00
$ 10.900,00
$ 9.550,00
$ 8.200,00
$ 6.750,00
$ 5.500,00
$ 14.150,00
$ 12.800,00
$ 11.400,00
$ 10.050,00
$ 8.600,00
$ 7.300,00
$ 5.950,00
$ 4.550,00
$ 13.200,00
$ 11.750,00
$ 10.300,00
$ 9.000,00
$ 7.600,00
$ 6.250,00
$ 4.900,00
$ 3.550,00
$ 12.150,00
$ 10.800,00
$ 9.500,00
$ 8.150,00
$ 6.800,00
$ 5.400,00
$ 14.050,00
$ 12.600,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
-1,000
-1,000
-1,000
-1,000
0,479
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,065
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,038
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,444
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,673
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,851
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,367
-1,000
-1,000
-1,000
-1,000
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-1
-1
-1
2
1
0
-1
-1
-1
-1
-1
1
0
-1
-1
-1
-1
-1
1
0
-1
-1
-1
-1
-1
-1
2
1
0
-1
-1
-1
-1
3
2
1
0
-1
-1
-1
4
3
2
1
0
-1
-1
-1
2
1
0
-1
70
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
0,850841125
0,532620702
0,088359265
0,707594904
0,336181737
0,067219147
0,1937371
0,468516832
0,102275098
0,276872962
0,604495834
0,216296637
0,83037614
0,779029356
0,020088267
0,755451984
0,430956625
0,717889039
0,747604104
0,636354218
0,078452052
0,600836502
0,792348652
0,348716929
0,298486778
0,765469088
0,395518835
0,74188265
0,703448466
0,842170588
0,718561579
0,8795626
0,960731242
0,690806912
0,157666935
0,112435651
0,606690346
0,283582834
0,723261828
0,924319403
0,272309301
0,18308056
0,928497888
0,539786917
0,442052007
0,369407664
0,385917413
0,04922286
0,445291524
0,478882879
0,125837083
0,977758104
0,263541087
0,541922153
29
27
25
28
27
25
26
27
26
26
28
26
28
28
25
28
27
28
28
28
25
28
28
27
26
28
27
28
28
28
28
29
29
28
26
26
28
26
28
29
26
26
29
27
27
27
27
25
27
27
26
29
26
27
223
196
171
143
116
91
65
238
212
186
158
132
104
276
251
223
196
168
140
312
287
259
231
204
178
150
123
95
267
239
211
182
153
125
99
73
245
219
191
162
136
110
81
54
27
200
173
148
121
94
268
239
213
186
$ 11.150,00
$ 9.800,00
$ 8.550,00
$ 7.150,00
$ 5.800,00
$ 4.550,00
$ 3.250,00
$ 11.900,00
$ 10.600,00
$ 9.300,00
$ 7.900,00
$ 6.600,00
$ 5.200,00
$ 13.800,00
$ 12.550,00
$ 11.150,00
$ 9.800,00
$ 8.400,00
$ 7.000,00
$ 15.600,00
$ 14.350,00
$ 12.950,00
$ 11.550,00
$ 10.200,00
$ 8.900,00
$ 7.500,00
$ 6.150,00
$ 4.750,00
$ 13.350,00
$ 11.950,00
$ 10.550,00
$ 9.100,00
$ 7.650,00
$ 6.250,00
$ 4.950,00
$ 3.650,00
$ 12.250,00
$ 10.950,00
$ 9.550,00
$ 8.100,00
$ 6.800,00
$ 5.500,00
$ 4.050,00
$ 2.700,00
$ 1.350,00
$ 10.000,00
$ 8.650,00
$ 7.400,00
$ 6.050,00
$ 4.700,00
$ 13.400,00
$ 11.950,00
$ 10.650,00
$ 9.300,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
-1,000
-1,000
0,897
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,370
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,173
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,751
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,608
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,993
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,791
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-1
-1
4
3
2
1
0
-1
-1
-1
2
1
0
-1
-1
-1
-1
1
0
-1
-1
-1
-1
-1
3
2
1
0
-1
-1
-1
-1
3
2
1
0
-1
-1
-1
5
4
3
2
1
0
-1
3
2
1
0
-1
-1
-1
71
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
100
0
0,461126143
0,50227489
0,415950521
0,488653698
0,046850466
0,3203018
0,108547652
0,572993347
0,121925183
0,058093116
0,035886528
0,811456336
0,060575455
0,691200221
0,644355977
0,813594614
0,427009073
0,90905807
0,363623767
0,63597157
0,604669468
0,671362256
0,690434278
0,433977121
0,993365737
0,205231345
0,230986307
0,321017469
0,558104882
0,431291628
0,957452921
0,838561516
0,755946181
0,978937424
0,710262737
0,856473843
0,300924895
0,172760254
0,566213656
0,83988748
0,69018984
0,916855846
0,466582863
27
27
27
27
25
27
26
27
26
25
25
28
25
28
28
28
27
29
27
28
28
28
28
27
29
26
26
27
27
27
29
28
28
29
28
29
27
26
27
28
28
29
27
159
132
105
78
253
226
200
173
147
322
297
269
244
216
188
160
133
104
277
249
221
193
165
138
109
283
257
230
203
176
147
319
291
262
234
205
178
152
125
97
269
240
213
$ 7.950,00
$ 6.600,00
$ 5.250,00
$ 3.900,00
$ 12.650,00
$ 11.300,00
$ 10.000,00
$ 8.650,00
$ 7.350,00
$ 16.100,00
$ 14.850,00
$ 13.450,00
$ 12.200,00
$ 10.800,00
$ 9.400,00
$ 8.000,00
$ 6.650,00
$ 5.200,00
$ 13.850,00
$ 12.450,00
$ 11.050,00
$ 9.650,00
$ 8.250,00
$ 6.900,00
$ 5.450,00
$ 14.150,00
$ 12.850,00
$ 11.500,00
$ 10.150,00
$ 8.800,00
$ 7.350,00
$ 15.950,00
$ 14.550,00
$ 13.100,00
$ 11.700,00
$ 10.250,00
$ 8.900,00
$ 7.600,00
$ 6.250,00
$ 4.850,00
$ 13.450,00
$ 12.000,00
$ 10.650,00
$ 200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 200,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
$ 0,00
0,550
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,163
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,317
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,343
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,115
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
0,642
-1,000
-1,000
-1,000
-1,000
-1,000
-1,000
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
3
2
1
0
-1
-1
-1
1
0
-1
-1
-1
-1
-1
-1
2
1
0
-1
-1
-1
-1
2
1
0
-1
-1
-1
-1
1
0
-1
-1
-1
-1
-1
3
2
1
0
-1
-1
0,380337769
27
186
$ 9.300,00
$ 0,00
-1,000
-1
En esa simulacin de 1000 das, tomando los ltimos 200 das, se obtiene los siguientes valores:
Total costo de inventario: $1.903.050
Total costo de pedido: $5.400
Total costo de prdida de Goodwill: $0
Total costo: $1.908.450
Rafael Alberto Moreno Parra. http://darwin.50webs.com
72
Como se puede observar, en la segunda simulacin, no hay prdida de goodwill pero aument considerablemente el costo de
inventario.
Se busca entonces un valor Q y R que finalmente generen el menor costo.
700
$ 200
$ 10
$ 150
$ 300
73
Da
Demanda
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
Daos
63
62
60
58
64
44
57
66
61
65
59
61
49
54
69
61
58
67
57
67
69
60
68
51
52
64
69
64
54
61
60
47
69
62
54
56
63
53
53
70
53
51
54
60
69
69
56
56
54
62
60
Llega
0
1
1
2
4
1
1
1
0
1
0
0
1
2
1
1
0
1
1
1
2
1
0
1
0
1
1
2
0
1
2
1
1
1
0
3
1
4
4
1
0
0
0
2
1
3
0
0
1
1
0
Inventario
0
0
0
0
0
0
406
0
0
0
0
0
0
0
219
0
0
0
0
0
413
0
0
0
0
0
219
0
0
0
0
0
0
373
0
0
0
0
0
0
0
0
0
303
0
0
0
0
0
0
401
157
94
33
0
0
0
348
281
220
154
95
34
0
0
149
87
29
0
0
0
342
281
213
161
109
44
193
127
73
11
0
0
0
310
256
197
133
76
19
0
0
0
0
241
171
99
43
0
0
0
341
Costo
Costo Revisar
Tiempo en
Inventario
Fijo
Costo Ordenar llegar
$ 1.570
$ 0
$ 0
$ 940
$ 300
$ 200
$ 330
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 3.480
$ 0
$ 0
$ 2.810
$ 300
$ 200
$ 2.200
$ 0
$ 0
$ 1.540
$ 0
$ 0
$ 950
$ 0
$ 0
$ 340
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 1.490
$ 0
$ 0
$ 870
$ 300
$ 200
$ 290
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 3.420
$ 0
$ 0
$ 2.810
$ 300
$ 200
$ 2.130
$ 0
$ 0
$ 1.610
$ 0
$ 0
$ 1.090
$ 0
$ 0
$ 440
$ 0
$ 0
$ 1.930
$ 0
$ 0
$ 1.270
$ 300
$ 200
$ 730
$ 0
$ 0
$ 110
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 3.100
$ 0
$ 0
$ 2.560
$ 0
$ 0
$ 1.970
$ 300
$ 200
$ 1.330
$ 0
$ 0
$ 760
$ 0
$ 0
$ 190
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 2.410
$ 0
$ 0
$ 1.710
$ 0
$ 0
$ 990
$ 300
$ 200
$ 430
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 3.410
$ 0
$ 0
Costo
Goodwill
-1
5
4
3
2
1
0
7
6
5
4
3
2
1
0
5
4
3
2
1
0
5
4
3
2
1
0
6
5
4
3
2
1
0
-1
8
7
6
5
4
3
2
1
0
-1
5
4
3
2
1
0
$ 0
$ 0
$ 0
$ 3.750
$ 9.600
$ 6.600
$ 8.550
$ 0
$ 0
$ 0
$ 0
$ 0
$ 2.250
$ 8.100
$ 10.350
$ 0
$ 0
$ 5.700
$ 8.550
$ 10.050
$ 10.350
$ 0
$ 0
$ 0
$ 0
$ 0
$ 3.750
$ 0
$ 0
$ 0
$ 7.350
$ 7.050
$ 10.350
$ 9.300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 7.650
$ 7.950
$ 7.650
$ 8.100
$ 9.000
$ 0
$ 0
$ 0
$ 1.950
$ 8.100
$ 9.300
$ 9.000
74
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
60
60
63
59
55
74
62
62
56
59
60
53
54
49
59
52
71
59
52
64
55
58
59
64
75
44
54
74
56
50
53
60
48
67
64
60
51
57
58
61
76
70
68
54
67
70
48
57
65
55
50
53
67
50
0
0
0
6
2
2
2
3
0
4
3
1
5
1
0
5
0
0
1
2
2
1
0
1
1
1
4
0
3
0
0
2
2
5
4
2
0
3
7
2
1
1
0
1
1
2
2
0
0
2
1
0
0
2
0
0
0
0
0
0
0
219
0
0
0
0
0
0
402
0
0
0
0
0
0
285
0
0
0
0
0
0
333
0
0
0
0
0
0
0
0
329
0
0
0
0
0
296
0
0
0
0
0
0
327
0
0
0
281
221
158
93
36
0
0
154
98
35
0
0
0
0
343
286
215
156
103
37
0
226
167
102
26
0
0
0
274
224
171
109
59
0
0
0
0
269
204
141
64
0
0
241
173
101
51
0
0
0
276
223
156
104
$ 2.810
$ 2.210
$ 1.580
$ 930
$ 360
$ 0
$ 0
$ 1.540
$ 980
$ 350
$ 0
$ 0
$ 0
$ 0
$ 3.430
$ 2.860
$ 2.150
$ 1.560
$ 1.030
$ 370
$ 0
$ 2.260
$ 1.670
$ 1.020
$ 260
$ 0
$ 0
$ 0
$ 2.740
$ 2.240
$ 1.710
$ 1.090
$ 590
$ 0
$ 0
$ 0
$ 0
$ 2.690
$ 2.040
$ 1.410
$ 640
$ 0
$ 0
$ 2.410
$ 1.730
$ 1.010
$ 510
$ 0
$ 0
$ 0
$ 2.760
$ 2.230
$ 1.560
$ 1.040
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
7
6
5
4
3
2
1
0
6
5
4
3
2
1
0
-1
5
4
3
2
1
0
6
5
4
3
2
1
0
-1
7
6
5
4
3
2
1
0
5
4
3
2
1
0
6
5
4
3
2
1
0
-1
4
3
$ 0
$ 0
$ 0
$ 0
$ 0
$ 5.700
$ 9.300
$ 9.300
$ 0
$ 0
$ 3.750
$ 7.950
$ 8.100
$ 7.350
$ 8.850
$ 0
$ 0
$ 0
$ 0
$ 0
$ 2.700
$ 8.700
$ 0
$ 0
$ 0
$ 2.700
$ 8.100
$ 11.100
$ 8.400
$ 0
$ 0
$ 0
$ 0
$ 1.200
$ 9.600
$ 9.000
$ 7.650
$ 8.550
$ 0
$ 0
$ 0
$ 900
$ 10.200
$ 8.100
$ 0
$ 0
$ 0
$ 900
$ 9.750
$ 8.250
$ 7.500
$ 0
$ 0
$ 0
75
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
55
64
56
55
63
50
57
61
61
63
64
55
60
58
60
60
67
70
56
63
55
64
46
60
61
66
69
52
54
58
61
58
50
68
57
55
62
61
63
65
58
56
60
59
54
71
51
69
54
61
49
69
69
67
2
2
0
1
1
1
4
0
2
4
2
4
8
1
2
1
1
1
1
2
3
2
1
1
2
1
0
1
0
0
2
2
3
0
3
0
0
4
1
5
1
1
1
0
2
1
1
3
1
1
0
1
2
0
0
0
344
0
0
0
0
0
0
0
0
332
0
0
0
0
0
0
0
295
0
0
0
0
0
328
0
0
0
0
0
0
308
0
0
0
0
0
0
373
0
0
0
0
256
0
0
0
0
0
0
0
357
0
47
0
288
232
168
117
56
0
0
0
0
273
205
146
84
23
0
0
0
230
172
106
59
0
0
261
192
139
85
27
0
0
255
187
127
72
10
0
0
303
244
187
126
67
267
195
143
71
16
0
0
0
286
219
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$ 470
$ 0
2.880
2.320
1.680
1.170
$ 560
$ 0
$ 0
$ 0
$ 0
2.730
2.050
1.460
$ 840
$ 230
$ 0
$ 0
$ 0
2.300
1.720
1.060
$ 590
$ 0
$ 0
2.610
1.920
1.390
$ 850
$ 270
$ 0
$ 0
2.550
1.870
1.270
$ 720
$ 100
$ 0
$ 0
3.030
2.440
1.870
1.260
$ 670
2.670
1.950
1.430
$ 710
$ 160
$ 0
$ 0
$ 0
2.860
2.190
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
2
1
0
-1
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
5
4
3
2
1
0
6
5
4
3
2
1
0
-1
5
4
3
2
1
0
4
3
2
1
0
-1
6
5
4
3
2
1
0
-1
$ 0
$ 2.550
$ 8.400
$ 0
$ 0
$ 0
$ 0
$ 750
$ 9.150
$ 9.450
$ 9.600
$ 8.250
$ 0
$ 0
$ 0
$ 0
$ 6.600
$ 10.500
$ 8.400
$ 9.450
$ 0
$ 0
$ 0
$ 150
$ 9.150
$ 9.900
$ 0
$ 0
$ 0
$ 0
$ 5.100
$ 8.700
$ 7.500
$ 0
$ 0
$ 0
$ 0
$ 7.650
$ 9.450
$ 9.750
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 6.750
$ 7.350
$ 10.350
$ 10.350
$ 0
76
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Costo
Costo
Costo
Costo
Costo
Inventario
Revisar
Ordenar
GoodWill
Total
57
50
52
52
62
63
51
71
71
61
68
59
57
58
57
59
50
61
64
58
64
53
61
59
60
59
56
66
67
63
70
78
65
64
63
68
60
63
52
61
63
1
1
2
2
2
2
2
4
4
1
2
1
3
6
1
3
3
0
1
0
1
0
0
0
0
0
2
2
1
1
3
0
1
3
0
1
1
3
0
1
2
0
0
0
0
0
0
339
0
0
0
0
0
0
0
0
364
0
0
0
0
251
0
0
0
0
0
0
0
363
0
0
0
0
0
0
0
0
342
0
0
0
161
110
56
2
0
0
286
211
136
74
4
0
0
0
0
302
249
188
123
65
251
198
137
78
18
0
0
0
295
231
158
80
14
0
0
0
0
276
224
162
97
$ 1.610
$ 1.100
$ 560
$ 20
$ 0
$ 0
$ 2.860
$ 2.110
$ 1.360
$ 740
$ 40
$ 0
$ 0
$ 0
$ 0
$ 3.020
$ 2.490
$ 1.880
$ 1.230
$ 650
$ 2.510
$ 1.980
$ 1.370
$ 780
$ 180
$ 0
$ 0
$ 0
$ 2.950
$ 2.310
$ 1.580
$ 800
$ 140
$ 0
$ 0
$ 0
$ 0
$ 2.760
$ 2.240
$ 1.620
$ 970
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 300
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 200
$ 0
$ 0
6
5
4
3
2
1
0
-1
7
6
5
4
3
2
1
0
4
3
2
1
0
-1
6
5
4
3
2
1
0
-1
7
6
5
4
3
2
1
0
5
4
3
$ 0
$ 0
$ 0
$ 0
$ 9.000
$ 9.450
$ 7.650
$ 0
$ 0
$ 0
$ 0
$ 8.250
$ 8.550
$ 8.700
$ 8.550
$ 8.850
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 6.150
$ 8.400
$ 9.900
$ 10.050
$ 0
$ 0
$ 0
$ 0
$ 7.500
$ 9.450
$ 10.200
$ 9.000
$ 9.450
$ 0
$ 0
$ 0
$ 205.690
$ 8.400
$ 5.600
$ 708.300
$ 927.990
77
Si se cambiase a un valor de T = 5 (cada cinco das revisa) y con un S = 900 se observa lo siguiente:
Da
Demanda
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
Daos
59
60
56
60
69
52
50
63
54
56
56
62
63
68
54
57
59
56
60
58
71
55
65
54
57
59
64
55
59
62
46
65
60
57
42
68
67
62
52
61
69
55
76
62
54
61
58
63
64
60
67
66
59
60
72
60
53
59
62
47
60
56
65
63
56
63
56
71
62
63
59
58
58
59
50
Llega
3
0
0
6
2
1
1
0
2
0
2
12
2
1
2
8
0
2
2
3
1
0
0
1
1
2
1
1
1
4
1
2
1
1
0
0
0
3
0
1
1
0
2
1
1
3
3
0
4
2
1
0
0
3
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
1
4
0
4
3
0
0
0
0
461
0
0
0
0
0
0
0
0
0
594
0
0
0
0
0
0
0
0
0
627
0
0
0
0
0
0
0
0
0
0
613
0
0
0
0
0
0
0
589
0
0
0
0
0
321
0
0
0
0
0
0
0
0
0
0
0
646
0
0
0
0
0
0
0
0
0
495
0
0
0
Costo
Inventario Inventario
377
$ 3.770
317
$ 3.170
261
$ 2.610
195
$ 1.950
585
$ 5.850
532
$ 5.320
481
$ 4.810
418
$ 4.180
362
$ 3.620
306
$ 3.060
248
$ 2.480
174
$ 1.740
109
$ 1.090
40
$ 400
578
$ 5.780
513
$ 5.130
454
$ 4.540
396
$ 3.960
334
$ 3.340
273
$ 2.730
201
$ 2.010
146
$ 1.460
81
$ 810
26
$ 260
595
$ 5.950
534
$ 5.340
469
$ 4.690
413
$ 4.130
353
$ 3.530
287
$ 2.870
240
$ 2.400
173
$ 1.730
112
$ 1.120
54
$ 540
12
$ 120
557
$ 5.570
490
$ 4.900
425
$ 4.250
373
$ 3.730
311
$ 3.110
241
$ 2.410
186
$ 1.860
108
$ 1.080
634
$ 6.340
579
$ 5.790
515
$ 5.150
454
$ 4.540
391
$ 3.910
323
$ 3.230
582
$ 5.820
514
$ 5.140
448
$ 4.480
389
$ 3.890
326
$ 3.260
254
$ 2.540
193
$ 1.930
139
$ 1.390
79
$ 790
17
$ 170
0
$ 0
0
$ 0
590
$ 5.900
525
$ 5.250
462
$ 4.620
405
$ 4.050
342
$ 3.420
286
$ 2.860
215
$ 2.150
153
$ 1.530
89
$ 890
29
$ 290
462
$ 4.620
404
$ 4.040
341
$ 3.410
288
$ 2.880
Costo
Revisar
Costo
Tiempo en Costo
Fijo
Ordenar
llegar
Goodwill
$ 0
$ 0
4
$ 0
$ 0
$ 0
3
$ 0
$ 0
$ 0
2
$ 0
$ 0
$ 0
1
$ 0
$ 0
$ 0
0
$ 0
$ 0
$ 0
-1
$ 0
$ 0
$ 0
-2
$ 0
$ 0
$ 0
-3
$ 0
$ 0
$ 0
-4
$ 0
$ 300
$ 200
5
$ 0
$ 0
$ 0
4
$ 0
$ 0
$ 0
3
$ 0
$ 0
$ 0
2
$ 0
$ 0
$ 0
1
$ 0
$ 0
$ 0
0
$ 2.100
$ 0
$ 0
-1
$ 0
$ 0
$ 0
-2
$ 0
$ 0
$ 0
-3
$ 0
$ 0
$ 0
-4
$ 0
$ 300
$ 200
5
$ 0
$ 0
$ 0
4
$ 0
$ 0
$ 0
3
$ 0
$ 0
$ 0
2
$ 0
$ 0
$ 0
1
$ 0
$ 0
$ 0
0
$ 4.650
$ 0
$ 0
-1
$ 0
$ 0
$ 0
-2
$ 0
$ 0
$ 0
-3
$ 0
$ 0
$ 0
-4
$ 0
$ 300
$ 200
6
$ 0
$ 0
$ 0
5
$ 0
$ 0
$ 0
4
$ 0
$ 0
$ 0
3
$ 0
$ 0
$ 0
2
$ 0
$ 0
$ 0
1
$ 0
$ 0
$ 0
0
$ 8.400
$ 0
$ 0
-1
$ 0
$ 0
$ 0
-2
$ 0
$ 0
$ 0
-3
$ 0
$ 300
$ 200
4
$ 0
$ 0
$ 0
3
$ 0
$ 0
$ 0
2
$ 0
$ 0
$ 0
1
$ 0
$ 0
$ 0
0
$ 0
$ 300
$ 200
5
$ 0
$ 0
$ 0
4
$ 0
$ 0
$ 0
3
$ 0
$ 0
$ 0
2
$ 0
$ 0
$ 0
1
$ 0
$ 0
$ 0
0
$ 0
$ 0
$ 0
-1
$ 0
$ 0
$ 0
-2
$ 0
$ 0
$ 0
-3
$ 0
$ 0
$ 0
-4
$ 0
$ 300
$ 200
7
$ 0
$ 0
$ 0
6
$ 0
$ 0
$ 0
5
$ 0
$ 0
$ 0
4
$ 0
$ 0
$ 0
3
$ 0
$ 0
$ 0
2
$ 4.500
$ 0
$ 0
1
$ 9.000
$ 0
$ 0
0
$ 8.400
$ 0
$ 0
-1
$ 0
$ 0
$ 0
-2
$ 0
$ 300
$ 200
7
$ 0
$ 0
$ 0
6
$ 0
$ 0
$ 0
5
$ 0
$ 0
$ 0
4
$ 0
$ 0
$ 0
3
$ 0
$ 0
$ 0
2
$ 0
$ 0
$ 0
1
$ 0
$ 0
$ 0
0
$ 4.350
$ 0
$ 0
-1
$ 0
$ 0
$ 0
-2
$ 0
$ 300
$ 200
5
$ 0
78
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
51
62
64
51
57
63
67
59
61
51
51
83
61
49
55
64
64
62
68
48
59
65
55
55
61
54
52
58
57
50
53
61
62
70
62
52
59
59
56
53
45
59
54
62
60
61
68
66
52
64
56
49
73
70
59
62
55
67
59
61
50
62
60
68
52
53
67
59
54
53
61
47
49
51
64
55
64
67
50
60
0
1
0
1
0
2
1
0
1
8
4
0
0
1
1
1
3
2
4
0
3
0
1
4
2
1
8
1
0
1
0
0
1
3
4
3
2
2
1
1
1
0
1
0
1
0
1
1
0
2
0
3
1
2
2
1
2
1
4
2
3
0
3
0
0
0
1
1
1
1
1
1
1
1
2
1
2
1
0
2
0
0
0
0
612
0
0
0
0
0
0
0
0
0
0
0
600
0
0
0
0
0
0
0
0
0
551
0
0
0
0
0
0
0
0
0
0
576
0
0
0
0
0
0
496
0
0
0
0
0
0
0
0
0
0
0
598
0
0
0
0
0
0
553
0
0
0
0
0
0
0
298
0
0
0
0
0
0
0
568
237
174
110
58
613
548
480
421
359
300
245
162
101
51
0
0
533
469
397
349
287
222
166
107
44
0
491
432
375
324
271
210
147
74
8
0
0
515
458
404
358
299
244
182
617
556
487
420
368
302
246
194
120
48
0
0
541
473
410
347
294
232
169
654
602
549
481
421
366
312
250
500
450
398
332
276
210
142
92
598
$ 2.370
$ 1.740
$ 1.100
$ 580
$ 6.130
$ 5.480
$ 4.800
$ 4.210
$ 3.590
$ 3.000
$ 2.450
$ 1.620
$ 1.010
$ 510
$ 0
$ 0
$ 5.330
$ 4.690
$ 3.970
$ 3.490
$ 2.870
$ 2.220
$ 1.660
$ 1.070
$ 440
$ 0
$ 4.910
$ 4.320
$ 3.750
$ 3.240
$ 2.710
$ 2.100
$ 1.470
$ 740
$ 80
$ 0
$ 0
$ 5.150
$ 4.580
$ 4.040
$ 3.580
$ 2.990
$ 2.440
$ 1.820
$ 6.170
$ 5.560
$ 4.870
$ 4.200
$ 3.680
$ 3.020
$ 2.460
$ 1.940
$ 1.200
$ 480
$ 0
$ 0
$ 5.410
$ 4.730
$ 4.100
$ 3.470
$ 2.940
$ 2.320
$ 1.690
$ 6.540
$ 6.020
$ 5.490
$ 4.810
$ 4.210
$ 3.660
$ 3.120
$ 2.500
$ 5.000
$ 4.500
$ 3.980
$ 3.320
$ 2.760
$ 2.100
$ 1.420
$ 920
$ 5.980
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
4
3
2
1
0
-1
-2
-3
-4
7
6
5
4
3
2
1
0
-1
-2
7
6
5
4
3
2
1
0
-1
-2
8
7
6
5
4
3
2
1
0
-1
5
4
3
2
1
0
-1
-2
-3
-4
7
6
5
4
3
2
1
0
-1
-2
4
3
2
1
0
7
6
5
4
3
2
1
0
-1
-2
5
4
3
2
1
0
$
$
$
$
$
$
$
$
$
$
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 600
9.600
9.600
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
1.500
7.800
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
6.600
8.850
8.850
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
1.650
9.300
8.250
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
79
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
51
65
62
46
54
56
63
54
60
57
49
58
65
52
63
68
62
62
75
54
66
46
48
43
63
42
68
73
55
59
57
58
49
59
54
55
61
51
57
64
58
62
73
74
53
3
0
4
1
0
1
1
1
4
1
1
2
2
1
1
3
0
4
2
3
1
1
0
0
1
3
0
0
0
1
1
2
1
1
1
0
1
0
2
1
5
0
2
2
1
0
0
0
0
0
0
0
0
0
588
0
0
0
0
0
0
0
0
0
0
592
0
0
0
0
0
0
0
0
0
577
0
0
0
0
0
0
0
584
0
0
0
0
0
0
544
479
413
366
312
255
191
136
72
602
552
492
425
372
308
237
175
109
32
0
525
478
430
387
323
278
210
137
82
22
541
481
431
371
316
261
199
148
673
608
545
483
408
332
278
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
5.440
4.790
4.130
3.660
3.120
2.550
1.910
1.360
$ 720
6.020
5.520
4.920
4.250
3.720
3.080
2.370
1.750
1.090
$ 320
$ 0
5.250
4.780
4.300
3.870
3.230
2.780
2.100
1.370
$ 820
$ 220
5.410
4.810
4.310
3.710
3.160
2.610
1.990
1.480
6.730
6.080
5.450
4.830
4.080
3.320
2.780
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
300
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
200
$ 0
$ 0
$ 0
$ 0
$ 0
-1
-2
-3
-4
5
4
3
2
1
0
-1
-2
-3
-4
6
5
4
3
2
1
0
-1
-2
-3
6
5
4
3
2
1
0
-1
-2
-3
4
3
2
1
0
6
5
4
3
2
1
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 3.300
$ 9.900
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 5.250
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
$ 0
Inventario
Revisar
Ordenar
GoodWill
Total
$ 624.690
$ 6.300
$ 4.200
$ 132.450
$ 767.640
Se observa que el costo total ha disminuido. El objetivo entonces es buscar el mejor T y S que de el menor costo total posible.
80
Bibliografa
[1] "Ciencia Explicada," [Online]. Available: http://www.ciencia-explicada.com/2012/01/pifia-historica-de-ibm-de-cuando-los.html. [Accessed 27 Julio 2012].
[2] M. Matsumoto, "Mersenne Twister Home Page," [Online]. Available: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html. [Accessed 27 Julio 2012].
[3] M. Matsumoto and M. Saito, "SIMD-oriented Fast Mersenne Twister (SFMT): twice faster than Mersenne Twister," [Online]. Available:
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html. [Accessed 27 Julio 2012].
[4] Hvass Laboratories, "RandomOps," [Online]. Available: http://www.hvass-labs.org/projects/randomops/cs/. [Accessed 27 Julio 2012].
[5] F. Panneton, P. L'Ecuyer and M. Matsumoto, "Maximally equidistributed pseudorandom number generators via linear output transformations," [Online].
Available: http://www3.ocn.ne.jp/~harase/megenerators.html. [Accessed 27 Julio 2012].
[6] J. S. C. B. L. N. D. M. N. Jerry Banks, Discrete-Event System Simulation, Prentice Hall, 5 edition (July 6, 2009).
[7] Fox News, "Can You Crack the World's Toughest Sudoku?," 19 Agosto 2010. [Online]. Available: http://www.foxnews.com/scitech/2010/08/19/crack-worldstoughest-sudoku/. [Accessed 27 Julio 2012].
81