ContactCenters
V. 0.9.9.

umontreal.iro.lecuyer.contactcenters.msk.model
Class AgentGroupManagerWithAgents

java.lang.Object
  extended by umontreal.iro.lecuyer.xmlbind.NamedInfo
      extended by umontreal.iro.lecuyer.contactcenters.msk.model.AgentGroupManager
          extended by umontreal.iro.lecuyer.contactcenters.msk.model.AgentGroupManagerWithAgents

public class AgentGroupManagerWithAgents
extends AgentGroupManager

Manages an agent group with detailed information on each agent.


Constructor Summary
AgentGroupManagerWithAgents(CallCenter cc, AgentGroupParams par, int i)
          Creates an agent group manager with the call center model cc, agent group parameters par, and agent group index i.
 
Method Summary
protected  AgentGroup createAgentGroup(AgentGroupParams par, int i)
          Constructs and returns a detailed agent group, which is needed to add and remove agents.
 AgentInfo getAgent(int i)
          Returns the agent with index i in this group.
 DetailedAgentGroup getAgentGroup()
          Returns a reference to the managed agent group.
 AgentInfo[] getAgents()
          Returns an array containing an information object for each agent in this group.
 int getNumAgents()
          Returns the number of agents in this group.
 boolean[][] getShiftMatrix()
          Computes and returns the shift matrix.
 int[][] getShiftMatrixInt()
          Similar to getShiftMatrix(), but returns a matrix of integers, with 0 meaning false, and 1 meaning true.
 int[] getStaffing()
          Returns the raw staffing of the managed agent group.
 int getStaffing(int mp)
          Returns element mp of the array that would be returned by AgentGroupManager.getStaffing().
 void init()
          Calls init on the managed agent group.
 
Methods inherited from class umontreal.iro.lecuyer.contactcenters.msk.model.AgentGroupManager
connectToRouter, create, estimateParameters, getAgentsMult, getBusyCost, getBusyCost, getCallCenter, getDisconnectTimeGen, getEffectiveStaffing, getEffectiveStaffing, getIdleCost, getIdleCost, getMaxAgents, getMaxAgents, getMinAgents, getMinAgents, getPerUseCost, getPerUseCost, getProbDisconnect, getProbDisconnect, getProbDisconnectStream, getSchedule, getSkillCount, getWeight, getWeight, setAgentsMult, setProbDisconnectStream, setSchedule
 
Methods inherited from class umontreal.iro.lecuyer.xmlbind.NamedInfo
getName, getProperties, getStringProperties
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AgentGroupManagerWithAgents

public AgentGroupManagerWithAgents(CallCenter cc,
                                   AgentGroupParams par,
                                   int i)
                            throws AgentGroupCreationException
Creates an agent group manager with the call center model cc, agent group parameters par, and agent group index i.

Parameters:
cc - the call center model.
par - the agent group parameters.
i - the agent group index.
Throws:
AgentGroupCreationException - if an error occurs during the creation of the agent group manager.
Method Detail

createAgentGroup

protected AgentGroup createAgentGroup(AgentGroupParams par,
                                      int i)
                               throws AgentGroupCreationException
Constructs and returns a detailed agent group, which is needed to add and remove agents.

Overrides:
createAgentGroup in class AgentGroupManager
i - the agent group index.
Returns:
the constructed agent group.
Throws:
AgentGroupCreationException

getAgentGroup

public DetailedAgentGroup getAgentGroup()
Description copied from class: AgentGroupManager
Returns a reference to the managed agent group.

Overrides:
getAgentGroup in class AgentGroupManager

getAgents

public AgentInfo[] getAgents()
Returns an array containing an information object for each agent in this group.

Returns:
the array of agent information objects.

getNumAgents

public int getNumAgents()
Returns the number of agents in this group.

Returns:
the number of agents in this group.

getAgent

public AgentInfo getAgent(int i)
Returns the agent with index i in this group.

Parameters:
i - the index of the agent.
Returns:
the agent information object.

init

public void init()
Description copied from class: AgentGroupManager
Calls init on the managed agent group.

Overrides:
init in class AgentGroupManager

getShiftMatrix

public boolean[][] getShiftMatrix()
Computes and returns the shift matrix. Element (j, p) of this J×P matrix, where J corresponds to the number of shifts and P, to the number of main periods, is true if and only if agents are scheduled to work on shift j during main period p.


getShiftMatrixInt

public int[][] getShiftMatrixInt()
Similar to getShiftMatrix(), but returns a matrix of integers, with 0 meaning false, and 1 meaning true.


getStaffing

public int[] getStaffing()
Description copied from class: AgentGroupManager
Returns the raw staffing of the managed agent group. The returned array gives the number of agents in the managed group during each main period in the model, before any multiplier is applied.

This method is mainly for internal use; the AgentGroupManager.getEffectiveStaffing() method should be used instead to take multipliers into account.

The default behavior of this method is to return an array of 0's.

Overrides:
getStaffing in class AgentGroupManager
Returns:
the raw staffing for the managed agent group.

getStaffing

public int getStaffing(int mp)
Description copied from class: AgentGroupManager
Returns element mp of the array that would be returned by AgentGroupManager.getStaffing().

As with AgentGroupManager.getStaffing(), this method is for internal use. The method AgentGroupManager.getEffectiveStaffing(int) should be used instead.

Overrides:
getStaffing in class AgentGroupManager
Parameters:
mp - the index of the tested main period.
Returns:
the raw staffing.

ContactCenters
V. 0.9.9.

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