Detailed Description
logarithm expression handler
Definition in file expr_log.c.
Go to the source code of this file.
Macros | |
#define | EXPRHDLR_NAME "log" |
#define | EXPRHDLR_DESC "natural logarithm expression" |
#define | EXPRHDLR_PRECEDENCE 80000 |
#define | EXPRHDLR_HASHKEY SCIPcalcFibHash(16273.0) |
Macro Definition Documentation
◆ EXPRHDLR_NAME
#define EXPRHDLR_NAME "log" |
Definition at line 32 of file expr_log.c.
Referenced by SCIP_DECL_EXPRESTIMATE(), SCIP_DECL_EXPRINITESTIMATES(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_EXPRREVERSEPROP(), SCIPcreateExprLog(), SCIPincludeExprhdlrLog(), and SCIPisExprLog().
◆ EXPRHDLR_DESC
#define EXPRHDLR_DESC "natural logarithm expression" |
Definition at line 33 of file expr_log.c.
Referenced by SCIPincludeExprhdlrLog().
◆ EXPRHDLR_PRECEDENCE
#define EXPRHDLR_PRECEDENCE 80000 |
Definition at line 34 of file expr_log.c.
Referenced by SCIPincludeExprhdlrLog().
◆ EXPRHDLR_HASHKEY
#define EXPRHDLR_HASHKEY SCIPcalcFibHash(16273.0) |
Definition at line 35 of file expr_log.c.
Referenced by SCIP_DECL_EXPRHASH().
Function Documentation
◆ addLogSecant()
|
static |
computes coefficients of secant of a logarithmic 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 54 of file expr_log.c.
References FALSE, NULL, REALABS, SCIP_Real, SCIPisEQ(), SCIPisInfinity(), and SCIPisLE().
Referenced by SCIP_DECL_EXPRESTIMATE(), and SCIP_DECL_EXPRINITESTIMATES().
◆ addLogLinearization()
|
static |
computes coefficients of linearization of a logarithmic 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 105 of file expr_log.c.
References FALSE, NULL, REALABS, SCIP_Real, SCIPfloor(), SCIPisInfinity(), SCIPisIntegral(), and SCIPisLE().
Referenced by SCIP_DECL_EXPRESTIMATE(), and SCIP_DECL_EXPRINITESTIMATES().
◆ SCIP_DECL_EXPRSIMPLIFY()
|
static |
simplifies a log expression
Evaluates the logarithm function when its child is a value expression.
TODO: split products ? TODO: log(exp(*)) = *
Definition at line 169 of file expr_log.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 203 of file expr_log.c.
References SCIP_CALL, SCIP_OKAY, and SCIPincludeExprhdlrLog().
◆ SCIP_DECL_EXPRFREEHDLR()
|
static |
expression handler free callback
Definition at line 212 of file expr_log.c.
References NULL, SCIP_OKAY, and SCIPfreeBlockMemory.
◆ SCIP_DECL_EXPRCOPYDATA()
|
static |
expression data copy callback
Definition at line 224 of file expr_log.c.
References NULL, SCIP_OKAY, and SCIPexprGetData().
◆ SCIP_DECL_EXPRFREEDATA()
|
static |
expression data free callback
Definition at line 237 of file expr_log.c.
References NULL, SCIP_OKAY, and SCIPexprSetData().
◆ SCIP_DECL_EXPRPARSE()
|
static |
expression parse callback
Definition at line 248 of file expr_log.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateExprLog(), SCIPparseExpr(), SCIPreleaseExpr(), and TRUE.
◆ SCIP_DECL_EXPREVAL()
|
static |
expression point evaluation callback
! [SnippetExprEvalLog]
! [SnippetExprEvalLog]
Definition at line 272 of file expr_log.c.
References NULL, SCIP_INVALID, SCIP_OKAY, SCIPdebugMsg, SCIPexprGetChildren(), SCIPexprGetData(), SCIPexprGetEvalValue(), and SCIPexprGetNChildren().
◆ SCIP_DECL_EXPRBWDIFF()
|
static |
expression derivative evaluation callback
Definition at line 296 of file expr_log.c.
References NULL, SCIP_INVALID, SCIP_OKAY, SCIPexprGetChildren(), SCIPexprGetEvalValue(), SCIPexprGetHdlr(), and SCIPexprhdlrGetName().
◆ SCIP_DECL_EXPRINTEVAL()
|
static |
expression interval evaluation callback
Definition at line 316 of file expr_log.c.
References EXPRHDLR_NAME, SCIP_Interval::inf, NULL, SCIP_CALL, SCIP_INTERVAL_INFINITY, SCIP_OKAY, SCIP_VERBLEVEL_NONE, SCIPexprGetActivity(), SCIPexprGetChildren(), SCIPexprGetData(), SCIPexprGetHdlr(), SCIPexprGetNChildren(), SCIPexprhdlrGetData(), SCIPgetVerbLevel(), SCIPinfoMessage(), SCIPintervalIsEmpty(), SCIPintervalLog(), SCIPintervalSetEmpty(), SCIPprintExpr(), and TRUE.
◆ SCIP_DECL_EXPRESTIMATE()
|
static |
expression estimation callback
Definition at line 359 of file expr_log.c.
References addLogLinearization(), addLogSecant(), EXPRHDLR_NAME, FALSE, NULL, SCIP_OKAY, SCIP_Real, SCIPexprGetChildren(), SCIPexprGetHdlr(), SCIPexprGetNChildren(), SCIPexprhdlrGetName(), SCIPexprIsIntegral(), SCIPisPositive(), SCIPisZero(), and TRUE.
◆ SCIP_DECL_EXPRINITESTIMATES()
|
static |
initial estimates callback that provides initial linear estimators for a logarithm expression
Definition at line 415 of file expr_log.c.
References addLogLinearization(), addLogSecant(), EXPRHDLR_NAME, FALSE, MAX, NULL, SCIP_Bool, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPdebugMsg, SCIPexprGetChildren(), SCIPexprGetHdlr(), SCIPexprGetNChildren(), SCIPexprhdlrGetName(), SCIPexprIsIntegral(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPisEQ(), SCIPisGE(), SCIPisInfinity(), SCIPisLE(), and TRUE.
◆ SCIP_DECL_EXPRREVERSEPROP()
|
static |
expression reverse propagation callback
Definition at line 492 of file expr_log.c.
References EXPRHDLR_NAME, NULL, SCIP_CALL, SCIP_INTERVAL_INFINITY, SCIP_OKAY, SCIP_VERBLEVEL_NONE, SCIPdebugMsg, SCIPepsilon(), SCIPexprGetHdlr(), SCIPexprGetNChildren(), SCIPexprhdlrGetData(), SCIPgetVerbLevel(), SCIPinfoMessage(), SCIPintervalExp(), SCIPprintExpr(), and TRUE.
◆ SCIP_DECL_EXPRHASH()
|
static |
expression hash callback
Definition at line 535 of file expr_log.c.
References EXPRHDLR_HASHKEY, NULL, SCIP_OKAY, and SCIPexprGetNChildren().
◆ SCIP_DECL_EXPRCURVATURE()
|
static |
expression curvature detection callback
Definition at line 551 of file expr_log.c.
References FALSE, NULL, SCIP_EXPRCURV_CONCAVE, SCIP_OKAY, SCIPexprGetNChildren(), and TRUE.
◆ SCIP_DECL_EXPRMONOTONICITY()
|
static |
expression monotonicity detection callback
Definition at line 572 of file expr_log.c.
References NULL, SCIP_MONOTONE_INC, and SCIP_OKAY.