cutsel_dynamic.h
Go to the documentation of this file.
30 * The dynamic cut selector is an extension of the hybrid cut selector to employ a dynamic range for the orthogonality
31 * filtering, dependent on the efficacy ratio between cuts. It allows the user to specify a minimum efficacy gain in
32 * percentage to filter cuts, which corresponds geometrically to the idealized shift from the LP solution adding only
34 * In this way we can enforce a minimum orthogonality between cuts through the efficacy ratio. This should, in theory,
35 * avoid the selection of cutting plane pairs that do not improve the lp solution, but only increase the number of cuts
38 * The selector allows the user to specify a filtering strategy during cut selection ('d'ynamic- and 'f'ull dynamic),
40 * In both cases, after a cut is selected, the remaining cuts are resorted by computing their relative efficacy to the
41 * selected cut. The efficacy ratio is then used to filter the cuts based on the filtering strategy:
42 * - 'd'ynamic-parallelism: The dynamic parallelism strategy filters cuts based on the efficacy ratio between cut
43 * pairs. It only filters cuts that are not theoretically improving the efficacy of the pair given the first cut, i.e.,
44 * the efficacy ratio is below the minimum efficacy gain in percentage, without calculating or resorting the cut array.
46 * - 'f'ull dynamic parallelism: The full dynamic parallelism strategy filters cuts based on the efficacy ratio between
47 * cut pairs by iteratively recomputing the score given the previously selected cut. This results in a set of cuts
48 * that is a sequence of theoretically most effective almost orthogonal cuts, whereby almost orthogonal means that
52/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
95 SCIP_Real dircutoffdistweight, /**< weight of directed cutoff distance in cut score calculation */
SCIP_RETCODE SCIPselectCutsDynamic(SCIP *scip, SCIP_ROW **cuts, SCIP_ROW **forcedcuts, SCIP_RANDNUMGEN *randnumgen, char filtermode, SCIP_Real mingain, SCIP_Real maxparall, SCIP_Real dircutoffdistweight, SCIP_Real efficacyweight, SCIP_Real objparalweight, SCIP_Real intsupportweight, int ncuts, int nforcedcuts, int maxselectedcuts, int *nselectedcuts)
Definition: cutsel_dynamic.c:539
SCIP_RETCODE SCIPincludeCutselDynamic(SCIP *scip)
Definition: cutsel_dynamic.c:457
Definition: objbenders.h:44
SCIP callable library.
Definition: struct_misc.h:269
Definition: struct_lp.h:202
Definition: struct_scip.h:70