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.

JaCoP is a Constraint Programming system in Java

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

Choco is a Constraint Programming system in Java

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

Gecode is a Constraint Programming system in C++.

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

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

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 is a Constraint Logic Programming system in Prolog.

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

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

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

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

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

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

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

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

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

- co-organized the CP Solver Workshop together with Jacob Feldman and Helmut Simonis.
- organized the First International Lightning Model and Solve Competition together with Peter Stuckey.
- and was also the official blogger (see below)

- SweConsNet, 2009: Learning Constraint Programming: Some lessons learned
- Google, Paris: Constraint Programming: My View (invited by Laurent Perron, the lead of the Google or-tools project)
- SweConsNet, 2012-03-23: Comparison of >=14 CP Systems - and counting
- SweConsNet, 2013-05-27: What I (still) like about Constraint Programming
- CP-2013, The CP Solver workshop: CP Solvers/Learning Constraint Programming
- SweConsNet, 20140613 Picat - a new logic-based multi-paradigm programming language
- Non-public talk 20140603 Constraint Programming: An introduction

- Ricardo Soto,
**Hakan Kjellerstrand**, Orlando Durán, Broderick Crawford, Eric Monfroy, Fernando ParedesCell formation in group technology using constraint programming and Boolean satisfiability (Expert Systems with Applications, Volume 39, Issue 13, 1 October 2012, Pages 11423–11427) - Ricardo Soto,
**Hakan Kjellerstrand**, Juan Gutiérrez, Alexis López, Broderick Crawford and Eric Monfroy: Solving Manufacturing Cell Design Problems Using Constraint Programming (Advanced Research in Applied Artificial Intelligence Lecture Notes in Computer Science, 2012, Volume 7345/2012, 400-406, DOI: 10.1007/978-3-642-31087-4_42)

More info about the book:

- Preface
- Table of Contents
- Code Examples
- Picat Compared to Other Languages (Prolog, Haskell, and Python)

- Christopher Bak: Attacking the Grid Colouring Problem with Constraint Programming
- Guido Tack: libmzn - A modular CP infrastructure based on MiniZinc
- Christian Schulte, Guido Tack, Mikael Z. Lagerkvist: Modeling and Programming with Gecode
- Nicolas Beldiceanu and Helmut Simonis: A Model Seeker: Extracting Global Constraint Models From Positive Examples
- Jael Elisabeth Kriener: Puzzle Design using Constraint Programming
- Peter J. Stuckey, Ralph Becket, Julien Fischer: Philosophy of the MiniZinc Challenge
- Amit Metodi, Michael Codish, Vitaly Lagoon, Peter J. Stuckey: Boolean Equi-propagation for Optimized SAT Encoding
- Antoni Niederlinski: A Quick and Gentle Guide to Constraint Logic Programming via ECLiPSe
- Loïc Blet: Internship report - M1IF Set Constraints for Local Search in Comet
- Jean-Noël Monette: Extended Indexicals: User Manual
- Neng-Fa Zhou: Picat Tutorial
- Victor Zverovich (CP-2013, CP Solvers workshop) Constraint Programming in AMPL

- Jan Wolter: Survey of Paint-by-Number Puzzle Solvers
- G12: MiniZinc and FlatZinc, and examples in the SVN repository
- ECLiPSe CLP: ECLiPSe Code Samples
- Gecode/R Examples
- Tailor TAILOR - Tailoring Constraint Models to Constraint Solvers
- SICStus Prolog: Links
- Google or-tools: examples in Python, Java, and C#)
- OscaR: example models
- Java JSR-331. Some of my JSR-331 models has been released in the distribution.
- Some of my AMPL+CP models has been collected in the GitHub repository.
- Nonogram Solver site: Websites

- OR-Exchange: CP and Integer programming
- OR-Exchange: What have you used OR for other thank your "job"
- OR-Exchange: dividing into roughly equal sized groups, with a sorted list
- OR-Exchange: Best Christmas Oriented Operations Research Problem/Solution?
- Stack Overflow: What problem have you solved using constraint programming
- Stack Overflow: Solving Kakuro puzzles
- Stack Overflow: How to use constraint programming for optimizing shopping baskets?
- Stack Overflow: Appointment scheduling algorithm (N people with N free-busy slots, constraint-satisfaction)
- Stack Overflow: JaCoP: Solving an 0/1 knapsack problem
- Stack Overflow: MiniZinc, Gecode remove solution separators
- Programmers Stack Exchange: Partitioning set into subsets with respect to equality of sum among subsets
- Golf Stack Exchange: A programming challenge. Number Cross Puzzle
- Or-Exchange: How do you make constraints for tables?
- Stack Overflow: Programming for Young tableaux

Created by Hakan Kjellerstrand (hakank@gmail.com)

See also my homepage.