#include <SectionLineSearch.h>
Diagram dziedziczenia dla SectionLineSearch
Metody polegają na skracaniu zadanego odcinka . Jeśli dana metoda z tej rodziny służy do rozwiązania samodzielnego problemu optymalizacji funkcji jednej zmiennej, odcinek ten jest zadany przez użytkownika. W przypadku, gdy wykonuje tylko minimalizację kierunkową jako część metody optymalizacji funkcji wielu zmiennych, odcinek
jest znajdowany automatycznie (patrz
FindInitialSection
).
Odcinek jest skracany w taki sposób, aby był zbieżny do odcinka o niewielkiej długości, obejmującego punkt, w którym znajduje się minimum.
TODO: Karolu, czy wynikiem optymalizacji samodzielnej nie jest cały przebieg optymalizacji? Pamiętam gdy Simon o tym mówił, dlatego wrzucam to TODO W przypadku gdy metoda działa samodzielnie, wynikiem jest odcinek ; jeśli służy tylko do minimalizacji kierunkowej przy rozwiązywaniu problemu optymalizacji funkcji wielu zmiennych, wynikiem jest punkt - najczęściej środek tego odcinka:
.
Metody publiczne | |
~SectionLineSearch (void) | |
Destruktor. | |
virtual void | UpdateStartingConditions (const Result *result) const |
virtual void | ResetStartingConditions () const |
void | AddCommonParameterDescriptions (wxArrayString &descriptions, bool standalone) const |
virtual wxString | ToString (bool standalone=true) const |
Zwraca opis tekstowy metody (nazwa + parametry). | |
virtual bool | CanAssist (const ProblemBase *pProblem) const |
Sprawdza, czy metoda może wspomóc rozwiązanie danego zadania. | |
Metody chronione | |
SectionLineSearch (void) | |
Konstruktor domyślny. | |
SectionLineSearch (const SectionLineSearch &from) | |
Konstruktor kopiujący. | |
void | FindInitialSection (const UnivariateFunction &function, double &rA, double &rB, double initialSectionLength) const |
Znajduje odcinek, w którym znajduje się minimum. | |
Atrybuty chronione | |
DoubleParameter | mA |
Początek przeszukiwanego odcinka (gdy metoda działa samodzielnie). | |
DoubleParameter | mB |
Koniec przeszukiwanego odcinka. | |
DoubleParameter | mInitialA |
DoubleParameter | mInitialB |
DoubleParameter | mEpsilon |
Dokładność (![]() | |
DoubleParameter | mSectionContractionOnUpdate |
Przyjaciele | |
class | InitialSectionValidator |
|
Konstruktor kopiujący.
|
|
Sprawdza, czy metoda może wspomóc rozwiązanie danego zadania. Dokładniej rzecz biorąc sprawdzane jest, czy metoda może być wykorzystana przez metodę optymalizacji wielu zmiennych do optymalizacji w kierunku przy rozwiązywaniu danego zadania optymalizacji. Implementuje LineSearch. Reimplementowana w BolzanoDivision i SecantDivision. |
|
Znajduje odcinek, w którym znajduje się minimum.
Poszukiwanie rozpoczyna się od przedziału [0,
W przypadku, gdy przed pierwszą iteracją wartości funkcji w punktach środkowym oraz
Punkty wynikowe spełniają zależność
|