public class DelayErlangCScenarioGen 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 and mean service times 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 |
---|
DelayErlangCScenarioGen(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 |
findMinServerErlangCDelay(double arrivalRate,
double serviceRate,
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 C system.
|
double[][] |
generateScenario(int numScenario,
double delayTarget)
Generate the scenarios randomly.
|
void |
init() |
static void |
main(String[] args) |
public DelayErlangCScenarioGen(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, int, double)
but with the aggregate
rates.findMinServerDelay
in interface DelayScenarioGenerator
delayTarget
- the delay target.public static int findMinServerErlangCDelay(double arrivalRate, double serviceRate, int capacity, double targetDelay)
arrivalRate
- the arrival rate.serviceRate
- the service 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.