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 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_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
 
int lastreplacechildpos
 

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

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