ContactCenters
V. 0.9.9.

Package umontreal.iro.lecuyer.contactcenters.queue

Manages waiting queues for storing contacts not being served immediately.

See:
          Description

Interface Summary
WaitingQueueListener Represents a waiting-queue listener which can be notified about events concerning waiting queues.
 

Class Summary
ContactPatienceTimeGenerator Value generator for the patience time of contacts.
DequeueEvent Represents an event happening when a contact leaves a waiting queue without being explicitly removed.
DequeueEventComparator Default comparator used to sort dequeue events in a priority queue.
EnqueueEvent Represents a simulation event that will put a queued contact back in its original waiting queue.
PriorityWaitingQueue Extends the WaitingQueue class for a priority waiting queue.
QueueSizeStat Computes statistics for a specific waiting queue.
QueueSizeStatMeasureMatrix Queue size statistical collector implementing MeasureMatrix.
QueueWaitingQueue Represents a waiting queue using a Java Queue implementation as a data structure.
StandardWaitingQueue Extends the WaitingQueue class for a standard waiting queue, without priority.
WaitingQueue Represents a waiting queue where contacts are added if they cannot be served immediately.
WaitingQueueSet Represents a group of waiting queues for which it is possible to get the total size.
WaitingQueueState Represents the state of a waiting queue.
 

Package umontreal.iro.lecuyer.contactcenters.queue Description

Manages waiting queues for storing contacts not being served immediately. A waiting queue represents a data structure organizing waiting contacts while supporting abandonment. Three types of data structures are available for waiting queues, each implemented in concrete subclasses of WaitingQueue: a list, a sorted set, or a heap.

The StandardWaitingQueue uses a List for First In First Out (FIFO) or Last In First Out (LIFO) queues. Queued contacts are ordered based on their arrival times, and can be easily enumerated. When the number of priorities is finite and small, priority queues can be implemented efficiently by combining several standard waiting queues.

General priority queues are implemented by QueueWaitingQueue, which uses a heap implemented by the Queue interface. By default, contacts are ordered using their arrival times and their priorities, but the user may supply its own Comparator to change this order. Heaps are very efficient for inserting new contacts or removing the first contact, but queued contacts are not enumerated in any particular order.

The most generic waiting queue, PriorityWaitingQueue, uses a SortedSet to store contacts. As with the heap-based queue, the user can supply its own Comparator to order contacts. Contacts are also enumerated in the order defined by the comparator used. However, the operations on the sorted set are slower than the operations on a list or a heap.

This package also provides support classes to obtain maximal queue times and to compute the integral of the queue size over simulation time.


ContactCenters
V. 0.9.9.

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