public class SchedulingCPParams extends Object
SchedulingCP
.Modifier and Type | Field and Description |
---|---|
double[][] |
abandonThresholdArray
The abandonment ratio threshold matrix, with indices
[call type][period] . |
boolean |
allowSkillTransfer
Allows skill transfers if this is set to
true , else skill transfer
will not be used. |
boolean |
checkAbandon
Set to
true to satisfy the abandonment ratio constraints. |
double |
cplexEpGap
Description copied from Cplex: Sets a relative tolerance on the gap between the best integer objective and the objective of the best node remaining.
|
double |
cplexTiLim
Description copied from Cplex: Sets the maximum time, in seconds, for a call to an optimizer.
|
double |
cplexTreLim
Description copied from Cplex: Sets an absolute upper limit on the size (in megabytes, uncompressed) of the branch-and-cut tree.
|
int |
defaultSubStep
The default step length when computing the subgradient by finite difference.
|
double[] |
loadCoefficient
Coefficient vector that is used to adjust the fraction of the arrival rate
to be satisfied by the network flow covering equations, for each call type.
|
int |
lowOverallSubStep
The step length when computing the subgradient by finite difference
when the service level is below
pivotOverallSL . |
int |
lsMaxSimRep
The final and maximal simulation length (the number of simulated replications) of the local search.
|
int |
lsMinSimRep
The starting simulation length (the number of simulated replications) of the local search.
|
long |
maxCPUSec
Maximum CPU time in seconds, for the whole program (cutting-plane and local search).
|
int |
minSimRepCP
Simulation length (the number of replications) used during the cutting-plane algorithm,
in particular for the subgradient estimation.
|
double |
pivotOverallQoS
If the service level (SL) is below
pivotOverallSL , then it will use
lowOverallSubStep to generate the subgradient of the SL,
else it will use the defaultSubStep . |
double |
roundLPThreshold
Threshold used for the rounding the staffing and scheduling solution in cutting-plane
algorithm.
|
double |
skillCost
The cost premium for each additional skill (above 1) of an agent.
|
boolean |
solveIP
Selects to solve the staffing problem with integer staffing variables (
true ),
or continuous variables (false ). |
double |
targetIncr
Allows the user to adjust the service level (SL) targets.
|
boolean |
useLocalSearch
Set to
true to execute a local search at the end of the cutting-plane algorithm. |
boolean |
verbose
Set to
true to print information to screen. |
Constructor and Description |
---|
SchedulingCPParams() |
Modifier and Type | Method and Description |
---|---|
DoubleArray |
getAbandonThreshold()
Creates a
DoubleArray matrix from the array abandonThresholdArray . |
List<Double> |
getLoadCoefficient()
Returns a new list corresponding to the array
loadCoefficient . |
void |
setAbandonThreshold(DoubleArray d)
Sets the array
abandonThresholdArray from a DoubleArray parameter. |
void |
setLoadCoefficient(List<Double> l)
Sets the array
loadCoefficient . |
public double skillCost
skillCost
.
If the user set a negative value, then the program will use the busy cost parameter
returned by AgentGroupManager.getBusyCost()
.
Note that the real cost of an agent is obtained by multiplied by his shift length (the number of paid periods).
public int defaultSubStep
public int lowOverallSubStep
pivotOverallSL
. The minimum value is 1.public double pivotOverallQoS
pivotOverallSL
, then it will use
lowOverallSubStep
to generate the subgradient of the SL,
else it will use the defaultSubStep
.
This value is limited to [0, 1]
.public boolean allowSkillTransfer
true
, else skill transfer
will not be used.public boolean solveIP
true
),
or continuous variables (false
).public double targetIncr
public double roundLPThreshold
solveIP
is set to false
.public boolean useLocalSearch
true
to execute a local search at the end of the cutting-plane algorithm.
Note that we do not recommend to use the local search if the call center problem
has abandonment constraints, because the local search only consider the service level constraints.public int lsMinSimRep
RepSimParams.minReplications
.public int lsMaxSimRep
RepSimParams.minReplications
.public double cplexTreLim
solveIP
parameter is set to true
.
Set a negative value to use Cplex's default value.public double cplexTiLim
solveIP
parameter is set to true
.
Set a negative value to use Cplex's default value.public double cplexEpGap
solveIP
parameter is set to true
.
Set a negative value to use Cplex's default value.public int minSimRepCP
RepSimParams.minReplications
.public boolean verbose
true
to print information to screen.public long maxCPUSec
public boolean checkAbandon
true
to satisfy the abandonment ratio constraints.
If true
, then the minimum abandonment ratio thresholds will be taken from
the parameter abandonThresholdArray
.public double[] loadCoefficient
null
(this parameter has not been set in the XML
file), then the program will initialize this parameter to 1 for all call types.
To simplify the input when the coefficient is the same for all call types,
we allow the user to input a single value (instead of one value for each
call type). The program will then create a vector of the correct
size and duplicate this given coefficient value on the whole vector.public double[][] abandonThresholdArray
[call type][period]
.
The element abandonThresholdArray[c][p]
represents the maximal abandonment
ratio of call type c
at period p
.
If there are more than 1 call type, the matrix must have K + 1 rows, where K is
the number of call types. The last row represents the threshold for the aggregated abandonments
over all call types.
Similarly, if there are more than 1 period, the matrix must have P + 1 columns,
where P is the number of periods. The last column represents the threshold
for the aggregated abandonments over all periods.public List<Double> getLoadCoefficient()
loadCoefficient
.public void setLoadCoefficient(List<Double> l)
loadCoefficient
.l
- the list containing the load coefficient for each call typepublic DoubleArray getAbandonThreshold()
DoubleArray
matrix from the array abandonThresholdArray
.abandonThresholdArray
public void setAbandonThreshold(DoubleArray d)
abandonThresholdArray
from a DoubleArray
parameter.d
- the abandonment ratio thresholds