Scippy

SCIP

Solving Constraint Integer Programs

heur_rootsoldiving.c File Reference

Detailed Description

LP diving heuristic that changes variable's objective values using root LP solution as guide.

Author
Kati Wolter

Definition in file heur_rootsoldiving.c.

#include <assert.h>
#include <string.h>
#include "scip/heur_rootsoldiving.h"
#include "scip/pub_dive.h"

Go to the source code of this file.

Macros

#define HEUR_NAME   "rootsoldiving"
 
#define HEUR_DESC   "LP diving heuristic that changes variable's objective values using root LP solution as guide"
 
#define HEUR_DISPCHAR   'S'
 
#define HEUR_PRIORITY   -1005000
 
#define HEUR_FREQ   20
 
#define HEUR_FREQOFS   5
 
#define HEUR_MAXDEPTH   -1
 
#define HEUR_TIMING   SCIP_HEURTIMING_AFTERLPPLUNGE
 
#define HEUR_USESSUBSCIP   FALSE
 
#define DEFAULT_MINRELDEPTH   0.0
 
#define DEFAULT_MAXRELDEPTH   1.0
 
#define DEFAULT_MAXLPITERQUOT   0.01
 
#define DEFAULT_MAXLPITEROFS   1000
 
#define DEFAULT_MAXSOLS   -1
 
#define DEFAULT_DEPTHFAC   0.5
 
#define DEFAULT_DEPTHFACNOSOL   2.0
 
#define MINLPITER   10000
 
#define DEFAULT_ALPHA   0.9
 

Functions

static SCIP_DECL_HEURCOPY (heurCopyRootsoldiving)
 
static SCIP_DECL_HEURFREE (heurFreeRootsoldiving)
 
static SCIP_DECL_HEURINIT (heurInitRootsoldiving)
 
static SCIP_DECL_HEUREXIT (heurExitRootsoldiving)
 
static SCIP_DECL_HEUREXEC (heurExecRootsoldiving)
 
SCIP_RETCODE SCIPincludeHeurRootsoldiving (SCIP *scip)
 

Macro Definition Documentation

#define HEUR_DESC   "LP diving heuristic that changes variable's objective values using root LP solution as guide"

Definition at line 30 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define HEUR_DISPCHAR   'S'

Definition at line 31 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define HEUR_PRIORITY   -1005000

Definition at line 32 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define HEUR_FREQ   20

Definition at line 33 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define HEUR_FREQOFS   5

Definition at line 34 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define HEUR_MAXDEPTH   -1

Definition at line 35 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define HEUR_TIMING   SCIP_HEURTIMING_AFTERLPPLUNGE

Definition at line 36 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define HEUR_USESSUBSCIP   FALSE

does the heuristic use a secondary SCIP instance?

Definition at line 37 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define DEFAULT_MINRELDEPTH   0.0

minimal relative depth to start diving

Definition at line 44 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define DEFAULT_MAXRELDEPTH   1.0

maximal relative depth to start diving

Definition at line 45 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define DEFAULT_MAXLPITERQUOT   0.01

maximal fraction of diving LP iterations compared to node LP iterations

Definition at line 46 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define DEFAULT_MAXLPITEROFS   1000

additional number of allowed LP iterations

Definition at line 47 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define DEFAULT_MAXSOLS   -1

total number of feasible solutions found up to which heuristic is called (-1: no limit)

Definition at line 48 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define DEFAULT_DEPTHFAC   0.5

maximal diving depth: number of binary/integer variables times depthfac

Definition at line 51 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define DEFAULT_DEPTHFACNOSOL   2.0

maximal diving depth factor if no feasible solution was found yet

Definition at line 52 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

#define MINLPITER   10000

minimal number of LP iterations allowed in each LP solving call

Definition at line 54 of file heur_rootsoldiving.c.

Referenced by SCIP_DECL_HEUREXEC().

#define DEFAULT_ALPHA   0.9

soft rounding factor to fade out objective coefficients

Definition at line 55 of file heur_rootsoldiving.c.

Referenced by SCIPincludeHeurRootsoldiving().

Function Documentation

static SCIP_DECL_HEURCOPY ( heurCopyRootsoldiving  )
static

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

Definition at line 82 of file heur_rootsoldiving.c.

References HEUR_NAME, NULL, SCIP_CALL, SCIP_DECL_HEURFREE(), SCIP_OKAY, SCIPheurGetName(), and SCIPincludeHeurRootsoldiving().

static SCIP_DECL_HEURFREE ( heurFreeRootsoldiving  )
static

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

Definition at line 96 of file heur_rootsoldiving.c.

References HEUR_NAME, NULL, SCIP_DECL_HEURINIT(), SCIP_OKAY, SCIPfreeMemory, SCIPheurGetData(), SCIPheurGetName(), and SCIPheurSetData().

Referenced by SCIP_DECL_HEURCOPY().

static SCIP_DECL_HEURINIT ( heurInitRootsoldiving  )
static

initialization method of primal heuristic (called after problem was transformed)

Definition at line 116 of file heur_rootsoldiving.c.

References HEUR_NAME, NULL, SCIP_CALL, SCIP_DECL_HEUREXIT(), SCIP_OKAY, SCIPcreateSol(), SCIPheurGetData(), and SCIPheurGetName().

Referenced by SCIP_DECL_HEURFREE().

static SCIP_DECL_HEUREXIT ( heurExitRootsoldiving  )
static

deinitialization method of primal heuristic (called before transformed problem is freed)

Definition at line 140 of file heur_rootsoldiving.c.

References HEUR_NAME, NULL, SCIP_CALL, SCIP_DECL_HEUREXEC(), SCIP_OKAY, SCIPfreeSol(), SCIPheurGetData(), and SCIPheurGetName().

Referenced by SCIP_DECL_HEURINIT().