Skip to content

Commit

Permalink
Merge branch 'mt/ensemble_cutsel' into 'master'
Browse files Browse the repository at this point in the history
Mt/ensemble cutsel

See merge request integer/scip!3123
  • Loading branch information
Mathieu Besançon committed Nov 7, 2023
2 parents 8f1cfab + 3948dbb commit e5e9da9
Show file tree
Hide file tree
Showing 7 changed files with 970 additions and 0 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Features
- added dialog to display recognized permutation symmetries ("display symmetry")
- 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.

Performance improvements
------------------------
Expand All @@ -35,6 +36,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.
- CutSelEnsemble is now the cut selector with the highest priority

Examples and applications
-------------------------
Expand Down Expand Up @@ -88,6 +90,7 @@ Interface changes
SCIPshadowTreeGetShadowNode(), SCIPgetShadowTree(), SCIPactivateShadowTree(), SCIPincludeEventHdlrShadowTree(),
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

### Command line interface

Expand Down Expand Up @@ -129,6 +132,7 @@ Interface changes
- limits/objectivestop to interrupt the solve as soon as a primal solution is found
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

### Data structures

Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -596,6 +596,7 @@ SCIPPLUGINLIBOBJ= scip/benders_default.o \
scip/cons_varbound.o \
scip/cons_xor.o \
scip/cons_components.o \
scip/cutsel_ensemble.o \
scip/cutsel_hybrid.o \
scip/dialog_default.o \
scip/event_softtimelimit.o \
Expand Down
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ set(scipsources
scip/cons_symresack.c
scip/cons_varbound.c
scip/cons_xor.c
scip/cutsel_ensemble.c
scip/cutsel_hybrid.c
scip/dcmp.c
scip/dialog_default.c
Expand Down Expand Up @@ -539,6 +540,7 @@ set(scipheaders
scip/cutpool.h
scip/cuts.h
scip/cutsel.h
scip/cutsel_ensemble.h
scip/cutsel_hybrid.h
scip/dbldblarith.h
scip/debug.h
Expand Down
Loading

0 comments on commit e5e9da9

Please sign in to comment.