ContactCenters
V. 0.9.9.

umontreal.iro.lecuyer.contactcenters.ctmc
Class AbstractCallCenterCTMCSimMP

java.lang.Object
  extended by umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterInfo
      extended by umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterEval
          extended by umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterSim
              extended by umontreal.iro.lecuyer.contactcenters.ctmc.AbstractCallCenterCTMCSimMP
All Implemented Interfaces:
ContactCenterEval, ContactCenterInfo, ContactCenterSim, ContactCenterSimWithObservations
Direct Known Subclasses:
BasicCallCenterCTMCSimMP

public abstract class AbstractCallCenterCTMCSimMP
extends AbstractContactCenterSim
implements ContactCenterSimWithObservations


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 umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterInfo
getAgentGroupSegmentName, getAgentGroupSegmentProperties, getContactTypeSegmentName, getContactTypeSegmentProperties, getInContactTypeSegmentName, getInContactTypeSegmentProperties, getMainPeriodSegmentName, getNumAgentGroupSegments, getNumAgentGroupsWithSegments, getNumContactTypeSegments, getNumContactTypesWithSegments, getNumInContactTypeSegments, getNumInContactTypesWithSegments, getNumMainPeriodSegments, getNumMainPeriodsWithSegments, getNumOutContactTypeSegments, getNumOutContactTypesWithSegments, getNumWaitingQueueSegments, getNumWaitingQueuesWithSegments, getOutContactTypeSegmentName, getOutContactTypeSegmentProperties, getWaitingQueueSegmentName, getWaitingQueueSegmentProperties
 
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
 
Methods inherited from interface umontreal.iro.lecuyer.contactcenters.app.ContactCenterInfo
getAgentGroupSegmentName, getAgentGroupSegmentProperties, getContactTypeSegmentName, getContactTypeSegmentProperties, getInContactTypeSegmentName, getInContactTypeSegmentProperties, getMainPeriodSegmentName, getNumAgentGroupSegments, getNumAgentGroupsWithSegments, getNumContactTypeSegments, getNumContactTypesWithSegments, getNumInContactTypeSegments, getNumInContactTypesWithSegments, getNumMainPeriodSegments, getNumMainPeriodsWithSegments, getNumOutContactTypeSegments, getNumOutContactTypesWithSegments, getNumWaitingQueueSegments, getNumWaitingQueuesWithSegments, getOutContactTypeSegmentName, getOutContactTypeSegmentProperties, getWaitingQueueSegmentName, getWaitingQueueSegmentProperties
 

Field Detail

cc

protected CallCenter cc

ctmc

protected CallCenterCTMC[] ctmc

counters

protected CallCenterCounters[] counters

countersG

protected CallCenterCounters countersG

ccStat

protected CallCenterStat[] ccStat

ccStatMP

protected CallCenterStatMP ccStatMP

trace

protected ContactTrace trace

awt

protected double[][] awt

jumpRate

protected double[] jumpRate

startingTransition

protected int[] startingTransition

rateChange

protected RateChangeTransitions rateChange

simParams

protected CTMCRepSimParams simParams
Constructor Detail

AbstractCallCenterCTMCSimMP

public AbstractCallCenterCTMCSimMP(CallCenterParams ccParams,
                                   CTMCRepSimParams simParams)
                            throws CallCenterCreationException,
                                   CTMCCreationException
Throws:
CallCenterCreationException
CTMCCreationException

AbstractCallCenterCTMCSimMP

public AbstractCallCenterCTMCSimMP(CallCenterParams ccParams,
                                   CTMCRepSimParams simParams,
                                   RandomStreams streams)
                            throws CallCenterCreationException,
                                   CTMCCreationException
Throws:
CallCenterCreationException
CTMCCreationException

AbstractCallCenterCTMCSimMP

public AbstractCallCenterCTMCSimMP(CallCenter cc,
                                   CTMCRepSimParams simParams)
                            throws CTMCCreationException
Throws:
CTMCCreationException
Method Detail

getStaffing

public int[] getStaffing()

setStaffing

public void setStaffing(int[] staffing)

getStaffingMatrix

public int[][] getStaffingMatrix()

setStaffingMatrix

public void setStaffingMatrix(int[][] staffing)

getQueueCapacity

public int getQueueCapacity()

setQueueCapacity

public void setQueueCapacity(int q)

getCTMC

public CallCenterCTMC getCTMC(int p)

initStat

protected void initStat()

getStat

public CallCenterStatMP getStat()

setStat

public void setStat(CallCenterStatMP ccStatMP)

initReplication

protected void initReplication(RandomStream stream1,
                               int[] ntr)

addObs

protected void addObs()

formatReport

public void formatReport()

simulate

public abstract void simulate(RandomStream stream1,
                              int n)

getNumExpectedTransitions

public abstract double[] getNumExpectedTransitions()

initTimer

public void initTimer()

getRequiredNewSteps

public int getRequiredNewSteps()

eval

public void eval()
Description copied from interface: ContactCenterSim
Performs a simulation to evaluate the performance measures. Unless 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.

Specified by:
eval in interface ContactCenterEval
Specified by:
eval in interface ContactCenterSim

getCompletedSteps

public int getCompletedSteps()
Description copied from interface: ContactCenterSim
Returns the number of completed steps for the simulation. When using independent replications, a step corresponds to a replication. When using batch means for stationary simulation, this corresponds to the number of terminated batches.

Specified by:
getCompletedSteps in interface ContactCenterSim
Returns:
the number of completed steps.

getReportParams

public ReportParams getReportParams()
Description copied from interface: ContactCenterEval
Returns the parameters for reports formatted by 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.

Specified by:
getReportParams in interface ContactCenterEval
Overrides:
getReportParams in class AbstractContactCenterEval
Returns:
the printed statistics.

getConfidenceLevel

public double getConfidenceLevel()
Description copied from interface: ContactCenterSim
Returns the confidence level of the intervals output by ContactCenterEval.formatStatistics(). The initial confidence level is implementation-specific, and usually set by a constructor.

Specified by:
getConfidenceLevel in interface ContactCenterSim
Returns:
the level of confidence for the intervals.

getMatrixOfStatProbes

public MatrixOfStatProbes<?> getMatrixOfStatProbes(PerformanceMeasureType m)
Description copied from interface: ContactCenterSim
Returns the matrix of statistical probes used to manage observations for estimating the performance measures in group m. The particular subclass of the statistical probe matrix depends on the performance measure type only. For averages, this method must return a MatrixOfTallies object. For functions of multiple averages, e.g., ratios of averages, this must return a MatrixOfFunctionOfMultipleMeansTallies.

Specified by:
getMatrixOfStatProbes in interface ContactCenterSim
Parameters:
m - the group of performance measures of interest.
Returns:
the matrix of statistical probes.

newSeeds

public void newSeeds()
Description copied from interface: ContactCenterSim
Changes the seeds of the random number generators used during the simulation. When calling 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.

Specified by:
newSeeds in interface ContactCenterSim

resetNextSubstream

public void resetNextSubstream()
Description copied from interface: ContactCenterSim
Calls RandomStream.resetNextSubstream() for all random streams used by the simulator.

Specified by:
resetNextSubstream in interface ContactCenterSim

resetStartStream

public void resetStartStream()
Description copied from interface: ContactCenterSim
Calls RandomStream.resetStartStream() for all random streams used by the simulator.

Specified by:
resetStartStream in interface ContactCenterSim

resetStartSubstream

public void resetStartSubstream()
Description copied from interface: ContactCenterSim
Calls RandomStream.resetStartSubstream() for all random streams used by the simulator.

Specified by:
resetStartSubstream in interface ContactCenterSim

setConfidenceLevel

public void setConfidenceLevel(double level)
Description copied from interface: ContactCenterSim
Sets the level of confidence for the intervals output by ContactCenterEval.formatStatistics() to level.

Specified by:
setConfidenceLevel in interface ContactCenterSim
Parameters:
level - the level of confidence of the intervals.

getDefaultUnit

public TimeUnit getDefaultUnit()
Description copied from interface: ContactCenterInfo
Returns the time unit in which output performance measures representing times are expressed. If this method returns null, performance measures representing time are output as any other performance measures; no time conversion can be performed or time unit displayed.

Specified by:
getDefaultUnit in interface ContactCenterInfo
Returns:
the default time unit.

getEvalOption

public Object getEvalOption(EvalOptionType option)
Description copied from interface: ContactCenterEval
Returns the current value of the evaluation option option. The class of the returned object must be assignable to the class given by 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.

Specified by:
getEvalOption in interface ContactCenterEval
Parameters:
option - the queried evaluation option.
Returns:
the current value of the option.

getEvalOptions

public EvalOptionType[] getEvalOptions()
Description copied from interface: ContactCenterEval
Returns the array of the evaluation option types supported by the implementing object. The evaluation options are the variable parameters of the contact center which can be changed between calls to 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.

Specified by:
getEvalOptions in interface ContactCenterEval
Returns:
the array of supported evaluation options.

getNumAgentGroups

public int getNumAgentGroups()
Description copied from interface: ContactCenterInfo
Returns the total number of agent groups supported by this contact center.

Specified by:
getNumAgentGroups in interface ContactCenterInfo
Returns:
the total number of agent groups.

getNumContactTypes

public int getNumContactTypes()
Description copied from interface: ContactCenterInfo
Returns the total number of contact types supported by this contact center. This should be the same as ContactCenterInfo.getNumInContactTypes() + ContactCenterInfo.getNumOutContactTypes().

Specified by:
getNumContactTypes in interface ContactCenterInfo
Returns:
the total number of contact types.

getNumInContactTypes

public int getNumInContactTypes()
Description copied from interface: ContactCenterInfo
Returns the total number of inbound contact types for this contact center.

Specified by:
getNumInContactTypes in interface ContactCenterInfo
Returns:
the total number of inbound contact types.

getNumMainPeriods

public int getNumMainPeriods()
Description copied from interface: ContactCenterInfo
Returns the number of main periods used for evaluation, as defined in PeriodChangeEvent. For a steady-state evaluation on a single period, this always returns 1, even if the model defines several period.

Specified by:
getNumMainPeriods in interface ContactCenterInfo
Returns:
the total number of main periods.

getMainPeriodName

public String getMainPeriodName(int mp)
Description copied from interface: ContactCenterInfo
Returns the name corresponding to the main period mp. This can return null or an empty string for unnamed periods.

Specified by:
getMainPeriodName in interface ContactCenterInfo
Overrides:
getMainPeriodName in class AbstractContactCenterInfo
Parameters:
mp - the index of the main period.
Returns:
the name of the main period.

getNumMatricesOfAWT

public int getNumMatricesOfAWT()
Description copied from interface: ContactCenterInfo
Returns the number of matrices containing acceptable waiting times, for estimating service levels. Usually, this returns 1.

Specified by:
getNumMatricesOfAWT in interface ContactCenterInfo
Returns:
the number of matrices of acceptable waiting times.

getMatrixOfAWTName

public String getMatrixOfAWTName(int m)
Description copied from interface: ContactCenterInfo
Returns the name associated with the matrix of AWTs with index m. This method returns null if no name is associated with the matrix. This name can be used, e.g., to give the AWT if the same AWT is used for all contact types and periods.

Specified by:
getMatrixOfAWTName in interface ContactCenterInfo
Overrides:
getMatrixOfAWTName in class AbstractContactCenterInfo
Parameters:
m - the index of the matrix of AWTs.
Returns:
the name associated with the matrix.

getNumOutContactTypes

public int getNumOutContactTypes()
Description copied from interface: ContactCenterInfo
Returns the total number of outbound contact types for this contact center.

Specified by:
getNumOutContactTypes in interface ContactCenterInfo
Returns:
the total number of outbound contact types.

getNumWaitingQueues

public int getNumWaitingQueues()
Description copied from interface: ContactCenterInfo
Returns the total number of waiting queues capable of storing contacts.

Specified by:
getNumWaitingQueues in interface ContactCenterInfo
Returns:
the number of waiting queues.

getPerformanceMeasures

public PerformanceMeasureType[] getPerformanceMeasures()
Description copied from interface: ContactCenterEval
Returns an array containing all the groups of performance measures this object can estimate. If no performance measure is supported by a given implementation, this method should return an array with length 0 instead of null.

Specified by:
getPerformanceMeasures in interface ContactCenterEval
Returns:
the array of groups of performance measures.

hasEvalOption

public boolean hasEvalOption(EvalOptionType option)
Description copied from interface: ContactCenterEval
Determines if the evaluation option option is supported by the implemented system. It should return true if and only if the option is in the array returned by ContactCenterEval.getEvalOptions(). Otherwise, it returns false.

Specified by:
hasEvalOption in interface ContactCenterEval
Parameters:
option - the queried evaluation option.
Returns:
the support status of the option.

reset

public void reset()
Description copied from interface: ContactCenterEval
Resets this contact center evaluation system for new parameters. Every cached or processed parameter should be reread from the parameter objects. In the case of the simulation, one should try to preserve random number seeds whenever possible, even if the contact center needs to be reconstructed. Some implementatios of this interface provide specialized reset methods allowing to change the associated parameter objects.

Specified by:
reset in interface ContactCenterEval

seemsUnstable

public boolean seemsUnstable()
Description copied from interface: ContactCenterEval
Determines if the system seems to be unstable. When a system is unstable, the returned steady-state performance measures are not reliable. This method mainly applies for stationary simulators which return true when the system appears to be unstable, i.e., some waiting queues grow up with simulation time. The method must throw an IllegalStateException if it is called before ContactCenterEval.eval() and always return false if no stability check applies.

Specified by:
seemsUnstable in interface ContactCenterEval
Returns:
the result of the stability check.

setEvalOption

public void setEvalOption(EvalOptionType option,
                          Object value)
Description copied from interface: ContactCenterEval
Sets the evaluation option option to value. If the given option is not supported, this throws a 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.

Specified by:
setEvalOption in interface ContactCenterEval
Parameters:
option - the option to be set.
value - the new value of the option.

getAgentGroupName

public String getAgentGroupName(int i)
Description copied from interface: ContactCenterInfo
Returns the name associated with the agent group identifier i. If no name is associated with a given agent group, this returns null.

Specified by:
getAgentGroupName in interface ContactCenterInfo
Overrides:
getAgentGroupName in class AbstractContactCenterInfo
Parameters:
i - the identifier of the agent group.
Returns:
the agent group name, or null.

getAgentGroupProperties

public Map<String,String> getAgentGroupProperties(int i)
Description copied from interface: ContactCenterInfo
This method is similar to ContactCenterInfo.getContactTypeProperties(int), for agent groups instead of contact types.

Specified by:
getAgentGroupProperties in interface ContactCenterInfo
Overrides:
getAgentGroupProperties in class AbstractContactCenterInfo
Parameters:
i - the agent group identifier.
Returns:
the map of properties.

getContactTypeName

public String getContactTypeName(int k)
Description copied from interface: ContactCenterInfo
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(). 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.

Specified by:
getContactTypeName in interface ContactCenterInfo
Overrides:
getContactTypeName in class AbstractContactCenterInfo
Parameters:
k - the contact type identifier.
Returns:
the contact type name or null if no name is defined.

getContactTypeProperties

public Map<String,String> getContactTypeProperties(int k)
Description copied from interface: ContactCenterInfo
Returns the properties associated with contact type k. Properties are additional strings describing a contact type. This can include the language of the customers, the originating region, etc. If no property is defined for the given contact type, this method returns an empty map.

Specified by:
getContactTypeProperties in interface ContactCenterInfo
Overrides:
getContactTypeProperties in class AbstractContactCenterInfo
Parameters:
k - the contact type identifier.
Returns:
the map of properties.

getWaitingQueueName

public String getWaitingQueueName(int q)
Description copied from interface: ContactCenterInfo
Returns the name of the waiting queue with index q used by the evaluation. If the waiting queue has no name, returns null.

Specified by:
getWaitingQueueName in interface ContactCenterInfo
Overrides:
getWaitingQueueName in class AbstractContactCenterInfo
Parameters:
q - the index of the waiting queue.
Returns:
the name of the waiting queue.

getWaitingQueueProperties

public Map<String,String> getWaitingQueueProperties(int q)
Description copied from interface: ContactCenterInfo
This method is similar to ContactCenterInfo.getContactTypeProperties(int), for waiting queues instead of contact types.

Specified by:
getWaitingQueueProperties in interface ContactCenterInfo
Overrides:
getWaitingQueueProperties in class AbstractContactCenterInfo
Parameters:
q - the waiting queue identifier.
Returns:
the map of properties.

getObs

public double[] getObs(PerformanceMeasureType pm,
                       int row,
                       int column)
Description copied from interface: ContactCenterSimWithObservations
Returns an array containing the observations for a performance measure of type pm, identified by row row and column column. If the observations are not available for the given performance measure, this method throws a NoSuchElementException.

Specified by:
getObs in interface ContactCenterSimWithObservations
Parameters:
pm - the type of performance measure.
row - the row of the performance measure.
column - the column of the performance measure.
Returns:
the array of observations.

numberObs

public int numberObs(PerformanceMeasureType pm,
                     int row,
                     int column)
Description copied from interface: ContactCenterSimWithObservations
Returns the number of observations available for a performance measure of type pm, identified by row row and column column. If the number of observations is not available for the given performance measure, this method throws a NoSuchElementException.

Specified by:
numberObs in interface ContactCenterSimWithObservations
Parameters:
pm - the type of performance measure.
row - the row of the performance measure.
column - the column of the performance measure.
Returns:
the number of observations.

addTransitionListener

public void addTransitionListener(TransitionListener listener)

removeTransitionListener

public void removeTransitionListener(TransitionListener listener)

clearTransitionListeners

public void clearTransitionListeners()

getTransitionListeners

public List<TransitionListener> getTransitionListeners()

notifyInit

public void notifyInit(int r,
                       int mp,
                       CallCenterCTMC ctmc1)

notifyTransition

public void notifyTransition(int r,
                             int mp,
                             CallCenterCTMC ctmc1,
                             TransitionType type)

ContactCenters
V. 0.9.9.

To submit a bug or ask questions, send an e-mail to Richard Simard.