methods for presolver plugins
Topics | |
Special Methods | |
methods commonly used for presolving | |
SCIP_DECL_SORTPTRCOMP | ( | SCIPpresolComp | ) |
SCIP_DECL_SORTPTRCOMP | ( | SCIPpresolCompName | ) |
comparison method for sorting presolvers w.r.t. to their name
Definition at line 63 of file presol.c.
References SCIPpresolGetName().
SCIP_PRESOLDATA * SCIPpresolGetData | ( | SCIP_PRESOL * | presol | ) |
gets user data of presolver
presol | presolver |
Definition at line 512 of file presol.c.
References assert(), NULL, and SCIP_Presol::presoldata.
Referenced by SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXIT(), SCIP_DECL_PRESOLEXIT(), SCIP_DECL_PRESOLEXITPRE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLINIT(), SCIP_DECL_PRESOLINIT(), SCIP_DECL_PRESOLINIT(), SCIP_DECL_PRESOLINIT(), SCIP_DECL_PRESOLINITPRE(), SCIPfindObjPresol(), and SCIPgetObjPresol().
void SCIPpresolSetData | ( | SCIP_PRESOL * | presol, |
SCIP_PRESOLDATA * | presoldata ) |
sets user data of presolver; user has to free old data in advance!
presol | presolver |
presoldata | new presolver user data |
Definition at line 522 of file presol.c.
References assert(), NULL, and SCIP_Presol::presoldata.
Referenced by SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), SCIP_DECL_PRESOLFREE(), and SCIP_DECL_PRESOLFREE().
const char * SCIPpresolGetName | ( | SCIP_PRESOL * | presol | ) |
gets name of presolver
presol | presolver |
Definition at line 599 of file presol.c.
References assert(), SCIP_Presol::name, and NULL.
Referenced by paramsetSetPresolvingAggressive(), paramsetSetPresolvingDefault(), paramsetSetPresolvingOff(), presolveRound(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPpresolCopyInclude(), and SCIPprintPresolverStatistics().
const char * SCIPpresolGetDesc | ( | SCIP_PRESOL * | presol | ) |
gets description of presolver
presol | presolver |
Definition at line 609 of file presol.c.
References assert(), SCIP_Presol::desc, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
int SCIPpresolGetPriority | ( | SCIP_PRESOL * | presol | ) |
gets priority of presolver
presol | presolver |
Definition at line 619 of file presol.c.
References assert(), NULL, and SCIP_Presol::priority.
Referenced by presolveRound(), and SCIP_DECL_DIALOGEXEC().
int SCIPpresolGetMaxrounds | ( | SCIP_PRESOL * | presol | ) |
gets round limit of presolver
presol | presolver |
Definition at line 629 of file presol.c.
References assert(), SCIP_Presol::maxrounds, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC().
SCIP_PRESOLTIMING SCIPpresolGetTiming | ( | SCIP_PRESOL * | presol | ) |
gets the timing mask of the presolver
presol | presolver |
Definition at line 653 of file presol.c.
References assert(), NULL, and SCIP_Presol::timing.
Referenced by SCIP_DECL_DIALOGEXEC().
void SCIPpresolSetTiming | ( | SCIP_PRESOL * | presol, |
SCIP_PRESOLTIMING | timing ) |
sets the timing mask of the presolver
presol | presolver |
timing | timing mask of the presolver |
Definition at line 663 of file presol.c.
References assert(), NULL, and SCIP_Presol::timing.
SCIP_Bool SCIPpresolIsInitialized | ( | SCIP_PRESOL * | presol | ) |
SCIP_Real SCIPpresolGetSetupTime | ( | SCIP_PRESOL * | presol | ) |
gets time in seconds used in this presolver for setting up for next stages
presol | presolver |
Definition at line 697 of file presol.c.
References assert(), NULL, SCIP_Real, SCIPclockGetTime(), and SCIP_Presol::setuptime.
Referenced by SCIPprintPresolverStatistics().
SCIP_Real SCIPpresolGetTime | ( | SCIP_PRESOL * | presol | ) |
gets time in seconds used in this presolver
presol | presolver |
Definition at line 707 of file presol.c.
References assert(), NULL, SCIP_Presol::presolclock, SCIP_Real, and SCIPclockGetTime().
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNFixedVars | ( | SCIP_PRESOL * | presol | ) |
gets number of variables fixed in presolver
presol | presolver |
Definition at line 717 of file presol.c.
References assert(), SCIP_Presol::nfixedvars, and NULL.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNAggrVars | ( | SCIP_PRESOL * | presol | ) |
gets number of variables aggregated in presolver
presol | presolver |
Definition at line 727 of file presol.c.
References assert(), SCIP_Presol::naggrvars, and NULL.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNChgVarTypes | ( | SCIP_PRESOL * | presol | ) |
gets number of variable types changed in presolver
presol | presolver |
Definition at line 737 of file presol.c.
References assert(), SCIP_Presol::nchgvartypes, and NULL.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNChgBds | ( | SCIP_PRESOL * | presol | ) |
gets number of bounds changed in presolver
presol | presolver |
Definition at line 747 of file presol.c.
References assert(), SCIP_Presol::nchgbds, and NULL.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNAddHoles | ( | SCIP_PRESOL * | presol | ) |
gets number of holes added to domains of variables in presolver
presol | presolver |
Definition at line 757 of file presol.c.
References assert(), SCIP_Presol::naddholes, and NULL.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNDelConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints deleted in presolver
presol | presolver |
Definition at line 767 of file presol.c.
References assert(), SCIP_Presol::ndelconss, and NULL.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNAddConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints added in presolver
presol | presolver |
Definition at line 777 of file presol.c.
References assert(), SCIP_Presol::naddconss, and NULL.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNUpgdConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints upgraded in presolver
presol | presolver |
Definition at line 787 of file presol.c.
References assert(), NULL, and SCIP_Presol::nupgdconss.
int SCIPpresolGetNChgCoefs | ( | SCIP_PRESOL * | presol | ) |
gets number of coefficients changed in presolver
presol | presolver |
Definition at line 797 of file presol.c.
References assert(), SCIP_Presol::nchgcoefs, and NULL.
Referenced by SCIP_DECL_PRESOLEXEC(), and SCIPprintPresolverStatistics().
int SCIPpresolGetNChgSides | ( | SCIP_PRESOL * | presol | ) |
gets number of constraint sides changed in presolver
presol | presolver |
Definition at line 807 of file presol.c.
References assert(), SCIP_Presol::nchgsides, and NULL.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNCalls | ( | SCIP_PRESOL * | presol | ) |
gets number of times the presolver was called and tried to find reductions
presol | presolver |
Definition at line 817 of file presol.c.
References assert(), SCIP_Presol::ncalls, and NULL.
Referenced by SCIPprintPresolverStatistics().
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
creates a presolver and includes it in SCIP.
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 66 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_DECL_PRESOLCOPY, SCIP_DECL_PRESOLEXEC, SCIP_DECL_PRESOLEXIT, SCIP_DECL_PRESOLFREE, SCIP_DECL_PRESOLINIT, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPfindPresol(), SCIPpresolCreate(), SCIPsetIncludePresol(), and TRUE.
Referenced by SCIPincludeObjPresol().
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().
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().
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 113 of file scip_presol.c.
References FALSE, NULL, SCIP_CALL, SCIP_DECL_PRESOLEXEC, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPfindPresol(), SCIPpresolCreate(), SCIPsetIncludePresol(), and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualagg(), SCIPincludePresolDualcomp(), SCIPincludePresolDualinfer(), SCIPincludePresolDualsparsify(), SCIPincludePresolGateextraction(), SCIPincludePresolImplics(), SCIPincludePresolInttobinary(), SCIPincludePresolQPKKTref(), SCIPincludePresolRedvub(), SCIPincludePresolSparsify(), SCIPincludePresolStuffing(), SCIPincludePresolTrivial(), and SCIPincludePresolTworowbnd().
SCIP_RETCODE SCIPsetPresolCopy | ( | SCIP * | scip, |
SCIP_PRESOL * | presol ) |
sets copy method of presolver
scip | SCIP data structure |
presol | presolver copy method of presolver or NULL if you don't want to copy your plugin into sub-SCIPs |
Definition at line 148 of file scip_presol.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRESOLCOPY, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetCopy(), and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualagg(), SCIPincludePresolDualcomp(), SCIPincludePresolDualinfer(), SCIPincludePresolDualsparsify(), SCIPincludePresolGateextraction(), SCIPincludePresolImplics(), SCIPincludePresolInttobinary(), SCIPincludePresolQPKKTref(), SCIPincludePresolRedvub(), SCIPincludePresolSparsify(), SCIPincludePresolStuffing(), SCIPincludePresolTrivial(), and SCIPincludePresolTworowbnd().
SCIP_RETCODE SCIPsetPresolFree | ( | SCIP * | scip, |
SCIP_PRESOL * | presol ) |
sets destructor method of presolver
scip | SCIP data structure |
presol | presolver destructor of presolver |
Definition at line 164 of file scip_presol.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRESOLFREE, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetFree(), and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualcomp(), SCIPincludePresolDualinfer(), SCIPincludePresolDualsparsify(), SCIPincludePresolGateextraction(), SCIPincludePresolQPKKTref(), SCIPincludePresolSparsify(), and SCIPincludePresolTworowbnd().
SCIP_RETCODE SCIPsetPresolInit | ( | SCIP * | scip, |
SCIP_PRESOL * | presol ) |
sets initialization method of presolver
scip | SCIP data structure |
presol | presolver initialize presolver |
Definition at line 180 of file scip_presol.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRESOLINIT, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetInit(), and TRUE.
Referenced by SCIPincludePresolDualsparsify(), SCIPincludePresolSparsify(), and SCIPincludePresolTworowbnd().
SCIP_RETCODE SCIPsetPresolExit | ( | SCIP * | scip, |
SCIP_PRESOL * | presol ) |
sets deinitialization method of presolver
scip | SCIP data structure |
presol | presolver deinitialize presolver |
Definition at line 196 of file scip_presol.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRESOLEXIT, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExit(), and TRUE.
Referenced by SCIPincludePresolGateextraction().
SCIP_RETCODE SCIPsetPresolInitpre | ( | SCIP * | scip, |
SCIP_PRESOL * | presol ) |
sets solving process initialization method of presolver
scip | SCIP data structure |
presol | presolver solving process initialization method of presolver |
Definition at line 212 of file scip_presol.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRESOLINITPRE, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetInitpre(), and TRUE.
Referenced by SCIPincludePresolGateextraction().
SCIP_RETCODE SCIPsetPresolExitpre | ( | SCIP * | scip, |
SCIP_PRESOL * | presol ) |
sets solving process deinitialization method of presolver
scip | SCIP data structure |
presol | presolver solving process deinitialization method of presolver |
Definition at line 228 of file scip_presol.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_PRESOLEXITPRE, SCIP_OKAY, SCIPcheckStage(), SCIPpresolSetExitpre(), and TRUE.
Referenced by SCIPincludePresolGateextraction().
SCIP_PRESOL * SCIPfindPresol | ( | SCIP * | scip, |
const char * | name ) |
returns the presolver of the given name, or NULL if not existing
scip | SCIP data structure |
name | name of presolver |
Definition at line 244 of file scip_presol.c.
References assert(), NULL, and SCIPsetFindPresol().
Referenced by SCIPcopyConcurrentSolvingStats(), SCIPfindObjPresol(), SCIPincludePresol(), and SCIPincludePresolBasic().
SCIP_PRESOL ** SCIPgetPresols | ( | SCIP * | scip | ) |
returns the array of currently available presolvers
scip | SCIP data structure |
Definition at line 257 of file scip_presol.c.
References assert(), NULL, and SCIPsetSortPresols().
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
int SCIPgetNPresols | ( | SCIP * | scip | ) |
returns the number of currently available presolvers
scip | SCIP data structure |
Definition at line 270 of file scip_presol.c.
References assert(), and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
SCIP_RETCODE SCIPsetPresolPriority | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
int | priority ) |
sets the priority of a presolver
scip | SCIP data structure |
presol | presolver |
priority | new priority of the presolver |
Definition at line 281 of file scip_presol.c.
References assert(), NULL, SCIP_OKAY, and SCIPpresolSetPriority().
Referenced by SCIP_DECL_PARAMCHGD().
int SCIPgetNPresolRounds | ( | SCIP * | scip | ) |
returns the number of presolve rounds (current or last presolve)
scip | SCIP data structure |
Definition at line 296 of file scip_presol.c.
References assert(), and NULL.
Referenced by solveSubNLP().