Detailed Description
methods for presolver plugins
Modules | |
Special Methods | |
methods commonly used for presolving | |
Function Documentation
◆ SCIP_DECL_SORTPTRCOMP() [1/2]
SCIP_DECL_SORTPTRCOMP | ( | SCIPpresolComp | ) |
◆ SCIP_DECL_SORTPTRCOMP() [2/2]
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_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()
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()
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(), and SCIPprintPresolverStatistics().
◆ SCIPpresolGetDesc()
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()
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()
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_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()
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_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_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_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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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_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 53 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_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 96 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_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 131 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_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 147 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_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 163 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_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 179 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExit(), and TRUE.
◆ SCIPsetPresolInitpre()
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 195 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 211 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExitpre(), and TRUE.
◆ SCIPfindPresol()
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 227 of file scip_presol.c.
References NULL, SCIPsetFindPresol(), and Scip::set.
Referenced by SCIPcopyConcurrentSolvingStats(), SCIPfindObjPresol(), SCIPincludePresol(), and SCIPincludePresolBasic().
◆ SCIPgetPresols()
SCIP_PRESOL** SCIPgetPresols | ( | SCIP * | scip | ) |
returns the array of currently available presolvers
- Parameters
-
scip SCIP data structure
Definition at line 240 of file scip_presol.c.
References NULL, SCIP_Set::presols, SCIPsetSortPresols(), and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
◆ SCIPgetNPresols()
int SCIPgetNPresols | ( | SCIP * | scip | ) |
returns the number of currently available presolvers
- Parameters
-
scip SCIP data structure
Definition at line 253 of file scip_presol.c.
References SCIP_Set::npresols, NULL, and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
◆ SCIPsetPresolPriority()
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 264 of file scip_presol.c.
References NULL, SCIP_OKAY, SCIPpresolSetPriority(), and Scip::set.
Referenced by SCIP_DECL_PARAMCHGD().
◆ SCIPgetNPresolRounds()
int SCIPgetNPresolRounds | ( | SCIP * | scip | ) |
returns the number of presolve rounds (current or last presolve)
- Parameters
-
scip SCIP data structure
Definition at line 279 of file scip_presol.c.
References SCIP_Stat::npresolrounds, NULL, and Scip::stat.
Referenced by solveSubNLP().