|
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.app.AbstractContactCenterInfo
umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterEval
umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterSim
umontreal.iro.lecuyer.contactcenters.msk.AbstractCallCenterSim
public abstract class AbstractCallCenterSim
Field Summary | |
---|---|
protected Logger |
logger
|
Fields inherited from class umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterSim |
---|
autoResetStartStream, seqSampEachEval |
Constructor Summary | |
---|---|
AbstractCallCenterSim(CallCenterParams ccParams,
SimParams simParams)
Constructs a new call center simulator using call center parameters ccParams, and simulation parameters simParams. |
|
AbstractCallCenterSim(CallCenterParams ccParams,
SimParams simParams,
RandomStreams streams)
Constructs a new call center simulator using call center parameters ccParams, simulation parameters simParams, and random streams streams. |
|
AbstractCallCenterSim(Simulator sim,
CallCenterParams ccParams,
SimParams simParams)
Similar to AbstractCallCenterSim(CallCenterParams,SimParams) ,
with the given simulator sim. |
|
AbstractCallCenterSim(Simulator sim,
CallCenterParams ccParams,
SimParams simParams,
RandomStreams streams)
Similar to AbstractCallCenterSim(CallCenterParams,SimParams,RandomStreams) ,
with the given simulator sim. |
Method Summary | |
---|---|
void |
abort()
Aborts the current simulation. |
void |
addContactCenterSimListener(ContactCenterSimListener l)
Registers the listener l to be notified about the progress of the simulator. |
void |
applyControlVariables()
|
void |
clearContactCenterSimListeners()
Removes all the listeners registered with this simulator. |
static ControlVariable[] |
createControlVariables(ControlVariableType... cvTypes)
|
protected CallCenter |
createModel(Simulator sim,
CallCenterParams ccPs,
RandomStreams streams)
Constructs and returns the model of the call center used by this simulator. |
protected SimLogic |
createSimLogic(CallCenter model,
SimParams simParams)
Constructs and returns a SimLogic implementation for the
simulation logic, using the given model and simulation parameters
simParams. |
void |
disableControlVariables()
|
void |
enableControlVariables(ControlVariable... cvs)
|
void |
eval()
Performs a simulation to evaluate the performance measures. |
protected void |
finishEvaluation()
|
void |
formatReport()
|
String |
getAgentGroupName(int i)
Returns the name associated with the agent group identifier i. |
Map<String,String> |
getAgentGroupProperties(int i)
This method is similar to ContactCenterInfo.getContactTypeProperties(int) ,
for agent groups instead of contact types. |
String |
getAgentGroupSegmentName(int i)
Returns the name associated with the agent group segment i, where i is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumAgentGroupSegments() . |
Map<String,String> |
getAgentGroupSegmentProperties(int i)
This method is similar to ContactCenterInfo.getContactTypeProperties(int) ,
for agent group segments instead of contact types. |
CallCenter |
getCallCenter()
Returns a reference to the model used by this simulator. |
CallCenterStatProbes |
getCallCenterStatProbes()
|
int |
getCompletedSteps()
Returns the number of completed steps for the simulation. |
DoubleMatrix2D[] |
getConfidenceInterval(PerformanceMeasureType m,
double level)
Returns confidence intervals on the means or ratios of means, for the group of performance measures m, with confidence level level. |
double |
getConfidenceLevel()
Returns the confidence level of the intervals output by ContactCenterEval.formatStatistics() . |
List<ContactCenterSimListener> |
getContactCenterSimListeners()
Returns the listeners registered with this simulator. |
String |
getContactTypeName(int k)
Returns the name associated with the contact type k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumContactTypes() . |
Map<String,String> |
getContactTypeProperties(int k)
Returns the properties associated with contact type k. |
String |
getContactTypeSegmentName(int k)
Returns the name associated with the contact type segment k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumContactTypeSegments() . |
Map<String,String> |
getContactTypeSegmentProperties(int k)
This method is similar to ContactCenterInfo.getContactTypeProperties(int) ,
for contact type segments instead of contact types. |
double |
getCpuTime()
|
TimeUnit |
getDefaultUnit()
Returns the time unit in which output performance measures representing times are expressed. |
Object |
getEvalOption(EvalOptionType option)
Returns the current value of the evaluation option option. |
EvalOptionType[] |
getEvalOptions()
Returns the array of the evaluation option types supported by the implementing object. |
String |
getInContactTypeSegmentName(int k)
Returns the name associated with the inbound contact type segment k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumInContactTypeSegments() . |
Map<String,String> |
getInContactTypeSegmentProperties(int k)
This method is similar to ContactCenterInfo.getContactTypeProperties(int) ,
for inbound contact type segments instead of contact types. |
String |
getMainPeriodName(int mp)
Returns the name corresponding to the main period mp. |
String |
getMainPeriodSegmentName(int mp)
Returns the name associated with the main period segment mp, where mp is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumMainPeriodSegments() . |
String |
getMatrixOfAWTName(int m)
Returns the name associated with the matrix of AWTs with index m. |
MatrixOfFunctionOfMultipleMeansTallies<?> |
getMatrixOfFunctionOfMultipleMeansTallies(PerformanceMeasureType m)
Returns the matrix of function of multiple means tallies used to manage observations for estimating the performance measures in group m. |
MatrixOfStatProbes<?> |
getMatrixOfStatProbes(PerformanceMeasureType m)
Returns the matrix of statistical probes used to manage observations for estimating the performance measures in group m. |
MatrixOfTallies<?> |
getMatrixOfTallies(PerformanceMeasureType m)
Returns the matrix of tallies used to manage observations for estimating the performance measures in group m. |
DoubleMatrix2D |
getMax(PerformanceMeasureType m)
Returns a matrix of maximum values for the performance measure m. |
DoubleMatrix2D |
getMin(PerformanceMeasureType m)
Returns a matrix of minimum values for the group of performance measures m. |
CallCenter |
getModel()
Deprecated. |
int |
getNumAgentGroups()
Returns the total number of agent groups supported by this contact center. |
int |
getNumAgentGroupSegments()
Returns the number of user-defined segments regrouping agent groups. |
int |
getNumContactTypes()
Returns the total number of contact types supported by this contact center. |
int |
getNumContactTypeSegments()
Returns the number of user-defined segments regrouping contact types. |
int |
getNumInContactTypes()
Returns the total number of inbound contact types for this contact center. |
int |
getNumInContactTypeSegments()
Returns the number of user-defined segments regrouping inbound contact types. |
int |
getNumMainPeriods()
Returns the number of main periods used for evaluation, as defined in PeriodChangeEvent . |
int |
getNumMainPeriodSegments()
Returns the number of user-defined segments regrouping main periods. |
int |
getNumMatricesOfAWT()
Returns the number of matrices containing acceptable waiting times, for estimating service levels. |
int |
getNumOutContactTypes()
Returns the total number of outbound contact types for this contact center. |
int |
getNumOutContactTypeSegments()
Returns the number of user-defined segments regrouping outbound contact types. |
int |
getNumWaitingQueues()
Returns the total number of waiting queues capable of storing contacts. |
int |
getNumWaitingQueueSegments()
Returns the number of user-defined segments regrouping waiting queues. |
String |
getOutContactTypeSegmentName(int k)
Returns the name associated with the outbound contact type segment k, where k is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumOutContactTypeSegments() . |
Map<String,String> |
getOutContactTypeSegmentProperties(int k)
This method is similar to ContactCenterInfo.getContactTypeProperties(int) ,
for outbound contact type segments instead of contact types. |
DoubleMatrix2D |
getPerformanceMeasure(PerformanceMeasureType m)
Returns the matrix of values corresponding to the group of performance measures m estimated by the last call to ContactCenterEval.eval() . |
PerformanceMeasureType[] |
getPerformanceMeasures()
Returns an array containing all the groups of performance measures this object can estimate. |
ReportParams |
getReportParams()
Returns the parameters for reports formatted by ContactCenterEval.formatStatistics() , or
ContactCenterEval.formatStatisticsExcel(WritableWorkbook) . |
int |
getRequiredNewSteps()
|
SimLogic |
getSimLogic()
Returns a reference to the simulation logic used by this simulator. |
SimStoppingCondition |
getSimStoppingCondition()
|
DoubleMatrix2D |
getVariance(PerformanceMeasureType m)
Returns a matrix of sample variances for the group of performance measures m. |
String |
getWaitingQueueName(int q)
Returns the name of the waiting queue with index q used by the evaluation. |
Map<String,String> |
getWaitingQueueProperties(int q)
This method is similar to ContactCenterInfo.getContactTypeProperties(int) ,
for waiting queues instead of contact types. |
String |
getWaitingQueueSegmentName(int k)
Returns the name associated with the waiting queue segment q, where q is a number greater than or equal to 0 and smaller than ContactCenterInfo.getNumMainPeriodSegments() . |
Map<String,String> |
getWaitingQueueSegmentProperties(int q)
This method is similar to ContactCenterInfo.getContactTypeProperties(int) ,
for waiting queue segments instead of contact types. |
boolean |
hasEvalOption(EvalOptionType option)
Determines if the evaluation option option is supported by the implemented system. |
protected void |
init()
|
void |
initControlVariableSupport()
|
void |
initTimer()
|
void |
initTrace()
|
boolean |
isAborted()
Determines if the simulation has been aborted by using the ObservableContactCenterSim.abort()
method. |
boolean |
isUsingControlVariables()
|
boolean |
isVerbose()
Determines if the implementation should print information during the evaluation of the performance measures. |
void |
newSeeds()
Changes the seeds of the random number generators used during the simulation. |
protected void |
prepareEvaluation()
|
void |
removeContactCenterSimListener(ContactCenterSimListener l)
Removes the listener l from the list of listeners registered with this simulator. |
void |
reset()
Resets this contact center evaluation system for new parameters. |
void |
reset(CallCenterParams ccParams,
SimParams simParams)
|
void |
resetNextSubstream()
Calls RandomStream.resetNextSubstream()
for all random streams used by the simulator. |
void |
resetStartStream()
Calls RandomStream.resetStartStream()
for all random streams used by the simulator. |
void |
resetStartSubstream()
Calls RandomStream.resetStartSubstream()
for all random streams used by the simulator. |
boolean |
seemsUnstable()
Determines if the system seems to be unstable. |
void |
setConfidenceLevel(double level)
Sets the level of confidence for the intervals output by ContactCenterEval.formatStatistics()
to level. |
void |
setEvalOption(EvalOptionType option,
Object value)
Sets the evaluation option option to value. |
void |
setReportParams(ReportParams reportParams)
Sets the report parameters to reportParams. |
void |
setSimStoppingCondition(SimStoppingCondition scond)
|
void |
setVerbose(boolean verbose)
Sets the verbose status to v. |
Methods inherited from class umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterSim |
---|
formatStatistics, formatStatisticsExcel, formatStatisticsLaTeX, getAutoResetStartStream, getConfidenceInterval, getOneSimDone, getSeqSampEachEval, hasPerformanceMeasure, setAutoResetStartStream, setOneSimDone, setSeqSampEachEval |
Methods inherited from class umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterEval |
---|
getEvalInfo |
Methods inherited from class umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterInfo |
---|
getNumAgentGroupsWithSegments, getNumContactTypesWithSegments, getNumInContactTypesWithSegments, getNumMainPeriodsWithSegments, getNumOutContactTypesWithSegments, getNumWaitingQueuesWithSegments |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface umontreal.iro.lecuyer.contactcenters.app.ContactCenterSim |
---|
getAutoResetStartStream, getSeqSampEachEval, setAutoResetStartStream, setSeqSampEachEval |
Methods inherited from interface umontreal.iro.lecuyer.contactcenters.app.ContactCenterEval |
---|
formatStatistics, formatStatisticsExcel, formatStatisticsLaTeX, getEvalInfo, hasPerformanceMeasure |
Methods inherited from interface umontreal.iro.lecuyer.contactcenters.app.ContactCenterInfo |
---|
getNumAgentGroupsWithSegments, getNumContactTypesWithSegments, getNumInContactTypesWithSegments, getNumMainPeriodsWithSegments, getNumOutContactTypesWithSegments, getNumWaitingQueuesWithSegments |
Field Detail |
---|
protected Logger logger
Constructor Detail |
---|
public AbstractCallCenterSim(CallCenterParams ccParams, SimParams simParams) throws CallCenterCreationException
This calls createModel(umontreal.iro.lecuyer.simevents.Simulator, umontreal.iro.lecuyer.contactcenters.msk.params.CallCenterParams, umontreal.iro.lecuyer.contactcenters.msk.model.RandomStreams)
to create the model,
createSimLogic(umontreal.iro.lecuyer.contactcenters.msk.model.CallCenter, umontreal.iro.lecuyer.contactcenters.app.params.SimParams)
to create the simulation logic.
ccParams
- the call center parameters.simParams
- the simulation parameters.
CallCenterCreationException
public AbstractCallCenterSim(CallCenterParams ccParams, SimParams simParams, RandomStreams streams) throws CallCenterCreationException
This calls createModel(umontreal.iro.lecuyer.simevents.Simulator, umontreal.iro.lecuyer.contactcenters.msk.params.CallCenterParams, umontreal.iro.lecuyer.contactcenters.msk.model.RandomStreams)
to create the model,
createSimLogic(umontreal.iro.lecuyer.contactcenters.msk.model.CallCenter, umontreal.iro.lecuyer.contactcenters.app.params.SimParams)
to create the simulation logic.
ccParams
- the call center parameters.simParams
- the simulation parameters.streams
- the random streams used by the simulator.
CallCenterCreationException
public AbstractCallCenterSim(Simulator sim, CallCenterParams ccParams, SimParams simParams) throws CallCenterCreationException
AbstractCallCenterSim(CallCenterParams,SimParams)
,
with the given simulator sim.
CallCenterCreationException
public AbstractCallCenterSim(Simulator sim, CallCenterParams ccParams, SimParams simParams, RandomStreams streams) throws CallCenterCreationException
AbstractCallCenterSim(CallCenterParams,SimParams,RandomStreams)
,
with the given simulator sim.
CallCenterCreationException
Method Detail |
---|
public ReportParams getReportParams()
ContactCenterEval
ContactCenterEval.formatStatistics()
, or
ContactCenterEval.formatStatisticsExcel(WritableWorkbook)
.
If no object containing report parameters
is available, this method
should create a new one using
the default constructor of
ReportParams
.
getReportParams
in interface ContactCenterEval
getReportParams
in class AbstractContactCenterEval
public void setReportParams(ReportParams reportParams)
ContactCenterEval
setReportParams
in interface ContactCenterEval
setReportParams
in class AbstractContactCenterEval
reportParams
- the report parameters..ContactCenterEval.getReportParams()
public TimeUnit getDefaultUnit()
ContactCenterInfo
getDefaultUnit
in interface ContactCenterInfo
protected void init()
@Deprecated public CallCenter getModel()
getCallCenter()
instead.
public CallCenter getCallCenter()
public SimLogic getSimLogic()
protected CallCenter createModel(Simulator sim, CallCenterParams ccPs, RandomStreams streams) throws CallCenterCreationException
CallCenter
class, calls the CallCenter.create()
method, and returns
the resulting model object.
ccPs
- the parameters of the call center.streams
- the random streams.
CallCenterCreationException
protected SimLogic createSimLogic(CallCenter model, SimParams simParams)
SimLogic
implementation for the
simulation logic, using the given model and simulation parameters
simParams.
By default, this method creates a RepLogic
instance if
simParams is an instance of RepSimParams
, a
BatchMeansLogic
if simParams is an instance of
BatchSimParams
, and throws an exception otherwise.
model
- the simulation model.simParams
- the simulation parameters.
public void initTimer()
public void initTrace()
public boolean isVerbose()
ContactCenterEval
isVerbose
in interface ContactCenterEval
isVerbose
in class AbstractContactCenterEval
public void setVerbose(boolean verbose)
ContactCenterEval
setVerbose
in interface ContactCenterEval
setVerbose
in class AbstractContactCenterEval
verbose
- true to activate verbose mode, false to disable it.ContactCenterEval.isVerbose()
public double getConfidenceLevel()
ContactCenterSim
ContactCenterEval.formatStatistics()
.
The initial confidence level is
implementation-specific, and
usually set by a
constructor.
getConfidenceLevel
in interface ContactCenterSim
public void setConfidenceLevel(double level)
ContactCenterSim
ContactCenterEval.formatStatistics()
to level.
setConfidenceLevel
in interface ContactCenterSim
level
- the level of confidence of the intervals.public String getAgentGroupName(int i)
ContactCenterInfo
getAgentGroupName
in interface ContactCenterInfo
getAgentGroupName
in class AbstractContactCenterInfo
i
- the identifier of the agent group.
public String getContactTypeName(int k)
ContactCenterInfo
ContactCenterInfo.getNumContactTypes()
. The first ContactCenterInfo.getNumInContactTypes()
indices are inbound contact types whereas the
remaining indices are outbound contact types.
If no contact type name is available, this
returns null.
getContactTypeName
in interface ContactCenterInfo
getContactTypeName
in class AbstractContactCenterInfo
k
- the contact type identifier.
public int getNumMatricesOfAWT()
ContactCenterInfo
getNumMatricesOfAWT
in interface ContactCenterInfo
public String getMatrixOfAWTName(int m)
ContactCenterInfo
getMatrixOfAWTName
in interface ContactCenterInfo
getMatrixOfAWTName
in class AbstractContactCenterInfo
m
- the index of the matrix of AWTs.
public EvalOptionType[] getEvalOptions()
ContactCenterEval
ContactCenterEval.eval()
.
This should never return a null pointer;
if no evaluation options are supported for some reasons,
this should return an array with length 0.
getEvalOptions
in interface ContactCenterEval
public boolean hasEvalOption(EvalOptionType option)
ContactCenterEval
ContactCenterEval.getEvalOptions()
. Otherwise, it
returns false.
hasEvalOption
in interface ContactCenterEval
option
- the queried evaluation option.
public Object getEvalOption(EvalOptionType option)
ContactCenterEval
EvalOptionType.getType()
.
If the option is not supported, this should
throw a NoSuchElementException
.
This exception can be thrown if and only if
ContactCenterEval.hasEvalOption(umontreal.iro.lecuyer.contactcenters.app.EvalOptionType)
returns false for
the given option.
getEvalOption
in interface ContactCenterEval
option
- the queried evaluation option.
public void setEvalOption(EvalOptionType option, Object value)
ContactCenterEval
NoSuchElementException
. If the class of the given
value is incompatible, this throws a ClassCastException
.
If the evaluation option cannot be changed, this
throws an UnsupportedOperationException
.
setEvalOption
in interface ContactCenterEval
option
- the option to be set.value
- the new value of the option.public SimStoppingCondition getSimStoppingCondition()
public void setSimStoppingCondition(SimStoppingCondition scond)
public int getNumAgentGroups()
ContactCenterInfo
getNumAgentGroups
in interface ContactCenterInfo
public int getNumContactTypes()
ContactCenterInfo
ContactCenterInfo.getNumInContactTypes()
+ ContactCenterInfo.getNumOutContactTypes()
.
getNumContactTypes
in interface ContactCenterInfo
public int getNumInContactTypes()
ContactCenterInfo
getNumInContactTypes
in interface ContactCenterInfo
public int getNumMainPeriods()
ContactCenterInfo
PeriodChangeEvent
.
For a steady-state evaluation on
a single period, this
always returns 1, even if
the model defines several period.
getNumMainPeriods
in interface ContactCenterInfo
public int getNumOutContactTypes()
ContactCenterInfo
getNumOutContactTypes
in interface ContactCenterInfo
public int getNumWaitingQueues()
ContactCenterInfo
getNumWaitingQueues
in interface ContactCenterInfo
public Map<String,String> getContactTypeProperties(int k)
ContactCenterInfo
getContactTypeProperties
in interface ContactCenterInfo
getContactTypeProperties
in class AbstractContactCenterInfo
k
- the contact type identifier.
public String getContactTypeSegmentName(int k)
ContactCenterInfo
ContactCenterInfo.getNumContactTypeSegments()
.
If no segment name is available, this
returns null.
getContactTypeSegmentName
in interface ContactCenterInfo
getContactTypeSegmentName
in class AbstractContactCenterInfo
k
- the contact type segment identifier.
public Map<String,String> getContactTypeSegmentProperties(int k)
ContactCenterInfo
ContactCenterInfo.getContactTypeProperties(int)
,
for contact type segments instead of contact types.
getContactTypeSegmentProperties
in interface ContactCenterInfo
getContactTypeSegmentProperties
in class AbstractContactCenterInfo
k
- the segment identifier.
public Map<String,String> getAgentGroupProperties(int i)
ContactCenterInfo
ContactCenterInfo.getContactTypeProperties(int)
,
for agent groups instead of contact types.
getAgentGroupProperties
in interface ContactCenterInfo
getAgentGroupProperties
in class AbstractContactCenterInfo
i
- the agent group identifier.
public String getAgentGroupSegmentName(int i)
ContactCenterInfo
ContactCenterInfo.getNumAgentGroupSegments()
.
If no segment name is available, this
returns null.
getAgentGroupSegmentName
in interface ContactCenterInfo
getAgentGroupSegmentName
in class AbstractContactCenterInfo
i
- the agent group segment identifier.
public Map<String,String> getAgentGroupSegmentProperties(int i)
ContactCenterInfo
ContactCenterInfo.getContactTypeProperties(int)
,
for agent group segments instead of contact types.
getAgentGroupSegmentProperties
in interface ContactCenterInfo
getAgentGroupSegmentProperties
in class AbstractContactCenterInfo
i
- the segment identifier.
public String getInContactTypeSegmentName(int k)
ContactCenterInfo
ContactCenterInfo.getNumInContactTypeSegments()
.
If no segment name is available, this
returns null.
getInContactTypeSegmentName
in interface ContactCenterInfo
getInContactTypeSegmentName
in class AbstractContactCenterInfo
k
- the inbound contact type segment identifier.
public Map<String,String> getInContactTypeSegmentProperties(int k)
ContactCenterInfo
ContactCenterInfo.getContactTypeProperties(int)
,
for inbound contact type segments instead of contact types.
getInContactTypeSegmentProperties
in interface ContactCenterInfo
getInContactTypeSegmentProperties
in class AbstractContactCenterInfo
k
- the segment identifier.
public String getMainPeriodSegmentName(int mp)
ContactCenterInfo
ContactCenterInfo.getNumMainPeriodSegments()
.
If no segment name is available, this
returns null.
getMainPeriodSegmentName
in interface ContactCenterInfo
getMainPeriodSegmentName
in class AbstractContactCenterInfo
mp
- the main period segment identifier.
public int getNumAgentGroupSegments()
ContactCenterInfo
getNumAgentGroupSegments
in interface ContactCenterInfo
getNumAgentGroupSegments
in class AbstractContactCenterInfo
public int getNumContactTypeSegments()
ContactCenterInfo
getNumContactTypeSegments
in interface ContactCenterInfo
getNumContactTypeSegments
in class AbstractContactCenterInfo
public int getNumInContactTypeSegments()
ContactCenterInfo
getNumInContactTypeSegments
in interface ContactCenterInfo
getNumInContactTypeSegments
in class AbstractContactCenterInfo
public int getNumMainPeriodSegments()
ContactCenterInfo
getNumMainPeriodSegments
in interface ContactCenterInfo
getNumMainPeriodSegments
in class AbstractContactCenterInfo
public int getNumOutContactTypeSegments()
ContactCenterInfo
getNumOutContactTypeSegments
in interface ContactCenterInfo
getNumOutContactTypeSegments
in class AbstractContactCenterInfo
public int getNumWaitingQueueSegments()
ContactCenterInfo
The result of this method depends on the role
of the waiting queues, which depends on the
router's policy.
For example, if waiting queues correspond
to contact types, this returns
the result of
ContactCenterInfo.getNumContactTypeSegments()
.
getNumWaitingQueueSegments
in interface ContactCenterInfo
getNumWaitingQueueSegments
in class AbstractContactCenterInfo
public String getOutContactTypeSegmentName(int k)
ContactCenterInfo
ContactCenterInfo.getNumOutContactTypeSegments()
.
If no segment name is available, this
returns null.
getOutContactTypeSegmentName
in interface ContactCenterInfo
getOutContactTypeSegmentName
in class AbstractContactCenterInfo
k
- the outbound contact type segment identifier.
public Map<String,String> getOutContactTypeSegmentProperties(int k)
ContactCenterInfo
ContactCenterInfo.getContactTypeProperties(int)
,
for outbound contact type segments instead of contact types.
getOutContactTypeSegmentProperties
in interface ContactCenterInfo
getOutContactTypeSegmentProperties
in class AbstractContactCenterInfo
k
- the segment identifier.
public Map<String,String> getWaitingQueueProperties(int q)
ContactCenterInfo
ContactCenterInfo.getContactTypeProperties(int)
,
for waiting queues instead of contact types.
getWaitingQueueProperties
in interface ContactCenterInfo
getWaitingQueueProperties
in class AbstractContactCenterInfo
q
- the waiting queue identifier.
public String getWaitingQueueSegmentName(int k)
ContactCenterInfo
ContactCenterInfo.getNumMainPeriodSegments()
.
If no segment name is available, this
returns null.
getWaitingQueueSegmentName
in interface ContactCenterInfo
getWaitingQueueSegmentName
in class AbstractContactCenterInfo
k
- the waiting queue segment identifier.
public Map<String,String> getWaitingQueueSegmentProperties(int q)
ContactCenterInfo
ContactCenterInfo.getContactTypeProperties(int)
,
for waiting queue segments instead of contact types.
getWaitingQueueSegmentProperties
in interface ContactCenterInfo
getWaitingQueueSegmentProperties
in class AbstractContactCenterInfo
q
- the segment identifier.
public PerformanceMeasureType[] getPerformanceMeasures()
ContactCenterEval
getPerformanceMeasures
in interface ContactCenterEval
public String getWaitingQueueName(int q)
ContactCenterInfo
getWaitingQueueName
in interface ContactCenterInfo
getWaitingQueueName
in class AbstractContactCenterInfo
q
- the index of the waiting queue.
public String getMainPeriodName(int mp)
ContactCenterInfo
getMainPeriodName
in interface ContactCenterInfo
getMainPeriodName
in class AbstractContactCenterInfo
mp
- the index of the main period.
public void reset()
ContactCenterEval
reset
in interface ContactCenterEval
public void reset(CallCenterParams ccParams, SimParams simParams) throws CallCenterCreationException
CallCenterCreationException
public boolean seemsUnstable()
ContactCenterEval
IllegalStateException
if it is called before ContactCenterEval.eval()
and
always return false if no
stability check applies.
seemsUnstable
in interface ContactCenterEval
protected void prepareEvaluation()
protected void finishEvaluation()
public int getRequiredNewSteps()
public void eval()
ContactCenterSim
ContactCenterSim.getAutoResetStartStream()
returns false, if ContactCenterSim.eval()
is called
multiple times without changing system
parameters, ContactCenterEval.getPerformanceMeasure(PerformanceMeasureType)
should return the same matrices of estimates
after each call.
This requires that random streams used for simulation
be reset after each evaluation.
Thus,
before returning,
this method should use RandomStream.resetStartSubstream()
on all random streams in order
to reset the seeds.
It is also recommended to always use
RandomStream.resetNextSubstream()
for all random streams
after any replication to improve synchronization
of random streams.
eval
in interface ContactCenterEval
eval
in interface ContactCenterSim
public int getCompletedSteps()
ContactCenterSim
getCompletedSteps
in interface ContactCenterSim
public DoubleMatrix2D getPerformanceMeasure(PerformanceMeasureType m)
ContactCenterEval
ContactCenterEval.eval()
. The dimensions
of the matrix and the role of its elements depend on the
queried group of performance
measures, and the capabilities of the implementing
evaluation system. See the PerformanceMeasureType
class for more information about the defined performance
measures.
If the queried measure is not supported by this evaluation object, this throws a
NoSuchElementException
. If the values of
the measures are not available, e.g., the ContactCenterEval.eval()
method was never called after the last call to ContactCenterEval.reset()
,
this throws an IllegalStateException
.
getPerformanceMeasure
in interface ContactCenterEval
getPerformanceMeasure
in class AbstractContactCenterSim
m
- the queried group of performance measures.
public DoubleMatrix2D getVariance(PerformanceMeasureType m)
ContactCenterSim
NoSuchElementException
.
getVariance
in interface ContactCenterSim
getVariance
in class AbstractContactCenterSim
m
- the queried group of performance measures.
public DoubleMatrix2D getMin(PerformanceMeasureType m)
ContactCenterSim
NoSuchElementException
.
getMin
in interface ContactCenterSim
getMin
in class AbstractContactCenterSim
m
- the queried group of performance measures.
public DoubleMatrix2D getMax(PerformanceMeasureType m)
ContactCenterSim
NoSuchElementException
.
getMax
in interface ContactCenterSim
getMax
in class AbstractContactCenterSim
m
- the queried group of performance measures.
public MatrixOfStatProbes<?> getMatrixOfStatProbes(PerformanceMeasureType m)
ContactCenterSim
MatrixOfTallies
object.
For functions of multiple averages, e.g., ratios of averages,
this must return a MatrixOfFunctionOfMultipleMeansTallies
.
getMatrixOfStatProbes
in interface ContactCenterSim
m
- the group of performance measures of interest.
public MatrixOfTallies<?> getMatrixOfTallies(PerformanceMeasureType m)
ContactCenterSim
getMatrixOfTallies
in interface ContactCenterSim
getMatrixOfTallies
in class AbstractContactCenterSim
m
- the group of performance measures of interest.
public MatrixOfFunctionOfMultipleMeansTallies<?> getMatrixOfFunctionOfMultipleMeansTallies(PerformanceMeasureType m)
ContactCenterSim
getMatrixOfFunctionOfMultipleMeansTallies
in interface ContactCenterSim
getMatrixOfFunctionOfMultipleMeansTallies
in class AbstractContactCenterSim
m
- the group of performance measures of interest.
public DoubleMatrix2D[] getConfidenceInterval(PerformanceMeasureType m, double level)
ContactCenterSim
getConfidenceInterval
in interface ContactCenterSim
getConfidenceInterval
in class AbstractContactCenterSim
m
- the queried group of performance measures.level
- desired probability that, for a given performance measure,
the (random) confidence interval covers the true mean (a constant).
public void newSeeds()
ContactCenterSim
ContactCenterSim.eval()
multiple times to perform
a simulation, the results should be identical for the same
values of parameters. If one requires the simulation to
be performed with new random seeds, the random streams
need to be reset.
This can be done by calling RandomStream.resetNextSubstream()
method on each RandomStream
object associated with the simulator,
or by creating new random streams.
newSeeds
in interface ContactCenterSim
public void resetNextSubstream()
ContactCenterSim
RandomStream.resetNextSubstream()
for all random streams used by the simulator.
resetNextSubstream
in interface ContactCenterSim
public void resetStartStream()
ContactCenterSim
RandomStream.resetStartStream()
for all random streams used by the simulator.
resetStartStream
in interface ContactCenterSim
public void resetStartSubstream()
ContactCenterSim
RandomStream.resetStartSubstream()
for all random streams used by the simulator.
resetStartSubstream
in interface ContactCenterSim
public double getCpuTime()
public void formatReport()
public static ControlVariable[] createControlVariables(ControlVariableType... cvTypes)
public CallCenterStatProbes getCallCenterStatProbes()
public boolean isUsingControlVariables()
public void enableControlVariables(ControlVariable... cvs)
public void applyControlVariables()
public void disableControlVariables()
public void initControlVariableSupport()
public void abort()
ObservableContactCenterSim
abort
in interface ObservableContactCenterSim
public void addContactCenterSimListener(ContactCenterSimListener l)
ObservableContactCenterSim
addContactCenterSimListener
in interface ObservableContactCenterSim
l
- the listener to be notified.public void clearContactCenterSimListeners()
ObservableContactCenterSim
clearContactCenterSimListeners
in interface ObservableContactCenterSim
public List<ContactCenterSimListener> getContactCenterSimListeners()
ObservableContactCenterSim
getContactCenterSimListeners
in interface ObservableContactCenterSim
public boolean isAborted()
ObservableContactCenterSim
ObservableContactCenterSim.abort()
method.
isAborted
in interface ObservableContactCenterSim
public void removeContactCenterSimListener(ContactCenterSimListener l)
ObservableContactCenterSim
removeContactCenterSimListener
in interface ObservableContactCenterSim
l
- the listener being removed.
|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |