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, 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.