v0.9.5
Change log
0.9.5
- fix bug in ort limitation check for 'modulo' operator
- mzn: better doc and check on single solution output
- various documentation updates
0.9.4
Major:
- re-enabled MiniZinc as a backend solver!
- reworked how solvers (and subsolvers) are accessed
-> you can now domodel.solve(solver="minizinc:chuffed")
and the like - added a SolverLookup.solvernames() to get supported names
- a debugging guide in the docs
Minor:
- various documentation and test updates
- some more explicit errors
- add vectorized operations that were missing (thanks Hakan)
- pysat: fix bug where constraints were duplicated
- ort: show validation error when model is invalid
- ort: work around 'xor' not being reifiable
- add missing negated_normal for 'xor'
0.9.3
- make progress logging work in jupyter/IPython (beta ortools feature)
- transf/get_variables now has print_variables that prints domains, for debugging with domains
- fix automatic bounds computation of auxiliary variables for abs,mul,div,pow (mostly due to negative numbers)
0.9.2
- pysat: tseitin encode all logical operators
- to_cnf tseitin encoding for logical operators, with tests
- better chaining of n-ary operators, fixes #39
- doc: beginner tutorial add optimisation
- doc: extend multiple solutions, minisearch, diverse solutions
- ort: add OrtSolutionPrinter and solve(solution_callback=...)
- example of diverse solutions
- vectorized 'abs' operator
- flatten: fix some bound computations
0.9.1
- easier hyperparameter search with
param_combinations()
helper function in cpmpy.solvers
0.9.0
First beta release!
- Reorganize cpmpy/ modules (not backward-compatible)
- Rework variables/constraint constructors (deprecation warnings for old constructors, will be removed with stable release)
- Updated all examples to follow new style
- Add PySAT backend, with incrementality/core extraction (only accepts CNF input for now)
- Add minimize()/maximize() to Model() and solver objects
- simpler
from cpmpy.solvers import CPM_ortools
for solver-specific use - Add keyword arguments to solve() that configure solver-specific options
- Add example of hyperparameter gridsearch
- Updated API and user docs considerably
0.7.2
- get_core() work around bug in upstream ortools
0.7.1
- still learning the right release flow, this is a stable release
0.7.0b
- still learning the right release flow
0.7.0
Major
- Reworked solver interface so that it is near-identical to model interface
- Or-tools interface allows unsat core extraction!
- Add MARCO MUS enumerate as example of unsat core extraction usage
- variables now take a name= argument for variable name (easier debugging)
Enhancements
- Added more examples: bibd, npuzzle
- Added 'table' global constraint
- Added support for time_limit when calling solve()
- Added more tests on the flattening
- Add solution hints to ortools interface
- Improved documentation
Bugfixes
- multiple fixes and improvements in ortools interface
- fix module (thanks HakanK)
- various bugfixes
0.6.0
Major
- Or-tools is now the default backend
Enhancements
- A new
flat normal form
withflatten_model
transformation - Generic global constraint decompositions
- Adding more examples
- Documentation improvements.
- Multiple bug fixes related to the integration of OR-Tools