Detailed Description
a set of expression trees, stored in a single directed acyclic graph the variables of the graph are stored at depth 0 for each depth, an array of nodes is stored
Definition at line 155 of file struct_expr.h.
#include <struct_expr.h>
Public Member Functions | |
SCIP_DECL_EXPRGRAPHVARADDED ((*exprgraphvaradded)) | |
SCIP_DECL_EXPRGRAPHVARREMOVE ((*exprgraphvarremove)) | |
SCIP_DECL_EXPRGRAPHVARCHGIDX ((*exprgraphvarchgidx)) | |
Data Fields | |
BMS_BLKMEM * | blkmem |
int | depth |
int * | nodessize |
int * | nnodes |
SCIP_EXPRGRAPHNODE *** | nodes |
int | varssize |
int | nvars |
void ** | vars |
SCIP_EXPRGRAPHNODE ** | varnodes |
SCIP_INTERVAL * | varbounds |
SCIP_HASHMAP * | varidxs |
int | constssize |
int | nconsts |
SCIP_EXPRGRAPHNODE ** | constnodes |
SCIP_Bool | constssorted |
void * | userdata |
SCIP_Bool | needvarboundprop |
Member Function Documentation
◆ SCIP_DECL_EXPRGRAPHVARADDED()
SCIP_ExprGraph::SCIP_DECL_EXPRGRAPHVARADDED | ( | * | exprgraphvaradded | ) |
callback for variable addition event
◆ SCIP_DECL_EXPRGRAPHVARREMOVE()
SCIP_ExprGraph::SCIP_DECL_EXPRGRAPHVARREMOVE | ( | * | exprgraphvarremove | ) |
callback for variable removal event
◆ SCIP_DECL_EXPRGRAPHVARCHGIDX()
SCIP_ExprGraph::SCIP_DECL_EXPRGRAPHVARCHGIDX | ( | * | exprgraphvarchgidx | ) |
callback for variable index change event
Field Documentation
◆ blkmem
BMS_BLKMEM* SCIP_ExprGraph::blkmem |
block memory
Definition at line 157 of file struct_expr.h.
Referenced by exprgraphAddExpr(), exprgraphEnsureDepth(), exprgraphFindParentByOperator(), exprgraphMoveNode(), exprgraphNodeCreateExpr(), exprgraphNodePropagateBounds(), exprgraphNodeRemovePolynomialDuplicateChildren(), exprgraphNodeReplaceChild(), exprgraphNodeSimplify(), SCIPexprgraphAddConst(), SCIPexprgraphAddExprtreeSum(), SCIPexprgraphAddNode(), SCIPexprgraphAddVars(), SCIPexprgraphGetSeparableTrees(), SCIPexprgraphGetSumTrees(), SCIPexprgraphGetTree(), SCIPexprgraphNodeSplitOffLinear(), SCIPexprgraphReleaseNode(), SCIPexprgraphReplaceVarByLinearSum(), and SCIPexprgraphSimplify().
◆ depth
int SCIP_ExprGraph::depth |
depth of expression graph
Definition at line 159 of file struct_expr.h.
Referenced by exprgraphEnsureDepth(), exprgraphMoveNode(), SCIPexprgraphAddNode(), SCIPexprgraphAddVars(), SCIPexprgraphCheckCurvature(), SCIPexprgraphEval(), SCIPexprgraphGetDepth(), SCIPexprgraphPrintDot(), SCIPexprgraphPropagateNodeBounds(), SCIPexprgraphPropagateVarBounds(), SCIPexprgraphReleaseNode(), and SCIPexprgraphSimplify().
◆ nodessize
int* SCIP_ExprGraph::nodessize |
current size of nodes array for each depth
Definition at line 160 of file struct_expr.h.
Referenced by exprgraphEnsureDepth(), exprgraphMoveNode(), SCIPexprgraphAddNode(), and SCIPexprgraphAddVars().
◆ nnodes
int* SCIP_ExprGraph::nnodes |
number of nodes for each depth
Definition at line 161 of file struct_expr.h.
Referenced by exprgraphEnsureDepth(), exprgraphMoveNode(), SCIPexprgraphAddConst(), SCIPexprgraphAddNode(), SCIPexprgraphAddVars(), SCIPexprgraphCheckCurvature(), SCIPexprgraphEval(), SCIPexprgraphGetNNodes(), SCIPexprgraphPrintDot(), SCIPexprgraphPropagateNodeBounds(), SCIPexprgraphPropagateVarBounds(), SCIPexprgraphReleaseNode(), and SCIPexprgraphSimplify().
◆ nodes
SCIP_EXPRGRAPHNODE*** SCIP_ExprGraph::nodes |
nodes of expression graph for each depth
Definition at line 162 of file struct_expr.h.
Referenced by exprgraphEnsureDepth(), exprgraphMoveNode(), SCIPexprgraphAddNode(), SCIPexprgraphAddVars(), SCIPexprgraphCheckCurvature(), SCIPexprgraphEval(), SCIPexprgraphGetNodes(), SCIPexprgraphPrintDot(), SCIPexprgraphPropagateNodeBounds(), SCIPexprgraphPropagateVarBounds(), SCIPexprgraphReleaseNode(), and SCIPexprgraphSimplify().
◆ varssize
int SCIP_ExprGraph::varssize |
length of vars array
Definition at line 164 of file struct_expr.h.
Referenced by SCIPexprgraphAddVars(), and SCIPexprgraphReplaceVarByLinearSum().
◆ nvars
int SCIP_ExprGraph::nvars |
number of variables in expression graph
Definition at line 165 of file struct_expr.h.
Referenced by exprgraphAddExpr(), exprgraphNodeCreateExpr(), exprgraphRemoveVar(), exprgraphUpdateVarNodeBounds(), SCIPexprgraphAddVars(), SCIPexprgraphEval(), SCIPexprgraphGetNodeVar(), SCIPexprgraphGetNVars(), SCIPexprgraphGetSeparableTrees(), SCIPexprgraphGetSubtreeVarsUsage(), SCIPexprgraphGetSumTrees(), SCIPexprgraphGetTree(), SCIPexprgraphNodeSplitOffLinear(), SCIPexprgraphReplaceVarByLinearSum(), SCIPexprgraphSetVarsBounds(), and SCIPexprgraphSimplify().
◆ vars
void** SCIP_ExprGraph::vars |
array for variables in expression graph, having length varssize
Definition at line 166 of file struct_expr.h.
Referenced by exprgraphAddExpr(), exprgraphRemoveVar(), SCIPexprgraphAddVars(), SCIPexprgraphGetNodeVar(), SCIPexprgraphGetSeparableTrees(), SCIPexprgraphGetSumTrees(), SCIPexprgraphGetTree(), SCIPexprgraphGetVars(), SCIPexprgraphNodeSplitOffLinear(), SCIPexprgraphReplaceVarByLinearSum(), and SCIPexprgraphSetVarBounds().
◆ varnodes
SCIP_EXPRGRAPHNODE** SCIP_ExprGraph::varnodes |
nodes corresponding to variables in expression graph
Definition at line 167 of file struct_expr.h.
Referenced by exprgraphRemoveVar(), exprgraphUpdateVarNodeBounds(), SCIPexprgraphAddVars(), SCIPexprgraphFindVarNode(), SCIPexprgraphGetVarNodes(), SCIPexprgraphReplaceVarByLinearSum(), SCIPexprgraphSetVarNodeBounds(), SCIPexprgraphSetVarNodeLb(), and SCIPexprgraphSetVarNodeUb().
◆ varbounds
SCIP_INTERVAL* SCIP_ExprGraph::varbounds |
current bounds on variables
Definition at line 168 of file struct_expr.h.
Referenced by exprgraphRemoveVar(), exprgraphUpdateVarNodeBounds(), SCIPexprgraphAddVars(), SCIPexprgraphGetVarsBounds(), SCIPexprgraphReplaceVarByLinearSum(), SCIPexprgraphSetVarBounds(), SCIPexprgraphSetVarNodeBounds(), SCIPexprgraphSetVarNodeLb(), SCIPexprgraphSetVarNodeUb(), and SCIPexprgraphSetVarsBounds().
◆ varidxs
SCIP_HASHMAP* SCIP_ExprGraph::varidxs |
maps variables to variable indices
Definition at line 169 of file struct_expr.h.
Referenced by exprgraphRemoveVar(), SCIPexprgraphAddVars(), SCIPexprgraphFindVarNode(), SCIPexprgraphReplaceVarByLinearSum(), and SCIPexprgraphSetVarBounds().
◆ constssize
int SCIP_ExprGraph::constssize |
length of consts array
Definition at line 171 of file struct_expr.h.
Referenced by exprgraphMoveNode(), SCIPexprgraphAddConst(), and SCIPexprgraphReplaceVarByLinearSum().
◆ nconsts
int SCIP_ExprGraph::nconsts |
number of constants in expression graph
Definition at line 172 of file struct_expr.h.
Referenced by exprgraphFindConstNodePos(), exprgraphMoveNode(), exprgraphSortConstNodes(), SCIPexprgraphAddConst(), SCIPexprgraphFindConstNode(), SCIPexprgraphReleaseNode(), and SCIPexprgraphReplaceVarByLinearSum().
◆ constnodes
SCIP_EXPRGRAPHNODE** SCIP_ExprGraph::constnodes |
nodes corresponding to constants in expression graph
Definition at line 173 of file struct_expr.h.
Referenced by exprgraphFindConstNodePos(), exprgraphMoveNode(), exprgraphSortConstNodes(), SCIPexprgraphAddConst(), SCIPexprgraphFindConstNode(), SCIPexprgraphReleaseNode(), and SCIPexprgraphReplaceVarByLinearSum().
◆ constssorted
SCIP_Bool SCIP_ExprGraph::constssorted |
whether the constnodes array has been sorted
Definition at line 174 of file struct_expr.h.
Referenced by exprgraphFindConstNodePos(), exprgraphMoveNode(), exprgraphSortConstNodes(), SCIPexprgraphAddConst(), SCIPexprgraphFindConstNode(), SCIPexprgraphReleaseNode(), and SCIPexprgraphReplaceVarByLinearSum().
◆ userdata
void* SCIP_ExprGraph::userdata |
user data associated with callback methods
Definition at line 179 of file struct_expr.h.
Referenced by exprgraphRemoveVar(), SCIPexprgraphAddVars(), and SCIPexprgraphReplaceVarByLinearSum().
◆ needvarboundprop
SCIP_Bool SCIP_ExprGraph::needvarboundprop |
whether variable bounds need be propagated, e.g., because new nodes have been added to the graph
Definition at line 181 of file struct_expr.h.
Referenced by SCIPexprgraphAddNode(), SCIPexprgraphEnableNode(), SCIPexprgraphNodeSplitOffLinear(), and SCIPexprgraphPropagateVarBounds().