OptaPlanner is the leading Open Source Java™ constraint solver to optimize assigning tasks to employees, adhering to skill, affinity and other constraints.
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.