|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
51 template<
class BaseType,
class CoType>
70 , m_heuristicOEdgeBound(0.4)
71 , m_heuristicNPermLists(5)
72 , m_kuratowskiIterations(10)
74 , m_kSupportGraphs(10)
75 , m_kuratowskiHigh(0.8)
76 , m_kuratowskiLow(0.8)
77 , m_perturbation(false)
81 , m_checkCPlanar(false)
82 , m_numAddVariables(15)
83 , m_strongConstraintViolation(0.3)
84 , m_strongVariableViolation(0.3)
88 , m_lpSolverTime(-1.0)
95 , m_numSubSelected(-1)
97 , m_portaOutput(false)
98 , m_defaultCutPool(true)
100 , m_solByHeuristic(false)
124 return doCall(G, pCost, delEdges, addedEdges);
156 std::chrono::milliseconds remaining(milliSec);
157 auto h = std::chrono::duration_cast<std::chrono::hours>(remaining);
159 auto m = std::chrono::duration_cast<std::chrono::minutes>(remaining);
161 auto s = std::chrono::duration_cast<std::chrono::seconds>(remaining);
162 std::stringstream ss;
163 ss << h.count() <<
":" << m.count() <<
":" << s.count();
164 setTimeLimit(ss.str());
215 void writeFeasible(
const char* filename, MaxCPlanarMaster& master,
230 return doCall(G, pCost, delEdges, addEdges);
241 + 360000 * act.
hours();
242 return ((
double)tempo) / 100.0;
270 void outputCons(std::ofstream& os,
The namespace for all OGDF objects.
void setHeuristicRuns(int i)
Includes declaration of graph class.
const char * getPortaFileName()
bool & useDefaultCutPool()
Use default abacus master cut pool or dedicated connectivity and kuratowski cut pools.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
~MaximumCPlanarSubgraph()
STATUS
The various statuses of the optimization process.
void setCheckCPlanar(bool b)
void setNumberOfPermutations(int i)
void setTimeLimit(string s)
MaximumCPlanarSubgraph()
Construction.
void setNumberOfKuraIterations(int i)
void setUpperRounding(double d)
void setStrongConstraintViolation(double d)
double getSeparationTime()
const char * getIeqFileName()
void setNumberOfSupportGraphs(int i)
int getNumCCons()
Returns number of connectivity constraints added during computation.
int64_t hours() const
Returns the currently elapsed time in hours.
void setPerturbation(bool b)
void setNumAddVariables(int n)
int getNumBCs()
Returns number of generated LPs.
void setHeuristicLevel(int i)
void setTimeLimit(std::chrono::milliseconds milliSec)
void setNumberOfSubDivisions(int i)
Representation of clusters in a clustered graph.
int64_t seconds() const
Returns the currently elapsed time in seconds.
int getNumLPs()
Returns number of optimized LPs (only LP-relaxations)
double m_strongConstraintViolation
int getNumKCons()
Returns number of Kuratowski constraints added during computation.
double m_heuristicOEdgeBound
Declaration of stopwatch classes.
ReturnType callAndConnect(const ClusterGraph &G, const EdgeArray< double > *pCost, List< edge > &delEdges, NodePairs &addedEdges)
Computes set of edges delEdges, which have to be deleted in order to get a c-planar subgraph and also...
int64_t minutes() const
Returns the currently elapsed time in minutes.
Exact computation of a maximum c-planar subgraph.
int64_t centiSeconds() const
Returns the currently elapsed time in 1/100-seconds.
Declaration of the master class for the Branch&Cut algorithm for the Maximum C-Planar SubGraph proble...
Doubly linked lists (maintaining the length of the list).
void setPortaOutput(bool b)
void setHeuristicBound(double d)
double m_strongVariableViolation
int getNumVars()
Returns number of global variables. Todo: Real number from ABACUS.
Interface of algorithms for the computation of c-planar subgraphs.
void setStrongVariableViolation(double d)
virtual ReturnType doCall(const ClusterGraph &G, const EdgeArray< double > *pCost, List< edge > &delEdges) override
Computes a maximum c-planar subgraph, returns the set of edges that have to be deleted in delEdges if...
Basic declarations, included by all source files.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Realizes a stopwatch for measuring elapsed time.
int m_kuratowskiIterations
Declaration of an interface for c-planar subgraph algorithms.
Derived class of GraphObserver providing additional functionality to handle clustered graphs.
Declaration of doubly linked lists and iterators.
void setBranchingGap(double d)
int getNumSubSelected()
Returns number of subproblems selected by ABACUS.
void setLowerRounding(double d)
ReturnType
The return type of a module.
Representation of clustered graphs.
double getDoubleTime(const Stopwatch &act)
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.