Detailed Description
methods for the management of nonlinear handlers
Function Documentation
◆ SCIPincludeNlhdlrNonlinear()
SCIP_RETCODE SCIPincludeNlhdlrNonlinear | ( | 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 | ||
) |
creates a nonlinear handler and includes it into the nonlinear constraint handler
- Parameters
-
scip SCIP data structure nlhdlr buffer where to store nonlinear handler name name of nonlinear handler (must not be NULL) desc description of nonlinear handler (can be NULL) detectpriority detection priority of nonlinear handler enfopriority enforcement priority of nonlinear handler nlhdlrdata data of nonlinear handler (can be NULL)
Definition at line 13699 of file cons_nonlinear.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_STAGE_INIT, SCIPconshdlrGetData(), SCIPensureBlockMemoryArray, SCIPerrorMessage, SCIPfindConshdlr(), SCIPgetNNlhdlrsNonlinear(), SCIPgetStage(), SCIPnlhdlrCreate(), and SCIPsortDownPtr().
Referenced by SCIPevalExprQuadraticAuxNonlinear(), SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), and SCIPincludeNlhdlrSoc().
◆ SCIPgetNNlhdlrsNonlinear()
int SCIPgetNNlhdlrsNonlinear | ( | SCIP_CONSHDLR * | conshdlr | ) |
get number of nonlinear handler
- Parameters
-
conshdlr nonlinear constraint handler
Definition at line 13748 of file cons_nonlinear.c.
References NULL, SCIPconshdlrGetData(), and SCIPgetNlhdlrsNonlinear().
Referenced by SCIPincludeNlhdlrNonlinear().
◆ SCIPgetNlhdlrsNonlinear()
SCIP_NLHDLR ** SCIPgetNlhdlrsNonlinear | ( | SCIP_CONSHDLR * | conshdlr | ) |
get nonlinear handlers
- Parameters
-
conshdlr nonlinear constraint handler
Definition at line 13763 of file cons_nonlinear.c.
References NULL, SCIPconshdlrGetData(), and SCIPfindNlhdlrNonlinear().
Referenced by SCIPgetNNlhdlrsNonlinear().
◆ SCIPfindNlhdlrNonlinear()
SCIP_NLHDLR * SCIPfindNlhdlrNonlinear | ( | SCIP_CONSHDLR * | conshdlr, |
const char * | name | ||
) |
returns a nonlinear handler of a given name (or NULL if not found)
- Parameters
-
conshdlr nonlinear constraint handler name name of nonlinear handler
Definition at line 13778 of file cons_nonlinear.c.
References h, NULL, SCIPconshdlrGetData(), SCIPgetNlhdlrExprDataNonlinear(), and SCIPnlhdlrGetName().
Referenced by SCIP_DECL_TABLEOUTPUT(), and SCIPgetNlhdlrsNonlinear().
◆ SCIPgetNlhdlrExprDataNonlinear()
SCIP_NLHDLREXPRDATA * SCIPgetNlhdlrExprDataNonlinear | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_EXPR * | expr | ||
) |
gives expression data that a given nonlinear handler stored in an expression
Returns NULL if expr has not been detected by nlhdlr or nlhdlr did not store data.
- Parameters
-
nlhdlr nonlinear handler expr expression
Definition at line 13803 of file cons_nonlinear.c.
References NULL, and SCIPexprGetOwnerData().
Referenced by SCIP_DECL_TABLEOUTPUT(), SCIPaddIneqBilinear(), and SCIPfindNlhdlrNonlinear().
◆ SCIPnlhdlrSetCopyHdlr()
void SCIPnlhdlrSetCopyHdlr | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRCOPYHDLR((*copy)) | |||
) |
sets the copy handler callback of a nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 72 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), and SCIPincludeNlhdlrSoc().
◆ SCIPnlhdlrSetFreeHdlrData()
void SCIPnlhdlrSetFreeHdlrData | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRFREEHDLRDATA((*freehdlrdata)) | |||
) |
sets the nonlinear handler callback to free the nonlinear handler data
- Parameters
-
nlhdlr nonlinear handler
Definition at line 83 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), and SCIPincludeNlhdlrSoc().
◆ SCIPnlhdlrSetFreeExprData()
void SCIPnlhdlrSetFreeExprData | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRFREEEXPRDATA((*freeexprdata)) | |||
) |
sets the nonlinear handler callback to free expression specific data of nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 94 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), and SCIPincludeNlhdlrSoc().
◆ SCIPnlhdlrSetInitExit() [1/2]
void SCIPnlhdlrSetInitExit | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRINIT((*init)) | , | ||
SCIP_DECL_NLHDLREXIT((*exit_)) | |||
) |
sets the initialization and deinitialization callback of a nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 106 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrPerspective(), and SCIPincludeNlhdlrSoc().
◆ SCIPnlhdlrSetProp()
void SCIPnlhdlrSetProp | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRINTEVAL((*inteval)) | , | ||
SCIP_DECL_NLHDLRREVERSEPROP((*reverseprop)) | |||
) |
sets the propagation callbacks of a nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 119 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrQuadratic(), and SCIPincludeNlhdlrQuotient().
◆ SCIPnlhdlrSetSepa()
void SCIPnlhdlrSetSepa | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRINITSEPA((*initsepa)) | , | ||
SCIP_DECL_NLHDLRENFO((*enfo)) | , | ||
SCIP_DECL_NLHDLRESTIMATE((*estimate)) | , | ||
SCIP_DECL_NLHDLREXITSEPA((*exitsepa)) | |||
) |
sets the enforcement callbacks of a nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 132 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), and SCIPincludeNlhdlrSoc().
◆ SCIPnlhdlrGetName()
const char * SCIPnlhdlrGetName | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives name of nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 150 of file nlhdlr.c.
References SCIP_Nlhdlr::name, and NULL.
Referenced by addTightEstimatorCut(), addTightEstimatorCuts(), analyzeViolation(), detectNlhdlr(), enforceExpr(), enforceExprNlhdlr(), forwardPropExpr(), reversePropQueue(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_EXPR_OWNERPRINT(), SCIP_DECL_NLHDLRCOPYHDLR(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_SORTPTRCOMP(), SCIPaddIneqBilinear(), SCIPfindNlhdlrNonlinear(), SCIPgetExprsBilinear(), SCIPgetNExprsBilinear(), and SCIPprocessRowprepNonlinear().
◆ SCIPnlhdlrGetDesc()
const char * SCIPnlhdlrGetDesc | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives description of nonlinear handler, can be NULL
- Parameters
-
nlhdlr nonlinear handler
Definition at line 160 of file nlhdlr.c.
References SCIP_Nlhdlr::desc, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC().
◆ SCIPnlhdlrGetDetectPriority()
int SCIPnlhdlrGetDetectPriority | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives detection priority of nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 170 of file nlhdlr.c.
References SCIP_Nlhdlr::detectpriority, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIP_DECL_SORTPTRCOMP().
◆ SCIPnlhdlrGetEnfoPriority()
int SCIPnlhdlrGetEnfoPriority | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives enforcement priority of nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 180 of file nlhdlr.c.
References SCIP_Nlhdlr::enfopriority, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIP_DECL_SORTPTRCOMP().
◆ SCIPnlhdlrIsEnabled()
SCIP_Bool SCIPnlhdlrIsEnabled | ( | SCIP_NLHDLR * | nlhdlr | ) |
returns whether nonlinear handler is enabled
- Parameters
-
nlhdlr nonlinear handler
Definition at line 190 of file nlhdlr.c.
References SCIP_Nlhdlr::enabled, and NULL.
Referenced by detectNlhdlr(), and SCIP_DECL_DIALOGEXEC().
◆ SCIPnlhdlrGetData()
SCIP_NLHDLRDATA * SCIPnlhdlrGetData | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives handler data of nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 200 of file nlhdlr.c.
References SCIP_Nlhdlr::data, and NULL.
Referenced by estimateConvexSecant(), estimateVertexPolyhedral(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NLHDLREXIT(), SCIP_DECL_NLHDLRFREEEXPRDATA(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_NLHDLRINTEVAL(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIP_DECL_TABLEOUTPUT(), SCIPgetExprsBilinear(), and SCIPgetNExprsBilinear().
◆ SCIPnlhdlrHasIntEval()
SCIP_Bool SCIPnlhdlrHasIntEval | ( | SCIP_NLHDLR * | nlhdlr | ) |
returns whether nonlinear handler implements the interval evaluation callback
- Parameters
-
nlhdlr nonlinear handler
Definition at line 210 of file nlhdlr.c.
References NULL.
Referenced by forwardPropExpr().
◆ SCIPnlhdlrHasReverseProp()
SCIP_Bool SCIPnlhdlrHasReverseProp | ( | SCIP_NLHDLR * | nlhdlr | ) |
◆ SCIPnlhdlrHasInitSepa()
SCIP_Bool SCIPnlhdlrHasInitSepa | ( | SCIP_NLHDLR * | nlhdlr | ) |
returns whether nonlinear handler implements the separation initialization callback
- Parameters
-
nlhdlr nonlinear handler
Definition at line 226 of file nlhdlr.c.
References NULL.
Referenced by initSepa().
◆ SCIPnlhdlrHasExitSepa()
SCIP_Bool SCIPnlhdlrHasExitSepa | ( | SCIP_NLHDLR * | nlhdlr | ) |
◆ SCIPnlhdlrHasEnfo()
SCIP_Bool SCIPnlhdlrHasEnfo | ( | SCIP_NLHDLR * | nlhdlr | ) |
◆ SCIPnlhdlrHasEstimate()
SCIP_Bool SCIPnlhdlrHasEstimate | ( | SCIP_NLHDLR * | nlhdlr | ) |
returns whether nonlinear handler implements the estimator callback
- Parameters
-
nlhdlr nonlinear handler
Definition at line 250 of file nlhdlr.c.
References NULL.
Referenced by addTightEstimatorCuts(), enforceExprNlhdlr(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRENFO(), and SCIP_DECL_NLHDLREVALAUX().
◆ SCIP_DECL_SORTPTRCOMP()
SCIP_DECL_SORTPTRCOMP | ( | SCIPnlhdlrComp | ) |
compares two nonlinear handlers by detection priority
if handlers have same detection priority, then compare by name
Definition at line 261 of file nlhdlr.c.
References SCIP_Nlhdlr::detectpriority, SCIP_Nlhdlr::enfopriority, SCIP_Nlhdlr::name, and NULL.
◆ SCIPnlhdlrSetInitExit() [2/2]
void SCIPnlhdlrSetInitExit | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRINIT((*init)) | , | ||
SCIP_DECL_NLHDLREXIT((*exit)) | |||
) |
sets the initialization and deinitialization callback of a nonlinear handler
- Parameters
-
nlhdlr nonlinear handler