Skip to content

v2.3.0

Compare
Choose a tag to compare
@svigerske svigerske released this 21 Jun 10:26
· 261 commits to main since this release

Interface changes

New parameters with default values

  • presolve.maxrounds = -1 : maximal number of rounds (-1: unlimited, 0: cleanup)
  • introduced preprocessor variable PAPILO_API_VERSION to indicate API changes

Data structures

  • statistics have an additional integer variable single_matrix_coefficient_changes to count the coefficient changes apart from variable substitutions and constraint deletions
  • add PostsolveStatus to namespace papilo (PAPILO_API_VERSION 1)

Fixed bugs

  • SingletonCols: normalize if substituting constraint in the objective (primal-postsolve only)
  • Postsolve: round primal solution values close to zero when substituting
  • VeriPB: encode INFINITY differently to prevent SIGSEGV if executed in Rational
  • VeriPB: encode fixed variables in a separate array to avoid problems with casting infinity
  • VeriPB: ensure that numbers are casted to integers when writing in the certificates
  • VeriPB: when updating the rhs/lhs of parallel cols distinguish the case factor greater or less than 0
  • VeriPB: fix bug leading to endless loop when reconstructing the fractional numbers during sparsify

Known issues

  • SingletonCols: normalize if substituting constraint in the objective (when dual-postsolve is active)
  • VeriPB: in Rational mode using infinity to encode fixed variables can lead to wrong calculations