Class Solver_ctmc_pools
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 Summary
Modifier and TypeMethodDescriptionstatic NetworkStructapply(NetworkStruct sn) The struct with every heterogeneous-server station rewritten, or sn itself when there is none.static voidutilization(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.
-
Method Details
-
apply
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.
-