Fixed bugs
- fixed bugs with counting changes in presolving of nonlinear and setppc constraints, which resulted in negative values
- cut off dead end node to correctly track dual bound update during solving
- no longer construct and flush the LP in
SCIPwriteLP()andSCIPwriteMIP()to avoid unexpected side effects - apply multi-aggregations before detecting redundancy in propagation of varbound constraints to keep bound implications
- skip bound changes when cutting off a branch-and-bound subtree
- correct detection of doublelex matrices and their handling via orbitope constraints
- skip attempting to free transformed problem if
SCIPtransformProb()failed with an error inSCIPpresolve(), since freeing the transformed problem is likely to fail as well - fixed memory leak in primal heuristic "scheduler" when there is a restart
- fixed stopping when there is a candidate with a change in the LP bound for both children in strong branching of branch_fullstrong
- fixed detection of sinks in varbound detection from cumulative constraints
- fixed memory allocation when adding strong SBCs for enclosing orbit of symmetric subgroups (disabled by default)
- free paths of branch-and-bound tree iteratively instead of recursively to avoid stack overflow
- fixed rare invalid memory access when collecting symmetry information for indicator constraints
- recompute activity bounds before checking infeasibility and redundancy in linear constraint presolving
- skip integer variables with fractional value in reference solution when finding additional variable fixings in ALNS heuristic
- fix call of
SCIPaddExprsViolScoreNonlinear()with constant expressions (no variables) - fixed bug with concurrent solve w.r.t. variable indices that led to segmentation faults and fix termination test
- adjust further bounds before checking feasibility in
SCIPvarAddVlb()andSCIPvarAddVub()to detect integrality cutoff - fixed that the last fixed binary variable was not set after binary variables were created for linking constraints
- fixed that when a linking constraint with only one binary variable was added during solving, it was not disabled
- fixed
set_search_limits()call when usingSYM=sblisswith an old patched Bliss version
Build system
CMake
- added workaround for recent ctest versions rejecting
-R -defaultas arguments
Makefile
- added experimental target to run cppcheck