#include "Stroika/Foundation/StroikaPreComp.h"
#include <optional>
#include "Stroika/Foundation/Characters/String.h"
#include "Stroika/Foundation/Containers/Sequence.h"
#include "Stroika/Foundation/Traversal/Iterable.h"
#include "DownhillSimplexMinimization.inl"
Go to the source code of this file.
Namespaces | |
namespace | Stroika::Foundation |
Functions | |
template<typename FLOAT_TYPE > | |
Results< FLOAT_TYPE > | Stroika::Foundation::Math::Optimization::DownhillSimplexMinimization::Run (const TargetFunction< FLOAT_TYPE > &function2Minimize, const Sequence< FLOAT_TYPE > &initialValues, const Options< FLOAT_TYPE > &options=Options< FLOAT_TYPE >{}) |
Downhill Simplex Minimization, AKA Nelder-Mead algorithm, to compute minimization. | |
Definition in file DownhillSimplexMinimization.h.
Results< FLOAT_TYPE > Stroika::Foundation::Math::Optimization::DownhillSimplexMinimization::Run | ( | const TargetFunction< FLOAT_TYPE > & | function2Minimize, |
const Sequence< FLOAT_TYPE > & | initialValues, | ||
const Options< FLOAT_TYPE > & | options = Options<FLOAT_TYPE>{} |
||
) |
Downhill Simplex Minimization, AKA Nelder-Mead algorithm, to compute minimization.
Take an argument function with argument 'initialValues' and try many values to find where the targetFunction is least (ie minimize it).
If the function is naturally periodic - you can add checks in the minimization function for the desired target range and produce LARGE answers there so they wont appear as minima of the 'targetFunction'.
Reference: https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method Reference: https://github.com/fchollet/nelder-mead/blob/master/nelder_mead.py Reference: http://www.aip.de/groups/soe/local/numres/bookcpdf/c10-4.pdf Reference: https://www.mathworks.com/matlabcentral/mlc-downloads/downloads/submissions/20398/versions/1/previews/fminsearch2.m/index.html
Definition at line 183 of file DownhillSimplexMinimization.inl.