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 ThresholdDialerPolicy

    java.lang.Object
      umontreal.iro.lecuyer.contactcenters.dialer.ThresholdDialerPolicy

All Implemented Interfaces:
  DialerPolicy

Direct Known Subclasses:
  BadContactMismatchRatesDialerPolicy

    public class ThresholdDialerPolicy

extends Object
implements DialerPolicy

Represents a threshold-based dialing policy selecting the number of calls to try based on the number of free agents in certain groups. Before trying to make calls, the policy determines the total number of free agents (t) in a test set of agent groups. If the number of free agents is greater than or equal to st, the policy counts the total number (t) of free agents in a target set of agent groups which may differ from the test set. If (t)≥sd, the dialer tries to make {`Math.round``(` κ(t)`)`+ c - a, 0} calls, where κ∈ and c∈ are predefined numbers. The constant a is the result of `Dialer.getNumActionEvents()` if `Dialer.isUsingNumActionsEvents()` returns `true`, or 0 otherwise. Any parameter used by this policy can be changed at any time during the simulation.

Constructor Summary
`ThresholdDialerPolicy(DialerList list, AgentGroupSet testGroups, AgentGroupSet targetGroups, int minFreeTest, double kappa, int c)` Equivalent to `int,int,double,int) ThresholdDialerPolicy` `(list, testGroups, targetGroups, minFreeTest, 1, kappa, c)`.
`ThresholdDialerPolicy(DialerList list, AgentGroupSet testGroups, AgentGroupSet targetGroups, int minFreeTest, int minFreeTarget, double kappa, int c)` Constructs a new dialer's policy with dialer list `list`, test set `testGroups`, and target set `targetGroups`.

Method Summary
`void` | `dialerStarted(Dialer dialer)` This method is called when the dialer using this policy is started.
`void` | `dialerStopped(Dialer dialer)` This method is called when the dialer using this policy is stopped.
`int` | `getC()` Returns the current value of the additive constant c for this policy.
`DialerList` | `getDialerList(Dialer dialer)` Returns the dialer list from which contacts have to be removed from, at the current simulation time.
`double` | `getKappa()` Returns the current value of the multiplicative constant κ for this policy.
`int` | `getMinFreeAgentsTarget()` Returns the minimal number of free agents sd in the target set to try outbound calls.
`int` | `getMinFreeAgentsTest()` Returns the minimal number of free agents st in the test set to try outbound calls.
`int` | `getNumDials(Dialer dialer)` Returns the number of calls the dialer should try to make simultaneously at the current simulation time.
`AgentGroupSet` | `getTargetSet()` Returns the current target set of agent groups.
`AgentGroupSet` | `getTestSet()` Returns the current test set of agent groups.
`void` | `init(Dialer dialer)` Initializes this dialer's policy for a new simulation replication.
`void` | `setC(int c)` Sets the additive constant c to `c` for this dialer's policy.
`void` | `setDialerList(DialerList list)` Sets the currently used dialer list to `list`.
`void` | `setKappa(double kappa)` Sets the multiplicative constant κ to `kappa` for this dialer policy.
`void` | `setMinFreeAgentsTarget(int minFreeTarget)` Sets the minimal number of free agents in the target set to `minFreeTarget`.
`void` | `setMinFreeAgentsTest(int minFreeTest)` Sets the minimal number of free agents in the test set to `minFreeTest`.
`void` | `setTargetSet(AgentGroupSet targetGroups)` Sets the target set of agent groups to `targetGroups`.
`void` | `setTestSet(AgentGroupSet testGroups)` Sets the test set of agent groups to `testGroups`.
`String` | `toString()`

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

Constructor Detail

### ThresholdDialerPolicy

    public ThresholdDialerPolicy(DialerList list,
                                 AgentGroupSet testGroups,
                                 AgentGroupSet targetGroups,
                                 int minFreeTest,
                                 int minFreeTarget,
                                 double kappa,
                                 int c)

  Constructs a new dialer's policy with dialer list `list`, test set `testGroups`, and target set `targetGroups`. The free agents threshold for the test set is set to `minFreeTest`, the threshold is set to `minFreeTarget` for the target set, the multiplicative constant is set to `kappa`, and the additive constant to `c`.

  Parameters:
    `list` - the dialer list being used.
    `testGroups` - the test set of agent groups.
    `targetGroups` - the target set of agent groups.
    `minFreeTest` - the (inclusive) minimum number of free agents in the test set.
    `minFreeTarget` - the (inclusive) minimum number of free agents in the target set.
    `kappa` - the multiplicative constant.
    `c` - the additive constant.
  Throws:
    `NullPointerException` - if `list`, `testGroups`, or `targetGroups` are `null`.
    `IllegalArgumentException` - if the free agents threshold is negative.

### ThresholdDialerPolicy

    public ThresholdDialerPolicy(DialerList list,
                                 AgentGroupSet testGroups,
                                 AgentGroupSet targetGroups,
                                 int minFreeTest,
                                 double kappa,
                                 int c)

  Equivalent to `int,int,double,int) ThresholdDialerPolicy` `(list, testGroups, targetGroups, minFreeTest, 1, kappa, c)`.

Method Detail

### getDialerList

    public DialerList getDialerList(Dialer dialer)

  Description copied from interface: `DialerPolicy`
  Returns the dialer list from which contacts have to be removed from, at the current simulation time. This list should not be stored into another object since it could be constructed dynamically when `DialerPolicy.getNumDials(Dialer)` is called.

  Specified by:
    `getDialerList` in interface `DialerPolicy`
  Parameters:
    `dialer` - the dialer for which the dialer list is required.
  Returns:
    the associated dialer list.

### setDialerList

    public void setDialerList(DialerList list)

  Sets the currently used dialer list to `list`.

  Parameters:
    `list` - the new dialer list.
  Throws:
    `NullPointerException` - if `list` is `null`.

### getMinFreeAgentsTest

    public int getMinFreeAgentsTest()

  Returns the minimal number of free agents st in the test set to try outbound calls.

  Returns:
    the minimal number of free agents in the test set to dial.

### setMinFreeAgentsTest

    public void setMinFreeAgentsTest(int minFreeTest)

  Sets the minimal number of free agents in the test set to `minFreeTest`.

  Parameters:
    `minFreeTest` - the new minimal number of free agents in the test set.
  Throws:
    `IllegalArgumentException` - if `minFreeTest` is negative.

### getMinFreeAgentsTarget

    public int getMinFreeAgentsTarget()

  Returns the minimal number of free agents sd in the target set to try outbound calls.

  Returns:
    the minimal number of free agents in the target set to dial.

### setMinFreeAgentsTarget

    public void setMinFreeAgentsTarget(int minFreeTarget)

  Sets the minimal number of free agents in the target set to `minFreeTarget`.

  Parameters:
    `minFreeTarget` - the new minimal number of free agents in the target set.
  Throws:
    `IllegalArgumentException` - if `minFreeTarget` is negative.

### getKappa

    public double getKappa()

  Returns the current value of the multiplicative constant κ for this policy.

  Returns:
    the multiplicative constant.

### setKappa

    public void setKappa(double kappa)

  Sets the multiplicative constant κ to `kappa` for this dialer policy.

  Parameters:
    `kappa` - the new multiplicative constant.

### getC

    public int getC()

  Returns the current value of the additive constant c for this policy.

  Returns:
    the additive constant.

### setC

    public void setC(int c)

  Sets the additive constant c to `c` for this dialer's policy.

  Parameters:
    `c` - the new additive constant.

### getTestSet

    public AgentGroupSet getTestSet()

  Returns the current test set of agent groups.

  Returns:
    the test set of agent groups.

### setTestSet

    public void setTestSet(AgentGroupSet testGroups)

  Sets the test set of agent groups to `testGroups`.

  Parameters:
    `testGroups` - the new test set of agent groups.
  Throws:
    `NullPointerException` - if `testGroups` is `null`.

### getTargetSet

    public AgentGroupSet getTargetSet()

  Returns the current target set of agent groups.

  Returns:
    the target set of agent groups.

### setTargetSet

    public void setTargetSet(AgentGroupSet targetGroups)

  Sets the target set of agent groups to `targetGroups`.

  Parameters:
    `targetGroups` - the new target set of agent groups.
  Throws:
    `NullPointerException` - if `targetGroups` is `null`.

### init

    public void init(Dialer dialer)

  Description copied from interface: `DialerPolicy`
  Initializes this dialer's policy for a new simulation replication. This method can be used, for example, to clear data structures containing information about a preceding simulation. This method should also clear the associated dialer list when appropriate.

  Specified by:
    `init` in interface `DialerPolicy`
  Parameters:
    `dialer` - the dialer which initialized this policy.

### dialerStarted

    public void dialerStarted(Dialer dialer)

  Description copied from interface: `DialerPolicy`
  This method is called when the dialer using this policy is started.

  Specified by:
    `dialerStarted` in interface `DialerPolicy`
  Parameters:
    `dialer` - the started dialer.

### dialerStopped

    public void dialerStopped(Dialer dialer)

  Description copied from interface: `DialerPolicy`
  This method is called when the dialer using this policy is stopped.

  Specified by:
    `dialerStopped` in interface `DialerPolicy`
  Parameters:
    `dialer` - the stopped dialer.

### getNumDials

    public int getNumDials(Dialer dialer)

  Description copied from interface: `DialerPolicy`
  Returns the number of calls the dialer should try to make simultaneously at the current simulation time.

  If `Dialer.isUsingNumActionsEvents()` returns `true`, this method must take into account the current number of action events while determining the additional number of calls to dial. In the simplest and most common cases, the method subtracts the result of `Dialer.getNumActionEvents()` to the number of calls to dial. However, in some cases, it might be necessary to use `Dialer.getNumActionEvents(int)` to get the number of action events for each contact type individually.

  Specified by:
    `getNumDials` in interface `DialerPolicy`
  Parameters:
    `dialer` - the triggered dialer.
  Returns:
    the number of calls the dialer should try to make.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

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.