Package jline.api.mam

Class Qbd_setupdelayoff_mmk

java.lang.Object
jline.api.mam.Qbd_setupdelayoff_mmk

public final class Qbd_setupdelayoff_mmk extends Object
  • 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_closed solves.

      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 servers
      N - closed population, or infinity for an open queue
      arv - complementary delay Z when N is finite, arrival rate when it is not
      mu - service rate of one server
      alpharate - rate of the setup phase
      alphascv - squared coefficient of variation of the setup phase
      betarate - rate of the delay-off phase
      betascv - squared coefficient of variation of the delay-off phase
      Returns:
      the mean number present and the throughput