public class AlignmentILPCalculator extends AbstractILPCalculator
AbstractILPCalculator.Matrix
Modifier and Type | Field and Description |
---|---|
protected int |
steps |
backtrackThreshold, cutOffLength, gbEnv, invisibleTransitions, label2short, labels, log, mapping, matrixA, matrixAMin, maxBackTrackDepth, mode, MODE_GUROBI, MODE_LPSOLVE, NAMES, net, place2int, places, semantics, short2label, short2place, short2trans, trans2label, trans2short, transitions, VERBOSE
Constructor and Description |
---|
AlignmentILPCalculator(org.processmining.models.graphbased.directed.petrinet.Petrinet net,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
gnu.trove.map.TObjectShortMap<org.deckfour.xes.classification.XEventClass> label2short,
gnu.trove.map.TShortObjectMap<org.deckfour.xes.classification.XEventClass> short2label,
org.processmining.plugins.connectionfactories.logpetrinet.TransEvClassMapping mapping,
short[][] log,
java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapTrans2Cost,
java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> mapEvClass2Cost,
java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapSync2Cost) |
Modifier and Type | Method and Description |
---|---|
boolean |
checkAndReorderFiringSequence(gnu.trove.list.TIntList moves,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
boolean mergeMoves) |
boolean |
checkTrace(gnu.trove.list.TIntList moves,
short[] trace,
boolean ensureFullTrace) |
protected HybridEquationResult |
determineSplitMarkingForHybrid(nl.tue.astar.util.ilp.LPMatrix<?> matrix,
double[] vars,
short[] trace,
int maxLengthX,
boolean removeTrailingModelMoves) |
void |
doExperiment(org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking) |
gnu.trove.list.TIntList |
getAlignment(org.processmining.framework.plugin.Progress progress,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
int trace) |
gnu.trove.list.TIntList |
getAlignmentWithoutTrace(org.processmining.framework.plugin.Progress progress,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking) |
double |
getCost(gnu.trove.list.TIntList moves,
short[] trace) |
double |
getCost(org.processmining.models.graphbased.directed.petrinet.elements.Transition t,
org.deckfour.xes.classification.XEventClass label) |
protected org.processmining.models.semantics.petrinet.Marking |
getIntermediateMarking(org.processmining.models.semantics.petrinet.Marking marking,
int maxLengthX,
nl.tue.astar.util.ilp.LPMatrix<?> matrix,
double[] vars) |
short[][] |
getLog() |
int |
getMinEvents() |
boolean |
isGurobi() |
boolean |
isLpSolve() |
void |
printMoves(gnu.trove.list.TIntList moves,
short[] trace,
int printFrom) |
void |
setMinEvents(int minEvents) |
protected nl.tue.astar.util.ilp.LPMatrix<?> |
setupLpForHybrid(int maxLengthX,
int minEvent,
boolean integerVariables,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
short[] trace,
int startTraceAt) |
protected gnu.trove.list.TIntList |
solveSequential(org.processmining.framework.plugin.Progress progress,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
short[] trace) |
org.processmining.framework.util.Pair<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Short> |
toPair(int move) |
equalLabel, setBacktrackLimit, setBacktrackThreshold, setCutOffLength, setGurobi, setLPSolve, setupMatrix, unfire
public AlignmentILPCalculator(org.processmining.models.graphbased.directed.petrinet.Petrinet net, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, gnu.trove.map.TObjectShortMap<org.deckfour.xes.classification.XEventClass> label2short, gnu.trove.map.TShortObjectMap<org.deckfour.xes.classification.XEventClass> short2label, org.processmining.plugins.connectionfactories.logpetrinet.TransEvClassMapping mapping, short[][] log, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapTrans2Cost, java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> mapEvClass2Cost, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapSync2Cost)
public gnu.trove.list.TIntList getAlignment(org.processmining.framework.plugin.Progress progress, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, int trace) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
public gnu.trove.list.TIntList getAlignmentWithoutTrace(org.processmining.framework.plugin.Progress progress, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
public org.processmining.framework.util.Pair<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Short> toPair(int move)
protected nl.tue.astar.util.ilp.LPMatrix<?> setupLpForHybrid(int maxLengthX, int minEvent, boolean integerVariables, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, short[] trace, int startTraceAt) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
public void doExperiment(org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
protected gnu.trove.list.TIntList solveSequential(org.processmining.framework.plugin.Progress progress, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, short[] trace) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
protected HybridEquationResult determineSplitMarkingForHybrid(nl.tue.astar.util.ilp.LPMatrix<?> matrix, double[] vars, short[] trace, int maxLengthX, boolean removeTrailingModelMoves) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
protected org.processmining.models.semantics.petrinet.Marking getIntermediateMarking(org.processmining.models.semantics.petrinet.Marking marking, int maxLengthX, nl.tue.astar.util.ilp.LPMatrix<?> matrix, double[] vars)
public void printMoves(gnu.trove.list.TIntList moves, short[] trace, int printFrom)
public boolean checkAndReorderFiringSequence(gnu.trove.list.TIntList moves, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, boolean mergeMoves)
public boolean checkTrace(gnu.trove.list.TIntList moves, short[] trace, boolean ensureFullTrace)
public double getCost(org.processmining.models.graphbased.directed.petrinet.elements.Transition t, org.deckfour.xes.classification.XEventClass label)
public double getCost(gnu.trove.list.TIntList moves, short[] trace)
public void setMinEvents(int minEvents)
public int getMinEvents()
public boolean isGurobi()
public boolean isLpSolve()
public short[][] getLog()