ContactCenters
V. 0.9.9.

Package umontreal.iro.lecuyer.contactcenters.msk.model

Provides the classes that implement the model of a call center with multiple call types and agent groups used by the blend and multi-skill simulator.

See:
          Description

Class Summary
AgentGroupManager Manages an agent group in the call center model.
AgentGroupManagerWithAgents Manages an agent group with detailed information on each agent.
AgentGroupManagerWithSchedule Manages an agent group whose member follow a given schedule.
AgentGroupManagerWithStaffing Manages an agent group with a staffing vector giving the number of agents for each period.
AgentGroupSchedule Represents the schedule of agents in a certain group.
AgentInfo Encapsulates the information concerning a specific agent in a call center model.
ArrivalProcessManager Encapsulates the parameters of an arrival process, constructs the corresponding ContactArrivalProcess object, and updates its state during simulation.
Call Represents a call in the multi-skill call center simulator.
CallCenter Represents the model of a call center with multiple call types and agent groups.
CallCenterRoutingStageInfo Provides information on a routing stage, for the OverflowAndPriorityRouter router.
CallCenterUtil Provides helper static methoeds used for the initialization of call center models.
CallFactory Contact factory used to create the calls for the simulator, and to generate call-specific random variates such as patience times and service times.
CallNotifierForAgentsMove Exited-contact listener used to update the state of the AGENTSMOVE dialer's policy during the simulation.
CallNotifierForBadContactMismatchRate Exited-contact and new-contact listeners used to update the state of the BADCONTACTMISMATCHRATE dialer's policy.
CallSourceManager Represents information concerning a call source, i.e., an arrival process or a dialer.
CallTransferManager Implements the necessary logic for call transfer from primary to secondary agents.
DialerLimit Represents a limit on the number of calls to dial.
DialerListWithLimits Represents a dialer list imposing limits on the number of calls to dial.
DialerManager Manages a dialer performing outbound calls.
DialerObjects Regroups objects used by dialers.
MakeAgentAvailableEvent Represents an event occuring when a disconnected agent becomes available again.
OutboundCallFactory Represents a call factory for outbound calls.
RandomStreams Encapsulates the random streams used by the blend/multi-skill call center simulator.
RandomTypeCallFactory This class is similar to RandomTypeContactFactory, but it allows the probability of generating each contact type to change from periods to periods, and possibly depends on the presence of agents in groups.
RouterManager Manages the creation of the router as well as the data structures containing routing information.
RoutingCase Represents a routing case part of a routing stage, for the OverflowAndPriorityRouter.
ScheduleShift Represents a shift in a schedule for agents.
SegmentInfo Represents information about a user-defined segment regrouping some indexed entities such as call types, agent groups, or periods.
ServiceTimesAgentManager Manages the construction of service time generators specific to each agent, as well as a default generator used when no generator is available for a given agent.
ServiceTimesManager Manages the construction of service time generators specific to each agent, to each agent group also as well as a default generator used when no generator is available for a given agent or agent group.
ShiftEvent Represents a simulation event adding agents to a group at the beginning of working parts of a shift, and removing them at the end of working parts.
ShiftPart Represents the part of a shift in a schedule.
SingleTypeInfiniteDialerList  
TimeInterval Represents a time interval.
VirtualHoldManager Implements the necessary logic for virtual holding, also called virtual queueing.
 

Enum Summary
AgentGroupStreamType Types of random streams for agent groups.
ArrivalProcessStreamType Types of random streams for arrival processes.
CallFactoryStreamType Types of random streams for call factories.
CallFactoryStreamType2 Complementary random streams for call factories.
DialerStreamType Types of random streams for dialers.
 

Exception Summary
AgentGroupCreationException This exception is thrown when an error occurs during the creation of an agent group.
ArrivalProcessCreationException This exception is thrown when a problem occurs during the creation of an arrival process.
CallCenterCreationException This exception is thrown when a problem occurs during the creation of a call center model.
CallFactoryCreationException This exception is thrown when a problem occurs during the creation of a call factory.
DialerCreationException This exception is thrown when a problem occurs during the creation of a dialer.
RouterCreationException This exception is thrown when a problem occurs during the creation of the router.
 

Package umontreal.iro.lecuyer.contactcenters.msk.model Description

Provides the classes that implement the model of a call center with multiple call types and agent groups used by the blend and multi-skill simulator. The implemented model contains several elements: random streams for each type of random variate, factories for creating objects representing calls, arrival processes for generating the arrival times of inbound calls, dialers for producing outbound calls, agent groups, waiting queues, and a router. The parameters of the model are obtained using XML files transformed by JAXB into intermediate objects regrouped in an instance of the CallCenterParams class. The class CallCenterParamsConverter can be used to help in the conversion of XML data to an instance of CallCenterParams. The parameter objects are used to create the model, which provides methods to access parameters in a convenient way.

Arrival processes, dialers, agent groups, and the router are encapsulated in manager objects playing several roles: provide convenience methods for accessing parameters specific to the managed object, create the appropriate instance for the managed object, initialize it at the beginning of a simulation, and update its state throughout the simulation. All these manager objects can be accessed using methods in the CallCenter class, which is the central point of the model.

The model is usually created by the CallCenterSim class, and can be retrieved by its getCallCenter method. However, one may create a CallCenter object directly, and use it to get some information about the represented call center (e.g., mean service times), or perform custom simulations.


ContactCenters
V. 0.9.9.

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