OptaPlanner is the leading Open Source Java™ constraint solver to optimize employee shift rostering and similar use cases.
OptaPlanner is a lightweight, embeddable planning engine. It works with your domain classes and your custom constraints (which can reuse existing code). There’s no need to input difficult mathematical equations. Under the hood, OptaPlanner combines sophisticated optimization heuristics and metaheuristics (such as Tabu Search, Simulated Annealing and Late Acceptance) with very efficient score calculation.