Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.contactcenters.msk
Class CallCenterSim

    java.lang.Object
      umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterInfo
          umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterEval
              umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterSim
                  umontreal.iro.lecuyer.contactcenters.msk.AbstractCallCenterSim
                      umontreal.iro.lecuyer.contactcenters.msk.CallCenterSim

All Implemented Interfaces:
  ContactCenterEval, ContactCenterInfo, ContactCenterSim, ContactCenterSimWithObservations, ObservableContactCenterSim

    public class CallCenterSim

extends AbstractCallCenterSim
implements ContactCenterSimWithObservations

Encapsulates all the components of the blend and multi-skill call center simulator, and provides methods to perform simulations and obtain results. This class uses the `CallCenter` class to implement a model, and a `SimLogic` implementation for the simulation logic. It also uses an implementation of `CallCenterStatProbes` for statistical collecting.

An object of this class is constructed using parameter objects usually read from XML files. The parameters of the model are stored into an instance of `CallCenterParams`, while the parameters of the experiment are encapsulated into an object of class `SimParams`. The classes `CallCenterParamsConverter` and `SimParamsConverter` can be used to read parameters from XML files.

After the simulator is constructed, it can be accessed in a standardized way through the `ContactCenterEval` interface, which defines methods to obtain global information about the call center, perform simulations, and retrieve matrices of statistics.

The `CallCenterSim` class also provides a `main` method accepting as arguments the name of the parameter files, performing a simulation, and showing results. This permits the simulator to be launched from the command-line.

Field Summary

Fields inherited from class umontreal.iro.lecuyer.contactcenters.msk.AbstractCallCenterSim
`logger`

Fields inherited from class umontreal.iro.lecuyer.contactcenters.app.AbstractContactCenterSim
`autoResetStartStream, seqSampEachEval`

Constructor Summary
`CallCenterSim(CallCenterParams ccParams, SimParams simParams)` Constructs a new call center simulator using call center parameters `ccParams`, and simulation parameters `simParams`.
`CallCenterSim(CallCenterParams ccParams, SimParams simParams, RandomStreams streams)` Constructs a new call center simulator using call center parameters `ccParams`, simulation parameters `simParams`, and random streams `streams`.
`CallCenterSim(Simulator sim, CallCenterParams ccParams, SimParams simParams)` Similar to `CallCenterSim(CallCenterParams,SimParams)`, with the given simulator `sim`.
`CallCenterSim(Simulator sim, CallCenterParams ccParams, SimParams simParams, RandomStreams streams)` Similar to `CallCenterSim(CallCenterParams,SimParams,RandomStreams)`, with the given simulator `sim`.

Method Summary
`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`.
`static void` | `main(String[] args)` Main method allowing to run this class from the command-line.
`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`.
`static CallCenterParams` | `readCallCenterParams(String ccParamsFn)`
`static SimParams` | `readSimParams(String simParamsFn)`
`static void` | `write(CallCenterParams ccParams, String outputFn)`

Methods inherited from class umontreal.iro.lecuyer.contactcenters.msk.AbstractCallCenterSim
`abort, addContactCenterSimListener, applyControlVariables, clearContactCenterSimListeners, createControlVariables, createModel, createSimLogic, disableControlVariables, enableControlVariables, eval, finishEvaluation, formatReport, getAgentGroupName, getAgentGroupProperties, getAgentGroupSegmentName, getAgentGroupSegmentProperties, getCallCenter, getCallCenterStatProbes, getCompletedSteps, getConfidenceInterval, getConfidenceLevel, getContactCenterSimListeners, getContactTypeName, getContactTypeProperties, getContactTypeSegmentName, getContactTypeSegmentProperties, getCpuTime, getDefaultUnit, getEvalOption, getEvalOptions, getInContactTypeSegmentName, getInContactTypeSegmentProperties, getMainPeriodName, getMainPeriodSegmentName, getMatrixOfAWTName, getMatrixOfFunctionOfMultipleMeansTallies, getMatrixOfStatProbes, getMatrixOfTallies, getMax, getMin, getModel, getNumAgentGroups, getNumAgentGroupSegments, getNumContactTypes, getNumContactTypeSegments, getNumInContactTypes, getNumInContactTypeSegments, getNumMainPeriods, getNumMainPeriodSegments, getNumMatricesOfAWT, getNumOutContactTypes, getNumOutContactTypeSegments, getNumWaitingQueues, getNumWaitingQueueSegments, getOutContactTypeSegmentName, getOutContactTypeSegmentProperties, getPerformanceMeasure, getPerformanceMeasures, getReportParams, getRequiredNewSteps, getSimLogic, getSimStoppingCondition, getVariance, getWaitingQueueName, getWaitingQueueProperties, getWaitingQueueSegmentName, getWaitingQueueSegmentProperties, hasEvalOption, init, initControlVariableSupport, initTimer, initTrace, isAborted, isUsingControlVariables, isVerbose, newSeeds, prepareEvaluation, removeContactCenterSimListener, reset, reset, resetNextSubstream, resetStartStream, resetStartSubstream, seemsUnstable, setConfidenceLevel, setEvalOption, setReportParams, setSimStoppingCondition, setVerbose`

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
`eval, getAutoResetStartStream, getCompletedSteps, getConfidenceInterval, getConfidenceLevel, getMatrixOfFunctionOfMultipleMeansTallies, getMatrixOfStatProbes, getMatrixOfTallies, getMax, getMin, getSeqSampEachEval, getVariance, newSeeds, resetNextSubstream, resetStartStream, resetStartSubstream, setAutoResetStartStream, setConfidenceLevel, setSeqSampEachEval`

Methods inherited from interface umontreal.iro.lecuyer.contactcenters.app.ContactCenterEval
`formatStatistics, formatStatisticsExcel, formatStatisticsLaTeX, getEvalInfo, getEvalOption, getEvalOptions, getPerformanceMeasure, getPerformanceMeasures, getReportParams, hasEvalOption, hasPerformanceMeasure, isVerbose, reset, seemsUnstable, setEvalOption, setReportParams, setVerbose`

Methods inherited from interface umontreal.iro.lecuyer.contactcenters.app.ContactCenterInfo
`getAgentGroupName, getAgentGroupProperties, getAgentGroupSegmentName, getAgentGroupSegmentProperties, getContactTypeName, getContactTypeProperties, getContactTypeSegmentName, getContactTypeSegmentProperties, getDefaultUnit, getInContactTypeSegmentName, getInContactTypeSegmentProperties, getMainPeriodName, getMainPeriodSegmentName, getMatrixOfAWTName, getNumAgentGroups, getNumAgentGroupSegments, getNumAgentGroupsWithSegments, getNumContactTypes, getNumContactTypeSegments, getNumContactTypesWithSegments, getNumInContactTypes, getNumInContactTypeSegments, getNumInContactTypesWithSegments, getNumMainPeriods, getNumMainPeriodSegments, getNumMainPeriodsWithSegments, getNumMatricesOfAWT, getNumOutContactTypes, getNumOutContactTypeSegments, getNumOutContactTypesWithSegments, getNumWaitingQueues, getNumWaitingQueueSegments, getNumWaitingQueuesWithSegments, getOutContactTypeSegmentName, getOutContactTypeSegmentProperties, getWaitingQueueName, getWaitingQueueProperties, getWaitingQueueSegmentName, getWaitingQueueSegmentProperties`

Constructor Detail

### CallCenterSim

    public CallCenterSim(CallCenterParams ccParams,
                         SimParams simParams)
                  throws CallCenterCreationException

  Constructs a new call center simulator using call center parameters `ccParams`, and simulation parameters `simParams`.

  This calls `AbstractCallCenterSim.createModel(umontreal.iro.lecuyer.simevents.Simulator, umontreal.iro.lecuyer.contactcenters.msk.params.CallCenterParams, umontreal.iro.lecuyer.contactcenters.msk.model.RandomStreams)` to create the model, `AbstractCallCenterSim.createSimLogic(umontreal.iro.lecuyer.contactcenters.msk.model.CallCenter, umontreal.iro.lecuyer.contactcenters.app.params.SimParams)` to create the simulation logic.

  Parameters:
    `ccParams` - the call center parameters.
    `simParams` - the simulation parameters.
  Throws:
    `CallCenterCreationException`

### CallCenterSim

    public CallCenterSim(CallCenterParams ccParams,
                         SimParams simParams,
                         RandomStreams streams)
                  throws CallCenterCreationException

  Constructs a new call center simulator using call center parameters `ccParams`, simulation parameters `simParams`, and random streams `streams`.

  This calls `AbstractCallCenterSim.createModel(umontreal.iro.lecuyer.simevents.Simulator, umontreal.iro.lecuyer.contactcenters.msk.params.CallCenterParams, umontreal.iro.lecuyer.contactcenters.msk.model.RandomStreams)` to create the model, `AbstractCallCenterSim.createSimLogic(umontreal.iro.lecuyer.contactcenters.msk.model.CallCenter, umontreal.iro.lecuyer.contactcenters.app.params.SimParams)` to create the simulation logic.

  Parameters:
    `ccParams` - the call center parameters.
    `simParams` - the simulation parameters.
    `streams` - the random streams used by the simulator.
  Throws:
    `CallCenterCreationException`

### CallCenterSim

    public CallCenterSim(Simulator sim,
                         CallCenterParams ccParams,
                         SimParams simParams,
                         RandomStreams streams)
                  throws CallCenterCreationException

  Similar to `CallCenterSim(CallCenterParams,SimParams,RandomStreams)`, with the given simulator `sim`.

  Throws:
    `CallCenterCreationException`

### CallCenterSim

    public CallCenterSim(Simulator sim,
                         CallCenterParams ccParams,
                         SimParams simParams)
                  throws CallCenterCreationException

  Similar to `CallCenterSim(CallCenterParams,SimParams)`, with the given simulator `sim`.

  Throws:
    `CallCenterCreationException`

Method Detail

### 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.

### readCallCenterParams

    public static CallCenterParams readCallCenterParams(String ccParamsFn)

### readSimParams

    public static SimParams readSimParams(String simParamsFn)

### write

    public static void write(CallCenterParams ccParams,
                             String outputFn)

### main

    public static void main(String[] args)

  Main method allowing to run this class from the command-line. The needed command-line arguments are the name of an XML file containing the non-stationary simulation parameters (root element `mskccparams`), and the name of a second XML file containing the simulation parameters (root elements `batchsimparams` or `repsimparams`).

  Parameters:
    `args` - the command-line arguments.

Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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