pm4py.algo.analysis.marking_equation.algorithm module#

class pm4py.algo.analysis.marking_equation.algorithm.Variants(*values)[source]#

Bases: Enum

CLASSIC = <module 'pm4py.algo.analysis.marking_equation.variants.classic' from '/Users/chris/Desktop/PIS/pm4py2/pm4py/pm4py/algo/analysis/marking_equation/variants/classic.py'>#
pm4py.algo.analysis.marking_equation.algorithm.build(net: PetriNet, im: Marking, fm: Marking, variant=Variants.CLASSIC, parameters: Dict[Any, Any] | None = None) Any[source]#

Builds the marking equation out of a Petri net

Parameters:
  • net – Petri net

  • im – Initial marking

  • fm – Final marking

  • variant – Variant of the algorithm to use, possible values: - Variants.CLASSIC

  • parameters – Parameters of the algorithm, including: - Parameters.CASE_ID_KEY => attribute to use as case identifier - Parameters.ACTIVITY_KEY => attribute to use as activity - Parameters.COSTS => (if provided) the cost function (otherwise the default cost function is applied) - Parameters.INCIDENCE_MATRIX => (if provided) the incidence matrix of the Petri net - Parameters.A => (if provided) the A numpy matrix of the incidence matrix - Parameters.FULL_BOOTSTRAP_REQUIRED => The preset/postset of places/transitions need to be inserted

pm4py.algo.analysis.marking_equation.algorithm.get_h_value(solver: Any, variant=Variants.CLASSIC, parameters: Dict[Any, Any] | None = None) int[source]#

Gets the heuristics value from the marking equation

Parameters:
  • solver – Marking equation solver (class in this file)

  • variant – Variant of the algorithm to use, possible values: - Variants.CLASSIC

  • parameters – Possible parameters of the algorithm