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) |
#define NODESEL_NAME "hybridestim" |
Definition at line 46 of file nodesel_hybridestim.c.
#define NODESEL_DESC "hybrid best estimate / best bound search" |
Definition at line 47 of file nodesel_hybridestim.c.
#define NODESEL_STDPRIORITY 50000 |
Definition at line 48 of file nodesel_hybridestim.c.
#define NODESEL_MEMSAVEPRIORITY 50 |
Definition at line 49 of file nodesel_hybridestim.c.
#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.
#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.
#define MAXPLUNGEQUOT 0.25 |
maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where plunging is performed
Definition at line 58 of file nodesel_hybridestim.c.
#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.
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 61 of file nodesel_hybridestim.c.
Referenced by SCIPincludeNodeselHybridestim().
returns a weighted sum of the node's lower bound and estimate value
node | branching node |
estimweight | weight of estimate in score |
Definition at line 87 of file nodesel_hybridestim.c.
References SCIP_Real, SCIPnodeGetEstimate(), and SCIPnodeGetLowerbound().
Referenced by SCIP_DECL_NODESELCOMP().
|
static |
copy method for node selector plugins (called when SCIP copies plugins)
Definition at line 102 of file nodesel_hybridestim.c.
References assert(), NODESEL_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPincludeNodeselHybridestim(), and SCIPnodeselGetName().
|
static |
destructor of node selector to free user data (called when SCIP is exiting)
Definition at line 116 of file nodesel_hybridestim.c.
References assert(), NODESEL_NAME, NULL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPnodeselGetData(), SCIPnodeselGetName(), and SCIPnodeselSetData().
|
static |
node selection method of node selector
Definition at line 136 of file nodesel_hybridestim.c.
References assert(), 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().
|
static |
node comparison method of node selector
Definition at line 269 of file nodesel_hybridestim.c.
References assert(), getNodeselScore(), NODESEL_NAME, NULL, SCIP_NODETYPE_CHILD, SCIP_NODETYPE_SIBLING, SCIP_Real, SCIPisEQ(), SCIPisGT(), SCIPisInfinity(), SCIPisLT(), SCIPnodeGetDepth(), SCIPnodeGetType(), SCIPnodeselGetData(), and SCIPnodeselGetName().