February 18th, 2009The following bugs, which could have produced incorrect answers, have been fixed:
· The 'pow' constraint was confused by domains which contained '0'.
· Using integers close to 2^32 could occasionally produce incorrect results.
The table constraint containing 1 tuple over no variables was considered false, not true. The following bugs, which could not produce incorrect errors, have been fixed:
· Arrays containing no variables crashed Minion.
· Many constraints crashed when given arrays of length 0.
Table constraints caused crashes when the length of tuples is not equal to the number of variables. The following improvements have been made to Minion, some of which have been in previous versions but are now correctly documented:
· All constraints can now be reified.
· An efficient method of calculating the 'or' of a list of constraints has been added.
· Efficient implementations of alldiff and gcc (global cardinality constraint) have been added.
· A number of other binary and unary constraints have been added.
· There is now a rudimentary visualiser which shows (in a matrix) the domains/assignments of variables during search.
· The Minion build system now uses 'cmake'.
· The documentation has been improved. A large number of other small improvements and adjustments have been made as well, based on a much larger automated test suite. Note that Tailor is not part of the standard Minion distribution anymore; it is released separately.