Package jline.solvers.fluid.petri
Class PetriConstraints
java.lang.Object
jline.solvers.fluid.petri.PetriConstraints
Every finite place capacity as a linear row
A x <= b.
THE GATE IS A LOSS ON THE DEPOSIT: LINE loses the tokens a firing would push past a place's capacity, so the fluid analogue scales the DEPOSIT leg of every event adding mass to the capped place and leaves the removal leg alone. The rows here name which coordinates are capped; the scaling itself lives in the tangent clamp.
-
Field Summary
FieldsModifier and TypeFieldDescription(nrows x nstate) capacity rows.double[]The bound of each row.boolean[][]cover[r][s]is true where row r caps coordinate s.boolean[]True for a bound of a fluid place.One human-readable statement per row, for the report.boolean[]True for the EMPTY-level row -f <= 0 of a fluid place, whose multiplier gates the withdrawals (flows out of it and negative impulses) rather than the deposits. -
Method Summary
Modifier and TypeMethodDescriptionstatic PetriConstraintsconstraints(NetworkStruct sn, PetriTerms t) Build the capacity rows of a term set.
-
Field Details
-
A
(nrows x nstate) capacity rows. -
b
public double[] bThe bound of each row. -
label
One human-readable statement per row, for the report. -
cover
public boolean[][] covercover[r][s]is true where row r caps coordinate s. -
lower
public boolean[] lowerTrue for the EMPTY-level row -f <= 0 of a fluid place, whose multiplier gates the withdrawals (flows out of it and negative impulses) rather than the deposits. A token drain slows with the marking through min(), so a token place empties asymptotically; a fluid drain runs at its full rate down to zero, so the lower bound needs a row of its own. -
fluid
public boolean[] fluidTrue for a bound of a fluid place.
-
-
Method Details
-
constraints
Build the capacity rows of a term set.- Parameters:
sn- the network the places belong tot- the assembled terms- Returns:
- the rows and their bounds
-