# QUEUING THEORY

[M/M/S and M/M/S/K]

Queuing theory for servers performing per an exponential distribution and for customers arriving per a Poisson process, with a cap for customers present in the system.

Using material from

Frederick S. Hiller, Gerald J. Lieberman. Introduction to Operations Research. New York: McGraw Hill, 2005. Print.

INPUT

L: Mean entry rate follows POISSON input process

U: Mean service rate follows EXPONENTIAL distribution

S: Number of servers

K: Number of waiting places

FIRST COME FIRST SERVED ASSUMPTION

OUTPUT

A: Average number of customers in the system

B: Average number of customers in the queue

C: Average waiting time in the system

D: Average waiting time in the queue

P: Likelihood that mean entry rate will yield this N customers in the system

=================================================

``OUTPUT “Specify mean entry rate using quantity/minute”``
``INPUT L``
``OUTPUT “Specify mean service rate using quantity/minute”``
``INPUT U``
``OUTPUT “Specify number of servers, at least 1”``
``INPUT S``
``OUTPUT “Specify 1 if there is a maximum quantity permitted in the system, specify 2 otherwise”``
``INPUT X``
``IF X = 1``
``THEN``
``OUTPUT “Specify number of waiting places”``
``INPUT K``
``K + S → K``
``OUTPUT “Maximum quantity permitted in the system”``
``OUTPUT K``
``ELSE``
``0 → K``
``END``
``L/(S*U) → R``
``IF R => 1``
``THEN``
``OUTPUT “Input rates yield utilization beyond 100%, decrease rates of entry or increase either quantity of servers or service rate”``
``ELSE``
``IF K = 0``
``THEN``
``IF S = 1``
``THEN``
``L/(U - L) → A``
``(L^2)/U*(U-L)) → B``
``A/L → C``
``B/L → D``
``OUTPUT “Specify quantity present in system”``
``INPUT N``
``(1 - R) → Q``
``(R^N)*Q → P``
``OUTPUT “Likelihood that mean entry rate will yield this quantity”``
``OUTPUT P``
``ELSE``
``S - 1 → M``
``0 → Z``
``FOR(N,0,M,1)``
``Z + ((L/U)^N)/N! → Z``
``END``
``1/(Z+((L/U)^S)/(S!*(1-R)) ) → Q``
``Q*((L/U)^S)*R/(S!*(1-R)^2) → B``
``B + L/U → A``
``B/L → D``
``A/L → C``
``OUTPUT “Specify quantity present in system”``
``INPUT N``
``IF N<S``
``THEN``
``Q*((L/U)^N)/N! → P``
``ELSE``
``Q*((L/U)^N)/(S!*S^(N-S)) → P``
``END``
``OUTPUT “Likelihood that mean entry rate will yield this quantity”``
``OUTPUT P``
``END``
``ELSE``
``IF S = 1``
``THEN``
``(1-R)/(1-R^(K+1)) → Q``
``(R/(1-R)) - ((K+1)*R^(K+1))/(1-R^(K+1))→A``
``A - (1 - Q) → B``
``A/L → C``
``B/L → D``
``OUTPUT “Specify quantity present in system”``
``INPUT N``
``Q*R^N → P``
``OUTPUT “Likelihood that mean entry rate will yield this quantity”``
``OUTPUT P``
``ELSE``
``S - 1 → M``
``S + 1 → T``
``0 → Z``
``0 → Y``
``FOR(N,0,S,1)``
``Z + ((L/U)^N)/N! → Z``
``END``
``FOR(N,T,K,1)``
``Y + R^(N-S) → Y``
``END``
``1/(Z+((L/U)^S)*Y/S!) → Q``
``0 → Z``
``0 → Y``
``Q*((L/U)^S)*R*(1-R^(K-S)-(K-S)*(1-R)*R^(K-S))/(S!*(1-R)^2)→B``
``FOR(N,0,M,1)``
``Z+N*((L/U)^N)*Q/N!→ Z``
``END``
``FOR(N,0,M,1)``
``Y + Q*((L/U)^N)/N! → Y``
``END``
``Z + B + S*(1 - Y) → A``
``A/L → C``
``B/L → D``
``OUTPUT “Specify quantity present in system”``
``INPUT N``
``IF N < K``
``THEN``
``IF N > S``
``THEN``
``Q*((L/U)^N)/(S!*S^(N-S))→P``
``ELSE``
``Q*((L/U)^N)/N! → P``
``END``
``ELSE``
``0 → P``
``END``
``OUTPUT “Likelihood that mean entry rate will yield this quantity”``
``OUTPUT P``
``END``
``OUTPUT “Average number of customers in the system”``
``OUTPUT A``
``OUTPUT “Average number of customers in the queue”``
``OUTPUT B``
``OUTPUT “Average waiting time in the system”``
``OUTPUT C``
``OUTPUT “Average waiting time in the queue”``
``OUTPUT D``