Class PetriSolver

java.lang.Object
jline.solvers.fluid.petri.PetriSolver

public final class PetriSolver extends Object
Fluid analysis of a stochastic Petri net.

A net's fluid limit is NOT the queueing drift with places in place of stations. Its immediate transitions have no rate at all: their limit is a FLOW, an algebraic unknown pinned by the constraint that the input place they bind holds no mass. The marking, the diffusion covariance, those flows, the multi-server phase latches and the capacity gates therefore solve SIMULTANEOUSLY, as one algebraic system per active set, rather than by integrating an ODE to its fixed point.

THE ACTIVE SET IS WHAT ITERATES. A pass solves the system for a fixed choice of which immediate modes fire, which coordinate each pins, and which capacities bind; the answer says whether that choice was right (a negative flow, a negative marking, a violated or a released capacity), and the next pass makes ONE move. The moves are ordered so that a failure of each invalidates the next.

Reference: matlab/src/solvers/FLD/solver_fluid_petri.m, and see _kb/06-solver-catalog.md for the closures and their measured accuracy.

  • Constructor Details

  • Method Details

    • solve

      public PetriSolver.Result solve()
      Solve the net.
      Returns:
      the station table, the marking, the covariance and the report