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 34 of file expr_exp.c.
Referenced by SCIP_DECL_EXPRESTIMATE(), SCIP_DECL_EXPRINITESTIMATES(), SCIPcreateExprExp(), SCIPincludeExprhdlrExp(), and SCIPisExprExp().
◆ EXPRHDLR_DESC
#define EXPRHDLR_DESC "exponential expression" |
Definition at line 35 of file expr_exp.c.
Referenced by SCIPincludeExprhdlrExp().
◆ EXPRHDLR_PRECEDENCE
#define EXPRHDLR_PRECEDENCE 85000 |
Definition at line 36 of file expr_exp.c.
Referenced by SCIPincludeExprhdlrExp().
◆ EXPRHDLR_HASHKEY
#define EXPRHDLR_HASHKEY SCIPcalcFibHash(10181.0) |
Definition at line 37 of file expr_exp.c.
Referenced by SCIP_DECL_EXPRHASH().
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 49 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 100 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 160 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 192 of file expr_exp.c.
References SCIP_CALL, SCIP_OKAY, and SCIPincludeExprhdlrExp().
◆ SCIP_DECL_EXPRCOPYDATA()
|
static |
expression data copy callback
Definition at line 201 of file expr_exp.c.
References NULL, SCIP_OKAY, and SCIPexprGetData().
◆ SCIP_DECL_EXPRFREEDATA()
|
static |
expression data free callback
Definition at line 214 of file expr_exp.c.
References NULL, SCIP_OKAY, and SCIPexprSetData().
◆ SCIP_DECL_EXPRPARSE()
|
static |
expression parse callback
! [SnippetExprParseExp]
! [SnippetExprParseExp]
Definition at line 225 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 251 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 265 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 279 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 299 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 333 of file expr_exp.c.
References addExpLinearization(), addExpSecant(), EXPRHDLR_NAME, FALSE, MAX, 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 402 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 423 of file expr_exp.c.
References EXPRHDLR_HASHKEY, NULL, SCIP_OKAY, and SCIPexprGetNChildren().
◆ SCIP_DECL_EXPRCURVATURE()
|
static |
expression curvature detection callback
Definition at line 439 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 461 of file expr_exp.c.
References NULL, SCIP_MONOTONE_INC, and SCIP_OKAY.