麻烦请Matlab软件的高手解答一下 ,下面这个线性规划模型怎么用Matlab编程求解?
发布网友
发布时间:2022-06-29 13:03
我来回答
共1个回答
热心网友
时间:2023-10-12 06:53
这种题一般只要写出它的目标函数,以及约束条件就可以通过MATLAB求解。
设购买甲x(1)Kg, 购买乙x(2)Kg
这里的目标函数很明显是:费用最低
min 5*x(1)+4*x(2)
约束条件:
(1)A元素大于等于12: 2*x(1)+4*x(2)>=12
(2)B元素大于等于36: 2*x(1)+x(2)>=36
(3)C元素等于24: 2*x(1)+9*x(2)=24
(4)物理意义: x(1)>=0,x(2)>=0
不过我没有读懂你的B与C两个条件,我觉得这两个有点矛盾,最好你再核实一下。
以下Matlab程序:
f=[5;4]; %这个是你的目标函数是系数
A=[-1,-4;-2,-1]; %这里是约束的左边系数,注意这里是A*x<=b,所以你的条件中要化为小于等于,所以这里只选了第1和第2个条件
b=[-12;-36]; %约束的右边系数
Aeq=[2,9]; %这个是等式约束,上式中的条件3
beq=[24];
xmin=[0;0]; %变量的最小值,就是上面的条件(4)
xmax=[inf;inf] %变量的最大值,此例中无,设为无穷大
x0=xmin; %计算的初值
[x,fmin]=linprog(f,A,b,Aeq,beq,xmin,xmax,x0);
x,fmin
追问我看不懂你写的这些,我上面列的是根据公式得来的,我就是把数套进去了,我用lingo做了一遍了,得出的结果不对,所以我想用matlab再试试,我也不知道问题出在哪里。