#include <FletcherReeves.h>
Diagram dziedziczenia dla FletcherReeves
Matoda Fletchera-Reevesa należy do klasy metod gradientów sprzężonych, co oznacza, że do otrzymywania kierunków sprzężonych wykorzystano w niej wartości składników gradientów.
Metoda powinna znaleźć minimum dowolnej funkcji kwadratowej w liczbie kroków co najwyżej równej wymiarowi problemu.
Algorytm metody:
Oznaczenia:
- numer aktualnej iteracji
- punkt w
-tej iteracji,
- kierunek poszukiwań w
-tej iteracji,
-współczynnik zapewniający sprzężenie nowego kierunku
z poprzednim,
- długość kroku
Dane potrzebne do obliczeń:
- minimalizowana funkcja celu
- punkt startowy
- wymagana dokładność
warunek stopu - do wyboru:
Przejdź do kroku 5.
Krok 4:
Podstaw:
gdzie:
Przejdź do kroku 5.
Krok 5:
gdzie dobierane jest tak, by funkcja
osiągała minimum w kierunku
.
Podstaw: .
Przejdź do kroku 1.
Uwagi:
Algorytm zaimplementowano na podstawie:
Ostanin. A: Metody i algorytmy optymalizacji, Wydawnictwo Politechniki Białostockiej, Białystok, 2003
Metody publiczne | |
~FletcherReeves (void) | |
Destruktor. | |
virtual std::auto_ptr< Method > | Clone () const |
Tworzy kopię metody. | |
virtual const wxString & | Name () const |
Zwraca nazwę metody. | |
virtual MethodIdType | Id () const |
Zwraca ID metody. | |
virtual wxString | ToString (bool standalone=true) const |
Zwraca opis tekstowy metody (nazwa + parametry). | |
virtual bool | CanHandle (const ProblemBase *pProblem) const |
Sprawdza, czy dany problem może być rozwiązany tą metodą. | |
virtual StopConditions | AllowedStopConditions () const |
Zwraca listę warunków stopu odpowiednich dla danej metody. | |
Statyczne metody publiczne | |
static MethodIdType | ClassId () |
Zwraca ID metody. | |
Metody chronione | |
FletcherReeves (void) | |
Konstruktor domyślny. | |
FletcherReeves (const FletcherReeves &from) | |
Konstruktor kopiujący. | |
virtual wxString & | rName () |
Atrybuty chronione | |
bool | mModification |
Czy do algorytmu ma zostać wprowadzone usprawninie (szczegóły w opisie metody). | |
Przyjaciele | |
class | VariantedMethodWithLineSearchPanel< FletcherReeves > |
class | MethodWithLineSearchPanel< FletcherReeves > |
|
Konstruktor kopiujący.
|