Scippy

    SCIP

    Solving Constraint Integer Programs

    type_relax.h File Reference

    Detailed Description

    type definitions for relaxators

    Author
    Tobias Achterberg

    Definition in file type_relax.h.

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

    Go to the source code of this file.

    Macros

    #define SCIP_DECL_RELAXCOPY(x)   SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)
     
    #define SCIP_DECL_RELAXFREE(x)   SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)
     
    #define SCIP_DECL_RELAXINIT(x)   SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)
     
    #define SCIP_DECL_RELAXEXIT(x)   SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)
     
    #define SCIP_DECL_RELAXINITSOL(x)   SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)
     
    #define SCIP_DECL_RELAXEXITSOL(x)   SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)
     
    #define SCIP_DECL_RELAXEXEC(x)   SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax, SCIP_Real* lowerbound, SCIP_RESULT* result)
     

    Typedefs

    typedef struct SCIP_Relax SCIP_RELAX
     
    typedef struct SCIP_Relaxation SCIP_RELAXATION
     
    typedef struct SCIP_RelaxData SCIP_RELAXDATA
     

    Macro Definition Documentation

    ◆ SCIP_DECL_RELAXCOPY

    #define SCIP_DECL_RELAXCOPY (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)

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

    input:

    • scip : SCIP main data structure
    • relax : the relaxator itself

    Definition at line 61 of file type_relax.h.

    ◆ SCIP_DECL_RELAXFREE

    #define SCIP_DECL_RELAXFREE (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)

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

    input:

    • scip : SCIP main data structure
    • relax : the relaxator itself

    Definition at line 69 of file type_relax.h.

    ◆ SCIP_DECL_RELAXINIT

    #define SCIP_DECL_RELAXINIT (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)

    initialization method of relaxator (called after problem was transformed)

    input:

    • scip : SCIP main data structure
    • relax : the relaxator itself

    Definition at line 77 of file type_relax.h.

    ◆ SCIP_DECL_RELAXEXIT

    #define SCIP_DECL_RELAXEXIT (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)

    deinitialization method of relaxator (called before transformed problem is freed)

    input:

    • scip : SCIP main data structure
    • relax : the relaxator itself

    Definition at line 85 of file type_relax.h.

    ◆ SCIP_DECL_RELAXINITSOL

    #define SCIP_DECL_RELAXINITSOL (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)

    solving process initialization method of relaxator (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 relaxator may use this call to initialize its branch and bound specific data.

    input:

    • scip : SCIP main data structure
    • relax : the relaxator itself

    Definition at line 96 of file type_relax.h.

    ◆ SCIP_DECL_RELAXEXITSOL

    #define SCIP_DECL_RELAXEXITSOL (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax)

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

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

    input:

    • scip : SCIP main data structure
    • relax : the relaxator itself

    Definition at line 107 of file type_relax.h.

    ◆ SCIP_DECL_RELAXEXEC

    #define SCIP_DECL_RELAXEXEC (   x)    SCIP_RETCODE x (SCIP* scip, SCIP_RELAX* relax, SCIP_Real* lowerbound, SCIP_RESULT* result)

    execution method of relaxator

    The method is called in the node processing loop. It solves the current subproblem's relaxation. Like the LP relaxation, the relaxator should only operate on COLUMN variables.

    input:

    • scip : SCIP main data structure
    • relax : the relaxator itself
    • lowerbound : pointer to store a lowerbound for the current node
    • result : pointer to store the result of the relaxation call

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

    • SCIP_CUTOFF : the node is infeasible in the variable's bounds and can be cut off
    • SCIP_CONSADDED : an additional constraint was generated, and the relaxator should not be called again on the same relaxation
    • SCIP_REDUCEDDOM : a variable's domain was reduced, and the relaxator should not be called again on the same relaxation
    • SCIP_SEPARATED : a cutting plane was generated, and the relaxator should not be called again on the same relaxation
    • SCIP_SUCCESS : the relaxator solved the relaxation and should not be called again on the same relaxation
    • SCIP_SUSPENDED : the relaxator interrupted its solving process to wait for additional input (e.g. cutting planes); however, it is able to continue the solving in order to improve the dual bound
    • SCIP_DIDNOTRUN : the relaxator was skipped

    Definition at line 132 of file type_relax.h.

    Typedef Documentation

    ◆ SCIP_RELAX

    typedef struct SCIP_Relax SCIP_RELAX

    relaxator

    Definition at line 50 of file type_relax.h.

    ◆ SCIP_RELAXATION

    relaxator

    Definition at line 51 of file type_relax.h.

    ◆ SCIP_RELAXDATA

    typedef struct SCIP_RelaxData SCIP_RELAXDATA

    locally defined relaxator data

    Definition at line 52 of file type_relax.h.