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/pub_var.h"
Go to the source code of this file.
Macros | |
#define | SEPA_NAME "rapidlearning" |
#define | SEPA_DESC "rapid learning heuristic and separator" |
#define | SEPA_PRIORITY -1200000 |
#define | SEPA_FREQ -1 |
#define | SEPA_MAXBOUNDDIST 1.0 |
#define | SEPA_USESSUBSCIP TRUE |
#define | SEPA_DELAY FALSE |
#define | DEFAULT_APPLYCONFLICTS TRUE |
#define | DEFAULT_APPLYBDCHGS TRUE |
#define | DEFAULT_APPLYINFERVALS TRUE |
#define | DEFAULT_REDUCEDINFER FALSE |
#define | DEFAULT_APPLYPRIMALSOL TRUE |
#define | DEFAULT_APPLYSOLVED TRUE |
#define | DEFAULT_MAXNVARS 10000 |
#define | DEFAULT_MAXNCONSS 10000 |
#define | DEFAULT_MINNODES 500 |
#define | DEFAULT_MAXNODES 5000 |
#define | DEFAULT_CONTVARS FALSE |
#define | DEFAULT_CONTVARSQUOT 0.3 |
#define | DEFAULT_LPITERQUOT 0.2 |
#define | DEFAULT_COPYCUTS TRUE |
Functions | |
static SCIP_RETCODE | createNewSol (SCIP *scip, SCIP *subscip, SCIP_VAR **subvars, SCIP_HEUR *heur, SCIP_SOL *subsol, SCIP_Bool *success) |
static | SCIP_DECL_SEPACOPY (sepaCopyRapidlearning) |
static | SCIP_DECL_SEPAFREE (sepaFreeRapidlearning) |
static SCIP_RETCODE | setupAndSolveSubscipRapidlearning (SCIP *scip, SCIP *subscip, SCIP_SEPADATA *sepadata, SCIP_RESULT *result) |
static | SCIP_DECL_SEPAEXECLP (sepaExeclpRapidlearning) |
SCIP_RETCODE | SCIPincludeSepaRapidlearning (SCIP *scip) |
#define SEPA_NAME "rapidlearning" |
Definition at line 32 of file sepa_rapidlearning.c.
#define SEPA_DESC "rapid learning heuristic and separator" |
Definition at line 33 of file sepa_rapidlearning.c.
#define SEPA_PRIORITY -1200000 |
Definition at line 34 of file sepa_rapidlearning.c.
#define SEPA_FREQ -1 |
Definition at line 35 of file sepa_rapidlearning.c.
#define SEPA_MAXBOUNDDIST 1.0 |
Definition at line 36 of file sepa_rapidlearning.c.
#define SEPA_USESSUBSCIP TRUE |
does the separator use a secondary SCIP instance?
Definition at line 37 of file sepa_rapidlearning.c.
#define SEPA_DELAY FALSE |
should separation method be delayed, if other separators found cuts?
Definition at line 38 of file sepa_rapidlearning.c.
#define DEFAULT_APPLYCONFLICTS TRUE |
should the found conflicts be applied in the original SCIP?
Definition at line 40 of file sepa_rapidlearning.c.
#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 41 of file sepa_rapidlearning.c.
#define DEFAULT_APPLYINFERVALS TRUE |
should the inference values be used as initialization in the original SCIP?
Definition at line 46 of file sepa_rapidlearning.c.
#define DEFAULT_REDUCEDINFER FALSE |
should the inference values only be used when rapid learning found other reductions?
Definition at line 47 of file sepa_rapidlearning.c.
#define DEFAULT_APPLYPRIMALSOL TRUE |
should the incumbent solution be copied to the original SCIP?
Definition at line 48 of file sepa_rapidlearning.c.
#define DEFAULT_APPLYSOLVED TRUE |
should a solved status be copied to the original SCIP?
Definition at line 49 of file sepa_rapidlearning.c.
#define DEFAULT_MAXNVARS 10000 |
maximum problem size (variables) for which rapid learning will be called
Definition at line 51 of file sepa_rapidlearning.c.
#define DEFAULT_MAXNCONSS 10000 |
maximum problem size (constraints) for which rapid learning will be called
Definition at line 52 of file sepa_rapidlearning.c.
#define DEFAULT_MINNODES 500 |
minimum number of nodes considered in rapid learning run
Definition at line 54 of file sepa_rapidlearning.c.
#define DEFAULT_MAXNODES 5000 |
maximum number of nodes considered in rapid learning run
Definition at line 55 of file sepa_rapidlearning.c.
#define DEFAULT_CONTVARS FALSE |
should rapid learning be applied when there are continuous variables?
Definition at line 57 of file sepa_rapidlearning.c.
#define DEFAULT_CONTVARSQUOT 0.3 |
maximal portion of continuous variables to apply rapid learning
Definition at line 58 of file sepa_rapidlearning.c.
#define DEFAULT_LPITERQUOT 0.2 |
maximal fraction of LP iterations compared to node LP iterations
Definition at line 59 of file sepa_rapidlearning.c.
#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 60 of file sepa_rapidlearning.c.
|
static |
creates a new solution for the original problem by copying the solution of the subproblem
scip | original SCIP data structure |
subscip | SCIP structure of the subproblem |
subvars | the variables of the subproblem |
heur | trysol heuristic structure |
subsol | solution of the subproblem |
success | used to store whether new solution was found or not |
Definition at line 94 of file sepa_rapidlearning.c.
References FALSE, SCIP_CALL, SCIP_DECL_SEPACOPY(), SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPcreateSol(), SCIPfreeBufferArray, SCIPgetNOrigVars(), SCIPgetSolVals(), SCIPgetVarsData(), SCIPsetSolVals(), SCIPtrySolFree(), and TRUE.
Referenced by setupAndSolveSubscipRapidlearning().
|
static |
copy method for separator plugins (called when SCIP copies plugins)
Definition at line 145 of file sepa_rapidlearning.c.
Referenced by createNewSol().
|
static |
destructor of separator to free user data (called when SCIP is exiting)
Definition at line 159 of file sepa_rapidlearning.c.
|
static |
setup and solve sub-SCIP
scip | SCIP data structure |
subscip | subSCIP data structure |
sepadata | separator data |
result | result pointer |
Definition at line 179 of file sepa_rapidlearning.c.
References createNewSol(), FALSE, MAX, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_CALL_ABORT, SCIP_CONSADDED, SCIP_DECL_SEPAEXECLP(), SCIP_Longint, SCIP_OKAY, 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, SCIPaddCons(), SCIPaddVarLocks(), SCIPallocBufferArray, SCIPblkmem(), SCIPchgVarType(), SCIPconsGetName(), SCIPconshdlrGetConss(), SCIPconshdlrGetNConss(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPcopyConsCompression(), SCIPcopyCuts(), SCIPcopyLimits(), SCIPdebugMsg, SCIPfindConshdlr(), SCIPfindHeur(), SCIPfreeBufferArray, SCIPgetConsCopy(), SCIPgetDepth(), SCIPgetDualbound(), SCIPgetNConflictConssApplied(), SCIPgetNConflictConssFound(), SCIPgetNFixedVars(), SCIPgetNLPIterations(), SCIPgetNSols(), SCIPgetSolOrigObj(), SCIPgetSols(), SCIPgetStage(), SCIPgetStatus(), SCIPgetUpperbound(), SCIPgetVarAvgConflictlength(), SCIPgetVarAvgInferences(), SCIPgetVarsData(), SCIPgetVarVSIDS(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPinitVarBranchStats(), SCIPisEQ(), SCIPisFeasLE(), SCIPisFeasLT(), SCIPisInfinity(), SCIPisLE(), SCIPisNegative(), SCIPisParamFixed(), SCIPisPositive(), SCIPpresolve(), SCIPprintStatistics(), SCIPreleaseCons(), SCIPretransformObj(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetObjlimit(), SCIPsetPresolving(), SCIPsetRealParam(), SCIPsetSeparating(), SCIPsetSubscipsOff(), SCIPsolve(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPtransformProb(), SCIPunfixParam(), SCIPupdateLocalDualbound(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetObj(), SCIPvarGetTransVar(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPwarningMessage(), and TRUE.
|
static |
LP solution separation method of separator
Definition at line 636 of file sepa_rapidlearning.c.
Referenced by setupAndSolveSubscipRapidlearning().