Scippy

SCIP

Solving Constraint Integer Programs

scip::ObjBranchrule Class Reference

Detailed Description

C++ wrapper for branching rules.

This class defines the interface for branching rules implemented in C++.

Definition at line 45 of file objbranchrule.h.

#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

SCIPscip_
 
char * scip_name_
 
char * scip_desc_
 
const int scip_priority_
 
const int scip_maxdepth_
 
const SCIP_Real scip_maxbounddist_
 

Constructor & Destructor Documentation

◆ ObjBranchrule()

scip::ObjBranchrule::ObjBranchrule ( SCIP scip,
const char *  name,
const char *  desc,
int  priority,
int  maxdepth,
SCIP_Real  maxbounddist 
)
inline

default constructor

Parameters
scipSCIP data structure
namename of branching rule
descdescription of branching rule
prioritypriority of the branching rule
maxdepthmaximal depth level, up to which this branching rule should be used (or -1)
maxbounddistmaximal 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()

virtual scip::ObjBranchrule::~ObjBranchrule ( )
inlinevirtual

destructor

Definition at line 95 of file objbranchrule.h.

References SCIPfreeMemoryArray.

Member Function Documentation

◆ SCIP_DECL_BRANCHFREE()

virtual scip::ObjBranchrule::SCIP_DECL_BRANCHFREE ( scip_free  )
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()

virtual scip::ObjBranchrule::SCIP_DECL_BRANCHINIT ( scip_init  )
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()

virtual scip::ObjBranchrule::SCIP_DECL_BRANCHEXIT ( scip_exit  )
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()

virtual scip::ObjBranchrule::SCIP_DECL_BRANCHINITSOL ( scip_initsol  )
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()

virtual scip::ObjBranchrule::SCIP_DECL_BRANCHEXITSOL ( scip_exitsol  )
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()

virtual scip::ObjBranchrule::SCIP_DECL_BRANCHEXECLP ( scip_execlp  )
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()

virtual scip::ObjBranchrule::SCIP_DECL_BRANCHEXECEXT ( scip_execext  )
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()

virtual scip::ObjBranchrule::SCIP_DECL_BRANCHEXECPS ( scip_execps  )
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_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().