Detailed Description
methods for presolver plugins
Modules | |
Special Methods | |
methods commonly used for presolving | |
Function Documentation
◆ SCIP_DECL_SORTPTRCOMP() [1/2]
SCIP_EXPORT SCIP_DECL_SORTPTRCOMP | ( | SCIPpresolComp | ) |
◆ SCIP_DECL_SORTPTRCOMP() [2/2]
SCIP_EXPORT SCIP_DECL_SORTPTRCOMP | ( | SCIPpresolCompName | ) |
comparison method for sorting presolvers w.r.t. to their name
Definition at line 54 of file presol.c.
References SCIPpresolGetName().
◆ SCIPpresolGetData()
SCIP_EXPORT SCIP_PRESOLDATA* SCIPpresolGetData | ( | SCIP_PRESOL * | presol | ) |
gets user data of presolver
- Parameters
-
presol presolver
Definition at line 503 of file presol.c.
References NULL, and SCIP_Presol::presoldata.
Referenced by SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXIT(), SCIP_DECL_PRESOLEXITPRE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLINIT(), SCIP_DECL_PRESOLINITPRE(), SCIPfindObjPresol(), SCIPgetObjPresol(), and SCIPincludePresolMILP().
◆ SCIPpresolSetData()
SCIP_EXPORT void SCIPpresolSetData | ( | SCIP_PRESOL * | presol, |
SCIP_PRESOLDATA * | presoldata | ||
) |
sets user data of presolver; user has to free old data in advance!
- Parameters
-
presol presolver presoldata new presolver user data
Definition at line 513 of file presol.c.
References NULL, and SCIP_Presol::presoldata.
Referenced by SCIP_DECL_PRESOLFREE(), and SCIPincludePresolMILP().
◆ SCIPpresolGetName()
SCIP_EXPORT const char* SCIPpresolGetName | ( | SCIP_PRESOL * | presol | ) |
gets name of presolver
- Parameters
-
presol presolver
Definition at line 590 of file presol.c.
References SCIP_Presol::name, and NULL.
Referenced by paramsetSetPresolvingAggressive(), paramsetSetPresolvingDefault(), paramsetSetPresolvingOff(), presolveRound(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPpresolCopyInclude(), SCIPprintPresolverStatistics(), and SCIPsetFindConflicthdlr().
◆ SCIPpresolGetDesc()
SCIP_EXPORT const char* SCIPpresolGetDesc | ( | SCIP_PRESOL * | presol | ) |
gets description of presolver
- Parameters
-
presol presolver
Definition at line 600 of file presol.c.
References SCIP_Presol::desc, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
◆ SCIPpresolGetPriority()
SCIP_EXPORT int SCIPpresolGetPriority | ( | SCIP_PRESOL * | presol | ) |
gets priority of presolver
- Parameters
-
presol presolver
Definition at line 610 of file presol.c.
References NULL, and SCIP_Presol::priority.
Referenced by presolveRound(), and SCIP_DECL_DIALOGEXEC().
◆ SCIPpresolGetMaxrounds()
SCIP_EXPORT int SCIPpresolGetMaxrounds | ( | SCIP_PRESOL * | presol | ) |
gets round limit of presolver
- Parameters
-
presol presolver
Definition at line 620 of file presol.c.
References SCIP_Presol::maxrounds, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC().
◆ SCIPpresolGetTiming()
SCIP_EXPORT SCIP_PRESOLTIMING SCIPpresolGetTiming | ( | SCIP_PRESOL * | presol | ) |
gets the timing mask of the presolver
- Parameters
-
presol presolver
Definition at line 644 of file presol.c.
References NULL, and SCIP_Presol::timing.
Referenced by SCIP_DECL_DIALOGEXEC().
◆ SCIPpresolSetTiming()
SCIP_EXPORT void SCIPpresolSetTiming | ( | SCIP_PRESOL * | presol, |
SCIP_PRESOLTIMING | timing | ||
) |
sets the timing mask of the presolver
- Parameters
-
presol presolver timing timing mask of the presolver
Definition at line 654 of file presol.c.
References NULL, and SCIP_Presol::timing.
◆ SCIPpresolIsInitialized()
SCIP_EXPORT SCIP_Bool SCIPpresolIsInitialized | ( | SCIP_PRESOL * | presol | ) |
is presolver initialized?
- Parameters
-
presol presolver
Definition at line 666 of file presol.c.
References SCIP_Presol::initialized, and NULL.
◆ SCIPpresolGetSetupTime()
SCIP_EXPORT SCIP_Real SCIPpresolGetSetupTime | ( | SCIP_PRESOL * | presol | ) |
gets time in seconds used in this presolver for setting up for next stages
- Parameters
-
presol presolver
Definition at line 688 of file presol.c.
References NULL, SCIPclockGetTime(), and SCIP_Presol::setuptime.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetTime()
SCIP_EXPORT SCIP_Real SCIPpresolGetTime | ( | SCIP_PRESOL * | presol | ) |
gets time in seconds used in this presolver
- Parameters
-
presol presolver
Definition at line 698 of file presol.c.
References NULL, SCIP_Presol::presolclock, and SCIPclockGetTime().
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetNFixedVars()
SCIP_EXPORT int SCIPpresolGetNFixedVars | ( | SCIP_PRESOL * | presol | ) |
gets number of variables fixed in presolver
- Parameters
-
presol presolver
Definition at line 708 of file presol.c.
References SCIP_Presol::nfixedvars, and NULL.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetNAggrVars()
SCIP_EXPORT int SCIPpresolGetNAggrVars | ( | SCIP_PRESOL * | presol | ) |
gets number of variables aggregated in presolver
- Parameters
-
presol presolver
Definition at line 718 of file presol.c.
References SCIP_Presol::naggrvars, and NULL.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetNChgVarTypes()
SCIP_EXPORT int SCIPpresolGetNChgVarTypes | ( | SCIP_PRESOL * | presol | ) |
gets number of variable types changed in presolver
- Parameters
-
presol presolver
Definition at line 728 of file presol.c.
References SCIP_Presol::nchgvartypes, and NULL.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetNChgBds()
SCIP_EXPORT int SCIPpresolGetNChgBds | ( | SCIP_PRESOL * | presol | ) |
gets number of bounds changed in presolver
- Parameters
-
presol presolver
Definition at line 738 of file presol.c.
References SCIP_Presol::nchgbds, and NULL.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetNAddHoles()
SCIP_EXPORT int SCIPpresolGetNAddHoles | ( | SCIP_PRESOL * | presol | ) |
gets number of holes added to domains of variables in presolver
- Parameters
-
presol presolver
Definition at line 748 of file presol.c.
References SCIP_Presol::naddholes, and NULL.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetNDelConss()
SCIP_EXPORT int SCIPpresolGetNDelConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints deleted in presolver
- Parameters
-
presol presolver
Definition at line 758 of file presol.c.
References SCIP_Presol::ndelconss, and NULL.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetNAddConss()
SCIP_EXPORT int SCIPpresolGetNAddConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints added in presolver
- Parameters
-
presol presolver
Definition at line 768 of file presol.c.
References SCIP_Presol::naddconss, and NULL.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetNUpgdConss()
SCIP_EXPORT int SCIPpresolGetNUpgdConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints upgraded in presolver
- Parameters
-
presol presolver
Definition at line 778 of file presol.c.
References NULL, and SCIP_Presol::nupgdconss.
◆ SCIPpresolGetNChgCoefs()
SCIP_EXPORT int SCIPpresolGetNChgCoefs | ( | SCIP_PRESOL * | presol | ) |
gets number of coefficients changed in presolver
- Parameters
-
presol presolver
Definition at line 788 of file presol.c.
References SCIP_Presol::nchgcoefs, and NULL.
Referenced by SCIP_DECL_PRESOLEXEC(), and SCIPprintPresolverStatistics().
◆ SCIPpresolGetNChgSides()
SCIP_EXPORT int SCIPpresolGetNChgSides | ( | SCIP_PRESOL * | presol | ) |
gets number of constraint sides changed in presolver
- Parameters
-
presol presolver
Definition at line 798 of file presol.c.
References SCIP_Presol::nchgsides, and NULL.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPpresolGetNCalls()
SCIP_EXPORT int SCIPpresolGetNCalls | ( | SCIP_PRESOL * | presol | ) |
gets number of times the presolver was called and tried to find reductions
- Parameters
-
presol presolver
Definition at line 808 of file presol.c.
References SCIP_Presol::ncalls, and NULL.
Referenced by SCIPprintPresolverStatistics().
◆ SCIPincludePresol()
SCIP_EXPORT SCIP_RETCODE SCIPincludePresol | ( | SCIP * | scip, |
const char * | name, | ||
const char * | desc, | ||
int | priority, | ||
int | maxrounds, | ||
SCIP_PRESOLTIMING | timing, | ||
SCIP_DECL_PRESOLCOPY((*presolcopy)) | , | ||
SCIP_DECL_PRESOLFREE((*presolfree)) | , | ||
SCIP_DECL_PRESOLINIT((*presolinit)) | , | ||
SCIP_DECL_PRESOLEXIT((*presolexit)) | , | ||
SCIP_DECL_PRESOLINITPRE((*presolinitpre)) | , | ||
SCIP_DECL_PRESOLEXITPRE((*presolexitpre)) | , | ||
SCIP_DECL_PRESOLEXEC((*presolexec)) | , | ||
SCIP_PRESOLDATA * | presoldata | ||
) |
creates a presolver and includes it in SCIP
- Note
- method has all presolver callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludePresolBasic() and setter functions if you seek for a method which is less likely to change in future releases
creates a presolver and includes it in SCIP.
- Note
- method has all presolver callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludePresolBasic() and setter functions if you seek for a method which is less likely to change in future releases
- Parameters
-
scip SCIP data structure name name of presolver desc description of presolver priority priority of the presolver (>= 0: before, < 0: after constraint handlers) maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit) timing timing mask of the presolver presoldata presolver data
Definition at line 52 of file scip_presol.c.
References FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPfindPresol(), SCIPpresolCreate(), SCIPsetIncludePresol(), Scip::set, SCIP_Mem::setmem, and TRUE.
Referenced by SCIPincludeObjPresol().
◆ SCIPincludePresolBasic()
SCIP_EXPORT SCIP_RETCODE SCIPincludePresolBasic | ( | SCIP * | scip, |
SCIP_PRESOL ** | presolptr, | ||
const char * | name, | ||
const char * | desc, | ||
int | priority, | ||
int | maxrounds, | ||
SCIP_PRESOLTIMING | timing, | ||
SCIP_DECL_PRESOLEXEC((*presolexec)) | , | ||
SCIP_PRESOLDATA * | presoldata | ||
) |
Creates a presolver and includes it in SCIP with its fundamental callback. All non-fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions. These are SCIPsetPresolCopy(), SCIPsetPresolFree(), SCIPsetPresolInit(), SCIPsetPresolExit(), SCIPsetPresolInitpre(), and SCIPsetPresolExitPre().
- Note
- if you want to set all callbacks with a single method call, consider using SCIPincludePresol() instead
creates a presolver and includes it in SCIP with its fundamental callback. All non-fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions. These are SCIPsetPresolCopy(), SCIPsetPresolFree(), SCIPsetPresolInit(), SCIPsetPresolExit(), SCIPsetPresolInitpre(), and SCIPsetPresolExitPre().
- Note
- if you want to set all callbacks with a single method call, consider using SCIPincludePresol() instead
- Parameters
-
scip SCIP data structure presolptr reference to presolver, or NULL name name of presolver desc description of presolver priority priority of the presolver (>= 0: before, < 0: after constraint handlers) maxrounds maximal number of presolving rounds the presolver participates in (-1: no limit) timing timing mask of the presolver presoldata presolver data
Definition at line 95 of file scip_presol.c.
References FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPfindPresol(), SCIPpresolCreate(), SCIPsetIncludePresol(), Scip::set, SCIP_Mem::setmem, and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualagg(), SCIPincludePresolDualcomp(), SCIPincludePresolDualinfer(), SCIPincludePresolDualsparsify(), SCIPincludePresolImplics(), SCIPincludePresolInttobinary(), SCIPincludePresolMILP(), SCIPincludePresolQPKKTref(), SCIPincludePresolRedvub(), SCIPincludePresolSparsify(), SCIPincludePresolStuffing(), SCIPincludePresolTrivial(), and SCIPincludePresolTworowbnd().
◆ SCIPsetPresolCopy()
SCIP_EXPORT SCIP_RETCODE SCIPsetPresolCopy | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLCOPY((*presolcopy)) | |||
) |
sets copy method of presolver
- Parameters
-
scip SCIP data structure presol presolver
Definition at line 130 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetCopy(), and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualcomp(), SCIPincludePresolDualinfer(), SCIPincludePresolDualsparsify(), SCIPincludePresolImplics(), SCIPincludePresolInttobinary(), SCIPincludePresolMILP(), SCIPincludePresolQPKKTref(), SCIPincludePresolSparsify(), SCIPincludePresolStuffing(), SCIPincludePresolTrivial(), and SCIPincludePresolTworowbnd().
◆ SCIPsetPresolFree()
SCIP_EXPORT SCIP_RETCODE SCIPsetPresolFree | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLFREE((*presolfree)) | |||
) |
sets destructor method of presolver
- Parameters
-
scip SCIP data structure presol presolver
Definition at line 146 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetFree(), and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualcomp(), SCIPincludePresolDualinfer(), SCIPincludePresolDualsparsify(), SCIPincludePresolMILP(), SCIPincludePresolQPKKTref(), SCIPincludePresolSparsify(), and SCIPincludePresolTworowbnd().
◆ SCIPsetPresolInit()
SCIP_EXPORT SCIP_RETCODE SCIPsetPresolInit | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLINIT((*presolinit)) | |||
) |
sets initialization method of presolver
- Parameters
-
scip SCIP data structure presol presolver
Definition at line 162 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetInit(), and TRUE.
Referenced by SCIPincludePresolDualsparsify(), SCIPincludePresolMILP(), SCIPincludePresolSparsify(), and SCIPincludePresolTworowbnd().
◆ SCIPsetPresolExit()
SCIP_EXPORT SCIP_RETCODE SCIPsetPresolExit | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLEXIT((*presolexit)) | |||
) |
sets deinitialization method of presolver
- Parameters
-
scip SCIP data structure presol presolver
Definition at line 178 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExit(), and TRUE.
◆ SCIPsetPresolInitpre()
SCIP_EXPORT SCIP_RETCODE SCIPsetPresolInitpre | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLINITPRE((*presolinitpre)) | |||
) |
sets solving process initialization method of presolver
- Parameters
-
scip SCIP data structure presol presolver
Definition at line 194 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetInitpre(), and TRUE.
◆ SCIPsetPresolExitpre()
SCIP_RETCODE SCIPsetPresolExitpre | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLEXITPRE((*presolexitpre)) | |||
) |
sets solving process deinitialization method of presolver
- Parameters
-
scip SCIP data structure presol presolver
Definition at line 210 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExitpre(), and TRUE.
◆ SCIPfindPresol()
SCIP_EXPORT SCIP_PRESOL* SCIPfindPresol | ( | SCIP * | scip, |
const char * | name | ||
) |
returns the presolver of the given name, or NULL if not existing
- Parameters
-
scip SCIP data structure name name of presolver
Definition at line 226 of file scip_presol.c.
References NULL, SCIPsetFindPresol(), and Scip::set.
Referenced by SCIPcopyConcurrentSolvingStats(), SCIPfindObjPresol(), SCIPincludePresol(), and SCIPincludePresolBasic().
◆ SCIPgetPresols()
SCIP_EXPORT SCIP_PRESOL** SCIPgetPresols | ( | SCIP * | scip | ) |
returns the array of currently available presolvers
- Parameters
-
scip SCIP data structure
Definition at line 239 of file scip_presol.c.
References NULL, SCIP_Set::presols, SCIPsetSortPresols(), and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
◆ SCIPgetNPresols()
SCIP_EXPORT int SCIPgetNPresols | ( | SCIP * | scip | ) |
returns the number of currently available presolvers
- Parameters
-
scip SCIP data structure
Definition at line 252 of file scip_presol.c.
References SCIP_Set::npresols, NULL, and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
◆ SCIPsetPresolPriority()
SCIP_EXPORT SCIP_RETCODE SCIPsetPresolPriority | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
int | priority | ||
) |
sets the priority of a presolver
- Parameters
-
scip SCIP data structure presol presolver priority new priority of the presolver
Definition at line 263 of file scip_presol.c.
References NULL, SCIP_OKAY, SCIPpresolSetPriority(), and Scip::set.
Referenced by SCIP_DECL_PARAMCHGD().