22 std::optional<DualPoint> m_stability_center;
24 explicit Strategy(
double t_initial_factor) : m_factor(t_initial_factor) {}
26 void initialize()
override {
27 m_stability_center.reset();
30 void update_stability_center(
const DualPoint &t_master_dual)
override {
31 m_stability_center = t_master_dual;
36 if (!m_stability_center.has_value() || m_factor <= 1e-4) {
37 m_stability_center = t_master_dual;
41 auto result = m_factor * m_stability_center.value() + (1. - m_factor) * t_master_dual;
43 m_stability_center = t_master_dual;