Gecode


Gecode 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, 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 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.
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, 2010 , 2011 , and 2012 .