SCIP Doxygen Documentation
Loading...
Searching...
No Matches
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)
#define SCIP_DECL_RELAXFREE(x)
#define SCIP_DECL_RELAXINIT(x)
#define SCIP_DECL_RELAXEXIT(x)
#define SCIP_DECL_RELAXINITSOL(x)
#define SCIP_DECL_RELAXEXITSOL(x)
#define SCIP_DECL_RELAXEXEC(x)

Macro Definition Documentation

◆ SCIP_DECL_RELAXCOPY

#define SCIP_DECL_RELAXCOPY ( x)
Value:
SCIP_VAR ** x
struct SCIP_Relax SCIP_RELAX
Definition type_relax.h:45
enum SCIP_Retcode SCIP_RETCODE
struct Scip SCIP
Definition type_scip.h:39

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

input:

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

Definition at line 56 of file type_relax.h.

Referenced by doRelaxCreate(), SCIPincludeRelax(), SCIPrelaxCreate(), SCIPrelaxSetCopy(), and SCIPsetRelaxCopy().

◆ SCIP_DECL_RELAXFREE

#define SCIP_DECL_RELAXFREE ( x)
Value:

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 64 of file type_relax.h.

Referenced by doRelaxCreate(), SCIPincludeRelax(), SCIPrelaxCreate(), SCIPrelaxSetFree(), and SCIPsetRelaxFree().

◆ SCIP_DECL_RELAXINIT

#define SCIP_DECL_RELAXINIT ( x)
Value:

initialization method of relaxator (called after problem was transformed)

input:

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

Definition at line 72 of file type_relax.h.

Referenced by doRelaxCreate(), SCIPincludeRelax(), SCIPrelaxCreate(), SCIPrelaxSetInit(), and SCIPsetRelaxInit().

◆ SCIP_DECL_RELAXEXIT

#define SCIP_DECL_RELAXEXIT ( x)
Value:

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

input:

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

Definition at line 80 of file type_relax.h.

Referenced by doRelaxCreate(), SCIPincludeRelax(), SCIPrelaxCreate(), SCIPrelaxSetExit(), and SCIPsetRelaxExit().

◆ SCIP_DECL_RELAXINITSOL

#define SCIP_DECL_RELAXINITSOL ( x)
Value:

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 91 of file type_relax.h.

◆ SCIP_DECL_RELAXEXITSOL

#define SCIP_DECL_RELAXEXITSOL ( x)
Value:

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 102 of file type_relax.h.

◆ SCIP_DECL_RELAXEXEC

#define SCIP_DECL_RELAXEXEC ( x)
Value:
#define SCIP_Real
Definition def.h:172
enum SCIP_Result SCIP_RESULT
Definition type_result.h:61

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 127 of file type_relax.h.

Referenced by doRelaxCreate(), SCIPincludeRelax(), SCIPincludeRelaxBasic(), and SCIPrelaxCreate().

Typedef Documentation

◆ SCIP_RELAX

typedef struct SCIP_Relax SCIP_RELAX

relaxator

Definition at line 45 of file type_relax.h.

◆ SCIP_RELAXATION

relaxator

Definition at line 46 of file type_relax.h.

◆ SCIP_RELAXDATA

typedef struct SCIP_RelaxData SCIP_RELAXDATA

locally defined relaxator data

Definition at line 47 of file type_relax.h.