|
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.ctmc.AbstractCallCenterCTMCSimMP
public abstract class AbstractCallCenterCTMCSimMP
| Field Summary | |
|---|---|
protected double[][] |
awt
|
protected CallCenter |
cc
|
protected CallCenterStat[] |
ccStat
|
protected CallCenterStatMP |
ccStatMP
|
protected CallCenterCounters[] |
counters
|
protected CallCenterCounters |
countersG
|
protected CallCenterCTMC[] |
ctmc
|
protected double[] |
jumpRate
|
protected RateChangeTransitions |
rateChange
|
protected CTMCRepSimParams |
simParams
|
protected int[] |
startingTransition
|
protected ContactTrace |
trace
|
| Fields inherited from class umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterSim |
|---|
autoResetStartStream, seqSampEachEval |
| Constructor Summary | |
|---|---|
AbstractCallCenterCTMCSimMP(CallCenter cc,
CTMCRepSimParams simParams)
|
|
AbstractCallCenterCTMCSimMP(CallCenterParams ccParams,
CTMCRepSimParams simParams)
|
|
AbstractCallCenterCTMCSimMP(CallCenterParams ccParams,
CTMCRepSimParams simParams,
RandomStreams streams)
|
|
| Method Summary | |
|---|---|
protected void |
addObs()
|
void |
addTransitionListener(TransitionListener listener)
|
void |
clearTransitionListeners()
|
void |
eval()
Performs a simulation to evaluate the performance measures. |
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. |
int |
getCompletedSteps()
Returns the number of completed steps for the simulation. |
double |
getConfidenceLevel()
Returns the confidence level of the intervals output by ContactCenterEval.formatStatistics(). |
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. |
CallCenterCTMC |
getCTMC(int p)
|
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 |
getMainPeriodName(int mp)
Returns the name corresponding to the main period mp. |
String |
getMatrixOfAWTName(int m)
Returns the name associated with the matrix of AWTs with index m. |
MatrixOfStatProbes<?> |
getMatrixOfStatProbes(PerformanceMeasureType m)
Returns the matrix of statistical probes used to manage observations for estimating the performance measures in group m. |
int |
getNumAgentGroups()
Returns the total number of agent groups supported by this contact center. |
int |
getNumContactTypes()
Returns the total number of contact types supported by this contact center. |
abstract double[] |
getNumExpectedTransitions()
|
int |
getNumInContactTypes()
Returns the total number of inbound contact types for this contact center. |
int |
getNumMainPeriods()
Returns the number of main periods used for evaluation, as defined in PeriodChangeEvent. |
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 |
getNumWaitingQueues()
Returns the total number of waiting queues capable of storing contacts. |
double[] |
getObs(PerformanceMeasureType pm,
int row,
int column)
Returns an array containing the observations for a performance measure of type pm, identified by row row and column column. |
PerformanceMeasureType[] |
getPerformanceMeasures()
Returns an array containing all the groups of performance measures this object can estimate. |
int |
getQueueCapacity()
|
ReportParams |
getReportParams()
Returns the parameters for reports formatted by ContactCenterEval.formatStatistics(), or
ContactCenterEval.formatStatisticsExcel(WritableWorkbook). |
int |
getRequiredNewSteps()
|
int[] |
getStaffing()
|
int[][] |
getStaffingMatrix()
|
CallCenterStatMP |
getStat()
|
List<TransitionListener> |
getTransitionListeners()
|
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. |
boolean |
hasEvalOption(EvalOptionType option)
Determines if the evaluation option option is supported by the implemented system. |
protected void |
initReplication(RandomStream stream1,
int[] ntr)
|
protected void |
initStat()
|
void |
initTimer()
|
void |
newSeeds()
Changes the seeds of the random number generators used during the simulation. |
void |
notifyInit(int r,
int mp,
CallCenterCTMC ctmc1)
|
void |
notifyTransition(int r,
int mp,
CallCenterCTMC ctmc1,
TransitionType type)
|
int |
numberObs(PerformanceMeasureType pm,
int row,
int column)
Returns the number of observations available for a performance measure of type pm, identified by row row and column column. |
void |
removeTransitionListener(TransitionListener listener)
|
void |
reset()
Resets this contact center evaluation system for new parameters. |
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 |
setQueueCapacity(int q)
|
void |
setStaffing(int[] staffing)
|
void |
setStaffingMatrix(int[][] staffing)
|
void |
setStat(CallCenterStatMP ccStatMP)
|
abstract void |
simulate(RandomStream stream1,
int n)
|
| Methods inherited from class umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterSim |
|---|
formatStatistics, formatStatisticsExcel, formatStatisticsLaTeX, getAutoResetStartStream, getConfidenceInterval, getConfidenceInterval, getMatrixOfFunctionOfMultipleMeansTallies, getMatrixOfTallies, getMax, getMin, getOneSimDone, getPerformanceMeasure, getSeqSampEachEval, getVariance, hasPerformanceMeasure, setAutoResetStartStream, setOneSimDone, setSeqSampEachEval |
| Methods inherited from class umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterEval |
|---|
getEvalInfo, isVerbose, setReportParams, setVerbose |
| 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, getConfidenceInterval, getMatrixOfFunctionOfMultipleMeansTallies, getMatrixOfTallies, getMax, getMin, getSeqSampEachEval, getVariance, setAutoResetStartStream, setSeqSampEachEval |
| Methods inherited from interface umontreal.iro.lecuyer.contactcenters.app.ContactCenterEval |
|---|
formatStatistics, formatStatisticsExcel, formatStatisticsLaTeX, getEvalInfo, getPerformanceMeasure, hasPerformanceMeasure, isVerbose, setReportParams, setVerbose |
| Field Detail |
|---|
protected CallCenter cc
protected CallCenterCTMC[] ctmc
protected CallCenterCounters[] counters
protected CallCenterCounters countersG
protected CallCenterStat[] ccStat
protected CallCenterStatMP ccStatMP
protected ContactTrace trace
protected double[][] awt
protected double[] jumpRate
protected int[] startingTransition
protected RateChangeTransitions rateChange
protected CTMCRepSimParams simParams
| Constructor Detail |
|---|
public AbstractCallCenterCTMCSimMP(CallCenterParams ccParams,
CTMCRepSimParams simParams)
throws CallCenterCreationException,
CTMCCreationException
CallCenterCreationException
CTMCCreationException
public AbstractCallCenterCTMCSimMP(CallCenterParams ccParams,
CTMCRepSimParams simParams,
RandomStreams streams)
throws CallCenterCreationException,
CTMCCreationException
CallCenterCreationException
CTMCCreationException
public AbstractCallCenterCTMCSimMP(CallCenter cc,
CTMCRepSimParams simParams)
throws CTMCCreationException
CTMCCreationException| Method Detail |
|---|
public int[] getStaffing()
public void setStaffing(int[] staffing)
public int[][] getStaffingMatrix()
public void setStaffingMatrix(int[][] staffing)
public int getQueueCapacity()
public void setQueueCapacity(int q)
public CallCenterCTMC getCTMC(int p)
protected void initStat()
public CallCenterStatMP getStat()
public void setStat(CallCenterStatMP ccStatMP)
protected void initReplication(RandomStream stream1,
int[] ntr)
protected void addObs()
public void formatReport()
public abstract void simulate(RandomStream stream1,
int n)
public abstract double[] getNumExpectedTransitions()
public void initTimer()
public int getRequiredNewSteps()
public void eval()
ContactCenterSimContactCenterSim.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 ContactCenterEvaleval in interface ContactCenterSimpublic int getCompletedSteps()
ContactCenterSim
getCompletedSteps in interface ContactCenterSimpublic ReportParams getReportParams()
ContactCenterEvalContactCenterEval.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 ContactCenterEvalgetReportParams in class AbstractContactCenterEvalpublic double getConfidenceLevel()
ContactCenterSimContactCenterEval.formatStatistics().
The initial confidence level is
implementation-specific, and
usually set by a
constructor.
getConfidenceLevel in interface ContactCenterSimpublic MatrixOfStatProbes<?> getMatrixOfStatProbes(PerformanceMeasureType m)
ContactCenterSimMatrixOfTallies object.
For functions of multiple averages, e.g., ratios of averages,
this must return a MatrixOfFunctionOfMultipleMeansTallies.
getMatrixOfStatProbes in interface ContactCenterSimm - the group of performance measures of interest.
public void newSeeds()
ContactCenterSimContactCenterSim.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 ContactCenterSimpublic void resetNextSubstream()
ContactCenterSimRandomStream.resetNextSubstream()
for all random streams used by the simulator.
resetNextSubstream in interface ContactCenterSimpublic void resetStartStream()
ContactCenterSimRandomStream.resetStartStream()
for all random streams used by the simulator.
resetStartStream in interface ContactCenterSimpublic void resetStartSubstream()
ContactCenterSimRandomStream.resetStartSubstream()
for all random streams used by the simulator.
resetStartSubstream in interface ContactCenterSimpublic void setConfidenceLevel(double level)
ContactCenterSimContactCenterEval.formatStatistics()
to level.
setConfidenceLevel in interface ContactCenterSimlevel - the level of confidence of the intervals.public TimeUnit getDefaultUnit()
ContactCenterInfo
getDefaultUnit in interface ContactCenterInfopublic Object getEvalOption(EvalOptionType option)
ContactCenterEvalEvalOptionType.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 ContactCenterEvaloption - the queried evaluation option.
public EvalOptionType[] getEvalOptions()
ContactCenterEvalContactCenterEval.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 ContactCenterEvalpublic int getNumAgentGroups()
ContactCenterInfo
getNumAgentGroups in interface ContactCenterInfopublic int getNumContactTypes()
ContactCenterInfoContactCenterInfo.getNumInContactTypes() + ContactCenterInfo.getNumOutContactTypes().
getNumContactTypes in interface ContactCenterInfopublic int getNumInContactTypes()
ContactCenterInfo
getNumInContactTypes in interface ContactCenterInfopublic int getNumMainPeriods()
ContactCenterInfoPeriodChangeEvent.
For a steady-state evaluation on
a single period, this
always returns 1, even if
the model defines several period.
getNumMainPeriods in interface ContactCenterInfopublic String getMainPeriodName(int mp)
ContactCenterInfo
getMainPeriodName in interface ContactCenterInfogetMainPeriodName in class AbstractContactCenterInfomp - the index of the main period.
public int getNumMatricesOfAWT()
ContactCenterInfo
getNumMatricesOfAWT in interface ContactCenterInfopublic String getMatrixOfAWTName(int m)
ContactCenterInfo
getMatrixOfAWTName in interface ContactCenterInfogetMatrixOfAWTName in class AbstractContactCenterInfom - the index of the matrix of AWTs.
public int getNumOutContactTypes()
ContactCenterInfo
getNumOutContactTypes in interface ContactCenterInfopublic int getNumWaitingQueues()
ContactCenterInfo
getNumWaitingQueues in interface ContactCenterInfopublic PerformanceMeasureType[] getPerformanceMeasures()
ContactCenterEval
getPerformanceMeasures in interface ContactCenterEvalpublic boolean hasEvalOption(EvalOptionType option)
ContactCenterEvalContactCenterEval.getEvalOptions(). Otherwise, it
returns false.
hasEvalOption in interface ContactCenterEvaloption - the queried evaluation option.
public void reset()
ContactCenterEval
reset in interface ContactCenterEvalpublic boolean seemsUnstable()
ContactCenterEvalIllegalStateException
if it is called before ContactCenterEval.eval() and
always return false if no
stability check applies.
seemsUnstable in interface ContactCenterEval
public void setEvalOption(EvalOptionType option,
Object value)
ContactCenterEvalNoSuchElementException. 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 ContactCenterEvaloption - the option to be set.value - the new value of the option.public String getAgentGroupName(int i)
ContactCenterInfo
getAgentGroupName in interface ContactCenterInfogetAgentGroupName in class AbstractContactCenterInfoi - the identifier of the agent group.
public Map<String,String> getAgentGroupProperties(int i)
ContactCenterInfoContactCenterInfo.getContactTypeProperties(int),
for agent groups instead of contact types.
getAgentGroupProperties in interface ContactCenterInfogetAgentGroupProperties in class AbstractContactCenterInfoi - the agent group identifier.
public String getContactTypeName(int k)
ContactCenterInfoContactCenterInfo.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 ContactCenterInfogetContactTypeName in class AbstractContactCenterInfok - the contact type identifier.
public Map<String,String> getContactTypeProperties(int k)
ContactCenterInfo
getContactTypeProperties in interface ContactCenterInfogetContactTypeProperties in class AbstractContactCenterInfok - the contact type identifier.
public String getWaitingQueueName(int q)
ContactCenterInfo
getWaitingQueueName in interface ContactCenterInfogetWaitingQueueName in class AbstractContactCenterInfoq - the index of the waiting queue.
public Map<String,String> getWaitingQueueProperties(int q)
ContactCenterInfoContactCenterInfo.getContactTypeProperties(int),
for waiting queues instead of contact types.
getWaitingQueueProperties in interface ContactCenterInfogetWaitingQueueProperties in class AbstractContactCenterInfoq - the waiting queue identifier.
public double[] getObs(PerformanceMeasureType pm,
int row,
int column)
ContactCenterSimWithObservationsNoSuchElementException.
getObs in interface ContactCenterSimWithObservationspm - the type of performance measure.row - the row of the performance measure.column - the column of the performance measure.
public int numberObs(PerformanceMeasureType pm,
int row,
int column)
ContactCenterSimWithObservationsNoSuchElementException.
numberObs in interface ContactCenterSimWithObservationspm - the type of performance measure.row - the row of the performance measure.column - the column of the performance measure.
public void addTransitionListener(TransitionListener listener)
public void removeTransitionListener(TransitionListener listener)
public void clearTransitionListeners()
public List<TransitionListener> getTransitionListeners()
public void notifyInit(int r,
int mp,
CallCenterCTMC ctmc1)
public void notifyTransition(int r,
int mp,
CallCenterCTMC ctmc1,
TransitionType type)
|
ContactCenters V. 0.9.9. |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||