Gecode
Gecode (for Generic Constraint Development Environment) is a software library for solving Constraint satisfaction problems. It is programmed in C++ and distributed as free software under the permissive MIT license. Gecode has bindings for several programming languages such as Prolog, Python and Ruby, and an interface to the AMPL modeling language.
The development of Gecode has been led by Christian Schulte,[1] 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.[2]
The first release of Gecode was in December 2005.[3] Since then, Gecode has rapidly become one of the most prominent constraint programming systems.[citation needed] 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.[4]
Gecode is a regular participant in the MiniZinc Challenge, a benchmark of constraint solvers organized by the NICTA research centre. It came in first place in all categories in the years 2009,[1] 2010 [2], 2011 [3], and 2012 [4].
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.
- Constraint Propagation - Dissertation by Guido Tack explaining the theory and implementation of Gecode
Notes