Detailed Description
heuristic which fixes all integer variables to a bound (lower/upper) and solves the remaining LP
Definition in file heur_bound.c.
#include "scip/heur_bound.h"
#include "scip/pub_heur.h"
#include "scip/pub_message.h"
#include "scip/pub_tree.h"
#include "scip/pub_var.h"
#include "scip/scip_branch.h"
#include "scip/scip_general.h"
#include "scip/scip_heur.h"
#include "scip/scip_lp.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_solvingstats.h"
#include "scip/scip_timing.h"
#include "scip/scip_tree.h"
#include <string.h>
Go to the source code of this file.
Macros | |
#define | HEUR_NAME "bound" |
#define | HEUR_DESC "heuristic which fixes all integer variables to a bound and solves the remaining LP" |
#define | HEUR_DISPCHAR SCIP_HEURDISPCHAR_PROP |
#define | HEUR_PRIORITY -1107000 |
#define | HEUR_FREQ -1 |
#define | HEUR_FREQOFS 0 |
#define | HEUR_MAXDEPTH -1 |
#define | HEUR_TIMING SCIP_HEURTIMING_BEFORENODE |
#define | HEUR_USESSUBSCIP FALSE |
#define | DEFAULT_ONLYWITHOUTSOL TRUE |
#define | DEFAULT_MAXPROPROUNDS 0 /* maximum number of propagation rounds during probing */ |
#define | DEFAULT_BOUND 'l' |
Functions | |
static SCIP_RETCODE | applyBoundHeur (SCIP *scip, SCIP_HEUR *heur, SCIP_HEURDATA *heurdata, SCIP_Bool lower, SCIP_RESULT *result) |
static | SCIP_DECL_HEURCOPY (heurCopyBound) |
static | SCIP_DECL_HEURFREE (heurFreeBound) |
static | SCIP_DECL_HEUREXEC (heurExecBound) |
SCIP_RETCODE | SCIPincludeHeurBound (SCIP *scip) |
Macro Definition Documentation
◆ HEUR_NAME
#define HEUR_NAME "bound" |
Definition at line 50 of file heur_bound.c.
Referenced by applyBoundHeur(), SCIP_DECL_HEURCOPY(), and SCIPincludeHeurBound().
◆ HEUR_DESC
#define HEUR_DESC "heuristic which fixes all integer variables to a bound and solves the remaining LP" |
Definition at line 51 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ HEUR_DISPCHAR
#define HEUR_DISPCHAR SCIP_HEURDISPCHAR_PROP |
Definition at line 52 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ HEUR_PRIORITY
#define HEUR_PRIORITY -1107000 |
Definition at line 53 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ HEUR_FREQ
#define HEUR_FREQ -1 |
Definition at line 54 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ HEUR_FREQOFS
#define HEUR_FREQOFS 0 |
Definition at line 55 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ HEUR_MAXDEPTH
#define HEUR_MAXDEPTH -1 |
Definition at line 56 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ HEUR_TIMING
#define HEUR_TIMING SCIP_HEURTIMING_BEFORENODE |
Definition at line 57 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ HEUR_USESSUBSCIP
#define HEUR_USESSUBSCIP FALSE |
does the heuristic use a secondary SCIP instance?
Definition at line 58 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ DEFAULT_ONLYWITHOUTSOL
#define DEFAULT_ONLYWITHOUTSOL TRUE |
Should heuristic only be executed if no primal solution was found, yet?
Definition at line 60 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ DEFAULT_MAXPROPROUNDS
#define DEFAULT_MAXPROPROUNDS 0 /* maximum number of propagation rounds during probing */ |
Definition at line 61 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
◆ DEFAULT_BOUND
#define DEFAULT_BOUND 'l' |
to which bound should integer variables be fixed?
Definition at line 62 of file heur_bound.c.
Referenced by SCIPincludeHeurBound().
Function Documentation
◆ applyBoundHeur()
|
static |
main procedure of the bound heuristic
- Parameters
-
scip original SCIP data structure heur heuristic heurdata heuristic data structure lower should integer variables be fixed to their lower bound? result pointer to store the result
Definition at line 83 of file heur_bound.c.
References FALSE, HEUR_NAME, NULL, SCIP_Bool, SCIP_CALL, SCIP_FOUNDSOL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_IMPLINT, SCIP_VERBLEVEL_FULL, SCIPbacktrackProbing(), SCIPcreateSol(), SCIPdebugMsg, SCIPendProbing(), SCIPfixVarProbing(), SCIPfreeSol(), SCIPgetLPSolstat(), SCIPgetNLPCols(), SCIPgetNLPIterations(), SCIPgetNPseudoBranchCands(), SCIPgetNUnfixedLPCols(), SCIPgetProbingDepth(), SCIPgetSolOrigObj(), SCIPgetSolvingTime(), SCIPgetVarsData(), SCIPisInfinity(), SCIPisLPSolBasic(), SCIPlinkLPSol(), SCIPpropagateProbing(), SCIProundSol(), SCIPsnprintfProbingStats(), SCIPsolveProbingLP(), SCIPstartProbing(), SCIPtrySol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPverbMessage(), SCIPwarningMessage(), and TRUE.
Referenced by SCIP_DECL_HEUREXEC().
◆ SCIP_DECL_HEURCOPY()
|
static |
copy method for primal heuristic plugins (called when SCIP copies plugins)
Definition at line 292 of file heur_bound.c.
References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurBound().
◆ SCIP_DECL_HEURFREE()
|
static |
destructor of primal heuristic to free user data (called when SCIP is exiting)
Definition at line 306 of file heur_bound.c.
References NULL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPheurGetData(), and SCIPheurSetData().
◆ SCIP_DECL_HEUREXEC()
|
static |
execution method of primal heuristic
Definition at line 321 of file heur_bound.c.
References applyBoundHeur(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPconstructLP(), SCIPcutoffNode(), SCIPdebugMsg, SCIPflushLP(), SCIPgetBestSol(), SCIPgetCurrentNode(), SCIPgetNPseudoBranchCands(), SCIPhasCurrentNodeLP(), SCIPheurGetData(), SCIPisLPConstructed(), SCIPisStopped(), SCIPnodeGetNumber(), and TRUE.