Detailed Description
full strong LP branching rule
Definition in file branch_fullstrong.c.
#include "blockmemshell/memory.h"
#include "scip/branch_fullstrong.h"
#include "scip/pub_branch.h"
#include "scip/pub_message.h"
#include "scip/pub_tree.h"
#include "scip/pub_var.h"
#include "scip/scip_branch.h"
#include "scip/scip_general.h"
#include "scip/scip_lp.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_prob.h"
#include "scip/scip_solvingstats.h"
#include "scip/scip_tree.h"
#include "scip/scip_var.h"
#include <string.h>
Go to the source code of this file.
Macros | |
#define | BRANCHRULE_NAME "fullstrong" |
#define | BRANCHRULE_DESC "full strong branching" |
#define | BRANCHRULE_PRIORITY 0 |
#define | BRANCHRULE_MAXDEPTH -1 |
#define | BRANCHRULE_MAXBOUNDDIST 1.0 |
#define | DEFAULT_REEVALAGE 10LL |
#define | DEFAULT_MAXPROPROUNDS -2 |
#define | DEFAULT_PROBINGBOUNDS TRUE |
#define | DEFAULT_FORCESTRONGBRANCH FALSE |
Functions | |
static | SCIP_DECL_BRANCHCOPY (branchCopyFullstrong) |
static | SCIP_DECL_BRANCHFREE (branchFreeFullstrong) |
static | SCIP_DECL_BRANCHINIT (branchInitFullstrong) |
static | SCIP_DECL_BRANCHEXIT (branchExitFullstrong) |
SCIP_RETCODE | SCIPselectVarStrongBranching (SCIP *scip, SCIP_VAR **lpcands, SCIP_Real *lpcandssol, SCIP_Real *lpcandsfrac, SCIP_Bool *skipdown, SCIP_Bool *skipup, int nlpcands, int npriolpcands, int ncomplete, int *start, int maxproprounds, SCIP_Bool probingbounds, SCIP_Bool forcestrongbranch, int *bestcand, SCIP_Real *bestdown, SCIP_Real *bestup, SCIP_Real *bestscore, SCIP_Bool *bestdownvalid, SCIP_Bool *bestupvalid, SCIP_Real *provedbound, SCIP_RESULT *result) |
static | SCIP_DECL_BRANCHEXECLP (branchExeclpFullstrong) |
SCIP_RETCODE | SCIPincludeBranchruleFullstrong (SCIP *scip) |
Macro Definition Documentation
◆ BRANCHRULE_NAME
#define BRANCHRULE_NAME "fullstrong" |
Definition at line 54 of file branch_fullstrong.c.
◆ BRANCHRULE_DESC
#define BRANCHRULE_DESC "full strong branching" |
Definition at line 55 of file branch_fullstrong.c.
◆ BRANCHRULE_PRIORITY
#define BRANCHRULE_PRIORITY 0 |
Definition at line 56 of file branch_fullstrong.c.
◆ BRANCHRULE_MAXDEPTH
#define BRANCHRULE_MAXDEPTH -1 |
Definition at line 57 of file branch_fullstrong.c.
◆ BRANCHRULE_MAXBOUNDDIST
#define BRANCHRULE_MAXBOUNDDIST 1.0 |
Definition at line 58 of file branch_fullstrong.c.
◆ DEFAULT_REEVALAGE
#define DEFAULT_REEVALAGE 10LL |
number of intermediate LPs solved to trigger reevaluation of strong branching value for a variable that was already evaluated at the current node
Definition at line 61 of file branch_fullstrong.c.
◆ DEFAULT_MAXPROPROUNDS
#define DEFAULT_MAXPROPROUNDS -2 |
maximum number of propagation rounds to be performed during strong branching before solving the LP (-1: no limit, -2: parameter settings)
Definition at line 63 of file branch_fullstrong.c.
◆ DEFAULT_PROBINGBOUNDS
#define DEFAULT_PROBINGBOUNDS TRUE |
should valid bounds be identified in a probing-like fashion during strong branching (only with propagation)?
Definition at line 65 of file branch_fullstrong.c.
◆ DEFAULT_FORCESTRONGBRANCH
#define DEFAULT_FORCESTRONGBRANCH FALSE |
should strong branching be applied even if there is just a single candidate?
Definition at line 66 of file branch_fullstrong.c.
Function Documentation
◆ SCIP_DECL_BRANCHCOPY()
|
static |
copy method for branchrule plugins (called when SCIP copies plugins)
Definition at line 92 of file branch_fullstrong.c.
References BRANCHRULE_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetName(), and SCIPincludeBranchruleFullstrong().
◆ SCIP_DECL_BRANCHFREE()
|
static |
destructor of branching rule to free user data (called when SCIP is exiting)
Definition at line 106 of file branch_fullstrong.c.
References NULL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPbranchruleSetData(), SCIPfreeBlockMemory, and SCIPfreeBlockMemoryArrayNull.
◆ SCIP_DECL_BRANCHINIT()
|
static |
initialization method of branching rule (called after problem was transformed)
Definition at line 126 of file branch_fullstrong.c.
References NULL, SCIP_OKAY, and SCIPbranchruleGetData().
◆ SCIP_DECL_BRANCHEXIT()
|
static |
deinitialization method of branching rule (called before transformed problem is freed)
Definition at line 141 of file branch_fullstrong.c.
References NULL, SCIP_OKAY, SCIPbranchruleGetData(), and SCIPfreeBlockMemoryArray.
◆ SCIP_DECL_BRANCHEXECLP()
|
static |
branching execution method for fractional LP solutions
Definition at line 543 of file branch_fullstrong.c.
References BMSclearMemoryArray, BRANCHRULE_NAME, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIPallColsInLP(), SCIPallocBlockMemoryArray, SCIPbranchruleGetData(), SCIPbranchruleGetName(), SCIPbranchVarVal(), SCIPdebugMsg, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPgetCutoffbound(), SCIPgetLPBranchCands(), SCIPgetNVars(), SCIPisExactSolve(), SCIPisLT(), SCIPnodeGetLowerbound(), SCIPselectVarStrongBranching(), SCIPupdateLocalLowerbound(), SCIPupdateNodeLowerbound(), and SCIPvarGetName().