Esempio n. 1
0
 /// <param name="trace">Workflow trace</param>
 /// <param name="pNet">Petri net</param>
 /// <param name="traceMoveCost">Trace move cost</param>
 /// <param name="modelMoveCost">Model move cost</param>
 public AlignmentOnTrace(WorkflowTrace trace, PetriNet pNet, int traceMoveCost = 1, int modelMoveCost = 1)
 {
     InitCosts(traceMoveCost, modelMoveCost);
     InitTransitionsAndOptimalCost(trace, pNet, traceMoveCost, modelMoveCost);
     WorstCost = AlignmentUtils.ComputeWorstCostOfTrace(trace, traceMoveCost) +
                 AlignmentUtils.ComputeWorstCostOfModel(pNet, modelMoveCost);
     ComputeFitness();
 }
Esempio n. 2
0
 /// <param name="pNet1">Petri net</param>
 /// <param name="pNet2">Petri net</param>
 /// <param name="pNet1MoveCost">Trace move cost</param>
 /// <param name="pNet2MoveCost">Model move cost</param>
 public AlignmentOnNets(PetriNet pNet1, PetriNet pNet2, int pNet1MoveCost = 1, int pNet2MoveCost = 1)
 {
     DistinguishPlacesAndTransitions(pNet1);
     InitCosts(pNet1MoveCost, pNet2MoveCost);
     InitTransitionsAndOptimalCost(pNet1, pNet2, pNet1MoveCost, pNet2MoveCost);
     WorstCost = AlignmentUtils.ComputeWorstCostOfModel(pNet1, pNet1MoveCost) +
                 AlignmentUtils.ComputeWorstCostOfModel(pNet2, pNet2MoveCost);
     ComputeFitness();
 }