Detailed Description
internal methods for separators
Definition in file sepa.h.
#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_retcode.h"
#include "scip/type_result.h"
#include "scip/type_set.h"
#include "scip/type_stat.h"
#include "scip/type_sepastore.h"
#include "scip/type_sepa.h"
#include "scip/pub_sepa.h"
Go to the source code of this file.
Function Documentation
◆ SCIPsepaCopyInclude()
SCIP_RETCODE SCIPsepaCopyInclude | ( | SCIP_SEPA * | sepa, |
SCIP_SET * | set | ||
) |
copies the given separator to a new scip
- Parameters
-
sepa separator set SCIP_SET of SCIP to copy to
Definition at line 69 of file sepa.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPsepaGetName(), and SCIPsetDebugMsg.
◆ SCIPsepaCreate()
SCIP_RETCODE SCIPsepaCreate | ( | SCIP_SEPA ** | sepa, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
BMS_BLKMEM * | blkmem, | ||
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
- Parameters
-
sepa pointer to separator data structure set global SCIP settings messagehdlr message handler blkmem block memory for parameter settings 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 187 of file sepa.c.
References doSepaCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPsepaFree().
Referenced by SCIPincludeSepa(), and SCIPincludeSepaBasic().
◆ SCIPsepaFree()
SCIP_RETCODE SCIPsepaFree | ( | SCIP_SEPA ** | sepa, |
SCIP_SET * | set | ||
) |
calls destructor and frees memory of separator
- Parameters
-
sepa pointer to separator data structure set global SCIP settings
Definition at line 226 of file sepa.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
Referenced by SCIPsepaCreate().
◆ SCIPsepaInit()
SCIP_RETCODE SCIPsepaInit | ( | SCIP_SEPA * | sepa, |
SCIP_SET * | set | ||
) |
initializes separator
- Parameters
-
sepa separator set global SCIP settings
Definition at line 253 of file sepa.c.
References FALSE, SCIP_Sepa::initialized, SCIP_Sepa::lastsepanode, SCIP_Sepa::lpwasdelayed, SCIP_Sepa::name, SCIP_Sepa::ncalls, SCIP_Sepa::ncallsatnode, SCIP_Sepa::nconssfound, SCIP_Sepa::ncutoffs, SCIP_Sepa::ncutsapplied, SCIP_Sepa::ncutsfound, SCIP_Sepa::ncutsfoundatnode, SCIP_Sepa::ndomredsfound, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Sepa::sepaclock, SCIP_Sepa::setuptime, SCIP_Sepa::solwasdelayed, and TRUE.
Referenced by SCIPsetIncludeExternalCode().
◆ SCIPsepaExit()
SCIP_RETCODE SCIPsepaExit | ( | SCIP_SEPA * | sepa, |
SCIP_SET * | set | ||
) |
calls exit method of separator
- Parameters
-
sepa separator set global SCIP settings
Definition at line 301 of file sepa.c.
References FALSE, SCIP_Sepa::initialized, SCIP_Sepa::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Sepa::setuptime.
Referenced by SCIPsetInitPlugins().
◆ SCIPsepaInitsol()
SCIP_RETCODE SCIPsepaInitsol | ( | SCIP_SEPA * | sepa, |
SCIP_SET * | set | ||
) |
informs separator that the branch and bound process is being started
- Parameters
-
sepa separator set global SCIP settings
Definition at line 331 of file sepa.c.
References FALSE, SCIP_Sepa::lpwasdelayed, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIP_Sepa::setuptime, and SCIP_Sepa::solwasdelayed.
Referenced by SCIPsetExitprePlugins().
◆ SCIPsepaExitsol()
SCIP_RETCODE SCIPsepaExitsol | ( | SCIP_SEPA * | sepa, |
SCIP_SET * | set | ||
) |
informs separator that the branch and bound process data is being freed
- Parameters
-
sepa separator set global SCIP settings
Definition at line 358 of file sepa.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Sepa::setuptime.
Referenced by SCIPsetInitsolPlugins().
◆ SCIPsepaExecLP()
SCIP_RETCODE SCIPsepaExecLP | ( | SCIP_SEPA * | sepa, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SEPASTORE * | sepastore, | ||
int | depth, | ||
SCIP_Real | bounddist, | ||
SCIP_Bool | allowlocal, | ||
SCIP_Bool | execdelayed, | ||
SCIP_RESULT * | result | ||
) |
calls LP separation method of separator
- Parameters
-
sepa separator set global SCIP settings stat dynamic problem statistics sepastore separation storage depth depth of current node bounddist current relative distance of local dual bound to global dual bound allowlocal should the separator be asked to separate local cuts execdelayed execute separator even if it is marked to be delayed result pointer to store the result of the callback method
Definition at line 382 of file sepa.c.
References SCIP_Sepa::delay, SCIP_Sepa::expbackoff, SCIP_Sepa::freq, SCIP_Sepa::lastsepanode, LOG2, SCIP_Sepa::lpwasdelayed, MAX, SCIP_Sepa::maxbounddist, SCIP_Stat::nactiveconss, SCIP_Sepa::name, SCIP_Stat::nboundchgs, SCIP_Sepa::ncalls, SCIP_Sepa::ncallsatnode, SCIP_Sepa::nconssfound, SCIP_Sepa::ncutoffs, SCIP_Sepa::ncutsfound, SCIP_Sepa::ncutsfoundatnode, SCIP_Sepa::ndomredsfound, SCIP_Stat::nholechgs, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, SCIP_Stat::ntotalnodes, NULL, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_NEWROUND, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPclockStart(), SCIPclockStop(), SCIPcutpoolGetNCuts(), SCIPerrorMessage, SCIPgetDelayedGlobalCutpool(), SCIPgetGlobalCutpool(), SCIPsepastoreGetNCuts(), SCIPsetDebugMsg, SCIPsetIsIntegral(), SCIPsetIsLE(), and SCIP_Sepa::sepaclock.
Referenced by separationRoundLP().
◆ SCIPsepaExecSol()
SCIP_RETCODE SCIPsepaExecSol | ( | SCIP_SEPA * | sepa, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SEPASTORE * | sepastore, | ||
SCIP_SOL * | sol, | ||
int | depth, | ||
SCIP_Bool | allowlocal, | ||
SCIP_Bool | execdelayed, | ||
SCIP_RESULT * | result | ||
) |
calls primal solution separation method of separator
- Parameters
-
sepa separator set global SCIP settings stat dynamic problem statistics sepastore separation storage sol primal solution that should be separated depth depth of current node allowlocal should the separator allow local cuts execdelayed execute separator even if it is marked to be delayed result pointer to store the result of the callback method
Definition at line 499 of file sepa.c.
References SCIP_Sepa::delay, SCIP_Sepa::expbackoff, SCIP_Sepa::freq, SCIP_Sepa::lastsepanode, LOG2, MAX, SCIP_Stat::nactiveconss, SCIP_Sepa::name, SCIP_Stat::nboundchgs, SCIP_Sepa::ncalls, SCIP_Sepa::ncallsatnode, SCIP_Sepa::nconssfound, SCIP_Sepa::ncutoffs, SCIP_Sepa::ncutsfound, SCIP_Sepa::ncutsfoundatnode, SCIP_Sepa::ndomredsfound, SCIP_Stat::nholechgs, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, SCIP_Stat::ntotalnodes, NULL, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_NEWROUND, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIPsepastoreGetNCuts(), SCIPsetDebugMsg, SCIPsetIsIntegral(), SCIP_Sepa::sepaclock, and SCIP_Sepa::solwasdelayed.
Referenced by separationRoundSol().
◆ SCIPsepaSetPriority()
sets priority of separator
- Parameters
-
sepa separator set global SCIP settings priority new priority of the separator
Definition at line 726 of file sepa.c.
References FALSE, NULL, and SCIP_Sepa::priority.
Referenced by SCIPsetSepaPriority().
◆ SCIPsepaSetCopy()
void SCIPsepaSetCopy | ( | SCIP_SEPA * | sepa, |
SCIP_DECL_SEPACOPY((*sepacopy)) | |||
) |
sets copy method of separator
- Parameters
-
sepa separator
Definition at line 630 of file sepa.c.
References NULL.
Referenced by SCIPsetSepaCopy().
◆ SCIPsepaSetFree()
void SCIPsepaSetFree | ( | SCIP_SEPA * | sepa, |
SCIP_DECL_SEPAFREE((*sepafree)) | |||
) |
sets destructor method of separator
- Parameters
-
sepa separator
Definition at line 641 of file sepa.c.
References NULL.
Referenced by SCIPsetSepaFree().
◆ SCIPsepaSetInit()
void SCIPsepaSetInit | ( | SCIP_SEPA * | sepa, |
SCIP_DECL_SEPAINIT((*sepainit)) | |||
) |
sets initialization method of separator
- Parameters
-
sepa separator
Definition at line 652 of file sepa.c.
References NULL.
Referenced by SCIPsetSepaInit().
◆ SCIPsepaSetExit()
void SCIPsepaSetExit | ( | SCIP_SEPA * | sepa, |
SCIP_DECL_SEPAEXIT((*sepaexit)) | |||
) |
sets deinitialization method of separator
- Parameters
-
sepa separator
Definition at line 663 of file sepa.c.
References NULL.
Referenced by SCIPsetSepaExit().
◆ SCIPsepaSetInitsol()
void SCIPsepaSetInitsol | ( | SCIP_SEPA * | sepa, |
SCIP_DECL_SEPAINITSOL((*sepainitsol)) | |||
) |
sets solving process initialization method of separator
- Parameters
-
sepa separator
Definition at line 674 of file sepa.c.
References NULL.
Referenced by SCIPsetSepaInitsol().
◆ SCIPsepaSetExitsol()
void SCIPsepaSetExitsol | ( | SCIP_SEPA * | sepa, |
SCIP_DECL_SEPAEXITSOL((*sepaexitsol)) | |||
) |
sets solving process deinitialization method of separator
- Parameters
-
sepa separator
Definition at line 685 of file sepa.c.
References NULL.
Referenced by SCIPsetSepaExitsol().
◆ SCIPsepaEnableOrDisableClocks()
enables or disables all clocks of sepa
, depending on the value of the flag
- Parameters
-
sepa the separator for which all clocks should be enabled or disabled enable should the clocks of the separator be enabled?
Definition at line 781 of file sepa.c.
References NULL, SCIPclockEnableOrDisable(), SCIP_Sepa::sepaclock, and SCIP_Sepa::setuptime.
◆ SCIPsepaIncNAppliedCuts()
void SCIPsepaIncNAppliedCuts | ( | SCIP_SEPA * | sepa | ) |
increase count of applied cuts
- Parameters
-
sepa separator
Definition at line 863 of file sepa.c.
References SCIP_Sepa::ncutsapplied, and NULL.
Referenced by sepastoreApplyCut().
◆ SCIPsepaIncNCutsFound()
void SCIPsepaIncNCutsFound | ( | SCIP_SEPA * | sepa | ) |
increase count of found cuts
- Parameters
-
sepa separator
Definition at line 873 of file sepa.c.
References SCIP_Sepa::ncutsfound, and NULL.
Referenced by SCIPcutpoolSeparate().
◆ SCIPsepaIncNCutsFoundAtNode()
void SCIPsepaIncNCutsFoundAtNode | ( | SCIP_SEPA * | sepa | ) |
increase count of found cuts at current node
- Parameters
-
sepa separator
Definition at line 883 of file sepa.c.
References SCIP_Sepa::ncutsfoundatnode, and NULL.
Referenced by SCIPcutpoolSeparate().