Scippy

SCIP

Solving Constraint Integer Programs

SCIP_Expr Struct Reference

Detailed Description

an algebraic expression

Definition at line 105 of file struct_expr.h.

#include <struct_expr.h>

Public Member Functions

 SCIP_DECL_EXPR_OWNERFREE ((*ownerfree))
 
 SCIP_DECL_EXPR_OWNERPRINT ((*ownerprint))
 
 SCIP_DECL_EXPR_OWNEREVALACTIVITY ((*ownerevalactivity))
 

Data Fields

SCIP_EXPRHDLRexprhdlr
 
SCIP_EXPRDATAexprdata
 
int nchildren
 
int childrensize
 
SCIP_EXPR ** children
 
int nuses
 
SCIP_EXPRITERDATA iterdata [SCIP_EXPRITER_MAXNACTIVE]
 
SCIP_EXPR_OWNERDATAownerdata
 
SCIP_Real evalvalue
 
SCIP_Real derivative
 
SCIP_Real dot
 
SCIP_Real bardot
 
SCIP_Longint evaltag
 
SCIP_Longint difftag
 
SCIP_INTERVAL activity
 
SCIP_Longint activitytag
 
SCIP_EXPRCURV curvature
 
SCIP_Bool isintegral
 
SCIP_QUADEXPRquaddata
 
SCIP_Bool quadchecked
 

Member Function Documentation

◆ SCIP_DECL_EXPR_OWNERFREE()

SCIP_Expr::SCIP_DECL_EXPR_OWNERFREE ( ownerfree)

callback for freeing ownerdata

◆ SCIP_DECL_EXPR_OWNERPRINT()

SCIP_Expr::SCIP_DECL_EXPR_OWNERPRINT ( ownerprint)

callback for printing ownerdata

◆ SCIP_DECL_EXPR_OWNEREVALACTIVITY()

SCIP_Expr::SCIP_DECL_EXPR_OWNEREVALACTIVITY ( ownerevalactivity)

callback for evaluating activity

Field Documentation

◆ exprhdlr

◆ exprdata

SCIP_EXPRDATA* SCIP_Expr::exprdata

expression data

Definition at line 108 of file struct_expr.h.

Referenced by SCIPexprCopy(), SCIPexprDuplicateShallow(), SCIPexprGetData(), SCIPexprRelease(), and SCIPexprSetData().

◆ nchildren

◆ childrensize

int SCIP_Expr::childrensize

length of children array

Definition at line 111 of file struct_expr.h.

Referenced by SCIPexprAppendChild().

◆ children

◆ nuses

int SCIP_Expr::nuses

reference counter

Definition at line 114 of file struct_expr.h.

Referenced by SCIPexprCapture(), SCIPexprGetNUses(), and SCIPexprRelease().

◆ iterdata

◆ ownerdata

SCIP_EXPR_OWNERDATA* SCIP_Expr::ownerdata

data stored by owner of expression

Definition at line 118 of file struct_expr.h.

Referenced by SCIPexprCreate(), SCIPexprDismantle(), SCIPexprEvalActivity(), SCIPexprGetOwnerData(), and SCIPexprRelease().

◆ evalvalue

SCIP_Real SCIP_Expr::evalvalue

value of expression from last evaluation (corresponding to evaltag)

Definition at line 124 of file struct_expr.h.

Referenced by evalAndDiff(), SCIPexprEval(), SCIPexprEvalGradient(), SCIPexprEvalHessianDir(), SCIPexprGetEvalValue(), SCIPexprhdlrBwDiffExpr(), SCIPexprhdlrEvalExpr(), and SCIPexprhdlrEvalFwDiffExpr().

◆ derivative

SCIP_Real SCIP_Expr::derivative

partial derivative of a "root path" w.r.t. this expression (see Differentiation methods)

Definition at line 125 of file struct_expr.h.

Referenced by evalAndDiff(), SCIPexprEvalGradient(), SCIPexprEvalHessianDir(), and SCIPexprGetDerivative().

◆ dot

SCIP_Real SCIP_Expr::dot

directional derivative of this expr (see Differentiation methods)

Definition at line 126 of file struct_expr.h.

Referenced by evalAndDiff(), SCIPexprEvalHessianDir(), SCIPexprGetDot(), and SCIPexprhdlrEvalFwDiffExpr().

◆ bardot

SCIP_Real SCIP_Expr::bardot

directional derivative of derivative of root (strictly speaking, a path) w.r.t this expr (see Differentiation methods)

Definition at line 127 of file struct_expr.h.

Referenced by evalAndDiff(), SCIPexprEvalHessianDir(), and SCIPexprGetBardot().

◆ evaltag

SCIP_Longint SCIP_Expr::evaltag

tag of point for which the expression has been evaluated last, or 0

Definition at line 128 of file struct_expr.h.

Referenced by evalAndDiff(), SCIPexprEval(), and SCIPexprGetEvalTag().

◆ difftag

SCIP_Longint SCIP_Expr::difftag

when computing partial derivatives of an expression w.r.t. a variable, the tag allows us to decide whether the expression depends on the variable; the tag will be checked in SCIPgetExprPartialDiff()

Definition at line 129 of file struct_expr.h.

Referenced by evalAndDiff(), SCIPexprEvalGradient(), and SCIPexprGetDiffTag().

◆ activity

SCIP_INTERVAL SCIP_Expr::activity

activity of expression with respect to variable bounds

Definition at line 134 of file struct_expr.h.

Referenced by SCIPexprEvalActivity(), SCIPexprGetActivity(), and SCIPexprSetActivity().

◆ activitytag

SCIP_Longint SCIP_Expr::activitytag

tag of variable bounds for which activity is valid

Definition at line 135 of file struct_expr.h.

Referenced by SCIPexprEvalActivity(), SCIPexprGetActivityTag(), and SCIPexprSetActivity().

◆ curvature

SCIP_EXPRCURV SCIP_Expr::curvature

curvature of the expression w.r.t. bounds that have been used in the last curvature detection

Definition at line 138 of file struct_expr.h.

Referenced by SCIPexprGetCurvature(), and SCIPexprSetCurvature().

◆ isintegral

SCIP_Bool SCIP_Expr::isintegral

whether expression value is integral in feasible solutions

Definition at line 141 of file struct_expr.h.

Referenced by SCIPexprIsIntegral(), and SCIPexprSetIntegrality().

◆ quaddata

SCIP_QUADEXPR* SCIP_Expr::quaddata

◆ quadchecked

SCIP_Bool SCIP_Expr::quadchecked

whether it has been checked whether the expression is quadratic

Definition at line 145 of file struct_expr.h.

Referenced by SCIPexprCheckQuadratic(), and SCIPexprFreeQuadratic().