What is Numberjack?

Numberjack is a modelling package written in Python for constraint programming. Python benefits from a large and active programming community, Numberjack is therefore a perfect tool to embed CP technology into larger applications. It is designed to support a number of underlying C/C++ solvers seamlessly and efficiently. There are a number of available back-ends: three mixed integer programming solvers (Gurobi, CPLEX, and SCIP), satisfiability solvers (MiniSat, Walksat, and many others), a constraint programming solver (Mistral), and a weighted constraint satisfaction solver (Toulbar2).

  • Numberjack offers a high level modelling platform.
  • Numberjack directly benefits from Python's features and modules.
  • Numberjack uses efficient underlying C/C++ solvers.