Scippy

    SCIP

    Solving Constraint Integer Programs

    scip::ObjBenderscut Class Referenceabstract

    Detailed Description

    C++ wrapper for Benders' decomposition cut plugin.

    This class defines the interface for the Benders' decomposition cuts implemented in C++. Note that there is a pure virtual function (this must be implemented). This function is: benderscut_exec().

    Definition at line 56 of file objbenderscut.h.

    C++ wrapper for Benders' decomposition cut plugin. More...

    #include <objbenderscut.h>

    Public Member Functions

     ObjBenderscut (SCIP *scip, const char *name, const char *desc, int priority, SCIP_Bool islpcut)
     
     ObjBenderscut (const ObjBenderscut &o)
     
     ObjBenderscut (ObjBenderscut &&o)
     
    virtual ~ObjBenderscut ()
     
    ObjBenderscutoperator= (const ObjBenderscut &o)=delete
     
    ObjBenderscutoperator= (ObjBenderscut &&o)=delete
     
    virtual SCIP_DECL_BENDERSCUTCOPY (scip_copy)
     
    virtual SCIP_DECL_BENDERSCUTFREE (scip_free)
     
    virtual SCIP_DECL_BENDERSCUTINIT (scip_init)
     
    virtual SCIP_DECL_BENDERSCUTEXIT (scip_exit)
     
    virtual SCIP_DECL_BENDERSCUTINITSOL (scip_initsol)
     
    virtual SCIP_DECL_BENDERSCUTEXITSOL (scip_exitsol)
     
    virtual SCIP_DECL_BENDERSCUTEXEC (scip_exec)=0
     
    - 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 SCIP_Bool scip_islpcut_
     

    Constructor & Destructor Documentation

    ◆ ObjBenderscut() [1/3]

    scip::ObjBenderscut::ObjBenderscut ( SCIP scip,
    const char *  name,
    const char *  desc,
    int  priority,
    SCIP_Bool  islpcut 
    )
    inline

    default constructor

    Parameters
    scipSCIP data structure
    namename of Benders' decomposition
    descdescription of Benders' decomposition
    prioritypriority of the Benders' decomposition
    islpcutis the cut generated from the LP relaxation

    Definition at line 77 of file objbenderscut.h.

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

    ◆ ObjBenderscut() [2/3]

    scip::ObjBenderscut::ObjBenderscut ( const ObjBenderscut o)
    inline

    copy constructor

    Definition at line 96 of file objbenderscut.h.

    ◆ ObjBenderscut() [3/3]

    scip::ObjBenderscut::ObjBenderscut ( ObjBenderscut &&  o)
    inline

    move constructor

    Definition at line 102 of file objbenderscut.h.

    References scip_desc_, and scip_name_.

    ◆ ~ObjBenderscut()

    virtual scip::ObjBenderscut::~ObjBenderscut ( )
    inlinevirtual

    destructor

    Definition at line 110 of file objbenderscut.h.

    References scip_, scip_desc_, scip_name_, and SCIPfreeMemoryArray.

    Member Function Documentation

    ◆ operator=() [1/2]

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

    assignment of polymorphic classes causes slicing and is therefore disabled.

    ◆ operator=() [2/2]

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

    assignment of polymorphic classes causes slicing and is therefore disabled.

    ◆ SCIP_DECL_BENDERSCUTCOPY()

    virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTCOPY ( scip_copy  )
    inlinevirtual

    copy method for compression plugins (called when SCIP copies plugins)

    See also
    SCIP_DECL_BENDERSCUTCOPY(x) in type_benders.h

    Definition at line 128 of file objbenderscut.h.

    References SCIP_OKAY.

    ◆ SCIP_DECL_BENDERSCUTFREE()

    virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTFREE ( scip_free  )
    inlinevirtual

    destructor of Benders' decomposition cuts to free user data (called when SCIP is exiting)

    See also
    SCIP_DECL_BENDERSCUTFREE(x) in type_benders.h

    Definition at line 137 of file objbenderscut.h.

    References SCIP_OKAY.

    ◆ SCIP_DECL_BENDERSCUTINIT()

    virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTINIT ( scip_init  )
    inlinevirtual

    initialization method of Benders' decomposition cuts (called after problem was transformed)

    See also
    SCIP_DECL_BENDERSCUTINIT(x) in type_benders.h

    Definition at line 146 of file objbenderscut.h.

    References SCIP_OKAY.

    ◆ SCIP_DECL_BENDERSCUTEXIT()

    virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTEXIT ( scip_exit  )
    inlinevirtual

    deinitialization method of Benders' decomposition cuts (called before transformed problem is freed)

    See also
    SCIP_DECL_BENDERSCUTEXIT(x) in type_benders.h

    Definition at line 155 of file objbenderscut.h.

    References SCIP_OKAY.

    ◆ SCIP_DECL_BENDERSCUTINITSOL()

    virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTINITSOL ( scip_initsol  )
    inlinevirtual

    solving process initialization method of Benders' decomposition cuts (called when branch and bound process is about to begin)

    See also
    SCIP_DECL_BENDERSCUTINITSOL(x) in type_benders.h

    Definition at line 164 of file objbenderscut.h.

    References SCIP_OKAY.

    ◆ SCIP_DECL_BENDERSCUTEXITSOL()

    virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTEXITSOL ( scip_exitsol  )
    inlinevirtual

    solving process deinitialization method of Benders' decomposition cuts (called before branch and bound process data is freed)

    This method is called before the branch and bound process is freed. The Benders' decomposition cuts should use this call to clean up its branch and bound data.

    See also
    SCIP_DECL_BENDERSCUTEXITSOL(x) in type_benders.h

    Definition at line 176 of file objbenderscut.h.

    References SCIP_OKAY.

    ◆ SCIP_DECL_BENDERSCUTEXEC()

    virtual scip::ObjBenderscut::SCIP_DECL_BENDERSCUTEXEC ( scip_exec  )
    pure virtual

    execution method of Benders' decomposition cuts technique

    See also
    SCIP_DECL_BENDERSCUTEXEC(x) in type_benders.h

    Field Documentation

    ◆ scip_

    SCIP* scip::ObjBenderscut::scip_

    SCIP data structure

    Definition at line 62 of file objbenderscut.h.

    Referenced by ObjBenderscut(), SCIPincludeObjBenderscut(), and ~ObjBenderscut().

    ◆ scip_name_

    char* scip::ObjBenderscut::scip_name_

    name of the Benders' decomposition cut

    Definition at line 65 of file objbenderscut.h.

    Referenced by ObjBenderscut(), SCIPincludeObjBenderscut(), and ~ObjBenderscut().

    ◆ scip_desc_

    char* scip::ObjBenderscut::scip_desc_

    description of the Benders' decomposition cut

    Definition at line 68 of file objbenderscut.h.

    Referenced by ObjBenderscut(), SCIPincludeObjBenderscut(), and ~ObjBenderscut().

    ◆ scip_priority_

    const int scip::ObjBenderscut::scip_priority_

    the priority of the Benders' decomposition cut

    Definition at line 71 of file objbenderscut.h.

    Referenced by SCIPincludeObjBenderscut().

    ◆ scip_islpcut_

    const SCIP_Bool scip::ObjBenderscut::scip_islpcut_

    is the Benders' decomposition cut generated from the LP relaxation of the subproblem

    Definition at line 74 of file objbenderscut.h.

    Referenced by SCIPincludeObjBenderscut().