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 49 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 50 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ SEPA_PRIORITY
#define SEPA_PRIORITY -2000 |
Definition at line 51 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ SEPA_FREQ
#define SEPA_FREQ 10 |
Definition at line 52 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ SEPA_MAXBOUNDDIST
#define SEPA_MAXBOUNDDIST 1.0 |
Definition at line 53 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 54 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 55 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 57 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 58 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 59 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 60 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 61 of file sepa_strongcg.c.
Referenced by SCIPincludeSepaStrongcg().
◆ DEFAULT_RANDSEED
#define DEFAULT_RANDSEED 54 |
initial random seed
Definition at line 62 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAINIT().
◆ SEPARATEROWS
#define SEPARATEROWS /* separate rows with integral slack */ |
Definition at line 64 of file sepa_strongcg.c.
◆ BOUNDSWITCH
#define BOUNDSWITCH 0.9999 |
Definition at line 66 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ POSTPROCESS
#define POSTPROCESS TRUE |
Definition at line 67 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ USEVBDS
#define USEVBDS TRUE |
Definition at line 68 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ MINFRAC
#define MINFRAC 0.05 |
Definition at line 69 of file sepa_strongcg.c.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ MAXFRAC
#define MAXFRAC 0.95 |
Definition at line 70 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 72 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 93 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 107 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 126 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 141 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 155 of file sepa_strongcg.c.
References BOUNDSWITCH, FALSE, MAXAGGRLEN, MAXFRAC, MIN, 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.