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().