Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.contactcenters.dialer
Class AgentsMoveDialerPolicy.AgentGroupInfo

    java.lang.Object
      umontreal.iro.lecuyer.contactcenters.dialer.AgentsMoveDialerPolicy.AgentGroupInfo

Enclosing class:
  AgentsMoveDialerPolicy

    public static class AgentsMoveDialerPolicy.AgentGroupInfo

extends Object

Represents a virtual agent group j for the `AgentsMoveDialerPolicy`. This class encapsulates information about inbound and outbound groups in the virtual group as well as thresholds, probabilities, and delays. It also implements methods to transfer agents from groups to groups.

Constructor Summary
`AgentsMoveDialerPolicy.AgentGroupInfo(AgentGroup[] inboundGroups, double[] inboundGroupProbs, AgentGroup[] outboundGroups, double[] outboundGroupProbs, RandomStream stream)` Constructs a new virtual agent group containing all inbound agent groups int `inboundGroups`, and all outbound agent groups in `outboundGroups`.

Method Summary
`double` | `getDelayInIn()` Returns the value of [j], which defaults to 0.
`double` | `getDelayInOut()` Returns the value of [j], which defaults to 0.
`double` | `getDelayOutIn()` Returns the value of [j], which defaults to 0.
`double` | `getDelayOutOut()` Returns the value of [j], which defaults to 0.
`double[]` | `getInboundGroupProbs()` Returns the probabilities pj, i of selection for each inbound agent group.
`AgentGroup[]` | `getInboundGroups()` Returns the inbound agent group associated with this information object.
`int` | `getMaximumIdleOutboundAgents()` Returns the value of Mj, which defaults to 0.
`int` | `getMinimumIdleInboundAgents()` Returns the value of mj, which defaults to 0.
`double` | `getMinimumIdleTime()` Returns the value of tj, which defaults to 0.
`int` | `getNumInOutMoves()`
`int` | `getNumOutInMoves()`
`double[]` | `getOutboundGroupProbs()` Returns the probabilities pj, i of selection for each outbound agent group.
`AgentGroup[]` | `getOutboundGroups()` Returns the outbound agent group associated with this information object.
`void` | `init()` Initializes both agent groups, and resets the fields storing the last time moves happened.
`void` | `makeAllInbound()` Moves all outbound agents to the inbound group.
`void` | `makeInboundIfNoOut()`
`void` | `setDelayInIn(double delayInIn)` Sets the value of [j] to `delayInIn`.
`void` | `setDelayInOut(double delayInOut)` Sets the value of [j] to `delayInOut`.
`void` | `setDelayOutIn(double delayOutIn)` Sets the value of [j] to `delayOutIn`.
`void` | `setDelayOutOut(double delayOutOut)` Sets the value of [j] to `delayOutOut`.
`void` | `setMaximumIdleOutboundAgents(int maximumIdleAgents)` Sets the value of Mj to `maximumIdleAgents`.
`void` | `setMinimumIdleInboundAgents(int minimumIdleAgents)` Sets the value of mj to `minimumIdleAgents`.
`void` | `setMinimumIdleTime(double minimumIdleTime)` Sets the value of tj to `minimumIdleTime`.
`void` | `setRequiredEmptyGroupsInOut(AgentGroup[] groups)`
`void` | `setRequiredEmptyGroupsOutIn(AgentGroup[] groups)`
`Simulator` | `simulator()`
`void` | `startInboundToOutbound()` Starts the process moving inbound agents to outbound for the agent groups associated with this object.
`void` | `startOutboundToInbound()` Similar to `startInboundToOutbound()`, for the outbound-to-inbound process.
`void` | `stopInboundToOutbound()` Stops the process moving inbound agents to the outbound group.
`void` | `stopOutboundToInbound()` Similar to `stopInboundToOutbound()`, for the outbound-to-inbound process.
`void` | `transferToInbound(int n)` Transfers `n` agents from the outbound groups of this object to its inbound group.
`boolean` | `transferToInbound(int idxOut, Agent agent)` Transfers the agent `agent` to a randomly-chosen inbound agent group.
`void` | `transferToOutbound(int n)` Transfers `n` agents from the inbound groups of this object to its outbound group.
`boolean` | `transferToOutbound(int idxIn, Agent agent)` Transfers the agent `agent` to a randomly-chosen outbound agent group.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AgentsMoveDialerPolicy.AgentGroupInfo

    public AgentsMoveDialerPolicy.AgentGroupInfo(AgentGroup[] inboundGroups,
                                                 double[] inboundGroupProbs,
                                                 AgentGroup[] outboundGroups,
                                                 double[] outboundGroupProbs,
                                                 RandomStream stream)

  Constructs a new virtual agent group containing all inbound agent groups int `inboundGroups`, and all outbound agent groups in `outboundGroups`. The arrays `inboundGroupProbs` and `outboundGroupProbs` contain probabilities pj, i of selection of agent groups as targets for transfers. The random stream `stream` is used to generated random numbers for permutations, and for selecting target agent groups during transfers.

  Parameters:
    `inboundGroups` - the inbound agent group.
    `inboundGroupProbs` - the probabilities of selection for each inbound agent group when performing transfers.
    `outboundGroups` - the outbound agent group.
    `outboundGroupProbs` - the probabilities of selection for each outbound agent group when performing transfers.

Method Detail

### setRequiredEmptyGroupsInOut

    public void setRequiredEmptyGroupsInOut(AgentGroup[] groups)

### setRequiredEmptyGroupsOutIn

    public void setRequiredEmptyGroupsOutIn(AgentGroup[] groups)

### simulator

    public Simulator simulator()

### getNumInOutMoves

    public int getNumInOutMoves()

### getNumOutInMoves

    public int getNumOutInMoves()

### getDelayInIn

    public double getDelayInIn()

  Returns the value of [j], which defaults to 0.

### setDelayInIn

    public void setDelayInIn(double delayInIn)

  Sets the value of [j] to `delayInIn`.

### getDelayInOut

    public double getDelayInOut()

  Returns the value of [j], which defaults to 0.

### setDelayInOut

    public void setDelayInOut(double delayInOut)

  Sets the value of [j] to `delayInOut`.

### getDelayOutIn

    public double getDelayOutIn()

  Returns the value of [j], which defaults to 0.

### setDelayOutIn

    public void setDelayOutIn(double delayOutIn)

  Sets the value of [j] to `delayOutIn`.

### getDelayOutOut

    public double getDelayOutOut()

  Returns the value of [j], which defaults to 0.

### setDelayOutOut

    public void setDelayOutOut(double delayOutOut)

  Sets the value of [j] to `delayOutOut`.

### getInboundGroups

    public AgentGroup[] getInboundGroups()

  Returns the inbound agent group associated with this information object.

### getOutboundGroups

    public AgentGroup[] getOutboundGroups()

  Returns the outbound agent group associated with this information object.

### getMaximumIdleOutboundAgents

    public int getMaximumIdleOutboundAgents()

  Returns the value of Mj, which defaults to 0.

### setMaximumIdleOutboundAgents

    public void setMaximumIdleOutboundAgents(int maximumIdleAgents)

  Sets the value of Mj to `maximumIdleAgents`.

### getMinimumIdleInboundAgents

    public int getMinimumIdleInboundAgents()

  Returns the value of mj, which defaults to 0.

### setMinimumIdleInboundAgents

    public void setMinimumIdleInboundAgents(int minimumIdleAgents)

  Sets the value of mj to `minimumIdleAgents`.

### getMinimumIdleTime

    public double getMinimumIdleTime()

  Returns the value of tj, which defaults to 0.

### setMinimumIdleTime

    public void setMinimumIdleTime(double minimumIdleTime)

  Sets the value of tj to `minimumIdleTime`.

### getInboundGroupProbs

    public double[] getInboundGroupProbs()

  Returns the probabilities pj, i of selection for each inbound agent group. Element `k` of the returned array corresponds to the probability associated with agent group `k` in the array returned by `getInboundGroups()`.

  Returns:
    the probability of selection for inbound agent groups.

### getOutboundGroupProbs

    public double[] getOutboundGroupProbs()

  Returns the probabilities pj, i of selection for each outbound agent group. Element `k` of the returned array corresponds to the probability associated with agent group `k` in the array returned by `getOutboundGroups()`.

  Returns:
    the probability of selection for outbound agent groups.

### transferToInbound

    public void transferToInbound(int n)

  Transfers `n` agents from the outbound groups of this object to its inbound group. For each transfer, the order of outbound agent groups is chosen randomly to avoid an outbound group having priority over the others.

  Parameters:
    `n` - the number of agents to transfer.

### transferToOutbound

    public void transferToOutbound(int n)

  Transfers `n` agents from the inbound groups of this object to its outbound group. For each transfer, the order of inbound agent groups is chosen randomly to avoid an inbound group having priority over the others.

  Parameters:
    `n` - the number of agents to transfer.

### transferToInbound

    public boolean transferToInbound(int idxOut,
                                     Agent agent)

  Transfers the agent `agent` to a randomly-chosen inbound agent group.

  Parameters:
    `agent` - the agent to transfer.

### transferToOutbound

    public boolean transferToOutbound(int idxIn,
                                      Agent agent)

  Transfers the agent `agent` to a randomly-chosen outbound agent group.

  Parameters:
    `agent` - the agent to transfer.

### startInboundToOutbound

    public void startInboundToOutbound()

  Starts the process moving inbound agents to outbound for the agent groups associated with this object. This method does nothing if the moving process is already started.

### stopInboundToOutbound

    public void stopInboundToOutbound()

  Stops the process moving inbound agents to the outbound group.

### makeInboundIfNoOut

    public void makeInboundIfNoOut()

### startOutboundToInbound

    public void startOutboundToInbound()

  Similar to `startInboundToOutbound()`, for the outbound-to-inbound process.

### stopOutboundToInbound

    public void stopOutboundToInbound()

  Similar to `stopInboundToOutbound()`, for the outbound-to-inbound process.

### makeAllInbound

    public void makeAllInbound()

  Moves all outbound agents to the inbound group. Any busy outbound agent is marked to be moved after its on-going service if finished.

### init

    public void init()

  Initializes both agent groups, and resets the fields storing the last time moves happened.

Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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