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 43 of file expr_exp.c.
◆ EXPRHDLR_DESC
#define EXPRHDLR_DESC "exponential expression" |
Definition at line 44 of file expr_exp.c.
◆ EXPRHDLR_PRECEDENCE
#define EXPRHDLR_PRECEDENCE 85000 |
Definition at line 45 of file expr_exp.c.
◆ EXPRHDLR_HASHKEY
#define EXPRHDLR_HASHKEY SCIPcalcFibHash(10181.0) |
Definition at line 46 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 58 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 109 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 169 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 201 of file expr_exp.c.
References SCIP_CALL, SCIP_OKAY, and SCIPincludeExprhdlrExp().
◆ SCIP_DECL_EXPRCOPYDATA()
|
static |
expression data copy callback
Definition at line 210 of file expr_exp.c.
References NULL, SCIP_OKAY, and SCIPexprGetData().
◆ SCIP_DECL_EXPRFREEDATA()
|
static |
expression data free callback
Definition at line 223 of file expr_exp.c.
References NULL, SCIP_OKAY, and SCIPexprSetData().
◆ SCIP_DECL_EXPRPARSE()
|
static |
expression parse callback
! [SnippetExprParseExp]
! [SnippetExprParseExp]
Definition at line 234 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 260 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 274 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 288 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 308 of file expr_exp.c.
References addExpLinearization(), addExpSecant(), EXPRHDLR_NAME, FALSE, NULL, SCIP_OKAY, 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_OKAY, SCIP_Real, SCIPexprGetChildren(), SCIPexprGetHdlr(), SCIPexprGetNChildren(), SCIPexprhdlrGetName(), SCIPexprIsIntegral(), SCIPisGE(), SCIPisInfinity(), SCIPisLE(), and TRUE.
◆ SCIP_DECL_EXPRREVERSEPROP()
|
static |
expression reverse propagation callback
Definition at line 412 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 433 of file expr_exp.c.
References EXPRHDLR_HASHKEY, NULL, SCIP_OKAY, and SCIPexprGetNChildren().
◆ SCIP_DECL_EXPRCURVATURE()
|
static |
expression curvature detection callback
Definition at line 449 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 471 of file expr_exp.c.
References NULL, SCIP_MONOTONE_INC, and SCIP_OKAY.