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 namespace abacus {
36 
37 class Master;
38 class Sub;
39 class FSVarStat;
40 class Variable;
41 class Constraint;
42 
43 template<class BaseType, class CoType> class CutBuffer;
44 template<class BaseType, class CoType> class PoolSlotRef;
45 
46 
48 
63 class OGDF_EXPORT FixCand : public AbacusRoot {
64 
65  friend class Sub;
66  friend class Master;
67 
68 public:
69 
71 
74  FixCand(Master *master) :
75  master_(master),
76  candidates_(nullptr),
77  fsVarStat_(nullptr),
78  lhs_(nullptr)
79  { }
80 
82  ~FixCand() { deleteAll(); }
83 
84 private:
85 
87 
90  void saveCandidates(Sub *sub);
91 
93 
106  void fixByRedCost(CutBuffer<Variable, Constraint> *addVarBuffer);
107 
109 
112  void deleteAll();
113 
115  void allocate(int nCand);
116 
117 
119 
121 
123 
125 
126  FixCand(const FixCand &rhs);
127  const FixCand &operator=(const FixCand &rhs);
128 };
129 
130 }
ogdf::ArrayBuffer
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
Definition: Array.h:46
abacus::FixCand
Candidates for fixing.
Definition: fixcand.h:63
abacus::FixCand::~FixCand
~FixCand()
The destructor.
Definition: fixcand.h:82
abacusroot.h
abacus::CutBuffer
Cut buffers.
Definition: convar.h:45
abacus
Definition: abacusroot.h:48
abacus::FixCand::fsVarStat_
ArrayBuffer< FSVarStat * > * fsVarStat_
The fixing status of the candidates.
Definition: fixcand.h:122
ogdf::AlgorithmFailureCode::Constraint
@ Constraint
abacus::AbacusRoot
Base class of all other classes of ABACUS.
Definition: abacusroot.h:68
ogdf::AlgorithmFailureCode::Variable
@ Variable
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
abacus::Sub
The subproblem.
Definition: sub.h:68
abacus::FixCand::FixCand
FixCand(Master *master)
Creates an empty set of candidates for fixing.
Definition: fixcand.h:74
abacus::FixCand::candidates_
ArrayBuffer< PoolSlotRef< Variable, Constraint > * > * candidates_
The candidates for fixing.
Definition: fixcand.h:120
abacus::Master
The master of the optimization.
Definition: master.h:69
abacus::FixCand::master_
Master * master_
A pointer to the corresponding master of the optimization.
Definition: fixcand.h:118
abacus::FixCand::lhs_
ArrayBuffer< double > * lhs_
The left hand side of the expression evaluated for fixing.
Definition: fixcand.h:124