SCIP Doxygen Documentation
Loading...
Searching...
No Matches

Detailed Description

full strong LP branching rule

Author
Tobias Achterberg
Gerald Gamrath

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 60 of file branch_fullstrong.c.

Referenced by SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleLookahead(), and SCIPincludeBranchruleMultAggr().

◆ DEFAULT_MAXPROPROUNDS

#define DEFAULT_MAXPROPROUNDS   -2

◆ 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 64 of file branch_fullstrong.c.

Referenced by SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleMultAggr(), and SCIPincludeBranchruleRelpscost().

◆ 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.

Referenced by SCIPincludeBranchruleFullstrong().

Function Documentation

◆ SCIP_DECL_BRANCHCOPY()

SCIP_DECL_BRANCHCOPY ( branchCopyFullstrong )
static

copy method for branchrule plugins (called when SCIP copies plugins)

Definition at line 92 of file branch_fullstrong.c.

References assert(), BRANCHRULE_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetName(), and SCIPincludeBranchruleFullstrong().

◆ SCIP_DECL_BRANCHFREE()

SCIP_DECL_BRANCHFREE ( branchFreeFullstrong )
static

destructor of branching rule to free user data (called when SCIP is exiting)

Definition at line 106 of file branch_fullstrong.c.

References assert(), NULL, SCIP_OKAY, SCIPbranchruleGetData(), SCIPbranchruleSetData(), SCIPfreeBlockMemory, and SCIPfreeBlockMemoryArrayNull.

◆ SCIP_DECL_BRANCHINIT()

SCIP_DECL_BRANCHINIT ( branchInitFullstrong )
static

initialization method of branching rule (called after problem was transformed)

Definition at line 126 of file branch_fullstrong.c.

References assert(), NULL, SCIP_OKAY, and SCIPbranchruleGetData().

◆ SCIP_DECL_BRANCHEXIT()

SCIP_DECL_BRANCHEXIT ( branchExitFullstrong )
static

deinitialization method of branching rule (called before transformed problem is freed)

Definition at line 141 of file branch_fullstrong.c.

References assert(), NULL, SCIP_OKAY, SCIPbranchruleGetData(), and SCIPfreeBlockMemoryArray.

◆ SCIP_DECL_BRANCHEXECLP()