introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de...

38
1 .

Upload: others

Post on 17-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

1

.

Page 2: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

2

Page 3: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

Introduccion a la teorıa de colas

Raul Montes de Oca y Patricia Saavedra Barrera1

1Departamento de Matematicas, Universidad Autonoma Metropolitana-Iztapalapa,[email protected]

Page 4: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

2

Page 5: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

Chapter 1

Introduccion

Muchas actividades economicas involucran atencion al publico y la satisfaccion de estosjuega un papel importante en la evaluacion del servicio. Por ejemplo, la atencion a lospacientes que van a un laboratorio para hacerse una prueba de sangre o tomarse una placade rayos x; la atencion a clientes en una sucursal de un banco; el paso de los clientes poruna caja registradora a la hora de pagar en un supermercado o tienda departamental;el servicio que ofrece un servidor en un centro de computo o la atencion telefonica enun centro de comunicacion de un hospital, de la policia o de los bomberos, etc. Todosellos se caracterizan en que un numero de personas, llamadas o trabajos llegan a un lugarpara ser atendidos y el tiempo promedio de espera, antes de recibir atencion, juega unpapel importante en la medicion de la calidad del servicio. Estos problemas son muyimportantes y se presentan en muchısimos productos que ofrecen empresas y organismospor lo que hay toda una teorıa matematica asociada a ellos: se les conoce como teorıa decolas. Este topico surgio en los anos cincuenta y no ha dejado de estudiarse. Su uso enla telefonıa movil y en el internet ha dado lugar a teorıas mas complejas como la teorıade visitas o polling systems.

El objetivo de estas notas es introducir al alumno tanto a los aspectos teoricos comoa las aplicaciones de la teorıa clasica de colas.

3

Page 6: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

4 CHAPTER 1. INTRODUCCION

Page 7: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

Chapter 2

Tratamiento estadıstico de los datos

2.1 El caso de las fotocopias

El Sr. Gonzalez tiene una negocio de sacar copias enfrente de la UAM-Iztapalapa. Estaspueden engargolarse o empastarse. Tiene un empleado que atiende el negocio, quien sacalas copias y las engargola o empasta. Ha decidido expanderse porque no se da abasto conla demanda de copias. Piensa rentar otra fotocopiadora pero no sabe cual serıa la mejorforma de organizar el servicio de fotocopias. Entre sus opciones estan las siguientes:

1. Contratar otra persona que ofrezca el mismo servicio que el empleado actual. Sepodrıa organizar una cola detras de cada fotocopiadora o una cola para ambasfotocopiadoras.

2. No contratar a un empleado y ofrecer con la nueva fotocopiadora un servicio deauto-servicio en el que solo se saquen fotocopias. En ese caso se harıan dos colasdetras de cada fotocopiadora.

3. Poner en auto-servicio dos fotocopiadoras y solo aquellos clientes que deseen em-pastar o engargolar harıan una cola para ser atendidos por un empleado.

Para tomar la decision que mas le conviene desde el punto de vista tanto del costocomo de la calidad del servicio, ha decidido estimar para cada opcion el tiempo promedioque hacen cola los clientes antes de ser atendidos. La renta de la fotocopiadora es de$1350.00 al mes por 5000 copias y $0.20 por copia extra. Esta incluido el toner y lasrefacciones, pero no incluye el papel. Este cuesta $519.00 por 5000 hojas. El salariomensual de un empleado por 8 horas diarias, cinco dıas a la semana es de $4000.00. ¿Cualopcion le conviene implementar en su negocio?

Actividad:

Discusion 15 minutos ( 2 o 3 participantes): ¿Como llevar a cabo el analisis del fun-cionamiento del negocio con vistas a formular matematicamente el problema?Organizar y ordenar propuestas

5

Page 8: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

6 CHAPTER 2. TRATAMIENTO ESTADISTICO DE LOS DATOS

Debe quedar en primer lugar la siguiente: entender la dinamica del negocio. ¿Comose les ocurre hacer eso en forma sistematica?

Analisis de tiempos y movimientos

Discusion: Detectar variables o datos relevantes. Llevar registro de la hora de aperturadel negocio, la hora de llegada de los clientes, el tipo de servicio que solicitan y el tiempoque tarda el empleado en atender a cada uno de ellos.

Num. de cliente Tiempo llegada Tipo de servicio Tiempo salida1 9:09:06 1 9:12:552 9:12:16 1 9:14:203 9:19:34 1 9:21:594 9:20:59 0 9:22:545 9:21:54 0 9:29:056 9:24:53 0 9:33:317 9:25:39 1 9:37:418 9:36:19 0 9:39:119 9:54:34 0 9:56:1710 10:11:51 0 10:13:3911 10:13:21 0 10:15:3612 10:18:58 1 10:19:2513 10:24:08 1 10:25:4914 10:24:14 1 10:49:5115 10:33:42 0 10:50:2516 10:37:51 0 10:58:1317 10:38:34 1 11.00:3418 10:48:21 1 11:02:5719 10:52:27 1 11:03:0520 11:09:07 0 11:21:5721 11:10:09 0 11:31:0122 11:12:27 1 11:33:0123 11:21:21 1 11:36:1024 11:21:54 1 11:37:0525 11:22:16 0 11:37:3926 11:27:13 1 11:43:0127 11:29:14 0 11:45:5728 11:29:19 1 11:52:5229 11:39:30 0 11:58:0330 11:42:36 0 12:00:2431 11:47:09 1 12:00:2632 11:52:52 1 12:01:0733 12:01:20 0 12:02:24

Page 9: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

2.1. EL CASO DE LAS FOTOCOPIAS 7

Num. de cliente Tiempo llegada Tipo de servicio Tiempo salida34 12:05:38 0 12:09:0135 12:06:03 0 12:09:5136 12:22:07 0 12:25:3537 12:25:13 0 12:28:1238 12:32:02 1 12:54:0539 12:48:49 1 13:01:3240 13:00:36 0 13:04:3441 13:00:53 0 13:09:3242 13:02:35 0 13:17:3743 13:09:18 1 13:20:3944 13:10:39 0 13:32:3545 13:14:04 0 13:32:3646 13:25:18 1 13:33:2147 13:34:35 0 13:37:0148 13:35:01 1 13:40:0849 13:40:21 0 13:46:3350 13:42:03 0 13:47:4851 13:43:02 1 13:58:1852 13:47:20 1 13:58:4053 13:48:23 0 14:02:18

Con la informacion recolectada, llevemos cuenta del numero de clientes que llegan alnegocio por su orden de llegada. Sean Ai la hora de llegada del cliente i, Xi el tipo detrabajo que solicita y Si el tiempo en el que recibe atencion del empleado. Para cualquierjornada de trabajo se recolectarıa informacion similar. ¿Estas variables son deterministaso son variables aleatorias?

Hacer ver con varios ejemplos cuando son deterministas y cuando son variables aleato-rias. En el caso del negocio en cuestion son variables aleatorias. Si N es el numero totalde clientes en el intervalo de observacion: [0, T ] entonces {Ai}Ni=1, {Xi}Ni=1, y {Si}Ni=1 sonprocesos estocasticos que representan los tiempos de llegada, tipo de servicio y el tiempode servicio, respectivamente. Cada uno de ellos es una sucesion de variables aleatorias.¿Son independientes entre sı, son independientes los procesos? Si es el caso, ¿cual es sudistribucion? Antes de determinarlo, discuta si es mas conveniente trabajar con el tiempode llegada o con el tiempo entre las llegadas de los clientes. Observar que a partir de unapodemos obtener la otra. El tiempo entre llegadas nos da una mejor idea de la densidadde clientes.

Para ello, denotemos por τi = Xi − Xi−1 con i = 1, . . . N, y τ0 = 0. Con base en lainformacion recabada en la Tabla 1, generar una tabla entre llegadas. Las unidades sonen minutos.

Page 10: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

8 CHAPTER 2. TRATAMIENTO ESTADISTICO DE LOS DATOS

Num. Llegadas tiempo entre llegadas tiempo servicio1 8.66 3.892 3.09 1.243 7.18 2.644 1.65 0.955 0.95 6.116 2.99 4.267 0.46 4.58 10.80 1.699 18.55 1.8210 17.17 1.8811 1.70 1.5612 5.37 0.6713 5.49 1.4214 0.06 24.0115 9.29 0.3416 4.09 8.2817 0.43 1.8118 10.26 2.6319 3.66 0.0820 17.20 12.5121 0.63 9.0422 2.57 2.0023 8.55 3.0924 0.73 1.3525 0.62 0.3526 4.97 5.6227 1.62 2.5628 0.45 6.9629 10.11 5.1130 3.07 2.6031 4.33 0.0332 5.83 0.4133 8.67 0.6534 4.19 3.6235 0.64 0.5036 15.65 3.6837 3.05 2.7638 7.29 22.0339 16.47 6.8640 11.88 3.4241 0.17 4.5842 1.82 8.0543 6.83 3.4244 0.82 11.95

Page 11: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

2.1. EL CASO DE LAS FOTOCOPIAS 9

Num. Llegadas tiempo entre llegadas tiempo servicio45 4.05 0.0146 11.14 0.8547 8.77 3.0748 0.66 3.0649 5.20 6.2550 1.82 1.1551 1.38 10.3252 3.78 0.6253 1.43 3.37

Para determinar las distribuciones, construir un histograma con los datos. El his-tograma, ¿le sugiere una posible distribucion para cada una de las variables? Ası se veraque para los tiempos entre llegadas como para los tiempos de servicio, la distribucion can-didata es la exponencial, mientras que para los tipos de servicio es la Bernoulli. Para con-firmarlo estadısticamente se hace una prueba de bondad de ajuste como la Kolmogorov-Smirnov para las funciones de distribucion continuas y para la Bernoulli una prueba Xi2.Para ambas pruebas ver el Ross [?].

Prueba Kolmogorov-Smirnov.

Se tiene una muestra de variables aleatorias independientes Y1, Y2, . . . , Yn y se quiereprobar la hipotesis de que tienen la misma distribucion F, con F una distribucion continuaconocida.

1. Construir la funcion empırica Fe(x) con una realizacion de la muestra:

Fe(x) =#i : Yi ≤ x

n

o sea Fe(x) es la proporcion de observaciones con valor menor o igual a x.

2. Construir el estadıstico D

D = Supx(Fe(x)− F (x)).

3. Determinar el valor crıtico p

p = PF (D ≥ d) = P (max 0 ≤ y ≤ 1#i, Ui ≤ y

n− y ≥ d)

4. Si p es muy pequeo se rechaza la hipotesis nula.

Page 12: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

10 CHAPTER 2. TRATAMIENTO ESTADISTICO DE LOS DATOS

Prueba X2i

Supongamos que se tiene una muestra Y1, Y2, . . . , Yn de v. a. independientes e identicamentedistribuidas que toman valores en {1, 2, . . . , k}. Queremos probar la hipotesis

H0 : P ({Yj = i}) = pi.

• Sea Ni = #Yj = i j = 1, . . . , n e i = 1, . . . , k. Bajo la hipotesis H0, Ni es binomialcon parametro n y pi. Cuando H0 es verdad E[Ni] = npi. Que tan grande es (npi−Ni)

2 nos da una idea que tan buena es la hipotesis nula.

• Construir el estadıstico

T =k∑i=1

(npi −Ni)2

npi.

• Supongamos que T toma el valor t

p− value = PH0(T ≥ t) ≈ P (Xi2k−1 ≥ t),

dado que para valores grandes de n, T se distribuye como una Xi2 con k− 1 gradosde libertad.

• Si la probabilidad es pequea se rechaza.

Ambas pruebas se pueden llevar a cabo vıa simulacion. Para mas detalles, ver el libro deSimulacion de Ross.

Ejercicios

Construya para cada proceso un histograma, proponga una posible distribucion y paraaceptar o rechazar esta propuesta, realice una prueba de bondad de ajuste para distribu-ciones discretas o continuas, segun sea ell caso. calcule la media y varianza muestral.

Para tiempos entre llegadas la media es 5.68 min, para la Bernoulli, p = 0.6 que seatrabajo normal y 0.4 que sea especial. Para el tiempo de servicio la media es 4.6 min.

Con esto concluimos que dado que los tiempos entre llegadas son exponenciales en-tonces el numero de personas que llegan al tiempo T es un Proceso de Poisson conparametro λ = 5.68 y los tiempos de llegada son Gama pero no son independientes entresı . El tiempo de llegada es independiente del tiempo de servicio y del tipo de servicio.En cambio, estos dos ultimos procesos son dependientes.

Ejercicios

Use una hoja de calculo para estudiar cual de las siguientes posibilidades es la que masconviene al dueno de la tienda de fotocopias:

1. Permanecer como esta. Estime cuantos clientes pierde si estos deciden no entrarcuando la cola es mayor o igual a 8 personas.

Page 13: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

2.1. EL CASO DE LAS FOTOCOPIAS 11

2. Contratar a otro dependiente, rentar otra fotocopiadora y ofrecer el mismo servicioque antes, pero con dos equipos.

3. Rentar otra fotocopiadora y ofrecer auto-servicio de fotocopiado.

4. Quedarse con una sola fotocopiadora y dedicarla a un autoservicio de fotocopiado.Al dependiente ocuparlo en los trabajos especiales: engargolado, empastado, etc.

Discutir que tan conveniente es tomar una decision con la muestra de un solo dıa.

Page 14: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

12 CHAPTER 2. TRATAMIENTO ESTADISTICO DE LOS DATOS

Page 15: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

Chapter 3

Generacion de Variables aleatorias

3.1 Generadores de numeros aleatorios

Una forma de generar numeros aleatorios es lanzar una moneda al aire, tirar un dado osacar una carta de una baraja o dando de vueltas a un disco, que tiene inscritos a lo largode la circunferencia numeros, y que se mueve por medio de una fuerza mecanica no deter-minista. Estos procedimientos son utiles siempre que se desee generar un numero pequenode numeros aleatorios, pero si se desea generar miles de ellos se requieren procedimientosque puedan hacer uso de las computadoras. Un ejemplo que ilustra las limitaciones deestos procedimientos lo dio la empresa Rand que en 1955 publico una tabla de un millonde numeros aleatorios. En un principio fue un exito, pero pronto mostro sus limitacionespara ciertos calculos, en los que se requiere miles y miles de numeros aleatorios, como porejemplo en aplicaciones del metodo de Monte-Carlo en dinamica molecular.

El primer algoritmo computacional para generar numeros aleatorios fue el algoritmode cuadrados medios de Von Neumann que fue publicado a fines de los anos cuarenta. Elalgoritmo consiste en lo siguiente: Dado un numero entero positivo de N dıgitos X0, conN par, tomar s numeros, con s < N/2, a la izquierda del dıgito dN/2 incluyendo a estedıgito y s numeros a su derecha. Este nuevo numero se eleva al cuadrado y el resultadose indica como X1; si denominanos como U1 = .X1 entonces U1 es el primer numero en elintervalo (0, 1). Se repite el proceso que se le aplico a X0 a X1 para generar X2 y obtenera su vez U2 = .X2, y ası sucesivamente. De esta forma se generan n numeros en (0, 1) queya no son propiamente aleatorios pues no son producto del azar.

Ilustremos con un ejemplo este algoritmo. Consideremos que N = 6, s = 2 y x0 =256874. Los dıgitos que se seleccionan son 5687, que elevados al cuadrado nos dan elsiguiente elemento de la sucesion x1 = 32341969 que da lugar a U1 = .32341969. De estaforma se obtienen x2 = (3419)2, U2 = .11689561, x3 = (.6895)2 y U3 = .47541025 y asısucesivamente.

A sucesiones de numeros obtenidos por algoritmos deterministas cuya complejidad nosimpide predecir de antemano cual es el valor de su k−esimo elemento se les llama numerospseudo-aleatorios.

Los algoritmos para generar numeros pseudo-aleatorios en el intervalo (0, 1) debentener buenas propiedades estadısticas, entre estas:

13

Page 16: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

14 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

1. Los numeros deben distribuirse uniformemente en el intervalo (0, 1).

2. No deben estar correlacionados entre sı .

3. Deben permitirnos generar un gran numero de ellos sin que se comiencen a repetir.

El algoritmo de Von-Neumann no tiene buenas propiedades estadısticas y a veces solose pueden generar sucesiones pequenas como cuando los dıgitos que se seleccionan paragenerar un nuevo numero son todos cero.

La mayorıa de los algoritmos que se utilizan hoy en dıa para generar numeros pseudo-aleatorios con distribucion uniforme utilizan congruencias lineales. El primero en intro-ducirlos fue Lehmer en 1951 y la idea es la siguiente:

Dado a, c y m enteros positivos generar la sucesion Xi por medio del siguiente proce-dimiento:

1. Dado Z0 aleatoria.

2. Zi+1 = (aZi + c) mod(m).

3. Xi+1 = Zi+1/m.

O sea Zi+1 es el residuo que se obtiene al dividir a aZi + c entre m. ClaramenteZi+1 < m por lo tanto Xi+1 ∈ (0, 1). A Z0 se le llama la semilla.Ejemplo

Sea c = 7, a = 1, m = 11 y Z0 = 3. Entonces

i Zi Xi

1 10 0.9090909092 6 0.5454545453 2 0.1818181824 9 0.8181818185 5 0.4545454556 1 0.0909090917 8 0.7272727278 4 0.3636363649 0 010 7 0.63636363611 3 0.27272727312 10 0.909090909

Como observamos esta congruencia genera al menos 11 numeros antes de comenzar arepetirlos. De hecho genera todos los posibles residuos. A esto se le llama el ciclo de lacongruencia. Si se seleccionan bien los numeros a, c y m el algoritmo tiene ciclo maximoo sea igual a m.

Page 17: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.2. PRUEBAS PARA VALIDAR GENERADORES DE NUMEROS ALEATORIOS15

Para computadoras de 32 bits (4 bytes), se ha observado que una buena seleccion dem es m = 231 − 1, a = 75 = 16, 807 y c = 0.

No basta con buscar generadores que tengan ciclo maximo tambien deseamos que sedistribuyan uniformemente, que no esten correlacionados, que sean faciles de generar yalmacenar y que puedan replicarse. Es decir que si se conoce la semilla se replique lasucesion.

Otro ejemplo de un buen generador de numeros pseudo-aleatorios es el de Kobayashique esta dado por

Zi = (314159269Zi−1 + 453806245) mod(231).

3.2 Pruebas para validar generadores de numeros aleato-

rios

Se recomienda que antes de usar el generador de numeros aleatorios de cualquier paquetede sofware, se valide este aplicando una serie de pruebas estadısticas y empıricas. Entrelas estadısticas estan:

1. Hacer un histograma con los numeros aleatorios y comprobar graficamente que sedistribuyen uniformemente en el intervalo (0, 1).

2. Prueba de bondad de ajuste para probar la hipotesis que los numeros pseudo-aleatorios se distribuyen uniformes. La prueba consiste en lo siguiente:

(a) Se divide el intervalo [0, 1] en k subintervalos de longitud ∆x, (al menos k =100.)

(b) Se generan n variables pseudo-aleatorias Ui, i = 1, . . . , n. Se cuentan cuantasUi caen en el subintervalo j, sea fj = Num. Ui en el intervalo [(j− 1)∆x, j∆x]para j = 1, . . . , k.

(c) Sea χ2 = kn

∑kj=1(fj −

nk)2

(d) Para n suficientemente grande χ2 tiene una distribucion χ2 con k − 1 gradosde libertad.

(e) Si χ2 > χ2k−1,1−α se rechaza la hipotesis de que las Ui sean uniformes en (0, 1)

con un nivel de confianza α.

Observacion: Estas pruebas no son poderosas para n pequenas ni para muy grandesya que siempre se rechazara la hipotesis por una minuscula diferencia.

3. Verificar si (Ui, Ui+1) son variables aleatorias independientes que se distribuyen uni-formemente en el cuadrado [0, 1]× [0, 1]. La prueba consiste en lo siguiente:

(a) Se generan n variables pseudo-aleatorias uniformes en [0, 1].

(b) Dividir el cuadrado [0, 1]× [0, 1] en n2 rectangulos de longitud J1 y ancho J2.

Page 18: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

16 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

(c) Sea fj1,j2 = Num. de (Ui, Uj) tal que Ui ∈ J1 y Uj ∈ J2.

(d)

χ2 =k2

n

k∑j1=1

k∑j2=1

(fj1j2 −n

k2)2

(e) Si χ2 > χ2k2−1,1−α se rechaza la hipotesis nula.

Entre las empıricas esta una para probar independencia, conocida como prueba de corri-das.

1. Dados numeros pseudo-aleatorios uniformes Ui, i = 1, . . . , n se van contando elnumero de Ui que satisfacen que Ui < Ui+1. A cada una de las sucesiones quesatisfacen lo anterior se le llama corrida. Al termino de la construccion de lascorridas se clasifican por su numero de elementos. Sea ri = Num. de corridas delongitud i con i = 1, . . . , 5, 6 definidas por

ri =

{numero de corridas de longitud i, i = 1, . . . , 5numero de corridas de longitud ≥ 6 i = 6.

2. Se construye un estadıstico

R =1

n

6∑i=1

6∑j=1

aij(ri − nbi)(rj − nbj),

con el elemento aij de la siguiente matriz

A =

4529.4 9044.9 13568 18091 22615 278929044.9 18097 27139 36187 45234 5578913568 27139 40721 54281 67852 8368518091 36187 54281 72414 90470 11158022615 45234 67852 90470 113262 13947627892 55789 83685 111580 139476 172860

y las bi son los elementos del vector b = (1

6, 524, 11120, 19720, 295040

, 1840

). Estas constantesaparecen calculadas en el libro de Knuth, ver [?].

3. Para n grande, se recomienda n ≥ 4000, R se aproxima a una χ2 con 6 grados delibertad.

4. Si R > χ26 se rechaza la hipotesis.

Mas pruebas de este tipo se pueden encontrar en en los libros de ([?]) y ([?]).

Page 19: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.3. GENERACION DE NUMEROS ALEATORIOS CON OTRAS DISTRIBUCIONES17

3.3 Generacion de numeros aleatorios con otras dis-

tribuciones

Se pueden generar numero pseudo-aleatorios para casi cualquier distribucion discreta ocontinua a partir de numeros pseudo-aleatorios uniformes. En estas notas se presentanpara el caso de la distribucion Bernoulli, Poisson, uniforme y normal, que son las distribu-ciones mas usadas en teoıa de colas.

1. Para generar numeros aleatorios Bernoulli Xi que toman el valor x1 con probabilidadp y x2 con probabilidad 1− p, se aplica el siguiente algoritmo:

(a) Se genera una v.a. uniforme, Ui, en [0, 1].

(b) Si Ui ≤ p⇒ Xi = x1.

(c) Si Ui > p⇒ Xi = x2.

2. Si la variable aleatoria Xi toma los valores x1, x2, . . . , xn con probabilidad p1, . . . , pnse hace lo siguiente:

(a) Se genera una v.a. uniforme en [0, 1].

(b)

Xi =

x1, 0 ≤ Ui ≤ p1x2 p1 < Ui ≤ p1 + p2,

x3 p1 + p2 < Ui ≤∑3

j=1 pj,

. . .

xn∑n−1

j=1 pi < Ui.

3. Variables tipo Poisson. Si X es una v.a. Poisson se tiene pi = P (X = i) = e−λ λi

i!,

con E(X) = V ar(X) = λ. Observemos que pi+1 = λi+1pi.

(a) Se genera una v.a. uniforme U ∼ U(0, 1).

(b) Para i = 0 p = e−λ; F = p.

(c) Si U ≤ F ⇒ X = i. Stop.

(d) Si U > F p = λpi+1, i = i+ 1 y F = F + p. Regresa a 3.

Cuantas iteraciones en promedio se requieren: 1 + λ cuando λ es pequeno. Paraλ grande, X se comporta como una normal con media y varianza λ y el numeropromedio es 1 + E[|X − λ|] ≈ 1 + 0.798

√λ.

4. En el caso de las variables continuas se puede utilizar un metodo general que esel metodo inverso. Sea U una variable aleatoria uniforme en (0, 1), para cualquierdistribucion F la variable aleatoria definida por χ = F−1(U) tiene distribucion F.

Page 20: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

18 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

5. Aplicacion para generar v.a. exponenciales: sea X la variable aleatoria con dis-tribucion exponencial con parametro µ. Su distribucion esta dada por

F (x) = 1− e−µx si x ≥ 0.

Si F (x) = y entonces y ∈ (0, 1) y 1 − e−µx = y. Despejando x se obtiene que lavariable aleatoria exponencial se puede construir a partir de X = −1

µln(1− U) con

U una variable aleatoria uniforme en (0, 1).

Observemos que si U ∈ (0, 1) tambien lo esta 1 − U por lo que el algoritmopara generar variables pseudo-aleatorias con distribucion uniforme con parametro µqueda de la siguiente forma:

(a) Se genera una v.a. U uniforme en (0, 1).

(b) χ = −1µln(U) es exponencial de parametro µ.

6. Tambien se puede utilizar este metodo para las variables normales con media µ yvarianza σ2.

(a) Se genera una v.a. uniforme U ∼ U(0, 1).

(b) Posteriormente

U = F (x) =1√2π

∫ x

−∞e−y

2

dy = Φ(x).

Se busca en tablas el valor de x y Z = x.

(c) Para obtener X ∼ N(µ, σ2) se hace X = µ+ σZ.

7. Otro metodo para generar normales es el siguiente: Sean (x, y) ∼ N(0, 1) variablesaleatorias independientes, entonces la funcion de densidad conjunta se define

f(x, y) =1

2πe−(x

2+y2)/2.

Si estas dos variables se llevan al plano (r, θ) a traves del cambio de coordenadaspolares r =

√x2 + y2, θ = Tang−1( y

x) si (x, y) 6= (0, 0) y al origen lo manda al

origen. La pregunta es si (x, y) son normales independientes, entonces ¿cual es ladensidad de (r, θ)? g(r2, θ) = 1

212πe−r

2/2 con r2 exponencial con parametro λ = 1/2y θ uniforme en el intervalo (0, 2π).

Algoritmo de Box-Muller

1. Se genera dos v.a. uniformes independientes U1, U2 ∼ (0, 1).

2. Sea R2 = −2 ln(U1), θ = 2πU2.

3. Las siguientes variables son v.a. normales independientes.

x = R cos θ =√−2 ln(U1) cos(2πU2)

y = R sin θ =√−2 ln(U1) sin(2πU2).

Page 21: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.4. SIMULACION DE COLAS 19

Simulacion de un proceso de Poisson homogeneo

Para generar un proceso de Poisson homogeneo con intensidad λ > 0 hay varias formasde hacerlo, dependiendo de la caracterizacion que escojamos. La primera es generandolos tiempos entre llegadas que sabemos que son v.a. exponenciales independientes conparametro λ y la otra usando el hecho que incrementos de procesos de Poisson son v.a.Poisson. Veamos ambos algoritmos:

1. Dado T > 0 N(T ) es el numero de veces que ocurre el evento que contabiliza elproceso.

2. Sea τ = 0 y n = 0.

3. Mientras τ < T ⇒

4. Genera U ∼ U(0, 1)

5. τ = τ + 1λLn(U)

6. Si τ > T ⇒ Para.

7. n = n+ 1 regresa a 3.

Dado T > 0 N(T ) es una v.a. Poisson con parametro λT aplicar el algoritmo que sevi’øpreviamente.

Para ver como se genera un proceso de Poisson no homogeneo, ver el libro de Ross [?]o de Rubinstein [?].

Ejercicios

1. Valide el generador de numeros aleatorios de Mathlab o de Mathematica. Para ello,genere 100 numeros aleatorios uniformes y aplique las pruebas vistas en clase.

2. Dada una cola M/M/1 genere una realizacion del proceso de llegadas y de serviciocuando se supone que las llegadas son un Proceso de Poisson con tasa 24 personasen una hora y el servicio es en promedio de 2 min por persona.

3.4 Simulacion de colas

Los sistemas que evolucionan en el tiempo pueden ser ser discretos o continuos. Al simularestos en computadora pueden actualizarse en intervalos uniformes de tiempo o cuando seproduzcan eventos de interes. Si este es el caso, se llama simulacion por eventos. En elcaso de la fotocopiadora, hacer un algoritmo computacional que reproduzca lo que se haobservado y registrado en tiempos y movimientos. Utilizaremos los algoritmos vistos enla seccion anterior.

Page 22: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

20 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

Algoritmo para generar una realizacion de un sistema M/M/1

1. Datos de entrada: T, λ, µ0, µ1, p.

2. Datos de salida: A(n), S(n), T e(n) y D(n).

3. Inicializacion variables: τ = 0, D(0) = 0, n = 0.

4. Calcula tiempo de llegada, tipo de servicio y tiempo de servicio para cada cliente.

5. Paso A. Mientras τ ≤ T hacer lo siguiente:

(a) Genera un nuevo tiempo de llegada.

τ = τ − 1

λLn(U) U ∼ U(0, 1).

(b) n = n+ 1; A(n) = τ.

(c) Generar tipo de servicio: x = 0; ν = µ0. U ∼ U(0, 1). Si

U ≥ p⇒ x = 1, ν = µ1.

(d) X(n) = x.

(e) Genera tiempo de servicio:

S(n) = −1

νLn(U) U ∼ U(0, 1).

(f) Calcula tiempo de espera:

Te(n) = Max{D(n− 1)− A(n), 0}.

(g) Calcula tiempo de salida:

D(n) = A(n) + S(n) + Te(n).

(h) Regresa a Paso A.

6. Calcula Tiempo de espera promedio. Prom = 0.

7. Para i = 1, n

• Prom = Prom+ Te(i);

8. Prom = Prom/n.

Si se desea generar colas M/G/1 o G/G/1 se modifica el programa para que genere lostiempos de servicio y los tiempos entre llegadas con las distribuciones que nos interesan.Por ejemplo, si nos interesa generar tiempos de servicio que sean lognormal entonces enel paso c) hacemos lo siguiente:

Page 23: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.4. SIMULACION DE COLAS 21

1. Se genera una v.a. uniforme U ∼ U(0, 1).

2. Posteriormente, se genera una Z ∼ N(0, 1) de la siguiente forma:

x = Φ−1(U)

con

U = Φ(x) =1√2π

∫ x

−∞e−y

2

dy.

Se busca en tablas el valor de x y Z = x.

3. Para obtener X ∼ N(µ, σ2) se hace X = µ+ σZ.

4. Para obtener una log-normal con media µ y varianza σ2

V = Exp(X).

Si nos interesa generar tiempos entre llegadas tipo Weibull con parametros ....

Algoritmo para generar una realizacion de un sistema M/M/2que realizan la misma tarea

OBSERVACIONES: Si los dos servidores estan vacıos , el primer cliente que llega siemprepasa al servidor 1. El numero de cliente que estan siendo atendido el servidor i se registraen SERV(i). El contador nsist sirve para llevar control sobre el numero de personas enel sistema y ncola nos informa a partir de cual cliente se inicia la cola.

• Datos de entrada: T, λ, µ0, µ1, p.

• Datos de salida: A(n), S(n), T e(n) y D(n).

• Inicializacion variables: τ = 0, n = 0, D(0) = 0, EST (1) = 0, EST (2) = 0,nsist = 0 y ncola = 0.

• Paso A. Mientras τ ≤ T hacer lo siguiente:

1. Calcula tiempo de llegada:

τ = τ − 1

λLn(U) U ∼ U(0, 1).

2. n = n+ 1; A(n) = τ, nsist = nsist+ 1;

3. Generar tipo de servicio: x = 0; ν = µ0. U ∼ U(0, 1). Si

U ≥ p⇒ x = 1, ν = µ1.

4. X(n) = x.

Page 24: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

22 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

5. Genera tiempo de servicio:

S(n) = −1

νLn(U) U ∼ U(0, 1).

6. Calcula tiempo de espera:

(a) Caso 1: Los servidores estan vacıos: SERV (1) = 0 y SERV (2) = 0.

i. Te(n) = 0;

ii. SERV (1) = n;

iii. Ve a PASO 7.

(b) Caso 2: SERV (1) > 0 y SERV (2) = 0.

i. k1 = SERV (1);

ii. Te(n) = Max{D(k1)− A(n), 0};iii. Si Te(n) = 0 ⇒ nsist = nsist− 1; SERV (1) = n.

iv. Si Te(n) > 0 ⇒ Te(n) = 0; SERV (2) = n.

v. Ve a Paso 7.

(c) Caso 3: SERV (1) = 0 y SERV (2) > 0.

i. k2 = SERV (2);

ii. If D(k2) ≤ A(n) ⇒ nsist = nsist− 1, SERV (2) = 0.

iii. Te(n) = 0;

iv. SERV (1) = n;

v. Ve a Paso 7.

(d) Caso 4: SERV (1) > 0 y SERV (2) > 0.

i. k1 = SERV (1), k2 = SERV (2).

ii. Si D(k2) ≤ D(k1) y D(k1) ≤ A(n) ⇒A. nsist = nsist− 1,

B. Si ncola = 0 ⇒ SERV (2) = 0; Ve a Paso 6 b).

C. Si ncola > 0 ⇒ SERV (2) = ncola;

Te(ncola) = Max{D(k2)− A(ncola), 0},

S(ncola) =1

µLn(U) U ∼ U(0, 1),

D(ncola) = Te(ncola) + A(ncola) + S(ncola)

iii. Si D(k2) ≤ D(k1) y D(k2) ≥ A(n) ⇒ nsist = nsist+ 1; Si ncola = 0⇒ ncola = n Ve a Paso 7.

iv. Si

v. Si D(k1) ≤ D(k2) y D(k1) < A(n) ⇒ nsist = nsist− 1,

A. Si ncola = 0 ⇒ Te(n) = 0; SERV (1) = n. Si ncola > 0 ⇒SERV (1) = ncola;

Te(ncola) = Max{D(k1)− A(ncola), 0};S(ncola)=

Page 25: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.4. SIMULACION DE COLAS 23

1

µLn(U) U ∼ U(0, 1),

D(ncola) = Te(ncola) + A(ncola) + S(ncola)

Si D(k2) ≤ A(n) ⇒ nsist = nsist− 1, SERV (2) = 0.

B.

C. Ve a Paso 7.

7. Calcula tiempo de salida del n cliente:

D(n) = A(n) + S(n) + Te(n).

8. Regresa al Paso A.

• Calcula tiempo de espera promedio.

• Para i = 1, n

– Prom = Prom+ Te(i);

• Prom = Prom/n.

Algoritmo para una cola con servidores secuenciales

• Datos de entrada: T, λ, µ0, µ1, p.

• Datos de salida: A1(n), S1(n), T e1(n) y D1(n), A2(n), S2(n), T e2(n) y D2(n).

• Inicializacion variables: τ = 0, n = 0, D1(0) = 0, D2(0) = 0, n2 = 0, P rom1 = 0Prom2 = 0.

• Paso A. Mientras τ ≤ T hacer lo siguiente:

1. Calcula tiempo de llegada:

τ = τ − 1

λLn(U) U ∼ U(0, 1).

2. n = n+ 1; A1(n) = τ ; nsist = nsist+ 1;

3. Genera tiempo de servicio del enesimo cliente:

S1(n) = − 1

µ0

Ln(U) U ∼ U(0, 1).

4. Calcula tiempo de espera del enesimo cliente en el servidor 1:

Te1(n) = Max{D1(n− 1)− A1(n), 0}.

Page 26: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

24 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

5. Calcula tiempo de salida del servidor 1:

D1(n) = A1(n) + S1(n) + Te1(n).

6. Decide si el cliente pasa al servidor 2: x = 0; U ∼ U(0, 1).

7. Si

U <= p⇒ x = 1 n2 = n2 + 1, A2(n2) = D1(n).

8. X(n) = x.

9. Si X(n) = 0 ⇒ el cliente abandona el sistema. Ve a Paso 13.

10. Si X(n) = 1 ⇒ genera tiempo de servicio en el servidor 2

S2(n2) = − 1

µ1

Ln(U) U ∼ U(0, 1).

11. Calcula tiempo de espera en el servidor 2.

Te2(n2) = Max{D2(n2− 1)− A2(n2), 0}.

12. Genera tiempo de salida del servidor 2.

D2(n2) = A2(n2) + S2(n2) + Te2(n2).

13. Se genera un nuevo tiempo de llegada. Ve a Paso 13.

• Calcula Tiempo de espera promedio para servidor 1

• Para i = 1, n

– Prom1 = Prom1 + Te1(i);

• Prom1 = Prom1/n.

• Calcula Tiempo de espera promedio para servidor 2

• Para i = 1, n2

– Prom2 = Prom2 + Te2(i);

• Prom2 = Prom2/n2.

Page 27: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.5. EL METODO MONTE-CARLO 25

3.5 El metodo Monte-Carlo

Se sabe por la Ley de los Grandes Numeros que un buen estimador del valor esperado deuna variable aleatoria continua X con distribucion F es el promedio aritmetico de unamuestra finita de variables aleatorias, independientes con distribucion F. Es decir

E(X) ≈ 1

M

M∑i=1

Xi.

Como la esperanza de una variable aleatoria continua es una integral, este estimador sepuede usar para estimar el valor de una integral. Esta es la idea que esta detras delmetodo de Monte-Carlo.

Esta idea se puede generalizar para estimar el valor esperado de una funcionG continuacuyo argumento es una variable aleatoria con distribucion F. Si se tiene una muestrade variables aleatorias, independientes, identicamente distribuidas con distribucion F,entonces

E(G(X)) ≈ 1

M

M∑i=1

G(Xi).

Aplicacion al calculo de integralesEn el caso que nos ocupa, se desea estimar la integral de una funcion G continua, esta

integral puede verse como el calculo del valor esperado de la funcion G cuando se aplicaa una variable aleatoria con distribucion uniforme. Supongamos que el intervalo de inte-gracion es [0, 1] y sea X1, X2 hasta XM una muestra de variables aleatorias, independientescon distribucion uniforme en el intervalo [0, 1] entonces∫ 1

0

G(x) dx = E(G(X))

con X una variable aleatoria uniforme en [0, 1].De esta forma, con base en la Ley de los Grandes Numeros, esta integral se puede

aproximar por ∫ 1

0

G(x) dx ≈ 1

M

M∑i=1

G(xi).

Todo el problema se reduce a generar la muestra. Por otro lado, observemos quecualquier integral sobre el intervalo [a, b] se puede transformar a una integral sobre elintervalo [0, 1] con el siguiente cambio de variable x = a + (b − a)u con dx = (b − a)duentonces∫ b

a

G(x) dx = (b− a)

∫ 1

0

G(a+ (b− a)u) du ≈ (b− a)

M

M∑i=1

G(a+ (b− a)ui),

con ui variables aleatorias uniformes en el intervalo [0, 1].

Page 28: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

26 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

La mayorıa de los programas generan variables pseudo-aleatorias con distribucion uni-forme con la instruccion rand.

EjemploUsemos lo anterior para aproximar el valor de

I =1√2π

∫ 2.5

−2.5e

−x2

2 dx.

Transformemos primero la integral al intervalo [0, 1]

I =2√2π

∫ 2.5

0

e−x2

2 dx =5√2π

∫ 1

0

e−(2.5u)2

2 du ≈ 5

M√

M∑i=1

e−(2.5ui)

2

2 ,

= 1.0066 para M = 100.

El resultado no es bueno si comparamos con el valor que se obtiene al usar las tablas dela normal acumulada que es igual a 0.987580. ¿Como se relaciona el error que cometemoscon el tamano de M de la muestra?

Estimacion del error

El Teorema del Lımite Central nos permite estimar el error que se comete al usar Monte-Carlo para estimar una integral. Sean I = E(g(X)) e IM = 1

M

∑Mi=1 g(Xi) entonces si σ

es la desviacion estandar de g(X), se tiene que σ√M

es la desviacion estandar de IM , porlo que

P (|I − IM | <cσ√M

) ≈ P (|ZM | < c) = 2Φ(c),

con ZM = (I−I)σ/√M

, Φ(c) = 1√2π

∫ c0e−x

2/2 y c se selecciona dependiendo de la probabilidad

que se desee obtener. Por ejemplo si se quiere que la probabilidad sea .95 se selecciona ac como 1.96.

Por lo tanto el error que se comete al usar el metodo de Monte-Carlo es aproximada-mente σ√

M. Como observamos, si σ ≈ 1, se requiere de M = 104 para tener al menos dos

cifras significativas.Este resultado nos permite estimar un intervalo de confianza de α%. Para ello se

selecciona c de tal forma que Φ(c) = α2. De esta forma, con probabilidad α podemos

asegurar que el valor exacto de la integral I esta en el intervalo[IM −

cσ√M, IM +

cσ√M

].

El problema para usar el resultado anterior es que hay que conocer el valor de ladesviacion estandar de g(x). Lo que se hace en la practica es estimarla por la varianzamuestral σ2, ver [?], que se calcula por

σ2 =1

M − 1

M∑i=1

(g(Xi)− IM)2.

Page 29: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.5. EL METODO MONTE-CARLO 27

Con ese estimador podemos determinar el tamano que se requiere que tenga M para tenerla precision deseada. Por ejemplo, si se desea tener un intervalo de confianza del 95% delongitud 10−2 se debe escoger M > (1.96)2σ2104.

El algoritmo de Monte-Carlo para estimar un intervalo de confianza del 95% de laesperanza de una funcion F (X), con X una variable aleatoria uniforme estandar es elsiguiente:

1. Denotemos por V ari e Ii a la varianza acumulada y al promedio acumulado hastala iteracion i, respectivamente.

2. Sea V ar1 = 0; I0 = 0; Sea U1 una uniforme en (0, 1) y I1 = F (U1).

3. Para i = 2, . . . ,M generar numeros aleatorios Ui uniformes.

4. Ii+1 = Ii + F (Ui+1)−Iii+1

;V ari+1 = (1− 1i)V ari + (i+ 1)(Ii+1 − Ii)2.

5. I ∈ [IM − 1.96√V arM√M

, IM + 1.96√V arM√M

].

A continuacion se presentan algunos resultados numericos para distintos valores de M.

M Lım. Inf. Aprox. Lım. Sup. Long. Int.10 0.93986596 1.158364144 1.376862327 0.436996367100 0.939873981 1.006610869 1.073347758 0.1334737771000 0.955515509 0.976122422 0.996729335 0.04121382610000 0.981765121 0.988230900 0.994696679 0.012931558100000 0.986738285 0.988788375 0.990838466 0.004100182

Figure 3.1: Aproximaciones mediante el metodo Monte-Carlo a la integral.

Por lo que con 100000 evaluaciones de la funcion se obtiene una aproximacion condos cifras significativas. Es un hecho que Monte-Carlo converge lentamente por lo queno puede competir con Simpson o Trapecio para el calculo de integrales en una variable,pero para el calculo de integrales multiples se vuelve competitivo e inclusive mejor quecualquier otro metodo de integracion numerica.

Desde el punto de vista estadıstico el metodo de Monte-Carlo genera un estimador dela esperanza de una variable aleatoria con distribucion conocida F. ¿Cuales propiedadesestadısticas tiene este estimador? Para ello consideremos una variable aleatoria X con dis-tribucion F con valor esperado igual a θ y con varianza igual a σ2 entonces, siX1, X2, . . . XM

es un conjunto de variablas aleatorias independientes con distribucion F con media θ yvarianza σ2, θ = 1

M

∑Mi=1Xi satisface:

1. Es un estimador insesgado: E(θ) = θ.

2. El error cuadratico medio E((θ − θ)2) = V ar(θ) ≈ Cσ2

M.

Page 30: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

28 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

Los resultados del MMC consisten en presentar el valor del estimador I , el intervalode confianza del 95% para distintos valores de M, la longitud del intervalo de confianzal, la longitud relativa lr = l/I y el error relativo que es V ar(l)/E(I).

Si se desea reducir el error cuadratico medio lo que hay que hacer es reducir la varianzadel estimador o incrementar el tamano M de la muestra de variables aleatorias. A veces elvalor de M es tan grande que es costoso incrementar la muestra, por lo que se ha optadopor generar metodos para reducir la varianza; estos metodos se conocen con el nombrede metodos de reduccion de varianza. En el capıtulo tres veremos en detalle algunos deellos.

3.6 El metodo Monte-Carlo aplicado a colas de es-

pera

Para ilustrar la aplicacion del metodo Monte-Carlo (MMC) para estimar el tiempo deespera promedio para sistemas M/M/s o para sistemas secuenciales se estimara el tiempopromedio de un sistema M/M/1 para el intervalo de tiempo [0, T ]. Supongamos que seaplica el MMC con M realizaciones para estimar E[Wq(T )]. Para cada realizacion j, conj = 1, . . . ,M hay que calcular

TEj =1

N j(T )

Nj(T )∑i=1

Tej(i),

con N j(T ) =Num. de clientes de la realizacion j para el intervalo [0, T ] y Tej(i) eltiempo de espera del cliente i. La muestra de TE1, TE2, . . . , TEM es una muestra de v.a.independientes, pero no identicamente distribuidas ya que dependen del valor que tomeN j(T ). Esto nos obliga a estimar Wq(T ) de una manera distinta. Para ello, para cadarealizacion j se calcula el tiempo de espera total TEj y el numero total de clientes N j,i.e.

TEj =Nj∑i=1

Tej(i), Nj = N j(T ).

Observemos que

E[Wq(T )] ≈ E[TE]

E[N(T )].

Las expresiones del lado derecho se pueden aproximar por

E[TE]

E[N(T )]≈

TE1+TE2+...+TEM

M

N1 +N2 + . . .+NM

M

.

Como E[N(T )] = λT ⇒ no necesitamos estimar el valor esperado del numero de clientes.

Page 31: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.6. EL METODO MONTE-CARLO APLICADO A COLAS DE ESPERA 29

El estimador Wq(T ) de E[Wq(T )] se puede calcular por

Wq(T ) =TE

λTM=

1

λTM

M∑j=1

TEj,

V ar(Wq(T )) =S

Mλ2T 2=

1

Mλ2T 2

M∑i=1

(TEj − TE)2.

Lo anterior nos permite construir el siguiente intervalo de confianza para Wq(T )

Intervalo de confianza =

[Wq(T )±

√SZ1−α

λT√M

].

Algoritmo para estimar el tiempo de espera promedio de un sis-tema M |M |1 en el intervalo [0, T ] por medio de M realizaciones.

Datos de entrada: T, λ, µ0, µ1, p, M. Datos de salida: A(n), S(n), T e(n) y D(n).

1. Prom0 = 0, V ar = 0.

2. Para j = 1, . . . ,M

(a) Inicializacion variables: τ = 0, D(0) = 0, n = 0.

(b) Calcula tiempo de llegada, tipo de servicio y tiempo de servicio para cadacliente.

(c) Mientras τ ≤ T hacer lo siguiente:

i. Genera un nuevo tiempo de llegada.

τ = τ − 1

λLn(U) U ∼ U(0, 1).

ii. n = n+ 1; A(n) = τ.

iii. Generar tipo de servicio: x = 0; ν = µ0. U ∼ U(0, 1). Si

U ≥ p⇒ x = 1, ν = µ1.

iv. X(n) = x.

v. Genera tiempo de servicio:

S(n) = −1

νLn(U) U ∼ U(0, 1).

vi. Calcula tiempo de espera:

Te(n) = Max{D(n− 1)− A(n), 0}.

Page 32: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

30 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

vii. Calcula tiempo de salida:

D(n) = A(n) + S(n) + Te(n).

viii. TE1 = 0.

ix. Para i = 1, . . . , nTE1 = TE1 + Te(i)

x. Calculo del promedio y varianza del estimador en forma recursiva

Prom = Prom0 +(TE1− Prom0)

j;

S = (1− 1

j)S + (j + 1)(Prom1− Prom0)2.

xi. Prom0 = Prom.

(d) Wq(T ) = PromλT

(e) Intervalo de confianza del 95%

Wq(T ) ∈ [Prom− 1.96 ∗√S

λT√M

,Prom+1.96 ∗

√S

λT√M

].

3.7 Simulacion del caso estacionario

Las medidas de desempeno en la teorıa de colas se dan para la distribucion esta-cionaria, cuya existencia depende de que se satisfagan las condiciones de estabilidad.En la cola M |M |1 cuando λ/µ < 1 existe la distribucion estacionaria. Las medidasde desempeno para este sistema son:

• Numero de personas esperadas en el sistema:L = ρ1−ρ .

• Tiempo promedio en el sistema: W =1

λL =

1

µ− λ.

• Tiempo de espera promedio en la cola: Wq = W − 1µ

= ρµ−λ .

• Numero de personas promedio en la cola: LQ = λWq =λ2

µ(µ− λ)= ρL.

Para muchos sistemas como el G|G|1 no se cuenta con expresiones analıticas para lasmedidas de desempeno, la unica forma de estimarlas es por expresiones aproximadaso por simulacion numerica. Por otro lado, recordemos que dado un intervalo [0, T ]y N = [λT ] se estiman Wq(T ) y L(T ) por los siguientes estimadores:

Wq(T )1

λTM

M∑i=1

N∑k=1

Tei(k)

L(T ) ≈ 1

TM

M∑i=1

N∑k=1

X i(k)[Tk − Tk−1],

Page 33: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.7. SIMULACION DEL CASO ESTACIONARIO 31

con M el numero total de realizaciones del MMC, Tei(k) el tiempo de espera delcliente k en la i-esima realizacion y por X i(k) el numero de clientes en el sistema altiempo Tk que corresponde al tiempo de llegada del cliente k.

Para el caso estacionario hay varios metodos para obtener estimaciones sobre elnumero promedio de personas en el sistema o el tiempo promedio de espera: porfuerza bruta, por el metodo batch o por el metodo regenerativo. El primero consisteen lo siguiente: dado una precision ε > 0, calcular W 0

q (T0) para un valor grande deT0 > 1000 minutos. Posteriormente, hacer otra simulacion para T1 = 2T0 y calcularel correspondiente estimador W 1

q (T1). Si |W 1q (T1)−W 0

q (T0)| < ε entonces considerarque al tiempo T1 se ha alcanzado el caso estacionario. Si no se cumple esta condicionrepetir el proceso con T2 = 2T1 y ası sucesivamente hasta que se cumpla. El mayorinconveniente de este procedimiento es que se incrementa considerablemente el costocomputacional dado que hay que realizar M realizaciones para tiempos muy grandes.

Una forma de evitar el costo computacional es aplicar el metodo batch que con-siste en generar una sola realizacion para un intervalo [0, T ], con T muy grande.Supongamos que se cuenta con un procedimiento que nos permite asegurar que apartir de un valor T = K el sistema ha alcanzado el estado estacionario, entoncespara evitar que las condiciones iniciales no influyan en la estimacion, se descarta lainformacion del sistema correspondiente al estado transitorio i.e [0, K] para K > 0.Como seleccionar K no es facil, va depender del sistema que se este analizando y hayque mencionar que no siempre se cuenta con resultados teoricos que fundamentenla seleccion. Las observaciones generadas para el intervalo [K,T ] se subdividen enM intervalos de igual longitud y para cada uno de ellos se calcula una estimacionde la medida de desempeno θ que nos interesa y de esta forma se genera una mues-tra θi con i = 1, . . .M. El promedio de la muestra servira como estimador de θ. Acontinuacion se presenta el algoritmo correspondiente para el tiempo promedio deespera.

3.7.1 Algoritmo batch para estimar Wq

Este metodo consiste en llevar a cabo una sola realizacion para una T muy grandede la siguiente forma:

(a) La simulacion se lleva a cabo para el intervalo [0, T ], con T >> 5000 min y segenera un arreglo Te(j), con j = 1, 2, . . . , N, con N numero total de clientesen la realizacion.

(b) Se quitan las observaciones que caigan en el intervalo [0, K], supongamos quese quitan R observaciones.

(c) Se dividen las observaciones correspondientes al intervalo [K,T ] en M subcon-juntos o batches con el mismo numero de elementos L = N−R

M. Se recomienda

que M sea entre 20 a 30 subconjuntos.

Page 34: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

32 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

(d) Para cada subconjunto i se calcula el valor promedio W iq por

W iq =

1

L

L∑k=1

Tei(k)

y

Wq =1

M

M∑j=1

W jq .

A partir del estimador Wq se puede estimar las otras medidas de desempeno.

Determinar el valor deK es un problema difıcil porque hay pocos resultados analıticosque puedan fundamentar dicho valor. Se recomienda en el caso de una cola M |M |1cuando Te0 = 0 seleccionar como

K ≈ 8

µ(1− ρ)2, ρ =

λ

µ.

Para mayor informacion consultar R.Y. Rubinstein y D.P. Kroese.

La seleccion de K es crucial para inferir que la muestra W 1q , . . . ,W

Mq es una muestra

de v.a. independientes, condicion necesaria para estimar el intervalo de confianza dela manera usual. En caso de que haya cierta dependencia la varianza del estimadorse calcula de la siguiente forma:

Wq =1

M

M∑k=1

W kq

V ar(Wq) =1

M(V ar(W k

q ) + 2M−1∑k=1

M∑j=1

Cov(W kq ,W

jq )).

donde la covarianza puede estimarse por medio de la covarianza muestral. El inter-valo de confianza del 95% esta dado por[

Wq ± Z1−α/2S√M

]

con S2 la varianza muestral de Wq.

El metodo batch tiene la ventaja que a traves de una sola realizacion puede obtenerseun estimador, pero tiene inconvenientes como la seleccion de K y el generar unamuestra de v.a. que pueden estar correlacionadas. Estos problemas no se presentansi el proceso es regenerativo, es decir se reinicializa probabilısticamente cada vez quealcanza un tiempo de regeneracion, el cual se definira a continuacion.

Page 35: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.7. SIMULACION DEL CASO ESTACIONARIO 33

3.7.2 Metodo Regenerativo

Si el proceso {Xt, t ≥ 0} que denota el numero de personas en el sistema al tiempot es un proceso regenerativo se puede usar el siguiente algoritmo que es mas precisoy menos costoso.

Definicion

Se dice que {Xt, t ≥ 0} es regenerativo si existen tiempos aleatorios T1 < T2 <T3, . . . tales que en esos puntos el sistema se inicia probabilısticamente. El proceso{Xt} puede descomponerse en replicas independientes identicamente distribuidasdurante los intervalos [Ti−1, Ti], llamados ciclos, cuyas longitudes estan dadas porτi = |Ti − Ti−1| i = 1, 2, . . .

Un ejemplo tıpico de un proceso regenerativo es una cadena de Markov por ejemplo,el sistema M |M |1 con {Xt, t ≥ 0} el numero de clientes en el sistema. Cada vez quese vacıa el sistema i.e. Xt = 0 se tiene un ciclo que no depende del comportamientopasado del sistema.

Probar que un proceso regenerativo admite una solucion estacionaria solo dependedel comportamiento del sistema en cualquier ciclo.

Proposicion

Sea {Xt, t ≥ 0} un proceso regenerativo con tiempos de regeneracion T0, T1, T2, . . .y sea τi = Ti − Ti−1 i = 1, 2, . . . las longitudes correspondientes a cada ciclo. Si{Xt} es continuo debe ser continuo por la derecha y no debe de concentrar toda suprobabilidad en nδ n ∈ N δ > 0. Sea H una funcion continua y defınase

Ri =

Ti∑t=Ti−1

H(Xt) si Xt es discreto,

Ri =

∫ Ti

Ti−1

H(Xt)dt si Xt es continuo.

Se asume que T0 = 0, (Ri, τi) entonces

i) Si {Xt} es regenerativo tambien lo es H(Xt).

ii) Si E[τ ] <∞⇒ {Xt} tiene una distribucion estacionaria.

iii) (Ri, τi), i = 1, 2, . . . son vectores independientes e identicamente distribuidos.

(a) Un estimador de E[H(Xt)] ≈ E[R]E[τ ]

y

θ =R

τ=

1

N

∑Ni=1Ri

1

N

∑Ni=1 τi

.

Page 36: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

34 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

Observacion:

θ no es insesgado!. Sin embargo, θ es fuertemente consistente θ → θ con probabilidad1 cuando N → ∞, dado que R → E[R] y τ → E[τ ] fuertemente por la Ley de losGrandes Numeros.

Intervalo de confianza para θ

Dado que el estimador θ depende de R y τ se sigue un procedimiento distintopara construir un intervalo de confianza para el valor θ que deseamos estimar. SeaZi = Ri − θτi para i = 1, . . . , N. Zi es una v.a. independiente dado que (Ri, τi) loson. Por el Teorema del Lımite Central se tiene que

(R− θτ)

σ/√N

=

√N(θ − θ)σ/τ

converge en distribucion a una v.a. normal con media cero y varianza 1. La varianzaσ2 de Zi es

σ2 = V ar(R)− 2θ Cov(R, τ) + θ2 V ar(τ).

El intervalo de confianza del (1− α)100% esta dado por(θ ± Z1−α/2

S

τN1/2

),

con

S2 = S11 − 2θS12 + θ2S22,

S11 = V ar(R) S22 = V ar(τ),

S12 =1

N − 1

N∑i=1

(Ri − R)(τi − τ),

donde V ar(R) y V ar(τ) se aproximan por las varianzas muestrales.

Metodo regenerativo aplicado a un sistema M |M |1

Si deseamos aplicar el metodo regenerativo para estimar el tiempo promedio deespera en un sistema M |M |1 se deben generar M ciclos del sistema. Cada cicloconsiste en el intervalo de tiempo que el sistema esta ocupado. Cada vez que sevacıa el sistema se termina un ciclo. Cuantos ciclos es razonable generar para tenersuficiente estadıstica? Cerca de 100 ciclos.

En este caso Ri es igual al tiempo de espera total de todos los clientes que llegarondurante el ciclo i y en lugar de τi se va utilizar Ni. el numero total de clientes quellegaron en el ciclo i i.e Ri =

∑N(i)j=1 Te(j)

Page 37: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

3.7. SIMULACION DEL CASO ESTACIONARIO 35

• Datos de entrada: T, λ, µ y Nciclos.

• Datos de salida: A(nc), S(nc), T e(nc) y D(nc), Wq, R y N

(a) El contador i va indicando el numero de ciclo mientras que inciclo indicaen cual numero de cliente se inicia el ciclo i.

(b) R0 = 0, V arR = 0, M = 0, V arM = 0, Ciclo = False Te(1) = 1, i = 1,idciclo(0) = 1,

(c) Inicializacion variables: t = 0, D(0) = 0, nc = 0.

(d) Calcula tiempo de llegada y tiempo de servicio para cada cliente.

(e) Mientras Ciclo = False hacer lo siguiente:

i. Genera un nuevo tiempo de llegada.

t = t− 1

λLn(U) U ∼ U(0, 1).

ii. nc = nc+ 1; A(nc) = t.

iii. Genera tiempo de servicio:

S(nc) = − 1

µLn(U) U ∼ U(0, 1).

iv. Calcula tiempo de espera:

Te(nc) = Max{D(nc− 1)− A(nc), 0}.

v. Calcula tiempo de salida:

D(nc) = A(nc) + S(nc) + Te(nc).

vi. Calcula si el tiempo de salida de nc-cliente es tiempo de regeneracion.Si Te(nc) = 0 y nc > 1 → i = i + 1; idciclo(i) = nc, N(i − 1) =nc− idciclo(i− 2) + 1. Si i > Nciclos → Ciclo = True.

vii. Regresa a e).

(f) Calculo del vector R.

– Para i = 1, . . . , Nciclos R(i) = 0 y

– Para j = 1 a N(i)

R(i) = R(i) + Te(j).

(g) Calculo del promedio y varianza del estimador R y N en forma recursiva.

R0 = R0 +(R(1)− R0)

j;

N = N0 +(N(1)− N0)

j.

Page 38: Introducci on a la teor a de colassgpwe.izt.uam.mx/files/users/uami/psb/colas-1.pdfun centro de comunicaci on de un hospital, de la policia o de los bomberos, etc. Todos ellos se caracterizan

36 CHAPTER 3. GENERACION DE VARIABLES ALEATORIAS

(h) Para j = 2, . . . , Nciclos

R = R0 +(R(j)− R0)

j;

S11 = (1− 1

j)S11 + (j + 1)(R− R0)2.

N = N0 +(N(j)− N0)

j;

S22 = (1− 1

j)S22 + (j + 1)(N − N0)2.

R0 = R; N0 = N ;

(i) Wq = R

N

(j)

S12 =1

Nciclos− 1

M∑i=1

(R(i)− R)(N(i)− N),

S2 = S11 − 2WqS12 + W 2q S22.

(k) Intervalo de confianza del 95%

Wq ∈ [Wq ±1.96 ∗

√S

τNciclos1/2].

Ventajas del metodo regenerativo:

i) No se requiere descartar datos del estado transitorio.

ii) Es asintoticamente exacto.

iii) Es facil de implementar.

Desventajas:

i) Muchos procesos no son regenerativos o determinar los tiempos de regen-eracion τi no es fcil.

ii) θ no es insesgado.

iii) Los τi pueden ser muy largos.