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 53 of file presol.c.
References SCIPpresolGetName().
◆ SCIPpresolGetData()
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()
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()
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()
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()
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()
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_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()
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_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_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_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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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_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 131 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 174 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_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 209 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_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 225 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_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 241 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetInit(), and TRUE.
Referenced by SCIPincludePresolSparsify(), SCIPincludePresolSymbreak(), and SCIPincludePresolSymmetry().
◆ 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 257 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExit(), and TRUE.
Referenced by SCIPincludePresolSymbreak(), and SCIPincludePresolSymmetry().
◆ 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 273 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 289 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExitpre(), and TRUE.
Referenced by SCIPincludePresolSymbreak().
◆ 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 305 of file scip_presol.c.
References NULL, SCIPsetFindPresol(), and Scip::set.
Referenced by SCIPcopyConcurrentSolvingStats(), SCIPfindObjPresol(), SCIPgetGeneratorsSymmetry(), SCIPgetPermvarsObjSymmetry(), SCIPincludePresol(), and SCIPincludePresolBasic().
◆ SCIPgetPresols()
SCIP_PRESOL** SCIPgetPresols | ( | SCIP * | scip | ) |
returns the array of currently available presolvers
- Parameters
-
scip SCIP data structure
Definition at line 318 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 331 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 342 of file scip_presol.c.
References NULL, SCIP_OKAY, SCIPpresolSetPriority(), and Scip::set.
Referenced by SCIP_DECL_PARAMCHGD().