|
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.contact.ContactArrivalProcess
umontreal.iro.lecuyer.contactcenters.contact.PoissonArrivalProcess
umontreal.iro.lecuyer.contactcenters.contact.PoissonArrivalProcessWithInversion
public class PoissonArrivalProcessWithInversion
Defines a Poisson arrival process with arrival rate Bλ(t) at time t and generated by inversion. If
Field Summary |
---|
Fields inherited from class umontreal.iro.lecuyer.contactcenters.contact.ContactArrivalProcess |
---|
contactEvent |
Constructor Summary | |
---|---|
PoissonArrivalProcessWithInversion(ContactFactory factory,
RandomStream stream,
MathFunction cLambda)
Similar to RandomStream,MathFunction,MathFunction)
PoissonArrivalProcessWithInversion
(factory, stream, cLambda, f) , where f
is a function performing the inversion of cLambda
using the Brent-Decker root finding algorithm. |
|
PoissonArrivalProcessWithInversion(ContactFactory factory,
RandomStream stream,
MathFunction cLambda,
MathFunction invLambda)
Constructs a new transformed Poisson arrival process using contact factory factory for creating contacts, random stream stream for generating uniforms, cLambda for the Λ(t) function, and invLambda for the Λ-1(t) function. |
|
PoissonArrivalProcessWithInversion(Simulator sim,
ContactFactory factory,
RandomStream stream,
MathFunction cLambda)
Equivalent to PoissonArrivalProcessWithInversion(ContactFactory,RandomStream,MathFunction) ,
using the given simulator sim. |
|
PoissonArrivalProcessWithInversion(Simulator sim,
ContactFactory factory,
RandomStream stream,
MathFunction cLambda,
MathFunction invLambda)
Equivalent to PoissonArrivalProcessWithInversion(ContactFactory,RandomStream,MathFunction,MathFunction) ,
using the given simulator sim. |
Method Summary | |
---|---|
double |
getArrivalRate(double st,
double et)
Determines the mean arrival rate in time interval [s, e]. |
MathFunction |
getCumulativeLambdaFunction()
Returns the function Λ(t) in use. |
double |
getExpectedArrivalRate(double st,
double et)
Determines the expected mean arrival rate in time interval [s, e] for this arrival process assuming that the expected value of the busyness factor is 1. |
MathFunction |
getInvertedLambdaFunction()
Returns the function Λ-1(t) in use. |
double |
nextTime()
Computes and returns the time before the next contact arrival is simulated by this object. |
void |
setCumulativeLambdaFunction(MathFunction cLambda)
Sets the Λ(t) function to cLambda. |
void |
setInvertedLambdaFunction(MathFunction invLambda)
Sets the Λ-1(t) function to invLambda. |
void |
setLambda(double lambda)
Changes the value of λ to newLambda. |
void |
startStationary()
This method calls ContactArrivalProcess.start() assuming
that the λ arrival rate will not
change during simulation. |
Methods inherited from class umontreal.iro.lecuyer.contactcenters.contact.PoissonArrivalProcess |
---|
clearCache, getArrivalRate, getExpectedArrivalRate, getGenWithCache, getInstanceFromMLE, getLambda, getMLE, getStream, init, initCache, isCaching, setCaching, setStream, toString |
Methods inherited from class umontreal.iro.lecuyer.contactcenters.contact.ContactArrivalProcess |
---|
addNewContactListener, clearNewContactListeners, getArrivalRates, getBusynessFactor, getContactFactory, getExpectedArrivalRateB, getExpectedArrivalRateB, getExpectedArrivalRates, getExpectedArrivalRatesB, getExpectedBusynessFactor, getName, getNewContactListeners, getNextArrivalTime, init, isStarted, notifyNewContact, removeNewContactListener, setBusynessFactor, setContactFactory, setExpectedBusynessFactor, setName, setSimulator, simulator, start, start, stop |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PoissonArrivalProcessWithInversion(ContactFactory factory, RandomStream stream, MathFunction cLambda, MathFunction invLambda)
factory
- the contact factory used to create contacts.stream
- the random stream used to generate uniforms.cLambda
- the function defining
Λ(t).invLambda
- the function defining
Λ-1(t).
NullPointerException
- if any argument is
null.public PoissonArrivalProcessWithInversion(Simulator sim, ContactFactory factory, RandomStream stream, MathFunction cLambda, MathFunction invLambda)
PoissonArrivalProcessWithInversion(ContactFactory,RandomStream,MathFunction,MathFunction)
,
using the given simulator sim.
public PoissonArrivalProcessWithInversion(ContactFactory factory, RandomStream stream, MathFunction cLambda)
RandomStream,MathFunction,MathFunction)
PoissonArrivalProcessWithInversion
(factory, stream, cLambda, f)
, where f
is a function performing the inversion of cLambda
using the Brent-Decker root finding algorithm.
This can be used when the
Λ-1(t) function is unavailable,
and
Λ(t) can be computed efficiently.
However, the generated inversion function can be slow to compute.
factory
- the contact factory used to create contacts.stream
- the random stream used to generate uniforms.cLambda
- the function defining
Λ(t).
NullPointerException
- if any argument is
null.public PoissonArrivalProcessWithInversion(Simulator sim, ContactFactory factory, RandomStream stream, MathFunction cLambda)
PoissonArrivalProcessWithInversion(ContactFactory,RandomStream,MathFunction)
,
using the given simulator sim.
Method Detail |
---|
public void startStationary()
PoissonArrivalProcess
ContactArrivalProcess.start()
assuming
that the λ arrival rate will not
change during simulation.
Subclasses violating this assumption
should override this method.
startStationary
in class PoissonArrivalProcess
public MathFunction getCumulativeLambdaFunction()
public void setCumulativeLambdaFunction(MathFunction cLambda)
cLambda
- the new
Λ(t) function.
NullPointerException
- if cLambda is
null.public MathFunction getInvertedLambdaFunction()
public void setInvertedLambdaFunction(MathFunction invLambda)
invLambda
- the new
Λ-1(t) function.public void setLambda(double lambda)
PoissonArrivalProcess
setLambda
in class PoissonArrivalProcess
lambda
- the new value of λ.public double nextTime()
ContactArrivalProcess
nextTime
in class PoissonArrivalProcess
public double getArrivalRate(double st, double et)
ContactArrivalProcess
If arrival rate is random, this returns the arrival rate
for the current replication.
One should use ContactArrivalProcess.getExpectedArrivalRate(double,double)
or ContactArrivalProcess.getExpectedArrivalRateB(double,double)
to get the
expected arrival rate.
This method returns 0 if e≤s.
If the arrival rate is not available,
throws an UnsupportedOperationException
.
This is the default behavior of this
method if not overridden by a subclass.
getArrivalRate
in class PoissonArrivalProcess
st
- the starting time s.et
- the ending time e.
public double getExpectedArrivalRate(double st, double et)
ContactArrivalProcess
ContactArrivalProcess.getArrivalRate(double,double)
.
If
λ(t) is the arrival rate at time t, this
method returns
If
[B]≠1, one should use
ContactArrivalProcess.getExpectedArrivalRateB(double,double)
which takes the expectation of the busyness factor into account.
This method returns 0 if e≤s.
If the expected arrival rate is not available,
throws an UnsupportedOperationException
.
This is the default behavior of this
method if not overridden by a subclass.
getExpectedArrivalRate
in class PoissonArrivalProcess
st
- the starting time s.et
- the ending time e.
|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |