CP Pointers Repository

Links on CP

Books

  • Apt, K. R. Principles of Constraint Programming Cambridge University Press, 2003

  • Marriott, K. & Stuckey, P. J. Programming with Constraints: An Introduction MIT Press, 1998

Courses

Systems

Systems used in the course:

Interfaces to Gecode:

  1. Java:

    1. Gecode/Java. A starting point for developing in Java.

  2. Alternatively:

    1. FaltZinc interpreter FlatZinc to Gecode

    2. MiniZinc interpreter MiniZinc to FlatZinc. (Includes a direct solver as well.) Documentation on MiniZinc can be found in the doc directory of the minizinc installation. The examples are also helpful.

After installing MiniZinc it is possible to launch the following and solve the model via Mercury.

> minizinc-??/mzn2fzn –data rcpsp.data rcpsp.mzn

> minizinc-??/flatzinc jobshop.fzn

Otherwise, using the interface gecode-flatzinc and gecode as solver

> minizinc-??/mzn2fzn –data rcpsp.data rcpsp.mzn

> gecode-flatzinc-??/fz jobshop.fzn

Look for the files globals.mzn under the the MiniZinc installation and globals-gecode.mzn under the gecode-flatzinc directory for a list of global constraints implemented in MiniZinc, FlatZinc and Gecode.

Prolog Based Languages

  • Prolog II till Prolog IV Colmerauer, 1990

  • CHIP V5 Dincbas, 1988 (commercial)

  • CLP(R)

  • Ciao Prolog (Free, GPL)

  • GNU Prolog (Free, GPL)

  • SICStus Prolog (commercial)

  • ECLiPSe (Open Source)

  • Mozart programming system based on Oz language (incorporates concurrent constraint programming)

Other Modelling languages:

  • OPL Van Hentenryck, 1999 ILOG CP Optimizer (ILOG, commercial)

  • MiniZinc (open source, works for various systems)

  • COMET Constraint-Based Local Search

Libraries: