Page 269 - 6197
P. 269
Для розв’язування задачі використаємо програму із
T
прикладу 4.6, у якій x 0 2 2, , а файл-функція вміщує
R
цільову функцію x та її градієнт
%=========================================
%Нелінійне програмування
%=========================================
%Вхід
%f-М-файл цільової функції
%x0-стартова точка
%lb-умова невідємності x>0
%Вихід
%x-вектор оптимальних змінних xj
%fval-оптимальне значення цільової функції
%-----------------------------------------
x0=[1;1];
lb=[1;1]*1e-9;
options = optimset('GradObj','on');
[x,fval]=fmincon(@g_program,x0,[],[],[],[],l
b,[],...
[],options);
function [f,Dc]=g_program(x)
%==============================================
%Цільова функція f та її градієнт Dc
%==============================================
f=5*x(1)/x(2)+2*x(2)/x(1)+5*x(1)+1/x(2);
Dc(1)=5/x(2)-2*x(2)/(x(1)^2)+5;
Dc(2)=-5*x(1)/(x(2)^2)+2/x(1)-1/x(2)^2;
Реалізація програми дала такий результат:
>> x
269