public class DelayErlangAScenarioGen extends Object implements DelayScenarioGenerator
StochFluidStaffingDelaySc
.
Consider only 1 period (first period only).
Assume that the call center is efficient, such that the multi-skill agents can achieve
performances almost as if they had all skills.
This method aggregate all arrival rates, mean service times and
patience rates of all call types and
create one continuous-time Markov chain, with the delay target.
To generate a scenario, generate randomly a state (total number of calls in system) and
for each call, choose randomly its type with probability distribution proportional to
their arrival rates.Constructor and Description |
---|
DelayErlangAScenarioGen(CallCenter cc) |
Modifier and Type | Method and Description |
---|---|
double[] |
computeStateDistribution(int numScenario,
double delayTarget)
Generate the state probability distribution of the total number of calls in the system.
|
int |
findMinServerDelay(double delayTarget)
Find the minimum number of servers for the aggregate system to satisfy the delay target.
|
static int |
findMinServerErlangADelay(double arrivalRate,
double serviceRate,
double patienceRate,
int capacity,
double targetDelay)
Find the minimum number of agents needed to have a delay probability less or equal to the target delay
for the Erlang A system.
|
double[][] |
generateScenario(int numScenario,
double delayTarget)
Generate the scenarios randomly.
|
void |
init() |
static void |
main(String[] args) |
public DelayErlangAScenarioGen(CallCenter cc)
public void init()
public double[][] generateScenario(int numScenario, double delayTarget)
generateScenario
in interface DelayScenarioGenerator
numScenario
- the number of scenario to generate.delayTarget
- the global delay target.public int findMinServerDelay(double delayTarget)
double, double, int, double)
but with
the aggregate rates.findMinServerDelay
in interface DelayScenarioGenerator
delayTarget
- the delay target.public static int findMinServerErlangADelay(double arrivalRate, double serviceRate, double patienceRate, int capacity, double targetDelay)
arrivalRate
- the arrival rate.serviceRate
- the service rate.patienceRate
- the patience rate.capacity
- the queue capacity.targetDelay
- the target delay.public double[] computeStateDistribution(int numScenario, double delayTarget)
numScenario
- the number of scenario to be used to estimate the probability distribution.delayTarget
- the global delay target.