Drools Planner optimizes planning problems. Better planning algorithms can help save the environment, reduce costs and improve service quality. All organisations have planning problems, such as employee rostering, task scheduling, vehicle routing or bin packing. Yet, they hardly optimize those problems. Why? Because those problems are “NP-complete”: computationally very difficult and humanly impossible to optimize.