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) |
#define EXPRHDLR_NAME "exp" |
Definition at line 43 of file expr_exp.c.
#define EXPRHDLR_DESC "exponential expression" |
Definition at line 44 of file expr_exp.c.
#define EXPRHDLR_PRECEDENCE 85000 |
Definition at line 45 of file expr_exp.c.
#define EXPRHDLR_HASHKEY SCIPcalcFibHash(10181.0) |
Definition at line 46 of file expr_exp.c.
|
static |
computes coefficients of secant of an exponential term
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 assert(), FALSE, NULL, REALABS, SCIP_Bool, SCIP_Real, SCIPisEQ(), SCIPisInfinity(), and SCIPisLE().
Referenced by SCIP_DECL_EXPRESTIMATE(), and SCIP_DECL_EXPRINITESTIMATES().
|
static |
computes coefficients of linearization of an exponential term in a reference point
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 assert(), FALSE, NULL, REALABS, SCIP_Bool, SCIP_Real, SCIPfloor(), SCIPisInfinity(), and SCIPisIntegral().
Referenced by SCIP_DECL_EXPRESTIMATE(), and SCIP_DECL_EXPRINITESTIMATES().
|
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 assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPcaptureExpr(), SCIPcreateExprValue(), SCIPexprGetChildren(), SCIPexprGetNChildren(), SCIPgetValueExprValue(), and SCIPisExprValue().
|
static |
expression handler copy callback
Definition at line 201 of file expr_exp.c.
References SCIP_CALL, SCIP_OKAY, and SCIPincludeExprhdlrExp().
|
static |
expression data copy callback
Definition at line 210 of file expr_exp.c.
References assert(), NULL, SCIP_OKAY, and SCIPexprGetData().
|
static |
expression data free callback
Definition at line 223 of file expr_exp.c.
References assert(), NULL, SCIP_OKAY, and SCIPexprSetData().
|
static |
expression parse callback
! [SnippetExprParseExp]
! [SnippetExprParseExp]
Definition at line 234 of file expr_exp.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateExprExp(), SCIPparseExpr(), SCIPreleaseExpr(), and TRUE.
|
static |
expression point evaluation callback
Definition at line 260 of file expr_exp.c.
References assert(), NULL, SCIP_INVALID, SCIP_OKAY, SCIPexprGetChildren(), SCIPexprGetData(), SCIPexprGetEvalValue(), and SCIPexprGetNChildren().
|
static |
expression derivative evaluation callback
Definition at line 274 of file expr_exp.c.
References assert(), NULL, SCIP_INVALID, SCIP_OKAY, SCIPexprGetChildren(), SCIPexprGetEvalValue(), and SCIPisExprValue().
|
static |
expression interval evaluation callback
Definition at line 288 of file expr_exp.c.
References assert(), NULL, SCIP_INTERVAL_INFINITY, SCIP_OKAY, SCIPexprGetActivity(), SCIPexprGetChildren(), SCIPexprGetData(), SCIPexprGetNChildren(), SCIPintervalExp(), SCIPintervalIsEmpty(), and SCIPintervalSetEmpty().
|
static |
expression estimator callback
Definition at line 308 of file expr_exp.c.
References addExpLinearization(), addExpSecant(), assert(), EXPRHDLR_NAME, FALSE, NULL, SCIP_OKAY, SCIPexprGetChildren(), SCIPexprGetHdlr(), SCIPexprGetNChildren(), SCIPexprhdlrGetName(), SCIPexprIsIntegral(), and TRUE.
|
static |
initital estimates callback for an exponential expression
Definition at line 342 of file expr_exp.c.
References addExpLinearization(), addExpSecant(), assert(), EXPRHDLR_NAME, FALSE, i, MAX, MIN, NULL, REALABS, SCIP_Bool, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPexprGetChildren(), SCIPexprGetHdlr(), SCIPexprGetNChildren(), SCIPexprhdlrGetName(), SCIPexprIsIntegral(), SCIPisGE(), SCIPisInfinity(), SCIPisLE(), and TRUE.
|
static |
expression reverse propagation callback
Definition at line 412 of file expr_exp.c.
References assert(), NULL, SCIP_INTERVAL_INFINITY, SCIP_OKAY, SCIPexprGetNChildren(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalLog(), and TRUE.
|
static |
expression hash callback
Definition at line 433 of file expr_exp.c.
References assert(), EXPRHDLR_HASHKEY, NULL, SCIP_OKAY, and SCIPexprGetNChildren().
|
static |
expression curvature detection callback
Definition at line 449 of file expr_exp.c.
References assert(), FALSE, NULL, SCIP_EXPRCURV_CONVEX, SCIP_OKAY, SCIPexprGetNChildren(), and TRUE.
|
static |
expression monotonicity detection callback
Definition at line 471 of file expr_exp.c.
References assert(), NULL, result, SCIP_MONOTONE_INC, and SCIP_OKAY.