You are on page 1of 11

Aplicación de la simulación con hoja de cálculo a la Teoría de Colas

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.

XIII Jornadas de ASEPUMA 1


Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García

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.

2 XIII Jornadas de ASEPUMA


Aplicación de la simulación con hoja de cálculo a la Teoría de Colas

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 TEST DE LOS PROMEDIOS
DESV.TÍPICA 13,321 MEDIA 0,513
Z 0,050 Z 1,447
Z0,025 1,960 Z0,025 1,960
NO SE RECHAZA LA HIPÓTESIS DE UNIFORMIDAD NO SE RECHAZA LA HIPÓTESIS DE UNIFORMIDAD

Figura 3 Figura 4

XIII Jornadas de ASEPUMA 3


Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García

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 f (x) que se desea para la variable a generar.
2. Calcular la función acumulada de probabilidad F (x ) para la variable aleatoria
deseada.
3. Formular la ecuación F ( x) = U i .

4. Resolver la ecuación anterior, es decir, calcular F −1 (U i ) = x .


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.

4 XIII Jornadas de ASEPUMA


Aplicación de la simulación con hoja de cálculo a la Teoría de Colas

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 U i en el intervalo [0,1] 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 (Z1 , Z 2 ) 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.

XIII Jornadas de ASEPUMA 5


Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García

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.
6 XIII Jornadas de ASEPUMA
Aplicación de la simulación con hoja de cálculo a la Teoría de Colas

• 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:

XIII Jornadas de ASEPUMA 7


Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García

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:
1
xi = − ln U i
λ

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.

8 XIII Jornadas de ASEPUMA


Aplicación de la simulación con hoja de cálculo a la Teoría de Colas

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
SIMULACIÓN POISSON
0 1120
1 4260
2 7317 10000
9000
3 8702 8000
4 7548 7000
5 5321 6000
5000
6 3070
4000
7 1586 3000
8 705 2000
9 253 1000
0
10 75
0 1 2 3 4 5 6 7 8 9 10 11 12
11 35
12 8 POISSON SIMULADA POISSON TEÓRICA
TOTAL 40000

FRECUENCIA FRECUENCIA F.REL.SIM. F.REL.TEÓR. DIFERENCIA CÁLCULOS


2
SIMULADA TEÓRICA ACUMULADA ACUMULADA F.REL.ACUM. χ
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
2
D0,05;40000 0,007 χ 0,05;12 21,026
NO SE RECHAZA LA HIPÓTESIS NO SE RECHAZA LA HIPÓTESIS

Figura 6

XIII Jornadas de ASEPUMA 9


Juan J. Bernal García, Soledad M. Martínez María Dolores, Juan F. Sánchez García

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.
10 XIII Jornadas de ASEPUMA
Aplicación de la simulación con hoja de cálculo a la Teoría de Colas

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.

XIII Jornadas de ASEPUMA 11

You might also like