104 Rozdział 9
dg i |
dg2 |
dg„, |
at, |
a*! |
<)x, |
dg2 |
dg,„ | |
a*.. |
()x2 |
dx2 |
dg i |
dg 2 |
dg,„ |
dx„ |
dx„ |
d*„ |
Plik definiujący gradient funkcji celu oraz gradient ograniczeń funkcyjnych może : mieć w tym przypadku następującą postać:
function [df,dg]=optgrad(x)
%gradient funkcji celu df i ograniczeń dg %funkcja celu f
%f= x(l)~2 + x(2)~3 + x(3)~ 4 ; j
%g (1) = -46 + x(l)'"2 + x (2 ) ~2 + x(3)~2; j
%g(2)= -10 + x(1)+x(2)+x(3); j
%g(3)= 1.5 + x(1)*x(2)-x(3); J
%g(5)= -35 + 2 *x(1) + 3*x(2) + 4*x(3);
df =[2 *x(1) ;
% gradient ograniczeń funkcyjnych !
dg=[2 *x(1) |
1 |
x(2) |
-x(2) |
2 ; |
2 *x (2 ) |
1 |
x (1) |
—x (1) |
3; |
2 *x ( 3 ) |
1 |
-1 |
0 |
4] |
return
Plik sterujący obliczeniami optymalizacyjnymi powinien definiować ograniczenia nierównościowe nakładane na zmienne optymalizowane. Wskazane jest również, aby otrzymane wyniki z optymalizacji były jasno opisane, ze wskazaniem, czy uzyskano minimum funkcji Lagrange’a, które ograniczenia zostały naruszone oraz jakie są wartości współczynników Lagrange’a. Wskazane jest, aby wyniki optymalizacji zostały zapisane w pliku tekstowym na dysku.
W przykładowym zadaniu optymalizacyjnym funkcja sterująca obliczeniami może mieć następującą postać:
function [x,lambda] = optv4
% przykład wykorzystania funkcji constr do optymalizacji % nieliniowej funkcji celu % z ograniczeniami równościowymi % i ograniczeniami nierownosciowymi