非线性规划问题
求解下面问题:
MATLAB代码
(1)编写M文件fun1.m定义目标函数:
function f=fun1(x);
f=-2*x(1)-3*x(1)^2-3*x(2)-x(2)^2-x(3)];
(2)编写M文件fun2.m定义非线性约束条件:
function [g,h]=fun2(x);
g=[x(1)+2*x(1)^2+x(2)+2*x(2)^2+x(3)-10
X(1)+x(1)^2+x(2)+x(2)^2-x(3)-50
2*x(1)+x(1)^2+2*x(2)+x(3)-40
-x(1)-2*x(2)+1];%非线性不等式约束
h=[x(1)^2+x(3)-2];%非线性等式约束
(3)编写主程序文件ti3.m如下:
options=optimset('largescale','off');
[x,y]=fmincon('fun1',rand(3,1),[-1 -2 0],[-1],[],[],[0;-inf;-inf],[], ... 'fun2', options)
x =
1.4142
1.2847
0.0000
y =
-14.3331
求得max f(x)=14.33。