Scippy

SCIP

Solving Constraint Integer Programs

nodesel_hybridestim.c File Reference

Detailed Description

node selector for hybrid best estimate / best bound search

Author
Tobias Achterberg

Definition in file nodesel_hybridestim.c.

#include <assert.h>
#include <string.h>
#include "scip/nodesel_hybridestim.h"

Go to the source code of this file.

Macros

#define NODESEL_NAME   "hybridestim"
 
#define NODESEL_DESC   "hybrid best estimate / best bound search"
 
#define NODESEL_STDPRIORITY   50000
 
#define NODESEL_MEMSAVEPRIORITY   50
 
#define MINPLUNGEDEPTH   -1
 
#define MAXPLUNGEDEPTH   -1
 
#define MAXPLUNGEQUOT   0.25
 
#define BESTNODEFREQ   1000
 
#define ESTIMWEIGHT   0.10
 

Functions

static SCIP_Real getNodeselScore (SCIP_NODE *node, SCIP_Real estimweight)
 
static SCIP_DECL_NODESELCOPY (nodeselCopyHybridestim)
 
static SCIP_DECL_NODESELFREE (nodeselFreeHybridestim)
 
static SCIP_DECL_NODESELSELECT (nodeselSelectHybridestim)
 
static SCIP_DECL_NODESELCOMP (nodeselCompHybridestim)
 
SCIP_RETCODE SCIPincludeNodeselHybridestim (SCIP *scip)
 

Macro Definition Documentation

#define NODESEL_NAME   "hybridestim"

Definition at line 29 of file nodesel_hybridestim.c.

Referenced by SCIPincludeNodeselHybridestim().

#define NODESEL_DESC   "hybrid best estimate / best bound search"

Definition at line 30 of file nodesel_hybridestim.c.

Referenced by SCIPincludeNodeselHybridestim().

#define NODESEL_STDPRIORITY   50000

Definition at line 31 of file nodesel_hybridestim.c.

Referenced by SCIPincludeNodeselHybridestim().

#define NODESEL_MEMSAVEPRIORITY   50

Definition at line 32 of file nodesel_hybridestim.c.

Referenced by SCIPincludeNodeselHybridestim().

#define MINPLUNGEDEPTH   -1

minimal plunging depth, before new best node may be selected (-1 for dynamic setting)

Definition at line 39 of file nodesel_hybridestim.c.

Referenced by SCIPincludeNodeselHybridestim().

#define MAXPLUNGEDEPTH   -1

maximal plunging depth, before new best node is forced to be selected (-1 for dynamic setting)

Definition at line 40 of file nodesel_hybridestim.c.

Referenced by SCIPincludeNodeselHybridestim().

#define MAXPLUNGEQUOT   0.25

maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where plunging is performed

Definition at line 41 of file nodesel_hybridestim.c.

Referenced by SCIPincludeNodeselHybridestim().

#define BESTNODEFREQ   1000

frequency at which the best node instead of the hybrid best estimate / best bound is selected (0: never)

Definition at line 44 of file nodesel_hybridestim.c.

Referenced by SCIPincludeNodeselHybridestim().

#define ESTIMWEIGHT   0.10

weight of estimate value in node selection score (0: pure best bound search, 1: pure best estimate search)

Definition at line 45 of file nodesel_hybridestim.c.

Referenced by SCIPincludeNodeselHybridestim().

Function Documentation

static SCIP_Real getNodeselScore ( SCIP_NODE node,
SCIP_Real  estimweight 
)
static

returns a weighted sum of the node's lower bound and estimate value

Parameters
nodebranching node
estimweightweight of estimate in score

Definition at line 72 of file nodesel_hybridestim.c.

References SCIP_DECL_NODESELCOPY(), SCIPnodeGetEstimate(), and SCIPnodeGetLowerbound().

static SCIP_DECL_NODESELCOPY ( nodeselCopyHybridestim  )
static

copy method for node selector plugins (called when SCIP copies plugins)

Definition at line 87 of file nodesel_hybridestim.c.

Referenced by getNodeselScore().

static SCIP_DECL_NODESELFREE ( nodeselFreeHybridestim  )
static

destructor of node selector to free user data (called when SCIP is exiting)

Definition at line 101 of file nodesel_hybridestim.c.

static SCIP_DECL_NODESELSELECT ( nodeselSelectHybridestim  )
static

node selection method of node selector

Definition at line 121 of file nodesel_hybridestim.c.

static SCIP_DECL_NODESELCOMP ( nodeselCompHybridestim  )
static

node comparison method of node selector

Definition at line 254 of file nodesel_hybridestim.c.

SCIP_RETCODE SCIPincludeNodeselHybridestim ( SCIP scip)

creates the node selector for hybrid best estimate / best bound search and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 315 of file nodesel_hybridestim.c.

References BESTNODEFREQ, ESTIMWEIGHT, FALSE, MAXPLUNGEDEPTH, MAXPLUNGEQUOT, MINPLUNGEDEPTH, NODESEL_DESC, NODESEL_MEMSAVEPRIORITY, NODESEL_NAME, NODESEL_STDPRIORITY, NULL, SCIP_CALL, SCIP_OKAY, SCIP_REAL_MAX, SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPincludeNodeselBasic(), SCIPsetNodeselCopy(), SCIPsetNodeselFree(), and TRUE.

Referenced by SCIPincludeDefaultPlugins().