2024年6月15日发(作者:)
0-1规划问题
1.问题描述:
0-1规划是整数规划的一种特殊形式。在这种形式下,决策变量只能取0或1两个值,
例如,项目投资、产品的选择、设备的选购、雇员的聘用、投标单位的选取、学生的录取、
股票的选择等,凡是涉及选取或不选取时,都可以用0-1表示,1表示选中,0表示未选
中。
训练内容:
现有一集装箱,拟运输下列物品A1~A5。A1、A2由于体积庞大,集装箱只能装其中
之一;A4、A5由于重量大,也只能装一件;A1是食品,不能与化工产品A4放一起;A2
与A5是配套产品,必须一起运输。A1的运费是1500元,A2的运费是2000元,A3的
运费是1300元,A4的运费是2300元,A5的运费是2800元。问集装箱应如何装箱才能
使运费收入达到最大。
训练要求:
建立数学模型
编程求解
编制实训报告
2.算法描述:
设A1~A5是否装运的控制变量是x1~x5,xi=0表示物品A i不装,xi=1表示物品A
i装箱运输,则目标函数为fv(i)=1500*x1+2000*x2+1300*x3+2300*x4+2800*x5,
约束条件为:
x1+x2<=1 (两者取一)
x4+x5<=1 (两者取一)
x2==x5 (两者同时装或同时不装)
x1~=x4 (两者排斥)
x1,x2,x3,x4,x5为0 ,1元素
3.程序源代码:
function f=ly()
i=1;
for x1=0:1
for x2=0:1
for x3=0:1
for x4=0:1
for x5=0:1
if x1+x2<=1 & x4+x5<=1 & x2==x5 & x1~=x4
fv(i)=1500*x1+2000*x2+1300*x3+2300*x4+2800*x5
ff(i,:)=[x1,x2,x3,x4,x5];
i=i+1;
end
end
end
end
end
end
[maxval,k]=max(fv);
ff(k,:)
maxval
4.程序结果说明:
结果是x =0 0 1 1 0
也就是说运送A3,A4 运费收入最大为3600。
5.小结:
对于这种规划问题,要先搞清楚目标函数,约束条件分别是什么,然后才可以算出在
此约束条件下的最优值。同时要注意这些变量的取值只能是0或1,在程序中也要给予约
束。


发布评论