51#undef SCIPnlhdlrSetCopyHdlr
52#undef SCIPnlhdlrSetFreeHdlrData
53#undef SCIPnlhdlrSetFreeExprData
54#undef SCIPnlhdlrSetInitExit
55#undef SCIPnlhdlrSetProp
56#undef SCIPnlhdlrSetSepa
57#undef SCIPnlhdlrGetName
58#undef SCIPnlhdlrGetDesc
59#undef SCIPnlhdlrGetDetectPriority
60#undef SCIPnlhdlrGetEnfoPriority
61#undef SCIPnlhdlrIsEnabled
62#undef SCIPnlhdlrGetData
63#undef SCIPnlhdlrHasIntEval
64#undef SCIPnlhdlrHasReverseProp
65#undef SCIPnlhdlrHasInitSepa
66#undef SCIPnlhdlrHasExitSepa
67#undef SCIPnlhdlrHasEnfo
68#undef SCIPnlhdlrHasEstimate
79 nlhdlr->copyhdlr =
copy;
115 nlhdlr->exit =
exit_;
145 nlhdlr->estimate = estimate;
214 return nlhdlr->inteval !=
NULL;
222 return nlhdlr->reverseprop !=
NULL;
230 return nlhdlr->initsepa !=
NULL;
238 return nlhdlr->exitsepa !=
NULL;
246 return nlhdlr->enfo !=
NULL;
254 return nlhdlr->estimate !=
NULL;
272 if(
h1->detectpriority !=
h2->detectpriority )
273 return h1->detectpriority -
h2->detectpriority;
278#ifdef SCIP_DISABLED_CODE
294 if(
h1->enfopriority !=
h2->enfopriority )
295 return h1->enfopriority -
h2->enfopriority;
297 if(
h1->detectpriority !=
h2->detectpriority )
298 return h1->detectpriority -
h2->detectpriority;
309#undef SCIPnlhdlrResetNDetectionslast
310#undef SCIPnlhdlrIncrementNCutoffs
311#undef SCIPnlhdlrIncrementNSeparated
344 (*nlhdlr)->detectpriority = detectpriority;
345 (*nlhdlr)->enfopriority = enfopriority;
347 (*nlhdlr)->detect =
detect;
371 if( (*nlhdlr)->freehdlrdata !=
NULL )
409 if( nlhdlr->freeexprdata !=
NULL )
411 SCIP_CALL( nlhdlr->freeexprdata(
scip, nlhdlr, expr, nlhdlrexprdata) );
438 if( nlhdlr->init !=
NULL )
451 if( nlhdlr->exit !=
NULL )
487 SCIP_CALL( nlhdlr->evalaux(
scip, nlhdlr, expr, nlhdlrexprdata, auxvalue,
sol) );
499 if( nlhdlr->inteval !=
NULL )
520 if( nlhdlr->reverseprop ==
NULL )
529 SCIP_CALL( nlhdlr->reverseprop(
scip, conshdlr, nlhdlr, expr, nlhdlrexprdata, bounds, infeasible, nreductions) );
549 if( nlhdlr->initsepa ==
NULL )
556 SCIP_CALL( nlhdlr->initsepa(
scip, conshdlr, cons, nlhdlr, expr, nlhdlrexprdata, overestimate, underestimate, infeasible) );
573 if( nlhdlr->exitsepa !=
NULL )
576 SCIP_CALL( nlhdlr->exitsepa(
scip, nlhdlr, expr, nlhdlrexprdata) );
591 if( nlhdlr->enfo ==
NULL )
608 SCIP_CALL( nlhdlr->enfo(
scip, conshdlr, cons, nlhdlr, expr, nlhdlrexprdata,
sol, auxvalue,
643 if( nlhdlr->estimate ==
NULL )
661 SCIP_CALL( nlhdlr->estimate(
scip, conshdlr, nlhdlr, expr, nlhdlrexprdata,
sol, auxvalue, overestimate, targetvalue,
addbranchscores,
rowpreps,
success,
addedbranchscores) );
707 SCIPinfoMessage(
scip, file,
"Nlhdlrs : %10s %10s %10s %10s %10s %10s %10s %10s %10s %10s %10s %10s %10s\n",
708 "Detects",
"DetectAll",
"DetectTime",
709 "#IntEval",
"IntEvalTi",
710 "#RevProp",
"RevPropTi",
"DomReds",
"Cutoffs",
711 "#Enforce",
"EnfoTime",
"Cuts",
"Branching");
713 for(
i = 0;
i < nnlhdlrs; ++
i )
716 if( !nlhdlrs[
i]->enabled )
#define SCIP_CALL_FINALLY(x, y)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
SCIP_RETCODE SCIPaddBoolParam(SCIP *scip, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
#define SCIPallocClearBlockMemory(scip, ptr)
#define SCIPfreeMemoryNull(scip, ptr)
#define SCIPduplicateMemoryArray(scip, ptr, source, num)
#define SCIPfreeMemoryArray(scip, ptr)
#define SCIPfreeMemory(scip, ptr)
#define SCIPfreeBlockMemory(scip, ptr)
void SCIPnlhdlrSetInitExit(SCIP_NLHDLR *nlhdlr, SCIP_DECL_NLHDLRINIT((*init)),)
const char * SCIPnlhdlrGetDesc(SCIP_NLHDLR *nlhdlr)
SCIP_NLHDLRDATA * SCIPnlhdlrGetData(SCIP_NLHDLR *nlhdlr)
void SCIPnlhdlrSetFreeExprData(SCIP_NLHDLR *nlhdlr,)
SCIP_Bool SCIPnlhdlrHasIntEval(SCIP_NLHDLR *nlhdlr)
SCIP_Bool SCIPnlhdlrHasEnfo(SCIP_NLHDLR *nlhdlr)
int SCIPnlhdlrGetDetectPriority(SCIP_NLHDLR *nlhdlr)
SCIP_Bool SCIPnlhdlrIsEnabled(SCIP_NLHDLR *nlhdlr)
SCIP_Bool SCIPnlhdlrHasReverseProp(SCIP_NLHDLR *nlhdlr)
const char * SCIPnlhdlrGetName(SCIP_NLHDLR *nlhdlr)
SCIP_Bool SCIPnlhdlrHasEstimate(SCIP_NLHDLR *nlhdlr)
void SCIPnlhdlrSetSepa(SCIP_NLHDLR *nlhdlr, SCIP_DECL_NLHDLRINITSEPA((*initsepa)), SCIP_DECL_NLHDLRENFO((*enfo)), SCIP_DECL_NLHDLRESTIMATE((*estimate)),)
void SCIPnlhdlrSetFreeHdlrData(SCIP_NLHDLR *nlhdlr,)
void SCIPnlhdlrSetCopyHdlr(SCIP_NLHDLR *nlhdlr,)
SCIP_Bool SCIPnlhdlrHasInitSepa(SCIP_NLHDLR *nlhdlr)
int SCIPnlhdlrGetEnfoPriority(SCIP_NLHDLR *nlhdlr)
void SCIPnlhdlrSetProp(SCIP_NLHDLR *nlhdlr, SCIP_DECL_NLHDLRINTEVAL((*inteval)),)
SCIP_Bool SCIPnlhdlrHasExitSepa(SCIP_NLHDLR *nlhdlr)
SCIP_RETCODE SCIPcreateClock(SCIP *scip, SCIP_CLOCK **clck)
SCIP_RETCODE SCIPresetClock(SCIP *scip, SCIP_CLOCK *clck)
SCIP_RETCODE SCIPstopClock(SCIP *scip, SCIP_CLOCK *clck)
SCIP_RETCODE SCIPfreeClock(SCIP *scip, SCIP_CLOCK **clck)
SCIP_Real SCIPgetClockTime(SCIP *scip, SCIP_CLOCK *clck)
SCIP_RETCODE SCIPstartClock(SCIP *scip, SCIP_CLOCK *clck)
int SCIPsnprintf(char *t, int len, const char *s,...)
assert(minobj< SCIPgetCutoffbound(scip))
static const char * paramname[]
SCIP_RETCODE SCIPnlhdlrFree(SCIP *scip, SCIP_NLHDLR **nlhdlr)
SCIP_RETCODE SCIPnlhdlrCreate(SCIP *scip, SCIP_NLHDLR **nlhdlr, const char *name, const char *desc, int detectpriority, int enfopriority, SCIP_DECL_NLHDLRDETECT((*detect)), SCIP_DECL_NLHDLREVALAUX((*evalaux)), SCIP_NLHDLRDATA *nlhdlrdata)
void SCIPnlhdlrPrintStatistics(SCIP *scip, SCIP_NLHDLR **nlhdlrs, int nnlhdlrs, FILE *file)
private functions of nonlinear handlers of nonlinear constraints
#define SCIPnlhdlrIncrementNSeparated(nlhdlr)
#define SCIPnlhdlrResetNDetectionslast(nlhdlr)
#define SCIPnlhdlrIncrementNCutoffs(nlhdlr)
public data structures and miscellaneous methods
public functions of nonlinear handlers of nonlinear constraints
public methods for memory management
public methods for message handling
public methods for SCIP parameter handling
public methods for timing
SCIP_Longint ndetectionslast
SCIP_Longint nintevalcalls
SCIP_Longint nbranchscores
structure definitions related to nonlinear handlers of nonlinear constraints
#define SCIP_DECL_SORTPTRCOMP(x)
#define SCIP_DECL_NLHDLREVALAUX(x)
#define SCIP_DECL_NLHDLRESTIMATE(x)
struct SCIP_NlhdlrData SCIP_NLHDLRDATA
#define SCIP_DECL_NLHDLRCOPYHDLR(x)
#define SCIP_DECL_NLHDLRINIT(x)
#define SCIP_DECL_NLHDLREXIT(x)
#define SCIP_DECL_NLHDLRFREEEXPRDATA(x)
#define SCIP_DECL_NLHDLRDETECT(x)
#define SCIP_NLHDLR_METHOD_NONE
#define SCIP_DECL_NLHDLREXITSEPA(x)
#define SCIP_DECL_NLHDLRINITSEPA(x)
#define SCIP_DECL_NLHDLRFREEHDLRDATA(x)
#define SCIP_DECL_NLHDLRREVERSEPROP(x)
#define SCIP_DECL_NLHDLRENFO(x)
#define SCIP_DECL_NLHDLRINTEVAL(x)
enum SCIP_Retcode SCIP_RETCODE