| 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 paper:
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. [Kluwer
on-line]
|
|
| 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 |
|||