Gecode
   HOME

TheInfoList



OR:

Gecode (for ''Generic Constraint Development Environment'') is a
software library In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
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 const ...
s. It is programmed in C++ and distributed as
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
under the permissive
MIT license The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility. Unl ...
. Gecode has bindings for several programming languages such as
Prolog Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics. Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
,
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 (prog ...
and
Ruby 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 sapph ...
, 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 (e.g. large-scale optimization and scheduling-type problems). It was developed ...
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 t ...
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