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--;}
See Score calculation performance tricks. Especially the section about incremental score calculation.