|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectumontreal.iro.lecuyer.contactcenters.queuemodel.ErlangC
public class ErlangC
The Erlang C formula is used to compute the delay probability Pr{W > 0} and also the service level, defined as Pr{W≤awt}, where W is the waiting time and awt the acceptable waiting time. This formula assumes a M/M/c queueing model such that the arrival and service rates are exponential. The M/M/c assumes one call type and one agent group. This queueing model can be analyzed as a stochastic process X(t)∈{0,..., c + q} representing the number of calls in the system at time t and where c + q is maximum number of calls in the system. The number of servers is c and the capacity of the queue is q. Calls are blocked when the system is at full, X(t) = c + q. It assumes no abandonment due to the impatience of the client.
The rates at each state are :
λk = | λ, | k = 1, 2,..., c + q - 1 |
μk = | {![]() |
![]() |
Constructor Summary | |
---|---|
ErlangC(double arrivalRate,
double serviceRate)
Creates a new instance of ErlangC assuming an infinite queue capacity. |
|
ErlangC(double arrivalRate,
double serviceRate,
int capacity)
Creates a new instance of ErlangC. |
Method Summary | |
---|---|
static double |
getAverageExcessTime(double arrivalRate,
double serviceRate,
int server,
double awt)
Returns the average excess time : ![]() |
static double |
getAverageExcessTime(double arrivalRate,
double serviceRate,
int capacity,
int server,
double awt)
Returns the average excess time : ![]() |
double |
getAverageExcessTime(int server,
double awt)
Returns the average excess time : ![]() |
static double |
getAverageWaitTime(double arrivalRate,
double serviceRate,
int server)
Returns the average wait time : ![]() |
static double |
getAverageWaitTime(double arrivalRate,
double serviceRate,
int capacity,
int server)
Returns the average wait time : ![]() |
double |
getAverageWaitTime(int server)
Returns the average wait time : ![]() |
static double |
getProbDelay(double arrivalRate,
double serviceRate,
int server)
Returns the delay probability : Pr{W > 0}, such that the call will wait. |
static double |
getProbDelay(double arrivalRate,
double serviceRate,
int capacity,
int server)
Returns the delay probability : Pr{W > 0}, such that the call will wait. |
double |
getProbDelay(int server)
Returns the delay probability : Pr{W > 0}, such that the call will wait. |
static double |
getServiceLevel(double arrivalRate,
double serviceRate,
int server,
double awt)
Returns the service level which is the proportion of calls that have waited less or equal to awt, Pr{W≤awt}. |
static double |
getServiceLevel(double arrivalRate,
double serviceRate,
int capacity,
int server,
double awt)
Returns the service level which is the proportion of calls that have waited less or equal to awt, Pr{W≤awt}. |
double |
getServiceLevel(int server,
double awt)
Returns the service level which is the proportion of calls that have waited less or equal to awt, Pr{W≤awt}. |
static double[][] |
getStateProbDist(double arrivalRate,
double serviceRate,
int capacity,
int server)
Returns the mass probability distribution of the states (number of calls) in the queueing system. |
static void |
main(String[] args)
Returns the service level and the delay probability of given parameters. |
int |
minServer(double awt,
double sl)
Returns the minimum number c of servers needed to have a service level of at least sl, that is : ![]() |
static int |
minServer(double arrivalRate,
double serviceRate,
double awt,
double sl)
Returns the minimum number c of servers needed to have a service level of at least sl, that is : ![]() |
static int |
minServer(double arrivalRate,
double serviceRate,
int capacity,
double awt,
double sl)
Returns the minimum number c of servers needed to have a service level of at least sl, that is : ![]() |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ErlangC(double arrivalRate, double serviceRate, int capacity)
Integer.MAX_VALUE
for infinite queue capacity.
arrivalRate
- the arrival rate.serviceRate
- the service rate.capacity
- the capacity of the queue.public ErlangC(double arrivalRate, double serviceRate)
arrivalRate
- the arrival rate.serviceRate
- the service rate.Method Detail |
---|
public double getProbDelay(int server)
server
- the number of servers.
public static double getProbDelay(double arrivalRate, double serviceRate, int server)
arrivalRate
- the arrival rate.serviceRate
- the service rate.server
- the number of servers.
public static double getProbDelay(double arrivalRate, double serviceRate, int capacity, int server)
arrivalRate
- the arrival rate.serviceRate
- the service rate.capacity
- the capacity of the queue, sets to Integer.MAX_VALUE
for
infinite queue capacity.server
- the number of servers.
public static double[][] getStateProbDist(double arrivalRate, double serviceRate, int capacity, int server)
arrivalRate
- the arrival rate.serviceRate
- the service rate.capacity
- the capacity of the queue, it must be finite and greater or equal to 0.server
- the number of servers.
public double getServiceLevel(int server, double awt)
server
- the number of servers.awt
- the acceptable waiting time.
public static double getServiceLevel(double arrivalRate, double serviceRate, int server, double awt)
arrivalRate
- the arrival rate.serviceRate
- the service rate.server
- the number of servers.awt
- the acceptable waiting time.
public static double getServiceLevel(double arrivalRate, double serviceRate, int capacity, int server, double awt)
Integer.MAX_VALUE
for a queue with an infinite capacity.
arrivalRate
- the arrival rate.serviceRate
- the service rate.capacity
- the capacity of the waiting queue.server
- the number of servers.awt
- the acceptable waiting time.
public int minServer(double awt, double sl)
awt
- the acceptable waiting time.sl
- the target service level, it must be in the interval [0, 1].
public static int minServer(double arrivalRate, double serviceRate, double awt, double sl)
arrivalRate
- the exponential arrival rate.serviceRate
- the exponential service rate.awt
- the acceptable waiting time.sl
- the target service level, it must be in the interval [0, 1].
public static int minServer(double arrivalRate, double serviceRate, int capacity, double awt, double sl)
Integer.MAX_VALUE
, the capacity of the queue
is assumed infinite.
This function uses a binary search.
arrivalRate
- the exponential arrival rate.serviceRate
- the exponential service rate.capacity
- the capacity of the queue.awt
- the acceptable waiting time.sl
- the target service level, it must be in the interval [0, 1].
public double getAverageWaitTime(int server)
server
- the number of servers.
public static double getAverageWaitTime(double arrivalRate, double serviceRate, int server)
arrivalRate
- the arrival rate.serviceRate
- the service rate.server
- the number of servers.
public static double getAverageWaitTime(double arrivalRate, double serviceRate, int capacity, int server)
arrivalRate
- the arrival rate.serviceRate
- the service rate.capacity
- the capacity of the queue.server
- the number of servers.
public double getAverageExcessTime(int server, double awt)
server
- the number of servers.awt
- the acceptable waiting time.
public static double getAverageExcessTime(double arrivalRate, double serviceRate, int server, double awt)
arrivalRate
- the arrival rate.serviceRate
- the service rate.server
- the number of servers.awt
- the acceptable waiting time.
public static double getAverageExcessTime(double arrivalRate, double serviceRate, int capacity, int server, double awt)
arrivalRate
- the arrival rate.serviceRate
- the service rate.capacity
- the capacity of the queue.server
- the number of servers.awt
- the acceptable waiting time.
public static void main(String[] args) throws Exception
Exception
|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |