Class Mam_bgchain_station

java.lang.Object
jline.solvers.mam.handlers.Mam_bgchain_station

public final class Mam_bgchain_station extends Object
Open classes of one station, solved as a level-dependent QBD MODULATED by the background chain: level = number of open jobs held by the station, phase = (arrival MAP phase, environment state, service phase).

The station is a MAP/PH/c queue whose server is shared with the closed jobs. With k open and e closed jobs present the open aggregate completes at rate phi(k,e) = min(k+e,c) * k/(k+e) times the phase-type completion rate of one busy server: the open class receives the share k/(k+e) of the min(k+e,c) busy servers. The dependence on k is what makes the QBD level-dependent, the dependence on e is what makes it modulated. The c parallel servers are collapsed into a single phase-type process scaled by phi, which is exact for exponential service at any c and for phase-type service at c = 1, and approximates the multiset of in-service phases otherwise -- the same collapse Solver_mam_ldqbd documents.

The environment is level-dependent too, and for the same reason. A lumped transition that LOWERS the closed occupancy of this station is a closed completion here, so it carries the closed share min(e+k,c)*e/(e+k) of the server; the background chain built it at the averaged share gref, and level k rescales it by the ratio of the two. A transition that RAISES the occupancy is an arrival from elsewhere and is left alone. Without this the closed jobs would drain at their mean-field rate however long the open queue is, and the positive correlation between the two occupancies -- the very thing a congested station produces -- would be lost.

The level space is truncated at Kmax. An arrival at the top level is lost but still advances the arrival phase, so the arrival process keeps its exact marginal and autocorrelation and only the queue tail is cut.

See Also:
  • Method Details

    • mam_bgchain_station

      public static Mam_bgchain_station.StationResult mam_bgchain_station(Matrix Da0, Matrix Da1, Matrix alphaS, Matrix T, Matrix A, int[] esup, double nservers, double[] gref, int Kmax, SolverOptions options)
      Parameters:
      Da0 - D0 of the aggregate open arrival MAP
      Da1 - D1 of the aggregate open arrival MAP
      alphaS - initial vector of the open service phase-type law
      T - subgenerator of the open service phase-type law
      A - environment generator from Mam_bgchain_env
      esup - closed jobs each environment state stands for, ascending
      nservers - number of servers
      gref - closed capacity share A was built at, one per environment state
      Kmax - truncation level of the open queue
      options - solver options
      Returns:
      the solved station