Dokumentacja klasy UniformDivision

#include <UniformDivision.h>

Diagram dziedziczenia dla UniformDivision

SectionLineSearch LineSearch Method Observable Lista wszystkich składowych.

Opis szczegółowy

Metoda podziału równomiernego.

Metoda optymalizacji w kierunku polegająca na stopniowym skracaniu zadanego odcinka (patrz SectionLineSearch).

Dokonuje przeglądu zupełnego punktów leżących na odcinku $[a, b]$, z dokładnością do $\varepsilon$.

Wynikiem jest oczywiście ten z punktów, dla którego wartość funkcji jest najmniejsza.


Informacje wejściowe:
$k$ - numer aktualnej iteracji,
$f(x)$ - minimalizowana funkcja jednej zmiennej,
$a$ - lewy kraniec przedziału poszukiwań,
$b$ - prawy kraniec przedziału poszukiwań,
$\varepsilon$ - wymagana dokładność (długość kroku).


Oznaczenia:
$x^k$ - aktualny punkt próbny,
$x_{min}$ - najlepszy z dotychczas zbadanych punktów próbnych,
$F_{min}$ - wartość funkcji w punkcie $x_{min}$.


Procedura.


Krok wstępny:
Podstawiamy:

\[ x^1 = a , \]

\[ x_{min} = x^1 , \]

\[ F_{min} = f(x^1). \]


Krok 1:
Podstawiamy:

\[ x^{k+1} = x^k + \varepsilon . \]

Sprawdzamy warunek stopu:
Jeśli $ x^{k+1} > b $, to STOP. W przeciwnym wypadku przechodzimy do kroku 2.


Krok 2:
Jeśli $ f(x^{k+1}) < F_{min} $, podstawiamy:

\[ x_{min} = x^{k+1} , \]

\[ F_{min} = f(x^{k+1}). \]

Podstawiamy $k = k + 1$ i przechodzimy do kroku 1.

Niniejszy dokument został półautomatycznie wycięty z dokumentacji kodu źródłowego programu Eduoptim 2. Pełna dokumentacja dostępna jest wraz ze źródłami bądź osobno w dziale pliki.
Hierarchia klas w programie nie odpowiada klasyfikacji metod optymalizacji.