SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches

Detailed Description

methods for separator plugins

Functions

 SCIP_DECL_SORTPTRCOMP (SCIPsepaComp)
 
 SCIP_DECL_SORTPTRCOMP (SCIPsepaCompName)
 
SCIP_SEPADATASCIPsepaGetData (SCIP_SEPA *sepa)
 
void SCIPsepaSetData (SCIP_SEPA *sepa, SCIP_SEPADATA *sepadata)
 
const char * SCIPsepaGetName (SCIP_SEPA *sepa)
 
const char * SCIPsepaGetDesc (SCIP_SEPA *sepa)
 
int SCIPsepaGetPriority (SCIP_SEPA *sepa)
 
int SCIPsepaGetFreq (SCIP_SEPA *sepa)
 
void SCIPsepaSetFreq (SCIP_SEPA *sepa, int freq)
 
SCIP_Real SCIPsepaGetMaxbounddist (SCIP_SEPA *sepa)
 
SCIP_Bool SCIPsepaUsesSubscip (SCIP_SEPA *sepa)
 
SCIP_Real SCIPsepaGetSetupTime (SCIP_SEPA *sepa)
 
SCIP_Real SCIPsepaGetTime (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCalls (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNRootCalls (SCIP_SEPA *sepa)
 
int SCIPsepaGetNCallsAtNode (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCutoffs (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCutsFound (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCutsAdded (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCutsAddedViaPool (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCutsAddedDirect (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCutsApplied (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCutsAppliedViaPool (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCutsAppliedDirect (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNCutsFoundAtNode (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNConssFound (SCIP_SEPA *sepa)
 
SCIP_Longint SCIPsepaGetNDomredsFound (SCIP_SEPA *sepa)
 
SCIP_Bool SCIPsepaIsDelayed (SCIP_SEPA *sepa)
 
SCIP_Bool SCIPsepaWasLPDelayed (SCIP_SEPA *sepa)
 
SCIP_Bool SCIPsepaWasSolDelayed (SCIP_SEPA *sepa)
 
SCIP_Bool SCIPsepaIsInitialized (SCIP_SEPA *sepa)
 
SCIP_Bool SCIPsepaIsParentsepa (SCIP_SEPA *sepa)
 
SCIP_SEPASCIPsepaGetParentsepa (SCIP_SEPA *sepa)
 
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)
 
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)
 
SCIP_RETCODE SCIPsetSepaCopy (SCIP *scip, SCIP_SEPA *sepa,)
 
SCIP_RETCODE SCIPsetSepaFree (SCIP *scip, SCIP_SEPA *sepa,)
 
SCIP_RETCODE SCIPsetSepaInit (SCIP *scip, SCIP_SEPA *sepa,)
 
SCIP_RETCODE SCIPsetSepaExit (SCIP *scip, SCIP_SEPA *sepa,)
 
SCIP_RETCODE SCIPsetSepaInitsol (SCIP *scip, SCIP_SEPA *sepa,)
 
SCIP_RETCODE SCIPsetSepaExitsol (SCIP *scip, SCIP_SEPA *sepa,)
 
SCIP_SEPASCIPfindSepa (SCIP *scip, const char *name)
 
SCIP_SEPA ** SCIPgetSepas (SCIP *scip)
 
int SCIPgetNSepas (SCIP *scip)
 
SCIP_RETCODE SCIPsetSepaPriority (SCIP *scip, SCIP_SEPA *sepa, int priority)
 
void SCIPsetSepaIsParentsepa (SCIP *scip, SCIP_SEPA *sepa)
 
void SCIPsetSepaParentsepa (SCIP *scip, SCIP_SEPA *sepa, SCIP_SEPA *parentsepa)
 
SCIP_Real SCIPgetSepaMinEfficacy (SCIP *scip)
 

Function Documentation

◆ SCIP_DECL_SORTPTRCOMP() [1/2]

SCIP_DECL_SORTPTRCOMP ( SCIPsepaComp )

compares two separators w. r. to their priority

Definition at line 52 of file sepa.c.

◆ SCIP_DECL_SORTPTRCOMP() [2/2]

SCIP_DECL_SORTPTRCOMP ( SCIPsepaCompName )

comparison method for sorting separators w.r.t. to their name

Definition at line 58 of file sepa.c.

References SCIPsepaGetName().

◆ SCIPsepaGetData()

SCIP_SEPADATA * SCIPsepaGetData ( SCIP_SEPA * sepa)

gets user data of separator

Parameters
sepaseparator

Definition at line 633 of file sepa.c.

References assert(), NULL, and SCIP_Sepa::sepadata.

Referenced by aggregation(), doSeparation(), freeSubscip(), generateCut(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECSOL(), SCIP_DECL_SEPAEXECSOL(), SCIP_DECL_SEPAEXECSOL(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SEPAEXIT(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAINIT(), SCIP_DECL_SEPAINIT(), SCIP_DECL_SEPAINIT(), SCIP_DECL_SEPAINIT(), SCIP_DECL_SEPAINIT(), SCIP_DECL_SEPAINIT(), SCIP_DECL_SEPAINIT(), SCIP_DECL_SEPAINITSOL(), SCIP_DECL_SEPAINITSOL(), SCIP_DECL_SEPAINITSOL(), SCIP_DECL_SEPAINITSOL(), SCIPfindObjSepa(), SCIPgetObjSepa(), SCIPsetBasePointClosecuts(), separateCuts(), separateCuts(), separateCuts(), separateCuts(), separateCuts(), separateCuts(), separateCuts(), separateCuts(), separateOddCycles(), separatePoint(), and separatePoint().

◆ SCIPsepaSetData()

◆ SCIPsepaGetName()

const char * SCIPsepaGetName ( SCIP_SEPA * sepa)

gets name of separator

Parameters
sepaseparator

Definition at line 743 of file sepa.c.

References assert(), SCIP_Sepa::name, and NULL.

Referenced by aggregateGeneratedCuts(), constructCutRow(), generateDisjCutSOS1(), paramsetSetSeparatingAggressive(), paramsetSetSeparatingDefault(), paramsetSetSeparatingOff(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPACOPY(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECSOL(), SCIP_DECL_SEPAEXECSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAEXITSOL(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAFREE(), SCIP_DECL_SEPAINITSOL(), SCIP_DECL_SORTPTRCOMP(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPparamsetSetToSubscipsOff(), SCIPprintSeparatorStatistics(), SCIPsepaCopyInclude(), SCIPsetBasePointClosecuts(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), separateSupLiftedMinimalCoverInequality(), separationRoundLP(), and separationRoundSol().

◆ SCIPsepaGetDesc()

const char * SCIPsepaGetDesc ( SCIP_SEPA * sepa)

gets description of separator

Parameters
sepaseparator

Definition at line 753 of file sepa.c.

References assert(), SCIP_Sepa::desc, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

◆ SCIPsepaGetPriority()

int SCIPsepaGetPriority ( SCIP_SEPA * sepa)

gets priority of separator

Parameters
sepaseparator

Definition at line 763 of file sepa.c.

References assert(), NULL, and SCIP_Sepa::priority.

Referenced by SCIP_DECL_DIALOGEXEC(), separationRoundLP(), and separationRoundSol().

◆ SCIPsepaGetFreq()

int SCIPsepaGetFreq ( SCIP_SEPA * sepa)

gets frequency of separator

Parameters
sepaseparator

Definition at line 787 of file sepa.c.

References assert(), SCIP_Sepa::freq, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), and separateCuts().

◆ SCIPsepaSetFreq()

void SCIPsepaSetFreq ( SCIP_SEPA * sepa,
int freq )

sets frequency of separator

Parameters
sepaseparator
freqnew frequency of separator

Definition at line 797 of file sepa.c.

References assert(), SCIP_Sepa::freq, and NULL.

◆ SCIPsepaGetMaxbounddist()

SCIP_Real SCIPsepaGetMaxbounddist ( SCIP_SEPA * sepa)

get maximal bound distance at which the separator is called

Parameters
sepaseparator

Definition at line 808 of file sepa.c.

References assert(), SCIP_Sepa::maxbounddist, NULL, and SCIP_Real.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPsepaUsesSubscip()

SCIP_Bool SCIPsepaUsesSubscip ( SCIP_SEPA * sepa)

does the separator use a secondary SCIP instance?

Parameters
sepaseparator

Definition at line 818 of file sepa.c.

References assert(), NULL, SCIP_Bool, and SCIP_Sepa::usessubscip.

Referenced by SCIPparamsetSetToSubscipsOff().

◆ SCIPsepaGetSetupTime()

SCIP_Real SCIPsepaGetSetupTime ( SCIP_SEPA * sepa)

gets time in seconds used in this separator for setting up for next stages

Parameters
sepaseparator

Definition at line 840 of file sepa.c.

References assert(), NULL, SCIP_Real, SCIPclockGetTime(), and SCIP_Sepa::setuptime.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetTime()

SCIP_Real SCIPsepaGetTime ( SCIP_SEPA * sepa)

gets time in seconds used in this separator

Parameters
sepaseparator

Definition at line 850 of file sepa.c.

References assert(), NULL, SCIP_Real, 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
sepaseparator

Definition at line 860 of file sepa.c.

References assert(), SCIP_Sepa::ncalls, NULL, and SCIP_Longint.

Referenced by SCIP_DECL_SEPAEXECLP(), SCIPprintSeparatorStatistics(), separateCuts(), and separateCuts().

◆ SCIPsepaGetNRootCalls()

SCIP_Longint SCIPsepaGetNRootCalls ( SCIP_SEPA * sepa)

gets the total number of times the separator was called at the root

Parameters
sepaseparator

Definition at line 870 of file sepa.c.

References assert(), SCIP_Sepa::nrootcalls, NULL, and SCIP_Longint.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetNCallsAtNode()

◆ SCIPsepaGetNCutoffs()

SCIP_Longint SCIPsepaGetNCutoffs ( SCIP_SEPA * sepa)

gets total number of times, the separator detected a cutoff

Parameters
sepaseparator

Definition at line 890 of file sepa.c.

References assert(), SCIP_Sepa::ncutoffs, NULL, and SCIP_Longint.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetNCutsFound()

SCIP_Longint SCIPsepaGetNCutsFound ( SCIP_SEPA * sepa)

gets the total number of cutting planes added from the separator to the cut pool and to the sepastore directly

gets the total number of cutting planes added from the separator to the cut pool

Parameters
sepaseparator

Definition at line 900 of file sepa.c.

References assert(), SCIP_Sepa::ncutsfound, NULL, and SCIP_Longint.

Referenced by SCIPprintSeparatorStatistics(), separateSequLiftedExtendedWeightInequality(), separateSequLiftedMinimalCoverInequality(), and separateSupLiftedMinimalCoverInequality().

◆ SCIPsepaGetNCutsAdded()

SCIP_Longint SCIPsepaGetNCutsAdded ( SCIP_SEPA * sepa)

gets the total number of cutting planes added from the separator to the sepastore; equal to the sum of added cuts directly and via the pool.

Parameters
sepaseparator

Definition at line 911 of file sepa.c.

References assert(), SCIP_Sepa::ncutsadded, NULL, and SCIP_Longint.

◆ SCIPsepaGetNCutsAddedViaPool()

SCIP_Longint SCIPsepaGetNCutsAddedViaPool ( SCIP_SEPA * sepa)

gets the number of cutting planes from the separator added from the cut pool

gets the number of cutting planes found by the separator added to the sepastore via the cut pool

Parameters
sepaseparator

Definition at line 921 of file sepa.c.

References assert(), SCIP_Sepa::ncutsaddedviapool, NULL, and SCIP_Longint.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetNCutsAddedDirect()

SCIP_Longint SCIPsepaGetNCutsAddedDirect ( SCIP_SEPA * sepa)

gets the number of cutting planes from the separator added directly to the sepastore

gets the number of cutting planes found by the separator added directly to the sepastore

Parameters
sepaseparator

Definition at line 931 of file sepa.c.

References assert(), SCIP_Sepa::ncutsaddeddirect, NULL, and SCIP_Longint.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetNCutsApplied()

SCIP_Longint SCIPsepaGetNCutsApplied ( SCIP_SEPA * sepa)

gets the total number of cutting planes from the separator applied to the LP

gets the total number of cutting planes of the separator finally applied to the LP

Parameters
sepaseparator

Definition at line 941 of file sepa.c.

References assert(), SCIP_Sepa::ncutsapplieddirect, SCIP_Sepa::ncutsappliedviapool, NULL, and SCIP_Longint.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetNCutsAppliedViaPool()

SCIP_Longint SCIPsepaGetNCutsAppliedViaPool ( SCIP_SEPA * sepa)

gets the total number of cutting planes from the separator applied to the LP from the cutpool

gets the total number of cutting planes of the separator applied to the LP via the cutpool

Parameters
sepaseparator

Definition at line 951 of file sepa.c.

References assert(), SCIP_Sepa::ncutsappliedviapool, NULL, and SCIP_Longint.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetNCutsAppliedDirect()

SCIP_Longint SCIPsepaGetNCutsAppliedDirect ( SCIP_SEPA * sepa)

gets the total number of cutting planes from the separator applied directly to the LP

gets the total number of cutting planes of the separator applied to the LP via the sepastore directly

Parameters
sepaseparator

Definition at line 961 of file sepa.c.

References assert(), SCIP_Sepa::ncutsapplieddirect, NULL, and SCIP_Longint.

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
sepaseparator

Definition at line 1059 of file sepa.c.

References assert(), SCIP_Sepa::ncutsfoundatnode, NULL, and SCIP_Longint.

◆ SCIPsepaGetNConssFound()

SCIP_Longint SCIPsepaGetNConssFound ( SCIP_SEPA * sepa)

gets total number of additional constraints added by this separator

Parameters
sepaseparator

Definition at line 1069 of file sepa.c.

References assert(), SCIP_Sepa::nconssfound, NULL, and SCIP_Longint.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetNDomredsFound()

SCIP_Longint SCIPsepaGetNDomredsFound ( SCIP_SEPA * sepa)

gets total number of domain reductions found by this separator

Parameters
sepaseparator

Definition at line 1079 of file sepa.c.

References assert(), SCIP_Sepa::ndomredsfound, NULL, and SCIP_Longint.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaIsDelayed()

SCIP_Bool SCIPsepaIsDelayed ( SCIP_SEPA * sepa)

should separator be delayed, if other separators found cuts?

Parameters
sepaseparator

Definition at line 1089 of file sepa.c.

References assert(), SCIP_Sepa::delay, NULL, and SCIP_Bool.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPsepaWasLPDelayed()

SCIP_Bool SCIPsepaWasLPDelayed ( SCIP_SEPA * sepa)

was separation of the LP solution delayed at the last call?

Parameters
sepaseparator

Definition at line 1099 of file sepa.c.

References assert(), SCIP_Sepa::lpwasdelayed, NULL, and SCIP_Bool.

Referenced by SCIP_DECL_SEPAEXECLP(), separateCuts(), and separationRoundLP().

◆ SCIPsepaWasSolDelayed()

SCIP_Bool SCIPsepaWasSolDelayed ( SCIP_SEPA * sepa)

was separation of the primal solution delayed at the last call?

Parameters
sepaseparator

Definition at line 1109 of file sepa.c.

References assert(), NULL, SCIP_Bool, and SCIP_Sepa::solwasdelayed.

Referenced by separationRoundSol().

◆ SCIPsepaIsInitialized()

SCIP_Bool SCIPsepaIsInitialized ( SCIP_SEPA * sepa)

is separator initialized?

Parameters
sepaseparator

Definition at line 1119 of file sepa.c.

References assert(), SCIP_Sepa::initialized, NULL, and SCIP_Bool.

◆ SCIPsepaIsParentsepa()

SCIP_Bool SCIPsepaIsParentsepa ( SCIP_SEPA * sepa)

gets whether separator is a parent separator

Parameters
sepaseparator

Definition at line 1129 of file sepa.c.

References assert(), SCIP_Sepa::isparentsepa, NULL, and SCIP_Bool.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetParentsepa()

SCIP_SEPA * SCIPsepaGetParentsepa ( SCIP_SEPA * sepa)

gets parent separator (or NULL)

Parameters
sepaseparator

Definition at line 1139 of file sepa.c.

References assert(), NULL, and SCIP_Sepa::parentsepa.

Referenced by SCIPprintSeparatorStatistics(), SCIPsepaDecNCutsAdded(), SCIPsepaIncNCutsAdded(), and SCIPsepaIncNCutsApplied().

◆ 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
scipSCIP data structure
namename of separator
descdescription of separator
prioritypriority of separator (>= 0: before, < 0: after constraint handlers)
freqfrequency for calling separator
maxbounddistmaximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation
usessubscipdoes the separator use a secondary SCIP instance?
delayshould separator be delayed, if other separators found cuts?
sepadataseparator data

Definition at line 62 of file scip_sepa.c.

References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_SEPACOPY, SCIP_DECL_SEPAEXECLP, SCIP_DECL_SEPAEXECSOL, SCIP_DECL_SEPAEXIT, SCIP_DECL_SEPAEXITSOL, SCIP_DECL_SEPAFREE, SCIP_DECL_SEPAINIT, SCIP_DECL_SEPAINITSOL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPcheckStage(), SCIPerrorMessage, SCIPfindSepa(), SCIPsepaCreate(), SCIPsetIncludeSepa(), sepadata, 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
scipSCIP data structure
separeference to a separator, or NULL
namename of separator
descdescription of separator
prioritypriority of separator (>= 0: before, < 0: after constraint handlers)
freqfrequency for calling separator
maxbounddistmaximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation
usessubscipdoes the separator use a secondary SCIP instance?
delayshould separator be delayed, if other separators found cuts?
sepadataseparator data

Definition at line 109 of file scip_sepa.c.

References assert(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_SEPAEXECLP, SCIP_DECL_SEPAEXECSOL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPcheckStage(), SCIPerrorMessage, SCIPfindSepa(), SCIPsepaCreate(), SCIPsetIncludeSepa(), sepadata, and TRUE.

Referenced by SCIPincludeSepaAggregation(), SCIPincludeSepaCGMIP(), SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaConvexproj(), SCIPincludeSepaDisjunctive(), SCIPincludeSepaEccuts(), SCIPincludeSepaEdge(), SCIPincludeSepaGauge(), SCIPincludeSepaGMI(), SCIPincludeSepaGomory(), SCIPincludeSepaImpliedbounds(), SCIPincludeSepaInterminor(), SCIPincludeSepaIntobj(), SCIPincludeSepaLagromory(), SCIPincludeSepaMcf(), SCIPincludeSepaMinor(), SCIPincludeSepaMixing(), SCIPincludeSepaOddcycle(), SCIPincludeSepaPartition(), SCIPincludeSepaRapidlearning(), SCIPincludeSepaRlt(), SCIPincludeSepaSubtour(), and SCIPincludeSepaZerohalf().

◆ SCIPsetSepaCopy()

◆ SCIPsetSepaFree()

◆ SCIPsetSepaInit()

SCIP_RETCODE SCIPsetSepaInit ( SCIP * scip,
SCIP_SEPA * sepa )

sets initialization method of separator

Parameters
scipSCIP data structure
sepaseparator initialize separator

Definition at line 183 of file scip_sepa.c.

References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_SEPAINIT, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetInit(), and TRUE.

Referenced by SCIPincludeSepaCGMIP(), SCIPincludeSepaGomory(), SCIPincludeSepaInterminor(), SCIPincludeSepaLagromory(), SCIPincludeSepaMinor(), and SCIPincludeSepaOddcycle().

◆ SCIPsetSepaExit()

SCIP_RETCODE SCIPsetSepaExit ( SCIP * scip,
SCIP_SEPA * sepa )

sets deinitialization method of separator

Parameters
scipSCIP data structure
sepaseparator deinitialize separator

Definition at line 199 of file scip_sepa.c.

References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_SEPAEXIT, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetExit(), and TRUE.

Referenced by SCIPincludeSepaCGMIP(), SCIPincludeSepaGomory(), SCIPincludeSepaInterminor(), SCIPincludeSepaLagromory(), and SCIPincludeSepaMinor().

◆ SCIPsetSepaInitsol()

SCIP_RETCODE SCIPsetSepaInitsol ( SCIP * scip,
SCIP_SEPA * sepa )

sets solving process initialization method of separator

Parameters
scipSCIP data structure
sepaseparator solving process initialization method of separator

Definition at line 215 of file scip_sepa.c.

References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_SEPAINITSOL, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetInitsol(), and TRUE.

Referenced by SCIPincludeSepaDisjunctive(), SCIPincludeSepaInterminor(), SCIPincludeSepaMcf(), SCIPincludeSepaMinor(), SCIPincludeSepaOddcycle(), and SCIPincludeSepaZerohalf().

◆ SCIPsetSepaExitsol()

SCIP_RETCODE SCIPsetSepaExitsol ( SCIP * scip,
SCIP_SEPA * sepa )

sets solving process deinitialization method of separator

Parameters
scipSCIP data structure
sepaseparator solving process deinitialization method of separator

Definition at line 231 of file scip_sepa.c.

References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_SEPAEXITSOL, SCIP_OKAY, SCIPcheckStage(), SCIPsepaSetExitsol(), and TRUE.

Referenced by SCIPincludeSepaClique(), SCIPincludeSepaClosecuts(), SCIPincludeSepaConvexproj(), SCIPincludeSepaEccuts(), SCIPincludeSepaGauge(), SCIPincludeSepaInterminor(), SCIPincludeSepaIntobj(), SCIPincludeSepaMcf(), SCIPincludeSepaMinor(), SCIPincludeSepaRlt(), and SCIPincludeSepaZerohalf().

◆ SCIPfindSepa()

SCIP_SEPA * SCIPfindSepa ( SCIP * scip,
const char * name )

returns the separator of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of separator

Definition at line 247 of file scip_sepa.c.

References assert(), NULL, and SCIPsetFindSepa().

Referenced by SCIPcopyConcurrentSolvingStats(), SCIPfindObjSepa(), SCIPincludeSepa(), SCIPincludeSepaBasic(), and SCIPsetBasePointClosecuts().

◆ SCIPgetSepas()

SCIP_SEPA ** SCIPgetSepas ( SCIP * scip)

returns the array of currently available separators

Parameters
scipSCIP data structure

Definition at line 260 of file scip_sepa.c.

References assert(), NULL, and SCIPsetSortSepas().

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

◆ SCIPgetNSepas()

int SCIPgetNSepas ( SCIP * scip)

returns the number of currently available separators

Parameters
scipSCIP data structure

Definition at line 273 of file scip_sepa.c.

References assert(), and NULL.

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
scipSCIP data structure
sepaseparator
prioritynew priority of the separator

Definition at line 284 of file scip_sepa.c.

References assert(), NULL, SCIP_OKAY, and SCIPsepaSetPriority().

Referenced by SCIP_DECL_PARAMCHGD().

◆ SCIPsetSepaIsParentsepa()

void SCIPsetSepaIsParentsepa ( SCIP * scip,
SCIP_SEPA * sepa )

declares separator to be a parent separator

Parent separators generate cuts of several types. To distinguish these cuts, they create child separators, which are only needed to detect which cuts are applied.

Parameters
scipSCIP data structure
sepaseparator

Definition at line 303 of file scip_sepa.c.

References assert(), NULL, and SCIPsepaSetIsParentsepa().

Referenced by SCIPincludeSepaAggregation(), and SCIPincludeSepaGomory().

◆ SCIPsetSepaParentsepa()

void SCIPsetSepaParentsepa ( SCIP * scip,
SCIP_SEPA * sepa,
SCIP_SEPA * parentsepa )

sets the parent separator

Informs SCIP that the separator sepa depends on the parent separator parentsepa.

Parameters
scipSCIP data structure
sepaseparator
parentsepaparent separator

Definition at line 318 of file scip_sepa.c.

References assert(), NULL, and SCIPsepaSetParentsepa().

Referenced by SCIPincludeSepaAggregation(), and SCIPincludeSepaGomory().

◆ SCIPgetSepaMinEfficacy()

SCIP_Real SCIPgetSepaMinEfficacy ( SCIP * scip)

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
scipSCIP data structure

Definition at line 339 of file scip_sepa.c.

References assert(), FALSE, NULL, SCIP_CALL_ABORT, SCIP_Real, SCIPcheckStage(), SCIPtreeGetCurrentDepth(), and TRUE.

Referenced by SCIPcleanupRowprep(), and SCIPprocessRowprepNonlinear().