clases de dinamica ejercicios preuniversitarios.pdf
Comunica 29
1. Aplicación de la simulación con hoja de cálculo a la Teoría de Colas
XIII Jornadas de ASEPUMA 1
APLICACIÓN DE LA SIMULACIÓN CON HOJA DE
CÁLCULO A LA TEORÍA DE COLAS
Bernal García, Juan Jesús
Martínez María Dolores, Soledad María
Sánchez García, Juan Francisco
Dpto. Métodos Cuantitativos e Informáticos
Universidad Politécnica de Cartagena
RESUMEN
En la Teoría de Colas, en ocasiones, es preciso recurrir a la simulación de
fenómenos de espera generando valores de entrada y salida de acuerdo con los distintos
modelos existentes. Para realizar dicha simulación es posible recurrir a determinadas
aplicaciones informáticas especializadas en este tipo de cálculos o hacer uso de
aplicaciones de uso general como las hojas de cálculo. En el presente trabajo probamos
la idoneidad de dicha simulación utilizando las funciones estadísticas propias de la
versión 2003 de la conocida aplicación Microsoft® Excel. Además de comprobar el
funcionamiento de dichas funciones, se han programando mediante el uso de Visual
Basic para Aplicaciones (VBA) aquellas otras que son necesarias para tener recogidas
todas las posibilidades y que no son incorporadas por Excel, probando también que
cumplen todos los requisitos que son exigibles para este tipo de cálculos.
2. Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García
2 XIII Jornadas de ASEPUMA
1. INTRODUCCIÓN
Junto con los resultados proporcionados por la Teoría de Colas, en ocasiones, es
preciso recurrir a la simulación de fenómenos de espera generando valores de entrada y
de salida de acuerdo con diferentes modelos que existen en la Teoría. Para realizar dicha
simulación se pueden usar aplicaciones específicas, o bien utilizar aplicaciones de uso
general como las hojas de cálculo.
2. GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS
2.1. Métodos de generación de números pseudoaleatorios
Se necesita en primer lugar un procedimiento que genere valores aleatorios
uniformemente distribuidos entre 0 y 1. A tal fin, la hoja de cálculo dispone de una
función que recibe el nombre de ALEATORIO(). Realmente, los números generados no
son números aleatorios, sino pseudoaleatorios pues no son debidos realmente al azar,
sino que proceden de cálculos matemáticos que tratan de imitar dicho azar.
Existen otros métodos comúnmente utilizados en la literatura (Álvarez Madrigal,
Coss, Escudero y Rubinstein), que también sirven para generar valores
pseudoaleatorios:
1. Método de los cuadrados medios.
2. Técnica de mitad del producto.
3. Método del multiplicador constante.
4. Método congruencial.
5. Método congruencial aditivo.
6. Método congruencial lineal.
2.2. Validación de los números pseudoaleatorios generados
Una vez que se han generado los valores pseudoaleatorios según la distribución
uniforme se debe comprobar que efectivamente están uniformemente distribuidos, lo
que significa que son uniformes e independientes.
Para probar la uniformidad se aplica la prueba de Kolmogorov-Smirnov, la
prueba de la 2
χ y la prueba de los promedios; mientras que para probar la
independencia se utiliza el test de rachas y la prueba de poker.
3. Aplicación de la simulación con hoja de cálculo a la Teoría de Colas
XIII Jornadas de ASEPUMA 3
En las figuras 1 a 4 se muestran, para un nivel de confianza del 95%, las pruebas
de Kolmogorov-Smirnov, 2
χ , de rachas y de los promedios que se han realizado sobre
1000 valores simulados utilizando la función ALEATORIO() de Excel. Tras efectuar
diversas tiradas aleatorias comprobamos que las pruebas resultan satisfactorias en todos
los casos.
CLASE FRECUENCIA F.R.ACUM. TEÓRICA DIFERENCIA
0,1 81 0,081 0,1 0,019
0,2 106 0,187 0,2 0,013
0,3 96 0,283 0,3 0,017
0,4 96 0,379 0,4 0,021
0,5 110 0,489 0,5 0,011
0,6 107 0,596 0,6 0,004
0,7 99 0,695 0,7 0,005
0,8 84 0,779 0,8 0,021
0,9 107 0,886 0,9 0,014
1 114 1 1 0,000
TOTAL 1000
TEST KOLMOGOROV-SMIRNOV
Diferencia máxima 0,021
Estimador Kolmogorov-Smirnov
D0,05;1000 0,043
NO SE RECHAZA LA HIPÓTESIS DE UNIFORMIDAD
Figura 1
CLASE FRECUENCIA F. TEÓRICA CHI CUADRADO
0,1 81 100 3,610
0,2 106 100 0,360
0,3 96 100 0,160
0,4 96 100 0,160
0,5 110 100 1,000
0,6 107 100 0,490
0,7 99 100 0,010
0,8 84 100 2,560
0,9 107 100 0,490
1 114 100 1,960
TOTAL 1000 10,8
TEST CHI CUADRADO
CHI-CUADRADO 10,800
Estimador
χ
2
0,05;9 16,919
NO SE RECHAZA LA HIPÓTESIS DE UNIFORMIDAD
Figura 2
TEST DE RACHAS
U 667
MEDIA 666,333
DESV.TÍPICA 13,321
Z 0,050
Z0,025 1,960
NO SE RECHAZA LA HIPÓTESIS DE UNIFORMIDAD
TEST DE LOS PROMEDIOS
MEDIA 0,513
Z 1,447
Z0,025 1,960
NO SE RECHAZA LA HIPÓTESIS DE UNIFORMIDAD
Figura 3 Figura 4
4. Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García
4 XIII Jornadas de ASEPUMA
3. GENERACIÓN DE VARIABLES ALEATORIAS CON
DISTRIBUCIÓN NO UNIFORME
3.1. Métodos de generación
Existen diversas técnicas para generar variables aleatorias cuya distribución no
es uniforme.
3.1.1. Técnica de la transformada inversa (figura 5).
Figura 5
Esta técnica utiliza números aleatorios uniformes para generar variables
aleatorias con una distribución específica. Los pasos a seguir son:
1. Decidir la función de densidad )(xf que se desea para la variable a generar.
2. Calcular la función acumulada de probabilidad )(xF para la variable aleatoria
deseada.
3. Formular la ecuación iUxF =)( .
4. Resolver la ecuación anterior, es decir, calcular xUF i =−
)(1
.
5. Generar los valores de la variable deseada.
La principal limitación de este método es que la función de densidad de la
distribución debe ser fácilmente integrable.
5. Aplicación de la simulación con hoja de cálculo a la Teoría de Colas
XIII Jornadas de ASEPUMA 5
3.1.2. Técnica gráfica de la transformada inversa (figura 6).
Figura 6
Este método se utiliza cuando las variables aleatorias no se comportan de forma
continua o no tienen una distribución conocida. Los pasos a seguir son:
1. Generar un histograma que exprese las probabilidades deseadas en las
variables a generar.
2. Encontrar la probabilidad acumulada a partir del histograma.
3. Localizar algún iU en el intervalo [ ]1,0 en el eje de ordenadas de la gráfica de
probabilidad acumulada.
4. Proyectar hasta el polígono de la curva de probabilidad acumulada y después
reflejar sobre el eje de coordenadas, encontrando el valor de una variable aleatoria con
la distribución deseada. Si la variable aleatoria buscada es discreta, x tomará el valor de
la marca de clase correspondiente, y, si es continua, el valor se calculará mediante
interpolación lineal.
3.1.3. Método polar.
Esta técnica se utiliza cuando la distribución no es integrable en todos los
intervalos, como es el caso de la distribución normal. Su razonamiento es que al
representar pares de coordenadas ( )21,ZZ normales estándar seleccionadas al azar de
una tabla, se obtiene un diagrama de dispersión con correlación aproximada de cero, es
decir, los puntos representados están distribuidos homogéneamente en todos los
cuadrantes.
6. Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García
6 XIII Jornadas de ASEPUMA
3.2. Validación de los valores generados
Para validar los valores simulados de una variable se utilizan la prueba de la 2
χ
y la prueba de Kolmogorov-Smirnov con datos agrupados.
4. SIMULACIÓN MEDIANTE HOJA DE CÁLCULO
4.1. Funciones estadísticas: Distribuciones probabilísticas
Hasta hace algunos años las funciones de tipo estadístico que incorporaban las
distintas aplicaciones de hoja de cálculo eran muy limitadas, obligando al usuario a
programar aquellas funciones que necesitaba (Bernal García), o bien era preciso adquirir
programas complementarios como @RISK, Analyze-It, Crystal Ball y otros, que
incorporan funciones adicionales a la hoja de cálculo.
Así, en la última versión de la hoja de cálculo Excel aparece una amplia serie de
funciones estadísticas relacionadas con las distribuciones probabilísticas. Con todas
estas funciones se pueden realizar simulaciones basadas en las distribuciones beta, F,
gamma, logarítmico-normal, normal y t de Student, ya que para todas ellas existen
funciones inversas, las cuales a partir de la probabilidad acumulada y de los parámetros
propios de cada distribución devuelven el valor que hace que se obtenga dicha
probabilidad.
El procedimiento para ello consiste en generar números aleatorios de acuerdo
con la distribución uniforme y a partir de dicho valor (que siempre será mayor o igual
que cero y menor que 1) aplicar la correspondiente función inversa para obtener el valor
al que le corresponde la probabilidad obtenida aleatoriamente1
.
4.2. Construcción de funciones en Excel mediante VBA
Dado que en determinadas simulaciones las variables a simular no siguen
ninguna de las distribuciones que incorporan las aplicaciones de hoja de cálculo, se
debe proceder a su simulación. Básicamente, existen dos posibilidades:
• Realización manual de los cálculos necesarios en la propia hoja de cálculo.
1
Por ejemplo, la función DISTR.NORM.INV(probabilidad, media, desviación típica) devuelve
el valor inverso de la distribución acumulativa normal para la media y desviación típica especificadas,
siendo la probabilidad un valor pseudoaleatorio uniformemente distribuido entre 0 y1.
7. Aplicación de la simulación con hoja de cálculo a la Teoría de Colas
XIII Jornadas de ASEPUMA 7
• Programación de la función adecuada mediante VBA.
La primera de las técnicas puede suponer el problema de que existan cálculos
intermedios que es necesario realizar para obtener el valor final. En este caso, para cada
tirada aleatoria habría que recalcular la simulación y guardarla mediante macros en una
tabla, en la cual se vería solamente el valor obtenido. Adicionalmente, en el caso de que
se necesitara efectuar otra simulación mediante la misma distribución de probabilidades
se deberían rehacer los cálculos nuevamente. Por otra parte, esta posibilidad tiene como
ventaja que no precisa conocimiento alguno en programación para poder efectuarla.
La segunda técnica, que implica conocer programación en Visual Basic para
Aplicaciones (VBA), plantea la ventaja de que mediante una función que se añade a la
hoja de cálculo como cualquier otra función de las que trae incorporadas la propia
aplicación, puede ser llamada tantas veces como sea necesario y en tantas celdas como
sea preciso simular sin ninguna limitación. Adicionalmente, se puede proteger su
contenido para que no sea visible por el usuario de forma que éste sólo tenga que
conocer la sintaxis de la función para su utilización. De esta forma, también, se evitan
manipulaciones que puedan arrojar resultados incorrectos.
4.3. Simulación de la inversa de la distribución de Poisson
Para poder determinar el número de llegadas que ocurren en una unidad de
tiempo se necesitaría una función, que a partir de la probabilidad simulada mediante la
distribución uniforme y, a partir de la tasa media de llegadas calcule el valor
correspondiente al número de llegadas que se han producido. La complicación principal
consiste en que al tratarse de una función discreta los valores deben ser números
enteros.
Dicha función no existe como tal en las aplicaciones de hoja de cálculo, por lo
que se debe recurrir a técnicas de simulación para su cálculo, y al ser una función no
integrable no se puede utilizar la técnica de la transformada inversa. En la literatura
existen diversas opciones, de las cuales se ha seleccionado la propuesta por Escudero,
que ha sido incorporada siguiendo el organigrama siguiente:
8. Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García
8 XIII Jornadas de ASEPUMA
Figura 5
4.4. Simulación de la inversa de la distribución exponencial
En este caso el proceso es mucho más sencillo ya que esta función no es discreta
y además es fácil obtener el valor buscado a partir de la expresión de su función de
distribución, utilizando la técnica de la transformada inversa:
ii Ux ln
1
λ
−=
4.5. Simulación de la inversa de la distribución de Erlang
Esta función sí se encuentra disponible entre las funciones que incorpora la
mayoría de las aplicaciones de hoja de cálculo. En el caso concreto de Microsoftr Excel,
existe la función DISTR.GAMMA.INV (probabilidad; alfa; beta), donde alfa y beta
son los parámetros de la distribución. En este punto, se ha de recordar que la
distribución de Erlang es un caso particular de la distribución gamma, siendo alfa un
número entero positivo (que en la distribución de Erlang recibe el nombre de parámetro
k).
Pese al hecho de que ya se dispone de dicha función, también se podría construir
a partir de los métodos propuestos por Rubinstein, Jöhnk, Wallace, Fishman, Cheng y
Tadikamalla.
9. Aplicación de la simulación con hoja de cálculo a la Teoría de Colas
XIII Jornadas de ASEPUMA 9
4.6. Simulación de distribuciones no conocidas
En múltiples estudios puede ocurrir que los valores observados no se
corresponden con ninguna función de distribución conocida. Este hecho no debe
impedir el efectuar la simulación requerida para el estudio del sistema en el que se han
producido esas observaciones. Para efectuar este tipo de cálculos ya no se puede utilizar
ninguna función estadística propia de la hoja de cálculo, ni tan siquiera una función
programada mediante VBA puesto que la cantidad de parámetros que se necesitaría es
desconocida, ya que variaría de unos sistemas a otros. Se debe poder generar valores de
acuerdo con la distribución de frecuencias observadas, para lo cual se recurre a la
técnica gráfica de la transformada inversa.
4.7. Contraste de los valores simulados
Una vez que se han analizado los procedimientos para simular valores para las
distribuciones de frecuencias que se necesitan, se deben validar sus resultados.
SIMULACIÓN POISSON INVERSA
Método: Laureano F. Escudero
lambda = 3,5
FRECUENCIA
0 1120
1 4260
2 7317
3 8702
4 7548
5 5321
6 3070
7 1586
8 705
9 253
10 75
11 35
12 8
TOTAL 40000
FRECUENCIA
SIMULADA
FRECUENCIA
TEÓRICA
F.REL.SIM.
ACUMULADA
F.REL.TEÓR.
ACUMULADA
DIFERENCIA
F.REL.ACUM.
CÁLCULOS
χ
2
0 1120 1208 0,02800 0,03020 0,00220 6,41060
1 4260 4228 0,13450 0,13589 0,00139 0,24219
2 7317 7398 0,31743 0,32085 0,00342 0,88686
3 8702 8631 0,53498 0,53663 0,00166 0,58406
4 7548 7552 0,72368 0,72544 0,00177 0,00212
5 5321 5287 0,85670 0,85761 0,00091 0,21865
6 3070 3084 0,93345 0,93471 0,00126 0,06355
7 1586 1542 0,97310 0,97326 0,00016 1,25551
8 705 675 0,99073 0,99013 0,00060 1,33333
9 253 262 0,99705 0,99669 0,00036 0,30916
10 75 92 0,99893 0,99898 0,00006 3,14130
11 35 29 0,99980 0,99971 0,00009 1,24138
12 8 9 1,00000 0,99992 0,00008 0,11111
TOTALES 40000 40000
TEST KOLMOGOROV-SMIRNOV TEST CHI CUADRADO
Diferencia máxima 0,003 CHI-CUADRADO 15,800
Estimador Kolmogorov-Smirnov Estimador
D0,05;40000 0,007 χ
2
0,05;12 21,026
NO SE RECHAZA LA HIPÓTESIS NO SE RECHAZA LA HIPÓTESIS
SIMULACIÓN POISSON
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0 1 2 3 4 5 6 7 8 9 10 11 12
POISSON SIMULADA POISSON TEÓRICA
Figura 6
10. Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García
10 XIII Jornadas de ASEPUMA
4.7.1. Inversa de la distribución de Poisson
Para comprobar la validez de los métodos de simulación de la función Poisson,
se han realizado 40.000 tiradas aleatorias para cada uno de los métodos analizados
(figura 6), y a continuación se han aplicado las pruebas de Kolmogorov-Smirnov y de la
χ2
. Se puede observar, en dicha figura, que no existe razón para rechazar la hipótesis de
que la frecuencia teórica y la frecuencia simulada pertenecen a la misma distribución.
4.7.2. Inversa de la distribución exponencial
Dado el método de cálculo de la simulación para la distribución exponencial,
mediante la transformada inversa, no existe ninguna posibilidad de error, siempre y
cuando la generación de números aleatorios se corresponda efectivamente con una
distribución uniforme, y es conveniente recordar que la generación de números
pseudoaleatorios utilizando la función propia de la hoja de cálculo cumplía todos los
requisitos exigibles.
Como era previsible, tampoco existen diferencias entre las frecuencias simuladas
y las frecuencias teóricas.
4.7.3. Inversa de la distribución Erlang
No existen diferencias entre las frecuencias simuladas y las frecuencias teóricas,
lo que revela que dicha función es válida para realizar la simulación de valores de
acuerdo con una distribución gamma (y por extensión con una distribución Erlang), por
lo que no se necesita recurrir a la programación de ninguno de los algoritmos
relacionados en el apartado 4.5.
5. CONCLUSIONES
Podemos comprobar que la hoja de cálculo Microsoft® Excel, siendo una
herramienta de tipo ofimático, se revela como una aplicación que permite la simulación
de todo tipo de distribuciones estadísticas. En particular, es posible efectuar la
simulación de las funciones de distribución propias de la Teoría de Colas, cumpliendo
los parámetros obligados de rigor que se debe exigir a este tipo de cálculos. Además, la
utilización de su editor de Visual Basic para Aplicaciones (VBA) permite dotarla de
aquellas distribuciones de las que carece, utilizando para ello una programación
orientada a objetos.
11. Aplicación de la simulación con hoja de cálculo a la Teoría de Colas
XIII Jornadas de ASEPUMA 11
6. REFERENCIAS BIBLIOGRÁFICAS
• Álvarez Madrigal, M. (1997). Curso virtual de Investigación de Operaciones.
Instituto Tecnológico y de Estudios Superiores de Monterrey. Campus Estado de
México. http://webdia.cem.itesm.mx/ac/alvarez/acceso.html
• Bernal García, J. J. (1990). Simulación de un modelo real de circulación de
documentos administrativos. Tesis doctoral. Universidad de Murcia.
• Cheng R. C. H. (1978). “Generating beta variates with non-integral shape
parameters”, Communications of the Association for Computing Machinery, 21,
317-322.
• Coss Bu, R. (1982). Simulación. Un enfoque práctico. Limusa, México D.F.
• Escudero, L. F. (1973). La simulación en la empresa. Ediciones Deusto, Bilbao.
• Fishman, G. S. (1976). “Sampling from the gamma distribution on a computer”,
Communications of the Association for Computing Machinery, 19, 407-409.
• Fishman, G. S. (1978). Principles of Discrete Event Simulation. John Wiley & Sons,
New York.
• Jöhnk, M. D. (1964). “Erzeugung von Betraverteilten y Gammaverteilten
Zuffalszahlen”, Metrika, 8, 5-15.
• Rubinstein, R. Y. (1981). Simulation and the Monte Carlo Method. John Wiley &
Sons, New York.
• Tadikamalla, P. R. (1978). “Computer generation of gamma random variables”,
Communications of the Association for Computing Machinery, 21, 419-422.
• Tadikamalla, P. R. (1978). “Computer generation of gamma random variables II”,
Communications of the Association for Computing Machinery, 21, 925-928.
• Wallace, N.D. (1974). “Computer generation of gamma random variables with non-
integral shape parameters”, Communications of the Association for Computing
Machinery, 17, 691-695.