C-planarity testing via completely connected graph extension. More...
#include <ogdf/cluster/ClusterPlanarity.h>
Public Types | |
using | CP_MasterBase = cluster_planarity::CP_MasterBase |
using | NodePairs = List< NodePair > |
enum class | solmeth { Fallback , New } |
Solution method, fallback to old version (allowing all extension edges, based on c-planar subgraph computation) or new direct version (allowing only a reduced set of extension edges for complete connectivity). More... | |
Public Types inherited from ogdf::Module | |
enum class | ReturnType { Feasible , Optimal , NoFeasibleSolution , TimeoutFeasible , TimeoutInfeasible , Error } |
The return type of a module. More... | |
Public Member Functions | |
ClusterPlanarity () | |
Construction. | |
~ClusterPlanarity () | |
double | getHeurTime () |
double | getLPSolverTime () |
double | getLPTime () |
int | getNumBCs () |
Returns number of generated LPs. | |
int | getNumCCons () |
Returns number of connectivity constraints added during computation. | |
int | getNumKCons () |
Returns number of Kuratowski constraints added during computation. | |
int | getNumLPs () |
Returns number of optimized LPs (only LP-relaxations) | |
int | getNumSubSelected () |
Returns number of subproblems selected by ABACUS. | |
int | getNumVars () |
Returns number of global variables. Todo: Real number from ABACUS. | |
abacus::Master::STATUS | getOptStatus () |
double | getSeparationTime () |
double | getTotalTime () |
double | getTotalWTime () |
virtual bool | isClusterPlanar (const ClusterGraph &CG) override |
Returns c-planarity status of CG . | |
bool | isClusterPlanar (const ClusterGraph &CG, NodePairs &addedEdges) |
Computes a set of edges that augments the subgraph to be completely connected and returns c-planarity status and edge set. | |
void | setBranchingGap (double d) |
void | setHeuristicBound (double d) |
void | setHeuristicLevel (int i) |
void | setHeuristicRuns (int i) |
void | setLowerRounding (double d) |
void | setNumAddVariables (int n) |
void | setNumberOfKuraIterations (int i) |
void | setNumberOfPermutations (int i) |
void | setNumberOfSubDivisions (int i) |
void | setNumberOfSupportGraphs (int i) |
void | setPerturbation (bool b) |
void | setPortaOutput (bool b) |
void | setPricing (bool b) |
void | setStrongConstraintViolation (double d) |
void | setStrongVariableViolation (double d) |
void | setTimeLimit (string s) |
void | setUpperRounding (double d) |
solmeth & | solutionMethod () |
bool & | useDefaultCutPool () |
Use default abacus master cut pool or dedicated connectivity and kuratowski cut pools. | |
void | writeFeasible (const char *filename, CP_MasterBase &master, abacus::Master::STATUS &status) |
Writes feasible solutions as a file in PORTA format. | |
Public Member Functions inherited from ogdf::ClusterPlanarModule | |
ClusterPlanarModule () | |
virtual | ~ClusterPlanarModule () |
Public Member Functions inherited from ogdf::Module | |
Module () | |
Initializes a module. | |
virtual | ~Module () |
Protected Member Functions | |
virtual bool | doTest (const ClusterGraph &CG) override |
Performs a c-planarity test on CG. | |
virtual bool | doTest (const ClusterGraph &G, NodePairs &addedEdges) |
void | getBottomUpClusterList (const cluster c, List< cluster > &theList) |
Stores clusters in subtree at c in bottom up order in theList. | |
double | getDoubleTime (const Stopwatch &act) |
Private Member Functions | |
const char * | getIeqFileName () |
const char * | getPortaFileName () |
int | maxConLength () |
void | outputCons (std::ofstream &os, abacus::StandardPool< abacus::Constraint, abacus::Variable > *connCon, abacus::StandardPool< abacus::Variable, abacus::Constraint > *stdVar) |
Additional Inherited Members | |
Static Public Member Functions inherited from ogdf::Module | |
static bool | isSolution (ReturnType ret) |
Returns true iff ret indicates that the module returned a feasible solution. | |
C-planarity testing via completely connected graph extension.
Definition at line 48 of file ClusterPlanarity.h.
Definition at line 51 of file ClusterPlanarity.h.
Definition at line 50 of file ClusterPlanarity.h.
Solution method, fallback to old version (allowing all extension edges, based on c-planar subgraph computation) or new direct version (allowing only a reduced set of extension edges for complete connectivity).
Enumerator | |
---|---|
Fallback | |
New |
Definition at line 56 of file ClusterPlanarity.h.
|
inline |
Construction.
Definition at line 59 of file ClusterPlanarity.h.
|
inline |
Definition at line 99 of file ClusterPlanarity.h.
|
overrideprotectedvirtual |
Performs a c-planarity test on CG.
Implements ogdf::ClusterPlanarModule.
|
protectedvirtual |
|
protected |
Stores clusters in subtree at c in bottom up order in theList.
Definition at line 202 of file ClusterPlanarity.h.
|
inline |
Definition at line 152 of file ClusterPlanarity.h.
Definition at line 230 of file ClusterPlanarity.h.
|
inline |
Definition at line 156 of file ClusterPlanarity.h.
|
inline |
Definition at line 154 of file ClusterPlanarity.h.
|
inline |
Returns number of generated LPs.
Definition at line 172 of file ClusterPlanarity.h.
|
inline |
Returns number of connectivity constraints added during computation.
Definition at line 163 of file ClusterPlanarity.h.
|
inline |
Returns number of Kuratowski constraints added during computation.
Definition at line 166 of file ClusterPlanarity.h.
|
inline |
Returns number of optimized LPs (only LP-relaxations)
Definition at line 169 of file ClusterPlanarity.h.
|
inline |
Returns number of subproblems selected by ABACUS.
Definition at line 175 of file ClusterPlanarity.h.
|
inline |
Returns number of global variables. Todo: Real number from ABACUS.
Definition at line 178 of file ClusterPlanarity.h.
|
inline |
Definition at line 148 of file ClusterPlanarity.h.
Definition at line 228 of file ClusterPlanarity.h.
|
inline |
Definition at line 158 of file ClusterPlanarity.h.
|
inline |
Definition at line 150 of file ClusterPlanarity.h.
|
inline |
Definition at line 160 of file ClusterPlanarity.h.
|
overridevirtual |
Returns c-planarity status of CG
.
Reimplemented from ogdf::ClusterPlanarModule.
bool ogdf::ClusterPlanarity::isClusterPlanar | ( | const ClusterGraph & | CG, |
NodePairs & | addedEdges | ||
) |
Computes a set of edges that augments the subgraph to be completely connected and returns c-planarity status and edge set.
|
inlineprivate |
Definition at line 232 of file ClusterPlanarity.h.
|
private |
Definition at line 129 of file ClusterPlanarity.h.
Definition at line 113 of file ClusterPlanarity.h.
Definition at line 109 of file ClusterPlanarity.h.
Definition at line 111 of file ClusterPlanarity.h.
Definition at line 125 of file ClusterPlanarity.h.
Definition at line 137 of file ClusterPlanarity.h.
Definition at line 117 of file ClusterPlanarity.h.
Definition at line 115 of file ClusterPlanarity.h.
Definition at line 119 of file ClusterPlanarity.h.
Definition at line 121 of file ClusterPlanarity.h.
Definition at line 127 of file ClusterPlanarity.h.
Definition at line 133 of file ClusterPlanarity.h.
Definition at line 135 of file ClusterPlanarity.h.
Definition at line 139 of file ClusterPlanarity.h.
Definition at line 141 of file ClusterPlanarity.h.
|
inline |
Definition at line 131 of file ClusterPlanarity.h.
Definition at line 123 of file ClusterPlanarity.h.
|
inline |
Definition at line 186 of file ClusterPlanarity.h.
|
inline |
Use default abacus master cut pool or dedicated connectivity and kuratowski cut pools.
Definition at line 145 of file ClusterPlanarity.h.
void ogdf::ClusterPlanarity::writeFeasible | ( | const char * | filename, |
CP_MasterBase & | master, | ||
abacus::Master::STATUS & | status | ||
) |
Writes feasible solutions as a file in PORTA format.
|
private |
Definition at line 219 of file ClusterPlanarity.h.
|
private |
Definition at line 253 of file ClusterPlanarity.h.
|
private |
Definition at line 213 of file ClusterPlanarity.h.
|
private |
Definition at line 215 of file ClusterPlanarity.h.
|
private |
Definition at line 214 of file ClusterPlanarity.h.
|
private |
Definition at line 213 of file ClusterPlanarity.h.
|
private |
Definition at line 241 of file ClusterPlanarity.h.
|
private |
Definition at line 216 of file ClusterPlanarity.h.
|
private |
Definition at line 217 of file ClusterPlanarity.h.
|
private |
Definition at line 215 of file ClusterPlanarity.h.
|
private |
Definition at line 217 of file ClusterPlanarity.h.
|
private |
Definition at line 243 of file ClusterPlanarity.h.
|
private |
Definition at line 242 of file ClusterPlanarity.h.
|
private |
Definition at line 222 of file ClusterPlanarity.h.
|
private |
Definition at line 249 of file ClusterPlanarity.h.
|
private |
Definition at line 246 of file ClusterPlanarity.h.
|
private |
Definition at line 247 of file ClusterPlanarity.h.
|
private |
Definition at line 248 of file ClusterPlanarity.h.
|
private |
Definition at line 250 of file ClusterPlanarity.h.
|
private |
Definition at line 251 of file ClusterPlanarity.h.
|
private |
Definition at line 239 of file ClusterPlanarity.h.
|
private |
Definition at line 218 of file ClusterPlanarity.h.
|
private |
Definition at line 252 of file ClusterPlanarity.h.
|
private |
Definition at line 221 of file ClusterPlanarity.h.
|
private |
Definition at line 244 of file ClusterPlanarity.h.
|
private |
Solution method, see description of solmeth.
Definition at line 226 of file ClusterPlanarity.h.
|
private |
Definition at line 223 of file ClusterPlanarity.h.
|
private |
Definition at line 224 of file ClusterPlanarity.h.
|
private |
Definition at line 216 of file ClusterPlanarity.h.
|
private |
Definition at line 220 of file ClusterPlanarity.h.
|
private |
Definition at line 240 of file ClusterPlanarity.h.
|
private |
Definition at line 245 of file ClusterPlanarity.h.