|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectumontreal.iro.lecuyer.xmlbind.NamedInfo
umontreal.iro.lecuyer.contactcenters.msk.model.AgentGroupManager
umontreal.iro.lecuyer.contactcenters.msk.model.AgentGroupManagerWithSchedule
public class AgentGroupManagerWithSchedule
Manages an agent group whose member follow a given schedule. A schedule is composed of shifts that can start and end at arbitrary times during the simulation horizon. This agent group manager encapsulates a simulation event for each shift. This event is used to add or remove agents to the managed group during simulation.
Constructor Summary | |
---|---|
AgentGroupManagerWithSchedule(CallCenter cc,
AgentGroupParams par,
int i)
Constructs the new schedule-based agent group manager. |
Method Summary | |
---|---|
protected AgentGroup |
createAgentGroup(AgentGroupParams par,
int i)
Constructs and returns a detailed agent group, which is needed to add and remove agents. |
DetailedAgentGroup |
getAgentGroup()
Returns a reference to the managed agent group. |
int[] |
getEffectiveNumAgents()
Returns the effective number of agents during each shift. |
int |
getEffectiveNumAgents(int shift)
Similar to getEffectiveNumAgents() ,
for a specific shift shift. |
int[] |
getNumAgents()
Returns a vector giving the raw number of agents for each shift. |
int |
getNumAgents(int shift)
Returns the raw number of agents in shift shift. |
int |
getNumShifts()
Returns the number of shifts in the schedule. |
ScheduleShift |
getShift(int i)
Returns the shift with index i. |
boolean[][] |
getShiftMatrix()
Computes and returns the matrix of shifts. |
int[][] |
getShiftMatrixInt()
Similar to getShiftMatrix() , but
returns a matrix of integers, with 0 meaning
false, and 1 meaning true. |
ScheduleShift[] |
getShifts()
Returns the shifts composing the schedule of the agents. |
int[] |
getStaffing()
Computes and returns the staffing vector. |
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. |
void |
setEffectiveNumAgents(int[] numAgents)
Sets the effective number of agents for each shift of the managed agent group to numAgents. |
void |
setEffectiveNumAgents(int shift,
int n)
Similar to setEffectiveNumAgents(int[]) ,
but only sets the number of agents in shift shift
to n instead of the number of agents in all shifts. |
void |
setNumAgents(int[] numAgents)
Sets the vector of raw numbers of agents to numAgents. |
void |
setNumAgents(int shift,
int n)
Sets the raw number of agents in shift shift to n. |
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 |
---|
public AgentGroupManagerWithSchedule(CallCenter cc, AgentGroupParams par, int i) throws AgentGroupCreationException
cc
- the call center model.par
- the agent group parameters.i
- the index of the agent group.
AgentGroupCreationException
- if an exception occurs
when creating the agent group.Method Detail |
---|
protected AgentGroup createAgentGroup(AgentGroupParams par, int i) throws AgentGroupCreationException
createAgentGroup
in class AgentGroupManager
i
- the agent group index.
AgentGroupCreationException
public ScheduleShift[] getShifts()
public int getNumShifts()
public ScheduleShift getShift(int i)
i
- the index of the shift.
public int[] getNumAgents()
getEffectiveNumAgents()
is recommended to take
account of agents multipliers into account.
public int getNumAgents(int shift)
getEffectiveNumAgents(int)
can be used to take agents multipliers into account.
shift
- the index of the shift.
public int[] getEffectiveNumAgents()
getNumAgents()
, and
multiplies each element of the returned array
by m*mi, where m is determined by
CallCenter.getAgentsMult()
and
mi is given by AgentGroupManager.getAgentsMult()
.
The resulting numbers are rounded to the nearest integers, and
stored in the array being returned.
public int getEffectiveNumAgents(int shift)
getEffectiveNumAgents()
,
for a specific shift shift.
shift
- the index of the tested shift.
public void setNumAgents(int[] numAgents)
numAgents
- the new vector of agents.public void setNumAgents(int shift, int n)
shift
- the index of the affected shift.n
- the new number of agents.public void setEffectiveNumAgents(int[] numAgents)
setNumAgents(int[])
, but it also
resets the value of the multiplier m*mk to 1.
This makes sure that getEffectiveNumAgents()
will return the same value as the vector
passed to this method.
numAgents
- the new vector of agents.public void setEffectiveNumAgents(int shift, int n)
setEffectiveNumAgents(int[])
,
but only sets the number of agents in shift shift
to n instead of the number of agents in all shifts.
shift
- the index of the affected shift.n
- the new number of agents.public boolean[][] getShiftMatrix()
public int[][] getShiftMatrixInt()
getShiftMatrix()
, but
returns a matrix of integers, with 0 meaning
false, and 1 meaning true.
public int[] getStaffing()
getNumAgents()
multiplied by
the matrix returned by getShiftMatrix()
.
getStaffing
in class AgentGroupManager
public int getStaffing(int mp)
AgentGroupManager
AgentGroupManager.getStaffing()
.
As with AgentGroupManager.getStaffing()
, this method is for
internal use.
The method AgentGroupManager.getEffectiveStaffing(int)
should be used instead.
getStaffing
in class AgentGroupManager
mp
- the index of the tested main period.
public DetailedAgentGroup getAgentGroup()
AgentGroupManager
getAgentGroup
in class AgentGroupManager
public void init()
AgentGroupManager
init
in class AgentGroupManager
|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |