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 13687 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 13736 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 13751 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 13766 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 13791 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 63 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 74 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 85 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 97 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 110 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 123 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 141 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 151 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 161 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 171 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 181 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 191 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 201 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 217 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 241 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 252 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