Couenne 0.5.8
Loading...
Searching...
No Matches
Couenne::DepGraph Class Reference

Dependence graph. More...

#include <CouenneDepGraph.hpp>

+ Collaboration diagram for Couenne::DepGraph:

Public Member Functions

 DepGraph ()
 constructor
 
 ~DepGraph ()
 destructor
 
std::set< DepNode *, compNode > & Vertices ()
 return vertex set
 
int & Counter ()
 node index counter
 
void insert (exprVar *)
 insert new variable if new
 
void insert (exprAux *)
 insert new auxiliary if new
 
void erase (exprVar *)
 delete element
 
bool depends (int, int, bool=false)
 does w depend on x?
 
void createOrder ()
 assign numbering to all nodes of graph
 
void print (bool descend=false)
 debugging procedure
 
DepNodelookup (int index)
 search for node in vertex set
 
bool checkCycles ()
 check for dependence cycles in graph
 
void replaceIndex (int oldVar, int newVar)
 replace, throughout the whole graph, the index of a variable with another in the entire graph.
 

Protected Attributes

std::set< DepNode *, compNodevertices_
 set of variable nodes
 
int counter_
 counter to assign numbering to all nodes
 

Detailed Description

Dependence graph.

Shows dependence of auxiliary variable on other (auxiliary and/or original) variables

Definition at line 115 of file CouenneDepGraph.hpp.

Constructor & Destructor Documentation

◆ DepGraph()

Couenne::DepGraph::DepGraph ( )
inline

constructor

Definition at line 128 of file CouenneDepGraph.hpp.

◆ ~DepGraph()

Couenne::DepGraph::~DepGraph ( )
inline

destructor

Definition at line 131 of file CouenneDepGraph.hpp.

Member Function Documentation

◆ Vertices()

std::set< DepNode *, compNode > & Couenne::DepGraph::Vertices ( )
inline

return vertex set

Definition at line 138 of file CouenneDepGraph.hpp.

◆ Counter()

int & Couenne::DepGraph::Counter ( )
inline

node index counter

Definition at line 142 of file CouenneDepGraph.hpp.

◆ insert() [1/2]

void Couenne::DepGraph::insert ( exprVar * )

insert new variable if new

◆ insert() [2/2]

void Couenne::DepGraph::insert ( exprAux * )

insert new auxiliary if new

◆ erase()

void Couenne::DepGraph::erase ( exprVar * )

delete element

◆ depends()

bool Couenne::DepGraph::depends ( int ,
int ,
bool = false )

does w depend on x?

◆ createOrder()

void Couenne::DepGraph::createOrder ( )

assign numbering to all nodes of graph

◆ print()

void Couenne::DepGraph::print ( bool descend = false)

debugging procedure

◆ lookup()

DepNode * Couenne::DepGraph::lookup ( int index)

search for node in vertex set

◆ checkCycles()

bool Couenne::DepGraph::checkCycles ( )

check for dependence cycles in graph

◆ replaceIndex()

void Couenne::DepGraph::replaceIndex ( int oldVar,
int newVar )

replace, throughout the whole graph, the index of a variable with another in the entire graph.

Used when redundant constraints w := x are discovered

Member Data Documentation

◆ vertices_

std::set<DepNode *, compNode> Couenne::DepGraph::vertices_
protected

set of variable nodes

Definition at line 120 of file CouenneDepGraph.hpp.

◆ counter_

int Couenne::DepGraph::counter_
protected

counter to assign numbering to all nodes

Definition at line 123 of file CouenneDepGraph.hpp.


The documentation for this class was generated from the following file: