用matlab解线性规划问题

2024-10-28 08:23:10
推荐回答(2个)
回答1:

设A,B,C三种汽车分别买x,y,z(正整数)辆,则:
汽车总数辆:x+y+z<=30,
总价格: x*1+y*2+z*2.3<=60,
司机人数: 1*x+2*y+2*z<=145
每天的吨-公里 3*(2100*x+3600*y+3780*z)
用matlab优化求解:
F=@(x)-3*(2100*x(1)+3600*x(2)+3780*x(3))
X0=[2;3;4];
A=[1 1 1;1 2 2.3;1 2 2];b=[30 60 145];lb=zeros(3,1);
[X,fval]=fmincon(F,X0,A,b,[],[],lb,[])
运行结果:
X =
0
30.0000
0.0000
fval = -3.2400e+05
则当全部资金60万元购买30辆B汽车,可实现每天最大吨-公里3.2400e+05=324000的目标。

回答2:

min z=cX
s.t. AX用命令格式:
X = linprog(c,A,b)
%注意要用英文字符
manual linprog() 命令可以查看LP工具箱的相关组件