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.