Class Solver_ctmc_pools

java.lang.Object
jline.solvers.ctmc.handlers.Solver_ctmc_pools

public final class Solver_ctmc_pools extends Object
Heterogeneous server pools (Queue.addServerType) for the CTMC state space; port of MATLAB solver_ctmc_pools.m, following the LDES semantics.

A class-r job in service at a pooled station occupies one server of ONE compatible pool t and is served by that pool's law (setHeteroService), or by the station's own law for r when the pool declares none. The per-class service process is replaced by a block-diagonal phase-type law with one block per compatible pool, in ascending pool order, and the pool bookkeeping read by AfterEventStationPool is stored in sn.ctmcpool. The pools are the server bank, so nservers becomes their total. PHASE synchronizations are added where a pooled law has more than one phase, and sn.state is rebuilt in the pooled layout.

The rewrite works on a shallow copy whose mutated containers are replaced by copies, so the caller's struct (typically the model's cached one) is left untouched.

  • Method Details

    • apply

      public static NetworkStruct apply(NetworkStruct sn)
      The struct with every heterogeneous-server station rewritten, or sn itself when there is none.
    • utilization

      public static void utilization(NetworkStruct sn, int i, Matrix UN, Matrix stateSpace, int c0, int c1, Matrix wset, Matrix probSysState, int K)
      Pooled utilization over the whole server bank, as in LDES: UN(i,k) = E[sir_k]/nservers. Overwrites row i of UN; the columns of station i in STATESPACE are c0..c1-1.