Scippy

GCG

Branch-and-Price & Column Generation for Everyone

SCIP_BranchruleData Struct Reference

Detailed Description

branching rule data

Definition at line 127 of file branch_bpstrong.c.

Data Fields

int lastcand
 
int nvars
 
int maxvars
 
int maxcands
 
SCIP_HASHTABLE * candhashtable
 
VarTuple ** vartuples
 
SCIP_Real * score
 
int * uniqueblockflags
 
SCIP_Real * strongbranchscore
 
SCIP_Bool * sbscoreisrecent
 
int * lastevalnode
 
int nphase1lps
 
int nphase2lps
 
SCIP_Longint nsblpiterations
 
int nsbpricerounds
 
int initiator
 
SCIP_BRANCHRULE * initiatorbranchrule
 
SCIP_Bool mostfrac
 
SCIP_Bool usepseudocosts
 
SCIP_Bool usestronglite
 
SCIP_Bool usestrongtrain
 
SCIP_Bool immediateinf
 
SCIP_Longint maxsblpiters
 
int maxsbpricerounds
 
int reevalage
 
int mincolgencands
 
int minphase0depth
 
int maxphase1depth
 
int maxphase2depth
 
int minphase0outcands
 
int maxphase0outcands
 
SCIP_Real maxphase0outcandsfrac
 
SCIP_Real phase1gapweight
 
int minphase1outcands
 
int maxphase1outcands
 
SCIP_Real maxphase1outcandsfrac
 
SCIP_Real phase2gapweight
 
int maxlookahead
 
SCIP_Real lookaheadscales
 
SCIP_Real histweight
 
SCIP_Real closepercentage
 
int consecheurclose
 
int maxconsecheurclose
 
SCIP_Bool done
 
SCIP_Real sbpseudocostweight
 
int phase1reliable
 
int phase2reliable
 
SCIP_Bool forcephase0
 
SCIP_Bool initialized
 
SCIP_Bool enforcebycons
 
SCIP_Bool userandom
 
SCIP_Bool usepsstrong
 
SCIP_Bool usestrong
 
SCIP_Real conflictweight
 
SCIP_Real conflengthweight
 
SCIP_Real inferenceweight
 
SCIP_Real cutoffweight
 
SCIP_Real pscostweight
 
SCIP_Real minreliable
 
SCIP_Real maxreliable
 
SCIP_Real iterquot
 
SCIP_Longint nlpiterations
 
int iterofs
 
int initcand
 
int maxbdchgs
 
int minbdchgs
 
SCIP_Bool uselp
 
int nprobingnodes
 
int ninfprobings
 
SCIP_Real reliability
 
int nbranchings
 
int nresolvesminbdchgs
 
int nresolvesinfcands
 
int nprobings
 
SCIP_HASHMAP * varhashmap
 
int * nvarbranchings
 
int * nvarprobings
 

Field Documentation

◆ lastcand

int SCIP_BranchruleData::lastcand

last evaluated candidate of last branching rule execution

Definition at line 129 of file branch_bpstrong.c.

◆ nvars

int SCIP_BranchruleData::nvars

the number of candidates currently in the hashtable

number of variables that are in hashmap

Definition at line 130 of file branch_bpstrong.c.

◆ maxvars

int SCIP_BranchruleData::maxvars

the maximal number of cands that were in the hashtable at the same time

capacity of nvarbranchings and nvarprobings

Definition at line 131 of file branch_bpstrong.c.

◆ maxcands

int SCIP_BranchruleData::maxcands

(realistically) the maximum total amount of candidates

Definition at line 133 of file branch_bpstrong.c.

◆ candhashtable

SCIP_HASHTABLE* SCIP_BranchruleData::candhashtable

hashtable mapping candidates to their index

Definition at line 134 of file branch_bpstrong.c.

◆ vartuples

VarTuple** SCIP_BranchruleData::vartuples

all VarTuples that are in candhashtable

Definition at line 135 of file branch_bpstrong.c.

◆ score

SCIP_Real* SCIP_BranchruleData::score

the candidates' last scores

Definition at line 136 of file branch_bpstrong.c.

◆ uniqueblockflags

int* SCIP_BranchruleData::uniqueblockflags

flags assigned by assignUniqueBlockFlags()

Definition at line 137 of file branch_bpstrong.c.

◆ strongbranchscore

SCIP_Real* SCIP_BranchruleData::strongbranchscore

the candidates' last scores from strong branching with column generation

Definition at line 138 of file branch_bpstrong.c.

◆ sbscoreisrecent

SCIP_Bool* SCIP_BranchruleData::sbscoreisrecent

was the score saved in strongbranchscore computed in a parent of the current node where all node on the path to the parent were created for domain reduction due to infeasibility?

Definition at line 140 of file branch_bpstrong.c.

◆ lastevalnode

int* SCIP_BranchruleData::lastevalnode

the last node at which the candidates were evaluated

Definition at line 143 of file branch_bpstrong.c.

◆ nphase1lps

int SCIP_BranchruleData::nphase1lps

number of phase 1 lps solved

Definition at line 145 of file branch_bpstrong.c.

◆ nphase2lps

int SCIP_BranchruleData::nphase2lps

number of phase 2 lps solved

Definition at line 146 of file branch_bpstrong.c.

◆ nsblpiterations

SCIP_Longint SCIP_BranchruleData::nsblpiterations

total number of strong branching lp iterations during phase 1

Definition at line 147 of file branch_bpstrong.c.

◆ nsbpricerounds

int SCIP_BranchruleData::nsbpricerounds

total number of strong branching pricing rounds

Definition at line 148 of file branch_bpstrong.c.

◆ initiator

int SCIP_BranchruleData::initiator

the identifier of the branching rule that initiated strong branching

Definition at line 150 of file branch_bpstrong.c.

◆ initiatorbranchrule

SCIP_BRANCHRULE* SCIP_BranchruleData::initiatorbranchrule

the branching rule that initiated strong branching

Definition at line 152 of file branch_bpstrong.c.

◆ mostfrac

SCIP_Bool SCIP_BranchruleData::mostfrac

should most infeasible/fractional branching be used in phase 0?

should branching be performed on the most fractional variable? (only if usepseudocosts = FALSE)

Definition at line 154 of file branch_bpstrong.c.

◆ usepseudocosts

SCIP_Bool SCIP_BranchruleData::usepseudocosts

should pseudocost branching be used in phase 0?

should pseudocosts be used to determine the variable on which the branching is performed?

Definition at line 155 of file branch_bpstrong.c.

◆ usestronglite

SCIP_Bool SCIP_BranchruleData::usestronglite

should strong branching use column generation during variable evaluation?

Definition at line 157 of file branch_bpstrong.c.

◆ usestrongtrain

SCIP_Bool SCIP_BranchruleData::usestrongtrain

should strong branching run as precise as possible (to generate more valuable training data, currently not implemented)?

Definition at line 159 of file branch_bpstrong.c.

◆ immediateinf

SCIP_Bool SCIP_BranchruleData::immediateinf

should infeasibility detected during strong branching be handled immediately, or only if the variable is selected?

Definition at line 162 of file branch_bpstrong.c.

◆ maxsblpiters

SCIP_Longint SCIP_BranchruleData::maxsblpiters

maximum number of strong branching lp iterations, set to 2*avg lp iterations if <= 0

Definition at line 164 of file branch_bpstrong.c.

◆ maxsbpricerounds

int SCIP_BranchruleData::maxsbpricerounds

maximum number of strong branching pricing rounds, set to 2*avg lp iterations if <= 0

Definition at line 166 of file branch_bpstrong.c.

◆ reevalage

int SCIP_BranchruleData::reevalage

how many times can bounds be changed due to infeasibility during strong branching until an already evaluated variable needs to be reevaluated?

Definition at line 168 of file branch_bpstrong.c.

◆ mincolgencands

int SCIP_BranchruleData::mincolgencands

minimum number of variables for phase 2 to be executed, otherwise the best candidate from phase 1 will be chosen

Definition at line 171 of file branch_bpstrong.c.

◆ minphase0depth

int SCIP_BranchruleData::minphase0depth

minimum tree depth from which on phase 0 is performed (~ hybrid branching)

Definition at line 174 of file branch_bpstrong.c.

◆ maxphase1depth

int SCIP_BranchruleData::maxphase1depth

maximum tree depth up to which phase 1 is performed (~ hybrid branching)

Definition at line 176 of file branch_bpstrong.c.

◆ maxphase2depth

int SCIP_BranchruleData::maxphase2depth

maximum tree depth up to which phase 2 is performed (~ hybrid branching)

Definition at line 178 of file branch_bpstrong.c.

◆ minphase0outcands

int SCIP_BranchruleData::minphase0outcands

minimum number of output candidates from phase 0

Definition at line 181 of file branch_bpstrong.c.

◆ maxphase0outcands

int SCIP_BranchruleData::maxphase0outcands

maximum number of output candidates from phase 0

Definition at line 182 of file branch_bpstrong.c.

◆ maxphase0outcandsfrac

SCIP_Real SCIP_BranchruleData::maxphase0outcandsfrac

maximum number of output candidates from phase 0 as fraction of total cands

Definition at line 183 of file branch_bpstrong.c.

◆ phase1gapweight

SCIP_Real SCIP_BranchruleData::phase1gapweight

how much impact should the node gap have on the number of precisely evaluated candidates in phase 1?

Definition at line 185 of file branch_bpstrong.c.

◆ minphase1outcands

int SCIP_BranchruleData::minphase1outcands

minimum number of output candidates from phase 1

Definition at line 188 of file branch_bpstrong.c.

◆ maxphase1outcands

int SCIP_BranchruleData::maxphase1outcands

maximum number of output candidates from phase 1

Definition at line 189 of file branch_bpstrong.c.

◆ maxphase1outcandsfrac

SCIP_Real SCIP_BranchruleData::maxphase1outcandsfrac

maximum number of output candidates from phase 0 as fraction of phase 1 candidates

Definition at line 190 of file branch_bpstrong.c.

◆ phase2gapweight

SCIP_Real SCIP_BranchruleData::phase2gapweight

how much impact should the node gap have on the number of precisely evaluated candidates in phase 2?

Definition at line 192 of file branch_bpstrong.c.

◆ maxlookahead

int SCIP_BranchruleData::maxlookahead

maximum number of non-improving candidates until phase 2 is stopped

maximal number of further variables evaluated without better score

Definition at line 194 of file branch_bpstrong.c.

◆ lookaheadscales

SCIP_Real SCIP_BranchruleData::lookaheadscales

how much should the look ahead scale with the overall evaluation effort? (0 = not at all, 1 = fully)

Definition at line 196 of file branch_bpstrong.c.

◆ histweight

SCIP_Real SCIP_BranchruleData::histweight

how many candidates should be chosen based on historical strong branching scores as opposed to current heuristic scores in phase 0 (e.g. 0.5 = 50%)?

Definition at line 199 of file branch_bpstrong.c.

◆ closepercentage

SCIP_Real SCIP_BranchruleData::closepercentage

what percentage of the strong branching score of the candidate that was selected does the best candidate according to the phase 0 heuristic need to have to be considered close?

Definition at line 203 of file branch_bpstrong.c.

◆ consecheurclose

int SCIP_BranchruleData::consecheurclose

how many times in a row the best candidate according to the phase 0 heuristic was close to that selected by SBw/CG

Definition at line 206 of file branch_bpstrong.c.

◆ maxconsecheurclose

int SCIP_BranchruleData::maxconsecheurclose

how many times in a row can the heuristic be close before strong branching is stopped?

Definition at line 208 of file branch_bpstrong.c.

◆ done

SCIP_Bool SCIP_BranchruleData::done

has any of the permanent stopping criteria been reached?

Definition at line 211 of file branch_bpstrong.c.

◆ sbpseudocostweight

SCIP_Real SCIP_BranchruleData::sbpseudocostweight

with how much weight should strong branching scores be considered for pseudocost scores?

Definition at line 213 of file branch_bpstrong.c.

◆ phase1reliable

int SCIP_BranchruleData::phase1reliable

min count of pseudocost scores for a variable to be considered reliable in phase 1 (~ reliability branching)

Definition at line 216 of file branch_bpstrong.c.

◆ phase2reliable

int SCIP_BranchruleData::phase2reliable

min count of pseudocost scores for a variable to be considered reliable in phase 2 (~ reliability branching)

Definition at line 218 of file branch_bpstrong.c.

◆ forcephase0

SCIP_Bool SCIP_BranchruleData::forcephase0

should phase 0 be performed even if the number of input candidates is already lower or equal to the number of output candidates?

Definition at line 221 of file branch_bpstrong.c.

◆ initialized

SCIP_Bool SCIP_BranchruleData::initialized

has the branching rule been initialized?

Definition at line 224 of file branch_bpstrong.c.

◆ enforcebycons

SCIP_Bool SCIP_BranchruleData::enforcebycons

should bounds on variables be enforced by constraints(TRUE) or by bounds(FALSE)

Definition at line 86 of file branch_orig.c.

◆ userandom

SCIP_Bool SCIP_BranchruleData::userandom

should the variable on which the branching is performed be selected randomly? (only if usepseudocosts = mostfrac = FALSE)

Definition at line 92 of file branch_orig.c.

◆ usepsstrong

SCIP_Bool SCIP_BranchruleData::usepsstrong

should strong branching with propagation be used to determine the variable on which the branching is performed? (only if usepseudocosts = mostfrac = random = FALSE)

Definition at line 94 of file branch_orig.c.

◆ usestrong

SCIP_Bool SCIP_BranchruleData::usestrong

should strong branching be used to determine the variable on which the branching is performed?

Definition at line 97 of file branch_orig.c.

◆ conflictweight

SCIP_Real SCIP_BranchruleData::conflictweight

weight in score calculations for conflict score

Definition at line 97 of file branch_relpsprob.c.

◆ conflengthweight

SCIP_Real SCIP_BranchruleData::conflengthweight

weight in score calculations for conflict length score

Definition at line 98 of file branch_relpsprob.c.

◆ inferenceweight

SCIP_Real SCIP_BranchruleData::inferenceweight

weight in score calculations for inference score

Definition at line 99 of file branch_relpsprob.c.

◆ cutoffweight

SCIP_Real SCIP_BranchruleData::cutoffweight

weight in score calculations for cutoff score

Definition at line 100 of file branch_relpsprob.c.

◆ pscostweight

SCIP_Real SCIP_BranchruleData::pscostweight

weight in score calculations for pseudo cost score

Definition at line 101 of file branch_relpsprob.c.

◆ minreliable

SCIP_Real SCIP_BranchruleData::minreliable

minimal value for minimum pseudo cost size to regard pseudo cost value as reliable

Definition at line 102 of file branch_relpsprob.c.

◆ maxreliable

SCIP_Real SCIP_BranchruleData::maxreliable

maximal value for minimum pseudo cost size to regard pseudo cost value as reliable

Definition at line 103 of file branch_relpsprob.c.

◆ iterquot

SCIP_Real SCIP_BranchruleData::iterquot

maximal fraction of branching LP iterations compared to normal iters

Definition at line 104 of file branch_relpsprob.c.

◆ nlpiterations

SCIP_Longint SCIP_BranchruleData::nlpiterations

total number of used LP iterations

Definition at line 105 of file branch_relpsprob.c.

◆ iterofs

int SCIP_BranchruleData::iterofs

additional number of allowed LP iterations

Definition at line 106 of file branch_relpsprob.c.

◆ initcand

int SCIP_BranchruleData::initcand

maximal number of candidates initialized with strong branching per node

Definition at line 108 of file branch_relpsprob.c.

◆ maxbdchgs

int SCIP_BranchruleData::maxbdchgs

maximal number of bound tightenings before the node is immediately reevaluated (-1: unlimited)

Definition at line 109 of file branch_relpsprob.c.

◆ minbdchgs

int SCIP_BranchruleData::minbdchgs

minimal number of bound tightenings before bound changes are applied

Definition at line 110 of file branch_relpsprob.c.

◆ uselp

SCIP_Bool SCIP_BranchruleData::uselp

shall the lp be solved during probing?

Definition at line 111 of file branch_relpsprob.c.

◆ nprobingnodes

int SCIP_BranchruleData::nprobingnodes

counter to store the total number of probing nodes

Definition at line 112 of file branch_relpsprob.c.

◆ ninfprobings

int SCIP_BranchruleData::ninfprobings

counter to store the number of probings which led to an infeasible branch

Definition at line 113 of file branch_relpsprob.c.

◆ reliability

SCIP_Real SCIP_BranchruleData::reliability

reliability value for branching variables

Definition at line 114 of file branch_relpsprob.c.

◆ nbranchings

int SCIP_BranchruleData::nbranchings

counter to store the total number of nodes that are branched

Definition at line 115 of file branch_relpsprob.c.

◆ nresolvesminbdchgs

int SCIP_BranchruleData::nresolvesminbdchgs

counter to store how often node is reevaluated due to min bdchgs

Definition at line 116 of file branch_relpsprob.c.

◆ nresolvesinfcands

int SCIP_BranchruleData::nresolvesinfcands

counter to store how often node is reevaluated since candidate with inf branch is chosen

Definition at line 117 of file branch_relpsprob.c.

◆ nprobings

int SCIP_BranchruleData::nprobings

counter to store the total number of probings that were performed

Definition at line 118 of file branch_relpsprob.c.

◆ varhashmap

SCIP_HASHMAP* SCIP_BranchruleData::varhashmap

hash storing variables; image is position in following arrays

Definition at line 119 of file branch_relpsprob.c.

◆ nvarbranchings

int* SCIP_BranchruleData::nvarbranchings

array to store number of branchings per variable

Definition at line 120 of file branch_relpsprob.c.

◆ nvarprobings

int* SCIP_BranchruleData::nvarprobings

array to store number of probings per variable

Definition at line 121 of file branch_relpsprob.c.