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 15443 of file cons_nonlinear.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_STAGE_INIT, SCIPconshdlrGetData(), SCIPensureBlockMemoryArray, SCIPerrorMessage, SCIPfindConshdlr(), SCIPgetStage(), SCIPnlhdlrCreate(), and SCIPsortDownPtr().
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), SCIPincludeNlhdlrSignomial(), and SCIPincludeNlhdlrSoc().
◆ SCIPgetNNlhdlrsNonlinear()
| int SCIPgetNNlhdlrsNonlinear | ( | SCIP_CONSHDLR * | conshdlr | ) |
get number of nonlinear handler
- Parameters
-
conshdlr nonlinear constraint handler
Definition at line 15492 of file cons_nonlinear.c.
References NULL, and SCIPconshdlrGetData().
◆ SCIPgetNlhdlrsNonlinear()
| SCIP_NLHDLR ** SCIPgetNlhdlrsNonlinear | ( | SCIP_CONSHDLR * | conshdlr | ) |
get nonlinear handlers
- Parameters
-
conshdlr nonlinear constraint handler
Definition at line 15507 of file cons_nonlinear.c.
References NULL, and SCIPconshdlrGetData().
◆ 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 15522 of file cons_nonlinear.c.
References h, NULL, SCIPconshdlrGetData(), and SCIPnlhdlrGetName().
Referenced by applyObbtBilinear(), initBounds(), SCIP_DECL_TABLECOLLECT(), and SCIP_DECL_TABLEOUTPUT().
◆ 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 15547 of file cons_nonlinear.c.
References NULL, and SCIPexprGetOwnerData().
Referenced by SCIP_DECL_TABLECOLLECT(), SCIP_DECL_TABLEOUTPUT(), and SCIPaddIneqBilinear().
◆ 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 77 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), SCIPincludeNlhdlrSignomial(), 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 88 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrSignomial(), 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 99 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), SCIPincludeNlhdlrSignomial(), 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 111 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), and SCIPincludeNlhdlrPerspective().
◆ 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 124 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 137 of file nlhdlr.c.
References NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), SCIPincludeNlhdlrSignomial(), 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 155 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 167 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 177 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 187 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 197 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 207 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 217 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_TABLECOLLECT(), 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 227 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 247 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 277 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 300 of file nlhdlr.c.
References SCIP_Nlhdlr::detectpriority, 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