Couenne  0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
Couenne::DepGraph Class Reference

Dependence graph. More...

#include <CouenneDepGraph.hpp>

Public Member Functions

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

Protected Attributes

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

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.

References vertices_.

Member Function Documentation

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

return vertex set

Definition at line 138 of file CouenneDepGraph.hpp.

References vertices_.

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

node index counter

Definition at line 142 of file CouenneDepGraph.hpp.

References counter_.

void Couenne::DepGraph::insert ( exprVar )

insert new variable if new

void Couenne::DepGraph::insert ( exprAux )

insert new auxiliary if new

void Couenne::DepGraph::erase ( exprVar )

delete element

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

does w depend on x?

void Couenne::DepGraph::createOrder ( )

assign numbering to all nodes of graph

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

debugging procedure

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

search for node in vertex set

bool Couenne::DepGraph::checkCycles ( )

check for dependence cycles in graph

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

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

set of variable nodes

Definition at line 120 of file CouenneDepGraph.hpp.

Referenced by Vertices(), and ~DepGraph().

int Couenne::DepGraph::counter_
protected

counter to assign numbering to all nodes

Definition at line 123 of file CouenneDepGraph.hpp.

Referenced by Counter().


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