Choco is a Free Open-Source Java library dedicated to Constraint Programming.

The user models its problem in a declarative way by stating the set of constraints that need to be satisfied in every solution.

Then, the problem is solved by alternating constraint filtering algorithms with a search mechanism.