MATLAB:特定约束条件下的最优化问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 17:00:34
2x1+3x2<=69
3x1+4x2<=48
x1>=4
x2>=2
目标函数:25x1+30x2
我写出的是:
A=[20 30;3 4];
b=[690;48];
x0=[20 20];
lb=[4 2];
ub=[];
fun=@(x)-(25*x(1)+30*x(2));
[x,fval,exitflag,output]=fmincon(fun,x0,A,b,[],[],Ib,ub); Smax=-fval
可是结果不是很好,如下:
Warning: Trust-region-reflective method does not currently solve this type of problem,
using active-set (line search) instead.
> In fmincon at 422
Optimization terminated: first-order optimality measure less
than options.TolFun and maximum constraint violation is less
than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
2 2

Smax =

393.3333
哪位大侠帮我看看?小弟刚学这个,不是很懂啊~多谢!
在线等,急~
算出来的结果是正确的……

写了一下,是下面的结果,应该是对的,呵呵!

>> f=[25;30];
A=[2 3;3 4];
b=[69;48];
lb=[4;2];
[x,fval,exitflag,output]=linprog(f,[],[],A,b)
Optimization terminated.

x =

-132.0000
111.0000

fval =

30.0000

exitflag =

1

output =

iterations: 4
algorithm: 'large-scale: interior point'
cgiterations: 0
message: 'Optimization terminated.'
constrviolation: 6.7928e-011

线性规划问题用linprog求解