Class Solver_nc_spn_analyzer
This is the "rec" method of SolverNC, and the first analytical route LINE
offers for a Petri net -- CTMC solves the explicit generator, SSA and LDES
simulate, FLD fluidises. Three functions do the work and each is the subject
of its own reference. Spn_pf decides the product form and derives the
per-place factors g_l (Coleman-Henderson-Taylor complex balance).
Mdd_rec evaluates G = sum_S prod_l g_l(s_l) in
O(sum_l nodes_l * |S_l|) rather than O(|S|) (Balsamo-Marin-Stojic).
Spn_metrics reads the mean tokens, the place and mode utilisation and
the throughputs off masked walks of the same diagram.
What this reaches that the explicit generator does not. The diagram stores the reachable set, never the generator, so the cost is set by the number of diagram nodes and not by |S|. It also does not need the marking to be a conserved job population: a mode may consume two tokens and produce one, or consume one and produce two, which is the fork-join and batch case that the MDD-rec paper exists to serve.
UN follows LINE, not the paper. A Place is an INF station, and LINE reports U = Q at an infinite server, which is what SolverCTMC returns for the same net. The paper's place utilisation u(P_j) = 1 - P(m_j = 0) is a different quantity and is reported separately, on the certificate's metrics block.
-
Method Summary
Modifier and TypeMethodDescriptionstatic NCResultsolver_nc_spn_analyzer(Network model, NetworkStruct sn, SolverOptions options) Analyse a product-form stochastic Petri net.
-
Method Details
-
solver_nc_spn_analyzer
public static NCResult solver_nc_spn_analyzer(Network model, NetworkStruct sn, SolverOptions options) Analyse a product-form stochastic Petri net.- Parameters:
model- the Network holding the Places and Transitionssn- its network structureoptions- solver options; tol and verbose are read- Returns:
- QN, UN, RN and TN per (Place station, class), CN and XN per class, and lG the log normalising constant
-