Scippy

SCIP

Solving Constraint Integer Programs

branch_relpscost.h File Reference

Detailed Description

reliable pseudo costs branching rule

Author
Tobias Achterberg

The reliable pseudo costs branching rule uses the notion of pseudo costs to measure the expected gain in the dual bound when branching on a particular variable. The pseudo cost information is collected during the branch-and-bound search in the same manner as for the pseudo costs branching rule.

The reliable pseudo costs branching rule, however, uses a limited number of look-ahead LP-iterations at the beginning of the search in order to obtain better pseudo cost estimates and make branching decisions in a sense more "reliable" at an early stage of the search, at the price of a higher computational cost at the beginning of the search.

For a more mathematical description and a comparison between the reliable pseudo costs rule and other branching rules in SCIP, we refer to

Tobias Achterberg
Constraint Integer Programming
PhD Thesis, Technische Universität Berlin, 2007

Definition in file branch_relpscost.h.

#include "scip/scip.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPincludeBranchruleRelpscost (SCIP *scip)
 
SCIP_RETCODE SCIPexecRelpscostBranching (SCIP *scip, SCIP_Bool allowaddcons, SCIP_VAR **branchcands, SCIP_Real *branchcandssol, SCIP_Real *branchcandsfrac, int nbranchcands, SCIP_RESULT *result)
 

Function Documentation

SCIP_RETCODE SCIPincludeBranchruleRelpscost ( SCIP scip)

creates the reliable pseudo cost branching rule and includes it in SCIP

Parameters
scipSCIP data structure
SCIP_RETCODE SCIPexecRelpscostBranching ( SCIP scip,
SCIP_Bool  allowaddcons,
SCIP_VAR **  branchcands,
SCIP_Real branchcandssol,
SCIP_Real branchcandsfrac,
int  nbranchcands,
SCIP_RESULT result 
)

execution reliability pseudo cost branching with the given branching candidates

Parameters
scipSCIP data structure
allowaddconsis the branching rule allowed to add constraints to the current node in order to cut off the current solution instead of creating a branching?
branchcandsbranching candidates
branchcandssolsolution value for the branching candidates
branchcandsfracfractional part of the branching candidates
nbranchcandsnumber of branching candidates
resultpointer to the result of the execution