Looking for tips, tutorials, books and other resources to get started with Constraint Programming.
-
[OptaPlanner documentation](https://docs.optaplanner.org/latestFinal/optaplanner-docs/html_single/) contains an explanation on Local Search algorithms such as Tabu Search, Simulated Annealing and Late Acceptance, as well as other algorithms such as Branch and Bound. It also explains how to think about scoring (hard vs soft, weighting, positive vs negative, pareto, etc) – Geoffrey De Smet Feb 27 '17 at 13:24
9 Answers
There is a lot of excellent material available on the web once you get in the groove, but the links below are (IMO) good starting points (the ones I used).
Programming with Constraints: An Introduction - (Course website)
Programming with Constraints: An Introduction - (Google book)
Online Guide to Constraint Programming

- 3,320
- 11
- 38
- 45
-
1Added a link I found. Hope it's OK. Better to have a complete correct answer. – pek Sep 01 '09 at 19:28
Constraint Handling Rules (CHR) is a language to develop own (problem specific) constraint solvers. Check this:
There you find links to
- WebCHR Online Demo (originally developed at LMU Munich, now beautified at Uni Ulm)
- Several implementations for Prolog (naturally) and Haskell, as well as a (unfortunately unmaintained) prototype for Java (JCK).
There is also a JavaScript implementation of CHR: http://chrjs.net (https://github.com/fnogatz/CHR.js)

- 37,128
- 15
- 99
- 111

- 151
- 2
- 3
-
1
-
-
1There is also [a CHR implementation for JavaScript](http://chrjs.net/). – Anderson Green Sep 18 '16 at 01:45
-
Gecode is actually not a language but a C++ framework. However, Gecode supports also MiniZinc, which is a modeling language. – tunnuz Sep 22 '15 at 05:07
-
The previous course is complete and with nice slides. For an faster result, overview: look at prolog ( the defacto language) tuts: http://www.doc.gold.ac.uk/~mas02gw/prolog_tutorial/prologpages/index.html#menu – Tinmarino Oct 05 '17 at 21:54
Here is another link to a course website on Constraint Programming.
Earlier the course used Mozart/Oz for the assingments but it has now been replaced by Gecode.

- 4,216
- 3
- 29
- 23
I suggest you look further in the following website on constraint programming maintaned by Håkan Kjellerstrand (a.k.a Hakank) at Hakank's Homepage

- 6,629
- 1
- 17
- 27

- 41
- 4
-
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. – T.S. Feb 09 '14 at 03:45
-
The question is asking for references. My reference answer is a link. Just look at all other answers. They are similar to mine because the question is asking for answers like this one. – decision maker Feb 09 '14 at 15:18
The handbook of constraint programming is well thought of.
In trivia, my supervisor from fourth year university (which was a while ago now) is referenced there. :)

- 533
- 5
- 9
If you're a Java programmer, I recommend using Cream: Class Library for Constraint Programming

- 950
- 9
- 28