Scippy

SCIP

Solving Constraint Integer Programs

SCIP_ExprGraph Struct Reference

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 139 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_BLKMEMblkmem
 
int depth
 
int * nodessize
 
int * nnodes
 
SCIP_EXPRGRAPHNODE *** nodes
 
int varssize
 
int nvars
 
void ** vars
 
SCIP_EXPRGRAPHNODE ** varnodes
 
SCIP_INTERVALvarbounds
 
SCIP_HASHMAPvaridxs
 
int constssize
 
int nconsts
 
SCIP_EXPRGRAPHNODE ** constnodes
 
SCIP_Bool constssorted
 
void * userdata
 
SCIP_Bool needvarboundprop
 

Member Function Documentation

SCIP_ExprGraph::SCIP_DECL_EXPRGRAPHVARADDED ( exprgraphvaradded)

callback for variable addition event

SCIP_ExprGraph::SCIP_DECL_EXPRGRAPHVARREMOVE ( exprgraphvarremove)

callback for variable removal event

SCIP_ExprGraph::SCIP_DECL_EXPRGRAPHVARCHGIDX ( exprgraphvarchgidx)

callback for variable index change event

Field Documentation

int* SCIP_ExprGraph::nodessize

current size of nodes array for each depth

Definition at line 144 of file struct_expr.h.

Referenced by exprgraphEnsureDepth(), exprgraphMoveNode(), SCIPexprgraphAddNode(), and SCIPexprgraphAddVars().

int SCIP_ExprGraph::varssize

length of vars array

Definition at line 148 of file struct_expr.h.

Referenced by SCIPexprgraphAddVars(), and SCIPexprgraphReplaceVarByLinearSum().

SCIP_HASHMAP* SCIP_ExprGraph::varidxs
int SCIP_ExprGraph::constssize

length of consts array

Definition at line 155 of file struct_expr.h.

Referenced by exprgraphMoveNode(), SCIPexprgraphAddConst(), and SCIPexprgraphReplaceVarByLinearSum().

SCIP_EXPRGRAPHNODE** SCIP_ExprGraph::constnodes
void* SCIP_ExprGraph::userdata

user data associated with callback methods

Definition at line 163 of file struct_expr.h.

Referenced by exprgraphRemoveVar(), SCIPexprgraphAddVars(), and SCIPexprgraphReplaceVarByLinearSum().

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 165 of file struct_expr.h.

Referenced by SCIPexprgraphAddNode(), SCIPexprgraphEnableNode(), SCIPexprgraphNodeSplitOffLinear(), and SCIPexprgraphPropagateVarBounds().