Class Solver_ctmc_mapc
JMT and both LDES engines sample a MAP service through ONE sampler per (station, class): every draw starts in the phase the previous draw ENDED in, draws chained in service-start order, idle periods included. With c > 1 servers the next start can happen while earlier draws are still in progress, so the landing phase of a draw must be known when it starts. With V = (-D0)^-1 D1 a draw started in h ends in j w.p. V(h,j); a busy server is a PAIR (i,j) that moves i->k at D0(i,k)V(k,j)/V(i,j) and completes at D1(i,j)/V(i,j). The class memory variable is the landing of the most recently STARTED draw: a start from h enters (h,j) w.p. V(h,j) and sets h := j, while moves and completions keep it. For a renewal MAP the chain reduces in law to PH/c; single-server stations are left untouched.
The pair law is stored as the lifted MAP D0p (conditioned moves) and
D1p((i,j),(j,j')) = D1(i,j)/V(i,j)*V(j,j'), equivalent in law to the original; the
bookkeeping read by the state handlers is sn.ctmcmapc. The rewrite works on a
shallow copy whose mutated containers are replaced by copies.
-
Method Summary
Modifier and TypeMethodDescriptionstatic NetworkStructapply(NetworkStruct sn) The struct with every multiserver MAP service in pair form, or sn itself when there is none.
-
Method Details
-
apply
The struct with every multiserver MAP service in pair form, or sn itself when there is none.
-