Scippy

    SCIP

    Solving Constraint Integer Programs

    type_cutsel.h File Reference

    Detailed Description

    type definitions for cut selectors

    Author
    Felipe Serrano
    Mark Turner

    Definition in file type_cutsel.h.

    #include "scip/def.h"
    #include "scip/type_retcode.h"
    #include "scip/type_scip.h"
    #include "scip/type_lp.h"
    #include "scip/type_result.h"

    Go to the source code of this file.

    Macros

    #define SCIP_DECL_CUTSELCOPY(x)   SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)
     
    #define SCIP_DECL_CUTSELFREE(x)   SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)
     
    #define SCIP_DECL_CUTSELINIT(x)   SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)
     
    #define SCIP_DECL_CUTSELEXIT(x)   SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)
     
    #define SCIP_DECL_CUTSELINITSOL(x)   SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)
     
    #define SCIP_DECL_CUTSELEXITSOL(x)   SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)
     
    #define SCIP_DECL_CUTSELSELECT(x)
     

    Typedefs

    typedef struct SCIP_Cutsel SCIP_CUTSEL
     
    typedef struct SCIP_CutselData SCIP_CUTSELDATA
     

    Macro Definition Documentation

    ◆ SCIP_DECL_CUTSELCOPY

    #define SCIP_DECL_CUTSELCOPY (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)

    copy method for cut selector plugins (called when SCIP copies plugins)

    input:

    • scip : SCIP main data structure
    • cutsel : the cut selector itself

    Definition at line 62 of file type_cutsel.h.

    ◆ SCIP_DECL_CUTSELFREE

    #define SCIP_DECL_CUTSELFREE (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)

    destructor of cut selector to free user data (called when SCIP is exiting)

    input:

    • scip : SCIP main data structure
    • cutsel : the cut selector itself

    Definition at line 70 of file type_cutsel.h.

    ◆ SCIP_DECL_CUTSELINIT

    #define SCIP_DECL_CUTSELINIT (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)

    initialization method of cut selector (called after problem was transformed)

    input:

    • scip : SCIP main data structure
    • cutsel : the cut selector itself

    Definition at line 78 of file type_cutsel.h.

    ◆ SCIP_DECL_CUTSELEXIT

    #define SCIP_DECL_CUTSELEXIT (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)

    deinitialization method of cut selector (called before transformed problem is freed)

    input:

    • scip : SCIP main data structure
    • cutsel : the cut selector itself

    Definition at line 86 of file type_cutsel.h.

    ◆ SCIP_DECL_CUTSELINITSOL

    #define SCIP_DECL_CUTSELINITSOL (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)

    solving process initialization method of cut selector (called when branch and bound process is about to begin)

    This method is called when the presolving was finished and the branch and bound process is about to begin. The cut selector may use this call to initialize its branch and bound specific data.

    input:

    • scip : SCIP main data structure
    • cutsel : the cut selector itself

    Definition at line 97 of file type_cutsel.h.

    ◆ SCIP_DECL_CUTSELEXITSOL

    #define SCIP_DECL_CUTSELEXITSOL (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel)

    solving process deinitialization method of cut selector (called before branch and bound process data is freed)

    This method is called before the branch and bound process is freed. The cut selector should use this call to clean up its branch and bound data.

    input:

    • scip : SCIP main data structure
    • cutsel : the cut selector itself

    Definition at line 108 of file type_cutsel.h.

    ◆ SCIP_DECL_CUTSELSELECT

    #define SCIP_DECL_CUTSELSELECT (   x)
    Value:
    SCIP_RETCODE x (SCIP* scip, SCIP_CUTSEL* cutsel, SCIP_ROW** cuts, int ncuts, \
    SCIP_ROW** forcedcuts, int nforcedcuts, SCIP_Bool root, int maxnselectedcuts, int* nselectedcuts, SCIP_RESULT* result)
    SCIP_VAR ** x
    Definition: circlepacking.c:63
    #define SCIP_Bool
    Definition: def.h:91
    enum SCIP_Result SCIP_RESULT
    Definition: type_result.h:61
    enum SCIP_Retcode SCIP_RETCODE
    Definition: type_retcode.h:63

    cut selection method of cut selector

    This method is called to select the cuts to be added to the LP. Forcedcuts must not be changed, and cuts should only be re-sorted, with the first nselectedcuts of cuts being chosen. These nselectededcuts are used in addition to the forcedcuts (do not delete nor modify elements, simply resort).

    input:

    • scip : SCIP main data structure
    • cutsel : the cut selector itself
    • cuts : cutting planes to select from
    • ncuts : number of cutting planes to select from (length of cuts)
    • forcedcuts : list of cuts that are forced to be applied (i.e they are going to be selected no matter what)
    • nforcedcuts : number of forced cuts
    • root : are we at the root node?
    • maxselectedcuts : maximum number of cuts that can be selected (upper bound for nselectedcuts)
    • nselectedcuts : the first nselectedcuts from cuts are selected in addition to the nforcedcuts forced cuts
    • result : pointer to store the result of the cut selection call

    possible return values for *result (if more than one applies, the first in the list should be used):

    • SCIP_SUCCESS : the cut selection succeeded
    • SCIP_DIDNOTFIND : the cut selection did not find good enough cuts to select

    Definition at line 132 of file type_cutsel.h.

    Typedef Documentation

    ◆ SCIP_CUTSEL

    typedef struct SCIP_Cutsel SCIP_CUTSEL

    cut selector data structure

    Definition at line 52 of file type_cutsel.h.

    ◆ SCIP_CUTSELDATA

    typedef struct SCIP_CutselData SCIP_CUTSELDATA

    cut selector specific data

    Definition at line 53 of file type_cutsel.h.