Dokumentacja klasy SignOfDerivative

#include <SignOfDerivative.h>

Diagram dziedziczenia dla SignOfDerivative

SinglePointLineSearch LineSearch Method Observable Lista wszystkich składowych.

Opis szczegółowy

Metoda znaku pochodnej.

Metoda znaku pochodnej jest prostą metodą rozwiązywania problemów jednowymiarowych wykorzystującą znak pochodnej funkcji w punkcie.

Oznaczenia:
$ x^k $ - punkt w danej iteracji
$ x_{kand} $ - kandydat na punkt w następnej iteracji
$ \alpha^k $ - współczynnik wpływu wartości pochodnej w punkcie na przesunięcie punktu roboczego

Dane potrzebne do obliczeń:
$ f(x) $ - minimalizowana funkcja jednej zmiennej
$ x^0 $ - punkt poczatkowy
$ \varepsilon $ - wymagana dokładność rozwiązania
$ \alpha^0 $ - początkowa wartość $ \alpha^k $ (może się zmniejszać gdy wykonywane kroki są za długie).
$ \gamma $ - współczynnik zmniejszania współczynnika $ \alpha $ w przypadku, gdy wykonanie kroku dałoby gorszy wynik

Krok 1:
Podstawić $ k=0 $, $ x^1=x^0 $ oraz $ \alpha^1 = \alpha^0 $.

Krok 2:
Podstawić $ k=k+1 $, a następnie $ \alpha^k = \alpha^{k-1} $.

Krok 3:
Obliczyć $ x_{kand} = x^{k-1} - \alpha^k sgn(f'(x^{k-1})) $.
Jeśli $ f(x_{kand}) < f(x^k) $, podstawić $ x^k=x_{kand} $ i przejść do kroku 5. W przeciwnym wypadku przejść do kroku 4.

Krok 4:
Zmniejszyć $ \alpha^k $ zgodnie ze wzorem: $ \alpha^k = \gamma \alpha^k $, a następnie przejsć do kroku 3.

Krok 5:
Jeśli spełniony jest warunek zbieżności, zakoczyć działanie algorytmu i zwrócić $ x^k $ jako wynik. W przeciwnym wypadku przejść do kroku 2.

Algorytm zaimplementowano na podstawie pracy dyplomowej:
Grabowski J.: Numeryczne metody optymalizacji, miejsce i data obrony: Politechnika Wrocławska, TODO

Zobacz również:
LineSearch


Metody publiczne

 ~SignOfDerivative (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 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ą.

Statyczne metody publiczne

static MethodIdType ClassId ()
 Zwraca ID metody.

Metody chronione

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

Atrybuty chronione

DoubleParameter mAlpha
 Współczynnik wpływu wartości pochodnej na położenie następnego odcinka.
DoubleParameter mGamma
 Współczynnik zmniejszania wartości mAlpha w przypadku braku zbieżności.

Przyjaciele

class DerivativeLineSearchPanel< SignOfDerivative >


Dokumentacja konstruktora i destruktora

SignOfDerivative::SignOfDerivative const SignOfDerivative 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:54 2006 dla EduOptim2 programem  doxygen 1.4.6