#include <DichotomousDivision.h>
Diagram dziedziczenia dla DichotomousDivision
Metoda optymalizacji w kierunku, w której w każdym kroku zmniejszamy przedział nieoznaczoności o połowę.
Algorytm metody:
Oznaczenia:
- lewy kraniec przedziału poszukiwań w danej iteracji
- prawy kraniec przedziału poszukiwań w danej iteracji
- punkt w 1/4 przedziału nieoznaczoności w danej iteracji
- punkt w 1/2 przedziału nieoznaczoności w danej iteracji
- punkt w 3/4 przedziału nieoznaczoności w danej iteracji
- wartość funkcji celu w punkcie
- wartość funkcji celu w punkcie
- wartość funkcji celu w punkcie
- długość odcinka nieoznaczoności
Dane potrzebne do obliczeń:
- minimalizowana funkcja jednej zmiennej
- lewy kraniec początkowego przedziału poszukiwań
- prawy kraniec początkowego przedziału poszukiwań
- wymagana dokładność rozwiązania
W metodzie podziału dychotomicznego dokładność rozumiana jest jako szerokość ostatniego przedziału nieokreśloności. Wymagamy by była ona mniejsza od .
Krok 1:
Podstawić i obliczyć wartość funkcji w tym punkcie. Obliczyć
.
Krok 2:
Podstawić i
i obliczyć wartość funkcji w tych punktach.
Krok 3:
Jeśli , to:
oraz przejść do kroku 6. Jeśli warunek nie jest spełniony, przejść do kroku 4.
Krok 4:
Jeśli , to:
i przejść do kroku 6. Jeśli warunek nie jest spełniony, przejść do kroku 5.
Krok 5:
Krok 6:
jeśli warunek jest spełniony, zakończyć działanie algorytmu. W przeciwnym wypadku przejść do kroku 2.
Algorytm zaimplementowano na podstawie:
Ostanin. A: Metody i algorytmy optymalizacji, Wydawnictwo Politechniki Białostockiej, Białystok, 2003
Metody publiczne | |
~DichotomousDivision (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 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 | |
DichotomousDivision (void) | |
Konstruktor domyślny. | |
DichotomousDivision (const DichotomousDivision &from) | |
Konstruktor kopiujący. | |
virtual wxString & | rName () |
Przyjaciele | |
class | SectionLineSearchPanel< DichotomousDivision > |
|
Konstruktor kopiujący.
|