public class AntiAlignmentILPCalculator extends AbstractILPCalculator
AbstractILPCalculator.Matrix
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 |
---|
AntiAlignmentILPCalculator(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,
int maxLength,
double maxFactor) |
Modifier and Type | Method and Description |
---|---|
protected org.processmining.models.semantics.petrinet.Marking |
determineSplitMarking(nl.tue.astar.util.ilp.LPMatrix<?> matrix,
int traceToIgnore,
double[] vars) |
protected HybridEquationResult |
determineSplitMarkingForHybrid(nl.tue.astar.util.ilp.LPMatrix<?> matrix,
int maxLengthX,
int startTracesAt,
boolean includeTrailingTaus,
gnu.trove.list.TShortList antiAlignment,
java.util.Stack<org.processmining.models.graphbased.directed.petrinet.elements.Transition> firingSequence,
int[] hammingDistances) |
boolean |
doAntiAlignmentTest(org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking) |
AntiAlignments |
getAntiAlignments(org.processmining.framework.plugin.Progress progress,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking) |
protected int |
getHammingDistanceToTrace(short[] antiAlignment,
short[] trace) |
static int |
getMaxLengthLog(int maxTraceLength,
double maxFactor) |
static int |
getMaxLengthRemovedTrace(short[] trace,
double maxFactor) |
protected int |
getMinimalHammingDistanceToLog(short[] antiAlignment,
short[][] log,
int traceToIgnore) |
protected nl.tue.astar.util.ilp.LPMatrix<?> |
setupLpForFinalInvisibleSteps(boolean integerVariables,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking) |
protected nl.tue.astar.util.ilp.LPMatrix<?> |
setupLpForFullSequence(int maxLength,
boolean integerVariables,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
int traceToIgnore,
int startTracesAt) |
protected nl.tue.astar.util.ilp.LPMatrix<?> |
setupLpForHybrid(int maxLengthX,
int maxLengthY,
boolean integerVariables,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
int traceToIgnore,
int startTracesAt) |
protected nl.tue.astar.util.ilp.LPMatrix<?> |
setupLpForSplit(int maxLengthX,
int maxLengthY,
boolean integerVariables,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
int traceToIgnore,
int startTracesAt) |
protected void |
solveByDrillingDown(int splitInParts,
int maxLength,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
java.util.Vector<org.processmining.models.graphbased.directed.petrinet.elements.Transition> firingSequence,
gnu.trove.list.TShortList antiAlignment,
int traceToIgnore,
int startTracesAt) |
protected int |
solveForFullSequence(nl.tue.astar.util.ilp.LPMatrix<?> lpMatrix,
int traceToIgnore,
int maxLength,
java.lang.String filename,
double[] vars) |
protected void |
solveSequential(int maxLength,
org.processmining.models.semantics.petrinet.Marking initialMarking,
org.processmining.models.semantics.petrinet.Marking finalMarking,
java.util.Stack<org.processmining.models.graphbased.directed.petrinet.elements.Transition> firingSequence,
gnu.trove.list.TShortList antiAlignment,
int traceToIgnore) |
equalLabel, setBacktrackLimit, setBacktrackThreshold, setCutOffLength, setGurobi, setLPSolve, setupMatrix, unfire
public AntiAlignmentILPCalculator(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, int maxLength, double maxFactor)
public static int getMaxLengthLog(int maxTraceLength, double maxFactor)
public static int getMaxLengthRemovedTrace(short[] trace, double maxFactor)
protected void solveSequential(int maxLength, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, java.util.Stack<org.processmining.models.graphbased.directed.petrinet.elements.Transition> firingSequence, gnu.trove.list.TShortList antiAlignment, int traceToIgnore) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
protected void solveByDrillingDown(int splitInParts, int maxLength, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, java.util.Vector<org.processmining.models.graphbased.directed.petrinet.elements.Transition> firingSequence, gnu.trove.list.TShortList antiAlignment, int traceToIgnore, int startTracesAt) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
protected org.processmining.models.semantics.petrinet.Marking determineSplitMarking(nl.tue.astar.util.ilp.LPMatrix<?> matrix, int traceToIgnore, double[] vars) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
public boolean doAntiAlignmentTest(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 AntiAlignments getAntiAlignments(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
protected int getMinimalHammingDistanceToLog(short[] antiAlignment, short[][] log, int traceToIgnore)
protected int getHammingDistanceToTrace(short[] antiAlignment, short[] trace)
protected int solveForFullSequence(nl.tue.astar.util.ilp.LPMatrix<?> lpMatrix, int traceToIgnore, int maxLength, java.lang.String filename, double[] vars) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
protected nl.tue.astar.util.ilp.LPMatrix<?> setupLpForFullSequence(int maxLength, boolean integerVariables, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, int traceToIgnore, int startTracesAt) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
protected nl.tue.astar.util.ilp.LPMatrix<?> setupLpForSplit(int maxLengthX, int maxLengthY, boolean integerVariables, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, int traceToIgnore, int startTracesAt) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
protected nl.tue.astar.util.ilp.LPMatrix<?> setupLpForFinalInvisibleSteps(boolean integerVariables, 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 nl.tue.astar.util.ilp.LPMatrix<?> setupLpForHybrid(int maxLengthX, int maxLengthY, boolean integerVariables, org.processmining.models.semantics.petrinet.Marking initialMarking, org.processmining.models.semantics.petrinet.Marking finalMarking, int traceToIgnore, int startTracesAt) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException
protected HybridEquationResult determineSplitMarkingForHybrid(nl.tue.astar.util.ilp.LPMatrix<?> matrix, int maxLengthX, int startTracesAt, boolean includeTrailingTaus, gnu.trove.list.TShortList antiAlignment, java.util.Stack<org.processmining.models.graphbased.directed.petrinet.elements.Transition> firingSequence, int[] hammingDistances) throws nl.tue.astar.util.ilp.LPMatrixException
nl.tue.astar.util.ilp.LPMatrixException