branch_generic.h File Reference

Detailed Description

branching rule based on vanderbeck's generic branching scheme

Author
Marcel Schmickerath

Definition in file branch_generic.h.

#include "scip/scip.h"
#include "type_branchgcg.h"

Go to the source code of this file.

Typedefs

typedef struct ComponentBoundSequence GCG_COMPSEQUENCE
 
typedef struct GCG_Strip GCG_STRIP
 

Enumerations

enum  GCG_COMPSENSE { GCG_COMPSENSE_GE = 1, GCG_COMPSENSE_LT = 0 }
 

Functions

SCIP_RETCODE SCIPincludeBranchruleGeneric (SCIP *scip)
 
SCIP_RETCODE GCGbranchGenericCreateBranchdata (SCIP *scip, GCG_BRANCHDATA **branchdata)
 
GCG_COMPSEQUENCEGCGbranchGenericBranchdataGetConsS (GCG_BRANCHDATA *branchdata)
 
int GCGbranchGenericBranchdataGetConsSsize (GCG_BRANCHDATA *branchdata)
 
int GCGbranchGenericBranchdataGetConsblocknr (GCG_BRANCHDATA *branchdata)
 
SCIP_CONS * GCGbranchGenericBranchdataGetMastercons (GCG_BRANCHDATA *branchdata)
 
SCIP_RETCODE GCGbranchGenericInitbranch (SCIP *masterscip, SCIP_BRANCHRULE *branchrule, SCIP_RESULT *result, int **checkedblocks, int *ncheckedblocks, GCG_STRIP ****checkedblockssortstrips, int **checkedblocksnsortstrips)
 
SCIP_Bool GCGisBranchruleGeneric (SCIP_BRANCHRULE *branchrule)
 

Typedef Documentation

Definition at line 58 of file branch_generic.h.

typedef struct GCG_Strip GCG_STRIP

Definition at line 69 of file branch_generic.h.

Enumeration Type Documentation

Enumerator
GCG_COMPSENSE_GE 
GCG_COMPSENSE_LT 

Definition at line 46 of file branch_generic.h.

Function Documentation

int GCGbranchGenericBranchdataGetConsblocknr ( GCG_BRANCHDATA branchdata)

get id of pricing problem (or block) to which the constraint belongs

Parameters
branchdatabranching data

Definition at line 3035 of file branch_generic.c.

References GCG_BranchData::consblocknr.

Referenced by addVarToMasterbranch(), and SCIP_DECL_EVENTEXEC().

GCG_COMPSEQUENCE* GCGbranchGenericBranchdataGetConsS ( GCG_BRANCHDATA branchdata)

get component bound sequence

Parameters
branchdatabranching data

Definition at line 3017 of file branch_generic.c.

References GCG_BranchData::consS.

Referenced by addVarToMasterbranch(), ObjPricerGcg::createNewMasterVarFromGcgCol(), and SCIP_DECL_EVENTEXEC().

int GCGbranchGenericBranchdataGetConsSsize ( GCG_BRANCHDATA branchdata)

get size of component bound sequence

Parameters
branchdatabranching data

Definition at line 3026 of file branch_generic.c.

References GCG_BranchData::consSsize.

Referenced by addVarToMasterbranch(), ObjPricerGcg::createNewMasterVarFromGcgCol(), and SCIP_DECL_EVENTEXEC().

SCIP_CONS* GCGbranchGenericBranchdataGetMastercons ( GCG_BRANCHDATA branchdata)

get master constraint

Parameters
branchdatabranching data

Definition at line 3044 of file branch_generic.c.

References GCG_BranchData::mastercons.

Referenced by addVarToMasterbranch().

SCIP_RETCODE GCGbranchGenericCreateBranchdata ( SCIP *  scip,
GCG_BRANCHDATA **  branchdata 
)

initializes branchdata

Parameters
scipSCIP data structure
branchdatabranching data to initialize

Definition at line 2997 of file branch_generic.c.

Referenced by GCGcreateConsOrigbranch().

SCIP_RETCODE GCGbranchGenericInitbranch ( SCIP *  masterscip,
SCIP_BRANCHRULE *  branchrule,
SCIP_RESULT *  result,
int **  checkedblocks,
int *  ncheckedblocks,
GCG_STRIP ****  checkedblockssortstrips,
int **  checkedblocksnsortstrips 
)

prepares informations for using the generic branching scheme

prepares information for using the generic branching scheme

loop over all branching candidates

Todo:
copy memory
Parameters
masterscipSCIP data structure
branchrulebranching rule
resultpointer to store the result of the branching call
checkedblocksblocks that have been checked
ncheckedblocksnumber of checked blocks
checkedblockssortstripssorted strips of checked blocks
checkedblocksnsortstripssizes of the strips

Definition at line 2374 of file branch_generic.c.

References GCG_BranchData::blocknr, ComponentBoundSequence::bound, branchDirectlyOnMastervar(), GCG_BranchData::C, ChooseSeparateMethod(), ComponentBoundSequence::component, GCG_BranchData::consblocknr, GCG_BranchData::consS, GCG_BranchData::consSsize, createChildNodesGeneric(), GCG_BranchData::Csize, GCGconsMasterbranchGetActiveCons(), GCGconsMasterbranchGetBranchdata(), GCGconsMasterbranchGetBranchrule(), GCGconsMasterbranchGetParentcons(), GCGgetBlockRepresentative(), GCGgetNPricingprobs(), GCGisMasterVarInBlock(), GCGmasterGetOrigprob(), GCGmasterVarIsArtificial(), GCGmasterVarIsLinking(), GCGoriginalVarGetMastervars(), GCGoriginalVarGetNMastervars(), GCGpricerExistRays(), GCGrelaxGetCurrentOrigSol(), GCGvarGetBlock(), GCGvarIsMaster(), GCG_BranchData::origvar, ComponentBoundSequence::sense, and GCG_BranchData::sequencesizes.

Referenced by ChooseSeparateMethod(), and SCIP_DECL_BRANCHEXECLP().

SCIP_Bool GCGisBranchruleGeneric ( SCIP_BRANCHRULE *  branchrule)

returns true when the branch rule is the generic branchrule

Parameters
branchrulebranchrule to check

Definition at line 3053 of file branch_generic.c.

References BRANCHRULE_NAME.

Referenced by ObjPricerGcg::pricingLoop(), and SCIP_DECL_EVENTEXEC().

SCIP_RETCODE SCIPincludeBranchruleGeneric ( SCIP *  scip)