Scippy

SCIP

Solving Constraint Integer Programs

SYM_Graph Struct Reference

Detailed Description

data to encode a symmetry detection graph

Definition at line 45 of file struct_symmetry.h.

#include <struct_symmetry.h>

Data Fields

SYM_SYMTYPE symtype
 
SCIP_Bool islocked
 
SCIP_Real infinity
 
int nnodes
 
int maxnnodes
 
int nopnodes
 
int maxnopnodes
 
int nvalnodes
 
int maxnvalnodes
 
int nconsnodes
 
int maxnconsnodes
 
int nvarcolors
 
SYM_NODETYPEnodetypes
 
int * nodeinfopos
 
int * consnodeperm
 
int * ops
 
SCIP_Realvals
 
SCIP_CONS ** conss
 
SCIP_Reallhs
 
SCIP_Realrhs
 
int nedges
 
int maxnedges
 
int * edgefirst
 
int * edgesecond
 
SCIP_Realedgevals
 
SCIP_VAR ** symvars
 
int nsymvars
 
SCIP_Boolisfixedvar
 
int * varcolors
 
int * opcolors
 
int * valcolors
 
int * conscolors
 
int * edgecolors
 
SCIP_Bool uniqueedgetype
 

Field Documentation

◆ symtype

◆ islocked

◆ infinity

SCIP_Real SYM_Graph::infinity

values as least as large as this are regarded as infinite

Definition at line 51 of file struct_symmetry.h.

Referenced by SCIP_DECL_SORTINDCOMP(), and SCIPaddSymgraphConsnode().

◆ nnodes

◆ maxnnodes

int SYM_Graph::maxnnodes

maximum number of entries in node-based arrays

Definition at line 55 of file struct_symmetry.h.

Referenced by ensureNodeArraysSize().

◆ nopnodes

int SYM_Graph::nopnodes

◆ maxnopnodes

int SYM_Graph::maxnopnodes

maximum number of entries in operator-based arrays

Definition at line 57 of file struct_symmetry.h.

Referenced by SCIPaddSymgraphOpnode().

◆ nvalnodes

int SYM_Graph::nvalnodes

◆ maxnvalnodes

int SYM_Graph::maxnvalnodes

maximum number of entries in value-based arrays

Definition at line 59 of file struct_symmetry.h.

Referenced by SCIPaddSymgraphValnode().

◆ nconsnodes

◆ maxnconsnodes

int SYM_Graph::maxnconsnodes

maximum number of constraint-based arrays

Definition at line 61 of file struct_symmetry.h.

Referenced by SCIPaddSymgraphConsnode().

◆ nvarcolors

int SYM_Graph::nvarcolors

number of variable colors

Definition at line 62 of file struct_symmetry.h.

Referenced by SCIPgetSymgraphNVarcolors().

◆ nodetypes

◆ nodeinfopos

int* SYM_Graph::nodeinfopos

array assigning each node the position in the corresponding array containing its information (operator, variable, or value)

Definition at line 66 of file struct_symmetry.h.

Referenced by ensureNodeArraysSize(), SCIPaddSymgraphConsnode(), SCIPaddSymgraphOpnode(), SCIPaddSymgraphValnode(), SCIPcopySymgraph(), SCIPgetSymgraphNodeColor(), SCIPupdateSymgraphLhs(), and SCIPupdateSymgraphRhs().

◆ consnodeperm

int* SYM_Graph::consnodeperm

array to hold permutation to sort constraint nodes (graph needs to be locked to avoid inconsistencies)

Definition at line 68 of file struct_symmetry.h.

Referenced by compareSymgraphs(), SCIPcreateSymgraphConsnodeperm(), SCIPfreeSymgraphConsnodeperm(), and SCIPgetSymgraphConsnodeperm().

◆ ops

int* SYM_Graph::ops

operators corresponding to nodes in graph

Definition at line 72 of file struct_symmetry.h.

Referenced by SCIPaddSymgraphOpnode(), SCIPcomputeSymgraphColors(), and SCIPcopySymgraph().

◆ vals

SCIP_Real* SYM_Graph::vals

values corresponding to nodes in graph

Definition at line 73 of file struct_symmetry.h.

Referenced by SCIPaddSymgraphValnode(), SCIPcomputeSymgraphColors(), and SCIPcopySymgraph().

◆ conss

SCIP_CONS** SYM_Graph::conss

constraints corresponding to cons nodes

Definition at line 74 of file struct_symmetry.h.

Referenced by compareConsnodes(), compareSymgraphs(), SCIPaddSymgraphConsnode(), and SCIPcopySymgraph().

◆ lhs

SCIP_Real* SYM_Graph::lhs

array of left-hand sides for cons nodes

Definition at line 75 of file struct_symmetry.h.

Referenced by compareConsnodes(), compareSymgraphs(), SCIPaddSymgraphConsnode(), SCIPcopySymgraph(), and SCIPupdateSymgraphLhs().

◆ rhs

SCIP_Real* SYM_Graph::rhs

array of right-hand sides for cons nodes

Definition at line 76 of file struct_symmetry.h.

Referenced by compareConsnodes(), compareSymgraphs(), SCIPaddSymgraphConsnode(), SCIPcopySymgraph(), and SCIPupdateSymgraphRhs().

◆ nedges

◆ maxnedges

int SYM_Graph::maxnedges

maximum number of entries in edge-based arrays

Definition at line 80 of file struct_symmetry.h.

Referenced by ensureEdgeArraysSize().

◆ edgefirst

int* SYM_Graph::edgefirst

array of first nodes of edges

Definition at line 83 of file struct_symmetry.h.

Referenced by ensureEdgeArraysSize(), SCIPaddSymgraphEdge(), SCIPgetSymgraphEdgeFirst(), and SYMcheckGraphsAreIdentical().

◆ edgesecond

int* SYM_Graph::edgesecond

array of second nodes of edges

Definition at line 84 of file struct_symmetry.h.

Referenced by ensureEdgeArraysSize(), SCIPaddSymgraphEdge(), SCIPgetSymgraphEdgeSecond(), and SYMcheckGraphsAreIdentical().

◆ edgevals

SCIP_Real* SYM_Graph::edgevals

array assigning each edge a value (SCIPinfinity if unassigned)

Definition at line 85 of file struct_symmetry.h.

Referenced by ensureEdgeArraysSize(), SCIP_DECL_SORTINDCOMP(), SCIPaddSymgraphEdge(), and SCIPcopySymgraph().

◆ symvars

SCIP_VAR** SYM_Graph::symvars

variables on which symmetries act

Definition at line 88 of file struct_symmetry.h.

Referenced by SCIP_DECL_SORTINDCOMP(), SCIPcomputeSymgraphColors(), SCIPcopySymgraph(), and SCIPgetSymgraphVars().

◆ nsymvars

◆ isfixedvar

SCIP_Bool* SYM_Graph::isfixedvar

whether a variable needs to be fixed

Definition at line 90 of file struct_symmetry.h.

Referenced by SCIP_DECL_SORTINDCOMP(), SCIPcomputeSymgraphColors(), and SCIPfixSymgraphVarnode().

◆ varcolors

int* SYM_Graph::varcolors

variable colors for symmetry detection

Definition at line 93 of file struct_symmetry.h.

Referenced by SCIPcomputeSymgraphColors(), and SCIPgetSymgraphVarnodeColor().

◆ opcolors

int* SYM_Graph::opcolors

operator colors for symmetry detection

Definition at line 94 of file struct_symmetry.h.

Referenced by SCIPcomputeSymgraphColors(), and SCIPgetSymgraphNodeColor().

◆ valcolors

int* SYM_Graph::valcolors

value colors for symmetry detection

Definition at line 95 of file struct_symmetry.h.

Referenced by SCIPcomputeSymgraphColors(), and SCIPgetSymgraphNodeColor().

◆ conscolors

int* SYM_Graph::conscolors

constraint colors for symmetry detection

Definition at line 96 of file struct_symmetry.h.

Referenced by SCIPcomputeSymgraphColors(), and SCIPgetSymgraphNodeColor().

◆ edgecolors

int* SYM_Graph::edgecolors

edge colors used for symmetry detection (-1 uncolored)

Definition at line 97 of file struct_symmetry.h.

Referenced by SCIPcomputeSymgraphColors(), SCIPgetSymgraphEdgeColor(), and SCIPisSymgraphEdgeColored().

◆ uniqueedgetype

SCIP_Bool SYM_Graph::uniqueedgetype

whether all edges are equivalent

Definition at line 98 of file struct_symmetry.h.

Referenced by SCIPhasGraphUniqueEdgetype().