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 14814 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 14863 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 14878 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 14893 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 14918 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 76 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 87 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 98 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 110 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 123 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 136 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), and SCIPincludeNlhdlrSoc().
◆ SCIPnlhdlrSetSollinearize()
void SCIPnlhdlrSetSollinearize | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRSOLLINEARIZE((*sollinearize)) | |||
) |
sets the solution linearization callback of a nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 154 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrQuotient(), and SCIPincludeNlhdlrSoc().
◆ SCIPnlhdlrGetName()
const char * SCIPnlhdlrGetName | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives name of nonlinear handler
- Parameters
-
nlhdlr nonlinear handler
Definition at line 166 of file nlhdlr.c.
References SCIP_Nlhdlr::name, and NULL.
Referenced by 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 176 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 186 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 196 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 206 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 216 of file nlhdlr.c.
References SCIP_Nlhdlr::data, and NULL.
Referenced by estimateConvexSecant(), estimateGradient(), 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_NLHDLRSOLLINEARIZE(), 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 226 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 246 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 276 of file nlhdlr.c.
References NULL.
Referenced by enforceExprNlhdlr(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRENFO(), and SCIP_DECL_NLHDLREVALAUX().
◆ SCIPnlhdlrHasSollinearize()
SCIP_Bool SCIPnlhdlrHasSollinearize | ( | SCIP_NLHDLR * | nlhdlr | ) |
◆ 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 299 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