Metody obliczeniowe optymalizacji

Transkrypt

Metody obliczeniowe optymalizacji
Metody obliczeniowe optymalizacji - instrukcja
Optymalizacja nieliniowa.
1) Minimalizacja bez ograniczeń.
Dane są funkcje:
a) funkcja Zangwill’a
f(x*) = f([4,9]) = -18.2
NaleŜy ją zminimalizować ustawiając punkt startowy na x0=[-1.9;2], dla
- TolFun = 10-3 oraz TolFun= 10-6, bez gradientu obliczonego analitycznie
- z gradientem obliczonym analitycznie.
Narysuj warstwice funkcji za pomocą contour(X,Y,Z,n)
b) funkcja Rosenbrocka
f(x*) = f([1,1]) = 0
NaleŜy ją zminimalizować ustawiając punkt startowy na x0=[2;2], dla
- TolFun= 10-6, bez gradientu obliczonego analitycznie
- Z gradientem obliczonym analitycznie.
Narysuj warstwice funkcji za pomocą contour(X,Y,Z,n)
c) funkcja Engvalla
f(x*) = f([0,0,1]) = 0
Zminimalizuj ową funkcję dla x0=[-1.9,1,0], korzystając z funkcji lsqnonlin(‘fun’,x0), gdzie
fun.m ma postać:
function f=fun(x)
f=[f1;f2;f3;f4;f5];
2) Minimalizacja z ograniczeniami
a) Zminimalizować funkcje z punktu 1a) i 1b) dla ograniczeń:
20 x1` + 30 x 2 ≤ 0
5 x1` + 5 x 2 − 3 ≤ 0
1.5 x1 x 2 − x1 ≤ 0
− x1 x 2 − 10 ≤ 0
x1 > 0