Skip to content

v2.2.0

Compare
Choose a tag to compare
@ju-manns ju-manns released this 26 Mar 11:26
· 371 commits to main since this release

Performance improvements

  • Symmetries: For binary problems ParallelCols adds symmetry-breaking constraints to avoid introducing non-binary integer variables via parameter

Interface changes

  • CML: new options dual-reduced-solution/costs-reduced-solution/basis-reduced-solution to pass the dual/reduced costs/basis information of the reduced solution via command-line to PaPILO in the postsolve call
  • Boost: program_options is no longer required but needed to use PaPILO via command-line.

New API functions

Changed parameters

New parameters with default values

  • verification_with_VeriPB = 0 : should PaPILO print a VeriPB log (only for PseudoBoolean problems)?
  • veripb.verify_propagation = 0 : how to log the proof of verification? 0: reverse unit propagation, 1: Addition in polish notation
  • parallelcols.symmetries_enabled = 0 : should ParallelCols add symmetry-breaking constraints instead of introducing new variables?

Data structures

Fixed bugs

  • SimpleProbing: avoid unstable replacements of columns with small ranges
  • if PaPILO solves the problem a backend solver is no longer called
  • DualInfer: add percentage of bound change as stop criterium for dual-propagation
  • CMake: Libs are available when installing with CMake

Miscellaneous

  • Ortools: PaPILO parses the dual solution and the reduced costs from ortools
  • HiGHS: PaPILO supports HiGHS version 1.3+
  • VeriPB: prints VeriPB 2.0 parseable certificate for pseudo-Boolean problems in the log
  • OPB-Format: PaPILO can now parse files in linear opb format
  • RoundingSat https://gitlab.com/MIAOresearch/software/roundingsat is available as PseudoBoolean solver
  • make testcluster script extended by SKIP_PRESOLVE and SOLVE_EXECUTABLE to solve the reduced/original problem
  • make testcluster script extended to verify PaPILO certificates (experimental only)