assert(paramdata !=
NULL);
84assert(sepa !=
NULL);
88 if( sepa->sepacopy !=
NULL)
125assert(sepa !=
NULL);
126assert(name !=
NULL);
127assert(desc !=
NULL);
129assert(0.0 <= maxbounddist && maxbounddist <= 1.0);
130assert(sepaexeclp !=
NULL|| sepaexecsol !=
NULL);
137(*sepa)->priority = priority;
138(*sepa)->freq = freq;
139(*sepa)->maxbounddist = maxbounddist;
140(*sepa)->usessubscip = usessubscip;
141(*sepa)->sepacopy = sepacopy;
142(*sepa)->sepafree = sepafree;
143(*sepa)->sepainit = sepainit;
144(*sepa)->sepaexit = sepaexit;
145(*sepa)->sepainitsol = sepainitsol;
146(*sepa)->sepaexitsol = sepaexitsol;
147(*sepa)->sepaexeclp = sepaexeclp;
148(*sepa)->sepaexecsol = sepaexecsol;
149(*sepa)->sepadata = sepadata;
152(*sepa)->lastsepanode = -1;
154(*sepa)->ncutoffs = 0;
155(*sepa)->ncutsfound = 0;
156(*sepa)->ncutsadded = 0;
157(*sepa)->ncutsaddedviapool = 0;
158(*sepa)->ncutsaddeddirect = 0;
159(*sepa)->ncutsappliedviapool = 0;
160(*sepa)->ncutsapplieddirect = 0;
161(*sepa)->nconssfound = 0;
162(*sepa)->ndomredsfound = 0;
163(*sepa)->ncallsatnode = 0;
164(*sepa)->ncutsfoundatnode = 0;
165(*sepa)->lpwasdelayed =
FALSE;
166(*sepa)->solwasdelayed =
FALSE;
167(*sepa)->initialized =
FALSE;
168(*sepa)->isparentsepa =
FALSE;
169(*sepa)->parentsepa =
NULL;
175&(*sepa)->priority,
TRUE, priority, INT_MIN/4, INT_MAX/4,
179(void)
SCIPsnprintf(paramdesc,
SCIP_MAXSTRLEN,
"frequency for calling separator <%s> (-1: never, 0: only in root node)", name);
184(void)
SCIPsnprintf(paramdesc,
SCIP_MAXSTRLEN,
"maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separator <%s> (0.0: only on current best node, 1.0: on all nodes)",
187&(*sepa)->maxbounddist,
TRUE, maxbounddist, 0.0, 1.0,
NULL,
NULL) );
191 "should separator be delayed, if other separators found cuts?",
195(void)
SCIPsnprintf(paramdesc,
SCIP_MAXSTRLEN,
"base for exponential increase of frequency at which separator <%s> is called (1: call at each multiple of frequency)", name);
197&(*sepa)->expbackoff,
TRUE, 4, 1, 100,
NULL,
NULL) );
227assert(sepa !=
NULL);
228assert(name !=
NULL);
229assert(desc !=
NULL);
231assert(0.0 <= maxbounddist && maxbounddist <= 1.0);
232assert(sepaexeclp !=
NULL|| sepaexecsol !=
NULL);
235usessubscip, delay, sepacopy, sepafree, sepainit, sepaexit, sepainitsol, sepaexitsol, sepaexeclp,
247assert(sepa !=
NULL);
250assert(!(*sepa)->initialized);
254 if( (*sepa)->sepafree !=
NULL)
274assert(sepa !=
NULL);
283 if(
set->misc_resetstat )
306 if( sepa->sepainit !=
NULL)
327assert(sepa !=
NULL);
336 if( sepa->sepaexit !=
NULL)
357assert(sepa !=
NULL);
364 if( sepa->sepainitsol !=
NULL)
384assert(sepa !=
NULL);
388 if( sepa->sepaexitsol !=
NULL)
415assert(sepa !=
NULL);
416assert(sepa->
freq>= -1);
418assert(0.0 <= bounddist && bounddist <= 1.0);
421assert(stat !=
NULL);
423assert(result !=
NULL);
426( (depth == 0 && sepa->
freq!= -1) ||
427(sepa->
freq> 0 && depth % sepa->
freq== 0 &&
463 SCIP_CALL( sepa->sepaexeclp(
set->scip, sepa, result, allowlocal, depth) );
500 SCIPerrorMessage(
"execution method of separator <%s> returned invalid result <%d>\n",
501sepa->
name, *result);
533assert(sepa !=
NULL);
534assert(sepa->
freq>= -1);
537assert(stat !=
NULL);
539assert(result !=
NULL);
541 if( sepa->sepaexecsol !=
NULL&&
542( (depth == 0 && sepa->
freq!= -1) ||
543(sepa->
freq> 0 && depth % sepa->
freq== 0 &&
574 SCIP_CALL( sepa->sepaexecsol(
set->scip, sepa, sol, result, allowlocal, depth) );
612 SCIPerrorMessage(
"execution method of separator <%s> returned invalid result <%d>\n",
613sepa->
name, *result);
637assert(sepa !=
NULL);
648assert(sepa !=
NULL);
661assert(sepa !=
NULL);
663sepa->sepacopy = sepacopy;
672assert(sepa !=
NULL);
674sepa->sepafree = sepafree;
683assert(sepa !=
NULL);
685sepa->sepainit = sepainit;
694assert(sepa !=
NULL);
696sepa->sepaexit = sepaexit;
705assert(sepa !=
NULL);
707sepa->sepainitsol = sepainitsol;
716assert(sepa !=
NULL);
718sepa->sepaexitsol = sepaexitsol;
726assert(sepa !=
NULL);
737assert(sepa !=
NULL);
747assert(sepa !=
NULL);
757assert(sepa !=
NULL);
767assert(sepa !=
NULL);
779assert(sepa !=
NULL);
791assert(sepa !=
NULL);
802assert(sepa !=
NULL);
812assert(sepa !=
NULL);
822assert(sepa !=
NULL);
833assert(sepa !=
NULL);
844assert(sepa !=
NULL);
854assert(sepa !=
NULL);
864assert(sepa !=
NULL);
874assert(sepa !=
NULL);
884assert(sepa !=
NULL);
894assert(sepa !=
NULL);
904assert(sepa !=
NULL);
915assert(sepa !=
NULL);
925assert(sepa !=
NULL);
935assert(sepa !=
NULL);
945assert(sepa !=
NULL);
955assert(sepa !=
NULL);
965assert(sepa !=
NULL);
978assert( sepa !=
NULL);
986 if( parentsepa !=
NULL)
1000assert( sepa !=
NULL);
1009 if( parentsepa !=
NULL)
1023assert( sepa !=
NULL);
1032 if( parentsepa !=
NULL)
1043assert( sepa !=
NULL);
1053assert( sepa !=
NULL);
1063assert(sepa !=
NULL);
1073assert(sepa !=
NULL);
1083assert(sepa !=
NULL);
1093assert(sepa !=
NULL);
1095 returnsepa->
delay;
1103assert(sepa !=
NULL);
1113assert(sepa !=
NULL);
1123assert(sepa !=
NULL);
1133assert(sepa !=
NULL);
1143assert(sepa !=
NULL);
void SCIPclockStop(SCIP_CLOCK *clck, SCIP_SET *set)
void SCIPclockEnableOrDisable(SCIP_CLOCK *clck, SCIP_Bool enable)
void SCIPclockStart(SCIP_CLOCK *clck, SCIP_SET *set)
SCIP_Real SCIPclockGetTime(SCIP_CLOCK *clck)
void SCIPclockReset(SCIP_CLOCK *clck)
void SCIPclockFree(SCIP_CLOCK **clck)
SCIP_RETCODE SCIPclockCreate(SCIP_CLOCK **clck, SCIP_CLOCKTYPE clocktype)
internal methods for clocks and timing issues
common defines and data types used in all packages of SCIP
#define SCIP_MAXTREEDEPTH
#define SCIP_CALL_FINALLY(x, y)
SCIP_CUTPOOL * SCIPgetGlobalCutpool(SCIP *scip)
SCIP_CUTPOOL * SCIPgetDelayedGlobalCutpool(SCIP *scip)
int SCIPcutpoolGetNCuts(SCIP_CUTPOOL *cutpool)
SCIP_Longint SCIPsepaGetNCutsApplied(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNCutsAdded(SCIP_SEPA *sepa)
SCIP_Bool SCIPsepaWasSolDelayed(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNCutoffs(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNCutsAppliedViaPool(SCIP_SEPA *sepa)
int SCIPsepaGetPriority(SCIP_SEPA *sepa)
SCIP_Real SCIPsepaGetMaxbounddist(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNCutsAppliedDirect(SCIP_SEPA *sepa)
int SCIPsepaGetFreq(SCIP_SEPA *sepa)
const char * SCIPsepaGetName(SCIP_SEPA *sepa)
int SCIPsepaGetNCallsAtNode(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNDomredsFound(SCIP_SEPA *sepa)
SCIP_Bool SCIPsepaIsParentsepa(SCIP_SEPA *sepa)
const char * SCIPsepaGetDesc(SCIP_SEPA *sepa)
SCIP_Real SCIPsepaGetTime(SCIP_SEPA *sepa)
SCIP_RETCODE SCIPsetSepaPriority(SCIP *scip, SCIP_SEPA *sepa, int priority)
SCIP_Bool SCIPsepaIsInitialized(SCIP_SEPA *sepa)
SCIP_Bool SCIPsepaWasLPDelayed(SCIP_SEPA *sepa)
SCIP_SEPA * SCIPsepaGetParentsepa(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNCutsAddedViaPool(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNConssFound(SCIP_SEPA *sepa)
SCIP_DECL_SORTPTRCOMP(SCIPsepaComp)
SCIP_Bool SCIPsepaIsDelayed(SCIP_SEPA *sepa)
SCIP_SEPADATA * SCIPsepaGetData(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNRootCalls(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNCutsAddedDirect(SCIP_SEPA *sepa)
void SCIPsepaSetData(SCIP_SEPA *sepa, SCIP_SEPADATA *sepadata)
SCIP_Bool SCIPsepaUsesSubscip(SCIP_SEPA *sepa)
SCIP_Real SCIPsepaGetSetupTime(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNCutsFoundAtNode(SCIP_SEPA *sepa)
SCIP_Longint SCIPsepaGetNCutsFound(SCIP_SEPA *sepa)
void SCIPsepaSetFreq(SCIP_SEPA *sepa, int freq)
SCIP_Longint SCIPsepaGetNCalls(SCIP_SEPA *sepa)
int SCIPsnprintf(char *t, int len, const char *s,...)
static const char * paramname[]
#define BMSfreeMemory(ptr)
#define BMSduplicateMemoryArray(ptr, source, num)
#define BMSclearMemory(ptr)
struct BMS_BlkMem BMS_BLKMEM
#define BMSfreeMemoryArrayNull(ptr)
#define BMSallocMemory(ptr)
SCIP_PARAMDATA * SCIPparamGetData(SCIP_PARAM *param)
int SCIPparamGetInt(SCIP_PARAM *param)
internal methods for handling parameter settings
public methods for message output
public data structures and miscellaneous methods
SCIP_RETCODE SCIPsepaExitsol(SCIP_SEPA *sepa, SCIP_SET *set)
static SCIP_RETCODE doSepaCreate(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)
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)
void SCIPsepaDecNCutsAdded(SCIP_SEPA *sepa, SCIP_Bool fromcutpool)
static SCIP_DECL_PARAMCHGD(paramChgdSepaPriority)
void SCIPsepaSetInit(SCIP_SEPA *sepa, SCIP_DECL_SEPAINIT((*sepainit)))
void SCIPsepaSetParentsepa(SCIP_SEPA *sepa, SCIP_SEPA *parentsepa)
void SCIPsepaIncNCutsFound(SCIP_SEPA *sepa)
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)
void SCIPsepaSetInitsol(SCIP_SEPA *sepa, SCIP_DECL_SEPAINITSOL((*sepainitsol)))
SCIP_RETCODE SCIPsepaCopyInclude(SCIP_SEPA *sepa, SCIP_SET *set)
SCIP_RETCODE SCIPsepaInitsol(SCIP_SEPA *sepa, SCIP_SET *set)
SCIP_RETCODE SCIPsepaExit(SCIP_SEPA *sepa, SCIP_SET *set)
void SCIPsepaIncNCutsApplied(SCIP_SEPA *sepa, SCIP_Bool fromcutpool)
SCIP_RETCODE SCIPsepaInit(SCIP_SEPA *sepa, SCIP_SET *set)
void SCIPsepaSetFree(SCIP_SEPA *sepa, SCIP_DECL_SEPAFREE((*sepafree)))
void SCIPsepaSetCopy(SCIP_SEPA *sepa, SCIP_DECL_SEPACOPY((*sepacopy)))
void SCIPsepaSetExit(SCIP_SEPA *sepa, SCIP_DECL_SEPAEXIT((*sepaexit)))
void SCIPsepaSetIsParentsepa(SCIP_SEPA *sepa)
SCIP_RETCODE SCIPsepaFree(SCIP_SEPA **sepa, SCIP_SET *set)
void SCIPsepaIncNCutsAdded(SCIP_SEPA *sepa, SCIP_Bool fromcutpool)
void SCIPsepaIncNCutsFoundAtNode(SCIP_SEPA *sepa)
void SCIPsepaEnableOrDisableClocks(SCIP_SEPA *sepa, SCIP_Bool enable)
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)
void SCIPsepaSetPriority(SCIP_SEPA *sepa, SCIP_SET *set, int priority)
void SCIPsepaSetExitsol(SCIP_SEPA *sepa, SCIP_DECL_SEPAEXITSOL((*sepaexitsol)))
internal methods for separators
int SCIPsepastoreGetNCuts(SCIP_SEPASTORE *sepastore)
internal methods for storing separated cuts
SCIP_RETCODE SCIPsetAddIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int *valueptr, SCIP_Bool isadvanced, int defaultvalue, int minvalue, int maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
SCIP_RETCODE SCIPsetAddBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_RETCODE SCIPsetAddRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Real *valueptr, SCIP_Bool isadvanced, SCIP_Real defaultvalue, SCIP_Real minvalue, SCIP_Real maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
internal methods for global SCIP settings
internal methods for problem statistics
SCIP_Longint ncutsaddedviapool
SCIP_Longint ndomredsfound
SCIP_Longint lastsepanode
struct SCIP_Sepa * parentsepa
SCIP_Longint ncutsappliedviapool
SCIP_Longint ncutsapplieddirect
SCIP_Longint ncutsaddeddirect
SCIP_Longint nprobholechgs
SCIP_Longint nprobboundchgs
datastructures for separators
struct SCIP_ParamData SCIP_PARAMDATA
enum SCIP_Result SCIP_RESULT
enum SCIP_Retcode SCIP_RETCODE
struct SCIP_SepaData SCIP_SEPADATA
#define SCIP_DECL_SEPAINITSOL(x)
#define SCIP_DECL_SEPAEXECSOL(x)
#define SCIP_DECL_SEPAEXECLP(x)
#define SCIP_DECL_SEPAFREE(x)
#define SCIP_DECL_SEPAEXITSOL(x)
#define SCIP_DECL_SEPAEXIT(x)
#define SCIP_DECL_SEPACOPY(x)
#define SCIP_DECL_SEPAINIT(x)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4