Teoría de Colas – Cajeras María y Alicia

Referencia: Ross problema 8.3 p.568

Un administración de un supermercado puede contratar a María o Alicia.

María atiende con una tasa de servicio exponencial de 20 clientes por hora y puede ser contratada por $3/hora.

Alicia atiende con una tasa exponencial de 30 clientes por hora, y puede ser contradada por $C/hora.

El administrador estima que en promedio cada cliente tiene un costo de $1 por hora y debería ser contabilizado para el modelo.

Suponga que los clientes llegan a una tasa Poisson de 10 clientes por hora.

a) ¿Cuál es el costo promedio por hora si María es contratada? o ¿Si Alicia es contratada?

b) Encuentre C si el promedio de costo por hora es el mismo para María y Alicia.


Solución:

a) ¿Cuál es el costo promedio por hora si María es contrada? o ¿Si Alicia es contratada?

λ = 10 clientes/hora

María: 

μMaría = 20 clientes/hora

LMaría = λ/(μ -λ) = 10/(20-10) = 1 

Costo/hora María =  $3 + ($1 * (número promedio de clientes en la cola cuando trabaja María))
      =  $3 + ($1 * LMaría)
      =  $3 + ($1 * 1) = $ 4 

Alicia:
μAlicia = 30 clientes/hora
LAlicia = λ/(μ -λ) = 10/(30-10) = 1/2

Costo/hora Alicia =  $C + ($1 * (número promedio de clientes en la cola cuando trabaja Alicia))
      =  $C + ($1 * LAlicia)
      =  $C + ($1 * 1/2) = $ (C+ 0.5)
      
b) Encuentre C si el promedio de costo por hora es el mismo para María y Alicia.
Costo/hora María = Costo/hora Alicia
 4 = C + 0.5
 C = 3.5 $/hora

 que es lo máximo que el administrador podría pagar a Alice sin incurrir en costos mayores que María, dadas las condiciones del problema.

Teoria de colas – Llegadas Esperadas

Referencia: Ross problema 8.1 p.568

Para una cola M/M/1, calcule

a) el numero esperado de llegadas durante un periodo de servicio
b) la probabilidad que no lleguen clientes durante un periodo de servicio
pista: «condición»


Solución:
a) el numero esperado de llegadas durante un periodo de servicio

E[numero de llegadas] = E[λ S] = λ[1/μ] = λ/μ

b) la probabilidad que no lleguen clientes durante un periodo de servicio

P{0 llegadas} = E[P{0 llegadas | periodo de servicio S}] =
   = E[P{N(S)=0}] = E[e-λS]
E[e^{-\lambda S}] = \int_{0}^{x} e^{-\lambda S}\mu e^{-\mu S}dS = \mu \int_{0}^{\infty} e^{-\lambda S -\mu S}dS = \mu \int_{0}^{\infty} e^{-S(\lambda+\mu)}dS = \left.\frac{-\mu}{\lambda+\mu} e^{-S(\lambda+\mu)}\right|_0^{\infty} = \frac{-\mu}{\lambda+\mu}\left[ e^{-\infty(\lambda+\mu)}-e^{-0(\lambda+\mu)}\right] = \frac{-\mu}{\lambda+\mu} [0-1] = \frac{\mu}{\lambda+\mu}

Teoría de colas – Dos servidores en paralelo

Referencia: Ross 8.17 p.571

Los clientes llegan a una sucursal de dos servidores según a un proceso de Poisson con tasa de dos por hora.

Si al llegar el cliente el servidor 1 esta libre, se atiende con éste.
Si al llegar el cliente el servidor 1 esta ocupado y el servidor 2 esta libre, inicia con el servidor 2.
Clientes que al llegar encuentran los dos servidores ocupados se retiran.

Un cliente que fué atendido por el servidor 1, pasa a ser atendido por el servidor 2 siempre que esté libre, caso contrario sale de la sucursal.
Un cliente al completar el servicio con el servidor 2 sale de la sucursal.
Los tiempos de servicio en los servidores 1 y 2 son variables aleatorias exponenciales con tasas de cuatro y seis por hora.

a) ¿Qué fracción de clientes no entran a la sucursal?

b) ¿Cuál es el valor promedio de tiempo que un cliente que entra, permanece en el sistema?

c) ¿Cuál fracción de los clientes que entraron son atendidos por el servidor 1?


Solución:
Se definen los estados como (servidor1,servidor2), ocupado=0, ocupado=1:

Estado (0,0)
Estado (0,1)
Estado (1,0)
Estado (1,0)

con lo que se contruye el diagrama de estados y transiciones:

Usando los valores del enunciado se ubican los valores para las tasas de llegada y atención

El siguiente paso consiste en escribir son las ecuaciones de balanceo:

λ P00 = μ2 P012 + λ) P01 = μ1 P10 + μ1 P111 + λ) P10 = λ P00 + μ2 P112 + μ1) P11 = λ P01 + λ P10
1 = P00 + P01 + P10 + P11

usando los valores para λ, μ1 y μ2:

2 P00 = 6 P01
8 P01 = 4 P10 + 4 P11
6 P10 = 2 P00 + 6 P11
10 P11 = 2 P01 + 2 P10
1 = P00 + P01 + P10 + P11

de la ecuación(1)

P01 = (2/6) P00 = (1/3) P00
P01 = (1/3) P00

usando (2) (1/4) y reordenando
2 P01 = P10 + P11
P11 = 2 P01 - P10

sumando con (4)
  P11 = 2 P01 - P10
5 P11 =   P01 + P10

6 P11 = 3 P01
2 P11 = P01
usando (1)
2 P11 = (1/3) P00
  P11 = (1/6) P00

usando (4)
5 P11 =   P01 + P10
5 (1/6) P00 = (1/3) P00 + P10
  P10 = [(5/6) - (1/3)]P00 = [(5-2)/6] P00 = (3/6) P00 = (1/2) P00
  P10 = (1/2) P00 

usando (5) con los resultados dependientes de P00:

1 = P00 + (1/3) P00 +(1/2) P00 + (1/6) P00
1 = [(6+2+3+1)/6] P00 = [12/6] P00 = 2 P00
P00 = 1/2

quedando:
P00 = 1/2
P01 = 1/6
P10 = 1/4
P11 = 1/12

usando numpy de python, se reorganiza las ecuaciones y se crean las matrices:

2 P00 - 6 P01                 = 0
        8 P01 - 4 P10 - 4 P11 = 0
 2 P00        - 6 P10 + 6 P11 = 0
        2 P01 + 2 P10 - 10 P11 = 0
   P00 +  P01 +   P10 +    P11 = 1
import numpy as np
A=np.array([
    [2,-6,0,0],
    [0,8,-4,-4],
    [2,0,-6,6],
    [1,1,1,1]])
B=np.array([0,0,0,1])
P=np.linalg.solve(A,B)
print(P)
[ 0.5         0.16666667  0.25        0.08333333]

que son los resultados anteriores encontrados:

P00 = 0.5
P01 = 0.16666667
P10 = 0.25
P11 = 0.08333333

a) ¿Qué fracción de clientes no entran a la suscursal?

solo ocurre cuando ambos servidores estan ocupados (1,1)

P11 = 1/12 = 0.08333333

b) ¿Cuál es el valor promedio de tiempo que un cliente que entra, permanece en el sistema?

W = L/λ

  = (valor esperado)/(proporcion de los clientes que si entran)
  
  = [0*P00 + 1*P01 + 1*P10 + 2*P11]/ [λ(1-P11)]
  
  = [0*(1/2) + 1*(1/6) + 1*(1/4) + 2*(1/12)]/ [2(1-(1/12)]
  
  = [(0+3+2+2)/12]/[22/12] = (7/12)/(22/12) =  7/22 

c) ¿Cuál fracción de los clientes que entraron son atendidos por el servidor 1?

(atiende el servidor 1 cuando esta libre) / (los que entraron)

[P00 + P01] / [1 - P11] = [1/2 + 1/6]/[1 - 1/12]
  
  = [(3+1)/6] / [11/12] = (4/6)/(11/12) =   8/11 

Teoría de colas – Dos Servidores en secuencia

Referencia: Ross problema 8.15 p.570

Considere un sistema de servicio secuencial de dos servidores A y B.
Los clientes que llegan entran al sistema solo si el servidor A esta libre.
Si un cliente entra, entonces es atendido inmediatamente por el servidor A.
Cuando la atención del servidor A se completa, el cliente pasa a ser atendido por el servidor B siempre que esté libre, si B esta ocupado, el cliente sale del sistema.
Una vez que el cliente sale del servidor B, el cliente se parte del sistema.

Suponga que las llegadas de cientes son tipo Poisson con tasa de llegada de dos clientes por hora, y que los servidores A y B atienden a tasas exponenciales de cuatro y dos clientes por hora.

a) ¿Cuál es la proporción de clientes que entran al sistema?

b) ¿Cuál es la proporción de clientes que entraron al sistema son atendidos por el servidor B?

c) ¿Cuál es el número promedio de clientes en el sistema?

d) ¿Cuál es el monto promedio de tiempo que un cliente que entró se mantiene dentro del sistema?


Solución

los estados propuestos son:

00 P00
10 P10
01 P01
11 P11

El diagrama de transición entre estados propuesto, considerando de un solo evento por unidad de tiempo:

con lo que se puede plantear las ecuaciones de balanceo («sale=entra»):

2 P00 = 2 P01
4 P10 = 2 P00 + 2 P11
(2+2) P01 = 4 P10 + 4 P11
(4+2) P11 = 2 P01
P00 + P10 + P01 + P11 = 1

Resolviendo:

P00 = P01              ecuación(1)
2 P10 = P00 + P11      (2)
P01 = P10 + P11        (3)
3 P11 = P01            (4)
P00 + P10 + P01 + P11 = 1      (5)

de la ecuación (2) restando la ecuación (3)

2 P10 - P01 = P00 + P11 - P10 - P11
2 P10 - P01 = P00 - P10
3 P10 - P01 = P00

usando la ecuación (1)

3 P10 - P00 = P00
3 P10 = 2 P00
P10 = 2/3 P00

usando la ecuación (4) y (1)

P11 = (1/3) P01
P11 = (1/3) P00

usando la ecuación (5)

P00 + P10 + P01 + P11 = 1
P00 + P00 + (2/3) P00 + (1/3)P00 = 1
3 P00 = 1
P00 = 1/3

y se obtienen los otros valores para p

P01 = 1/3
P10 = (2/3)(1/3 )= 2/9
P11 = (1/3)(1/3) = 1/9

Con lo que se puede responder:

a) ¿Cuál es la proporción de clientes que entran al sistema?

P00 + P01 = 1/3 + 1/3 
         = 2/3

c) ¿Cuál es el número promedio de clientes en el sistema?

0*P00 +  1*P10 + 1*P01 + 2*P11 = 0 + 2/9 + 1/3 + 2*1/9 = 
     = (0+2+3+2)/9 = 7/9

d) ¿Cuál es el monto promedio de tiempo que un cliente que entró se mantiene dentro del sistema?

W = L/λA
W = (promedio de clientes en el sistema)/(tasa de los que entran)
W= (7/9)/[2(2/3)] = 7/12

Usando Numpy

resolviendo con numpy, se convierten las ecuaciones a matrices, sustituyendo una ecuación con la última (suma de probabilidades =1), se obtiene:

2 P00 = 2 P01
4 P10 = 2 P00 + 2 P11
(2+2) P01 = 4 P10 + 4 P11
(4+2) P11 = 2 P01
P00 + P10 + P01 + P11 = 1

reorganizando:

2 P00 -2 P01                = 0
2 P00        - 4 P10 + 2 P11 = 0
      -4 P01 + 4 P10 + 4 P11 = 0
       2 P01        - 6 P11 = 0
  P00  +  P01 +   P10 +  P11 = 1

se obtienen las matrices A y B para usar con la instrucción solver de numpy:

import numpy as np
A=np.array([
    [2,-2,0,0],
    [2,0,-4,2],
    [0,-4,4,4],
    [1,1,1,1]])
B=np.array([0,0,0,1])

p=np.linalg.solve(A,B)

print(p)
[ 0.33333333  0.33333333  0.22222222  0.11111111]

con lo que los valores buscados son:

P00=0.33333333
P01=0.33333333
P10=0.22222222
P00=0.11111111