public class ServiceLevelToAbanRatio extends Object implements AbanRatioFinder
ErlangA
to estimate
the service level and abandonment ratio.
Let K be the number of call types. If there is only one call type (K = 1), then the returned vector will have only one element. If there are many call types (K > 1), then the returned vector will have K + 1 elements, where elements at index 0 to K - 1 represent the threshold by call type and the last element represents the threshold for all aggregated calls.
Modifier and Type | Class and Description |
---|---|
static class |
ServiceLevelToAbanRatio.ServiceRateSelection
Enumerates the possible choices to select the service rate for ErlangA formula.
|
Constructor and Description |
---|
ServiceLevelToAbanRatio(CallCenter cc,
int currentPeriod,
ServiceLevelToAbanRatio.ServiceRateSelection rateMode)
Instantiates the service level target to maximum abandonment ratio threshold converter.
|
Modifier and Type | Method and Description |
---|---|
static double |
findAbanRatioErlangA(double arrivalRate,
double[] serviceRates,
double patienceRate,
double AWT,
double slTarget,
ServiceLevelToAbanRatio.ServiceRateSelection mode)
For one call type, compute the abandonment ratio with the Erlang A formula
that corresponds to the desired service level target.
|
static double |
findAbanRatioErlangA(double arrivalRate,
double serviceRate,
double patienceRate,
double AWT,
double slTarget)
For one call type, compute the abandonment ratio with the Erlang A formula
that corresponds to the desired service level target.
|
double[] |
findMaxAbanRatio()
Returns the maximum abandonment ratio thresholds for the staffing problem, with default
arrival rates of the call center problem.
|
double[] |
findMaxAbanRatio(double[] arrivalRates)
Returns the maximum abandonment ratio thresholds for the staffing problem,
with the given arrival rates.
|
public ServiceLevelToAbanRatio(CallCenter cc, int currentPeriod, ServiceLevelToAbanRatio.ServiceRateSelection rateMode)
cc
- the call center modelcurrentPeriod
- the period to convert the service level targetsrateMode
- the method of selection of the service time rate for the ErlangA formulapublic double[] findMaxAbanRatio()
AbanRatioFinder
Let K be the number of call types. If there is only one call type (K = 1), then the returned vector will have only one element. If there are many call types (K > 1), then the returned vector will have K + 1 elements, where elements at index 0 to K - 1 represent the threshold by call type and the last element represents the threshold for all aggregated calls.
findMaxAbanRatio
in interface AbanRatioFinder
public double[] findMaxAbanRatio(double[] arrivalRates)
AbanRatioFinder
Let K be the number of call types. If there is only one call type (K = 1), then the returned vector will have only one element. If there are many call types (K > 1), then the returned vector will have K + 1 elements, where elements at index 0 to K - 1 represent the threshold by call type and the last element represents the threshold for all aggregated calls.
findMaxAbanRatio
in interface AbanRatioFinder
arrivalRates
- the arrival rates to compute the abandonment ratio thresholdspublic static double findAbanRatioErlangA(double arrivalRate, double[] serviceRates, double patienceRate, double AWT, double slTarget, ServiceLevelToAbanRatio.ServiceRateSelection mode)
Use this method to automatically choose the service rate to use when there are different service rates (by multiple groups) for the same call type.
This method uses the class ErlangA
.
arrivalRate
- the arrival rateserviceRates
- the service rate of each agent group. Set a value of 0 if a
group cannot serve this call type.patienceRate
- the patience rateAWT
- the acceptable waiting time of the service level measureslTarget
- the service level targetmode
- the service rate selection modepublic static double findAbanRatioErlangA(double arrivalRate, double serviceRate, double patienceRate, double AWT, double slTarget)
This method uses the class ErlangA
.
arrivalRate
- the arrival rateserviceRate
- the service rate. Use method double[], double, double, double, umontreal.iro.lecuyer.ccoptim.stochcp.ServiceLevelToAbanRatio.ServiceRateSelection)
if there are multiple service rates for call type.patienceRate
- the patience rateAWT
- the acceptable waiting time of the service level measureslTarget
- the service level target