idol
A C++ Framework for Optimization
Loading...
Searching...
No Matches
DualPriceSmoothingStabilization.h
1//
2// Created by henri on 31.10.23.
3//
4
5#ifndef IDOL_DUALPRICESMOOTHINGSTABILIZATION_H
6#define IDOL_DUALPRICESMOOTHINGSTABILIZATION_H
7
8#include "idol/general/utils/Point.h"
9
10namespace idol::DantzigWolfe {
11 class DualPriceSmoothingStabilization;
12}
13
15public:
16 virtual ~DualPriceSmoothingStabilization() = default;
17
18 class Strategy {
19 public:
20 virtual ~Strategy() = default;
21
22 virtual void initialize() = 0;
23
24 virtual void update_stability_center(const DualPoint& t_master_dual) = 0;
25
26 virtual DualPoint compute_smoothed_dual_solution(const DualPoint& t_master_dual) = 0;
27 };
28
29 virtual Strategy* operator()() const = 0;
30
31 [[nodiscard]] virtual DualPriceSmoothingStabilization* clone() const = 0;
32};
33
34#endif //IDOL_DUALPRICESMOOTHINGSTABILIZATION_H