Gecode
Encyclopedia
Gecode is a software library for solving
Solver (computer science)
A solver is a generic term indicating a piece of mathematical software, possibly in the form of a stand-alone computer program or as a software library, that 'solves' a mathematical problem. A solver takes problem descriptions in some sort of generic form and calculate their solution...

 Constraint satisfaction problem
Constraint satisfaction problem
Constraint satisfaction problems s are mathematical problems 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 constraints over variables, which is solved by constraint...

s. It is programmed in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 and distributed as free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 under the permissive MIT license
MIT License
The MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...

.

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
Constraint programming is a programming paradigm wherein relations between variables are stated in the form of constraints. Constraints differ from the common primitives of imperative programming languages in that they do not specify a step or sequence of steps to execute, but rather the properties...

systems. For example, Google Scholar reports more than 300 papers mentioning Gecode.
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 licencing makes it highly suitable for use on other projects.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK