gecode logo

generic

constraint

development

environment

Gecode

Gecode is an open source C++ toolkit for developing constraint-based systems and applications. Gecode provides a constraint solver with state-of-the-art performance while being modular and extensible. Gecode is:

open
Gecode is radically open for programming: it can be easily interfaced to other systems. It supports the programming of new constraints, branching strategies, and search engines. New variable domains can be programmed at the same level of efficiency as the variables that come predefined with Gecode.
comprehensive
Gecode has a comprehensive set of features: constraints over integers, Booleans, sets, and floats (it implements more than 70 constraints from the Global Constraint Catalog and many more on top); C++ modeling layer; advanced branching heuristics (accumulated failure count, activity); many search engines (parallel, interactive graphical, restarts); automatic symmetry breaking (LDSB); no-goods from restarts; MiniZinc support; and many more.
efficient
Gecode offers excellent performance with respect to both runtime and memory usage. It won all gold medals in all categories at the MiniZinc Challenges from 2008 to 2012: 2012, 2011, 2010, 2009, and 2008.
documented
Gecode comes with both complete tutorial (more than 500 pages) and complete reference documentation that allows users to focus on different modeling and programming tasks with Gecode.
free
Gecode is distributed under the MIT license and is listed as free software by the FSF. All of its parts including reference documentation, implementations of global constraints, and examples are available as source code for download.
portable
Gecode is implemented in C++ that carefully follows the C++ standard. It can be compiled with modern C++ compilers and runs on a wide range of machines.
parallel
Gecode complies with reality in that it exploits the multiple cores of today's commodity hardware for parallel search, giving an already efficient base system an additional edge.
tested
Gecode uses a test suite with more than 50000 different test cases reaching a test coverage close to 100%.