Skip to content

Commit

Permalink
Merge branch 'mt/branch_gomory' into 'master'
Browse files Browse the repository at this point in the history
Branching via Cutting Plane Selection

See merge request integer/scip!3122
  • Loading branch information
sbolusani committed Dec 7, 2023
2 parents 9f21c7d + 2a91c11 commit 905aa76
Show file tree
Hide file tree
Showing 18 changed files with 1,323 additions and 20 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ Features
- added special presolving step for logicor and set covering/packing for constraints with two variables and one independent variable
- increased the depth field of the tree structure from 16 to 30 bits and the max depth of the search tree from 65534 to 1073741822
- added new cut selector plugin called cutsel_ensemble. Performs a superset of hybrid cutsel. Implements new filtering methods and scoring options.
- added new branching rule based on Gomory mixed-integer cuts
- added new branching score to the reliability pseudo-cost branching rule
- added monoidal strengthening to intersection cut generation of nlhdlr_quadratic

Performance improvements
Expand All @@ -41,6 +43,7 @@ Performance improvements
- Use sassy/bliss as default symmetry computation package.
- No longer linearize indicator constraints in undercover heuristic by default.
- Deactivate pre-root heuristic zeroobj in undercover heuristic.
- Added new branching score tiebreaker for reliability pseudo-cost branching rule
- Try nearest bound if zero solution value is out of bounds in heuristic trivial.

Examples and applications
Expand Down Expand Up @@ -97,6 +100,8 @@ Interface changes
for managing a copy of the branch-and-bound tree for symmetry handling purposes.
- SCIPdotWriteOpening(), SCIPdotWriteNode(), SCIPdotWriteArc(), SCIPdotWriteClosing()
- SCIPincludeCutselEnsemble(), SCIPselectCutsEnsemble() to include cutsel_ensemble or use the selection algorithm
- SCIPincludeBranchruleGomory() includes new gomory cut based branching rule
- SCIPgetVarAvgGMIScore(), SCIPincVarGMISumScore(), SCIPgetVarLastGMIScore(), SCIPsetVarLastGMIScore() set historical values used by SCIP's default branching rule

### Command line interface

Expand Down Expand Up @@ -139,6 +144,8 @@ Interface changes
that is at least as good as the given value
- heuristics/undercover/{coverand,coverind,covernl} to control which nonlinearities to consider (by default only "and" and nonlinear constraints)
- cutselection/ensemble/* all parameters for new ensemble cut selector
- branching/relpscost/gmiavgeffweight specifies the weight in the relpscost branching score of the normalized efficacy of all generated GMI cuts (for a variable)
branching/relpscost/gmilasteffweight specifies the weight in the elpscost branching score of the normalized efficacy of the last generated GMI cut (for a variable)
- nlhdlr/quadratic/usemonoidal to enable monoidal strengthening when separating quadratics with intersection cuts
- nlhdlr/quadratic/trackmore to collect more statistics for monoidal strengthening when separating quadratics with intersection cuts
- nlhdlr/quadratic/useminrep to use the minimal representation to compute cut coefficients when separating quadratics with intersection cuts
Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,7 @@ SCIPPLUGINLIBOBJ= scip/benders_default.o \
scip/branch_cloud.o \
scip/branch_distribution.o \
scip/branch_fullstrong.o \
scip/branch_gomory.o \
scip/branch_inference.o \
scip/branch_leastinf.o \
scip/branch_lookahead.o \
Expand Down
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ set(scipsources
scip/branch_cloud.c
scip/branch_distribution.c
scip/branch_fullstrong.c
scip/branch_gomory.c
scip/branch_inference.c
scip/branch_leastinf.c
scip/branch_lookahead.c
Expand Down Expand Up @@ -483,6 +484,7 @@ set(scipheaders
scip/branch_cloud.h
scip/branch_distribution.h
scip/branch_fullstrong.h
scip/branch_gomory.h
scip/branch.h
scip/branch_inference.h
scip/branch_leastinf.h
Expand Down
Loading

0 comments on commit 905aa76

Please sign in to comment.