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.
Drools Planner optimizes such planning problems for normal Java programmers.
It implements a series of optimization algorithms which can optimize any planning problem: heuristics and metaheuristics with fancy names such as “First Fit Decreasing”, “Tabu Search”, “Simulated Annealing”, … The input and output are plain old java beans (POJO’s), so it’s easy to integrate with JPA, JDBC, JSF, ... The constraints are expressed as Drools Expert rules, so adding extra constraints is object-orientated and scalable. And it’s easy to get a Planner project started with the detailed reference manual and many examples.
In this presentation, Geoffrey De Smet (Drools Planner lead) will explain the nature of planning problems, go through an entire Drools Planner example, show some demo’s and compare the results of different optimization algorithms.
Ref : http://www.jboss.org/drools/drools-planner.html