60 , m_heuristicOEdgeBound(0.4)
61 , m_heuristicNPermLists(5)
62 , m_kuratowskiIterations(10)
64 , m_kSupportGraphs(10)
65 , m_kuratowskiHigh(0.8)
66 , m_kuratowskiLow(0.8)
67 , m_perturbation(
false)
71 , m_checkCPlanar(
false)
72 , m_numAddVariables(15)
73 , m_strongConstraintViolation(0.3)
74 , m_strongVariableViolation(0.3)
78 , m_lpSolverTime(-1.0)
85 , m_numSubSelected(-1)
87 , m_portaOutput(
false)
88 , m_defaultCutPool(
true)
147 auto h = std::chrono::duration_cast<std::chrono::hours>(
remaining);
149 auto m = std::chrono::duration_cast<std::chrono::minutes>(
remaining);
151 auto s = std::chrono::duration_cast<std::chrono::seconds>(
remaining);
152 std::stringstream
ss;
153 ss <<
h.count() <<
":" << m.count() <<
":" << s.count();
154 setTimeLimit(
ss.str());
231 + 360000 * act.
hours();
232 return ((
double)
tempo) / 100.0;
Declaration of an interface for c-planar subgraph algorithms.
Derived class of GraphObserver providing additional functionality to handle clustered graphs.
Declaration of the master class for the Branch&Cut algorithm for the Maximum C-Planar SubGraph proble...
Declares base class for all module types.
Declares base class for modules with timeout functionality.
STATUS
The various statuses of the optimization process.
Interface of algorithms for the computation of c-planar subgraphs.
Representation of clusters in a clustered graph.
Representation of clustered graphs.
Dynamic arrays indexed with edges.
Doubly linked lists (maintaining the length of the list).
Exact computation of a maximum c-planar subgraph.
int getNumSubSelected()
Returns number of subproblems selected by ABACUS.
bool & useDefaultCutPool()
Use default abacus master cut pool or dedicated connectivity and kuratowski cut pools.
int getNumBCs()
Returns number of generated LPs.
virtual ReturnType doCall(const ClusterGraph &G, const EdgeArray< double > *pCost, List< edge > &delEdges, NodePairs &addedEdges)
void setStrongConstraintViolation(double d)
void setBranchingGap(double d)
int m_heuristicNPermLists
void setTimeLimit(string s)
void setHeuristicRuns(int i)
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...
MaximumCPlanarSubgraph()
Construction.
void setNumberOfPermutations(int i)
void setNumAddVariables(int n)
double m_heuristicOEdgeBound
void setLowerRounding(double d)
int getNumLPs()
Returns number of optimized LPs (only LP-relaxations)
void setUpperRounding(double d)
void getBottomUpClusterList(const cluster c, List< cluster > &theList)
Stores clusters in subtree at c in bottom up order in theList.
void setStrongVariableViolation(double d)
int getNumVars()
Returns number of global variables. Todo: Real number from ABACUS.
void outputCons(std::ofstream &os, abacus::StandardPool< abacus::Constraint, abacus::Variable > *connCon, abacus::StandardPool< abacus::Variable, abacus::Constraint > *stdVar)
void setCheckCPlanar(bool b)
void setPerturbation(bool b)
void setHeuristicBound(double d)
int getNumKCons()
Returns number of Kuratowski constraints added during computation.
void setNumberOfSubDivisions(int i)
double getSeparationTime()
const char * getIeqFileName()
void writeFeasible(const char *filename, MaxCPlanarMaster &master, abacus::Master::STATUS &status)
Writes feasible solutions as a file in PORTA format.
const char * getPortaFileName()
void setNumberOfKuraIterations(int i)
void setNumberOfSupportGraphs(int i)
double m_strongVariableViolation
void setTimeLimit(std::chrono::milliseconds milliSec)
void setPortaOutput(bool b)
double getDoubleTime(const Stopwatch &act)
void setHeuristicLevel(int i)
int getNumCCons()
Returns number of connectivity constraints added during computation.
double m_strongConstraintViolation
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...
~MaximumCPlanarSubgraph()
ReturnType
The return type of a module.
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 DLL.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.