As Gecode 2.0.0 is a major revision of Gecode, your programs that are written for Gecode 1.3.1 are likely to require some modifications before they work again. All modifications are straightforward, though.
This short summary shows how to adapt your models and linker invocation, for changes to propagator implementations, etc, please consult the changelog.
Boolean variables (BoolVar) are not any longer integer variables (IntVar). The same holds for variable arrays (BoolVarArray, IntVarArray). So, you can not mix Boolean and integer variables in the same array (use two different arrays) and you can not cast between them. If you want to link the value of a BoolVar to the value of an IntVar you have to use a channel constraint. Posting constraints remains unchanged, as all constraints offer two overloaded versions (one for IntVar, one for BoolVar).
The regular constraint has been renamed to extensional (after all, it is an extensionally specified constraint). The old name is still available in the MiniModel module.
If you want to use regular expressions, you have to add
to your file as they moved to the MiniModel module.
In order to make the interface to Boolean constraints more regular and similar to set constraints, Boolean constraints are available as rel constraints. That is, instead of
you have to write
Likewise, for arrays you have to write
instead of
More information is available here.
Values and types for selecting how to branch have been made uniform. Replace BVAL_* by INT_VAL_*, BVAR_* by INT_VAR_*, and so on.
The interface for the global cardinality constraint has been simplified. The constraint is now called count. Please check the documentation for details.
The sortedness constraint has been renamed to sorted.
Some generic functionality has been put into its own library (
on Unix systems,
on Windows). You have to link against this library now.