|
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.ctmc.CallCenterCounters
public class CallCenterCounters
Represents statistical counters computing sums
for individual replications of a simulation
of a call center using
a discrete-time Markov chain.
After a simulator constructs an instance of this
class, it calls init(CallCenterCTMC,double,int)
at the beginning of each replication, and
then uses collectStat(CallCenterCTMC,TransitionType)
for each simulated transition.
At the end of the simulation, the method
updateStatOnTime(CallCenterCTMC)
should also be called.
Field Summary | |
---|---|
double[] |
busyAgents
|
double[] |
maxBusyAgents
|
double[] |
maxQueueSize
|
double[] |
numAbandoned
|
double[] |
numAbandonedBeforeAWT
|
double[] |
numAbandonedBeforeAWTG
|
double[] |
numArrivals
|
double[] |
numBlocked
|
double |
numFalseTransitions
|
double[] |
numServedBeforeAWT
|
double[] |
numServedBeforeAWTG
|
double |
numTransitions
|
double[] |
queueSize
|
double[] |
servedRates
|
double[] |
sumWaitingTimesAbandoned
|
double[] |
sumWaitingTimesServed
|
double[] |
totalAgents
|
Constructor Summary | |
---|---|
CallCenterCounters(CallCenterCTMC ctmc,
double[] awt,
boolean randomHorizon)
Constructs a new set of call center counters using the given CTMC to obtain the number of call types, agent groups, etc. |
|
CallCenterCounters(CallCenterCTMC ctmc,
double[] awt,
double[] gawt,
boolean randomHorizon,
double[] jumpRate,
int[] startingTransition,
int counterPeriod)
Similar to constructor CallCenterCounters(CallCenterCTMC,double[],boolean) ,
for a case with multiple periods. |
Method Summary | |
---|---|
CallCenterCounters |
clone()
Returns a copy of this set of counters. |
void |
collectStat(CallCenterCTMC ctmc,
TransitionType type)
Collects statistics concerning the last transition of the CTMC ctmc with type type by updating the appropriate counters. |
void |
collectSum(boolean lastTimeAvg,
boolean statAWTG,
CallCenterCounters... counters)
For each counter of this set, replaces the current value with the sum of the values of all corresponding counters in the sets given by the array counters. |
AccumulateWithTimes[] |
getStatTotalAgents()
|
double[] |
getTotalAgents()
|
void |
init(CallCenterCTMC ctmc,
double timeHorizon,
int ntr)
Initializes this set of counters using the given call center CTMC ctmc, for a simulation over a time horizon timeHorizon with ntr transitions. |
String |
toString()
Returns a string giving the number of counted arrivals, abandoned calls, and calls waiting less than the acceptable waiting time. |
void |
updateStatOnTime(CallCenterCTMC ctmc)
Updates the arrays queueSize ,
busyAgents , and
totalAgents for this
set of counters from the corresponding
accumulates computing time-averages for the
queue size, number of busy agents, and total number of
agents, respectively. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public double[] numArrivals
public double[] numBlocked
public double[] numAbandoned
public double[] queueSize
public double[] busyAgents
public double[] totalAgents
public double[] servedRates
public double[] maxQueueSize
public double[] maxBusyAgents
public double numTransitions
public double numFalseTransitions
public double[] numServedBeforeAWT
public double[] numAbandonedBeforeAWT
public double[] numServedBeforeAWTG
public double[] numAbandonedBeforeAWTG
public double[] sumWaitingTimesServed
public double[] sumWaitingTimesAbandoned
Constructor Detail |
---|
public CallCenterCounters(CallCenterCTMC ctmc, double[] awt, boolean randomHorizon)
The boolean randomHorizon is set to true if we are simulating on a random horizon, or false for deterministic horizon. The horizon type has an impact on how some performance measures are estimated.
ctmc
- the call center model.awt
- the vector of acceptable waiting times.randomHorizon
- true for a random time horizon,
false for a deterministic horizon.public CallCenterCounters(CallCenterCTMC ctmc, double[] awt, double[] gawt, boolean randomHorizon, double[] jumpRate, int[] startingTransition, int counterPeriod)
CallCenterCounters(CallCenterCTMC,double[],boolean)
,
for a case with multiple periods.
The additional argument gawt plays a role similar
to awt, but
contains thresholds used for all periods;
this is used to estimate performance measures
based of acceptable waiting times over the entire
horizon while awt is used for the estimates
over a single period.
The last three arguments are used to estimate performance measures for calls arriving into and leaving the system during different periods. The argument jumpRate contains a (P + 1)-dimensional vector of transition rates for each of the P + 1 period-specific CTMCs; there is P CTMCs for the main periods, plus one CTMC for the wrap-up period. The argument startingTransition, on the other hand, is a (P + 1)-dimensional vector giving the starting transition for each period; this is updated as the simulation is made. The argument counterPeriod gives the index of the period for which this set of counters computes sums.
ctmc
- the call center model.awt
- the vector of period-specific acceptable waiting times.gawt
- the vector of global acceptable waiting times.randomHorizon
- true for a random time horizon,
false for a deterministic horizon.jumpRate
- the per-period transition rates.startingTransition
- the starting transitions for each period.counterPeriod
- the period concerned by this counter.Method Detail |
---|
public void init(CallCenterCTMC ctmc, double timeHorizon, int ntr)
ctmc
- the call center CTMC.timeHorizon
- the time horizon.ntr
- the number of transitions to simulate.public void collectSum(boolean lastTimeAvg, boolean statAWTG, CallCenterCounters... counters)
The lastTimeAvg boolean determines if the last counter in the given array, which usually corresponds to counters concerning the wrap-up period, is taken into account when summing the time-average queue size and number of agents. This has no impact on other statistics.
If statAWTG is set to true,
the number of calls waiting less than the acceptable waiting
time, stored in fields numServedBeforeAWT
and numAbandonedBeforeAWT
,
are determined by summing the numbers in fields
numServedBeforeAWTG
and
numAbandonedBeforeAWTG
in
the counters of counters.
If statAWTG is false,
the fields numServedBeforeAWT
and
numAbandonedBeforeAWT
are used instead.
lastTimeAvg
- determines whether the last element in
array counters is taken into account
for average queue size and number of agents.statAWTG
- determines how the number of
calls waiting less than the acceptable waiting time
is summed up.counters
- the array of counters.public void collectStat(CallCenterCTMC ctmc, TransitionType type)
ctmc
- the call center CTMC.type
- the transition type.public void updateStatOnTime(CallCenterCTMC ctmc)
queueSize
,
busyAgents
, and
totalAgents
for this
set of counters from the corresponding
accumulates computing time-averages for the
queue size, number of busy agents, and total number of
agents, respectively.
Note that the third quantity changes with time only
in a multi-period setup.
ctmc
- the call center CTMC.public AccumulateWithTimes[] getStatTotalAgents()
public double[] getTotalAgents()
public CallCenterCounters clone()
clone
in class Object
public String toString()
toString
in class Object
|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |