Class OpenMMAPtModel

java.lang.Object
jline.examples.java.basic.OpenMMAPtModel

public class OpenMMAPtModel extends Object
Open queueing network whose arrival stream is a MARKED, time-inhomogeneous MAP.

MMAPt crosses the two axes of MAPt and MarkedMAP: arrivals are labelled with one of K marks, AND the matrices that generate them are functions of the wall clock. Segment j carries D0[j] together with the K blocks D1k[c][j], and D0[j] plus the sum over c of D1k[c][j] is a generator in every segment. The aggregate is the D1 of the underlying MAPt, so hiding the marks recovers exactly that process.

At a Source the mark SELECTS THE CLASS of the arriving job: one modulating chain drives every marked class, and only the first one carries the stream. That is what makes this different from declaring K independent arrival processes: the classes are correlated through the shared phase, and the class MIX shifts with the schedule even when the total rate does not.

The schedule below is built so that only the mix moves. Both segments carry an aggregate rate of 4, so the total arrival stream is statistically identical throughout; what changes is the split, 9:1 towards the first class in the morning segment and 1:9 towards the second in the evening one. A model that read the marks off the time-averaged matrices would report a flat 2:2 split.

Reductions worth knowing: with K = 1 an MMAPt IS the MAPt with the same matrices, and with identical segments it IS the stationary MMAP. MPHt is the phase-type twin, stored lowered to this same form.

References: Q.-M. He, "The versatility of MMAP[K] and the MMAP[K]/G[K]/1 queue", Queueing Systems 38(4), 2001, for the marked structure; Y. M. Ko and J. Pender, "Diffusion limits for the (MAP_t/Ph_t/inf)^N queueing network", Oper. Res. Lett. 45(3), 2017, for the time-inhomogeneous one.

  • Constructor Details

    • OpenMMAPtModel

      public OpenMMAPtModel()
  • Method Details

    • example

      public static Network example()
      Builds a Source -> Queue -> Sink model whose arrivals follow a two-segment MMAPt.
    • arrival

      public static MMAPt arrival()
      The arrival process of example(), for the rate identities it satisfies.
    • main

      public static void main(String[] args)