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 53 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 502 of file presol.c.
References NULL, and SCIP_Presol::presoldata.
Referenced by addSymmetryBreakingConstraints(), addSymresackConss(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXIT(), SCIP_DECL_PRESOLEXITPRE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLINIT(), SCIP_DECL_PRESOLINITPRE(), SCIPfindObjPresol(), SCIPgetGeneratorsSymmetry(), SCIPgetObjPresol(), SCIPgetPermvarsObjSymmetry(), and tryAddSymmetryHandlingConss().
◆ 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 512 of file presol.c.
References NULL, and SCIP_Presol::presoldata.
Referenced by SCIP_DECL_PRESOLFREE().
◆ SCIPpresolGetName()
SCIP_EXPORT const char* SCIPpresolGetName | ( | SCIP_PRESOL * | presol | ) |
gets name of presolver
- Parameters
-
presol presolver
Definition at line 589 of file presol.c.
References SCIP_Presol::name, and NULL.
Referenced by paramsetSetPresolvingDefault(), paramsetSetPresolvingOff(), presolveRound(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXIT(), SCIP_DECL_PRESOLEXITPRE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLINIT(), SCIP_DECL_SORTPTRCOMP(), SCIPcopyConcurrentSolvingStats(), SCIPgetGeneratorsSymmetry(), SCIPgetPermvarsObjSymmetry(), 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 599 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 609 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 619 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 643 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 653 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 665 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 687 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 697 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 707 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 717 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 727 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 737 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 747 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 757 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 767 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 777 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 787 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 797 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 807 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 51 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 94 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(), SCIPincludePresolImplics(), SCIPincludePresolInttobinary(), SCIPincludePresolQPKKTref(), SCIPincludePresolRedvub(), SCIPincludePresolSparsify(), SCIPincludePresolStuffing(), SCIPincludePresolSymbreak(), SCIPincludePresolSymmetry(), 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 129 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetCopy(), and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualcomp(), SCIPincludePresolDualinfer(), SCIPincludePresolImplics(), SCIPincludePresolInttobinary(), 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 145 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetFree(), and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualcomp(), SCIPincludePresolQPKKTref(), SCIPincludePresolSparsify(), SCIPincludePresolSymbreak(), and SCIPincludePresolSymmetry().
◆ 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 161 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetInit(), and TRUE.
Referenced by SCIPincludePresolSparsify(), SCIPincludePresolSymbreak(), and SCIPincludePresolSymmetry().
◆ 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 177 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExit(), and TRUE.
Referenced by SCIPincludePresolSymbreak(), and SCIPincludePresolSymmetry().
◆ 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 193 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetInitpre(), and TRUE.
Referenced by SCIPincludePresolSymbreak().
◆ 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 209 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExitpre(), and TRUE.
Referenced by SCIPincludePresolSymbreak().
◆ 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 225 of file scip_presol.c.
References NULL, SCIPsetFindPresol(), and Scip::set.
Referenced by SCIPcopyConcurrentSolvingStats(), SCIPfindObjPresol(), SCIPgetGeneratorsSymmetry(), SCIPgetPermvarsObjSymmetry(), 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 238 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 251 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 262 of file scip_presol.c.
References NULL, SCIP_OKAY, SCIPpresolSetPriority(), and Scip::set.
Referenced by SCIP_DECL_PARAMCHGD().