Detailed Description
methods for separator plugins
Function Documentation
◆ SCIP_DECL_SORTPTRCOMP() [1/2]
SCIP_DECL_SORTPTRCOMP | ( | SCIPsepaComp | ) |
◆ SCIP_DECL_SORTPTRCOMP() [2/2]
SCIP_DECL_SORTPTRCOMP | ( | SCIPsepaCompName | ) |
comparison method for sorting separators w.r.t. to their name
Definition at line 48 of file sepa.c.
References SCIPsepaGetName().
◆ SCIPsepaGetData()
SCIP_SEPADATA* SCIPsepaGetData | ( | SCIP_SEPA * | sepa | ) |
gets user data of separator
- Parameters
-
sepa separator
Definition at line 600 of file sepa.c.
References NULL, and SCIP_Sepa::sepadata.
Referenced by aggregation(), doSeparation(), freeSubscip(), generateCut(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECSOL(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAINIT(), SCIP_DECL_SEPAINITSOL(), SCIPfindObjSepa(), SCIPgetObjSepa(), SCIPsetBasePointClosecuts(), separateCuts(), and separateOddCycles().
◆ SCIPsepaSetData()
void SCIPsepaSetData | ( | SCIP_SEPA * | sepa, |
SCIP_SEPADATA * | sepadata | ||
) |
sets user data of separator; user has to free old data in advance!
- Parameters
-
sepa separator sepadata new separator user data
Definition at line 610 of file sepa.c.
References NULL, and SCIP_Sepa::sepadata.
Referenced by SCIP_DECL_SEPAFREE().
◆ SCIPsepaGetName()
const char* SCIPsepaGetName | ( | SCIP_SEPA * | sepa | ) |
gets name of separator
- Parameters
-
sepa separator
Definition at line 689 of file sepa.c.
References SCIP_Sepa::name, and NULL.
Referenced by generateDisjCutSOS1(), paramsetSetSeparatingAggressive(), paramsetSetSeparatingDefault(), paramsetSetSeparatingOff(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAINITSOL(), SCIP_DECL_SORTPTRCOMP(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPparamsetSetToSubscipsOff(), SCIPprintSeparatorStatistics(), SCIPsepaCopyInclude(), SCIPsetBasePointClosecuts(), SCIPsetFindRelax(), separateCuts(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), separateSupLiftedMinimalCoverInequality(), separationRoundLP(), and separationRoundSol().
◆ SCIPsepaGetDesc()
const char* SCIPsepaGetDesc | ( | SCIP_SEPA * | sepa | ) |
gets description of separator
- Parameters
-
sepa separator
Definition at line 699 of file sepa.c.
References SCIP_Sepa::desc, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
◆ SCIPsepaGetPriority()
int SCIPsepaGetPriority | ( | SCIP_SEPA * | sepa | ) |
gets priority of separator
- Parameters
-
sepa separator
Definition at line 709 of file sepa.c.
References NULL, and SCIP_Sepa::priority.
Referenced by SCIP_DECL_DIALOGEXEC(), separationRoundLP(), and separationRoundSol().
◆ SCIPsepaGetFreq()
int SCIPsepaGetFreq | ( | SCIP_SEPA * | sepa | ) |
gets frequency of separator
- Parameters
-
sepa separator
Definition at line 733 of file sepa.c.
References SCIP_Sepa::freq, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), and separateCuts().
◆ SCIPsepaSetFreq()
void SCIPsepaSetFreq | ( | SCIP_SEPA * | sepa, |
int | freq | ||
) |
sets frequency of separator
- Parameters
-
sepa separator freq new frequency of separator
Definition at line 743 of file sepa.c.
References SCIP_Sepa::freq, and NULL.
◆ SCIPsepaGetMaxbounddist()
get maximal bound distance at which the separator is called
- Parameters
-
sepa separator
Definition at line 754 of file sepa.c.
References SCIP_Sepa::maxbounddist, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC().
◆ SCIPsepaUsesSubscip()
does the separator use a secondary SCIP instance?
- Parameters
-
sepa separator
Definition at line 764 of file sepa.c.
References NULL, and SCIP_Sepa::usessubscip.
Referenced by SCIPparamsetSetToSubscipsOff().
◆ SCIPsepaGetSetupTime()
gets time in seconds used in this separator for setting up for next stages
- Parameters
-
sepa separator
Definition at line 786 of file sepa.c.
References NULL, SCIPclockGetTime(), and SCIP_Sepa::setuptime.
Referenced by SCIPprintSeparatorStatistics().
◆ SCIPsepaGetTime()
gets time in seconds used in this separator
- Parameters
-
sepa separator
Definition at line 796 of file sepa.c.
References NULL, SCIPclockGetTime(), and SCIP_Sepa::sepaclock.
Referenced by SCIPprintSeparatorStatistics(), and separateOddCycles().
◆ SCIPsepaGetNCalls()
SCIP_Longint SCIPsepaGetNCalls | ( | SCIP_SEPA * | sepa | ) |
gets the total number of times, the separator was called
- Parameters
-
sepa separator
Definition at line 806 of file sepa.c.
References SCIP_Sepa::ncalls, and NULL.
Referenced by SCIPprintSeparatorStatistics(), and separateCuts().
◆ SCIPsepaGetNCallsAtNode()
int SCIPsepaGetNCallsAtNode | ( | SCIP_SEPA * | sepa | ) |
gets the number of times, the separator was called at the current node
- Parameters
-
sepa separator
Definition at line 816 of file sepa.c.
References SCIP_Sepa::ncallsatnode, and NULL.
Referenced by doSeparation(), SCIP_DECL_SEPAEXECLP(), separateCuts(), and separateOddCycles().
◆ SCIPsepaGetNCutoffs()
SCIP_Longint SCIPsepaGetNCutoffs | ( | SCIP_SEPA * | sepa | ) |
gets total number of times, the separator detected a cutoff
- Parameters
-
sepa separator
Definition at line 826 of file sepa.c.
References SCIP_Sepa::ncutoffs, and NULL.
Referenced by SCIPprintSeparatorStatistics().
◆ SCIPsepaGetNCutsFound()
SCIP_Longint SCIPsepaGetNCutsFound | ( | SCIP_SEPA * | sepa | ) |
gets the total number of cutting planes found by this separator
- Parameters
-
sepa separator
Definition at line 836 of file sepa.c.
References SCIP_Sepa::ncutsfound, and NULL.
Referenced by SCIPprintSeparatorStatistics(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().
◆ SCIPsepaGetNCutsApplied()
SCIP_Longint SCIPsepaGetNCutsApplied | ( | SCIP_SEPA * | sepa | ) |
gets the total number of cutting planes applied to lp
- Parameters
-
sepa separator
Definition at line 846 of file sepa.c.
References SCIP_Sepa::ncutsapplied, and NULL.
Referenced by SCIPprintSeparatorStatistics().
◆ SCIPsepaGetNCutsFoundAtNode()
SCIP_Longint SCIPsepaGetNCutsFoundAtNode | ( | SCIP_SEPA * | sepa | ) |
gets the number of cutting planes found by this separator at the current node
- Parameters
-
sepa separator
Definition at line 886 of file sepa.c.
References SCIP_Sepa::ncutsfoundatnode, and NULL.
◆ SCIPsepaGetNConssFound()
SCIP_Longint SCIPsepaGetNConssFound | ( | SCIP_SEPA * | sepa | ) |
gets total number of additional constraints added by this separator
- Parameters
-
sepa separator
Definition at line 896 of file sepa.c.
References SCIP_Sepa::nconssfound, and NULL.
Referenced by SCIPprintSeparatorStatistics().
◆ SCIPsepaGetNDomredsFound()
SCIP_Longint SCIPsepaGetNDomredsFound | ( | SCIP_SEPA * | sepa | ) |
gets total number of domain reductions found by this separator
- Parameters
-
sepa separator
Definition at line 906 of file sepa.c.
References SCIP_Sepa::ndomredsfound, and NULL.
Referenced by SCIPprintSeparatorStatistics().
◆ SCIPsepaIsDelayed()
should separator be delayed, if other separators found cuts?
- Parameters
-
sepa separator
Definition at line 916 of file sepa.c.
References SCIP_Sepa::delay, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC().
◆ SCIPsepaWasLPDelayed()
was separation of the LP solution delayed at the last call?
- Parameters
-
sepa separator
Definition at line 926 of file sepa.c.
References SCIP_Sepa::lpwasdelayed, and NULL.
Referenced by SCIP_DECL_SEPAEXECLP(), separateCuts(), and separationRoundLP().
◆ SCIPsepaWasSolDelayed()
was separation of the primal solution delayed at the last call?
- Parameters
-
sepa separator
Definition at line 936 of file sepa.c.
References NULL, and SCIP_Sepa::solwasdelayed.
Referenced by separationRoundSol().
◆ SCIPsepaIsInitialized()
is separator initialized?
- Parameters
-
sepa separator
Definition at line 946 of file sepa.c.
References SCIP_Sepa::initialized, and NULL.
Referenced by SCIPsetIncludeRelax().
◆ SCIPincludeSepa()
SCIP_RETCODE SCIPincludeSepa | ( | SCIP * | scip, |
const char * | name, | ||
const char * | desc, | ||
int | priority, | ||
int | freq, | ||
SCIP_Real | maxbounddist, | ||
SCIP_Bool | usessubscip, | ||
SCIP_Bool | delay, | ||
SCIP_DECL_SEPACOPY((*sepacopy)) | , | ||
SCIP_DECL_SEPAFREE((*sepafree)) | , | ||
SCIP_DECL_SEPAINIT((*sepainit)) | , | ||
SCIP_DECL_SEPAEXIT((*sepaexit)) | , | ||
SCIP_DECL_SEPAINITSOL((*sepainitsol)) | , | ||
SCIP_DECL_SEPAEXITSOL((*sepaexitsol)) | , | ||
SCIP_DECL_SEPAEXECLP((*sepaexeclp)) | , | ||
SCIP_DECL_SEPAEXECSOL((*sepaexecsol)) | , | ||
SCIP_SEPADATA * | sepadata | ||
) |
creates a separator and includes it in SCIP.
- Note
- method has all separator callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeSepaBasic() 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 separator desc description of separator priority priority of separator (>= 0: before, < 0: after constraint handlers) freq frequency for calling separator maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation usessubscip does the separator use a secondary SCIP instance? delay should separator be delayed, if other separators found cuts? sepadata separator data
Definition at line 131 of file scip_sepa.c.
References FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPfindSepa(), SCIPsepaCreate(), SCIPsetIncludeSepa(), Scip::set, SCIP_Mem::setmem, and TRUE.
Referenced by SCIPincludeObjSepa().
◆ SCIPincludeSepaBasic()
SCIP_RETCODE SCIPincludeSepaBasic | ( | SCIP * | scip, |
SCIP_SEPA ** | sepa, | ||
const char * | name, | ||
const char * | desc, | ||
int | priority, | ||
int | freq, | ||
SCIP_Real | maxbounddist, | ||
SCIP_Bool | usessubscip, | ||
SCIP_Bool | delay, | ||
SCIP_DECL_SEPAEXECLP((*sepaexeclp)) | , | ||
SCIP_DECL_SEPAEXECSOL((*sepaexecsol)) | , | ||
SCIP_SEPADATA * | sepadata | ||
) |
creates a separator and includes it in SCIP with its most fundamental callbacks. 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, see SCIPsetSepaInit(), SCIPsetSepaFree(), SCIPsetSepaInitsol(), SCIPsetSepaExitsol(), SCIPsetSepaCopy(), SCIPsetExit().
- Note
- if you want to set all callbacks with a single method call, consider using SCIPincludeSepa() instead
- Parameters
-
scip SCIP data structure sepa reference to a separator, or NULL name name of separator desc description of separator priority priority of separator (>= 0: before, < 0: after constraint handlers) freq frequency for calling separator maxbounddist maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation usessubscip does the separator use a secondary SCIP instance? delay should separator be delayed, if other separators found cuts? sepadata separator data
Definition at line 178 of file scip_sepa.c.
References FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPfindSepa(), SCIPsepaCreate(), SCIPsetIncludeSepa(), Scip::set, SCIP_Mem::setmem, and TRUE.
Referenced by SCIPincludeSepaCGMIP(), SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaConvexproj(), SCIPincludeSepaDisjunctive(), SCIPincludeSepaEccuts(), SCIPincludeSepaEdge(), SCIPincludeSepaGauge(), SCIPincludeSepaGMI(), SCIPincludeSepaGomory(), SCIPincludeSepaImpliedbounds(), SCIPincludeSepaIntobj(), SCIPincludeSepaMcf(), SCIPincludeSepaOddcycle(), SCIPincludeSepaPartition(), SCIPincludeSepaStrongcg(), SCIPincludeSepaSubtour(), and SCIPincludeSepaZerohalf().
◆ SCIPsetSepaCopy()
SCIP_RETCODE SCIPsetSepaCopy | ( | SCIP * | scip, |
SCIP_SEPA * | sepa, | ||
SCIP_DECL_SEPACOPY((*sepacopy)) | |||
) |
sets copy method of separator
- Parameters
-
scip SCIP data structure sepa separator
Definition at line 220 of file scip_sepa.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetCopy(), and TRUE.
Referenced by SCIPincludeSepaCGMIP(), SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaDisjunctive(), SCIPincludeSepaEccuts(), SCIPincludeSepaEdge(), SCIPincludeSepaGMI(), SCIPincludeSepaGomory(), SCIPincludeSepaImpliedbounds(), SCIPincludeSepaIntobj(), SCIPincludeSepaMcf(), SCIPincludeSepaOddcycle(), SCIPincludeSepaPartition(), SCIPincludeSepaStrongcg(), SCIPincludeSepaSubtour(), and SCIPincludeSepaZerohalf().
◆ SCIPsetSepaFree()
SCIP_RETCODE SCIPsetSepaFree | ( | SCIP * | scip, |
SCIP_SEPA * | sepa, | ||
SCIP_DECL_SEPAFREE((*sepafree)) | |||
) |
sets destructor method of separator
- Parameters
-
scip SCIP data structure sepa separator
Definition at line 236 of file scip_sepa.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetFree(), and TRUE.
Referenced by SCIPincludeSepaCGMIP(), SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaConvexproj(), SCIPincludeSepaDisjunctive(), SCIPincludeSepaEccuts(), SCIPincludeSepaGauge(), SCIPincludeSepaGMI(), SCIPincludeSepaGomory(), SCIPincludeSepaImpliedbounds(), SCIPincludeSepaIntobj(), SCIPincludeSepaMcf(), SCIPincludeSepaOddcycle(), SCIPincludeSepaStrongcg(), and SCIPincludeSepaZerohalf().
◆ SCIPsetSepaInit()
SCIP_RETCODE SCIPsetSepaInit | ( | SCIP * | scip, |
SCIP_SEPA * | sepa, | ||
SCIP_DECL_SEPAINIT((*sepainit)) | |||
) |
sets initialization method of separator
- Parameters
-
scip SCIP data structure sepa separator
Definition at line 252 of file scip_sepa.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetInit(), and TRUE.
Referenced by SCIPincludeSepaCGMIP(), SCIPincludeSepaGomory(), SCIPincludeSepaOddcycle(), and SCIPincludeSepaStrongcg().
◆ SCIPsetSepaExit()
SCIP_RETCODE SCIPsetSepaExit | ( | SCIP * | scip, |
SCIP_SEPA * | sepa, | ||
SCIP_DECL_SEPAEXIT((*sepaexit)) | |||
) |
sets deinitialization method of separator
- Parameters
-
scip SCIP data structure sepa separator
Definition at line 268 of file scip_sepa.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetExit(), and TRUE.
Referenced by SCIPincludeSepaCGMIP(), SCIPincludeSepaGomory(), SCIPincludeSepaIntobj(), and SCIPincludeSepaStrongcg().
◆ SCIPsetSepaInitsol()
SCIP_RETCODE SCIPsetSepaInitsol | ( | SCIP * | scip, |
SCIP_SEPA * | sepa, | ||
SCIP_DECL_SEPAINITSOL((*sepainitsol)) | |||
) |
sets solving process initialization method of separator
- Parameters
-
scip SCIP data structure sepa separator
Definition at line 284 of file scip_sepa.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetInitsol(), and TRUE.
Referenced by SCIPincludeSepaDisjunctive(), SCIPincludeSepaMcf(), SCIPincludeSepaOddcycle(), and SCIPincludeSepaZerohalf().
◆ SCIPsetSepaExitsol()
SCIP_RETCODE SCIPsetSepaExitsol | ( | SCIP * | scip, |
SCIP_SEPA * | sepa, | ||
SCIP_DECL_SEPAEXITSOL((*sepaexitsol)) | |||
) |
sets solving process deinitialization method of separator
- Parameters
-
scip SCIP data structure sepa separator
Definition at line 300 of file scip_sepa.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetExitsol(), and TRUE.
Referenced by SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaConvexproj(), SCIPincludeSepaEccuts(), SCIPincludeSepaGauge(), SCIPincludeSepaIntobj(), SCIPincludeSepaMcf(), and SCIPincludeSepaZerohalf().
◆ SCIPfindSepa()
returns the separator of the given name, or NULL if not existing
- Parameters
-
scip SCIP data structure name name of separator
Definition at line 316 of file scip_sepa.c.
References NULL, SCIPsetFindSepa(), and Scip::set.
Referenced by SCIPcopyConcurrentSolvingStats(), SCIPfindObjSepa(), SCIPincludeSepa(), SCIPincludeSepaBasic(), and SCIPsetBasePointClosecuts().
◆ SCIPgetSepas()
returns the array of currently available separators
- Parameters
-
scip SCIP data structure
Definition at line 329 of file scip_sepa.c.
References NULL, SCIPsetSortSepas(), SCIP_Set::sepas, and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
◆ SCIPgetNSepas()
int SCIPgetNSepas | ( | SCIP * | scip | ) |
returns the number of currently available separators
- Parameters
-
scip SCIP data structure
Definition at line 342 of file scip_sepa.c.
References SCIP_Set::nsepas, NULL, and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
◆ SCIPsetSepaPriority()
SCIP_RETCODE SCIPsetSepaPriority | ( | SCIP * | scip, |
SCIP_SEPA * | sepa, | ||
int | priority | ||
) |
sets the priority of a separator
- Parameters
-
scip SCIP data structure sepa separator priority new priority of the separator
Definition at line 353 of file scip_sepa.c.
References NULL, SCIP_OKAY, SCIPsepaSetPriority(), and Scip::set.
Referenced by SCIP_DECL_PARAMCHGD().
◆ SCIPgetSepaMinEfficacy()
gets value of minimal efficacy for a cut to enter the LP
- Precondition
- This method can be called if
scip
is in one of the following stages:
- Returns
- value of "separating/minefficacyroot" if at root node, otherwise value of "separating/minefficacy"
- Parameters
-
scip SCIP data structure
Definition at line 376 of file scip_sepa.c.
References FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetCurrentDepth(), SCIP_Set::sepa_minefficacy, SCIP_Set::sepa_minefficacyroot, Scip::set, Scip::tree, and TRUE.
Referenced by SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), SCIPcleanupRowprep(), and separatePoint().