Constraint Programming and Combinatorial Optimisation in Numberjack

Numberjack is a modelling package written in Python for embedding constraint programming and combinatorial optimisation into larger applications. It has been designed to seamlessly and efficiently support a number of underlying combinatorial solvers. This paper illustrates many of the features of Numberjack through the use of several combinatorial optimisation problems.