Detailed Description
rapidlearning separator
Definition in file sepa_rapidlearning.c.
#include <assert.h>#include <string.h>#include "scip/sepa_rapidlearning.h"#include "scip/scipdefplugins.h"#include "scip/heuristics.h"#include "scip/pub_var.h"Go to the source code of this file.
Functions | |
| static | SCIP_DECL_SEPACOPY (sepaCopyRapidlearning) |
| static | SCIP_DECL_SEPAFREE (sepaFreeRapidlearning) |
| static SCIP_RETCODE | setupAndSolveSubscipRapidlearning (SCIP *scip, SCIP *subscip, SCIP_SEPADATA *sepadata, int randseed, SCIP_Bool global, SCIP_RESULT *result) |
| static SCIP_RETCODE | checkExec (SCIP *scip, SCIP_SEPADATA *sepadata, SCIP_Bool *run) |
| static | SCIP_DECL_SEPAEXECLP (sepaExeclpRapidlearning) |
| SCIP_RETCODE | SCIPincludeSepaRapidlearning (SCIP *scip) |
Macro Definition Documentation
◆ SEPA_NAME
| #define SEPA_NAME "rapidlearning" |
Definition at line 44 of file sepa_rapidlearning.c.
◆ SEPA_DESC
| #define SEPA_DESC "rapid learning heuristic and separator" |
Definition at line 45 of file sepa_rapidlearning.c.
◆ SEPA_PRIORITY
| #define SEPA_PRIORITY -1200000 |
Definition at line 46 of file sepa_rapidlearning.c.
◆ SEPA_FREQ
| #define SEPA_FREQ 5 |
Definition at line 47 of file sepa_rapidlearning.c.
◆ SEPA_MAXBOUNDDIST
| #define SEPA_MAXBOUNDDIST 1.0 |
Definition at line 48 of file sepa_rapidlearning.c.
◆ SEPA_USESSUBSCIP
| #define SEPA_USESSUBSCIP TRUE |
does the separator use a secondary SCIP instance?
Definition at line 49 of file sepa_rapidlearning.c.
◆ SEPA_DELAY
| #define SEPA_DELAY FALSE |
should separation method be delayed, if other separators found cuts?
Definition at line 50 of file sepa_rapidlearning.c.
◆ DEFAULT_APPLYCONFLICTS
| #define DEFAULT_APPLYCONFLICTS TRUE |
should the found conflicts be applied in the original SCIP?
Definition at line 52 of file sepa_rapidlearning.c.
◆ DEFAULT_APPLYBDCHGS
| #define DEFAULT_APPLYBDCHGS TRUE |
should the found global bound deductions be applied in the original SCIP? apply only if conflicts and incumbent solution will be copied too
Definition at line 53 of file sepa_rapidlearning.c.
◆ DEFAULT_APPLYINFERVALS
| #define DEFAULT_APPLYINFERVALS TRUE |
should the inference values be used as initialization in the original SCIP?
Definition at line 58 of file sepa_rapidlearning.c.
◆ DEFAULT_REDUCEDINFER
| #define DEFAULT_REDUCEDINFER FALSE |
should the inference values only be used when rapid learning found other reductions?
Definition at line 59 of file sepa_rapidlearning.c.
◆ DEFAULT_APPLYPRIMALSOL
| #define DEFAULT_APPLYPRIMALSOL TRUE |
should the incumbent solution be copied to the original SCIP?
Definition at line 60 of file sepa_rapidlearning.c.
◆ DEFAULT_APPLYSOLVED
| #define DEFAULT_APPLYSOLVED TRUE |
should a solved status be copied to the original SCIP?
Definition at line 61 of file sepa_rapidlearning.c.
◆ DEFAULT_CHECKEXEC
| #define DEFAULT_CHECKEXEC TRUE |
check whether rapid learning should be executed
Definition at line 63 of file sepa_rapidlearning.c.
◆ DEFAULT_CHECKDEGANERACY
| #define DEFAULT_CHECKDEGANERACY TRUE |
should local LP degeneracy be checked?
Definition at line 64 of file sepa_rapidlearning.c.
◆ DEFAULT_CHECKDUALBOUND
| #define DEFAULT_CHECKDUALBOUND FALSE |
should the progress on the dual bound be checked?
Definition at line 65 of file sepa_rapidlearning.c.
◆ DEFAULT_CHECKLEAVES
| #define DEFAULT_CHECKLEAVES FALSE |
should the ratio of leaves proven to be infeasible and exceeding the cutoff bound be checked?
Definition at line 66 of file sepa_rapidlearning.c.
◆ DEFAULT_CHECKOBJ
| #define DEFAULT_CHECKOBJ FALSE |
should the local objection function be checked?
Definition at line 69 of file sepa_rapidlearning.c.
◆ DEFAULT_CHECKNSOLS
| #define DEFAULT_CHECKNSOLS TRUE |
should the number of solutions found so far be checked?
Definition at line 70 of file sepa_rapidlearning.c.
◆ DEFAULT_MINDEGENERACY
| #define DEFAULT_MINDEGENERACY 0.7 |
minimal degeneracy threshold to allow local rapid learning
Definition at line 71 of file sepa_rapidlearning.c.
◆ DEFAULT_MININFLPRATIO
| #define DEFAULT_MININFLPRATIO 10.0 |
minimal threshold of inf/obj leaves to allow local rapid learning
Definition at line 72 of file sepa_rapidlearning.c.
◆ DEFAULT_MINVARCONSRATIO
| #define DEFAULT_MINVARCONSRATIO 2.0 |
minimal ratio of unfixed variables in relation to basis size to allow local rapid learning
Definition at line 73 of file sepa_rapidlearning.c.
◆ DEFAULT_NWAITINGNODES
| #define DEFAULT_NWAITINGNODES 100L |
number of nodes that should be processed before rapid learning is executed locally based on the progress of the dualbound
Definition at line 76 of file sepa_rapidlearning.c.
◆ DEFAULT_MAXNVARS
| #define DEFAULT_MAXNVARS 10000 |
maximum problem size (variables) for which rapid learning will be called
Definition at line 80 of file sepa_rapidlearning.c.
◆ DEFAULT_MAXNCONSS
| #define DEFAULT_MAXNCONSS 10000 |
maximum problem size (constraints) for which rapid learning will be called
Definition at line 81 of file sepa_rapidlearning.c.
◆ DEFAULT_MAXCALLS
| #define DEFAULT_MAXCALLS 100 |
maximum number of overall calls
Definition at line 82 of file sepa_rapidlearning.c.
◆ DEFAULT_MINNODES
| #define DEFAULT_MINNODES 500 |
minimum number of nodes considered in rapid learning run
Definition at line 84 of file sepa_rapidlearning.c.
◆ DEFAULT_MAXNODES
| #define DEFAULT_MAXNODES 5000 |
maximum number of nodes considered in rapid learning run
Definition at line 85 of file sepa_rapidlearning.c.
◆ DEFAULT_CONTVARS
| #define DEFAULT_CONTVARS FALSE |
should rapid learning be applied when there are continuous variables?
Definition at line 87 of file sepa_rapidlearning.c.
◆ DEFAULT_CONTVARSQUOT
| #define DEFAULT_CONTVARSQUOT 0.3 |
maximal portion of continuous variables to apply rapid learning
Definition at line 88 of file sepa_rapidlearning.c.
◆ DEFAULT_LPITERQUOT
| #define DEFAULT_LPITERQUOT 0.2 |
maximal fraction of LP iterations compared to node LP iterations
Definition at line 89 of file sepa_rapidlearning.c.
◆ DEFAULT_COPYCUTS
| #define DEFAULT_COPYCUTS TRUE |
should all active cuts from the cutpool of the original scip be copied to constraints of the subscip
Definition at line 90 of file sepa_rapidlearning.c.
Function Documentation
◆ SCIP_DECL_SEPACOPY()
|
static |
copy method for separator plugins (called when SCIP copies plugins)
Definition at line 139 of file sepa_rapidlearning.c.
◆ SCIP_DECL_SEPAFREE()
|
static |
destructor of separator to free user data (called when SCIP is exiting)
Definition at line 153 of file sepa_rapidlearning.c.
◆ setupAndSolveSubscipRapidlearning()
|
static |
setup and solve sub-SCIP
- Parameters
-
scip SCIP data structure subscip subSCIP data structure sepadata separator data randseed global seed shift used in the sub-SCIP global should rapid learning run on the global problem? result result pointer
Definition at line 173 of file sepa_rapidlearning.c.
References checkExec(), FALSE, MAX, NULL, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_CALL_ABORT, SCIP_CONFTYPE_UNKNOWN, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_INVALIDCALL, SCIP_Longint, SCIP_OKAY, SCIP_PARAMEMPHASIS_CPSOLVER, SCIP_PARAMSETTING_FAST, SCIP_PARAMSETTING_OFF, SCIP_Real, SCIP_REDUCEDDOM, SCIP_STAGE_SOLVED, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_OPTIMAL, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPaddConflict(), SCIPallocBufferArray, SCIPallowStrongDualReds(), SCIPblkmem(), SCIPchgVarType(), SCIPconsGetName(), SCIPconshdlrGetConss(), SCIPconshdlrGetNConss(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPcopyConsCompression(), SCIPcopyCuts(), SCIPcopyLimits(), SCIPdebugMsg, SCIPfindConshdlr(), SCIPfreeBufferArray, SCIPgetConsCopy(), SCIPgetCurrentNode(), SCIPgetDepth(), SCIPgetDualbound(), SCIPgetEffectiveRootDepth(), SCIPgetIntParam(), SCIPgetNConflictConssApplied(), SCIPgetNConflictConssFound(), SCIPgetNLPIterations(), SCIPgetNLPs(), SCIPgetNRootboundChgs(), SCIPgetNSols(), SCIPgetSolOrigObj(), SCIPgetSols(), SCIPgetStage(), SCIPgetStatus(), SCIPgetUpperbound(), SCIPgetVarAvgConflictlength(), SCIPgetVarAvgInferences(), SCIPgetVarsData(), SCIPgetVarVSIDS(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPinitVarBranchStats(), SCIPisEQ(), SCIPisFeasLE(), SCIPisFeasLT(), SCIPisLE(), SCIPisParamFixed(), SCIPpresolve(), SCIPprintStatistics(), SCIPretransformObj(), SCIPsetBoolParam(), SCIPsetEmphasis(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetObjlimit(), SCIPsetPresolving(), SCIPsetRealParam(), SCIPsetSeparating(), SCIPsetSubscipsOff(), SCIPsolve(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPtransformProb(), SCIPtranslateSubSol(), SCIPtrySolFree(), SCIPunfixParam(), SCIPupdateLocalDualbound(), SCIPvarGetLbGlobal(), SCIPvarGetTransVar(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPwarningMessage(), and TRUE.
◆ checkExec()
|
static |
returns whether rapid learning is allowed to run locally
- Parameters
-
scip SCIP data structure sepadata separator's private data run pointer to store whether rapid learning is allowed to run
Definition at line 696 of file sepa_rapidlearning.c.
Referenced by setupAndSolveSubscipRapidlearning().
◆ SCIP_DECL_SEPAEXECLP()
|
static |
LP solution separation method of separator
Definition at line 817 of file sepa_rapidlearning.c.
