22 #ifndef UNFIT_INCLUDE_NELDERMEAD_HPP_ 23 #define UNFIT_INCLUDE_NELDERMEAD_HPP_ 26 #include "GenericCostFunction.hpp" 27 #include "GenericOptimizer.hpp" 97 std::vector<double> &coordinates)
override;
103 void Reset()
override;
160 const std::vector<double> &initial_point);
virtual ~NelderMead()
Definition: NelderMead.hpp:59
void Reset() override
Definition: NelderMead.cpp:50
bool Reflect(GenericCostFunction &CostFunction)
Definition: NelderMead.cpp:127
int GeneratePopulation(GenericCostFunction &CostFunction, const std::vector< double > &initial_point)
Generate the initial simplex by accepting a vector which contains the initial guess and the CostFunct...
Definition: NelderMead.cpp:66
void ComputeCentroid()
Definition: NelderMead.cpp:112
A class to implement the NelderMead optimization method.
Definition: NelderMead.hpp:44
bool Shrink(GenericCostFunction &CostFunction)
Definition: NelderMead.cpp:178
std::vector< double > expand_
Definition: NelderMead.hpp:301
int FindMin(GenericCostFunction &CostFunction, std::vector< double > &coordinates) override
Implements the Nelder-Mead optimization method.
Definition: NelderMead.cpp:207
Definition: GenericOptimizer.hpp:41
int ProcessFindMin(GenericCostFunction &CostFunction)
Definition: NelderMead.cpp:261
Definition: Bounds.hpp:27
std::vector< double > reflect_
Definition: NelderMead.hpp:299
Access to the private member functions in the neldermead class.
Definition: TestNelderMead.cpp:42
void UseAdaptiveParameters()
Definition: NelderMead.cpp:385
NelderMead()
Definition: NelderMead.cpp:34
bool Expand(GenericCostFunction &CostFunction)
Definition: NelderMead.cpp:139
void InitialiseVectors()
Definition: NelderMead.cpp:394
Definition: GenericCostFunction.hpp:36
int RegeneratePopulation(GenericCostFunction &CostFunction)
Definition: NelderMead.cpp:254
bool IsDegenerate()
Definition: NelderMead.cpp:193
enum Operation process_
Definition: NelderMead.hpp:315
Operation
Definition: NelderMead.hpp:110
double restart_best_cost_
Definition: NelderMead.hpp:313
std::size_t best_vertex_
Definition: NelderMead.hpp:305
std::size_t worst_vertex_
Definition: NelderMead.hpp:307
bool ContractOutside(GenericCostFunction &CostFunction)
Definition: NelderMead.cpp:150
std::vector< double > centroid_
Definition: NelderMead.hpp:297
void PrintIterationOutput(double best_cost) const override
Definition: NelderMead.cpp:422
std::size_t next_worst_vertex_
Definition: NelderMead.hpp:309
std::size_t cost_
Definition: NelderMead.hpp:311
std::size_t dimensions_
Definition: NelderMead.hpp:303
std::vector< double > contract_
Definition: NelderMead.hpp:295
bool ContractInside(GenericCostFunction &CostFunction)
Definition: NelderMead.cpp:164
void PrintInitialOutput(double best_cost) const override
Definition: NelderMead.cpp:409