21 std::optional<DualPoint> m_smoothed_dual;
23 explicit Strategy(
double t_initial_factor) : m_factor(t_initial_factor) {}
25 void initialize()
override {
26 m_smoothed_dual.reset();
29 void update_stability_center(
const DualPoint &t_master_dual)
override {
35 if (!m_smoothed_dual.has_value() || m_factor <= 1e-4) {
36 m_smoothed_dual = t_master_dual;
38 m_smoothed_dual = m_factor * m_smoothed_dual.value() + (1. - m_factor) * t_master_dual;
41 return m_smoothed_dual.value();