Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
EdgeVar.h
Go to the documentation of this file.
1
34#pragma once
35
36#include <ogdf/basic/Graph_d.h>
37#include <ogdf/basic/Logger.h>
38
40
41namespace ogdf {
42namespace cluster_planarity {
43
44class EdgeVar : public abacus::Variable {
45 friend class MaxCPlanarSub;
46
47public:
48 enum class EdgeType { Original, Connect };
49
50 EdgeVar(abacus::Master* master, double obj, EdgeType eType, node source, node target);
52 EdgeVar(abacus::Master* master, double obj, node source, node target);
54 EdgeVar(abacus::Master* master, double obj, double lbound, node source, node target);
55
56 virtual ~EdgeVar();
57
58 edge theEdge() const { return m_edge; }
59
60 node sourceNode() const { return m_source; }
61
62 node targetNode() const { return m_target; }
63
64 EdgeType theEdgeType() const { return m_eType; }
65#if 0
66 double objCoeff() const {return m_objCoeff;}
67#endif
68
69 virtual void printMe(std::ostream& out) {
70 out << "[Var: " << sourceNode() << "->" << targetNode() << " ("
71 << ((theEdgeType() == EdgeVar::EdgeType::Original) ? "original" : "connect")
72 << ") ZF=" << obj() << "]";
73 }
74
75private:
76 // The edge type of the variable
78
79 // The corresponding nodes and edge
83};
84
85}
86}
Pure declaration header, find template implementation in Graph.h.
Contains logging functionality.
The master of the optimization.
Definition master.h:69
Forms the virtual base class for all possible variables given in pool format.
Definition variable.h:59
virtual double obj() const
Returns the objective function coefficient.
Definition variable.h:112
Class for the representation of edges.
Definition Graph_d.h:300
Class for the representation of nodes.
Definition Graph_d.h:177
EdgeVar(abacus::Master *master, double obj, node source, node target)
Simple version for cplanarity testing (only connect edges allowed)
EdgeVar(abacus::Master *master, double obj, EdgeType eType, node source, node target)
virtual void printMe(std::ostream &out)
Definition EdgeVar.h:69
EdgeVar(abacus::Master *master, double obj, double lbound, node source, node target)
Simple version for cplanarity testing (only connect edges allowed, lower bound given)
EdgeType theEdgeType() const
Definition EdgeVar.h:64
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
variable.