Detailed Description
exponential expression handler
Definition in file expr_exp.c.
Go to the source code of this file.
Macros | |
| #define | EXPRHDLR_NAME "exp" |
| #define | EXPRHDLR_DESC "exponential expression" |
| #define | EXPRHDLR_PRECEDENCE 85000 |
| #define | EXPRHDLR_HASHKEY SCIPcalcFibHash(10181.0) |
Macro Definition Documentation
◆ EXPRHDLR_NAME
| #define EXPRHDLR_NAME "exp" |
Definition at line 42 of file expr_exp.c.
◆ EXPRHDLR_DESC
| #define EXPRHDLR_DESC "exponential expression" |
Definition at line 43 of file expr_exp.c.
◆ EXPRHDLR_PRECEDENCE
| #define EXPRHDLR_PRECEDENCE 85000 |
Definition at line 44 of file expr_exp.c.
◆ EXPRHDLR_HASHKEY
| #define EXPRHDLR_HASHKEY SCIPcalcFibHash(10181.0) |
Definition at line 45 of file expr_exp.c.
Function Documentation
◆ addExpSecant()
|
static |
computes coefficients of secant of an exponential term
- Parameters
-
scip SCIP data structure lb lower bound on variable ub upper bound on variable lincoef buffer to add coefficient of secant linconstant buffer to add constant of secant success buffer to set to FALSE if secant has failed due to large numbers or unboundedness
Definition at line 57 of file expr_exp.c.
References FALSE, NULL, REALABS, SCIP_Real, SCIPisEQ(), SCIPisInfinity(), and SCIPisLE().
Referenced by SCIP_DECL_EXPRESTIMATE(), and SCIP_DECL_EXPRINITESTIMATES().
◆ addExpLinearization()
|
static |
computes coefficients of linearization of an exponential term in a reference point
- Parameters
-
scip SCIP data structure refpoint point for which to compute value of linearization isint whether corresponding variable is a discrete variable, and thus linearization could be moved lincoef buffer to add coefficient of secant linconstant buffer to add constant of secant success buffer to set to FALSE if secant has failed due to large numbers or unboundedness
Definition at line 108 of file expr_exp.c.
References FALSE, NULL, REALABS, SCIP_Real, SCIPfloor(), SCIPisInfinity(), and SCIPisIntegral().
Referenced by SCIP_DECL_EXPRESTIMATE(), and SCIP_DECL_EXPRINITESTIMATES().
◆ SCIP_DECL_EXPRSIMPLIFY()
|
static |
simplifies an exp expression
Evaluates the exponential function when its child is a value expression.
TODO: exp(log(*)) = *
! [SnippetExprSimplifyExp]
! [SnippetExprSimplifyExp]
Definition at line 168 of file expr_exp.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPcaptureExpr(), SCIPcreateExprValue(), SCIPexprGetChildren(), SCIPexprGetNChildren(), SCIPgetValueExprValue(), and SCIPisExprValue().
◆ SCIP_DECL_EXPRCOPYHDLR()
|
static |
expression handler copy callback
Definition at line 200 of file expr_exp.c.
References SCIP_CALL, SCIP_OKAY, and SCIPincludeExprhdlrExp().
◆ SCIP_DECL_EXPRCOPYDATA()
|
static |
expression data copy callback
Definition at line 209 of file expr_exp.c.
References NULL, SCIP_OKAY, and SCIPexprGetData().
◆ SCIP_DECL_EXPRFREEDATA()
|
static |
expression data free callback
Definition at line 222 of file expr_exp.c.
References NULL, SCIP_OKAY, and SCIPexprSetData().
◆ SCIP_DECL_EXPRPARSE()
|
static |
expression parse callback
! [SnippetExprParseExp]
! [SnippetExprParseExp]
Definition at line 233 of file expr_exp.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateExprExp(), SCIPparseExpr(), SCIPreleaseExpr(), and TRUE.
◆ SCIP_DECL_EXPREVAL()
|
static |
expression point evaluation callback
Definition at line 259 of file expr_exp.c.
References NULL, SCIP_INVALID, SCIP_OKAY, SCIPexprGetChildren(), SCIPexprGetData(), SCIPexprGetEvalValue(), and SCIPexprGetNChildren().
◆ SCIP_DECL_EXPRBWDIFF()
|
static |
expression derivative evaluation callback
Definition at line 273 of file expr_exp.c.
References NULL, SCIP_INVALID, SCIP_OKAY, SCIPexprGetChildren(), SCIPexprGetEvalValue(), and SCIPisExprValue().
◆ SCIP_DECL_EXPRINTEVAL()
|
static |
expression interval evaluation callback
Definition at line 287 of file expr_exp.c.
References NULL, SCIP_INTERVAL_INFINITY, SCIP_OKAY, SCIPexprGetActivity(), SCIPexprGetChildren(), SCIPexprGetData(), SCIPexprGetNChildren(), SCIPintervalExp(), SCIPintervalIsEmpty(), and SCIPintervalSetEmpty().
◆ SCIP_DECL_EXPRESTIMATE()
|
static |
expression estimator callback
Definition at line 307 of file expr_exp.c.
References addExpLinearization(), addExpSecant(), EXPRHDLR_NAME, FALSE, NULL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STRINGEQ, SCIPexprGetChildren(), SCIPexprGetHdlr(), SCIPexprGetNChildren(), SCIPexprhdlrGetName(), SCIPexprIsIntegral(), and TRUE.
◆ SCIP_DECL_EXPRINITESTIMATES()
|
static |
initital estimates callback for an exponential expression
Definition at line 342 of file expr_exp.c.
References addExpLinearization(), addExpSecant(), EXPRHDLR_NAME, FALSE, MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_INVALID, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_Real, SCIP_STRINGEQ, SCIPexprGetChildren(), SCIPexprGetHdlr(), SCIPexprGetNChildren(), SCIPexprhdlrGetName(), SCIPexprIsIntegral(), SCIPisGE(), SCIPisInfinity(), SCIPisLE(), and TRUE.
◆ SCIP_DECL_EXPRREVERSEPROP()
|
static |
expression reverse propagation callback
Definition at line 413 of file expr_exp.c.
References NULL, SCIP_INTERVAL_INFINITY, SCIP_OKAY, SCIPexprGetNChildren(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalLog(), and TRUE.
◆ SCIP_DECL_EXPRHASH()
|
static |
expression hash callback
Definition at line 434 of file expr_exp.c.
References EXPRHDLR_HASHKEY, NULL, SCIP_OKAY, and SCIPexprGetNChildren().
◆ SCIP_DECL_EXPRCURVATURE()
|
static |
expression curvature detection callback
Definition at line 450 of file expr_exp.c.
References FALSE, NULL, SCIP_EXPRCURV_CONVEX, SCIP_OKAY, SCIPexprGetNChildren(), and TRUE.
◆ SCIP_DECL_EXPRMONOTONICITY()
|
static |
expression monotonicity detection callback
Definition at line 472 of file expr_exp.c.
References NULL, SCIP_MONOTONE_INC, and SCIP_OKAY.