ContactCenters
V. 0.9.9.

umontreal.iro.lecuyer.contactcenters.expdelay
Class HeadOfQueuePredictor

java.lang.Object
  extended by umontreal.iro.lecuyer.contactcenters.expdelay.HeadOfQueuePredictor
All Implemented Interfaces:
WaitingTimePredictor

public class HeadOfQueuePredictor
extends Object
implements WaitingTimePredictor

Head of queue waiting time predictor. This predictor obtains a waiting time by taking the longest waiting time among the first queued contacts of the associated router. When waiting queues are first in first out (FIFO), this corresponds to the longest waiting time among all queued contacts. The waiting time of a queued contact is the time from which the contact entered the queue to the current time.


Constructor Summary
HeadOfQueuePredictor()
           
 
Method Summary
 Router getRouter()
          Returns a reference to the router associated with this predictor.
 double getWaitingTime(Contact contact)
          Returns a prediction of the waiting time of contact contact waiting in any queue.
 double getWaitingTime(Contact contact, WaitingQueue queue)
          Returns a prediction of the waiting time for the given contact contact conditional on the contact joining the waiting queue queue.
 void init()
          Resets any internal variable of this predictor.
 void setRouter(Router router)
          Sets the router associated with this predictor to router.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HeadOfQueuePredictor

public HeadOfQueuePredictor()
Method Detail

getRouter

public Router getRouter()
Description copied from interface: WaitingTimePredictor
Returns a reference to the router associated with this predictor. By default, this returns null since no router is bound to a newly-constructed predictor. A router is associated with a predictor using the WaitingTimePredictor.setRouter(Router) method.

Specified by:
getRouter in interface WaitingTimePredictor
Returns:
a reference to the currently associated router.

getWaitingTime

public double getWaitingTime(Contact contact)
Description copied from interface: WaitingTimePredictor
Returns a prediction of the waiting time of contact contact waiting in any queue. This method returns Double.NaN if it cannot make a prediction for the given contact.

Specified by:
getWaitingTime in interface WaitingTimePredictor
Parameters:
contact - the contact for which we need a prediction.
Returns:
the global waiting time.

getWaitingTime

public double getWaitingTime(Contact contact,
                             WaitingQueue queue)
Description copied from interface: WaitingTimePredictor
Returns a prediction of the waiting time for the given contact contact conditional on the contact joining the waiting queue queue. This method returns Double.NaN if it cannot make a prediction for the given contact, or the given waiting queue.

Specified by:
getWaitingTime in interface WaitingTimePredictor
Parameters:
contact - the contact for which a delay is predicted.
queue - the target waiting queue.
Returns:
the predicted delay.

init

public void init()
Description copied from interface: WaitingTimePredictor
Resets any internal variable of this predictor.

Specified by:
init in interface WaitingTimePredictor

setRouter

public void setRouter(Router router)
Description copied from interface: WaitingTimePredictor
Sets the router associated with this predictor to router. When router is non-null, this method can also register any listener required to make the predictions. If the router associated with a predictor is changed, the predictor should unregister any listener associated with the previous router.

Specified by:
setRouter in interface WaitingTimePredictor
Parameters:
router - the new router.

ContactCenters
V. 0.9.9.

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