#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:
,
,
.
.
.
. W przeciwnym wypadku przejdź do kroku 2.
gdy używana jest tradycyjna wersja algorytmu lub jeśli
w przypadku gdy wprowadzono modyfikację (patrz: Uwagi). W przeciwnym wypadku przejdź do kroku 4.
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