Detailed Description
Strong CG Cuts (Letchford & Lodi)
Definition in file sepa_strongcg.c.
#include "blockmemshell/memory.h"#include "scip/cuts.h"#include "scip/pub_lp.h"#include "scip/pub_message.h"#include "scip/pub_misc.h"#include "scip/pub_misc_sort.h"#include "scip/pub_sepa.h"#include "scip/pub_var.h"#include "scip/scip_branch.h"#include "scip/scip_cut.h"#include "scip/scip_general.h"#include "scip/scip_lp.h"#include "scip/scip_mem.h"#include "scip/scip_message.h"#include "scip/scip_numerics.h"#include "scip/scip_param.h"#include "scip/scip_prob.h"#include "scip/scip_randnumgen.h"#include "scip/scip_sepa.h"#include "scip/scip_solvingstats.h"#include "scip/scip_tree.h"#include "scip/sepa_strongcg.h"#include <string.h>Go to the source code of this file.
Macros | |
| #define | SEPA_NAME "strongcg" |
| #define | SEPA_DESC "Strong CG cuts separator (Letchford and Lodi)" |
| #define | SEPA_PRIORITY -2000 |
| #define | SEPA_FREQ 10 |
| #define | SEPA_MAXBOUNDDIST 1.0 |
| #define | SEPA_USESSUBSCIP FALSE |
| #define | SEPA_DELAY FALSE |
| #define | DEFAULT_MAXROUNDS 5 |
| #define | DEFAULT_MAXROUNDSROOT 20 |
| #define | DEFAULT_MAXSEPACUTS 20 |
| #define | DEFAULT_MAXSEPACUTSROOT 500 |
| #define | DEFAULT_DYNAMICCUTS TRUE |
| #define | DEFAULT_RANDSEED 54 |
| #define | SEPARATEROWS /* separate rows with integral slack */ |
| #define | BOUNDSWITCH 0.9999 |
| #define | POSTPROCESS TRUE |
| #define | USEVBDS TRUE |
| #define | MINFRAC 0.05 |
| #define | MAXFRAC 0.95 |
| #define | MAXAGGRLEN(nvars) (0.1*(nvars)+1000) |
Functions | |
| static | SCIP_DECL_SEPACOPY (sepaCopyStrongcg) |
| static | SCIP_DECL_SEPAFREE (sepaFreeStrongcg) |
| static | SCIP_DECL_SEPAINIT (sepaInitStrongcg) |
| static | SCIP_DECL_SEPAEXIT (sepaExitStrongcg) |
| static | SCIP_DECL_SEPAEXECLP (sepaExeclpStrongcg) |
| SCIP_RETCODE | SCIPincludeSepaStrongcg (SCIP *scip) |
Macro Definition Documentation
◆ SEPA_NAME
| #define SEPA_NAME "strongcg" |
Definition at line 50 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAFREE(), and SCIPincludeSepaStrongcg().
◆ SEPA_DESC
| #define SEPA_DESC "Strong CG cuts separator (Letchford and Lodi)" |
Definition at line 51 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ SEPA_PRIORITY
| #define SEPA_PRIORITY -2000 |
Definition at line 52 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ SEPA_FREQ
| #define SEPA_FREQ 10 |
Definition at line 53 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ SEPA_MAXBOUNDDIST
| #define SEPA_MAXBOUNDDIST 1.0 |
Definition at line 54 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ SEPA_USESSUBSCIP
| #define SEPA_USESSUBSCIP FALSE |
does the separator use a secondary SCIP instance?
Definition at line 55 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ SEPA_DELAY
| #define SEPA_DELAY FALSE |
should separation method be delayed, if other separators found cuts?
Definition at line 56 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ DEFAULT_MAXROUNDS
| #define DEFAULT_MAXROUNDS 5 |
maximal number of strong CG separation rounds per node (-1: unlimited)
Definition at line 58 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ DEFAULT_MAXROUNDSROOT
| #define DEFAULT_MAXROUNDSROOT 20 |
maximal number of strong CG separation rounds in the root node (-1: unlimited)
Definition at line 59 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ DEFAULT_MAXSEPACUTS
| #define DEFAULT_MAXSEPACUTS 20 |
maximal number of strong CG cuts separated per separation round
Definition at line 60 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ DEFAULT_MAXSEPACUTSROOT
| #define DEFAULT_MAXSEPACUTSROOT 500 |
maximal number of strong CG cuts separated per separation round in root node
Definition at line 61 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ DEFAULT_DYNAMICCUTS
| #define DEFAULT_DYNAMICCUTS TRUE |
should generated cuts be removed from the LP if they are no longer tight?
Definition at line 62 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ DEFAULT_RANDSEED
| #define DEFAULT_RANDSEED 54 |
initial random seed
Definition at line 63 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAINIT().
◆ SEPARATEROWS
| #define SEPARATEROWS /* separate rows with integral slack */ |
Definition at line 65 of file sepa_strongcg.c.
◆ BOUNDSWITCH
| #define BOUNDSWITCH 0.9999 |
Definition at line 67 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ POSTPROCESS
| #define POSTPROCESS TRUE |
Definition at line 68 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ USEVBDS
| #define USEVBDS TRUE |
Definition at line 69 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ MINFRAC
| #define MINFRAC 0.05 |
Definition at line 70 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ MAXFRAC
| #define MAXFRAC 0.95 |
Definition at line 71 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ MAXAGGRLEN
| #define MAXAGGRLEN | ( | nvars | ) | (0.1*(nvars)+1000) |
maximal length of base inequality
Definition at line 73 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
Function Documentation
◆ SCIP_DECL_SEPACOPY()
|
static |
copy method for separator plugins (called when SCIP copies plugins)
Definition at line 94 of file sepa_strongcg.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPincludeSepaStrongcg(), SCIPsepaGetName(), and SEPA_NAME.
◆ SCIP_DECL_SEPAFREE()
|
static |
destructor of separator to free user data (called when SCIP is exiting)
Definition at line 108 of file sepa_strongcg.c.
References NULL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPsepaGetData(), SCIPsepaGetName(), SCIPsepaSetData(), and SEPA_NAME.
◆ SCIP_DECL_SEPAINIT()
|
static |
initialization method of separator (called after problem was transformed)
Definition at line 127 of file sepa_strongcg.c.
References DEFAULT_RANDSEED, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateRandom(), SCIPsepaGetData(), and TRUE.
◆ SCIP_DECL_SEPAEXIT()
|
static |
deinitialization method of separator (called before transformed problem is freed)
Definition at line 142 of file sepa_strongcg.c.
References NULL, SCIP_OKAY, SCIPfreeRandom(), and SCIPsepaGetData().
◆ SCIP_DECL_SEPAEXECLP()
|
static |
LP solution separation method of separator
Definition at line 156 of file sepa_strongcg.c.
References BOUNDSWITCH, FALSE, MAXAGGRLEN, MAXFRAC, MINFRAC, NULL, POSTPROCESS, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_LPSOLSTAT_OPTIMAL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_SEPARATED, SCIP_VARTYPE_CONTINUOUS, SCIPaddPoolCut(), SCIPaddRow(), SCIPaddVarToRow(), SCIPaggrRowCreate(), SCIPaggrRowFree(), SCIPaggrRowSumRows(), SCIPallocBufferArray, SCIPcacheRowExtensions(), SCIPcalcStrongCG(), SCIPcolGetPrimsol(), SCIPcolGetVar(), SCIPcreateEmptyRowSepa(), SCIPdebugMsg, SCIPfeasFrac(), SCIPflushRowExtensions(), SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPgetCutEfficacy(), SCIPgetDepth(), SCIPgetLPBasisInd(), SCIPgetLPBInvRow(), SCIPgetLPColsData(), SCIPgetLPRowsData(), SCIPgetLPSolstat(), SCIPgetNCutsFound(), SCIPgetNLPBranchCands(), SCIPgetNLPs(), SCIPgetRowActivity(), SCIPgetRowLPActivity(), SCIPgetRowMaxCoef(), SCIPgetRowMinCoef(), SCIPgetVarsData(), SCIPgetVectorEfficacyNorm(), SCIPinfinity(), SCIPisCutEfficacious(), SCIPisCutNew(), SCIPisEfficacious(), SCIPisLPSolBasic(), SCIPisStopped(), SCIPrandomGetReal(), SCIPreleaseRow(), SCIProwChgRank(), SCIProwGetName(), SCIProwGetNorm(), SCIProwGetRhs(), SCIProwIsIntegral(), SCIProwIsModifiable(), SCIPsepaGetData(), SCIPsepaGetName(), SCIPsepaGetNCallsAtNode(), SCIPsepaWasLPDelayed(), SCIPsnprintf(), SCIPsortDownRealInt(), SCIPvarGetName(), SCIPvarGetType(), SEPA_NAME, and USEVBDS.
