Drools-solver combines a search algorithm with the power of the drools rule engine to solve planning problems, such as:
Employee shift rostering
Drools-solver supports several search algorithms, such as simple local search, tabu search and simulated annealing. You can easily switch the search algorithm, by simply changing the configuration. There's even a benchmark utility which allows you to play out the different search algorithms against each other on your planning problem.
Drools-solver uses the drools rule engine to calculate the score, based on score rules. This allows you to easily add hard and soft constraints in your score function, simply by adding a score rule.
It's available now in the drools trunk and the manual explains how to run the examples yourself in no time.