fix-and-infer primal heuristic
Definition in file heur_fixandinfer.c.
Go to the source code of this file.
Macros | |
#define | HEUR_NAME "fixandinfer" |
#define | HEUR_DESC "iteratively fixes variables and propagates inferences" |
#define | HEUR_DISPCHAR 'I' |
#define | HEUR_PRIORITY -500000 |
#define | HEUR_FREQ -1 /* at the moment, the heuristic seems to be useless */ |
#define | HEUR_FREQOFS 0 |
#define | HEUR_MAXDEPTH -1 |
#define | HEUR_TIMING SCIP_HEURTIMING_AFTERNODE |
#define | HEUR_USESSUBSCIP FALSE |
#define | MAXDIVEDEPTH 100 |
#define | DEFAULT_PROPROUNDS 0 |
#define | DEFAULT_MINFIXINGS 100 |
Functions | |
static SCIP_RETCODE | fixVariable (SCIP *scip, SCIP_VAR **pseudocands, int npseudocands, SCIP_Real large) |
static | SCIP_DECL_HEURCOPY (heurCopyFixandinfer) |
static | SCIP_DECL_HEURFREE (heurFreeFixandinfer) |
static | SCIP_DECL_HEUREXEC (heurExecFixandinfer) |
SCIP_RETCODE | SCIPincludeHeurFixandinfer (SCIP *scip) |
#define HEUR_NAME "fixandinfer" |
Definition at line 29 of file heur_fixandinfer.c.
Referenced by SCIP_DECL_HEURCOPY(), and SCIPincludeHeurFixandinfer().
#define HEUR_DESC "iteratively fixes variables and propagates inferences" |
Definition at line 30 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
#define HEUR_DISPCHAR 'I' |
Definition at line 31 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
#define HEUR_PRIORITY -500000 |
Definition at line 32 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
#define HEUR_FREQ -1 /* at the moment, the heuristic seems to be useless */ |
Definition at line 33 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
#define HEUR_FREQOFS 0 |
Definition at line 34 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
#define HEUR_MAXDEPTH -1 |
Definition at line 35 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
#define HEUR_TIMING SCIP_HEURTIMING_AFTERNODE |
Definition at line 36 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
#define HEUR_USESSUBSCIP FALSE |
does the heuristic use a secondary SCIP instance?
Definition at line 37 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
#define MAXDIVEDEPTH 100 |
Definition at line 39 of file heur_fixandinfer.c.
Referenced by SCIP_DECL_HEUREXEC().
#define DEFAULT_PROPROUNDS 0 |
maximal number of propagation rounds in probing subproblems
Definition at line 46 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
#define DEFAULT_MINFIXINGS 100 |
minimal number of fixings to apply before dive may be aborted
Definition at line 47 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer().
|
static |
selects a variable and fixes it to its current pseudo solution value
scip | SCIP data structure |
pseudocands | array of unfixed variables |
npseudocands | number of unfixed variables |
large | large value to be used instead of infinity |
Definition at line 68 of file heur_fixandinfer.c.
References SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPceil(), SCIPdebugMsg, SCIPfixVarProbing(), SCIPfloor(), SCIPgetNPrioPseudoBranchBins(), SCIPgetVarAvgInferenceScore(), SCIPgetVarSol(), SCIPinfinity(), SCIPisFeasIntegral(), SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal().
Referenced by SCIP_DECL_HEUREXEC().
|
static |
copy method for primal heuristic plugins (called when SCIP copies plugins)
Definition at line 152 of file heur_fixandinfer.c.
References HEUR_NAME, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurFixandinfer().
|
static |
destructor of primal heuristic to free user data (called when SCIP is exiting)
Definition at line 166 of file heur_fixandinfer.c.
References SCIP_OKAY, SCIPfreeBlockMemory, SCIPheurGetData(), and SCIPheurSetData().
|
static |
execution method of primal heuristic
Definition at line 182 of file heur_fixandinfer.c.
References FALSE, fixVariable(), MAXDIVEDEPTH, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_FOUNDSOL, SCIP_MAXTREEDEPTH, SCIP_OKAY, SCIP_Real, SCIPdebugMsg, SCIPendProbing(), SCIPfeastol(), SCIPgetDepth(), SCIPgetNContVars(), SCIPgetPseudoBranchCands(), SCIPheurGetData(), SCIPinfinity(), SCIPisInfinity(), SCIPisStopped(), SCIPnewProbingNode(), SCIPpropagateProbing(), SCIPstartProbing(), SCIPtryCurrentSol(), and TRUE.