Rozwiązywanie zadań optymalizacji 97
Ograniczenie g, jest aktywne w punkcie p, jeżeli
gi(p) = 0. (9.8)
W tabeli 9.1 wymieniono funkcje optymalizacyjne, które są najczęściej wykorzystywane w programach.
Tabela 9.1. Funkcje optymalizacyjne w Matlabie
Zadanie programowania |
Zapis matematyczny |
Funkcja w Matlabie v.4.2 |
Funkcja w Matlabie v.6.5 |
Nieliniowe jednej zmiennej |
min/(.v) |
liliin |
Iminbnd |
Nieliniowe wielu zmiennych bez ograniczeń |
min /(.r) |
fminu fmins |
fminunc fminsearch |
Nieliniowe wielu zmiennych z ograniczeniami |
min / (.v) przy f> (x) < 0 |
conslr |
fmincon |
Minimaksowe |
min /(.v) przy ,i> (,v)< 0 |
minimax |
tinininiax |
Najmniejszych kwadratów |
min Z L/;(.v)l: |
leastsq |
leastsq |
Liniowe |
min f7 ,v przy Ar < b |
IP |
linprog |
Kwadratowe |
min/(.v) przy Ar < b |
qp |
cjiiadprog |
Układ równań nieliniowych |
/(.v)= 0 |
t'solve |
IsoIyc |
Wszystkie dopuszczalne sposoby korzystania z funkcji optymalizacyjnych można znaleźć w pomocy help. Pakiet optymalizacyjny został tak zaprojektowany, aby sposób komunikacji ze wszystkimi funkcjami był podobny.
Istnieje zasada, że parametry funkcji, którym zostanie przypisany wektor pusty, przyjmują wartości domyślne, co pozwala uniknąć podawania w sposób jawny wartości wszystkich parametrów.
Lista argumentów większości z funkcji może być uzupełniona o dodatkowe parametry p|, p2, .... plv Jeżeli zostaną podane, to zostaną dołączone do listy parametrów funkcji celu, ograniczeń i gradientów, np.
[f,g]=fun(x,pl,p2,...)
Pozwala to przeprowadzać optymalizację funkcji z różnymi parametrami (np. określającymi współczynniki wielomianów) bez konieczności użycia zmiennych globalnych czy tworzenia kilku różnych plików.