|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectumontreal.iro.lecuyer.contactcenters.ctmc.CallCenterCTMC11
umontreal.iro.lecuyer.contactcenters.ctmc.CallCenterCTMC11WithQueues
public class CallCenterCTMC11WithQueues
Extension of the CTMC model for a single contact type and agent group, with information on contacts waiting in queue.
Constructor Summary | |
---|---|
CallCenterCTMC11WithQueues(double lambda,
double maxLambda,
double mu,
double maxMu,
int numAgents,
int maxNumAgents,
double rho,
double nu,
double maxNu,
int queueCapacity,
int maxQueueCapacity,
int[][] thresholds)
|
Method Summary | |
---|---|
CallCenterCTMC11WithQueues |
clone()
Returns an independent copy of this call center CTMC. |
void |
generateAbandonment(int k,
int kpos,
int np,
int nf)
Generates the abandonment of the kposth contact of type k. |
void |
generateArrival(int k,
int np,
int nf)
Generates the arrival of a contact of type k being blocked or balking. |
void |
generateArrivalQueued(int k,
int np,
int nf)
Generates the arrival of a contact of type k, and adds the new contact to the waiting queue. |
void |
generateArrivalServed(int k,
int i,
int np,
int nf)
Generates the arrival of a contact of type k served by an agent in group i. |
void |
generateEndService(int k,
int i,
int kp,
int np,
int nf)
Generates the end of the service for a contact of type k served by an agent in group i, and assigns the kposth queued contact of type kp to the free agent. |
int |
getLastWaitingTime(int k)
?eturns waiting time of the last contact of type k having entered service, or abandoned. |
int |
getLongestWaitingTime(int k)
Returns the longest waiting time among all contacts of type k. |
void |
init(CallCenterCTMC ctmc)
Initializes the state of this CTMC with the state of the other CTMC ctmc. |
void |
initEmpty()
Initializes the system to an empty call center, and resets the counter giving the number of transitions done to 0. |
TransitionType |
nextState(double u)
Generates the next state of the CTMC randomly from the current state, using the given uniform u, and changes the current state to this new state. |
TransitionType |
nextStateInt(int v)
Similar to CallCenterCTMC.nextState(double) , except that
the given random variate v is uniformly distributed
over
[0, 231 - 1]. |
boolean |
selectContact(int i)
Selects a new queued contact for a free agent in group i, and returns a boolean indicator determining if a contact could be selected. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public CallCenterCTMC11WithQueues(double lambda, double maxLambda, double mu, double maxMu, int numAgents, int maxNumAgents, double rho, double nu, double maxNu, int queueCapacity, int maxQueueCapacity, int[][] thresholds)
Method Detail |
---|
public int getLastWaitingTime(int k)
CallCenterCTMCWithQueues
getLastWaitingTime
in interface CallCenterCTMCWithQueues
k
- the queried tppe of contact.
public int getLongestWaitingTime(int k)
CallCenterCTMCWithQueues
getLongestWaitingTime
in interface CallCenterCTMCWithQueues
k
- the queried contact type.
public void initEmpty()
CallCenterCTMC
initEmpty
in interface CallCenterCTMC
initEmpty
in class CallCenterCTMC11
public void init(CallCenterCTMC ctmc)
CallCenterCTMC
IllegalArgumentException
if the given CTMC is incompatible with this CTMC, e.g.,
the number of contact types or agent groups differ.
init
in interface CallCenterCTMC
init
in class CallCenterCTMC11
ctmc
- the CTMC to initialize the state from.public boolean selectContact(int i)
CallCenterCTMC
CallCenterCTMC.getLastSelectedAgentGroup()
returns the value of i while
CallCenterCTMC.getLastSelectedQueuedContactType()
returns the type of the contact assigned
to the free agent.
This method can be used, e.g., when agents
are added in some groups during a simulation.
selectContact
in interface CallCenterCTMC
selectContact
in class CallCenterCTMC11
i
- the agent group index.
public TransitionType nextStateInt(int v)
CallCenterCTMC
CallCenterCTMC.nextState(double)
, except that
the given random variate v is uniformly distributed
over
[0, 231 - 1].
nextStateInt
in interface CallCenterCTMC
nextStateInt
in class CallCenterCTMC11
v
- the uniform random integer.
public TransitionType nextState(double u)
CallCenterCTMC
CallCenterCTMC.getLastSelectedContactType()
,
CallCenterCTMC.getLastSelectedQueuedContactType()
, or
CallCenterCTMC.getLastSelectedAgentGroup()
.
nextState
in interface CallCenterCTMC
nextState
in class CallCenterCTMC11
u
- the uniform used to generate the new state.
public void generateAbandonment(int k, int kpos, int np, int nf)
CallCenterCTMC
IllegalStateException
if kpos is negative or greater than or equal
to the number of queued contacts of type k.
generateAbandonment
in interface CallCenterCTMC
generateAbandonment
in class CallCenterCTMC11
k
- the contact type.kpos
- the position of the contact in queue.np
- the number of false transitions preceding the main
transition.nf
- the number of false transitions following the main
transition.public void generateArrivalQueued(int k, int np, int nf)
CallCenterCTMC
IllegalStateException
if
the queue is full before the arrival.
generateArrivalQueued
in interface CallCenterCTMC
generateArrivalQueued
in class CallCenterCTMC11
k
- the type of the new contact.np
- the number of false transitions preceding the main
transition.nf
- the number of false transitions following the main
transition.public void generateArrivalServed(int k, int i, int np, int nf)
CallCenterCTMC
IllegalStateException
.
generateArrivalServed
in interface CallCenterCTMC
generateArrivalServed
in class CallCenterCTMC11
k
- the contact type.i
- the agent group.np
- the number of false transitions preceding the main
transition.nf
- the number of false transitions following the main
transition.public void generateEndService(int k, int i, int kp, int np, int nf)
CallCenterCTMC
IllegalStateException
.
generateEndService
in interface CallCenterCTMC
generateEndService
in class CallCenterCTMC11
k
- the type of the contact ending service.i
- the group of the agent ending service.kp
- the type of the dequeued contact.np
- the number of false transitions preceding the main
transition.nf
- the number of false transitions following the main
transition.public void generateArrival(int k, int np, int nf)
CallCenterCTMC
generateArrival
in interface CallCenterCTMC
generateArrival
in class CallCenterCTMC11
k
- the type of the arrival.np
- the number of false transitions preceding the main
transition.nf
- the number of false transitions following the main
transition.public CallCenterCTMC11WithQueues clone()
CallCenterCTMC
CallCenterCTMC.nextState(double)
on the returned CTMC should not affect the state of any other
CTMC.
clone
in interface CallCenterCTMC
clone
in class CallCenterCTMC11
|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |