Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Gecode - Generic Constraint Development Environment

Gecode is a 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:

<dl>
<dt>open</dt>
<dd>
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.
</dd>

<dt>comprehensive</dt>
<dd>
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.
</dd>

<dt>efficient</dt>
<dd>
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.
</dd>

<dt>documented</dt>
<dd>
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.
</dd>

<dt>free</dt>
<dd>
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.
</dd>

<dt>portable</dt>
<dd>
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 (including 64bit machines).
</dd>

<dt>parallel</dt>
<dd>
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.
</dd>

<dt>tested</dt>
<dd>
Gecode uses a test suite with almost 50000 different test cases
reaching a test coverage close to 100%.
</dd>

</dl>