Skip to content

0.9.24

Latest
Compare
Choose a tag to compare
@Wout4 Wout4 released this 17 Jan 14:57
· 5 commits to master since this release

Release Notes

Enhancements and Features

  • Safening of partial functions: New transformation to safen partial function. #515
  • Update Choco interface with native reification: Improved the Choco solver interface with native reification support. #526
  • Reals in objective function: Added support for real numbers in the objective function. #529
  • Better naive grow: Enhanced the "naive grow" strategy for better performance. #528
  • Blocks world: Introduced a "blocks world" example for demonstration purposes. #533
  • Examples Colab links: Added direct Colab links to examples for easier experimentation. #553
  • Circuit decomposition for all ranges: Extended circuit decomposition to handle all ranges. #424
  • Global function in Z3 objective: Introduced global functions in Z3 solver objectives. #560
  • Z3 auto subsolver: Implemented automatic subsolver selection for Z3 when solving optimization problems. #567
  • Parametrize solver tests: Streamlined solver test cases using parameterization. #572
  • Linearize power: Added linearization for power operations. #538
  • Improve Boolean normalization for PySAT: Enhanced normalization of Boolean terms for PySAT. #569

Performance Improvements

  • Has subexpr optimization: Skip transformations of leaf expressions for improved efficiency. #532
  • Only implied speedup: Optimized "only implied" handling for significant speedups. #541
  • Distribute tests over CPUs: Distributed tests over 4 CPUs, reducing runtime from 21m30s to 8m45s. #571
  • ndvar_getitem optimization: Improved ndvar_getitem by moving fetch casts to initialization. #550
  • Remove inline imports: Instead use import as x at top of file. #542

Bug Fixes

  • Remove broadcast in min/max: Fixed issues when forwarding to built-in min/max functions. #536
  • Convert numpy array in Table constraint: Ensured proper conversion of NumPy arrays to lists in Table constraints. #540
  • Clear values on UNSAT: Added functionality to clear variable values when UNSAT is detected. #523
  • Fix cpm_array with order='F': Resolved issues with cpm_array() when using column-major order. #555
  • Car sequencing index fix: Corrected indexing issues in the car sequencing problem. #565

Code Quality and Maintenance

  • Improve exception messages: Enhanced clarity of exception messages and removed unused imports. #539
  • Edits to the docs: Updated documentation for clarity and completeness. #530
  • Gurobi license check: Separated Gurobi license checks into a distinct process. #566
  • Standardize solver version checks: Unified approach to checking solver version compatibility. #568
  • Update requirements: Upped our minimal python requirement from 3.6 to 3.7. #573