fix-and-infer primal heuristic
Definition in file heur_fixandinfer.c.
#include "scip/heur_fixandinfer.h"
#include "scip/pub_heur.h"
#include "scip/pub_message.h"
#include "scip/pub_var.h"
#include "scip/scip_branch.h"
#include "scip/scip_general.h"
#include "scip/scip_heur.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_probing.h"
#include "scip/scip_sol.h"
#include "scip/scip_tree.h"
#include "scip/scip_var.h"
#include <string.h>
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 SCIP_HEURDISPCHAR_PROP |
#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) |
assert (heurdata !=NULL) | |
SCIPfreeBlockMemory (scip, &heurdata) | |
SCIPheurSetData (heur, NULL) | |
static | SCIP_DECL_HEUREXEC (heurExecFixandinfer) |
SCIP_RETCODE | SCIPincludeHeurFixandinfer (SCIP *scip) |
Variables | |
static | heurdata = SCIPheurGetData(heur) |
return | SCIP_OKAY |
#define HEUR_NAME "fixandinfer" |
Definition at line 51 of file heur_fixandinfer.c.
#define HEUR_DESC "iteratively fixes variables and propagates inferences" |
Definition at line 52 of file heur_fixandinfer.c.
#define HEUR_DISPCHAR SCIP_HEURDISPCHAR_PROP |
Definition at line 53 of file heur_fixandinfer.c.
#define HEUR_PRIORITY -500000 |
Definition at line 54 of file heur_fixandinfer.c.
#define HEUR_FREQ -1 /* at the moment, the heuristic seems to be useless */ |
Definition at line 55 of file heur_fixandinfer.c.
#define HEUR_FREQOFS 0 |
Definition at line 56 of file heur_fixandinfer.c.
#define HEUR_MAXDEPTH -1 |
Definition at line 57 of file heur_fixandinfer.c.
#define HEUR_TIMING SCIP_HEURTIMING_AFTERNODE |
Definition at line 58 of file heur_fixandinfer.c.
#define HEUR_USESSUBSCIP FALSE |
does the heuristic use a secondary SCIP instance?
Definition at line 59 of file heur_fixandinfer.c.
#define MAXDIVEDEPTH 100 |
Definition at line 61 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 68 of file heur_fixandinfer.c.
Referenced by SCIPincludeHeurFixandinfer(), and SCIPincludePropProbing().
#define DEFAULT_MINFIXINGS 100 |
minimal number of fixings to apply before dive may be aborted
Definition at line 69 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 90 of file heur_fixandinfer.c.
References assert(), bestcand, c, NULL, pseudocands, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPceil(), SCIPdebugMsg, SCIPfixVarProbing(), SCIPfloor(), SCIPgetNPrioPseudoBranchBins(), SCIPgetVarAvgInferenceScore(), SCIPgetVarSol(), SCIPinfinity(), SCIPisFeasIntegral(), SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and var.
Referenced by SCIP_DECL_HEUREXEC().
|
static |
copy method for primal heuristic plugins (called when SCIP copies plugins)
Definition at line 174 of file heur_fixandinfer.c.
References assert(), HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurFixandinfer().
SCIPfreeBlockMemory | ( | scip | , |
& | heurdata ) |
References heurdata.
|
static |
execution method of primal heuristic
Definition at line 204 of file heur_fixandinfer.c.
References assert(), cutoff, divedepth, FALSE, fixVariable(), heurdata, MAXDIVEDEPTH, NULL, result, 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.
heurdata = SCIPheurGetData(heur) |
destructor of primal heuristic to free user data (called when SCIP is exiting)
Definition at line 193 of file heur_fixandinfer.c.
return SCIP_OKAY |
Definition at line 198 of file heur_fixandinfer.c.