51template<
class BaseType,
class CoType>
75 , m_heuristicOEdgeBound(0.4)
76 , m_heuristicNPermLists(5)
77 , m_kuratowskiIterations(10)
79 , m_kSupportGraphs(10)
80 , m_kuratowskiHigh(0.8)
81 , m_kuratowskiLow(0.8)
82 , m_perturbation(false)
86 , m_numAddVariables(15)
87 , m_strongConstraintViolation(0.3)
88 , m_strongVariableViolation(0.3)
90 , m_optStatus(
abacus::Master::STATUS::Unprocessed)
94 , m_lpSolverTime(-1.0)
101 , m_numSubSelected(-1)
103 , m_portaOutput(false)
104 , m_defaultCutPool(true)
106 , m_solByHeuristic(false)
122 return isClusterPlanar(CG);
223 + 360000 * act.
hours();
224 return ((
double)tempo) / 100.0;
Declaration of base class for master of Branch&Cut based algorithms for c-planarity testing via an ex...
Declaration of the CPlanarityMaster class for the Branch&Cut algorithm for c-planarity testing via an...
Derived class of GraphObserver providing additional functionality to handle clustered graphs.
Declaration of ClusterPlanarityModule which implements a cluster-planarity test and,...
Includes declaration of graph class.
Declaration of doubly linked lists and iterators.
Declaration of stopwatch classes.
Basic declarations, included by all source files.
STATUS
The various statuses of the optimization process.
Representation of clusters in a clustered graph.
Representation of clustered graphs.
Data type for general directed graphs (adjacency list representation).
C-planarity testing via completely connected graph extension.
const char * getIeqFileName()
void writeFeasible(const char *filename, CP_MasterBase &master, abacus::Master::STATUS &status)
Writes feasible solutions as a file in PORTA format.
double getSeparationTime()
void setLowerRounding(double d)
int getNumCCons()
Returns number of connectivity constraints added during computation.
bool & useDefaultCutPool()
Use default abacus master cut pool or dedicated connectivity and kuratowski cut pools.
solmeth
Solution method, fallback to old version (allowing all extension edges, based on c-planar subgraph co...
const char * getPortaFileName()
void setHeuristicBound(double d)
void setNumAddVariables(int n)
void setNumberOfSupportGraphs(int i)
int getNumLPs()
Returns number of optimized LPs (only LP-relaxations)
solmeth & solutionMethod()
void outputCons(std::ofstream &os, abacus::StandardPool< abacus::Constraint, abacus::Variable > *connCon, abacus::StandardPool< abacus::Variable, abacus::Constraint > *stdVar)
bool isClusterPlanar(const ClusterGraph &CG) override
Returns c-planarity status of CG.
int getNumKCons()
Returns number of Kuratowski constraints added during computation.
void setHeuristicLevel(int i)
int getNumBCs()
Returns number of generated LPs.
int getNumSubSelected()
Returns number of subproblems selected by ABACUS.
void setHeuristicRuns(int i)
void setBranchingGap(double d)
bool isClusterPlanar(const ClusterGraph &CG, NodePairs &addedEdges)
Computes a set of edges that augments the subgraph to be completely connected and returns c-planarity...
bool isClusterPlanarDestructive(ClusterGraph &CG, Graph &G) override
Returns true, if CG is cluster-planar, false otherwise. In it is non-cluster-planar,...
void setStrongVariableViolation(double d)
double m_heuristicOEdgeBound
bool clusterPlanarEmbedClusterPlanarGraph(ClusterGraph &CG, Graph &G) override
Constructs a cluster-planar embedding of CG. CG has to be cluster-planar!
double m_strongVariableViolation
void setNumberOfKuraIterations(int i)
abacus::Master::STATUS m_optStatus
abacus::Master::STATUS getOptStatus()
solmeth m_solmeth
Solution method, see description of solmeth.
int getNumVars()
Returns number of global variables. Todo: Real number from ABACUS.
void setUpperRounding(double d)
bool doTest(const ClusterGraph &CG)
void setNumberOfSubDivisions(int i)
void setPortaOutput(bool b)
void setTimeLimit(string s)
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)
bool doTest(const ClusterGraph &G, NodePairs &addedEdges)
int m_heuristicNPermLists
void setStrongConstraintViolation(double d)
ILPClusterPlanarity()
Construction.
void setPerturbation(bool b)
void setNumberOfPermutations(int i)
double m_strongConstraintViolation
Doubly linked lists (maintaining the length of the list).
Realizes a stopwatch for measuring elapsed time.
int64_t hours() const
Returns the currently elapsed time in hours.
int64_t centiSeconds() const
Returns the currently elapsed time in 1/100-seconds.
int64_t seconds() const
Returns the currently elapsed time in seconds.
int64_t minutes() const
Returns the currently elapsed time in minutes.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.