Dokumentacja klasy PolakRibiere

#include <PolakRibiere.h>

Diagram dziedziczenia dla PolakRibiere

MethodWithLineSearch Method Observable Lista wszystkich składowych.

Opis szczegółowy

Metoda Polaka-Ribiere'a.

Matoda Polaka-Ribiere'a 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 Polaka-Ribiere'a powinna znaleźć minimum dowolnej funkcji kwadratowej w liczbie kroków co najwyżej równej wymiarowi problemu.

Algorytm metody:

Oznaczenia:
$ k $ - numer aktualnej iteracji
$x^k$ - punkt w $k$-tej iteracji,
$d^k$ - kierunek poszukiwań w $k$-tej iteracji,
$\gamma^k$ -współczynnik zapewniający sprzężenie nowego kierunku $d^k$ z poprzednim,
$ \tau $ - długość kroku

Dane potrzebne do obliczeń:
$ f(x) $ - minimalizowana funkcja celu
$ x^0 $ - punkt startowy
$ \varepsilon $ - wymagana dokładność
warunek stopu - do wyboru:


Krok 0 (wstępny):
Oblicz $ \nabla f(x^0) $.
Podstaw $ k=0 $.

Krok 1:
Jeśli spełniony jest warunek stopu, to przerwij działanie algorytmu i jako wynik przedstaw $ x^k $. W przeciwnym wypadku przejdź do kroku 2.

Krok 2:
Jeśli $ k=0 $, przejdź do kroku 3. W przeciwnym wypadku przejdź do kroku 4.

Krok 3:
Podstaw:

\[ d^k = -\nabla(f(x^k)) \]

Przejdź do kroku 5.

Krok 4:
Podstaw:

\[ d^{(k)} = -\nabla(f(x^k)) + \gamma^{k-1} d^{k-1} \]

gdzie:

\[ \gamma^k = \frac{(\nabla f(x^k) - \nabla f(x^{k-1}))^T \nabla f(x^k)}{\|\nabla f(x^{k-1}))\|^2} \]

Przejdź do kroku 5.

Krok 5:

\[ x^{k+1} = x^k + \tau d^k , \]

gdzie $ \tau $ dobierane jest tak, by funkcja $ f(x) $ osiągała minimum w kierunku $ d^k $.
Podstaw: $ k = k+1 $.
Przejdź do kroku 1.

Algorytm zaimplementowano na podstawie:
Ostanin. A: Metody i algorytmy optymalizacji, Wydawnictwo Politechniki Białostockiej, Białystok, 2003


Metody publiczne

 ~PolakRibiere (void)
 Destruktor.
virtual std::auto_ptr< MethodClone () const
 Tworzy kopię metody.
virtual const wxString & Name () const
 Zwraca nazwę metody.
virtual MethodIdType Id () const
 Zwraca ID metody.
virtual bool CanHandle (const ProblemBase *pProblem) const
 Czy metoda nadaje się do rozwiązania zadanego problemu.
virtual StopConditions AllowedStopConditions () const
 Zwraca listę warunków stopu odpowiednich dla danej metody.

Statyczne metody publiczne

static MethodIdType ClassId ()
 Zwraca ID metody.

Metody chronione

 PolakRibiere (void)
 Konstruktor domyślny.
 PolakRibiere (const PolakRibiere &from)
 Konstruktor kopiujący.
virtual wxString & rName ()

Przyjaciele

class MethodWithLineSearchPanel< PolakRibiere >


Dokumentacja konstruktora i destruktora

PolakRibiere::PolakRibiere const PolakRibiere from  )  [protected]
 

Konstruktor kopiujący.

Parametry:
from Obiekt, którego wartość jest kopiowana.


Dokumentacja dla tej klasy została wygenerowana z plików:
Wygenerowano Fri Sep 29 21:04:53 2006 dla EduOptim2 programem  doxygen 1.4.6