Constraint Programming

For a couple of years I have been interested in (and fascinated by) Constraint Programming and Constraint Logic Programming (CLP). Here are some of the pages where I have collected information about the systems and models (programs).

My Constraint Programming Blog

My Constraint Programming Blog where I blog about CP and CP related things, for example my own experiments, news about the systems I use, and other relevant things.

Common Constraint Programming Problem

Common Constraint Problems shows models that I have implemented in at least two CP systems.

G12 Zinc/Minizinc

My Minizinc page
G12 MiniZinc is a very high level Constraint Programming system, a simplified variant of Zinc.

My Zinc page Zinc is a Constraint Programming system also by the G12 project, and is a superset of MiniZinc.


My JaCoP page
JaCoP is a Constraint Programming system in Java


My JaCoP/Scala page
JaCoP/Scala is a Scala interface to JaCoP Constraint Programming system.


My Choco page
Choco is a Constraint Programming system in Java


My Comet page
Comet is a system for solving problems using constraint-based local search, "classic" Constraint Programming, and linear programming/(mixed) integer programming.


My Gecode page
Gecode is a Constraint Programming system in C++.


My Gecode/R page
Gecode/R is a Ruby interface to the Constraint Programming system Gecode.


My ECLiPSe page
ECLiPSe CLP is a Prolog based Constraint Logic Programming system (not to be confused with the IDE).

Essence'/Tailor/Saville Row

My Essence'/Tailor/Saville Row page
Tailor and Saville Row is Constraint Programming systems for generating code in different formats, e.g. Minion, Gecode, FlatZinc based on the CP language Essence'. Tailor has both GUI and command line versions.

SICStus Prolog

My SICStus Prolog page
SICStus Prolog is a Constraint Logic Programming system in Prolog.

Google or-tools/CP Solver

My Google or-tools/CP Solver page
Google or-tools/CP Solver is the Operations Research/Constraint Programming system by Google. I have implemented models in Python, Java, and C#.

OscaR (Scala in OR

My OscaR page
OscaR is a Scala based Constraint Programming/Operations Research system. (The CP system was former called Scampi.)


My Numberjack page
Numberjack is a Python based Constraint Programming system. Note that some of the models might not work in the current version.


My JSR-331 page
JSR-331 is the official defined API for Constraint Programming in Java.


My AIMMS+CP page
AIMMS is an commercial optimization system featuring a modeling GUI and much support for Operations Research. I have tested the CP extension.


My B-Prolog page
B-Prolog is a Prolog based Constraint Logic Programming system with some extensions such as arrays and subscript notation and loops.

Choco 3

My Choco3 page
Choco version 3 (beta) is a Java based CP system. Not compatible with Choco version 2.


My AMPL page
AMPL is a high level mathematical programming system with support for CP.


My Picat page
Picat is a logic based system with support for CP, tabling and with support for imperative constructs such as loops, list comprehensions, assignments etc.

OpenOffice Calc/Excel Solver

OpenOffice Calc/Excel Solver: Some Constraint Programming/linear programming examples using Solver in OpenOffice Calc/Excel.

Answer set programming

Strictly speaking Answer set programming is not Constraint Programming, but is has many simililarities.

Other things

At my (Swedish) blog hakank.blogg I sometimes writes about Constraint Programming. Those articles are collected in the category Constraint Programming.


CP-2013 (Uppsala, Sweden), I:

Official blogger

At CP-2013 (Uppsala, Sweden), I was also the official conference blogger. See the Conferences category on my Contraint Programming Blog.


Here are my CP related presentations:

CP related papers

Here are some CP related papers where I have had some role, either as an (co-)author or just an acknowledgement, reference or even mention.


Acknowledgement, references

In these papers where I've been acknowledged or mentioned (perhaps just in passim or mentioned by the use of some of my CP models):


Here are some links where some of my CP pages has been linked or repositories/distributions which contains my models.

Still more other things: CP related answers at Or-Exchange, Stack Overflow, Stack Exchange etc

Here are some of my answers at programming forums such as Stack Overflow. For the Stack * family, I'm hakank.
Created by Hakan Kjellerstrand (
See also my homepage.