Guide to Constraint Programming 
© Roman Barták, 1998 

Contents  Next 
[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.
If you are looking for empirical comparison of some constraint solvers, read the following papers:


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:29127, 1978 


a pioneering constraint logic programming system  
J. Jaffar, S. Michaylov, P. Stuckey & R. Yap: The CLP(R) language and system, in ACM Transactions on Programming Languages and Systems 14 (3): 339395, 1992 


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 manmachine graphical communication system, in: Proceedings of the IFIP Spring Joint Conference, 1963 


successor of Sketchpad  
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. 353387, 1981 


an objectoriented library for constraint satisfaction implemented in Smalltalk  


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


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

http://www.cosytec.com/production_scheduling/chip/optimization_product_chip.htm 


Constraint Handling Rules (CHR) are a highlevel language extension to write constraint solvers  


a generic language for semiringbased constraint solving  
http://contraintes.inria.fr/~georget/software/clp_fds/clp_fds.html 


a java library for constraint satisfaction problems (CSP), constraint programming (CP) and explanationbased constraint solving (eCP) 
François Laburthe,Narendra Jussien 


an Object Oriented Programming Language for ConstraintBased Local Search (MacOS X and Linux) 
Pascal Van Hentenryck, Laurent Michel 


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


a basic CSP solver written in C++  


a distributed constraint solver written as a C++ library 
Youssef Hamadi 
http://research.microsoft.com/~youssefh/DisolverWeb/Disolver.html 


ECRC Logic Programming System, now open source 
Crosscore 


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


an open, free, portable, accessible, and efficient environment for developing constraintbased systems and applications  


a free Prolog compiler with constraint solving over finite domains  


a software platform for solving large scale industrial combinatorial optimisation problems 
University
of Melbourne 


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


HySAT is a satisfiability checker for Boolean combinations of arithmetic constraints over real and integervalued variables which can also be used as a bounded model checker for hybrid (discretecontinuous) systems  


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


PROLOG implementation with constraint technology package  


Java Constraint Progamming  


Java Constraint Kit based on Constraint Handling Rules  


Java Constraint Library  


a constraint solver written in Java  


ISOPROLOG implementation in Java with interface for writing constraint solvers  


fast blackbox constraint solver  


concurrent constraint programming framework  


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


Prolog system with integrated nonlinear, Boolean and list constraint solver  


a constraint satisfaction problem solver written in python  


Prolog development system with integrated finite domain constraint solver  


an extension of Common Lisp that provides a comprehensive constraint programming language 
Jeffrey M. Siskind 


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


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


an incremental constraint solving toolkit for solving hierarchical systems of linear equalities and inequalities  
http://www.cs.washington.edu/research/constraints/cassowary/ 


an efficient, incremental local propagation constraint solver for solving hierarchical systems of linear equalities  
http://www.cs.washington.edu/research/constraints/deltablue/ 


a commercial implementation of interval constraints on the spreadsheet platform  


a solver of algebraic nonlinear equations and inequalities  


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. 

[pioneers] [environments] [solvers] [applications]
Contents  Next  
Designed and maintained by Roman Barták 