To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.
Problem with seeded ETM and Inductive Miner
I am developing a new plugin within this plugin I am doing the following steps:
- I am mining a process tree with the InductiveMinerDeprecated from a simple log file.
- I convert the result to an NAryTree
- I construct a ETMParam object with the NAryTree as a seed
- I am running the TreeEvolutionEngine with 1 indiviudal (seed)
- The TreeEvolutionEngine returns a result.
lpsolve.LpSolveException: ERROR in set_mat: status = -1 (Model has not been optimized)
at lpsolve.LpSolve.setMat(Native Method)
at org.processmining.plugins.etm.model.narytree.replayer.AbstractNAryTreeLPDelegate.<init>(AbstractNAryTreeLPDelegate.java:237)
at org.processmining.plugins.etm.model.narytree.replayer.hybridilp.NAryTreeHybridILPDelegate.<init>(NAryTreeHybridILPDelegate.java:30)
at org.processmining.plugins.etm.model.narytree.replayer.hybridilp.NAryTreeHybridILPDelegate.<init>(NAryTreeHybridILPDelegate.java:25)
at org.processmining.plugins.etm.model.narytree.replayer.basisilp2.NAryTreeBasis2ILPDelegate.<init>(NAryTreeBasis2ILPDelegate.java:23)
at org.processmining.plugins.etm.model.narytree.replayer.basisilp2.NAryTreeReplayerWithBasis2ILP.constructDelegate(NAryTreeReplayerWithBasis2ILP.java:68)
at org.processmining.plugins.etm.model.narytree.replayer.basisilp2.NAryTreeReplayerWithBasis2ILP.constructDelegate(NAryTreeReplayerWithBasis2ILP.java:23)
at org.processmining.plugins.etm.model.narytree.replayer.AbstractNAryTreeReplayer.<init>(AbstractNAryTreeReplayer.java:125)
at org.processmining.plugins.etm.model.narytree.replayer.basisilp2.NAryTreeReplayerWithBasis2ILP.<init>(NAryTreeReplayerWithBasis2ILP.java:41)
at org.processmining.plugins.etm.fitness.metrics.FitnessReplay.setupReplayer(FitnessReplay.java:401)
at org.processmining.plugins.etm.fitness.metrics.FitnessReplay.getFitness(FitnessReplay.java:227)
at org.processmining.plugins.etm.fitness.metrics.FitnessReplay.getFitness(FitnessReplay.java:54)
at org.processmining.plugins.etm.fitness.metrics.OverallFitness.getFitness(OverallFitness.java:170)
at org.processmining.plugins.etm.fitness.metrics.OverallFitness.getFitness(OverallFitness.java:47)
at org.processmining.plugins.etm.fitness.metrics.MultiThreadedFitnessEvaluator.getFitness(MultiThreadedFitnessEvaluator.java:135)
at org.processmining.plugins.etm.fitness.metrics.MultiThreadedFitnessEvaluator.getFitness(MultiThreadedFitnessEvaluator.java:31)
at org.uncommonseditedbyjoosbuijs.watchmaker.framework.AbstractEvolutionEngine.evaluatePopulation(AbstractEvolutionEngine.java:181)
at org.processmining.plugins.etm.engines.LoggingEvolutionEngine.evaluatePopulation(LoggingEvolutionEngine.java:87)
at org.processmining.plugins.etm.engines.TreeEvolutionEngine.nextEvolutionStep(TreeEvolutionEngine.java:94)
at org.uncommonseditedbyjoosbuijs.watchmaker.framework.AbstractEvolutionEngine.evolvePopulation(AbstractEvolutionEngine.java:136)
at org.processmining.plugins.etm.engines.LoggingEvolutionEngine.evolvePopulation(LoggingEvolutionEngine.java:81)
at snippet.MineETMProcessTreeFromSeed.modelrepair(MineETMProcessTreeFromSeed.java:275)
at snippet.MineETMProcessTreeFromSeed.main(MineETMProcessTreeFromSeed.java:318)
java.lang.NullPointerException
at org.processmining.plugins.etm.model.narytree.replayer.AbstractNAryTreeLPDelegate.deleteLPs(AbstractNAryTreeLPDelegate.java:411)
at org.processmining.plugins.etm.model.narytree.replayer.basisilp2.NAryTreeReplayerWithBasis2ILP.run(NAryTreeReplayerWithBasis2ILP.java:75)
at org.processmining.plugins.etm.fitness.metrics.FitnessReplay.getFitness(FitnessReplay.java:245)
at org.processmining.plugins.etm.fitness.metrics.FitnessReplay.getFitness(FitnessReplay.java:54)
at org.processmining.plugins.etm.fitness.metrics.OverallFitness.getFitness(OverallFitness.java:170)
at org.processmining.plugins.etm.fitness.metrics.OverallFitness.getFitness(OverallFitness.java:47)
at org.processmining.plugins.etm.fitness.metrics.MultiThreadedFitnessEvaluator.getFitness(MultiThreadedFitnessEvaluator.java:135)
at org.processmining.plugins.etm.fitness.metrics.MultiThreadedFitnessEvaluator.getFitness(MultiThreadedFitnessEvaluator.java:31)
at org.uncommonseditedbyjoosbuijs.watchmaker.framework.AbstractEvolutionEngine.evaluatePopulation(AbstractEvolutionEngine.java:181)
at org.processmining.plugins.etm.engines.LoggingEvolutionEngine.evaluatePopulation(LoggingEvolutionEngine.java:87)
at org.processmining.plugins.etm.engines.TreeEvolutionEngine.nextEvolutionStep(TreeEvolutionEngine.java:94)
at org.uncommonseditedbyjoosbuijs.watchmaker.framework.AbstractEvolutionEngine.evolvePopulation(AbstractEvolutionEngine.java:136)
at org.processmining.plugins.etm.engines.LoggingEvolutionEngine.evolvePopulation(LoggingEvolutionEngine.java:81)
at snippet.MineETMProcessTreeFromSeed.modelrepair(MineETMProcessTreeFromSeed.java:275)
at snippet.MineETMProcessTreeFromSeed.main(MineETMProcessTreeFromSeed.java:318)
Comments
-
The log I am using is: http://www.promtools.org/doku.php?id=exercises:exercise1
-
I'm afraid only Joos can help you with specifics about ETM, but you might have a look at the IndulpetMiner package, which does something that seems related:
(org.processmining.indulpetminer.mining.FallThroughETM)
Unfortunately, calling ETM programmatically is not so easy
Sander Leemans
Assistant Processor (Lecturer) at Queensland University of Technology
Author of the visual Miner and Inductive Miner
Howdy, Stranger!
Categories
- 1.6K All Categories
- 45 Announcements / News
- 225 Process Mining
- 6 - BPI Challenge 2020
- 9 - BPI Challenge 2019
- 24 - BPI Challenge 2018
- 27 - BPI Challenge 2017
- 8 - BPI Challenge 2016
- 68 Research
- 1K ProM 6
- 394 - Usage
- 288 - Development
- 9 RapidProM
- 1 - Usage
- 7 - Development
- 54 ProM5
- 19 - Usage
- 187 Event Logs
- 32 - ProMimport
- 75 - XESame