Class Qbd_setupdelayoff_mmk
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classMean number present and throughput of the setup/delayed-off pool. -
Method Summary
Modifier and TypeMethodDescriptionstatic Qbd_setupdelayoff_mmk.Resultqbd_setupdelayoff_mmk(int k, double N, double arv, double mu, double alpharate, double alphascv, double betarate, double betascv) Mean number present and throughput of a k-SERVER queue whose servers each pay a setup when woken from off and count down a delay-off when idle.
-
Method Details
-
qbd_setupdelayoff_mmk
public static Qbd_setupdelayoff_mmk.Result qbd_setupdelayoff_mmk(int k, double N, double arv, double mu, double alpharate, double alphascv, double betarate, double betascv) Mean number present and throughput of a k-SERVER queue whose servers each pay a setup when woken from off and count down a delay-off when idle.The M/M/k/setup/delayedoff model of Gandhi, Harchol-Balter and Adan (Performance Evaluation 67(11), 2010), solved exactly as a finite CTMC over its REACHABLE states, under the admission rules of the LDES engine (Solver_ssj_ln.admitWithSetup), which are what a SetupTask means:
- an arrival takes an ACTIVE idle server if one exists, else one still counting down its delay-off (the countdown is cancelled and it pays nothing), else it queues and wakes ONE off server, if any is off;
- a server that completes takes the head of the queue, or starts its delay-off when the queue is empty, and powers off when that expires;
- a setup is never cancelled: a server finishing it takes the head of the queue, or stays ACTIVE and idle with no countdown when the queue is empty.
A state is (queued, busy, active-idle, setup phase counts, delay-off phase counts), the remaining servers being off. Both phases are taken in canonical Coxian form, entered at phase 1 for every SCV; servers in a phase are exchangeable, so an arrival that catches a delay-off server catches one in phase j with probability proportional to the count there, which is exact whenever the delay-off is exponential. With k = 1 the chain is the one
Qbd_setupdelayoff_closedsolves.With N finite the population is closed and ARV is the complementary delay Z, so lambda(n) = (N-n)/Z. With N infinite ARV is the Poisson rate and the level is truncated where the probability of the top level falls below GlobalConstants.Zero, doubling the truncation until it does; the queue must then be stable, arv < k*mu.
- Parameters:
k- number of serversN- closed population, or infinity for an open queuearv- complementary delay Z when N is finite, arrival rate when it is notmu- service rate of one serveralpharate- rate of the setup phasealphascv- squared coefficient of variation of the setup phasebetarate- rate of the delay-off phasebetascv- squared coefficient of variation of the delay-off phase- Returns:
- the mean number present and the throughput
-