methods for the management of nonlinear handlers
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
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 15247 of file cons_nonlinear.c.
References assert(), 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().
int SCIPgetNNlhdlrsNonlinear | ( | SCIP_CONSHDLR * | conshdlr | ) |
get number of nonlinear handler
conshdlr | nonlinear constraint handler |
Definition at line 15296 of file cons_nonlinear.c.
References assert(), NULL, and SCIPconshdlrGetData().
SCIP_NLHDLR ** SCIPgetNlhdlrsNonlinear | ( | SCIP_CONSHDLR * | conshdlr | ) |
get nonlinear handlers
conshdlr | nonlinear constraint handler |
Definition at line 15311 of file cons_nonlinear.c.
References assert(), NULL, and SCIPconshdlrGetData().
SCIP_NLHDLR * SCIPfindNlhdlrNonlinear | ( | SCIP_CONSHDLR * | conshdlr, |
const char * | name ) |
returns a nonlinear handler of a given name (or NULL if not found)
conshdlr | nonlinear constraint handler |
name | name of nonlinear handler |
Definition at line 15326 of file cons_nonlinear.c.
References assert(), h, NULL, SCIPconshdlrGetData(), and SCIPnlhdlrGetName().
Referenced by applyObbtBilinear(), initBounds(), SCIP_DECL_TABLEOUTPUT(), and SCIP_DECL_TABLEOUTPUT().
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.
nlhdlr | nonlinear handler |
expr | expression |
Definition at line 15351 of file cons_nonlinear.c.
References assert(), NULL, and SCIPexprGetOwnerData().
Referenced by SCIP_DECL_TABLEOUTPUT(), and SCIPaddIneqBilinear().
void SCIPnlhdlrSetCopyHdlr | ( | SCIP_NLHDLR * | nlhdlr | ) |
sets the copy handler callback of a nonlinear handler
nlhdlr | nonlinear handler copy callback (can be NULL) |
Definition at line 76 of file nlhdlr.c.
References assert(), and NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), SCIPincludeNlhdlrSignomial(), and SCIPincludeNlhdlrSoc().
void SCIPnlhdlrSetFreeHdlrData | ( | SCIP_NLHDLR * | nlhdlr | ) |
sets the nonlinear handler callback to free the nonlinear handler data
nlhdlr | nonlinear handler handler free callback (can be NULL) |
Definition at line 87 of file nlhdlr.c.
References assert(), and NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrSignomial(), and SCIPincludeNlhdlrSoc().
void SCIPnlhdlrSetFreeExprData | ( | SCIP_NLHDLR * | nlhdlr | ) |
sets the nonlinear handler callback to free expression specific data of nonlinear handler
nlhdlr | nonlinear handler nonlinear handler expression data free callback (can be NULL if data does not need to be freed) |
Definition at line 98 of file nlhdlr.c.
References assert(), and NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), SCIPincludeNlhdlrSignomial(), and SCIPincludeNlhdlrSoc().
void SCIPnlhdlrSetInitExit | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRINIT((*init)) | ) |
sets the initialization and deinitialization callback of a nonlinear handler
nlhdlr | nonlinear handler |
Definition at line 110 of file nlhdlr.c.
References assert(), and NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), and SCIPincludeNlhdlrPerspective().
void SCIPnlhdlrSetProp | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRINTEVAL((*inteval)) | ) |
sets the propagation callbacks of a nonlinear handler
nlhdlr | nonlinear handler |
Definition at line 123 of file nlhdlr.c.
References assert(), and NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrQuadratic(), and SCIPincludeNlhdlrQuotient().
void SCIPnlhdlrSetSepa | ( | SCIP_NLHDLR * | nlhdlr, |
SCIP_DECL_NLHDLRINITSEPA((*initsepa)) | , | ||
SCIP_DECL_NLHDLRENFO((*enfo)) | , | ||
SCIP_DECL_NLHDLRESTIMATE((*estimate)) | ) |
sets the enforcement callbacks of a nonlinear handler
nlhdlr | nonlinear handler |
Definition at line 136 of file nlhdlr.c.
References assert(), and NULL.
Referenced by SCIPincludeNlhdlrBilinear(), SCIPincludeNlhdlrConcave(), SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrPerspective(), SCIPincludeNlhdlrQuadratic(), SCIPincludeNlhdlrQuotient(), SCIPincludeNlhdlrSignomial(), and SCIPincludeNlhdlrSoc().
void SCIPnlhdlrSetSollinearize | ( | SCIP_NLHDLR * | nlhdlr | ) |
sets the solution linearization callback of a nonlinear handler
nlhdlr | nonlinear handler solution linearization callback |
Definition at line 154 of file nlhdlr.c.
References assert(), and NULL.
Referenced by SCIPincludeNlhdlrConvex(), SCIPincludeNlhdlrDefault(), SCIPincludeNlhdlrQuotient(), and SCIPincludeNlhdlrSoc().
const char * SCIPnlhdlrGetName | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives name of nonlinear handler
nlhdlr | nonlinear handler |
Definition at line 166 of file nlhdlr.c.
References assert(), 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_NLHDLRCOPYHDLR(), SCIP_DECL_NLHDLRCOPYHDLR(), SCIP_DECL_NLHDLRCOPYHDLR(), SCIP_DECL_NLHDLRCOPYHDLR(), SCIP_DECL_NLHDLRCOPYHDLR(), SCIP_DECL_NLHDLRCOPYHDLR(), SCIP_DECL_NLHDLRCOPYHDLR(), SCIP_DECL_NLHDLRCOPYHDLR(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_SORTPTRCOMP(), SCIPaddIneqBilinear(), SCIPfindNlhdlrNonlinear(), SCIPgetExprsBilinear(), SCIPgetNExprsBilinear(), and SCIPprocessRowprepNonlinear().
const char * SCIPnlhdlrGetDesc | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives description of nonlinear handler, can be NULL
nlhdlr | nonlinear handler |
Definition at line 176 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::desc, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC().
int SCIPnlhdlrGetDetectPriority | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives detection priority of nonlinear handler
nlhdlr | nonlinear handler |
Definition at line 186 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::detectpriority, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIP_DECL_SORTPTRCOMP().
int SCIPnlhdlrGetEnfoPriority | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives enforcement priority of nonlinear handler
nlhdlr | nonlinear handler |
Definition at line 196 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::enfopriority, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIP_DECL_SORTPTRCOMP().
SCIP_Bool SCIPnlhdlrIsEnabled | ( | SCIP_NLHDLR * | nlhdlr | ) |
returns whether nonlinear handler is enabled
nlhdlr | nonlinear handler |
Definition at line 206 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::enabled, NULL, and SCIP_Bool.
Referenced by detectNlhdlr(), and SCIP_DECL_DIALOGEXEC().
SCIP_NLHDLRDATA * SCIPnlhdlrGetData | ( | SCIP_NLHDLR * | nlhdlr | ) |
gives handler data of nonlinear handler
nlhdlr | nonlinear handler |
Definition at line 216 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::data, and NULL.
Referenced by estimateConvexSecant(), estimateGradient(), estimateVertexPolyhedral(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NLHDLREXIT(), SCIP_DECL_NLHDLREXIT(), SCIP_DECL_NLHDLREXIT(), SCIP_DECL_NLHDLREXIT(), SCIP_DECL_NLHDLRFREEEXPRDATA(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_NLHDLRINTEVAL(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIP_DECL_NLHDLRSOLLINEARIZE(), SCIP_DECL_TABLEOUTPUT(), SCIP_DECL_TABLEOUTPUT(), SCIPgetExprsBilinear(), and SCIPgetNExprsBilinear().
SCIP_Bool SCIPnlhdlrHasIntEval | ( | SCIP_NLHDLR * | nlhdlr | ) |
SCIP_Bool SCIPnlhdlrHasReverseProp | ( | SCIP_NLHDLR * | nlhdlr | ) |
SCIP_Bool SCIPnlhdlrHasInitSepa | ( | SCIP_NLHDLR * | nlhdlr | ) |
SCIP_Bool SCIPnlhdlrHasExitSepa | ( | SCIP_NLHDLR * | nlhdlr | ) |
SCIP_Bool SCIPnlhdlrHasEnfo | ( | SCIP_NLHDLR * | nlhdlr | ) |
SCIP_Bool SCIPnlhdlrHasEstimate | ( | SCIP_NLHDLR * | nlhdlr | ) |
returns whether nonlinear handler implements the estimator callback
nlhdlr | nonlinear handler |
Definition at line 276 of file nlhdlr.c.
References assert(), NULL, and SCIP_Bool.
Referenced by enforceExprNlhdlr(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRENFO(), and SCIP_DECL_NLHDLREVALAUX().
SCIP_Bool SCIPnlhdlrHasSollinearize | ( | SCIP_NLHDLR * | nlhdlr | ) |
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 assert(), SCIP_Nlhdlr::detectpriority, SCIP_Nlhdlr::name, and NULL.