Detailed Description
C++ wrapper for branching rules.
This class defines the interface for branching rules implemented in C++.
- Instructions for implementing a branching rule
- List of available branching rules
- Corresponding C interface
Definition at line 45 of file objbranchrule.h.
C++ wrapper for branching rules. More...
#include <objbranchrule.h>
Public Member Functions | |
ObjBranchrule (SCIP *scip, const char *name, const char *desc, int priority, int maxdepth, SCIP_Real maxbounddist) | |
virtual | ~ObjBranchrule () |
virtual | SCIP_DECL_BRANCHFREE (scip_free) |
virtual | SCIP_DECL_BRANCHINIT (scip_init) |
virtual | SCIP_DECL_BRANCHEXIT (scip_exit) |
virtual | SCIP_DECL_BRANCHINITSOL (scip_initsol) |
virtual | SCIP_DECL_BRANCHEXITSOL (scip_exitsol) |
virtual | SCIP_DECL_BRANCHEXECLP (scip_execlp) |
virtual | SCIP_DECL_BRANCHEXECEXT (scip_execext) |
virtual | SCIP_DECL_BRANCHEXECPS (scip_execps) |
Public Member Functions inherited from scip::ObjCloneable | |
virtual | ~ObjCloneable () |
virtual | SCIP_DECL_OBJCLONEABLECLONE (ObjCloneable *clone) |
virtual | SCIP_DECL_OBJCLONEABLEISCLONEABLE (iscloneable) |
Data Fields | |
SCIP * | scip_ |
char * | scip_name_ |
char * | scip_desc_ |
const int | scip_priority_ |
const int | scip_maxdepth_ |
const SCIP_Real | scip_maxbounddist_ |
Constructor & Destructor Documentation
◆ ObjBranchrule()
|
inline |
default constructor
- Parameters
-
scip SCIP data structure name name of branching rule desc description of branching rule priority priority of the branching rule maxdepth maximal depth level, up to which this branching rule should be used (or -1) maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Definition at line 72 of file objbranchrule.h.
References SCIP_CALL_ABORT, and SCIPduplicateMemoryArray.
◆ ~ObjBranchrule()
|
inlinevirtual |
Member Function Documentation
◆ SCIP_DECL_BRANCHFREE()
|
inlinevirtual |
destructor of branching rule to free user data (called when SCIP is exiting)
- See also
- SCIP_DECL_BRANCHFREE(x) in type_branch.h
Definition at line 107 of file objbranchrule.h.
References SCIP_OKAY.
◆ SCIP_DECL_BRANCHINIT()
|
inlinevirtual |
initialization method of branching rule (called after problem was transformed)
- See also
- SCIP_DECL_BRANCHINIT(x) in type_branch.h
Definition at line 116 of file objbranchrule.h.
References SCIP_OKAY.
◆ SCIP_DECL_BRANCHEXIT()
|
inlinevirtual |
deinitialization method of branching rule (called before transformed problem is freed)
- See also
- SCIP_DECL_BRANCHEXIT(x) in type_branch.h
Definition at line 125 of file objbranchrule.h.
References SCIP_OKAY.
◆ SCIP_DECL_BRANCHINITSOL()
|
inlinevirtual |
solving process initialization method of branching rule (called when branch and bound process is about to begin)
- See also
- SCIP_DECL_BRANCHINITSOL(x) in type_branch.h
Definition at line 134 of file objbranchrule.h.
References SCIP_OKAY.
◆ SCIP_DECL_BRANCHEXITSOL()
|
inlinevirtual |
solving process deinitialization method of branching rule (called before branch and bound process data is freed)
- See also
- SCIP_DECL_BRANCHEXITSOL(x) in type_branch.h
Definition at line 143 of file objbranchrule.h.
References SCIP_OKAY.
◆ SCIP_DECL_BRANCHEXECLP()
|
inlinevirtual |
branching execution method for fractional LP solutions
- See also
- SCIP_DECL_BRANCHEXECLP(x) in type_branch.h
Definition at line 152 of file objbranchrule.h.
References NULL, SCIP_DIDNOTRUN, and SCIP_OKAY.
◆ SCIP_DECL_BRANCHEXECEXT()
|
inlinevirtual |
branching execution method for external candidates
- See also
- SCIP_DECL_BRANCHEXECEXT(x) in type_branch.h
Definition at line 163 of file objbranchrule.h.
References NULL, SCIP_DIDNOTRUN, and SCIP_OKAY.
◆ SCIP_DECL_BRANCHEXECPS()
|
inlinevirtual |
branching execution method for not completely fixed pseudo solutions
- See also
- SCIP_DECL_BRANCHEXECPS(x) in type_branch.h
Definition at line 174 of file objbranchrule.h.
References NULL, SCIP_Bool, SCIP_DIDNOTRUN, SCIP_EXPORT, SCIP_OKAY, SCIPfindObjBranchrule(), SCIPgetObjBranchrule(), and SCIPincludeObjBranchrule().
Field Documentation
◆ scip_
SCIP* scip::ObjBranchrule::scip_ |
SCIP data structure
Definition at line 51 of file objbranchrule.h.
◆ scip_name_
char* scip::ObjBranchrule::scip_name_ |
name of the branching rule
Definition at line 54 of file objbranchrule.h.
Referenced by SCIPincludeObjBranchrule().
◆ scip_desc_
char* scip::ObjBranchrule::scip_desc_ |
description of the branching rule
Definition at line 57 of file objbranchrule.h.
Referenced by SCIPincludeObjBranchrule().
◆ scip_priority_
const int scip::ObjBranchrule::scip_priority_ |
default priority of the branching rule
Definition at line 60 of file objbranchrule.h.
Referenced by SCIPincludeObjBranchrule().
◆ scip_maxdepth_
const int scip::ObjBranchrule::scip_maxdepth_ |
default maximal depth for applying the branching rule
Definition at line 63 of file objbranchrule.h.
Referenced by SCIPincludeObjBranchrule().
◆ scip_maxbounddist_
const SCIP_Real scip::ObjBranchrule::scip_maxbounddist_ |
default maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes)
Definition at line 69 of file objbranchrule.h.
Referenced by SCIPincludeObjBranchrule().