background image

 

 

MINIMALIZACJA FUNKCJI WIELU ZMIENNYCH  

METODY SPRZĘŻONYCH KIERUNKÓW POPRAWY 

 
 
Wprowadzenie 
 
 

Celem  dwiczenia  jest  zapoznanie  się  z  niektórymi  metodami  minimalizacji  funkcji  wielu 

zmiennych bez ograniczeo. Metody te można podzielid na następujące klasy: 

metody poszukiwao prostych; 

metody kierunków poprawy, wśród których możemy wyróżnid następujące grupy: 
1.  metody bezgradientowe,  w  przypadku  których  do  znalezienia  minimum potrzebne 

jest wyznaczenie jedynie wartości wskaźnika jakości 

 

x

2.  metody  gradientowe,  dla  w  których  procesie  poszukiwao  minimum  korzystamy  z 

wyznaczanych  wartości  minimalizowanego  wskaźnika  jakości 

 

x

  oraz  jego 

gradientu 

 

x

f

x

3.  metody  newtonowskie,  gdzie  poszukiwanie  minimum  przeprowadzamy  z 

wyznaczeniem  w  kolejnych  punktach  wartości  wskaźnika  jakości,  jego  gradientu 

oraz hesjanu 

 

T

x

x

f

 

x

Dokładnie  zostaną  omówione  dwie  metody  wykorzystujące  w  procesie  minimalizacji  kierunki 
sprzężone. 
 

Dla  wszystkich  typów  metod  należących  do  klasy  metod  kierunków  poprawy 

wykorzystujemy  wspólny  schemat  prowadzenia  obliczeo  iteracyjnych.  Polega  on  na  tym,  że  do 
punktu  odpowiadającego  minimum  wskaźnika  jakości, 

 

x

,  dochodzimy  w  kolejnych  krokach 

poszukiwania  minimum  wzdłuż  odpowiednio  wyznaczonych  kierunków 

d

  w  przestrzeni  

n

-wymiarowej, zwanych kierunkami poszukiwao.  

Jeżeli po 

1

k

 krokach optymalizacji osiągnięto punkt poszukiwao 

1

ˆ

k

x

 to w kolejnym 

k

-tym kroku 

przeprowadza  się  minimalizację  wzdłuż  prostej  wyznaczonej  przez  punkt 

1

ˆ

k

x

  i  wektor  kierunku 

k

d

, tj. znajdujemy taką optymalna wartośd  ˆ

k

, że 

 

1

ˆ

ˆ

: min

k

k

k

k

k

f

x

d

 
a więc rozwiązujemy zagadnienie minimalizacji funkcji jednej zmiennej - tą zmienną jest 

k

Kierunki te mogą byd stałe w trakcie całego iteracyjnego procesu poszukiwao minimum bądź też 
mogą ulegad zmianie na kolejnych etapach w zależności od wartości minimalizowanej funkcji, jej 
gradientu lub również hesjanu. 
 

W  algorytmie  poszukiwao  można  wyróżnid  następujące,  wspólne  dla  wszystkich  metod, 

fazy: 

wybór punktu początkowego poszukiwao 

0

x

wyznaczenie kolejnego punktu  ˆ

k

x

, stanowiącego przybliżenie punktu  ˆ odpowiadającego 

minimum  wskaźnika  jakości;  punkt  ten  wyznaczamy  przez  poszukiwania  wzdłuż  kierunku 

k

d

, którego określenie, jak i również odległośd przesunięcia w tym kierunku są zależne od 

background image

 

wybranej  metody  optymalizacji;  kolejny  punkt,  będący  nowym  (lepszym)  przybliżeniem 
punktu minimalizującego funkcję 

 

x

, jest wyznaczany z zależności 

 

1

ˆ

ˆ

ˆ

;

k

k

k

k

x

x

d

 

 

 

sprawdzenie  warunków  zbieżności  (kryterium  osiągnięcia  punktu  minimalnego  wskaźnika 
jakości)  i  –  w  zależności  od  wyniku  –  kontynuowanie  poszukiwao  iteracyjnych  albo  ich 
zakooczenie. 

Punkt  początkowy  poszukiwao  wybieramy  na  podstawie  posiadanych  informacji  dotyczących 

położenia  punktu  minimalnego  wskaźnika  jakości.  Należy  podkreślid,  że  w  przypadku  zadania 
minimalizacji  nieliniowego  wskaźnika  jakości  wielu  zmiennych  dobór  punktu  początkowego 
poszukiwao  może  w  znaczący  sposób  przyspieszyd  lub  opóźnid  znalezienie  minimum  wskaźnika 
jakości albo wręcz zdecydowad o możliwości znalezienia minimum globalnego wskaźnika jakości. 
 
 
Metoda Powella (metoda bezgradientowa
 

Metoda Powella należy do bezgradientowych metod poprawy, w których minimum, funkcji 

celu, 

 

x

,  znajdujemy  poprzez  przeszukiwanie  przestrzeni 

n

  w  odpowiednio  dobranych 

kierunkach  stanowiących  bazę  tej  przestrzeni.  W  metodzie  Powella  poszukiwao  dokonujemy  w 
kolejnych  iteracjach,  z  których  każda  polega  na  kolejno  wykonanych  minimalizacjach  wzdłuż   
kierunków, gdzie   jest liczbą zmiennych decyzyjnych. 
Na  zakooczenie  każdej  iteracji  dokonujemy  minimalizacji  wzdłuż  nowo  wyznaczonego  (

1

n

)-go 

kierunku  poszukiwao 

1

k

d

.  Kierunki  poszukiwao  nie  są  w  metodzie  Powella  stałe:  w  pierwszej 

iteracji  jako  kierunki  poszukiwao  wykorzystujemy  zwykle  kierunki  osi  współrzędnych  (wersory),  
a  w  koocowej  fazie  każdej  iteracji  dodawany  jest  do  zbioru  kierunków  poszukiwao  nowo 
wyznaczony kierunek 

1

k

d

, a usuwany jest zeo 

1

d

 

Na  wstępie  wyznaczamy  kierunki  w  przestrzeni 

n

    liniowo  niezależnych  wektorów 

1

,...,

n

d

d

, będących początkowymi kierunkami poszukiwao i stanowiących tzw. bazę podstawową. 

Kierunki początkowe mogą byd wybrane dowolnie (przy spełnieniu liniowej niezależności), zwykle 
dla  uproszczenia  przyjmujemy  jako  początkowe  kierunki  poszukiwao  kierunki  osi  układu 
współrzędnych. W koocowej fazie etapu wstępnego dokonujemy minimalizacji wzdłuż ostatniego 
z  początkowych  kierunków  poszukiwao,  startując  z  punktu  początkowego, 

0

x

,  i  osiągając  punkt 

startowy dla pierwszej iteracji metody Powella, 

1,0

x

.  

 

Minimalizacja  funkcji  celu  za  pomącą  metody  Powella  przebiega  w  kolejnych  iteracjach.  

W każdej iteracji realizowane są 4 etapy (oznaczenia dotyczą  -tej iteracji): 

1.  Startując  z  początkowego  punktu  poszukiwao  dla  iteracji  -tej, 

,0

i

x

,  dokonujemy   

kolejnych  minimalizacji  wzdłuż  kierunków  poszukiwao  dla  -tej  iteracji: 

,1

,

,...,

i

i n

d

d

.  Jako 

wynik tych minimalizacji otrzymujemy punkty 

,1

,2

,

ˆ

ˆ

ˆ

,

,...,

i

i

i n

x

x

x

Kolejny punkt, będący  nowym  przybliżeniem  punktu  minimalizującego funkcję 

 

x

,  jest 

wyznaczany z zależności 
 
 

,

,

1

,

,

ˆ

ˆ

ˆ

.

i k

i k

i k

i k

x

x

d

 

 

2.  Wyznaczamy nowy kierunek poszukiwao zgodnie z zależnością 

 

background image

 

,

1

,

,0

ˆ

ˆ

i n

i n

i

d

x

x

 

 

 
a następnie dokonujemy wzdłuż nowo wyznaczonego kierunku, 

,

1

i n

d

, minimalizacji funkcji 

celu – osiągając punkt 

,

1

ˆ

i n

x

3.  Sprawdzamy warunek zakooczenia obliczeo (kryterium stopu): 

 

,

1

,0

ˆ

ˆ

i n

i

x

x

 

 
(możliwe jest również wykorzystanie innych kryteriów stopu lub ich kombinacji: 

 

  

,

1

,0

ˆ

ˆ

i n

i

f

f

x

x

 

lub 

 

  

,

1

,0

,

1

,0

ˆ

ˆ

ˆ

ˆ

i n

i

i n

i

f

f

x

x

x

x

 

lub 
 

max

i

It

 

 
gdzie 

  jest  pewną,  zadaną  z  góry  dokładnością  przeprowadzania  minimalizacji.  Jeśli 

kryterium  stopu  jest  spełnione,  następuje  zakooczenie  procesu  minimalizacji  i  przyjęcie 
punktu 

,

1

ˆ

i n

x

 za punkt optymalny,  ˆ

4.  Jeśli  warunek  zakooczenia  obliczeo  nie  jest  spełniony  dokonujemy  przedefiniowania 

(zmiany)  kierunków  poszukiwao  dla  kolejnej  (

1

i

)-szej  iteracji  według  następującego 

algorytmu: 

 

1,1

,2

1,2

,3

1,

,

1

          

.

i

i

i

i

i

n

i n

d

d

d

d

d

d

 

 

 
Nowy  kierunek  wyznaczamy  ostatnim  kierunkiem  poszukiwao  w  kolejnej  iteracji,  a  ze 
zbioru  kierunków  poszukiwao  usuwamy  kierunek  będący  na  pierwszej  pozycji  w  iteracji  

i

-tej. 

 

Teoria metody Powella dotyczy funkcji kwadratowych. Metodę tę można jednak stosowad 

do  innych  funkcji  celu.  Oczywiście  trudno  się  wtedy  spodziewad  osiągnięcia  minimum  w   
iteracjach dla funkcji celu   zmiennych. Proces obliczeniowy trwa w tym przypadku tym dłużej, im 
mniej dokładnie można funkcje celu aproksymowad za pomocą funkcji kwadratowej. 
 
 
Metoda gradientu sprzężonego (metoda gradientowa
 
 

Metoda  gradientu  sprzężonego  należy  do  mieszanych  metod  kierunków  poprawy, 

stanowiących połączenie metod poszukiwania minimum funkcji celu 

 

x

 w kierunku przeciwnym 

do kierunku gradientu funkcji (metody gradientowe) i bezgradientowych metod wykorzystujących 
własności  sprzężonych  kierunków  poszukiwania  minimum.  Metoda  gradientu  sprzężonego  ma 
charakter  iteracyjny:  każda  iteracja  polega  w  tym  przypadku  na  przeprowadzeniu  minimalizacji 

background image

 

kierunkowej wzdłuż obowiązującego kierunku poszukiwao, 

d

, oraz wyznaczenia nowego kierunku 

poszukiwao dla kolejnej iteracji. 
 

Pierwszym  kierunkiem  poszukiwao  jest  kierunek  przeciwny  do  kierunku  gradientu 

minimalizowanej  funkcji  w  punkcie  startowym 

0

x

,  co  czyni  wynik  pierwszej  iteracji  tożsamy  z 

metodą najszybszego spadku: 
 
 

 

0

1

x

f

 

x

d

x

 

 
W każdej iteracji metody gradientu sprzężonego nowy kierunek poszukiwao, dla  -tej iteracji, jest 
wyznaczany wg następującej zależności: 
 
 

 

1

ˆ

i

i

i

i

x

f

 

x

d

x

d

 

 
Współczynnik 

i

  występujący  w  powyższej  zależności  jest  dobierany  w  taki  sposób,  aby  nowo 

wyznaczony  kierunek 

1

i

d

  był  A-sprzężony  z  poprzednim  kierunkiem  poszukiwao 

i

d

  względem 

kwadratowego przybliżenia minimalizowanej funkcji celu 

 

x

. Spełnienie podanego wymagania 

zapewni,  że  kierunki  poszukiwao  w  metodzie  gradientu  sprzężonego  będą  z  jednej  strony  w 
korzystny sposób „zawierały” kierunek przeciwny do wektora gradientu minimalizowanej funkcji, a 
z  drugiej  –  będą  kierunkami  sprzężonymi  względem  macierzy  A  przybliżenia  kwadratowego 
minimalizowanej funkcji. Algorytm doboru współczynnika funkcji 

i

, zapewniający A-sprzężonośd 

generowanych kierunków poszukiwao, jest następujący:  
 
algorytm Fletchera-Reevesa 
 

 

 

 

 

 

 

1

1

1

2

ˆ

ˆ

ˆ

2

ˆ

ˆ

ˆ

i

i

i

i

i

i

T

x

x

x

i

FR

T

x

x

x

f

f

f

f

f

f

x

x

x

x

x

x

x

x

x

x

x

x

 
algorytm Polaka-Ribiére’a 
 

 

 

 

 

 

 

 

1

1

1

1

ˆ

ˆ

ˆ

ˆ

2

ˆ

ˆ

ˆ

i

i

i

i

i

i

i

T

T

i

x

x

x

x

i

PR

T

x

x

x

f

f

f

f

f

f

f

 

x

x

x

x

x

x

x

x

x

x

x

g

x

x

x

 

gdzie wektor 

i

g

 określony jest jako różnica wektorów gradientu w odpowiednich punktach: 

 

 

 

1

ˆ

ˆ

i

i

i

x

x

f

f

  



x

x

g

x

x

 
 

Dla  funkcji  kwadratowej    zmiennych  algorytm  gradientu  sprzężonego  powinien 

doprowadzid  do  punktu  globalnie  minimalnego  po  najwyżej    iteracjach,  jako  że  w  metodzie 
gradientu  sprzężonego  po    kolejnych  iteracjach  dysponujemy    kierunkami  sprzężonymi  dla 
kwadratowej  funkcji  celu.  W  związku  z  powyższym  w  metodzie  gradientu  sprzężonego  po   
kolejnych  iteracjach  oraz  zawsze  wtedy,  gdy  nowo  wyznaczony  kierunek  nie  jest  kierunkiem 
poprawy,  dokonuje  się  tzw.  odnowy  kierunków  poszukiwao,  poprzez  przyjęcie  jako  kierunku 
poszukiwao  dla  kolejnej  iteracji  kierunku  przeciwnego  do  wektora  gradientu  minimalizowanej 
funkcji w ostatnio osiągniętym punkcie poszukiwao. 

background image

 

 

Iteracyjne poszukiwanie minimum za pomocą metody gradientu sprzężonego kooczymy w 

przypadku,  gdy  norma  wektora  gradientu  minimalizowanej  funkcji  dla  ostatniego  przybliżenia 
punktu minimalnego jest mniejsza od założonej dokładności obliczeo 

 

 

 

ˆ

i

x

f

x

x

 

 
(możliwe jest również wykorzystanie innych kryteriów stopu lub ich kombinacji: 

 

2

ˆ

i

x

f

x

x

 

lub 

1

ˆ

ˆ

i

i

x

x

 

lub 

   

1

ˆ

ˆ

i

i

f

f

x

x

 

lub 

   

1

1

ˆ

ˆ

ˆ

ˆ

i

i

i

i

f

f

x

x

x

x

 

lub 

max

i

It

). 

Jako punkt minimalizujący,  ˆ, daną funkcję przyjmuje się ostatnie przybliżenie tego punktu  ˆ

i

x

 
 
DODATEK 
 
Definicje: 
Kierunki  sprzężone
:  Kierunki 

1

2

,

,...,

0

n

d d

d

  nazywamy  sprzężonymi  względem  dodatnio 

określonej symetrycznej macierzy A o wymiarach  n n

 (A-sprzężonymi), jeżeli zachodzi: 

 
 

,

1,..,

     ¹

 

0

T
i

j

i j

n

i j

d Ad

 

 
Uwaga:  

1. Kierunki A-sprzężone są liniowo niezależne. 
2. Relacja A-sprzężoności nie jest przechodnia tj. z faktu 

0

T
i

j

d Ad

 oraz 

0

T

j

k

d Ad

 

nie wynika, że 

0

T
i

k

d Ad

, czyli nie wynika, że kierunki 

i

d

,

j

d

 i 

k

d

 są A-sprzężone. 

 
Rozmaitość liniowa: 

r

-wymiarową rozmaitością liniowa w przestrzeni  -wymiarowej nazywamy 

zbiór: 
 

 

0

1

:

r

n

i

i

i



x

x

x

d

 

 
przy czym: 

,

,  

1,..., ,

i

i

r

  

 

n

i



d

 - kierunek w  -wymiarowej przestrzeni poszukiwao, 

 

1,...,

i

i

r

d

 - kierunki liniowo niezależne, 

background image

 

0

n



x

 - dowolny punkt w  -wymiarowej przestrzeni poszukiwao. 

 
Twierdzenie: 
Jeżeli 

1

2

,

,...,

n

d d

d

 są kierunkami A-sprzężonymi, to minimum funkcji kwadratowej  n  zmiennych 

 

 

 

1

2

T

T

f

c

 

x

b x

x Ax

 

 
w rozmaitości liniowej określonej przez te kierunki i dowolny punkt 

0

x

 może byd wyznaczone w  n  

krokach poprzez minimalizację funkcji 

 

x

 na każdym z tych kierunków tylko jeden raz. 

 
Program dwiczenia 
 

1.  Dla  podanych  przez  prowadzącego  funkcji  wielu  zmiennych  zaimplementowad  algorytm 

poszukiwania  punktu  minimalizującego  z  zastosowaniem  metody  Powella  oraz  metody 
gradientu sprzężonego

1

2.  Przedstawid  w  postaci  schematu  blokowego  algorytm  działania  badanej  metody 

minimalizacji funkcji wielu zmiennych. 

3.  Dla jednego przykładowego zestawu parametrów 

0

x

0

 i 

0, 0001

 (punktu startowego  

i  zadanej  dokładności  obliczeo)  przedstawid  wyniki  działania  metody  dla  podanej  funkcji 
celu. Wyniki przedstawid w postaci tabelarycznej: 

 

Nr iteracji 

Punkt osiągnięty 

w danej iteracji 

Wartośd funkcji celu 

w danej iteracji 

Wartośd kryterium 

stopu (przy danym 

 

 

 

 

 

 

 

 

 

 

 

4.  Zbadad eksperymentalnie czy zbieżnośd badanej metody, dla podanej przez prowadzącego 

funkcji,  jest  zależna  od  wyboru  punktu  początkowego 

0

x

.  Odpowiedź  uzasadnid  oraz 

poprzed wynikami eksperymentów. 

5.  Zbadad eksperymentalnie czy zbieżnośd badanej metody, dla podanej przez prowadzącego 

funkcji, jest zależna od wyboru wartości parametru 

. Odpowiedź uzasadnid oraz poprzed 

wynikami eksperymentów. 

6.  W  sprawozdaniu  zamieścid  wydruki  procedur  realizujących  opisywane  metody 

minimalizacji funkcji wielu zmiennych. 

7.  Porównad wyniki działania analizowanej metody z wynikami działania metody analizowanej 

na  dwiczeniu:  „MINIMALIZACJA  FUNKCJI  WIELU  ZMIENNYCH  -  METODA  PROSTYCH 
KIERUNKÓW  POPRAWY
”  (odpowiednio  met.  Powella  z  met.  Gaussa-Seidla  oraz  met. 
gradientu sprzężonego z met. najszybszego spadku). 

 
Literatura: 
 

J. Figwer, J. Mościoski, Z. Ogonowski: Laboratorium metod optymalizacji statycznej, skrypt 
uczelniany nr 2114, Wydawnictwo Politechniki Śląskiej, Gliwice 1998 

                                                 

1

 O wyborze metody decyduje prowadzący zajęcia