Minion Changelog

What's new in Minion 1.7

Jul 3, 2014
  • Improvements:
  • element_undefzero constraint
  • alldiff_matrix constraint
  • Minion now defaults to supporting 64-bit instead of 32-bit domains
  • Handle some cases where wdeg caused minion to crash
  • Update to support windows 8, latest visual studio and Mac OS X mavericks
  • Remove dependancy on boost (instead require a C++11 compiler)
  • Bugs which could result in incorrect answers:
  • Correctly reject domains like {1..0}.
  • Such domains would result in minion returning 'no solutions'. They now result in 'incorrect input'.
  • reified haggisgac_stable would produce incorrect answers occasionally when
  • the --preprocess flag was used.
  • reified watchelement_undefzero would produce incorrect answers occasionally
  • Removed functionality:
  • Minion will now no longer take gz and bz2 files and auto-uncompress them. You can emulate this functionality by doing 'gunzip -c file.gz | minion --'

New in Minion 1.6.1 (Jul 3, 2014)

  • Improvements:
  • Fixed a slowdown in reification of equality constraints

New in Minion 1.6 (Jul 3, 2014)

  • Bugfixes:
  • Fix an occasional crash when minion exits (this only happened after all output was produced.)
  • Improvements:
  • Added an implementation of the shortstr2 propagator (as published in IJCAI 2013), and SHORTTUPLES, which is a compressed form of tuples used by ShortSTR2 and some other propagators.
  • Added the command line option '-map-long-short' to automatically compress standard tuples into short tuples, for use with shortstr2 and haggisgac (also published in IJCAI 2013)
  • Added an implementation of the mddc, negativemddc and str2plus propagators.
  • All constraints now work with negative values, in particular pow, div and mod.
  • Minion can now support 64-bit domains on both 32-bit and 64-bit processors. Enable with the DOMAINS64 compile time option to CMake.
  • Other changes:
  • Many old pieces of code were cleaned up or deleted.

New in Minion 0.8.1 (Apr 13, 2009)

  • Improvements:
  • the code was cleaned up and modularised to be more easily understandable and modifiable
  • more information is made available in INFO mode
  • some minor bugfixes
  • Performance enhancements:
  • bound checks for Boolean variables are more efficient
  • input files are parsed faster
  • Other changes:
  • the build system now provides make targets to run the tests
  • builds are not done in the main direcotry anymore, but in a separate directory (meaning that you can have as many different builds of the same source as you like)
  • better Cygwin support

New in Minion 0.8.0 (Feb 19, 2009)

  • The 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.