Package jline.api.mdd

Class Mdd_closedqn

java.lang.Object
jline.api.mdd.Mdd_closedqn

public class Mdd_closedqn extends Object
Exact solve of a single-class closed exponential queueing network whose CTMC state space (reachable occupancy vectors) is stored in a Multi-valued Decision Diagram instead of an explicit state list.

Port of matlab/src/api/mdd/mdd_closedqn.m. The reachable set is generated with Mdd_reachset and the generator matrix is assembled using the MDD's O(K) state indexing (MDD.index(int[])), so no explicit (|S| x width) state matrix is ever materialised during assembly -- the diagram is the store. For single-class exponential stations the aggregated (occupancy) chain is exact: the rate from n to n-e_i+e_j is mu_i * min(n_i, c_i) * P(i,j) for n_i > 0, matching SolverCTMC on the same model, which makes this the live exact oracle the Mdd_mcd aggregation is validated against.

The reference's 'verbose' knob is not carried (the api layer is silent); the same storage numbers are returned in MddClosedQnResult.stats.

  • Method Details

    • mdd_closedqn

      public static MddClosedQnResult mdd_closedqn(double[] mu, Matrix P, double[] servers, int N)
      Parameters:
      mu - per-station exponential service rates, length M
      P - M x M Markovian routing matrix (row-stochastic, irreducible)
      servers - servers per station; Double.POSITIVE_INFINITY for a delay
      N - closed population
    • mdd_closedqn

      public static MddClosedQnResult mdd_closedqn(double[] mu, Matrix P, double[] servers, int N, MDD reuse)
      Parameters:
      reuse - an already-built reachable set (the mdd of a previous result on the same mu/P/servers/N) to skip regeneration