methods for presolver plugins
Modules | |
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 53 of file presol.c.
References SCIPpresolGetName().
SCIP_PRESOLDATA* SCIPpresolGetData | ( | SCIP_PRESOL * | presol | ) |
gets user data of presolver
presol | presolver |
Definition at line 466 of file presol.c.
References 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(), SCIPgetTimingSymmetry(), and SCIPregisterSymmetry().
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 476 of file presol.c.
References SCIP_Presol::presoldata.
Referenced by SCIP_DECL_PRESOLFREE().
const char* SCIPpresolGetName | ( | SCIP_PRESOL * | presol | ) |
gets name of presolver
presol | presolver |
Definition at line 553 of file presol.c.
References SCIP_Presol::name.
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_PRESOLINITPRE(), SCIP_DECL_SORTPTRCOMP(), SCIPcopyConcurrentSolvingStats(), SCIPgetGeneratorsSymmetry(), SCIPgetPermvarsObjSymmetry(), SCIPgetTimingSymmetry(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPpresolCopyInclude(), SCIPprintPresolverStatistics(), SCIPregisterSymmetry(), and SCIPsetFindConflicthdlr().
const char* SCIPpresolGetDesc | ( | SCIP_PRESOL * | presol | ) |
gets description of presolver
presol | presolver |
Definition at line 563 of file presol.c.
References SCIP_Presol::desc.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
int SCIPpresolGetPriority | ( | SCIP_PRESOL * | presol | ) |
gets priority of presolver
presol | presolver |
Definition at line 573 of file presol.c.
References 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 583 of file presol.c.
References SCIP_Presol::maxrounds.
Referenced by SCIP_DECL_DIALOGEXEC().
SCIP_PRESOLTIMING SCIPpresolGetTiming | ( | SCIP_PRESOL * | presol | ) |
gets the timing mask of the presolver
presol | presolver |
Definition at line 607 of file presol.c.
References 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 617 of file presol.c.
References SCIP_Presol::timing.
SCIP_Bool SCIPpresolIsInitialized | ( | SCIP_PRESOL * | presol | ) |
is presolver initialized?
presol | presolver |
Definition at line 629 of file presol.c.
References SCIP_Presol::initialized.
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 651 of file presol.c.
References 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 661 of file presol.c.
References SCIP_Presol::presolclock, and SCIPclockGetTime().
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNFixedVars | ( | SCIP_PRESOL * | presol | ) |
gets number of variables fixed in presolver
presol | presolver |
Definition at line 671 of file presol.c.
References SCIP_Presol::nfixedvars.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNAggrVars | ( | SCIP_PRESOL * | presol | ) |
gets number of variables aggregated in presolver
presol | presolver |
Definition at line 681 of file presol.c.
References SCIP_Presol::naggrvars.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNChgVarTypes | ( | SCIP_PRESOL * | presol | ) |
gets number of variable types changed in presolver
presol | presolver |
Definition at line 691 of file presol.c.
References SCIP_Presol::nchgvartypes.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNChgBds | ( | SCIP_PRESOL * | presol | ) |
gets number of bounds changed in presolver
presol | presolver |
Definition at line 701 of file presol.c.
References SCIP_Presol::nchgbds.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNAddHoles | ( | SCIP_PRESOL * | presol | ) |
gets number of holes added to domains of variables in presolver
presol | presolver |
Definition at line 711 of file presol.c.
References SCIP_Presol::naddholes.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNDelConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints deleted in presolver
presol | presolver |
Definition at line 721 of file presol.c.
References SCIP_Presol::ndelconss.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNAddConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints added in presolver
presol | presolver |
Definition at line 731 of file presol.c.
References SCIP_Presol::naddconss.
Referenced by SCIPprintPresolverStatistics().
int SCIPpresolGetNUpgdConss | ( | SCIP_PRESOL * | presol | ) |
gets number of constraints upgraded in presolver
presol | presolver |
Definition at line 741 of file presol.c.
References SCIP_Presol::nupgdconss.
int SCIPpresolGetNChgCoefs | ( | SCIP_PRESOL * | presol | ) |
gets number of coefficients changed in presolver
presol | presolver |
Definition at line 751 of file presol.c.
References SCIP_Presol::nchgcoefs.
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 761 of file presol.c.
References SCIP_Presol::nchgsides.
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 771 of file presol.c.
References SCIP_Presol::ncalls.
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 6874 of file scip.c.
References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindPresol(), SCIPpresolCreate(), SCIPsetIncludePresol(), Scip::set, SCIP_Mem::setmem, 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 6917 of file scip.c.
References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindPresol(), SCIPpresolCreate(), SCIPsetIncludePresol(), Scip::set, SCIP_Mem::setmem, and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualagg(), SCIPincludePresolDualcomp(), SCIPincludePresolDualinfer(), SCIPincludePresolImplfree(), SCIPincludePresolImplics(), SCIPincludePresolInttobinary(), SCIPincludePresolQPKKTref(), SCIPincludePresolRedvub(), SCIPincludePresolSparsify(), SCIPincludePresolStuffing(), SCIPincludePresolSymbreak(), SCIPincludePresolSymmetry(), SCIPincludePresolTrivial(), and SCIPincludePresolTworowbnd().
SCIP_RETCODE SCIPsetPresolCopy | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLCOPY((*presolcopy)) | |||
) |
sets copy method of presolver
scip | SCIP data structure |
presol | presolver |
Definition at line 6952 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPpresolSetCopy(), and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualcomp(), SCIPincludePresolDualinfer(), SCIPincludePresolImplfree(), SCIPincludePresolImplics(), SCIPincludePresolInttobinary(), SCIPincludePresolQPKKTref(), SCIPincludePresolSparsify(), SCIPincludePresolStuffing(), SCIPincludePresolTrivial(), and SCIPincludePresolTworowbnd().
SCIP_RETCODE SCIPsetPresolFree | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLFREE((*presolfree)) | |||
) |
sets destructor method of presolver
scip | SCIP data structure |
presol | presolver |
Definition at line 6968 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPpresolSetFree(), and TRUE.
Referenced by SCIPincludePresolBoundshift(), SCIPincludePresolConvertinttobin(), SCIPincludePresolDomcol(), SCIPincludePresolDualcomp(), SCIPincludePresolQPKKTref(), SCIPincludePresolSparsify(), SCIPincludePresolSymbreak(), and SCIPincludePresolSymmetry().
SCIP_RETCODE SCIPsetPresolInit | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLINIT((*presolinit)) | |||
) |
sets initialization method of presolver
scip | SCIP data structure |
presol | presolver |
Definition at line 6984 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPpresolSetInit(), and TRUE.
Referenced by SCIPincludePresolSparsify(), SCIPincludePresolSymbreak(), and SCIPincludePresolSymmetry().
SCIP_RETCODE SCIPsetPresolExit | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLEXIT((*presolexit)) | |||
) |
sets deinitialization method of presolver
scip | SCIP data structure |
presol | presolver |
Definition at line 7000 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPpresolSetExit(), and TRUE.
Referenced by SCIPincludePresolSymbreak(), and SCIPincludePresolSymmetry().
SCIP_RETCODE SCIPsetPresolInitpre | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLINITPRE((*presolinitpre)) | |||
) |
sets solving process initialization method of presolver
scip | SCIP data structure |
presol | presolver |
Definition at line 7016 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPpresolSetInitpre(), and TRUE.
Referenced by SCIPincludePresolSymbreak(), and SCIPincludePresolSymmetry().
SCIP_RETCODE SCIPsetPresolExitpre | ( | SCIP * | scip, |
SCIP_PRESOL * | presol, | ||
SCIP_DECL_PRESOLEXITPRE((*presolexitpre)) | |||
) |
sets solving process deinitialization method of presolver
scip | SCIP data structure |
presol | presolver |
Definition at line 7032 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPpresolSetExitpre(), and TRUE.
Referenced by SCIPincludePresolSymmetry().
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 7048 of file scip.c.
References SCIPsetFindPresol(), and Scip::set.
Referenced by SCIPcopyConcurrentSolvingStats(), SCIPfindObjPresol(), SCIPgetGeneratorsSymmetry(), SCIPgetPermvarsObjSymmetry(), SCIPgetTimingSymmetry(), SCIPincludePresol(), SCIPincludePresolBasic(), and SCIPregisterSymmetry().
SCIP_PRESOL** SCIPgetPresols | ( | SCIP * | scip | ) |
returns the array of currently available presolvers
scip | SCIP data structure |
Definition at line 7061 of file scip.c.
References SCIP_Set::presols, SCIPsetSortPresols(), and Scip::set.
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 7074 of file scip.c.
References SCIP_Set::npresols, and Scip::set.
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 7085 of file scip.c.
References SCIP_OKAY, SCIPpresolSetPriority(), and Scip::set.
Referenced by SCIP_DECL_PARAMCHGD().