constraint handler for nonlinear constraints specified by algebraic expressions
- Author
- Ksenia Bestuzheva
-
Benjamin Mueller
-
Felipe Serrano
-
Stefan Vigerske
For additional documentation on this constraint handler, see also the SCIP 8 release report.
Definition in file cons_nonlinear.h.
|
#define | SCIP_DECL_VERTEXPOLYFUN(f) SCIP_Real f (SCIP_Real* args, int nargs, void* funcdata) |
|
#define | SCIP_MAXVERTEXPOLYDIM 14 |
|
#define | SCIP_DECL_NONLINCONSUPGD(x) |
|
typedef struct SCIP_ConsNonlinear_Auxexpr | SCIP_CONSNONLINEAR_AUXEXPR |
|
typedef struct SCIP_ConsNonlinear_BilinTerm | SCIP_CONSNONLINEAR_BILINTERM |
|
SCIP_RETCODE | SCIPincludeConsUpgradeNonlinear (SCIP *scip, SCIP_DECL_NONLINCONSUPGD((*nlconsupgd)), int priority, SCIP_Bool active, const char *conshdlrname) |
|
SCIP_RETCODE | SCIPcreateConsNonlinear (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_EXPR *expr, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable) |
|
SCIP_RETCODE | SCIPcreateConsBasicNonlinear (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_EXPR *expr, SCIP_Real lhs, SCIP_Real rhs) |
|
SCIP_RETCODE | SCIPcreateConsQuadraticNonlinear (SCIP *scip, SCIP_CONS **cons, const char *name, int nlinvars, SCIP_VAR **linvars, SCIP_Real *lincoefs, int nquadterms, SCIP_VAR **quadvars1, SCIP_VAR **quadvars2, SCIP_Real *quadcoefs, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable) |
|
SCIP_RETCODE | SCIPcreateConsBasicQuadraticNonlinear (SCIP *scip, SCIP_CONS **cons, const char *name, int nlinvars, SCIP_VAR **linvars, SCIP_Real *lincoefs, int nquadterms, SCIP_VAR **quadvars1, SCIP_VAR **quadvars2, SCIP_Real *quadcoefs, SCIP_Real lhs, SCIP_Real rhs) |
|
SCIP_RETCODE | SCIPcreateConsBasicSOCNonlinear (SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_Real *coefs, SCIP_Real *offsets, SCIP_Real constant, SCIP_VAR *rhsvar, SCIP_Real rhscoeff, SCIP_Real rhsoffset) |
|
SCIP_RETCODE | SCIPcreateConsBasicSignpowerNonlinear (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *x, SCIP_VAR *z, SCIP_Real exponent, SCIP_Real xoffset, SCIP_Real zcoef, SCIP_Real lhs, SCIP_Real rhs) |
|
SCIP_Longint | SCIPgetCurBoundsTagNonlinear (SCIP_CONSHDLR *conshdlr) |
|
SCIP_Longint | SCIPgetLastBoundRelaxTagNonlinear (SCIP_CONSHDLR *conshdlr) |
|
void | SCIPincrementCurBoundsTagNonlinear (SCIP_CONSHDLR *conshdlr, SCIP_Bool boundrelax) |
|
SCIP_HASHMAP * | SCIPgetVarExprHashmapNonlinear (SCIP_CONSHDLR *conshdlr) |
|
SCIP_RETCODE | SCIPprocessRowprepNonlinear (SCIP *scip, SCIP_NLHDLR *nlhdlr, SCIP_CONS *cons, SCIP_EXPR *expr, SCIP_ROWPREP *rowprep, SCIP_Bool overestimate, SCIP_VAR *auxvar, SCIP_Real auxvalue, SCIP_Bool allowweakcuts, SCIP_Bool branchscoresuccess, SCIP_Bool inenforcement, SCIP_SOL *sol, SCIP_RESULT *result) |
|
SCIP_Bool | SCIPassumeConvexNonlinear (SCIP_CONSHDLR *conshdlr) |
|
SCIP_RETCODE | SCIPcollectBilinTermsNonlinear (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_CONS **conss, int nconss) |
|
int | SCIPgetNBilinTermsNonlinear (SCIP_CONSHDLR *conshdlr) |
|
SCIP_CONSNONLINEAR_BILINTERM * | SCIPgetBilinTermsNonlinear (SCIP_CONSHDLR *conshdlr) |
|
int | SCIPgetBilinTermIdxNonlinear (SCIP_CONSHDLR *conshdlr, SCIP_VAR *x, SCIP_VAR *y) |
|
SCIP_CONSNONLINEAR_BILINTERM * | SCIPgetBilinTermNonlinear (SCIP_CONSHDLR *conshdlr, SCIP_VAR *x, SCIP_VAR *y) |
|
SCIP_Real | SCIPevalBilinAuxExprNonlinear (SCIP *scip, SCIP_VAR *x, SCIP_VAR *y, SCIP_CONSNONLINEAR_AUXEXPR *auxexpr, SCIP_SOL *sol) |
|
SCIP_RETCODE | SCIPinsertBilinearTermExistingNonlinear (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_VAR *x, SCIP_VAR *y, SCIP_VAR *auxvar, int nlockspos, int nlocksneg) |
|
SCIP_RETCODE | SCIPinsertBilinearTermImplicitNonlinear (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_VAR *x, SCIP_VAR *y, SCIP_VAR *auxvar, SCIP_Real coefx, SCIP_Real coefy, SCIP_Real coefaux, SCIP_Real cst, SCIP_Bool overestimate) |
|
SCIP_RETCODE | SCIPcomputeFacetVertexPolyhedralNonlinear (SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_Bool overestimate, SCIP_DECL_VERTEXPOLYFUN((*function)), void *fundata, SCIP_Real *xstar, SCIP_Real *box, int nallvars, SCIP_Real targetvalue, SCIP_Bool *success, SCIP_Real *facetcoefs, SCIP_Real *facetconstant) |
|
SCIP_EXPR * | SCIPgetExprNonlinear (SCIP_CONS *cons) |
|
SCIP_Real | SCIPgetLhsNonlinear (SCIP_CONS *cons) |
|
SCIP_Real | SCIPgetRhsNonlinear (SCIP_CONS *cons) |
|
SCIP_RETCODE | SCIPgetNlRowNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_NLROW **nlrow) |
|
SCIP_EXPRCURV | SCIPgetCurvatureNonlinear (SCIP_CONS *cons) |
|
SCIP_RETCODE | SCIPcheckQuadraticNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_Bool *isquadratic) |
|
SCIP_RETCODE | SCIPchgLhsNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_Real lhs) |
|
SCIP_RETCODE | SCIPchgRhsNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_Real rhs) |
|
SCIP_RETCODE | SCIPchgExprNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_EXPR *expr) |
|
SCIP_RETCODE | SCIPaddLinearVarNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_Real coef) |
|
SCIP_RETCODE | SCIPaddExprNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_EXPR *expr, SCIP_Real coef) |
|
SCIP_RETCODE | SCIPgetAbsViolationNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_Real *viol) |
|
SCIP_RETCODE | SCIPgetRelViolationNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_SOL *sol, SCIP_Real *viol) |
|
void | SCIPgetLinvarMayDecreaseNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_VAR **var, SCIP_Real *coef) |
|
void | SCIPgetLinvarMayIncreaseNonlinear (SCIP *scip, SCIP_CONS *cons, SCIP_VAR **var, SCIP_Real *coef) |
|
int | SCIPgetExprNLocksPosNonlinear (SCIP_EXPR *expr) |
|
int | SCIPgetExprNLocksNegNonlinear (SCIP_EXPR *expr) |
|
SCIP_VAR * | SCIPgetExprAuxVarNonlinear (SCIP_EXPR *expr) |
|
int | SCIPgetExprNEnfosNonlinear (SCIP_EXPR *expr) |
|
void | SCIPgetExprEnfoDataNonlinear (SCIP_EXPR *expr, int idx, SCIP_NLHDLR **nlhdlr, SCIP_NLHDLREXPRDATA **nlhdlrexprdata, SCIP_NLHDLR_METHOD *nlhdlrparticipation, SCIP_Bool *sepabelowusesactivity, SCIP_Bool *sepaaboveusesactivity, SCIP_Real *auxvalue) |
|
void | SCIPsetExprEnfoAuxValueNonlinear (SCIP_EXPR *expr, int idx, SCIP_Real auxvalue) |
|
unsigned int | SCIPgetExprNPropUsesActivityNonlinear (SCIP_EXPR *expr) |
|
unsigned int | SCIPgetExprNSepaUsesActivityNonlinear (SCIP_EXPR *expr) |
|
unsigned int | SCIPgetExprNAuxvarUsesNonlinear (SCIP_EXPR *expr) |
|
SCIP_RETCODE | SCIPregisterExprUsageNonlinear (SCIP *scip, SCIP_EXPR *expr, SCIP_Bool useauxvar, SCIP_Bool useactivityforprop, SCIP_Bool useactivityforsepabelow, SCIP_Bool useactivityforsepaabove) |
|
SCIP_RETCODE | SCIPgetExprAbsOrigViolationNonlinear (SCIP *scip, SCIP_EXPR *expr, SCIP_SOL *sol, SCIP_Longint soltag, SCIP_Real *viol, SCIP_Bool *violunder, SCIP_Bool *violover) |
|
SCIP_RETCODE | SCIPgetExprAbsAuxViolationNonlinear (SCIP *scip, SCIP_EXPR *expr, SCIP_Real auxvalue, SCIP_SOL *sol, SCIP_Real *viol, SCIP_Bool *violunder, SCIP_Bool *violover) |
|
SCIP_RETCODE | SCIPgetExprRelAuxViolationNonlinear (SCIP *scip, SCIP_EXPR *expr, SCIP_Real auxvalue, SCIP_SOL *sol, SCIP_Real *viol, SCIP_Bool *violunder, SCIP_Bool *violover) |
|
SCIP_INTERVAL | SCIPgetExprBoundsNonlinear (SCIP *scip, SCIP_EXPR *expr) |
|
SCIP_RETCODE | SCIPtightenExprIntervalNonlinear (SCIP *scip, SCIP_EXPR *expr, SCIP_INTERVAL newbounds, SCIP_Bool *cutoff, int *ntightenings) |
|
SCIP_RETCODE | SCIPmarkExprPropagateNonlinear (SCIP *scip, SCIP_EXPR *expr) |
|
void | SCIPaddExprViolScoreNonlinear (SCIP *scip, SCIP_EXPR *expr, SCIP_Real violscore) |
|
SCIP_RETCODE | SCIPaddExprsViolScoreNonlinear (SCIP *scip, SCIP_EXPR **exprs, int nexprs, SCIP_Real violscore, SCIP_SOL *sol, SCIP_Bool *success) |
|
SCIP_Real | SCIPgetExprViolScoreNonlinear (SCIP_EXPR *expr) |
|
SCIP_Real | SCIPgetExprPartialDiffNonlinear (SCIP *scip, SCIP_EXPR *expr, SCIP_VAR *var) |
|
SCIP_Real | SCIPgetExprPartialDiffGradientDirNonlinear (SCIP *scip, SCIP_EXPR *expr, SCIP_VAR *var) |
|
SCIP_Real | SCIPevalExprQuadraticAuxNonlinear (SCIP *scip, SCIP_EXPR *expr, SCIP_SOL *sol) |
|