ContactCenters
V. 0.9.9.

Package umontreal.iro.lecuyer.contactcenters.ctmc

Provides call center simulators based on a quick uniformized continuous-time Markov chain model.

See:
          Description

Interface Summary
AgentGroupSelector Represents a policy selecting an agent group for an incoming contact, in a CTMC call center model.
CallCenterCTMC Represents a continuous-time Markov chain (CTMC) modeling a call center with possibly multiple call types and agent groups.
CallCenterCTMCWithQueues Extends the CallCenterCTMC interface for keeping track of the transition number for any queued contact.
CCEvent Represents an event occurring during a transition of a CTMC representing a contact center with multiple contact types and agent groups.
CCEventFactory Represents a factory for creating new call center events.
ProbInAWT Represents an object that can compute information on the waiting time distribution conditional on the total number of transitions during a time horizon, the transition rate, and the number of transitions spent in queue by a particular contact.
TransitionListener Represents a listener that can be notified when a transition occurs during a DTMC simulation of a call center.
WaitingQueueSelector Represents a policy selecting a queued contact for an agent becoming free, in a CTMC call center model.
 

Class Summary
AbstractCallCenterCTMCSim Base class for simulators of call centers using a continuous-time Markov chain.
AbstractCallCenterCTMCSimMP  
BasicCallCenterCTMCSim  
BasicCallCenterCTMCSimMP  
CallCenterCounters Represents statistical counters computing sums for individual replications of a simulation of a call center using a discrete-time Markov chain.
CallCenterCTMC11 CTMC model for a call center with a single call type and a single agent group.
CallCenterCTMC11WithQueues Extension of the CTMC model for a single contact type and agent group, with information on contacts waiting in queue.
CallCenterCTMCKI CTMC model of a call center with multiple call types and agent groups.
CallCenterCTMCKIWithQueues Extends the CTMC model for multiple call types and agent groups with information on queued calls.
CallCenterCTMCQueues Provides helper method used to maintain information on queued calls, for a CTMC model of a call center.
CallCenterStat Regroups tallies collecting observations obtained from independent replications of a simulation using a CTMC in the case of an individual period.
CallCenterStatMP Provides a merged view of several single-period CallCenterStat instances.
CircularIntArray Represents a resizable circular array of integers.
EventWithSelection Represents an event that can select the integers k = 0,…, K - 1 and p = 0,…, nk - 1 such that 0≤u - $ \htsum_{{j=0}}^{{k-1}}$Wjnj - pWk < wk.
EventWithTest Abstract event type with some helper methods to generate u1u < u2 randomly and uniformly, and to test that u < t for any value of t.
FalseTransitionEvent  
InitStateThresh Used to initialize vectors of thresholds automatically.
IntMCallCenterCTMCSim  
ListGroupSelector Represents an agent group selector using static lists for agent selection.
ListQueueSelector Represents a waiting queue selector using static lists.
LookupEvent Represents a call center event using random bits to select the index of a subinterval corresponding to an event.
PriorityGroupSelector  
PriorityQueueSelectorQS  
PriorityQueueSelectorWT  
ProbInAWTBinomial Computes information on the conditional distribution of the waiting time, for a deterministic horizon.
ProbInAWTGamma Computes information on the conditional distribution of the waiting time in the case of a random horizon.
QueueSizeThresh Encapsulates thresholds on the queue size with the corresponding transition rates and geometric distributions for the number of successive self jumps preceding any generated transition.
RateChangeInfo Represents information about a change in the arrival rate.
RateChangeTransitions Provides methods to determine transitions at which arrivl rates change in order to have piecewise-constant arrival rates in the CTMC simulator.
SimpleGroupSelector  
SimpleQueueSelector  
StateThresh Represents thresholds on the queue size, and the number of agents in each group.
 

Enum Summary
TransitionType Represents the type of a transition performed by the CallCenterCTMC.nextState(double) method.
 

Exception Summary
CTMCCreationException  
 

Package umontreal.iro.lecuyer.contactcenters.ctmc Description

Provides call center simulators based on a quick uniformized continuous-time Markov chain model. Staffing and scheduling optimization in large multiskill call centers is time-consuming, mainly because it requires lengthy simulations to evaluate performance measures and their sensitivity. Simplified models that provide tractable formulas are unrealistic in general. This package implements an intermediate solution, based on an approximate continuous-time Markov chain model of the call center. This model is more accurate than the commonly used approximations, and yet can be simulated faster than a more realistic simulation (based on non-exponential distributions and additional details). To speed up the simulation, the Markov chain is uniformized and only its discrete-time version is simulated. Performance measures such as the fraction of calls of each type answered within a given waiting time limit can be recovered from this simulation.

The CTMC model supports multiple call types and agent groups, but it assumes that calls arrive following a Poisson process, and service and patience times are exponential. For more information about the model, see [6].

The main class for the simulator is BasicCallCenterCTMCSimMP. It can simulate a call center with multiple periods by using one CTMC for each period. The BasicCallCenterCTMCSim class, on the other hand, provides a simulator for a single period, using a single CTMC. Both simulators first generate the total number of transitions from the Poisson distribution, followed by the transitions. However, the IntMCallCenterCTMCSim class implements a single-period simulator generating a large number of transitions and integrating over the number of transitions using Poisson probabilities when estimating performance measures.

All these simulators use CTMC models represented by the interface IntMCallCenterCTMCSim. The package provides two different implementations for this interface: one adapted for a single call type and agent group using linear search, and another one for multiple call types and agent groups based on indexed search.


ContactCenters
V. 0.9.9.

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