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 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

int depth
int * nodessize
int * nnodes
int varssize
int nvars
void ** vars
int constssize
int nconsts
SCIP_Bool constssorted
void * userdata
SCIP_Bool needvarboundprop
int lastreplacechildpos

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

◆ blkmem

◆ depth

◆ 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

◆ nodes

◆ varssize

int SCIP_ExprGraph::varssize

length of vars array

Definition at line 164 of file struct_expr.h.

Referenced by SCIPexprgraphAddVars(), and SCIPexprgraphReplaceVarByLinearSum().

◆ nvars

◆ vars

◆ varnodes

◆ varbounds

◆ varidxs

SCIP_HASHMAP* SCIP_ExprGraph::varidxs

◆ 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

◆ constnodes

SCIP_EXPRGRAPHNODE** SCIP_ExprGraph::constnodes

◆ constssorted

◆ 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().

◆ lastreplacechildpos

int SCIP_ExprGraph::lastreplacechildpos

last position where a child was found that was replaced, used to heuristically speed up consecutive calls to exprgraphNodeReplaceChild

Definition at line 183 of file struct_expr.h.

Referenced by exprgraphNodeReplaceChild().