Scippy

SCIP

Solving Constraint Integer Programs

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_DECL_SEPACOPY((*sepacopy)))
 
SCIP_RETCODE SCIPsetSepaFree (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAFREE((*sepafree)))
 
SCIP_RETCODE SCIPsetSepaInit (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAINIT((*sepainit)))
 
SCIP_RETCODE SCIPsetSepaExit (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAEXIT((*sepaexit)))
 
SCIP_RETCODE SCIPsetSepaInitsol (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAINITSOL((*sepainitsol)))
 
SCIP_RETCODE SCIPsetSepaExitsol (SCIP *scip, SCIP_SEPA *sepa, SCIP_DECL_SEPAEXITSOL((*sepaexitsol)))
 
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()

◆ SCIPsepaSetData()

void SCIPsepaSetData ( SCIP_SEPA sepa,
SCIP_SEPADATA sepadata 
)

sets user data of separator; user has to free old data in advance!

Parameters
sepaseparator
sepadatanew separator user data

Definition at line 643 of file sepa.c.

References NULL, and SCIP_Sepa::sepadata.

Referenced by SCIP_DECL_SEPAFREE().

◆ SCIPsepaGetName()

◆ SCIPsepaGetDesc()

const char* SCIPsepaGetDesc ( SCIP_SEPA sepa)

gets description of separator

Parameters
sepaseparator

Definition at line 753 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
sepaseparator

Definition at line 763 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
sepaseparator

Definition at line 787 of file sepa.c.

References SCIP_Sepa::freq, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), 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 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 SCIP_Sepa::maxbounddist, and NULL.

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 NULL, 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 NULL, 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 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
sepaseparator

Definition at line 860 of file sepa.c.

References SCIP_Sepa::ncalls, and NULL.

Referenced by SCIPprintSeparatorStatistics(), 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 SCIP_Sepa::nrootcalls, and NULL.

Referenced by SCIPprintSeparatorStatistics().

◆ SCIPsepaGetNCallsAtNode()

int SCIPsepaGetNCallsAtNode ( SCIP_SEPA sepa)

gets the number of times, the separator was called at the current node

Parameters
sepaseparator

Definition at line 880 of file sepa.c.

References SCIP_Sepa::ncallsatnode, and NULL.

Referenced by doSeparation(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECSOL(), separateCuts(), and separateOddCycles().

◆ 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 SCIP_Sepa::ncutoffs, and NULL.

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 SCIP_Sepa::ncutsfound, and NULL.

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 SCIP_Sepa::ncutsadded, and NULL.

◆ 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 SCIP_Sepa::ncutsaddedviapool, and NULL.

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 SCIP_Sepa::ncutsaddeddirect, and NULL.

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 SCIP_Sepa::ncutsapplieddirect, SCIP_Sepa::ncutsappliedviapool, and NULL.

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 SCIP_Sepa::ncutsappliedviapool, and NULL.

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 SCIP_Sepa::ncutsapplieddirect, 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
sepaseparator

Definition at line 1059 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
sepaseparator

Definition at line 1069 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
sepaseparator

Definition at line 1079 of file sepa.c.

References SCIP_Sepa::ndomredsfound, and NULL.

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 SCIP_Sepa::delay, and NULL.

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 SCIP_Sepa::lpwasdelayed, and NULL.

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 NULL, 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 SCIP_Sepa::initialized, and NULL.

◆ 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 SCIP_Sepa::isparentsepa, and NULL.

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 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, 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
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 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(), SCIPincludeSepaInterminor(), SCIPincludeSepaIntobj(), SCIPincludeSepaMcf(), SCIPincludeSepaMinor(), SCIPincludeSepaMixing(), SCIPincludeSepaOddcycle(), SCIPincludeSepaPartition(), SCIPincludeSepaRlt(), SCIPincludeSepaSubtour(), and SCIPincludeSepaZerohalf().

◆ SCIPsetSepaCopy()

◆ SCIPsetSepaFree()

◆ SCIPsetSepaInit()

SCIP_RETCODE SCIPsetSepaInit ( SCIP scip,
SCIP_SEPA sepa,
SCIP_DECL_SEPAINIT((*sepainit))   
)

sets initialization method of separator

Parameters
scipSCIP data structure
sepaseparator

Definition at line 183 of file scip_sepa.c.

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

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

◆ SCIPsetSepaExit()

SCIP_RETCODE SCIPsetSepaExit ( SCIP scip,
SCIP_SEPA sepa,
SCIP_DECL_SEPAEXIT((*sepaexit))   
)

sets deinitialization method of separator

Parameters
scipSCIP data structure
sepaseparator

Definition at line 199 of file scip_sepa.c.

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

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

◆ SCIPsetSepaInitsol()

SCIP_RETCODE SCIPsetSepaInitsol ( SCIP scip,
SCIP_SEPA sepa,
SCIP_DECL_SEPAINITSOL((*sepainitsol))   
)

sets solving process initialization method of separator

Parameters
scipSCIP data structure
sepaseparator

Definition at line 215 of file scip_sepa.c.

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

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

◆ SCIPsetSepaExitsol()

SCIP_RETCODE SCIPsetSepaExitsol ( SCIP scip,
SCIP_SEPA sepa,
SCIP_DECL_SEPAEXITSOL((*sepaexitsol))   
)

◆ 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 NULL, SCIPsetFindSepa(), and Scip::set.

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

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

Definition at line 284 of file scip_sepa.c.

References NULL, SCIP_OKAY, SCIPsepaSetPriority(), and Scip::set.

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 NULL, and SCIPsepaSetIsParentsepa().

Referenced by 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 NULL, and SCIPsepaSetParentsepa().

Referenced by 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 FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetCurrentDepth(), SCIP_Set::sepa_minefficacy, SCIP_Set::sepa_minefficacyroot, Scip::set, Scip::tree, and TRUE.

Referenced by SCIPcleanupRowprep(), and SCIPprocessRowprepNonlinear().