|
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.contactcenters.msk.stat.BusyAgentsChecker
public final class BusyAgentsChecker
Computes the maximal number of busy agents for every agent group and statistical period, during the simulation. An object of this class registers as a listener for every agent group. Each time a contact enters service, the object then checks that the number of busy agents is not greater than the current maximum, and updates the maximum if necessary. When the model is simulated over multiple periods, such maxima are computed for each period. A busy-agents checker is also a period-change listener, because at the beginning of periods, it needs to set the per-period initial maxima to the current number of busy agents.
Constructor Summary | |
---|---|
BusyAgentsChecker(CallCenter cc,
StatPeriod statP)
Constructs a new busy-agents checker using call center cc, and object statP to obtain statistical periods. |
Method Summary | |
---|---|
void |
agentGroupChange(AgentGroup group)
This method is called when the number of available or free agents in the agent group group is changed. |
void |
beginService(EndServiceEvent ev)
This method is called after the service of a contact by an agent was started. |
void |
endContact(EndServiceEvent ev)
This method is called after the communication of a contact with an agent was terminated, with ev containing all the information. |
void |
endService(EndServiceEvent ev)
This method is called after the service of a contact by an agent was terminated. |
double |
getMeasure(int i,
int p)
Returns the measure corresponding to the index i and period p. |
int |
getNumMeasures()
Returns the number of measures calculated by the implementation of this interface. |
int |
getNumPeriods()
Returns the number of periods stored into this matrix of measures. |
void |
init()
Initializes the counters to 0. |
void |
init(AgentGroup group)
This method is called after the AgentGroup.init() method
is called for the agent group group. |
void |
initForCurrentPeriod()
|
void |
register()
Registers this busy-agents checker with the associated call center model. |
void |
regroupPeriods(int x)
Increases the length of stored periods by regrouping them. |
void |
setNumMeasures(int nm)
Sets the number of measures to nm. |
void |
setNumPeriods(int np)
Sets the number of periods of this matrix to np. |
void |
unregister()
Unregisters this busy-agents checker with the associated model. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BusyAgentsChecker(CallCenter cc, StatPeriod statP)
Method Detail |
---|
public void init()
init
in interface MeasureMatrix
public void initForCurrentPeriod()
public void register()
public void unregister()
register()
.
public void agentGroupChange(AgentGroup group)
AgentGroupListener
AgentGroup.setNumAgents(int)
method is called, or when the
efficiency is changed.
This is also called when DetailedAgentGroup.addAgent(umontreal.iro.lecuyer.contactcenters.server.Agent)
or DetailedAgentGroup.removeAgent(umontreal.iro.lecuyer.contactcenters.server.Agent)
are used.
agentGroupChange
in interface AgentGroupListener
group
- the agent group being modified.public void beginService(EndServiceEvent ev)
AgentGroupListener
beginService
in interface AgentGroupListener
ev
- the end-service event associated with the contact being served.public void endContact(EndServiceEvent ev)
AgentGroupListener
endContact
in interface AgentGroupListener
ev
- the end-service event associated with the served contact.public void endService(EndServiceEvent ev)
AgentGroupListener
endService
in interface AgentGroupListener
ev
- the end-service event associated with the served contact.public void init(AgentGroup group)
AgentGroupListener
AgentGroup.init()
method
is called for the agent group group.
init
in interface AgentGroupListener
group
- the agent group being initialized.public double getMeasure(int i, int p)
MeasureMatrix
getMeasure
in interface MeasureMatrix
i
- the index of the measure.p
- the period of the measure.
public int getNumMeasures()
MeasureMatrix
getNumMeasures
in interface MeasureMatrix
public int getNumPeriods()
MeasureMatrix
getNumPeriods
in interface MeasureMatrix
public void regroupPeriods(int x)
MeasureMatrix
MeasureMatrix.getNumPeriods()
/x -
1, it sums the values for periods xp, ...,xp+x-1,
and stores the results in period p whose length will be
x times the length of original periods. If the number of periods
is not a multiple of x, an additional period is used to contain
the remaining sums of values. The unused periods are zeroed for future
use. This method can be useful for memory management when using batch
means to estimate steady-state performance measures.
regroupPeriods
in interface MeasureMatrix
x
- the number of periods per group.public void setNumMeasures(int nm)
MeasureMatrix
setNumMeasures
in interface MeasureMatrix
nm
- the new number of measures.public void setNumPeriods(int np)
MeasureMatrix
setNumPeriods
in interface MeasureMatrix
np
- the new number of periods.
|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |