Gecode
   HOME

TheInfoList



OR:

Gecode (for ''Generic Constraint Development Environment'') is a
software library In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subr ...
for solving
Constraint satisfaction problem Constraint satisfaction problems (CSPs) are mathematical questions defined as a set of objects whose state must satisfy a number of constraints or limitations. CSPs represent the entities in a problem as a homogeneous collection of finite constra ...
s. It is programmed in
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
and distributed as
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
under the permissive
MIT license The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
. Gecode has bindings for several programming languages such as
Prolog Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily ...
,
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
and
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
, and an interface to the
AMPL AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems). It was developed b ...
modeling language. The development of Gecode has been led by Christian Schulte, but has been contributed to by many other researchers and programmers, including Denys Duchier, Filip Konvicka, Gabor Szokoli, Guido Tack, Håkan Kjellerstrand, Mikael Lagerkvist, Patrick Pekczynski, Raphael Reischuk, and Tias Guns. The first release of Gecode was in December 2005. Since then, Gecode has rapidly become one of the most prominent
constraint programming Constraint programming (CP) is a paradigm for solving combinatorial problems that draws on a wide range of techniques from artificial intelligence, computer science, and operations research. In constraint programming, users declaratively state th ...
systems. Reasons for this are that it runs fast, is extensible, free and open source under a permissive licence, and is written in a popular language. As well as being very useful in its own right, its extensibility and licensing makes it highly suitable for use on other projects. Gecode has been ported to several language, for instance, Gelisp is a wrapper of Gecode for Lisp.Mauricio Toro, Carlos Agon, Camilo Rueda, Gerard Assayag.
GELISP: A FRAMEWORK TO REPRESENT MUSICAL CONSTRAINT SATISFACTION PROBLEMS AND SEARCH STRATEGIES
" Journal of Theoretical and Applied Information Technology 86 (2). 2016. 327-331.


Notes


References


Speeding up constraint propagation
Christian Schulte and Peter J. Stuckey, In Wallace, 2004, pages 619–633.
Compiling and Executing Declarative Modeling Languages to Gecode
Raffaele Cipriano, Agostino Dovier, Jacopo Mauro. Conference: International Conference on Logic Programming/Joint International Conference and Symposium on Logic Programming - ICLP(JICSLP), pp. 744–748, 2008
Monadic Constraint Programming with Gecode
Pieter Wuille, Tom Schrijvers. Proceedings of the 8th International Workshop on Constraint Modelling and Reformulation pages:171-185. International workshop on Constraint Modelling and Reformulation. Lisbon, 20 September 2009.
A hybrid solver for large neighborhood search: Mixing Gecode and EasyLocal++
Raffaele Cipriano, Luca Di Gaspero, Agostino Dovier. Conference: Hybrid Metaheuristics - HM, pp. 141–155, 2009. DOI: 10.1007/978-3-642-04918-7_11


External links


Gecode
home site
Christian Schulte
lead developer of Gecode.

- Dissertation by Guido Tack explaining the theory and implementation of Gecode Constraint programming Software using the MIT license {{compu-library-stub