| 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. 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:
|
|
| 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 |
|
|
|
| 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): 339-395, 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 man-machine 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. 353-387, 1981 |
|
|
|
| an object-oriented 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 high-level language extension to write constraint solvers | |
|
|
| a generic language for semiring-based 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 explanation-based constraint solving (e-CP) |
François Laburthe,Narendra Jussien |
|
|
| an Object Oriented Programming Language for Constraint-Based 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 constraint-based 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 integer-valued variables which can also be used as a bounded model checker for hybrid (discrete-continuous) 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 | |
|
|
| ISO-PROLOG implementation in Java with interface for writing constraint solvers | |
|
|
| fast black-box constraint solver | |
|
|
| concurrent constraint programming framework | |
|
|
| 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. | |
|
|
| Prolog system with integrated non-linear, 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 |
|||