Search code examples
optaplanner

nested constraint in simple java score calculation is very slow


I'm trying to build 3 nested constraints with OptaPlanner. It works, but it's very slow (even for a very small data set)... Maybe someone does have an idea how to improve the performance?

// pseudocode
first_constraint = false;
second_constraint = false;
third_constraint = false;

if (first_constraint == true) {
   if (second_constraint == true) {
      if (third_constraint == false) {score--;}
   } else {score--;}
} else {score--;}

Solution

  • See Score calculation performance tricks. Especially the section about incremental score calculation.