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();