Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods and files provided by the default cut selectors of SCIP

A detailed description what a cut selector does and how to add a cut selector to SCIP can be found here.

Modules

 Inclusion methods
 methods to include specific cut selectors into SCIP
 

Functions

SCIP_RETCODE SCIPselectCutsHybrid (SCIP *scip, SCIP_ROW **cuts, SCIP_ROW **forcedcuts, SCIP_RANDNUMGEN *randnumgen, SCIP_Real goodscorefac, SCIP_Real badscorefac, SCIP_Real goodmaxparall, SCIP_Real maxparall, SCIP_Real dircutoffdistweight, SCIP_Real efficacyweight, SCIP_Real objparalweight, SCIP_Real intsupportweight, int ncuts, int nforcedcuts, int maxselectedcuts, int *nselectedcuts)
 

Files

file  cutsel_hybrid.h
 hybrid cut selector
 

Function Documentation

◆ SCIPselectCutsHybrid()

SCIP_RETCODE SCIPselectCutsHybrid ( SCIP scip,
SCIP_ROW **  cuts,
SCIP_ROW **  forcedcuts,
SCIP_RANDNUMGEN randnumgen,
SCIP_Real  goodscorefac,
SCIP_Real  badscorefac,
SCIP_Real  goodmaxparall,
SCIP_Real  maxparall,
SCIP_Real  dircutoffdistweight,
SCIP_Real  efficacyweight,
SCIP_Real  objparalweight,
SCIP_Real  intsupportweight,
int  ncuts,
int  nforcedcuts,
int  maxselectedcuts,
int *  nselectedcuts 
)

perform a cut selection algorithm for the given array of cuts

This is the selection method of the hybrid cut selector which uses a weighted sum of the efficacy, parallelism, directed cutoff distance, and the integral support. The input cuts array gets resorted s.t the selected cuts come first and the remaining ones are the end.

Parameters
scipSCIP data structure
cutsarray with cuts to perform selection algorithm
forcedcutsarray with forced cuts
randnumgenrandom number generator for tie-breaking, or NULL
goodscorefacfactor of best score among the given cuts to consider a cut good and filter with less strict settings of the maximum parallelism
badscorefacfactor of best score among the given cuts to consider a cut bad and discard it regardless of its parallelism to other cuts
goodmaxparallmaximum parallelism for good cuts
maxparallmaximum parallelism for non-good cuts
dircutoffdistweightweight of directed cutoff distance in cut score calculation
efficacyweightweight of efficacy in cut score calculation
objparalweightweight of objective parallelism in cut score calculation
intsupportweightweight of integral support in cut score calculation
ncutsnumber of cuts in cuts array
nforcedcutsnumber of forced cuts
maxselectedcutsmaximal number of cuts from cuts array to select
nselectedcutspointer to return number of selected cuts from cuts array

Definition at line 433 of file cutsel_hybrid.c.

References filterWithParallelism(), MAX, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, scoring(), and selectBestCut().

Referenced by doSeparation(), SCIP_DECL_CUTSELSELECT(), SCIP_DECL_SEPAEXECLP(), and separateRltCuts().