Couenne::DepGraph Class Reference

Dependence graph. More...

#include <CouenneDepGraph.hpp>

List of all members.

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

Couenne::DepGraph::DepGraph (  )  [inline]

constructor

Definition at line 128 of file CouenneDepGraph.hpp.

Couenne::DepGraph::~DepGraph (  )  [inline]

destructor

Definition at line 131 of file CouenneDepGraph.hpp.


Member Function Documentation

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

return vertex set

Definition at line 138 of file CouenneDepGraph.hpp.

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

node index counter

Definition at line 142 of file CouenneDepGraph.hpp.

void DepGraph::insert ( exprVar var  ) 

insert new variable if new

Definition at line 129 of file depGraph.cpp.

void DepGraph::insert ( exprAux aux  ) 

insert new auxiliary if new

Definition at line 141 of file depGraph.cpp.

void DepGraph::erase ( exprVar var  ) 

delete element

erase element from graph

Definition at line 159 of file depGraph.cpp.

bool DepGraph::depends ( int  wi,
int  xi,
bool  recursive = false 
)

does w depend on x?

Definition at line 170 of file depGraph.cpp.

void DepGraph::createOrder (  ) 

assign numbering to all nodes of graph

Definition at line 185 of file depGraph.cpp.

void DepGraph::print ( bool  descend = false  ) 

debugging procedure

Definition at line 194 of file depGraph.cpp.

DepNode * DepGraph::lookup ( int  index  ) 

search for node in vertex set

Definition at line 206 of file depGraph.cpp.

bool DepGraph::checkCycles (  ) 

check for dependence cycles in graph

check for cycles in dependence graph

Definition at line 22 of file checkCycles.cpp.

void 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

Definition at line 220 of file depGraph.cpp.


Member Data Documentation

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

set of variable nodes

Definition at line 120 of file CouenneDepGraph.hpp.

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

Generated on 22 May 2012 by  doxygen 1.6.1