ContactCenters
V. 0.9.9.

umontreal.iro.lecuyer.contactcenters.server
Class GroupVolumeStat

java.lang.Object
  extended by umontreal.iro.lecuyer.contactcenters.server.GroupVolumeStat
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
GroupVolumeStatMeasureMatrix

public class GroupVolumeStat
extends Object
implements Cloneable

Computes statistics for a specific agent group. Using accumulates, this class can compute integrals of Ni(t), $ \Ni$[i](t), $ \Nb$[i](t), $ \Ng$[i](t), and $ \Nf$[i](t), for agent group i from the last call to init() to the current simulation time. Optionally, it can also compute the integral for $ \Nb$[i, k](t), the number of busy agents in group i serving contacts of type k, for k = 0,…, K - 1.


Constructor Summary
GroupVolumeStat(AgentGroup group)
          Constructs a new agent-group volume statistical probe observing the agent group group and only computing aggregate statistics.
GroupVolumeStat(AgentGroup group, int numTypes)
          Constructs a new agent-group volume statistical probe observing the agent group group, and supporting numTypes contact types.
GroupVolumeStat(Simulator sim, AgentGroup group)
           
GroupVolumeStat(Simulator sim, AgentGroup group, int numTypes)
           
 
Method Summary
 GroupVolumeStat clone()
          Constructs and returns a clone of this agent-group statistical collector.
 AgentGroup getAgentGroup()
          Returns the agent group currently associated with this object.
 int getNumContactTypes()
          Returns the number of contact types supported by this object.
 Accumulate getStatNumAgents()
          Returns the statistical probe computing the integral of the total number of agents over the simulation time.
 Accumulate getStatNumBusyAgents()
          Returns the statistical probe computing the integral of the number of busy agents over the simulation time.
 Accumulate getStatNumBusyAgents(int k)
          Returns the statistical probe computing the integral of the number of busy agents serving contacts of type k, over the simulation time.
 Accumulate getStatNumFreeAgents()
          Returns the statistical probe computing the integral of the number of free agents over the simulation time.
 Accumulate getStatNumGhostAgents()
          Returns the statistical probe computing the integral of the number of ghost agents over the simulation time.
 Accumulate getStatNumIdleAgents()
          Returns the statistical probe computing the integral of the number of idle (available and unavailable) agents over the simulation time.
 void init()
           
 void setAgentGroup(AgentGroup agentGroup)
          Sets the associated agent group to agentGroup.
 void setSimulator(Simulator sim)
          Sets the simulator attached to internal accumulates to sim.
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GroupVolumeStat

public GroupVolumeStat(AgentGroup group)
Constructs a new agent-group volume statistical probe observing the agent group group and only computing aggregate statistics. This is equivalent to GroupVolumeStat (group, 0).

Parameters:
group - the observed agent group.

GroupVolumeStat

public GroupVolumeStat(Simulator sim,
                       AgentGroup group)

GroupVolumeStat

public GroupVolumeStat(AgentGroup group,
                       int numTypes)
Constructs a new agent-group volume statistical probe observing the agent group group, and supporting numTypes contact types.

Parameters:
group - the observed agent group.
numTypes - the number of contact types.
Throws:
IllegalArgumentException - if numTypes is negative.

GroupVolumeStat

public GroupVolumeStat(Simulator sim,
                       AgentGroup group,
                       int numTypes)
Method Detail

setSimulator

public void setSimulator(Simulator sim)
Sets the simulator attached to internal accumulates to sim.

Parameters:
sim - the new simulator.
Throws:
NullPointerException - if sim is null.

getAgentGroup

public final AgentGroup getAgentGroup()
Returns the agent group currently associated with this object.

Returns:
the currently associated agent group.

setAgentGroup

public final void setAgentGroup(AgentGroup agentGroup)
Sets the associated agent group to agentGroup. If the given group is null, the statistical collector is disabled until a non-null agent group is given. This can be used during a replication if the integrals must be computed during some periods only.

Parameters:
agentGroup - the new associated agent group.

getStatNumAgents

public Accumulate getStatNumAgents()
Returns the statistical probe computing the integral of the total number of agents over the simulation time.

Returns:
the statistical probe for the total number of agents.

getStatNumGhostAgents

public Accumulate getStatNumGhostAgents()
Returns the statistical probe computing the integral of the number of ghost agents over the simulation time.

Returns:
the statistical probe for the number of ghost agents.

getStatNumIdleAgents

public Accumulate getStatNumIdleAgents()
Returns the statistical probe computing the integral of the number of idle (available and unavailable) agents over the simulation time.

Returns:
the statistical probe for the number of idle agents.

getStatNumFreeAgents

public Accumulate getStatNumFreeAgents()
Returns the statistical probe computing the integral of the number of free agents over the simulation time.

Returns:
the statistical probe for the number of free agents.

getStatNumBusyAgents

public Accumulate getStatNumBusyAgents()
Returns the statistical probe computing the integral of the number of busy agents over the simulation time.

Returns:
the statistical probe for the number of busy agents.

getStatNumBusyAgents

public Accumulate getStatNumBusyAgents(int k)
Returns the statistical probe computing the integral of the number of busy agents serving contacts of type k, over the simulation time.

Parameters:
k - the queried contact type.
Returns:
the service volume statistical probe.
Throws:
ArrayIndexOutOfBoundsException - if k is negative or greater than or equal to the number of supported contact types.

getNumContactTypes

public int getNumContactTypes()
Returns the number of contact types supported by this object.

Returns:
the number of supported contact types.

init

public void init()

toString

public String toString()
Overrides:
toString in class Object

clone

public GroupVolumeStat clone()
Constructs and returns a clone of this agent-group statistical collector. This method clones the internal statistical collectors, but the clone has no associated agent group. This can be used to save the state of the statistical collector for future restoration.

Overrides:
clone in class Object
Returns:
a clone of this object.

ContactCenters
V. 0.9.9.

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