Line data Source code
1 : #pragma once 2 : 3 : #include <utility> 4 : 5 : #include "IntervalSolver.hpp" 6 : 7 : namespace Opt { 8 40 : class GoldenSectionSolver: public IntervalSolver { 9 : static constexpr Var GOLDEN_SECTION = 0.61803398875; // 0.5 * (sqrt(5.0) - 1.0) 10 : 11 : Var left, right, epsilon; 12 : 13 : public: 14 : virtual void setInterval(Var l, Var r); 15 : virtual void setStopCriteria(Var e); 16 : 17 : virtual std::pair<Var, Var> solveInterval(Problem p); 18 : }; 19 : } // namespace Opt