type definitions for presolvers
Definition in file type_presol.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_PRESOLCOPY(x) SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
#define | SCIP_DECL_PRESOLFREE(x) SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
#define | SCIP_DECL_PRESOLINIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
#define | SCIP_DECL_PRESOLEXIT(x) SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
#define | SCIP_DECL_PRESOLINITPRE(x) SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
#define | SCIP_DECL_PRESOLEXITPRE(x) SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
#define | SCIP_DECL_PRESOLEXEC(x) |
Typedefs | |
typedef struct SCIP_Presol | SCIP_PRESOL |
typedef struct SCIP_PresolData | SCIP_PRESOLDATA |
#define SCIP_DECL_PRESOLCOPY | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
copy method for presolver plugins (called when SCIP copies plugins)
input:
Definition at line 46 of file type_presol.h.
#define SCIP_DECL_PRESOLFREE | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
destructor of presolver to free user data (called when SCIP is exiting)
input:
Definition at line 54 of file type_presol.h.
#define SCIP_DECL_PRESOLINIT | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
initialization method of presolver (called after problem was transformed)
input:
Definition at line 62 of file type_presol.h.
#define SCIP_DECL_PRESOLEXIT | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
deinitialization method of presolver (called before transformed problem is freed)
input:
Definition at line 70 of file type_presol.h.
#define SCIP_DECL_PRESOLINITPRE | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
presolving initialization method of presolver (called when presolving is about to begin)
This method is called when the presolving process is about to begin, even if presolving is turned off. The presolver may use this call to initialize its data structures.
Necessary modifications that have to be performed even if presolving is turned off should be done here or in the presolving deinitialization call (SCIP_DECL_PRESOLSEXITPRE()).
input:
Definition at line 84 of file type_presol.h.
#define SCIP_DECL_PRESOLEXITPRE | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_PRESOL* presol) |
presolving deinitialization method of presolver (called after presolving has been finished)
This method is called after the presolving has been finished, even if presolving is turned off. The presolver may use this call e.g. to clean up or modify its data structures.
Necessary modifications that have to be performed even if presolving is turned off should be done here or in the presolving initialization call (SCIP_DECL_PRESOLINITPRE()).
Besides necessary modifications and clean up, no time consuming operations should be performed, especially if the problem has already been solved. Use the method SCIPgetStatus(), which in this case returns SCIP_STATUS_OPTIMAL, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_UNBOUNDED, or SCIP_STATUS_INFORUNBD.
input:
Definition at line 102 of file type_presol.h.
#define SCIP_DECL_PRESOLEXEC | ( | x | ) |
execution method of presolver
The presolver should go through the variables and constraints and tighten the domains or constraints. Each tightening should increase the given total numbers of changes.
input:
input/output:
output:
possible return values for *result:
Definition at line 153 of file type_presol.h.
typedef struct SCIP_Presol SCIP_PRESOL |
presolver data structure
Definition at line 36 of file type_presol.h.
typedef struct SCIP_PresolData SCIP_PRESOLDATA |
presolver specific data
Definition at line 37 of file type_presol.h.