Scippy

SCIP

Solving Constraint Integer Programs

heur_bound.c File Reference

Detailed Description

heuristic which fixes all integer variables to a bound (lower/upper) and solves the remaining LP

Author
Gerald Gamrath

Definition in file heur_bound.c.

#include <assert.h>
#include <string.h>
#include "scip/scip.h"
#include "scip/heur_bound.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   'H'
 
#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 34 of file heur_bound.c.

Referenced by 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 35 of file heur_bound.c.

Referenced by SCIPincludeHeurBound().

◆ HEUR_DISPCHAR

#define HEUR_DISPCHAR   'H'

Definition at line 36 of file heur_bound.c.

Referenced by SCIPincludeHeurBound().

◆ HEUR_PRIORITY

#define HEUR_PRIORITY   -1107000

Definition at line 37 of file heur_bound.c.

Referenced by SCIPincludeHeurBound().

◆ HEUR_FREQ

#define HEUR_FREQ   -1

Definition at line 38 of file heur_bound.c.

Referenced by SCIPincludeHeurBound().

◆ HEUR_FREQOFS

#define HEUR_FREQOFS   0

Definition at line 39 of file heur_bound.c.

Referenced by SCIPincludeHeurBound().

◆ HEUR_MAXDEPTH

#define HEUR_MAXDEPTH   -1

Definition at line 40 of file heur_bound.c.

Referenced by SCIPincludeHeurBound().

◆ HEUR_TIMING

#define HEUR_TIMING   SCIP_HEURTIMING_BEFORENODE

Definition at line 41 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 42 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 44 of file heur_bound.c.

Referenced by SCIPincludeHeurBound().

◆ DEFAULT_MAXPROPROUNDS

#define DEFAULT_MAXPROPROUNDS   0 /* maximum number of propagation rounds during probing */

Definition at line 45 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 46 of file heur_bound.c.

Referenced by SCIPincludeHeurBound().

Function Documentation

◆ applyBoundHeur()

static SCIP_RETCODE applyBoundHeur ( SCIP scip,
SCIP_HEUR heur,
SCIP_HEURDATA heurdata,
SCIP_Bool  lower,
SCIP_RESULT result 
)
static

◆ SCIP_DECL_HEURCOPY()

static SCIP_DECL_HEURCOPY ( heurCopyBound  )
static

copy method for primal heuristic plugins (called when SCIP copies plugins)

Definition at line 259 of file heur_bound.c.

References HEUR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurBound().

◆ SCIP_DECL_HEURFREE()

static SCIP_DECL_HEURFREE ( heurFreeBound  )
static

destructor of primal heuristic to free user data (called when SCIP is exiting)

Definition at line 273 of file heur_bound.c.

References NULL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPheurGetData(), and SCIPheurSetData().

◆ SCIP_DECL_HEUREXEC()