"it immediately adds 10 % average calculate count to my solver, without any score corruption."
Here's why I didn't turn it on at the time immediately:
We can't turn constraintMatchEnabled to false all the time,
because without it, there's no justification, which is needed in 2 cases:
- In OptaPlanner Examples GUI, when you click "constraint match" on the bottom right,
it needs to explain what is violating which constraints.
That uses Solver.getScoreDirectorFactory() and needs justification for that ScoreDirector.
- Guided Local Search (= a well established LS variant), Tainted Search (= my unimplemented invention)
need justification too. For example: focus on moving the queen that breaks most constraints.
I am thinking that constraintMatchEnabled is true by default, but for solver with no phases that require justification,
it can be turned off.