目标函数
max g(x)=x1*x2*x3*x4-0.113x1*x2*x5-1.5
min f(x)=[8.5x1^(-2/3)*(x2*x3*x4)^(1/3)]^(1/2)-1
约束条件
398*x1*x2*x5-45000<=0
0.75x5+((x2)^2/x3)*(0.545-0.1472*x4)/x4-0.51x3+0.2<=0
x3-x5+0.005x1+0.06(x5-x1/15)-0.25<=0
x1/x5 - 30 ≤ 0
x2/ x5 - 4.5 ≤ 0
3.5 ≤x1 / x2 ≤4.8
0 ≤x3 ≤ 1.2
0 . 75 ≤x4 ≤ 0 . 86
x5≥ 0
用matlab的 Optimization Toolbox
我写了
A=[0.001 0 1 0 -0.94];
b=[0.25];
vlb=[15;3.125;0;0.75;0];
vub=[22;22/3.5;1.2;0.86;[]];
x0=[0;0;0;0;0];
[x,fval,exitflag,output,lambda,grad,hessian]=fmincon('funyy',x0,A,b,[],[],vlb,vub,'nonlin')
function y=nonlin(x)
y=398*x(1)*x(2)*x(5)=45000
这里是非线性约束,我只写了一个,但是多于1个以后的应该怎么表示?
function y=funyy(x