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 54 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)
     
     ObjBranchrule (const ObjBranchrule &o)
     
     ObjBranchrule (ObjBranchrule &&o)
     
    virtual ~ObjBranchrule ()
     
    ObjBranchruleoperator= (const ObjBranchrule &o)=delete
     
    ObjBranchruleoperator= (ObjBranchrule &&o)=delete
     
    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 ()
     
    ObjCloneableoperator= (const ObjCloneable &o)=delete
     
    ObjCloneableoperator= (ObjCloneable &&o)=delete
     
    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() [1/3]

    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 81 of file objbranchrule.h.

    References scip_, SCIP_CALL_ABORT, scip_desc_, scip_name_, and SCIPduplicateMemoryArray.

    ◆ ObjBranchrule() [2/3]

    scip::ObjBranchrule::ObjBranchrule ( const ObjBranchrule o)
    inline

    copy constructor

    Definition at line 104 of file objbranchrule.h.

    ◆ ObjBranchrule() [3/3]

    scip::ObjBranchrule::ObjBranchrule ( ObjBranchrule &&  o)
    inline

    move constructor

    Definition at line 110 of file objbranchrule.h.

    References scip_desc_, and scip_name_.

    ◆ ~ObjBranchrule()

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

    destructor

    Definition at line 123 of file objbranchrule.h.

    References scip_, scip_desc_, scip_name_, and SCIPfreeMemoryArray.

    Member Function Documentation

    ◆ operator=() [1/2]

    ObjBranchrule & scip::ObjBranchrule::operator= ( const ObjBranchrule o)
    delete

    assignment of polymorphic classes causes slicing and is therefore disabled.

    ◆ operator=() [2/2]

    ObjBranchrule & scip::ObjBranchrule::operator= ( ObjBranchrule &&  o)
    delete

    assignment of polymorphic classes causes slicing and is therefore disabled.

    ◆ 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 141 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 150 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 159 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 168 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 177 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 186 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 197 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 208 of file objbranchrule.h.

    References NULL, SCIP_DIDNOTRUN, and SCIP_OKAY.

    Field Documentation

    ◆ scip_

    SCIP* scip::ObjBranchrule::scip_

    SCIP data structure

    Definition at line 60 of file objbranchrule.h.

    Referenced by ObjBranchrule(), and ~ObjBranchrule().

    ◆ scip_name_

    char* scip::ObjBranchrule::scip_name_

    name of the branching rule

    Definition at line 63 of file objbranchrule.h.

    Referenced by ObjBranchrule(), SCIPincludeObjBranchrule(), and ~ObjBranchrule().

    ◆ scip_desc_

    char* scip::ObjBranchrule::scip_desc_

    description of the branching rule

    Definition at line 66 of file objbranchrule.h.

    Referenced by ObjBranchrule(), SCIPincludeObjBranchrule(), and ~ObjBranchrule().

    ◆ scip_priority_

    const int scip::ObjBranchrule::scip_priority_

    default priority of the branching rule

    Definition at line 69 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 72 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 78 of file objbranchrule.h.

    Referenced by SCIPincludeObjBranchrule().