Changelog¶
2026-05-25¶
Updated MPG for Gecode 6.4.0: the build instructions now use the source release, and validation can target a selected Gecode branch, tag, or commit.
2020-11-04¶
Fixed description of weakly monotonic propagators in Recomputation is not deterministic.
Thanks to Pierre Flener.
2020-09-29¶
Added tip about not using the copy constructor directly (see Do not use the copy constructor directly).
2019-08-22¶
Fixed symmetry breaking when using CDBF Bin packing.
Thanks to Florian Fontan.
2019-05-28¶
Fixed opaque colors
2019-04-12¶
Released for Gecode 6.2.0
2019-04-10¶
Fixed description of LNS in Large Neighborhood Search.
Thanks to Marco Correia.
2019-02-13¶
Released for Gecode 6.1.1
2018-10-17¶
Released for Gecode 6.1.0
2018-10-15¶
Added tip about memory alignment (see Memory alignment).
2018-05-22¶
Released for Gecode 6.0.1
2018-02-05¶
Released for Gecode 6.0.0
2017-11-06¶
Explained how to use CPProfiler (see Using the CPProfiler).
2017-11-06¶
Documented commandline options for CPProfiler (see Commandline options).
2017-05-10¶
Updated explanation of regions for memory management (see Region.).
2017-05-10¶
Updated explanation of shared handles and objects management (see Shared objects and handles).
2017-04-18¶
Released for Gecode 5.1.0
2017-03-20¶
Explained general tracing (see General tracing and Programming general tracers).
2017-02-28¶
Explained CHB for branching (see Selection using CHB).
2017-02-21¶
Changed all functions for branching to functions based on std::function (see Branching).
2017-02-21¶
Explained new variable and value selection for Boolean variables (see Branching on integer and Boolean variables).
2017-02-21¶
Explained that function for wait() and when() can be of a type derived from std::function (see Synchronized execution, Synchronized execution, and Synchronized execution).
2016-10-25¶
Released for Gecode 5.0.0
2016-10-23¶
Added a description of how to relax variables (see Relaxing variable assignments.).
2016-05-27¶
Added a discussion of how propagators using advisors are re-scheduled (see Advisors).
2016-05-27¶
Added a discussion of: how propagators are disabled and enabled; the now required schedule() function of a propagator; and the GECODE_POST post macro (see Getting started).
2016-05-23¶
Added new chapter on propagator and brancher groups and tracing (see Groups and tracing).
2016-04-25¶
Documented how Boolean expressions and relations can be extended by new reified constraints (see Extending Boolean expressions and relations).
2016-04-19¶
Documented how to use a different memory allocator (see Using a different memory allocator.).
2015-10-14¶
Documented portfolio search (see Portfolio search).
2015-09-17¶
Explained when =SCHEDULE modification events are needed (see Base definitions).
Thanks to Joseph Scott.
2015-09-17¶
Documented new integer propagation levels (see Selecting the propagation level).
2015-03-31¶
Fixed typo in example of Programming variables.
Thanks to Joseph Scott.
2015-03-20¶
Released for Gecode 4.4.0
2015-03-18¶
Improved and update documentation of optimization spaces and scripts (see Support for cost-based optimization and Scripts).
2015-02-26¶
Improved explanation of activity.
Thanks to Roberto Castañeda Lozano.
2015-01-20¶
Released for Gecode 4.3.3
2015-01-19¶
Documented the argument of minimum and maximum constraints (see Arithmetic constraints)
2014-11-06¶
Released for Gecode 4.3.2
2014-10-22¶
Released for Gecode 4.3.1
2014-10-20¶
Documented changed restart-based search in Restart-based search and added information on how to use it for LNS (see Large Neighborhood Search)
2014-09-01¶
Released for Gecode 4.3.0
2014-07-27¶
Documented multi-dimensional bin-packing constraints (see Bin-packing constraints)
2014-06-30¶
Added missing edges in Representing edges and propagating circuit and Representing edges and propagating circuit with cost
Thanks to Léonard Benedetti.
2013-11-05¶
Released for Gecode 4.2.1
2013-07-19¶
Released for Gecode 4.2.0
2013-07-10¶
Explained support for no-goods for variable-value branchers (see Value selection and commit creation)
2013-07-10¶
Explained how to add support for no-goods to branchers (see Supporting no-goods)
2013-07-10¶
Explained how to use no-goods from restarts (see No-goods from restarts)
2013-06-13¶
Released for Gecode 4.1.0
2013-05-13¶
Documented display of branching information in Gist (see Inspecting and comparing nodes)
2013-05-03¶
Documented variable-value print functions for branching (see Using variable-value print functions)
2013-03-14¶
Released for Gecode 4.0.0
2013-04-12¶
Fixed documentation of user-defined variable selection (the _MERIT_ part was missing) (see User-defined variable selection)
Thanks to Roberto Castañeda Lozano.
2013-03-08¶
Documented LDSB (see Lightweight Dynamic Symmetry Breaking)
2013-02-22¶
Documented restart-based search (see Restart-based search), added example (see More information)
2013-02-22¶
Complete rewrite of how to branch (you should read it again), see Branching
2013-02-14¶
Added missing copy constructors and assignment operators in Shared objects and handles and Local objects and handles
Thanks to David Rijsman.
2013-02-04¶
Documented how to implement variable-value branchings (see Variable-value branchings)
2013-02-04¶
Documented how to implement constraints over float variables (see Propagators for float constraints)
2013-01-29¶
Documented modeling with floats (see Float variables and constraints, Float expressions and relations, Branching on float variables, and Compilation with support for trigonometric and transcendental float constraints.)
2013-01-25¶
Explain new search options for Gist in Options and preferences
2012-12-17¶
Fixed typo in Taking advantage of iterators
Thanks to Benjamin Negrevergne.
2012-10-19¶
Explained how to use half reification (see Half reification) and how to implement it (see Supporting both full and half reification)
2012-09-07¶
Properly explained regions (see Region.)
2012-08-29¶
Documented hardware-based random seed generation for random branchers (see Random variable and value selection)
2012-08-27¶
Documented pow and nroot constraints (see Arithmetic constraints and Integer expressions and relations)
2012-08-21¶
Fixed explanation of advisor deltas (see Delta information for integer views.)
Thanks to Max Ostrowski.
2012-03-06¶
Explained activity-based search and shared variable selection criteria (see Branching)
2012-03-20¶
Released for Gecode 3.7.3
2012-02-22¶
Released for Gecode 3.7.2
2011-11-10¶
Added tip that compilers for Qt and Gecode must match (see Compatible compilers and installations for Gecode and Qt)
Thanks to Pavel Bochman.
2011-10-10¶
Released for Gecode 3.7.1
2011-10-06¶
Explained semantics of \(n\)-ary implication (see Simple relation constraints over Boolean variables)
2011-08-31¶
Released for Gecode 3.7.0
2011-08-22¶
Added links to the Global Constraint Catalog (Global Constraint Catalog, [6])
2011-08-22¶
Documented membership constraints (see Membership constraints)
2011-08-17¶
Documented number of values constraints (see Number of values constraints)
2011-08-17¶
Fixed error in explanation of value precedence constraint for multiple values (see Value precedence constraints)
Thanks to Chris Mears.
2011-08-15¶
Added missing information on creating a variable implementation disposer (see Explicitly disposing variable implementations.)
Thanks to Gustavo Gutierrez.
2011-07-25¶
Fixed some typos
Thanks to Pierre Flener.
2011-07-15¶
Released for Gecode 3.6.0
2011-07-13¶
Documented precede constraint (see Value precedence constraints)
2011-07-08¶
Explained that constraint post functions are clever in that they select a good propagator (see Posting constraints)
Thanks to Kish Shen.
2011-06-30¶
Documented precede constraint (see Value precedence constraints)
2011-06-07¶
Documented nooverlap constraint (see Geometrical packing constraints)
2011-06-07¶
Documented path constraint for Hamiltonian paths (see Circuit and Hamiltonian path constraints)
2011-05-26¶
Moved graph and scheduling constraints to integer module (see Circuit and Hamiltonian path constraints and Scheduling constraints)
2011-05-03¶
Fixed example for count constraint
Thanks to Kish Shen.
2011-03-28¶
Added Do not forget the library path about the library path to the compilation instructions
Thanks to Gabriel Hjort Blindell, Flutra Osmani.
2011-03-24¶
Added pointers to MiniModel reference documentation
2011-03-14¶
Added archiving for choices and branchers
2011-02-22¶
Adapted to new names for set channeling constraints
2011-02-13¶
Added that Gecode on Windows requires Microsoft Visual C++ 2008 or better
2011-02-11¶
Added missing int.hh file
Thanks to Gustavo Gutierrez.
2011-02-01¶
Released for Gecode 3.5.0
2011-01-28¶
Added bin packing case study (Bin packing)
2011-01-25¶
Documented STL-style array iterators (STL-style iterators)
Thanks to Gregory Crosswhite.
2010-10-09¶
Released for Gecode 3.4.2
2010-10-09¶
Removed discussion of limited discrepancy search
2010-10-06¶
Released for Gecode 3.4.1
2010-10-06¶
Documented the binpacking constraint (Bin-packing constraints)
2010-10-05¶
Added explanation how to initially schedule a propagator using advisors (see Getting a propagator started with advisors)
Thanks to Chris Mears.
2010-10-05¶
Added installation and compilation instructions (moved and eexpanded from the reference documentation) (Obtaining Gecode)
2010-09-02¶
Explain that variables are re-selected during branching (Variables are re-selected during branching)
Thanks to Kish Shen.
2010-08-31¶
Documented that variable implementation views are parametric with respect to variables (Variable implementation views: integer view)
2010-08-31¶
Documented that the variable base class is VarImpVar (Variables)
2010-07-30¶
Many small fixes everywhere (language, presentation, references)
2010-07-26¶
Released for Gecode 3.4.0 (first complete version)
2010-07-21¶
Added a how to read section (How to read this document?) and overview material to each chapter and part
2010-07-20¶
Added the part on programming search engines (Programming search engines)
2010-07-02¶
Added the part on programming variables (Programming variables)
2010-06-17¶
Explain that the compiler environment is set up on Windows (Visual Studio command prompts)
Thanks to Dan Scott.
2010-06-04¶
Explained that variables do not have init() functions as they are not needed.
2010-05-10¶
Fixed typo in Recomputation
Thanks to Andreas Karlsson.
2010-05-07¶
Documented new MiniModel for set constraints (Expressions and relations) and adapted to other MiniModel changes
2010-05-06¶
Added more case studies
2010-05-06¶
Documented new operations on argument arrays (Argument arrays)
2010-04-11¶
Only use absolute URLs as not all PDF viewers honor the base URL
2010-04-09¶
Released for Gecode 3.3.1 (first release of “Modeling and Programming with Gecode”)
2010-04-01¶
Fixed typo in A Gecode model for Send Most Money finding a best solution
Thanks to Seyed Hosein Attarzadeh Niaki.
2010-03-13¶
Released for Gecode 3.3.0
2010-02-01¶
Described that linear expressions can freely mix integer and Boolean variables and that also sum expressions are supported (Expressions and relations)
2010-01-18¶
Fixed typo in example (Recomputation)
Thanks to Vincent Barichard.
2010-01-18¶
Added tips for linking libraries (Linking against Gist and Linking against the driver)
2009-11-30¶
Released for Gecode 3.2.2
2009-11-24¶
Documented sequence constraints (Sequence constraints)
2009-11-04¶
Released for Gecode 3.2.1
2009-11-01¶
Explained integer shared arrays for element (Shared integer arrays)
2009-10-16¶
Explained Home (Space& versus Home)
2009-10-13¶
Documented AFC-based variable selection for branching (Branching on integer and Boolean variables)
2009-10-08¶
Fixed link for reporting bugs
2009-10-05¶
Released for Gecode 3.2.0
2009-06-15¶
Fixed some broken links
Thanks to Sverker Janson.
2009-06-08¶
Documented branching on single variables (Branching basics)
2009-06-08¶
Documented element constraint for matrix interface (Element constraints.)
2009-05-20¶
Released for Gecode 3.1.0
2009-05-12¶
Documented parallel search (Parallel search)
2009-05-08¶
Clarified the use of "<GECODEDIR>". (Microsoft Visual Studio)
Thanks to Markus Böhm.
2009-04-20¶
Documented script commandline driver (Using the script commandline driver, Script commandline driver)
2009-04-09¶
Documented wait post functions (Synchronized execution, Synchronized execution)
2009-03-26¶
Released for Gecode 3.0.2
2009-03-26¶
Fix for gcc compilation instructions in Linux and relatives
Thanks to Roberto Castañeda Lozano.
2009-03-24¶
Released for Gecode 3.0.1
2009-03-23¶
Generate shorter inter-document references to avoid problems with some PDF viewers
Thanks to Håkan Kjellerstrand.
2009-03-13¶
Initial release for Gecode 3.0.0