politechnika gdańska wydział elektrotechniki i automatyki ... · podstawy optymalizacji metody...
TRANSCRIPT
Politechnika Gdańska
Wydział Elektrotechniki i Automatyki
Katedra Inżynierii Systemów Sterowania
Podstawy optymalizacji
Metody poszukiwania ekstremum funkcji jednej zmiennej
Materiały pomocnicze do ćwiczeń laboratoryjnych
Opracowanie:
Kazimierz Duzinkiewicz, dr hab. inż.
Tomasz Karol Nowak, mgr inż.
Gdańsk
1. Wstęp
W ćwiczeniu zapoznamy się z trzema metodami szukania ekstremum funkcji jednej
zmiennej: metodą dwudzielną, metodą Fibonacci i metodą „złotego podziału”.
Poszukiwanie będziemy przeprowadzali przy założeniu, ze system, w którym
przeprowadzamy to poszukiwanie, jest zdeterminowany tzn. nie występują w nim nieznane
lub przypadkowe czynniki mające wpływ na wyniki poszukiwań.
2. Warunek unimodalności
Warunkiem efektywnego zastosowania (tzn. zapewniającego znalezienie ekstremum
globalnego) wymienionych metod jest spełnienie przez funkcję jednej zmiennej warunku
unimodalności.
Obrazowo mówiąc, funkcja jednej zmiennej w badanym przedziale jest unimodalna,
jeżeli posiada w nim tylko jeden wierzchołek. Własność unimodalności posiadają wszystkie
funkcje przedstawione na rys. 2.1.
Rys. 2.1. Funkcje unimodalne.
Zauważmy, ze funkcja unimodalna nie musi być wcale funkcją gładką, jak na rys. 2.1.a, a
także funkcją ciągłą jak na rys. 2.1.b – może ona być złamana (nieróżniczkowalna), nieciągła i
także może być nieokreślona w pewnych przedziałach jak na rys. 2.1.c.
Widać, że założenie unimodalności nie jest związane z surowymi ograniczeniami i
dlatego jest ono spełnione w wielu praktycznych zadaniach poszukiwania.
Załóżmy, dla określoności rozważań, ze chcemy maksymalizować funkcję . Niech
to poszukiwana, lecz nieznana wartość maksymalna i niech to wartość , przy
której osiąga się to maksimum. Wtedy:
(1)
Rozpatrzmy dwa funkcji i przy czym i niech odpowiadające im wartości
wynoszą i . Przy takich ustaleniach możemy podać warunek unimodalności
funkcji jednej zmiennej.
Funkcja jest unimodalna, przy spełnieniu podanych wyżej założeń, jeżeli z
warunku wynika , zaś z warunku wynika, że .
Jeżeli można założyć unimodalność funkcji wówczas wg rezultatów dowolnej pary
eksperymentów (określenie w dwóch punktach) można wskazać przedział, w którym
zawarte jest optimum , przy czym ten przedział jest mniejszy, niż poprzedni. Weźmy np.
dwa eksperymenty i , gdzie . Możliwe są wówczas trzy rezultaty:
, i . Wszystkie one są przedstawione na rys. 2.2.
Rys. 2.2. Możliwe rezultaty dwóch eksperymentów.
3. Przedział nieokreśloności
Jeżeli funkcja jest unimodalna w przedziale wówczas przed wykonaniem
jakiegokolwiek eksperymentu możemy powiedzieć, ze ekstremum funkcji znajduje się
w przedziale . Przedział o którym możemy powidzieć, ze zawiera on punkt
nazywamy przedziałem nieokreśloności.
Uściślijmy podaną definicję. Przyjmijmy, że wykonaliśmy eksperymentów
(określiliśmy w punktach przedziału ) i oznaczmy lewą i prawą granicę
przedziału wyjściowego odpowiednio i , tj. , . Niech dla serii
eksperymentów jest wskaźnikiem eksperymentu, dla którego otrzymano największą
wartość . Wówczas dla serii eksperymentów możemy w ogólnym przypadku
powiedzieć, że:
(2) gdzie: , - wskaźniki eksperymentów leżących na lewo i prawo od eksperymentu
.
Przedział ten będziemy nazywali przedziałem nieokreśloności po eksperymentach i
oznaczali jego długość przez:
(3) Zatem, każdy nowy przedział nieokreśloności zawiera się między eksperymentach
położonymi po obu stronach eksperymentu dającego największą wartość .
4. Minimalne rozsunięcie eksperymentów
Aby zmniejszyć przedział nieokreśloności należy przeprowadzić co najmniej dwa
eksperymenty. Rozpatrzmy dwa eksperymenty i przy czym .
Pierwotny przedział nieokreśloności wynosi . jak rozmieścić eksperymenty , ,
aby niezależnie od rezultatów eksperymentów kolejny przedział nieokreśloności był
najmniejszy?
Na pierwszy rzut oka widac, że minimalna wartość wynosi
i jest ona osiągana
przy
. Takie rozwiązanie jest jednak nie do przyjęcia. Niech
będzie minimalnym rozsunięciem eksperymentów, przy którym staje się możliwe wykrycie
różnicy między i . Wówczas przeprowadzając eksperymenty i symetrycznie
po obu stronach środka przedziału w odległości
od niego, spełnimy nie tylko
wymagania minimalnego rozsunięcia eksperymentów, ale otrzymamy również minimalną
wartość . Pokazuje to rys. 4.1.
Rys. 4.1. Najlepsze rozmieszczenie dwóch eksperymentów.
5. Maksymalna liczba eksperymentów
W wielu przypadkach, nawet jeśli wiadomo, że funkcja jest unimodalna nie można uzyskać
przedziału nieokreśloności dowolnie małego. Przy planowaniu poszukiwania należy brać pod
uwagę minimalne rozsunięcie , przy którym rezultaty dwóch eksperymentów można jeszcze
rozróżnić.
Najmniejszy przedział nieokreśloności, który w ten sposób daje się osiągnąć wynosi
praktycznie :
(4) gdzie: , , - numery kolejne punktów – eksperymentów w przedziale
poszukiwania, - wartość zmiennej niezależnej, dla której osiągnięto najlepszy rezultat
eksperymentu.
6. Błędy eksperymentu
W rozważaniach przeprowadzonych wyżej byliśmy zmuszeni liczyć się z tym, że odległość
między dowolnymi dwoma próbami powinna być nie mniejsza od pewnego dodatniego .
Badacz mający do czynienia z jakimś fizycznym lub ekonomicznym układem nie może tej
wielkości lekceważyć. Jednakże od razu powstaje trudność. Dla tego, aby ocenić należy coś
wiedzieć o tym jak szybko zmienia się nieznana funkcja. Na nieszczęście wszystko to zachodzi
w pobliżu optimum, gdzie funkcja, jeżeli jest ciągła i niełamana, staje się całkiem łagodna,
ponieważ pierwsza pochodna dąży do zera (jeżeli ekstremum nie znajduje się na końcu
przedziału). Jasne jest, że z powodu błędów eksperymentu wielkość zwiększa się. Wpływ
błędów można zmniejszyć powtarzając eksperyment kilkukrotnie i posługując się średnią z
kilku pomiarów. Zasadniczą sprawą jest tutaj udzielanie odpowiedzi na pytanie czym
spowodowana jest, obserwowana przez nas, różnica między dwoma eksperymentami. Czy
jest to różnica spowodowana błędami eksperymentu, czy też wynika ona z istotnej różnicy
wartości funkcji w badanych dwóch punktach. Aby odpowiedzieć na to pytanie należy
skorzystać z aparatu obliczeniowego statystyki matematycznej wykorzystując metody
badania istotności. Metody te wychodzą z poza ramy tego ćwiczenia. Zapoznamy się z nimi w
jednym z dalszych ćwiczeń.
7. Metoda dwudzielna (dychotomii)
W jednym z poprzednich rozdziałów pokazaliśmy, że jeżeli w początkowym przedziale
przeprowadza się tylko dwa eksperymenty, wówczas najlepsze co można
zrobić to przeprowadzić obydwie próby w środku przedziału możliwie blisko jedna drugiej.
Otrzyma się przy tym długość przedziału nieokreśloności równą:
(5)
Załóżmy, że trzeci i czwarty eksperyment przeprowadzamy w środku otrzymanego przedziału
tak, jak to pokazano na rys. 7.1.
Rys. 7.1. Poszukiwania metodą dwudzielną dla przypadku sześciu eksperymentów.
Po piątym i szóstym eksperymencie przeprowadzonym podobnym sposobem przdział
nieokreśloności skróci się do
(rys. 7.1.c).
W ogólności, po eksperymentach ( oczywiście powinno być parzyste) optimum
będzie zawarte w przedziale o długości:
(6)
– parzyste.
Jak widać, efektywność tego poszukiwania metodą zwaną dwudzielną (dzielenia na pół) ze
wzrostem ekspotencjalnie.
8. Metoda Fibonacci
Jakkolwiek metoda dwudzielna jest metodą efektywnego poszukiwania ekstremum funkcji
jednej zmiennej, to istnieje metoda od niej doskonalsza – jest nią metoda Fibonacci.
Prześledźmy elementy tej strategii poszukiwania ekstremum funkcji jednej zmiennej.
Jak poprzednio mamy funkcję unimodalną w przedziale . dla poszukiwania
ekstremum dysponujemy serią eksperymentów. Z dyskusji w poprzednich rozdziałach
wynika, że ostatnie dwa eksperymenty optymalnie należy rozmiescić tak, jak to pokazuje rys.
8.1.
Rys. 8.1. Optymalne rozmieszczenie dwóch ostatnich eksperymentów.
Optymalnym będzie zatem przeprowadzenie dwóch ostatnich eksperymentów w punktach
symetrycznych względem środka (przedział nieokreśloności po wykonaniu
eksperymentów) i oddalonych od niego o
. W ten sposób (patrz rys. 8.1.) i związane
są zależnością:
(7) Na rys. 8.1 i dalszych
oznacza punkt eksperymentu, dla którego uzyskano najlepszy
rezultat spośród eksperymentów, zaś oznacza punkt, dla którego ten rezultat był gorszy.
Rozpatrzmy teraz przedział, który otrzymamy po wykonaniu wszystkich
eksperymentów z wyjątkiem dwóch ostatnich. jego długość oznaczmy (patrz rys. 8.2).
Rys. 8.2. Strategia rozmieszczenia ostatnich eksperymentów w metodzie Fibonacci.
Gdzieś wewnątrz tego przedziału znajduje się eksperyment . W przedziale tym
należy też przeprowadzić następny eksperyment (oznaczmy miejsce jego wykonania
). Po wykonaniu tego eksperymenty dowiemy się, który z tych dwóch eksperymentów
okazał się lepszy i nazwiemy go . Eksperyment ten „wpadnie” w następny przedział
nieokreśloności . Drugi z tych eksperymentów, który nazwiemy stanie się punktem
granicznym między częścią przedziału , który odrzucimy z dalszych badań i przedziałem
, który pozostawimy dla dalszego badania. Ponieważ przed przystąpieniem do
wykonania eksperymentu nie wiedzieliśmy, który z dwóch punktów w przedziale
będzie odpowiadał lepszemu rezultatowi, to wynika stąd, że obydwa te punkty muszą być
odległe na od końców przedziału , przy czym każdy od innego (rys. 8.2.a i 8.2.b).
Jak wspomnieliśmy wyżej, ten z punktów i , dla którego uzyskamy lepszy
rezultat eksperymentu zostanie oznaczony i przejdzie do nowego przedziału
nieokreśloności . Lecz już poprzednio pokazaliśmy, że powinien znajdować się w
odległości od końca przedziału (rys. 8.2.c). Ponieważ i w przedziale
były rozłożone symetrycznie i jeden z nich został , to wynika stąd, że każdy z tych
punktów powinien być odległy o od jednego z końców przedziału i na od
drugiego, tak jak to pokazuje rys. 8.3.
Rys. 8.3. Zależność między trzema ostatnimi przedziałami nieokreśloności.
Stąd można zapisać:
(8) Z (7) i (8) otrzymujemy:
(9) Przeprowadzone wyżej rozważania można uogólnić wyprowadzając analogiczną do
(8) zależność wiążącą długości trzech kolejnych przedziałów nieokreśloności (rys. 8.4):
(10)
dla wszystkich przy czym otrzymane formalnie z tego wzoru .
Rys. 8.4. Zależność między trzema kolejnymi przedziałami nieokreśloności w metodzie
Fibonacci.
Wypiszmy długości dla kilku kolejno zmniejszających się od . Otrzymamy:
i analogicznie:
Zawartą formułę wyrażającą te zależności można otrzymać wykorzystując ciąg liczb Fibonacci
w następujący sposób:
(11) (12)
gdzie: – -ta liczba Fibonacci.
Z pomocą tych liczb możemy napisać zależność wyrażającą przedział nieokreśloności
na eksperymentów przed zakończeniem poszukiwania
(13) Przyjmując długość wyjściowego przedziału za otrzymamy :
(14) Stąd znajdziemy , czyli przedział nieokreśloności po kolejnych eksperymentach wg
przedstawionej strategii:
(15)
Jeżeli poszukiwania metodą Fibonacci zostało już rozpoczęte, jego kontynuacja w
dowolnym kroku jest bardzo prosta. Istotnie, bowiem w każdy pozostający przedział wchodzi
jeden z poprzednich eksperymentów i dla kontynuowania poszukiwania należy
przeprowadzić eksperyment symetrycznie do tego już posiadanego w przedziale
eksperymentu. Dlatego określając dokładnie miejsca dwóch pierwszych eksperymentów w
pełni określimy poszukiwania metoda Fibonacci.
Dwa pierwsze eksperymenty powinny znajdować się w odległości od końców
pierwotnego przedziału , oczywiście każdy z nich od innego. Dla znalezienia zapiszemy
(13) dla :
(16) Podstawiając (15):
(17)
Współczynnik przy można uprościć jeżeli podstawy do licznika tożsamości:
wówczas:
Wykorzystując tzw. wzór Lucasa można wykazać, że prawa strona tego wyrażenia równa się
. W ten sposób (17) sprowadza się do postaci:
(17a)
Znajomość tej zależności pozwala rozpocząć poszukiwania metoda Fibonacci. Dalsze
postępowanie, którego przestawiono wyżej, jest już bardzo proste.
9. Metoda „złotego podziału”
Metoda Fibonacci posiada jedną niedogodność. Aby móc rozpocząć przeprowadzenie
sekwencji eksperymentów eksperymentator musi znać liczbę eksperymentów, które
będzie wykonywał. Mogą się zaś zdarzyć sytuacje, kiedy określenie tej liczby nie będzie
możliwe. Można wówczas skorzystać z metody „złotego podziału”.
Zapoznamy się teraz z elementami tej strategii. niech jak poprzednio oznacza liczbę
już przeprowadzonych eksperymentów. Z rozważań nad metodą Fibonacci przejdziemy
sposób rozmieszczenia sekwencyjnych eksperymentów, który określa zależność:
(10)
W metodzie Fibonacci wszystkie zależności wyprowadziliśmy korzystając z zależności (10)
oraz z warunku początkowego:
(7)
Tym razem nie skorzystamy z tego warunku, lecz zamiast niego przyjmiemy, że stosunek
długości kolejnych przedziałów nieokreśloności pozostaje stały. Oznaczając ten stosunek
przez mamy:
(18)
Dzieląc (10) przez i biorąc pod uwagę, że:
(19)
otrzymujemy:
(20) Rozwiązanie to posiada jeden dodatni pierwiastek:
(21)
Zasadę „złotego podziału” pokazuje rys. 9.1.
Rys. 9.1. Zasada „złotego podziału”.
Dwa pierwsze eksperymenty przeprowadzamy w odległości
(22)
od końców przedziału wyjściowego . Według rezultatów dwóch eksperymentów ustalamy,
który segment pozostawić dla dalszych badań. Jak wiadomo w tym pozostającym przedziale
będzie znajdować się jeden z poprzednich eksperymentów i aby kontynuować poszukiwania
należy w tym przedziale przeprowadzić symetrycznie do niego następny eksperyment.
Proces ten można kontynuować dowolnie długo. Po eksperymentach dochodzimy do
przedziału nieokreśloności:
(23)
Literatura:
1. Optimum seeking methods, Douglass J. Wilds, PrenticeHall Inc., Englewood Cliffs, N.
J. 1969.
2. Foundations of Optimization, Douglass J. Wilde, Charles S. Beightler, Prentice-Hall
Inc., Englewood Cliffs, N. J., 1967.
3. Optimization theory with applications, Donald A. Pierre, john Wiley & Sons Inc., 1969.
4. Metody obliczeniowe optymalizacji, W. Findeisen, J. Szymański, A. Wierzbicki, Wyd.
Politechniki Warszawskiej, Warszawa 1973.