functions 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 528 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_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_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_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 538 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(), SCIP_DECL_PRESOLFREE(), and SCIP_DECL_PRESOLFREE().
| void SCIPpresolMarkExact | ( | SCIP_PRESOL * | presol | ) |
| const char * SCIPpresolGetName | ( | SCIP_PRESOL * | presol | ) |
gets name of presolver
| presol | presolver |
Definition at line 625 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_PRESOLCOPY(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPcollectPresolverStatistics(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPpresolCopyInclude(), and SCIPprintPresolverStatistics().
| const char * SCIPpresolGetDesc | ( | SCIP_PRESOL * | presol | ) |
gets description of presolver
| presol | presolver |
Definition at line 635 of file presol.c.
References assert(), SCIP_Presol::desc, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcollectPresolverStatistics(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
| int SCIPpresolGetPriority | ( | SCIP_PRESOL * | presol | ) |
gets priority of presolver
| presol | presolver |
Definition at line 645 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 655 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 679 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 689 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 722 of file presol.c.
References assert(), NULL, SCIP_Real, SCIPclockGetTime(), and SCIP_Presol::setuptime.
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| SCIP_Real SCIPpresolGetTime | ( | SCIP_PRESOL * | presol | ) |
gets time in seconds used in this presolver
| presol | presolver |
Definition at line 732 of file presol.c.
References assert(), NULL, SCIP_Presol::presolclock, SCIP_Real, and SCIPclockGetTime().
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNFixedVars | ( | SCIP_PRESOL * | presol | ) |
gets number of variables fixed in presolver
| presol | presolver |
Definition at line 742 of file presol.c.
References assert(), SCIP_Presol::nfixedvars, and NULL.
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNAggrVars | ( | SCIP_PRESOL * | presol | ) |
gets number of variables aggregated in presolver
| presol | presolver |
Definition at line 752 of file presol.c.
References assert(), SCIP_Presol::naggrvars, and NULL.
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNChgVarTypes | ( | SCIP_PRESOL * | presol | ) |
gets number of variable types changed in presolver
| presol | presolver |
Definition at line 762 of file presol.c.
References assert(), SCIP_Presol::nchgvartypes, and NULL.
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNChgBds | ( | SCIP_PRESOL * | presol | ) |
gets number of bounds changed in presolver
| presol | presolver |
Definition at line 772 of file presol.c.
References assert(), SCIP_Presol::nchgbds, and NULL.
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNAddHoles | ( | SCIP_PRESOL * | presol | ) |
gets number of holes added to domains of variables in presolver
| presol | presolver |
Definition at line 782 of file presol.c.
References assert(), SCIP_Presol::naddholes, and NULL.
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNDelConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints deleted in presolver
| presol | presolver |
Definition at line 792 of file presol.c.
References assert(), SCIP_Presol::ndelconss, and NULL.
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNAddConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints added in presolver
| presol | presolver |
Definition at line 802 of file presol.c.
References assert(), SCIP_Presol::naddconss, and NULL.
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNUpgdConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints upgraded in presolver
| presol | presolver |
Definition at line 812 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 822 of file presol.c.
References assert(), SCIP_Presol::nchgcoefs, and NULL.
Referenced by SCIP_DECL_PRESOLEXEC(), SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNChgSides | ( | SCIP_PRESOL * | presol | ) |
gets number of constraint sides changed in presolver
| presol | presolver |
Definition at line 832 of file presol.c.
References assert(), SCIP_Presol::nchgsides, and NULL.
Referenced by SCIPcollectPresolverStatistics(), and SCIPprintPresolverStatistics().
| int SCIPpresolGetNCalls | ( | SCIP_PRESOL * | presol | ) |
gets number of times the presolver was called and tried to find reductions
| presol | presolver |
Definition at line 842 of file presol.c.
References assert(), SCIP_Presol::ncalls, and NULL.
Referenced by SCIPcollectPresolverStatistics(), and 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(), SCIPincludePresolImplint(), 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(), SCIPincludePresolImplint(), SCIPincludePresolInttobinary(), SCIPincludePresolQPKKTref(), SCIPincludePresolRedvub(), SCIPincludePresolSparsify(), SCIPincludePresolStuffing(), SCIPincludePresolTrivial(), and SCIPincludePresolTworowbnd().
| SCIP_RETCODE SCIPsetPresolFree | ( | SCIP * | scip, |
| SCIP_PRESOL * | presol ) |
sets destructor method 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(), SCIPincludePresolImplint(), SCIPincludePresolQPKKTref(), SCIPincludePresolSparsify(), and SCIPincludePresolTworowbnd().
| SCIP_RETCODE SCIPsetPresolInit | ( | SCIP * | scip, |
| SCIP_PRESOL * | presol ) |
sets initialization method of 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
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
Definition at line 244 of file scip_presol.c.
References assert(), NULL, and SCIPsetFindPresol().
Referenced by SCIP_DECL_PRESOLCOPY(), SCIPcopyConcurrentSolvingStats(), SCIPfindObjPresol(), SCIPincludePresol(), and SCIPincludePresolBasic().
| SCIP_PRESOL ** SCIPgetPresols | ( | SCIP * | scip | ) |
returns the array of currently available presolvers
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
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
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)
Definition at line 296 of file scip_presol.c.
References assert(), and NULL.
Referenced by solveSubNLP().