Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

fixcand.h
Go to the documentation of this file.
1 
30 #pragma once
31 
33 
34 
35 #pragma GCC visibility push(default)
36 namespace abacus {
37 
38 class Master;
39 class Sub;
40 class FSVarStat;
41 class Variable;
42 class Constraint;
43 
44 template<class BaseType, class CoType> class CutBuffer;
45 template<class BaseType, class CoType> class PoolSlotRef;
46 
47 
49 
64 class OGDF_EXPORT FixCand : public AbacusRoot {
65 
66  friend class Sub;
67  friend class Master;
68 
69 public:
70 
72 
75  FixCand(Master *master) :
76  master_(master),
77  candidates_(nullptr),
78  fsVarStat_(nullptr),
79  lhs_(nullptr)
80  { }
81 
83  ~FixCand() { deleteAll(); }
84 
85 private:
86 
88 
91  void saveCandidates(Sub *sub);
92 
94 
107  void fixByRedCost(CutBuffer<Variable, Constraint> *addVarBuffer);
108 
110 
113  void deleteAll();
114 
116  void allocate(int nCand);
117 
118 
120 
122 
124 
126 
127  FixCand(const FixCand &rhs);
128  const FixCand &operator=(const FixCand &rhs);
129 };
130 
131 }
132 #pragma GCC visibility pop
ogdf::ArrayBuffer
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
Definition: Array.h:53
abacus::FixCand
Candidates for fixing.
Definition: fixcand.h:64
abacus::FixCand::~FixCand
~FixCand()
The destructor.
Definition: fixcand.h:83
abacusroot.h
abacus::CutBuffer
Cut buffers.
Definition: convar.h:46
abacus
Definition: ILPClusterPlanarity.h:50
abacus::FixCand::fsVarStat_
ArrayBuffer< FSVarStat * > * fsVarStat_
The fixing status of the candidates.
Definition: fixcand.h:123
ogdf::AlgorithmFailureCode::Constraint
@ Constraint
abacus::AbacusRoot
Base class of all other classes of ABACUS.
Definition: abacusroot.h:69
ogdf::AlgorithmFailureCode::Variable
@ Variable
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
Definition: config.h:117
abacus::Sub
The subproblem.
Definition: sub.h:69
abacus::FixCand::FixCand
FixCand(Master *master)
Creates an empty set of candidates for fixing.
Definition: fixcand.h:75
abacus::FixCand::candidates_
ArrayBuffer< PoolSlotRef< Variable, Constraint > * > * candidates_
The candidates for fixing.
Definition: fixcand.h:121
abacus::Master
The master of the optimization.
Definition: master.h:70
abacus::FixCand::master_
Master * master_
A pointer to the corresponding master of the optimization.
Definition: fixcand.h:119
abacus::FixCand::lhs_
ArrayBuffer< double > * lhs_
The left hand side of the expression evaluated for fixing.
Definition: fixcand.h:125