101

101



Rozwiązywanie zadań optymalizacji 101

nej metryki BFGS. Obie te funkcje współpracują z algorytmem minimalizacji kierunkowej, opartym na interpolacji wielomianowej drugiego lub trzeciego stopnia. Możliwe są tu następujące opcje korzystania z tych funkcji:

x = fminu('fun',x0)

x = fminu('funx0,options)

x = fminu('fun',x0,options,'grad')

x = fminu('fun',x0,options,'grad',pl,p2,...)

[options,x] = fminu('funx0)

Plik funkcyjny o nazwie fun.m powinien zawierać opis problemu optymalizacyjnego /(x) i zwracać wartość funkcji w aktualnym punkcie x.

Plik gradientu o nazwie grad.m powinien zawierać poszczególne składowe wektora gradientu df = grad(x) zwracane przez funkcję jako zmienna wyjściowa df.

Wektor x0 określa warunki startowe.

Parametry p 1, p2, ... mogą służyć do modyfikacji funkcji, przy czym w takim przypadku zarówno funkcja celu, jak i gradient powinny zawierać te parametry w linii wywołania

f = fun(x,pl,p2,.,.)

oraz

df = grad(x,pl,p2,...)

Wektor options może pojawiać się zarówno wśród parametrów wejściowych, jak i wyjściowych.

Optymalizacja nieliniowa z ograniczeniami

Zadanie optymalizacji nieliniowej z ograniczeniami jest sformułowane następująco

(9.9)


min /(x),

przy ograniczeniach


g(x)<0,


(9.10)


(9.11)


vlb < x < vub.

Zadanie to może być rozwiązane za pomocą funkcji constr x = constr(‘fun’,xO,options,vlb,vub,’grad’,pl,p2,...)

lub

[x,options] = constr(‘fun’,xO,...)

Linia definiująca plik fun.m powinna mieć postać function [f,g] = fun(x)


Wyszukiwarka

Podobne podstrony:
skanuj0007 (197) E. Michlowicz: Badania operacyjne i eksploatacyjne - PodstawyMetody rozwiązywania z
969. Rozwiązywanie zadań optymalizacji W Matlabie wyróżniono cztery podstawowe grupy zadań

969. Rozwiązywanie zadań optymalizacji W Matlabie wyróżniono cztery podstawowe grupy zadań
Rozwiązywanie zadań optymalizacji 97 Ograniczenie g, jest aktywne w punkcie p, jeżeli gi(p) = 0.
Rozwiązywanie zadań optymalizacji 103 oraz ograniczeniach nakładanych na zmienne
Rozwiązywanie zadań optymalizacji 105 £d=f open ( optv4out. m , wt ); fprintf(fd,

Rozwiązywanie zadań optymalizacji 107 if lambda(8) fprintf(fd,

Rozwiązywanie zadań optymalizacji 109 -    równościowe liniowe xl+x2+x3-10 = 0 ,
Rozwiązywanie zadań optymalizacji 111 8.
Rozwiązywanie zadań optymalizacji 113 fgrad=[2 *x(1) ; 3*x(2)~2; 4 *x(3)^3]; return function
Rozwiązywanie zadań optymalizacji 115 fprintf(fd,

Rozwiązywanie zadań optymalizacji 117 Rozwiązywanie zadań optymalizacji 117 0.000000
969. Rozwiązywanie zadań optymalizacji W Matlabie wyróżniono cztery podstawowe grupy zadań



więcej podobnych podstron