Open
Graph Drawing
Framework

 v.2012.05
 

ogdf::Master Class Reference

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

List of all members.

Public Member Functions

 Master (const ClusterGraph &C, int heuristicLevel=1, int heuristicRuns=2, double heuristicOEdgeBound=0.3, int heuristicNPermLists=5, int kuratowskiIterations=3, int subdivisions=10, int kSupportGraphs=3, double kuratowskiHigh=0.7, double kuratowskiLow=0.3, bool perturbation=false, double branchingGap=0.4, const char *time="00:20:00", bool dopricing=true, bool checkCPlanar=false, int numAddVariables=15, double strongConstraintViolation=0.3, double strongVariableViolation=0.3, ABA_MASTER::OUTLEVEL ol=Silent)
virtual ~Master ()
virtual ABA_SUB * firstSub ()
double epsilon () const
int nMaxVars () const
const GraphgetGraph () const
const ClusterGraphgetClusterGraph () const
void updateBestSubGraph (List< nodePair > &original, List< nodePair > &connection, List< edge > &deleted)
GraphsolutionInducedGraph ()
void getAllOptimalSolutionEdges (List< nodePair > &edges) const
void getOriginalOptimalSolutionEdges (List< nodePair > &edges) const
void getConnectionOptimalSolutionEdges (List< nodePair > &egdes) const
void getDeletedEdges (List< edge > &edges) const
const int getKIterations () const
const int getNSubdivisions () const
const int getNKuratowskiSupportGraphs () const
const int getHeuristicLevel () const
const int getHeuristicRuns () const
const double getKBoundHigh () const
const double getKBoundLow () const
const bool perturbation () const
const double branchingOEdgeSelectGap () const
const double getHeuristicFractionalBound () const
const int numberOfHeuristicPermutationLists () const
const bool getMPHeuristic () const
const bool getCheckCPlanar () const
const int getNumAddVariables () const
const double getStrongConstraintViolation () const
const double getStrongVariableViolation () const
const int addedKConstraints () const
const int addedCConstraints () const
void setKIterations (int n)
void setNSubdivisions (int n)
void setNKuratowskiSupportGraphs (int n)
void setNHeuristicRuns (int n)
void setKBoundHigh (double n)
void setKBoundLow (double n)
void heuristicLevel (int level)
void setHeuristicRuns (int n)
void setPertubation (bool b)
void setHeuristicFractionalBound (double b)
void setHeuristicPermutationLists (int n)
void setMPHeuristic (bool b)
 Switches use of lower bound heuristic.
void setNumAddVariables (int i)
void setStrongConstraintViolation (double d)
void setStrongVariableViolation (double d)
void setPortaFile (bool b)
 If set to true, PORTA output is written in a file.
void updateAddedCCons (int n)
void updateAddedKCons (int n)
double getPrimalBound ()
double getDualBound ()
ABA_STANDARDPOOL
< ABA_CONSTRAINT, ABA_VARIABLE > * 
getCutConnPool ()
 Returns cut pool for connectivity.
ABA_STANDARDPOOL
< ABA_CONSTRAINT, ABA_VARIABLE > * 
getCutKuraPool ()
 Returns cut pool for planarity.
bool & useDefaultCutPool ()
const char * getStdConstraintsFileName ()
int getNumInactiveVars ()

Protected Member Functions

virtual void initializeOptimization ()
virtual void terminateOptimization ()
double heuristicInitialLowerBound ()

Private Member Functions

double heuristicInitialUpperBound ()
void clusterConnection (cluster c, GraphCopy &GC, double &upperBound)
void nodeDistances (node u, NodeArray< NodeArray< int > > &dist)
void clearActiveRepairs ()
double getDoubleTime (const ABA_TIMER *act)
double nextConnectCoeff ()
EdgeVarcreateVariable (ListIterator< nodePair > &it)
void generateVariablesForFeasibility (const List< ChunkConnection * > &ccons, List< EdgeVar * > &connectVars)
bool goodVar (node a, node b)
void getCoefficients (ABA_CONSTRAINT *con, const List< EdgeVar * > &orig, const List< EdgeVar * > &connect, List< double > &coeffs)

Private Attributes

const ClusterGraphm_C
const Graphm_G
GraphCopym_solutionGraph
List< nodePairm_allOneEdges
List< nodePairm_originalOneEdges
List< nodePairm_connectionOneEdges
List< edgem_deletedOriginalEdges
int m_nKuratowskiSupportGraphs
int m_nKuratowskiIterations
int m_nSubdivisions
int m_nMaxVars
int m_heuristicLevel
int m_nHeuristicRuns
bool m_usePerturbation
double m_branchingGap
double m_heuristicFractionalBound
int m_nHeuristicPermutationLists
bool m_mpHeuristic
 Indicates if simple max planar subgraph heuristic.
double m_kuratowskiBoundHigh
double m_kuratowskiBoundLow
int m_numAddVariables
double m_strongConstraintViolation
double m_strongVariableViolation
ABA_MASTER::OUTLEVEL m_out
ABA_STRING * m_maxCpuTime
double m_epsilon
double m_largestConnectionCoeff
int m_nCConsAdded
int m_nKConsAdded
int m_solvesLP
int m_varsInit
int m_varsAdded
int m_varsPotential
int m_varsMax
int m_varsCut
int m_varsKura
int m_varsPrice
int m_varsBranch
int m_activeRepairs
ArrayBuffer< int > m_repairStat
double globalPrimalBound
double globalDualBound
const int m_fastHeuristicRuns
ABA_STANDARDPOOL
< ABA_CONSTRAINT, ABA_VARIABLE > * 
m_cutConnPool
 Cut pools for connectivity and Kuratowski constraints.
ABA_STANDARDPOOL
< ABA_CONSTRAINT, ABA_VARIABLE > * 
m_cutKuraPool
 Kuratowski Cuts.
bool m_useDefaultCutPool
bool m_checkCPlanar
double m_delta
double m_deltaCount
List< nodePairm_inactiveVariables
bool m_porta
 If set to true, PORTA output is written in a file.

Friends

class Sub

Detailed Description

Definition at line 63 of file MaxCPlanar_Master.h.


Constructor & Destructor Documentation

ogdf::Master::Master ( const ClusterGraph C,
int  heuristicLevel = 1,
int  heuristicRuns = 2,
double  heuristicOEdgeBound = 0.3,
int  heuristicNPermLists = 5,
int  kuratowskiIterations = 3,
int  subdivisions = 10,
int  kSupportGraphs = 3,
double  kuratowskiHigh = 0.7,
double  kuratowskiLow = 0.3,
bool  perturbation = false,
double  branchingGap = 0.4,
const char *  time = "00:20:00",
bool  dopricing = true,
bool  checkCPlanar = false,
int  numAddVariables = 15,
double  strongConstraintViolation = 0.3,
double  strongVariableViolation = 0.3,
ABA_MASTER::OUTLEVEL  ol = Silent 
)
virtual ogdf::Master::~Master ( ) [virtual]

Member Function Documentation

const int ogdf::Master::addedCConstraints ( ) const [inline]

Definition at line 156 of file MaxCPlanar_Master.h.

const int ogdf::Master::addedKConstraints ( ) const [inline]

Definition at line 155 of file MaxCPlanar_Master.h.

const double ogdf::Master::branchingOEdgeSelectGap ( ) const [inline]

Definition at line 145 of file MaxCPlanar_Master.h.

void ogdf::Master::clearActiveRepairs ( ) [inline, private]

Definition at line 284 of file MaxCPlanar_Master.h.

void ogdf::Master::clusterConnection ( cluster  c,
GraphCopy GC,
double &  upperBound 
) [private]
EdgeVar* ogdf::Master::createVariable ( ListIterator< nodePair > &  it) [inline, private]

Definition at line 319 of file MaxCPlanar_Master.h.

double ogdf::Master::epsilon ( ) const [inline]

Definition at line 112 of file MaxCPlanar_Master.h.

virtual ABA_SUB* ogdf::Master::firstSub ( ) [virtual]
void ogdf::Master::generateVariablesForFeasibility ( const List< ChunkConnection * > &  ccons,
List< EdgeVar * > &  connectVars 
) [private]
const bool ogdf::Master::getCheckCPlanar ( ) const [inline]

Definition at line 149 of file MaxCPlanar_Master.h.

const ClusterGraph* ogdf::Master::getClusterGraph ( ) const [inline]

Definition at line 121 of file MaxCPlanar_Master.h.

void ogdf::Master::getCoefficients ( ABA_CONSTRAINT *  con,
const List< EdgeVar * > &  orig,
const List< EdgeVar * > &  connect,
List< double > &  coeffs 
) [private]

writes coefficients of all orig and connect variables in constraint con into emptied list coeffs

ABA_STANDARDPOOL<ABA_CONSTRAINT, ABA_VARIABLE>* ogdf::Master::getCutConnPool ( ) [inline]

Returns cut pool for connectivity.

Definition at line 189 of file MaxCPlanar_Master.h.

ABA_STANDARDPOOL<ABA_CONSTRAINT, ABA_VARIABLE>* ogdf::Master::getCutKuraPool ( ) [inline]

Returns cut pool for planarity.

Definition at line 191 of file MaxCPlanar_Master.h.

void ogdf::Master::getDeletedEdges ( List< edge > &  edges) const
double ogdf::Master::getDoubleTime ( const ABA_TIMER *  act) [inline, private]

Definition at line 294 of file MaxCPlanar_Master.h.

double ogdf::Master::getDualBound ( ) [inline]

Definition at line 185 of file MaxCPlanar_Master.h.

const Graph* ogdf::Master::getGraph ( ) const [inline]

Definition at line 118 of file MaxCPlanar_Master.h.

const double ogdf::Master::getHeuristicFractionalBound ( ) const [inline]

Definition at line 146 of file MaxCPlanar_Master.h.

const int ogdf::Master::getHeuristicLevel ( ) const [inline]

Definition at line 140 of file MaxCPlanar_Master.h.

const int ogdf::Master::getHeuristicRuns ( ) const [inline]

Definition at line 141 of file MaxCPlanar_Master.h.

const double ogdf::Master::getKBoundHigh ( ) const [inline]

Definition at line 142 of file MaxCPlanar_Master.h.

const double ogdf::Master::getKBoundLow ( ) const [inline]

Definition at line 143 of file MaxCPlanar_Master.h.

const int ogdf::Master::getKIterations ( ) const [inline]

Definition at line 137 of file MaxCPlanar_Master.h.

const bool ogdf::Master::getMPHeuristic ( ) const [inline]

Definition at line 148 of file MaxCPlanar_Master.h.

const int ogdf::Master::getNKuratowskiSupportGraphs ( ) const [inline]

Definition at line 139 of file MaxCPlanar_Master.h.

const int ogdf::Master::getNSubdivisions ( ) const [inline]

Definition at line 138 of file MaxCPlanar_Master.h.

const int ogdf::Master::getNumAddVariables ( ) const [inline]

Definition at line 150 of file MaxCPlanar_Master.h.

Definition at line 211 of file MaxCPlanar_Master.h.

double ogdf::Master::getPrimalBound ( ) [inline]

Definition at line 184 of file MaxCPlanar_Master.h.

const char* ogdf::Master::getStdConstraintsFileName ( ) [inline]

The name of the file that contains the standard, i.e., non-cut, constraints (may be deleted by ABACUS and shouldn't be stored twice)

Definition at line 206 of file MaxCPlanar_Master.h.

const double ogdf::Master::getStrongConstraintViolation ( ) const [inline]

Definition at line 151 of file MaxCPlanar_Master.h.

const double ogdf::Master::getStrongVariableViolation ( ) const [inline]

Definition at line 152 of file MaxCPlanar_Master.h.

bool ogdf::Master::goodVar ( node  a,
node  b 
) [private]
void ogdf::Master::heuristicLevel ( int  level) [inline]

Definition at line 166 of file MaxCPlanar_Master.h.

virtual void ogdf::Master::initializeOptimization ( ) [protected, virtual]
double ogdf::Master::nextConnectCoeff ( ) [inline, private]

Definition at line 318 of file MaxCPlanar_Master.h.

int ogdf::Master::nMaxVars ( ) const [inline]

Definition at line 115 of file MaxCPlanar_Master.h.

void ogdf::Master::nodeDistances ( node  u,
NodeArray< NodeArray< int > > &  dist 
) [private]

Definition at line 147 of file MaxCPlanar_Master.h.

const bool ogdf::Master::perturbation ( ) const [inline]

Definition at line 144 of file MaxCPlanar_Master.h.

void ogdf::Master::setHeuristicFractionalBound ( double  b) [inline]

Definition at line 169 of file MaxCPlanar_Master.h.

Definition at line 170 of file MaxCPlanar_Master.h.

void ogdf::Master::setHeuristicRuns ( int  n) [inline]

Definition at line 167 of file MaxCPlanar_Master.h.

void ogdf::Master::setKBoundHigh ( double  n) [inline]

Definition at line 164 of file MaxCPlanar_Master.h.

void ogdf::Master::setKBoundLow ( double  n) [inline]

Definition at line 165 of file MaxCPlanar_Master.h.

void ogdf::Master::setKIterations ( int  n) [inline]

Definition at line 160 of file MaxCPlanar_Master.h.

void ogdf::Master::setMPHeuristic ( bool  b) [inline]

Switches use of lower bound heuristic.

Definition at line 171 of file MaxCPlanar_Master.h.

void ogdf::Master::setNHeuristicRuns ( int  n) [inline]

Definition at line 163 of file MaxCPlanar_Master.h.

Definition at line 162 of file MaxCPlanar_Master.h.

void ogdf::Master::setNSubdivisions ( int  n) [inline]

Definition at line 161 of file MaxCPlanar_Master.h.

void ogdf::Master::setNumAddVariables ( int  i) [inline]

Definition at line 172 of file MaxCPlanar_Master.h.

void ogdf::Master::setPertubation ( bool  b) [inline]

Definition at line 168 of file MaxCPlanar_Master.h.

void ogdf::Master::setPortaFile ( bool  b) [inline]

If set to true, PORTA output is written in a file.

Definition at line 177 of file MaxCPlanar_Master.h.

void ogdf::Master::setStrongConstraintViolation ( double  d) [inline]

Definition at line 173 of file MaxCPlanar_Master.h.

void ogdf::Master::setStrongVariableViolation ( double  d) [inline]

Definition at line 174 of file MaxCPlanar_Master.h.

Definition at line 128 of file MaxCPlanar_Master.h.

virtual void ogdf::Master::terminateOptimization ( ) [protected, virtual]
void ogdf::Master::updateAddedCCons ( int  n) [inline]

Definition at line 180 of file MaxCPlanar_Master.h.

void ogdf::Master::updateAddedKCons ( int  n) [inline]

Definition at line 181 of file MaxCPlanar_Master.h.

void ogdf::Master::updateBestSubGraph ( List< nodePair > &  original,
List< nodePair > &  connection,
List< edge > &  deleted 
)
bool& ogdf::Master::useDefaultCutPool ( ) [inline]

Returns true if default cut pool is used. Otherwise, separate connectivity and Kuratowski pools are generated and used.

Definition at line 195 of file MaxCPlanar_Master.h.


Friends And Related Function Documentation

friend class Sub [friend]

Definition at line 65 of file MaxCPlanar_Master.h.


Member Data Documentation

Definition at line 292 of file MaxCPlanar_Master.h.

Definition at line 291 of file MaxCPlanar_Master.h.

Definition at line 282 of file MaxCPlanar_Master.h.

Definition at line 76 of file MaxCPlanar_Master.h.

double ogdf::Master::m_branchingGap [private]

Definition at line 247 of file MaxCPlanar_Master.h.

const ClusterGraph* ogdf::Master::m_C [private]

Definition at line 68 of file MaxCPlanar_Master.h.

Defines if only clustered planarity is checked, i.e., all edges of the original graph need to be fixed to be part of the solution

Definition at line 313 of file MaxCPlanar_Master.h.

Definition at line 78 of file MaxCPlanar_Master.h.

ABA_STANDARDPOOL< ABA_CONSTRAINT, ABA_VARIABLE >* ogdf::Master::m_cutConnPool [private]

Cut pools for connectivity and Kuratowski constraints.

Connectivity Cuts

Definition at line 303 of file MaxCPlanar_Master.h.

ABA_STANDARDPOOL< ABA_CONSTRAINT, ABA_VARIABLE >* ogdf::Master::m_cutKuraPool [private]

Kuratowski Cuts.

Definition at line 304 of file MaxCPlanar_Master.h.

Definition at line 79 of file MaxCPlanar_Master.h.

double ogdf::Master::m_delta [private]

Definition at line 316 of file MaxCPlanar_Master.h.

double ogdf::Master::m_deltaCount [private]

Definition at line 317 of file MaxCPlanar_Master.h.

double ogdf::Master::m_epsilon [private]

Definition at line 265 of file MaxCPlanar_Master.h.

const int ogdf::Master::m_fastHeuristicRuns [private]

Definition at line 300 of file MaxCPlanar_Master.h.

const Graph* ogdf::Master::m_G [private]

Definition at line 69 of file MaxCPlanar_Master.h.

Definition at line 248 of file MaxCPlanar_Master.h.

Definition at line 243 of file MaxCPlanar_Master.h.

Definition at line 326 of file MaxCPlanar_Master.h.

Definition at line 253 of file MaxCPlanar_Master.h.

Definition at line 254 of file MaxCPlanar_Master.h.

Definition at line 268 of file MaxCPlanar_Master.h.

ABA_STRING* ogdf::Master::m_maxCpuTime [private]

Definition at line 261 of file MaxCPlanar_Master.h.

Indicates if simple max planar subgraph heuristic.

Definition at line 250 of file MaxCPlanar_Master.h.

Definition at line 271 of file MaxCPlanar_Master.h.

Definition at line 249 of file MaxCPlanar_Master.h.

Definition at line 244 of file MaxCPlanar_Master.h.

Definition at line 272 of file MaxCPlanar_Master.h.

Definition at line 240 of file MaxCPlanar_Master.h.

Definition at line 239 of file MaxCPlanar_Master.h.

int ogdf::Master::m_nMaxVars [private]

Definition at line 242 of file MaxCPlanar_Master.h.

Definition at line 241 of file MaxCPlanar_Master.h.

Definition at line 256 of file MaxCPlanar_Master.h.

Definition at line 77 of file MaxCPlanar_Master.h.

ABA_MASTER::OUTLEVEL ogdf::Master::m_out [private]

Definition at line 260 of file MaxCPlanar_Master.h.

bool ogdf::Master::m_porta [private]

If set to true, PORTA output is written in a file.

Definition at line 332 of file MaxCPlanar_Master.h.

Definition at line 283 of file MaxCPlanar_Master.h.

Definition at line 74 of file MaxCPlanar_Master.h.

int ogdf::Master::m_solvesLP [private]

Definition at line 273 of file MaxCPlanar_Master.h.

Definition at line 257 of file MaxCPlanar_Master.h.

Definition at line 258 of file MaxCPlanar_Master.h.

Defines if the ABACUS default cut pool or the separate Connectivity and Kuratowski constraint pools are used

Definition at line 308 of file MaxCPlanar_Master.h.

Definition at line 246 of file MaxCPlanar_Master.h.

Definition at line 275 of file MaxCPlanar_Master.h.

Definition at line 281 of file MaxCPlanar_Master.h.

int ogdf::Master::m_varsCut [private]

Definition at line 278 of file MaxCPlanar_Master.h.

int ogdf::Master::m_varsInit [private]

Definition at line 274 of file MaxCPlanar_Master.h.

int ogdf::Master::m_varsKura [private]

Definition at line 279 of file MaxCPlanar_Master.h.

int ogdf::Master::m_varsMax [private]

Definition at line 277 of file MaxCPlanar_Master.h.

Definition at line 276 of file MaxCPlanar_Master.h.

Definition at line 280 of file MaxCPlanar_Master.h.


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