SCIP

Solving Constraint Integer Programs

pub_branch.h File Reference

Detailed Description

public methods for branching rules

Author
Tobias Achterberg

Definition in file pub_branch.h.

#include "scip/def.h"
#include "scip/type_misc.h"
#include "scip/type_branch.h"

Go to the source code of this file.

Functions

 SCIP_DECL_SORTPTRCOMP (SCIPbranchruleComp)
 
 SCIP_DECL_SORTPTRCOMP (SCIPbranchruleCompName)
 
SCIP_BRANCHRULEDATA * SCIPbranchruleGetData (SCIP_BRANCHRULE *branchrule)
 
void SCIPbranchruleSetData (SCIP_BRANCHRULE *branchrule, SCIP_BRANCHRULEDATA *branchruledata)
 
const char * SCIPbranchruleGetName (SCIP_BRANCHRULE *branchrule)
 
const char * SCIPbranchruleGetDesc (SCIP_BRANCHRULE *branchrule)
 
int SCIPbranchruleGetPriority (SCIP_BRANCHRULE *branchrule)
 
int SCIPbranchruleGetMaxdepth (SCIP_BRANCHRULE *branchrule)
 
SCIP_Real SCIPbranchruleGetMaxbounddist (SCIP_BRANCHRULE *branchrule)
 
SCIP_Real SCIPbranchruleGetSetupTime (SCIP_BRANCHRULE *branchrule)
 
SCIP_Real SCIPbranchruleGetTime (SCIP_BRANCHRULE *branchrule)
 
SCIP_Longint SCIPbranchruleGetNLPCalls (SCIP_BRANCHRULE *branchrule)
 
SCIP_Longint SCIPbranchruleGetNExternCalls (SCIP_BRANCHRULE *branchrule)
 
SCIP_Longint SCIPbranchruleGetNPseudoCalls (SCIP_BRANCHRULE *branchrule)
 
SCIP_Longint SCIPbranchruleGetNCutoffs (SCIP_BRANCHRULE *branchrule)
 
SCIP_Longint SCIPbranchruleGetNCutsFound (SCIP_BRANCHRULE *branchrule)
 
SCIP_Longint SCIPbranchruleGetNConssFound (SCIP_BRANCHRULE *branchrule)
 
SCIP_Longint SCIPbranchruleGetNDomredsFound (SCIP_BRANCHRULE *branchrule)
 
SCIP_Longint SCIPbranchruleGetNChildren (SCIP_BRANCHRULE *branchrule)
 
SCIP_Bool SCIPbranchruleIsInitialized (SCIP_BRANCHRULE *branchrule)
 

Function Documentation

SCIP_DECL_SORTPTRCOMP ( SCIPbranchruleComp  )

compares two branching rules w. r. to their priority

Definition at line 1166 of file branch.c.

SCIP_DECL_SORTPTRCOMP ( SCIPbranchruleCompName  )

comparison method for sorting branching rules w.r.t. to their name

Definition at line 1172 of file branch.c.

References SCIPbranchruleGetName().

void SCIPbranchruleSetData ( SCIP_BRANCHRULE *  branchrule,
SCIP_BRANCHRULEDATA *  branchruledata 
)

sets user data of branching rule; user has to free old data in advance!

Parameters
branchrulebranching rule
branchruledatanew branching rule user data

Definition at line 1765 of file branch.c.

References SCIP_Branchrule::branchruledata, and NULL.

Referenced by SCIP_DECL_BRANCHFREE().

const char* SCIPbranchruleGetDesc ( SCIP_BRANCHRULE *  branchrule)

gets description of branching rule

Parameters
branchrulebranching rule

Definition at line 1887 of file branch.c.

References SCIP_Branchrule::desc, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

int SCIPbranchruleGetPriority ( SCIP_BRANCHRULE *  branchrule)

gets priority of branching rule

Parameters
branchrulebranching rule

Definition at line 1897 of file branch.c.

References NULL, and SCIP_Branchrule::priority.

Referenced by SCIP_DECL_DIALOGEXEC().

int SCIPbranchruleGetMaxdepth ( SCIP_BRANCHRULE *  branchrule)

gets maximal depth level, up to which this branching rule should be used (-1 for no limit)

Parameters
branchrulebranching rule

Definition at line 1921 of file branch.c.

References SCIP_Branchrule::maxdepth, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_Real SCIPbranchruleGetMaxbounddist ( SCIP_BRANCHRULE *  branchrule)

gets maximal relative distance from current node's dual bound to primal bound for applying branching rule

Parameters
branchrulebranching rule

Definition at line 1943 of file branch.c.

References SCIP_Branchrule::maxbounddist, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC().

SCIP_Real SCIPbranchruleGetSetupTime ( SCIP_BRANCHRULE *  branchrule)

gets time in seconds used in this branching rule for setting up for next stages

Parameters
branchrulebranching rule

Definition at line 1977 of file branch.c.

References NULL, SCIPclockGetTime(), and SCIP_Branchrule::setuptime.

Referenced by printBranchruleStatistics().

SCIP_Real SCIPbranchruleGetTime ( SCIP_BRANCHRULE *  branchrule)

gets time in seconds used in this branching rule

Parameters
branchrulebranching rule

Definition at line 1987 of file branch.c.

References SCIP_Branchrule::branchclock, NULL, and SCIPclockGetTime().

Referenced by printBranchruleStatistics().

SCIP_Longint SCIPbranchruleGetNLPCalls ( SCIP_BRANCHRULE *  branchrule)

gets the total number of times, the branching rule was called on an LP solution

Parameters
branchrulebranching rule

Definition at line 1997 of file branch.c.

References SCIP_Branchrule::nlpcalls, and NULL.

Referenced by printBranchruleStatistics().

SCIP_Longint SCIPbranchruleGetNExternCalls ( SCIP_BRANCHRULE *  branchrule)

gets the total number of times, the branching rule was called on external candidates

gets the total number of times, the branching rule was called on an external solution

Parameters
branchrulebranching rule

Definition at line 2007 of file branch.c.

References SCIP_Branchrule::nexterncalls, and NULL.

Referenced by printBranchruleStatistics().

SCIP_Longint SCIPbranchruleGetNPseudoCalls ( SCIP_BRANCHRULE *  branchrule)

gets the total number of times, the branching rule was called on a pseudo solution

Parameters
branchrulebranching rule

Definition at line 2017 of file branch.c.

References SCIP_Branchrule::npseudocalls, and NULL.

Referenced by printBranchruleStatistics().

SCIP_Longint SCIPbranchruleGetNCutoffs ( SCIP_BRANCHRULE *  branchrule)

gets the total number of times, the branching rule detected a cutoff

Parameters
branchrulebranching rule

Definition at line 2027 of file branch.c.

References SCIP_Branchrule::ncutoffs, and NULL.

Referenced by printBranchruleStatistics().

SCIP_Longint SCIPbranchruleGetNCutsFound ( SCIP_BRANCHRULE *  branchrule)

gets the total number of cuts, the branching rule separated

Parameters
branchrulebranching rule

Definition at line 2037 of file branch.c.

References SCIP_Branchrule::ncutsfound, and NULL.

Referenced by printBranchruleStatistics().

SCIP_Longint SCIPbranchruleGetNConssFound ( SCIP_BRANCHRULE *  branchrule)

gets the total number of constraints, the branching rule added to the respective local nodes (not counting constraints that were added to the child nodes as branching decisions)

Parameters
branchrulebranching rule

Definition at line 2049 of file branch.c.

References SCIP_Branchrule::nconssfound, and NULL.

Referenced by printBranchruleStatistics().

SCIP_Longint SCIPbranchruleGetNDomredsFound ( SCIP_BRANCHRULE *  branchrule)

gets the total number of domain reductions, the branching rule found

Parameters
branchrulebranching rule

Definition at line 2059 of file branch.c.

References SCIP_Branchrule::ndomredsfound, and NULL.

Referenced by printBranchruleStatistics().

SCIP_Longint SCIPbranchruleGetNChildren ( SCIP_BRANCHRULE *  branchrule)

gets the total number of children, the branching rule created

Parameters
branchrulebranching rule

Definition at line 2069 of file branch.c.

References SCIP_Branchrule::nchildren, and NULL.

Referenced by displayRelevantStats(), and printBranchruleStatistics().

SCIP_Bool SCIPbranchruleIsInitialized ( SCIP_BRANCHRULE *  branchrule)

is branching rule initialized?

Parameters
branchrulebranching rule

Definition at line 2079 of file branch.c.

References SCIP_Branchrule::initialized, and NULL.

Referenced by SCIPsetFindNodesel().