exprinterpret.h File Reference Detailed Descriptionmethods to interpret (evaluate) an expression tree "fast" Definition in file exprinterpret.h. #include "scip/def.h" #include "blockmemshell/memory.h" #include "nlpi/type_expr.h" #include "nlpi/type_exprinterpret.h" #include "scip/intervalarith.h" Go to the source code of this file. Function Documentation
gets name and version of expression interpreter Definition at line 2157 of file exprinterpret_cppad.cpp. Referenced by SCIP_DECL_CONSINIT(), SCIPcreate(), and SCIPnlpiOracleCreate().
gets descriptive text of expression interpreter Definition at line 2163 of file exprinterpret_cppad.cpp. Referenced by SCIPcreate().
gets capabilities of expression interpreter (using bitflags) Definition at line 2169 of file exprinterpret_cppad.cpp. References SCIP_EXPRINTCAPABILITY_FUNCVALUE, SCIP_EXPRINTCAPABILITY_GRADIENT, SCIP_EXPRINTCAPABILITY_HESSIAN, SCIP_EXPRINTCAPABILITY_INTFUNCVALUE, SCIP_EXPRINTCAPABILITY_INTGRADIENT, and SCIP_EXPRINTCAPABILITY_NONE. Referenced by addIntervalGradientEstimator(), processNlRow(), and SCIP_DECL_NLPISOLVE().
creates an expression interpreter object
Definition at line 2179 of file exprinterpret_cppad.cpp. References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_NOMEMORY, SCIP_OKAY, and SCIPdebugMessage. Referenced by createCoveringProblem(), SCIPincludeConshdlrBivariate(), SCIPincludeConshdlrNonlinear(), and SCIPnlpiOracleCreate().
frees an expression interpreter object
Definition at line 2196 of file exprinterpret_cppad.cpp. References BMSfreeMemory, NULL, and SCIP_OKAY. Referenced by createCoveringProblem(), SCIP_DECL_CONSFREE(), and SCIPnlpiOracleFree().
compiles an expression tree and stores compiled data in expression tree
Definition at line 2209 of file exprinterpret_cppad.cpp. References analyzeTree(), SCIP_ExprInt::blkmem, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPexprCopyDeep(), SCIPexprFreeDeep(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetRoot(), and SCIPexprtreeSetInterpreterData(). Referenced by addIntervalGradientEstimator(), addLinearization(), computeViolation(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateLinearizationCut(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateUnderestimatorParallelYFacets(), getGradientMaxElement(), initSepaData(), processNlRow(), SCIP_DECL_CONSINITLP(), SCIPnlpiOracleAddConstraints(), SCIPnlpiOracleChgExprtree(), and SCIPnlpiOracleSetObjective().
gives the capability to evaluate an expression by the expression interpreter In cases of user-given expressions, higher order derivatives may not be available for the user-expression, even if the expression interpreter could handle these. This method allows to recognize that, e.g., the Hessian for an expression is not available because it contains a user expression that does not provide Hessians.
Definition at line 2264 of file exprinterpret_cppad.cpp. References NULL, SCIP_EXPRINTCAPABILITY_NONE, and SCIPexprtreeGetInterpreterData(). Referenced by SCIPnlpiOracleGetEvalCapability().
frees interpreter data
Definition at line 2278 of file exprinterpret_cppad.cpp. References NULL, SCIP_OKAY, and SCIPexprFreeDeep(). Referenced by SCIPexprtreeFreeInterpreterData().
notify expression interpreter that a new parameterization is used this probably causes retaping by AD algorithms notify expression interpreter that a new parameterization is used This probably causes retaping by AD algorithms.
Definition at line 2298 of file exprinterpret_cppad.cpp. References NULL, SCIP_OKAY, and SCIPexprtreeGetInterpreterData(). Referenced by generateConvexConcaveUnderestimator().
evaluates an expression tree
Definition at line 2317 of file exprinterpret_cppad.cpp. References eval(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPdebugMessage, SCIPerrorMessage, SCIPexprtreeEval(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetParamVals(), and SCIPexprtreeGetRoot(). Referenced by addIntervalGradientEstimator(), computeViolation(), evalFunctionValue(), generateConvexConcaveUnderestimator(), generateEstimatingHyperplane(), SCIPexprintGrad(), SCIPexprintHessianDense(), SCIPexprintHessianSparsityDense(), and SCIPnlpiOracleEvalJacobian().
evaluates an expression tree on intervals
Definition at line 2385 of file exprinterpret_cppad.cpp. References eval(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPexprtreeEvalInt(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetParamVals(), and SCIPexprtreeGetRoot(). Referenced by SCIPexprintGradInt().
computes value and gradient of an expression tree
Definition at line 2451 of file exprinterpret_cppad.cpp. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPexprintEval(), SCIPexprtreeGetInterpreterData(), and SCIPexprtreeGetNVars(). Referenced by addLinearization(), computeViolation(), evalFunctionGradient(), generate1ConvexIndefiniteUnderestimatorAtBoundary(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternA(), generate1ConvexIndefiniteUnderestimatorInTheInteriorPatternB(), generateConvexConcaveUnderestimator(), generateLinearizationCut(), generateOrthogonal_lx_ly_Underestimator(), generateOrthogonal_lx_uy_Underestimator(), generateUnderestimatorParallelYFacets(), getGradientMaxElement(), lifting(), SCIPnlpiOracleEvalJacobian(), and solveDerivativeEquation().
computes interval value and interval gradient of an expression tree
Definition at line 2498 of file exprinterpret_cppad.cpp. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPexprintEvalInt(), SCIPexprtreeGetInterpreterData(), and SCIPexprtreeGetNVars(). Referenced by addIntervalGradientEstimator().
gives sparsity pattern of hessian NOTE: this function might be replaced later by something nicer. Since the AD code might need to do a forward sweep, you should pass variable values in here. gives sparsity pattern of hessian NOTE: this function might be replaced later by something nicer Since the AD code might need to do a forward sweep, you should pass variable values in here.
Definition at line 2548 of file exprinterpret_cppad.cpp. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIPdebugMessage, SCIPerrorMessage, SCIPexprintEval(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), and TRUE. Referenced by hessLagSparsitySetNzFlagForExprtree(), initSepaData(), and processNlRow().
computes value and dense hessian of an expression tree The full hessian is computed (lower left and upper right triangle). computes value and dense hessian of an expression tree the full hessian is computed (lower left and upper right triangle)
Definition at line 2621 of file exprinterpret_cppad.cpp. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPexprintEval(), SCIPexprtreeGetInterpreterData(), and SCIPexprtreeGetNVars(). Referenced by generate1ConvexIndefiniteUnderestimator(), hessLagAddExprtree(), and solveDerivativeEquation(). |