用matlab求解一个规划问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 12:21:28
目标函数:max z=400a+1000b+300c-200d
s.t. 2b+c+d=0
2a+3b<=16
3a+4b<=24
c<=5
a,b,c,d>=0
哪位朋友帮忙用matlab写一下,我今天晚上试了好长时间,答案就是不对,先谢谢了.
数学建模问题

哈哈,终于找到答案了!是印刷错误:%s.t. 2b+c+d=10

function mmax
%max z=400a+1000b+300c-200d
%s.t. 2b+c+d=0
%2a+3b<=16
%3a+4b<=24
%c<=5
%a,b,c,d>=0
x0=[1 1 1 1];
A=[2 3 0 0;3 4 0 0;0 0 1 0;-1 0 0 0;0 -1 0 0;0 0 -1 0;0 0 0 -1];
B=[16;24;5;0;0;0;0];
Aeq=[0 2 1 1];
Beq=10;
[X,FVAL,EXITFLAG]=fmincon(@fun,x0,A,B,Aeq,Beq) ;
abcd=X
fmax=-FVAL
function f=fun(x)
f=-(400*x(1)+1000*x(2)+300*x(3)-200*x(4));

结果:
abcd = 4.2500 2.5000 5.0000 0.0000
fmax = 5700