Detailed Description
node selector for hybrid best estimate / best bound search
Definition in file nodesel_hybridestim.c.
#include "scip/nodesel_hybridestim.h"
#include "scip/pub_message.h"
#include "scip/pub_nodesel.h"
#include "scip/pub_tree.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_nodesel.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_solvingstats.h"
#include "scip/scip_tree.h"
#include <string.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
◆ NODESEL_NAME
#define NODESEL_NAME "hybridestim" |
Definition at line 46 of file nodesel_hybridestim.c.
◆ NODESEL_DESC
#define NODESEL_DESC "hybrid best estimate / best bound search" |
Definition at line 47 of file nodesel_hybridestim.c.
◆ NODESEL_STDPRIORITY
#define NODESEL_STDPRIORITY 50000 |
Definition at line 48 of file nodesel_hybridestim.c.
◆ NODESEL_MEMSAVEPRIORITY
#define NODESEL_MEMSAVEPRIORITY 50 |
Definition at line 49 of file nodesel_hybridestim.c.
◆ MINPLUNGEDEPTH
#define MINPLUNGEDEPTH -1 |
minimal plunging depth, before new best node may be selected (-1 for dynamic setting)
Definition at line 56 of file nodesel_hybridestim.c.
◆ MAXPLUNGEDEPTH
#define MAXPLUNGEDEPTH -1 |
maximal plunging depth, before new best node is forced to be selected (-1 for dynamic setting)
Definition at line 57 of file nodesel_hybridestim.c.
◆ MAXPLUNGEQUOT
#define MAXPLUNGEQUOT 0.25 |
maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where plunging is performed
Definition at line 59 of file nodesel_hybridestim.c.
◆ BESTNODEFREQ
#define BESTNODEFREQ 1000 |
frequency at which the best node instead of the hybrid best estimate / best bound is selected (0: never)
Definition at line 60 of file nodesel_hybridestim.c.
◆ ESTIMWEIGHT
#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 62 of file nodesel_hybridestim.c.
Function Documentation
◆ getNodeselScore()
returns a weighted sum of the node's lower bound and estimate value
- Parameters
-
node branching node estimweight weight of estimate in score
Definition at line 87 of file nodesel_hybridestim.c.
References SCIPnodeGetEstimate(), and SCIPnodeGetLowerbound().
Referenced by SCIP_DECL_NODESELCOMP().
◆ SCIP_DECL_NODESELCOPY()
|
static |
copy method for node selector plugins (called when SCIP copies plugins)
Definition at line 102 of file nodesel_hybridestim.c.
References NODESEL_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPincludeNodeselHybridestim(), and SCIPnodeselGetName().
◆ SCIP_DECL_NODESELFREE()
|
static |
destructor of node selector to free user data (called when SCIP is exiting)
Definition at line 116 of file nodesel_hybridestim.c.
References NODESEL_NAME, NULL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPnodeselGetData(), SCIPnodeselGetName(), and SCIPnodeselSetData().
◆ SCIP_DECL_NODESELSELECT()
|
static |
node selection method of node selector
Definition at line 136 of file nodesel_hybridestim.c.
References MAX, MIN, NODESEL_NAME, NULL, SCIP_OKAY, SCIP_Real, SCIPdebugMsg, SCIPgetBestboundNode(), SCIPgetBestChild(), SCIPgetBestNode(), SCIPgetBestSibling(), SCIPgetCutoffbound(), SCIPgetLowerbound(), SCIPgetMaxDepth(), SCIPgetNNodeLPIterations(), SCIPgetNNodes(), SCIPgetNSolsFound(), SCIPgetNStrongbranchLPIterations(), SCIPgetPlungeDepth(), SCIPgetPrioChild(), SCIPgetPrioSibling(), SCIPinfinity(), SCIPnodeGetEstimate(), SCIPnodeGetLowerbound(), SCIPnodeselGetData(), and SCIPnodeselGetName().
◆ SCIP_DECL_NODESELCOMP()
|
static |
node comparison method of node selector
Definition at line 269 of file nodesel_hybridestim.c.
References getNodeselScore(), NODESEL_NAME, NULL, SCIP_NODETYPE_CHILD, SCIP_NODETYPE_SIBLING, SCIP_Real, SCIPisEQ(), SCIPisGT(), SCIPisInfinity(), SCIPisLT(), SCIPnodeGetDepth(), SCIPnodeGetType(), SCIPnodeselGetData(), and SCIPnodeselGetName().