Open
Graph Drawing
Framework

 v.2012.05
 

ogdf::Sub Class Reference

#include <ogdf/internal/cluster/MaxCPlanar_Sub.h>

List of all members.

Public Member Functions

 Sub (ABA_MASTER *master)
 Sub (ABA_MASTER *master, ABA_SUB *father, ABA_BRANCHRULE *branchRule, List< ABA_CONSTRAINT * > &criticalConstraints)
virtual ~Sub ()
virtual ABA_SUB * generateSon (ABA_BRANCHRULE *rule)

Protected Member Functions

virtual bool feasible ()
virtual int makeFeasible ()
int repair ()
virtual int optimize ()
bool checkCConnectivity (const GraphCopy &support)
bool checkCConnectivityOld (const GraphCopy &support)
node getRepresentative (node v, NodeArray< node > &parent)
int clusterBags (ClusterGraph &CG, cluster c)
int separateReal (double minViolate)
int pricingReal (double minViolate)
int separateRealO (double minViolate)
int pricingRealO (double minViolate)
virtual int separate ()
virtual int pricing ()
virtual int solveLp ()
virtual int improve (double &primalValue)
virtual int selectBranchingVariableCandidates (ABA_BUFFER< int > &candidates)
virtual int selectBranchingVariable (int &variable)
int addPoolCons (ABA_BUFFER< ABA_CONSTRAINT * > &cons, ABA_STANDARDPOOL< ABA_CONSTRAINT, ABA_VARIABLE > *pool)
 Adds the given constraints to the given pool.
int separateCutPool (ABA_STANDARDPOOL< ABA_CONSTRAINT, ABA_VARIABLE > *pool, double minViolation)

Private Member Functions

Mastermaster ()
int createVariablesForBufferedConstraints ()
void myAddVars (ABA_BUFFER< ABA_VARIABLE * > &b)
void kuratowskiSupportGraph (GraphCopy &support, double low, double high)
void connectivitySupportGraph (GraphCopy &support, EdgeArray< double > &weight)
void intSolutionInducedGraph (GraphCopy &support)
double subdivisionLefthandSide (SListConstIterator< KuratowskiWrapper > it, GraphCopy *gc)
void updateSolution ()
int getArrayIndex (double lpValue)
void childClusterSpanningTree (GraphCopy &GC, List< edgeValue > &clusterEdges, List< nodePair > &MSTEdges)
void clusterSpanningTree (ClusterGraph &C, cluster c, ClusterArray< List< nodePair > > &treeEdges, ClusterArray< List< edgeValue > > &clusterEdges)
double heuristicImprovePrimalBound (List< nodePair > &originalEdges, List< nodePair > &connectionEdges, List< edge > &deletedEdges)
int addCutCons (ABA_BUFFER< ABA_CONSTRAINT * > cons)
 Adds the given constraints to the connectivity cut pool.
int addKuraCons (ABA_BUFFER< ABA_CONSTRAINT * > cons)
 Adds the given constraints to the planarity cut pool.
int separateConnPool (double minViolation)
int separateKuraPool (double minViolation)

Private Attributes

bool m_constraintsFound
bool detectedInfeasibility
bool inOrigSolveLp
double realDualBound
int m_reportCreation
bool m_sepFirst
List< ABA_CONSTRAINT * > criticalSinceBranching
ArrayBuffer< ABA_CONSTRAINT * > bufferedForCreation

Detailed Description

Definition at line 56 of file MaxCPlanar_Sub.h.


Constructor & Destructor Documentation

ogdf::Sub::Sub ( ABA_MASTER *  master)
ogdf::Sub::Sub ( ABA_MASTER *  master,
ABA_SUB *  father,
ABA_BRANCHRULE *  branchRule,
List< ABA_CONSTRAINT * > &  criticalConstraints 
)
virtual ogdf::Sub::~Sub ( ) [virtual]

Member Function Documentation

int ogdf::Sub::addCutCons ( ABA_BUFFER< ABA_CONSTRAINT * >  cons) [inline, private]

Adds the given constraints to the connectivity cut pool.

Definition at line 253 of file MaxCPlanar_Sub.h.

int ogdf::Sub::addKuraCons ( ABA_BUFFER< ABA_CONSTRAINT * >  cons) [inline, private]

Adds the given constraints to the planarity cut pool.

Definition at line 258 of file MaxCPlanar_Sub.h.

int ogdf::Sub::addPoolCons ( ABA_BUFFER< ABA_CONSTRAINT * > &  cons,
ABA_STANDARDPOOL< ABA_CONSTRAINT, ABA_VARIABLE > *  pool 
) [inline, protected]

Adds the given constraints to the given pool.

Definition at line 164 of file MaxCPlanar_Sub.h.

bool ogdf::Sub::checkCConnectivity ( const GraphCopy support) [protected]

Checks if the cluster induced graphs and their complement are connected in the current solution.

bool ogdf::Sub::checkCConnectivityOld ( const GraphCopy support) [protected]
void ogdf::Sub::childClusterSpanningTree ( GraphCopy GC,
List< edgeValue > &  clusterEdges,
List< nodePair > &  MSTEdges 
) [private]
int ogdf::Sub::clusterBags ( ClusterGraph CG,
cluster  c 
) [protected]
void ogdf::Sub::clusterSpanningTree ( ClusterGraph C,
cluster  c,
ClusterArray< List< nodePair > > &  treeEdges,
ClusterArray< List< edgeValue > > &  clusterEdges 
) [private]
void ogdf::Sub::connectivitySupportGraph ( GraphCopy support,
EdgeArray< double > &  weight 
) [private]
virtual bool ogdf::Sub::feasible ( ) [protected, virtual]
virtual ABA_SUB* ogdf::Sub::generateSon ( ABA_BRANCHRULE *  rule) [virtual]
int ogdf::Sub::getArrayIndex ( double  lpValue) [private]
node ogdf::Sub::getRepresentative ( node  v,
NodeArray< node > &  parent 
) [inline, protected]

run through the pointer list parent and return the representative i.e. the node with parent[v] == v

Definition at line 97 of file MaxCPlanar_Sub.h.

double ogdf::Sub::heuristicImprovePrimalBound ( List< nodePair > &  originalEdges,
List< nodePair > &  connectionEdges,
List< edge > &  deletedEdges 
) [private]
virtual int ogdf::Sub::improve ( double &  primalValue) [protected, virtual]
void ogdf::Sub::intSolutionInducedGraph ( GraphCopy support) [private]
void ogdf::Sub::kuratowskiSupportGraph ( GraphCopy support,
double  low,
double  high 
) [private]
virtual int ogdf::Sub::makeFeasible ( ) [inline, protected, virtual]

Definition at line 77 of file MaxCPlanar_Sub.h.

Master* ogdf::Sub::master ( ) [inline, private]

Definition at line 175 of file MaxCPlanar_Sub.h.

void ogdf::Sub::myAddVars ( ABA_BUFFER< ABA_VARIABLE * > &  b) [inline, private]

Definition at line 191 of file MaxCPlanar_Sub.h.

virtual int ogdf::Sub::optimize ( ) [inline, protected, virtual]

Definition at line 81 of file MaxCPlanar_Sub.h.

virtual int ogdf::Sub::pricing ( ) [inline, protected, virtual]

Definition at line 142 of file MaxCPlanar_Sub.h.

int ogdf::Sub::pricingReal ( double  minViolate) [protected]
int ogdf::Sub::pricingRealO ( double  minViolate) [inline, protected]

Definition at line 130 of file MaxCPlanar_Sub.h.

int ogdf::Sub::repair ( ) [protected]
virtual int ogdf::Sub::selectBranchingVariable ( int &  variable) [protected, virtual]
virtual int ogdf::Sub::selectBranchingVariableCandidates ( ABA_BUFFER< int > &  candidates) [protected, virtual]
virtual int ogdf::Sub::separate ( ) [inline, protected, virtual]

Definition at line 138 of file MaxCPlanar_Sub.h.

int ogdf::Sub::separateConnPool ( double  minViolation) [inline, private]

Definition at line 264 of file MaxCPlanar_Sub.h.

int ogdf::Sub::separateCutPool ( ABA_STANDARDPOOL< ABA_CONSTRAINT, ABA_VARIABLE > *  pool,
double  minViolation 
) [inline, protected]

Definition at line 168 of file MaxCPlanar_Sub.h.

int ogdf::Sub::separateKuraPool ( double  minViolation) [inline, private]

Definition at line 269 of file MaxCPlanar_Sub.h.

int ogdf::Sub::separateReal ( double  minViolate) [protected]

these functions are mainly reporting to let abacus think everthing is normal. the actual work is done by separateReal() and pricingReal(). The steering of this process is performed in solveLp()

int ogdf::Sub::separateRealO ( double  minViolate) [inline, protected]

Definition at line 124 of file MaxCPlanar_Sub.h.

virtual int ogdf::Sub::solveLp ( ) [protected, virtual]
void ogdf::Sub::updateSolution ( ) [private]

Member Data Documentation

ArrayBuffer<ABA_CONSTRAINT* > ogdf::Sub::bufferedForCreation [private]

Definition at line 188 of file MaxCPlanar_Sub.h.

List< ABA_CONSTRAINT* > ogdf::Sub::criticalSinceBranching [private]

Definition at line 187 of file MaxCPlanar_Sub.h.

Definition at line 180 of file MaxCPlanar_Sub.h.

bool ogdf::Sub::inOrigSolveLp [private]

Definition at line 181 of file MaxCPlanar_Sub.h.

Definition at line 179 of file MaxCPlanar_Sub.h.

Definition at line 185 of file MaxCPlanar_Sub.h.

bool ogdf::Sub::m_sepFirst [private]

Definition at line 186 of file MaxCPlanar_Sub.h.

double ogdf::Sub::realDualBound [private]

Definition at line 182 of file MaxCPlanar_Sub.h.


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