ContactCenters
V. 0.9.9.

umontreal.iro.lecuyer.contactcenters.msk
Class CallCenterSimRQMC

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.msk.AbstractCallCenterSim
                  extended by umontreal.iro.lecuyer.contactcenters.msk.CallCenterSimRQMC
All Implemented Interfaces:
ContactCenterEval, ContactCenterInfo, ContactCenterSim, ObservableContactCenterSim

public class CallCenterSimRQMC
extends AbstractCallCenterSim

Extends the CallCenterSim class for randomized Quasi-Monte Carlo simulation.


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
CallCenterSimRQMC(CallCenterParams ccParams, RepSimParams simParams, int numPoints)
          Constructs a new randomized Quasi-Monte Carlo call center simulator using the call center parameters ccParams, and simulation parameters simParams, with a point set containing numPoints points.
 
Method Summary
protected  PointSet createPointSet(int numPoints)
          Creates the point set used for Quasi-Monte Carlo, which contains numPoints points.
 void eval()
          Performs a simulation to evaluate the performance measures.
 CallCenterStatProbes getCallCenterStatProbes()
           
 PointSet getPointSet()
          Returns the point set used by this simulator.
protected  void installPointSet()
          Configures the simulator for generating random numbers from the point set rather than from the default random streams.
static void main(String[] args)
          Main method allowing to run this class from the command-line.
protected  void randomizePointSet()
          Randomize the point set for a new macro-replication.
 void reset()
          Resets this contact center evaluation system for new parameters.
 void reset(CallCenterParams ccParams, SimParams simParams)
           
protected  void uninstallPointSet()
          Restors the simulator to stop using the point set.
 
Methods inherited from class umontreal.iro.lecuyer.contactcenters.msk.AbstractCallCenterSim
abort, addContactCenterSimListener, applyControlVariables, clearContactCenterSimListeners, createControlVariables, createModel, createSimLogic, disableControlVariables, enableControlVariables, finishEvaluation, formatReport, getAgentGroupName, getAgentGroupProperties, getAgentGroupSegmentName, getAgentGroupSegmentProperties, getCallCenter, 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, 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
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
 

Constructor Detail

CallCenterSimRQMC

public CallCenterSimRQMC(CallCenterParams ccParams,
                         RepSimParams simParams,
                         int numPoints)
                  throws CallCenterCreationException
Constructs a new randomized Quasi-Monte Carlo call center simulator using the call center parameters ccParams, and simulation parameters simParams, with a point set containing numPoints points.

Parameters:
ccParams - the call center parameters.
simParams - the simulation parameters.
numPoints - the number of points in the point set.
Throws:
CallCenterCreationException
Method Detail

getPointSet

public PointSet getPointSet()
Returns the point set used by this simulator.

Returns:
the point set being used.

createPointSet

protected PointSet createPointSet(int numPoints)
Creates the point set used for Quasi-Monte Carlo, which contains numPoints points. By default, this creates a Sobol sequence with one dimension, and containing numPoints points.

Parameters:
numPoints - the number of points in the point set.
Returns:
the constructed point set.

installPointSet

protected void installPointSet()
Configures the simulator for generating random numbers from the point set rather than from the default random streams. By default, this changes the busyness generator to obtain the busyness factor from the first dimension of the point set.


uninstallPointSet

protected void uninstallPointSet()
Restors the simulator to stop using the point set.


randomizePointSet

protected void randomizePointSet()
Randomize the point set for a new macro-replication. By default, this applies an affine matrix scrambbling followed by a random digital shift.


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
Overrides:
eval in class AbstractCallCenterSim

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
Overrides:
reset in class AbstractCallCenterSim

reset

public void reset(CallCenterParams ccParams,
                  SimParams simParams)
           throws CallCenterCreationException
Overrides:
reset in class AbstractCallCenterSim
Throws:
CallCenterCreationException

getCallCenterStatProbes

public CallCenterStatProbes getCallCenterStatProbes()
Overrides:
getCallCenterStatProbes in class AbstractCallCenterSim

main

public static void main(String[] args)
                 throws IOException,
                        CallCenterCreationException,
                        JAXBException
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.
Throws:
IOException
CallCenterCreationException
JAXBException

ContactCenters
V. 0.9.9.

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