运输规划模型.docx
《运输规划模型.docx》由会员分享,可在线阅读,更多相关《运输规划模型.docx(15页珍藏版)》请在冰豆网上搜索。
运输规划模型
运输规划模型
问题
一工厂有6个建筑工地,它们的位置分别为(a,b)(单位:
千米)(见下表),每个建筑工地材料的日用量为d(单位:
吨)(具体见下表)。
有两个临时料场A(5,1),B(2,7),它们的日储量为20吨。
假设从料场到各工地均有直线道路。
问:
(1)应如何制定供应计划使运输的总吨千米数最少?
(2)若重建2个新料场,日储量为20吨,要使运输的总吨千米数最少,应如何设置地址?
(3)运输时若只能走东西南北向,则应如何制定运输方案使运输的总吨千米数最少,且道路长度也最短?
工作点
材料点
1
2
3
4
5
6
a
1.25
8.75
0.5
5.75
3
7.25
b
1.25
0.75
4.75
5
6.5
7.25
d
3
5
4
7
6
11
问题分析
问题1:
该优化问题的目标是使每天的运输吨千米数最少,要做的决策是6个工地分别从A,B两处供料点取多少吨数,设第i个工地从A处运输的原料为xi吨,从B处运输的原料为yi吨,决策受到A,B两地日储量和每个工地的需求量的限制。
按照题目所给,将决策变量、目标函数和约束条件用数学符号及式子表示出来,就可得到下面的模型。
问题2:
该问题比问题1多了四个决策变量,及料场位置C(z1,z2),D(z3,z4),其他条件同上
问题3:
该问题比1,2多了一个目标函数,但由于程序运行时只能决策一个函数,故先按与问题2类似的方法决策出两料场点,再通过作图法决策运输道路。
问题一基本模型
决策变量:
设每天从A工地运到1,2,3,4,5,6工作点的吨数分别为xi(i=1,2,…,6),从B工地运到1,2,3,4,5,6工作点的吨数分别为yj(j=1,2,...,6)。
目标函数:
设每天运输的总吨千米数为Z,令
A=[1.25,8.75,0.5,5.75,3,7.25];
B=[1.25,0.75,4.75,5,6.5,7.25];
X=[x1,x2,x3,x4,x5,x6];
Y=[y1,y2,y3,y4,y5,y6];
则z=X.*sqrt((A-5).^2+(B-1).^2)+Y.*sqrt((A-2).^2+(B-7).^2);即为每个料场运到各工作点的材料吨数与各工作点到每个料场的距离的乘积。
我们要求Z最小时的X和Y。
约束条件:
原料需求:
从A与B运到各工作点的原料之和应不小于各工作点的原料需求量,即
x1+y1>=3;
x2+y2>=5;
x3+y3>=4;
x4+y4>=7;
x5+y5>=6;
x6+y6>=11;
原料供应:
A,B对各工作点的原料供应量之和应不大于料场的囤积量,即
x1+x2+x3+x4+x5+x6<=20;
y1+y2+y3+y4+y5+y6<=20;
非负约束:
xi>=0,yj>=0(i,j=1,2,…,6)
综上可得:
minz=3.7583*x1+3.7583*x2+5.8577*x3+4.0697*x4+5.8523*x5+6.6427*x6+5.7987*y1+9.1992*y2+2.7042*y3+4.2500*y4+1.1180*y5+5.2559*y6;
x1+y1>=3;
x2+y2>=5;
x3+y3>=4;
x4+y4>=7;
x5+y5>=6;
x6+y6>=11;
x1+x2+x3+x4+x5+x6<=20;
Y1+y2+y3+y4+y5+y6<=20;
模型求解:
用lingo软件求解,输入文件
model:
min=3.7583*x1+3.7583*x2+5.8577*x3+4.0697*x4+5.8523*x5+6.6427*x6+5.7987*y1+9.1992*y2+2.7042*y3+4.2500*y4+1.1180*y5+5.2559*y6;
x1+y1>=3;
x2+y2>=5;
x3+y3>=4;
x4+y4>=7;
x5+y5>=6;
x6+y6>=11;
x1+x2+x3+x4+x5+x6<=20;
Y1+y2+y3+y4+y5+y6<=20;
end
可得如下输出:
Globaloptimalsolutionfound.
Objectivevalue:
135.2808
Totalsolveriterations:
7
VariableValueReducedCost
X13.0000000.000000
X25.0000000.000000
X30.0000001.766700
X47.0000000.000000
X50.0000003.347500
X61.0000000.000000
Y10.0000003.427200
Y20.0000006.827700
Y34.0000000.000000
Y40.0000001.567100
Y56.0000000.000000
Y610.000000.000000
RowSlackorSurplusDualPrice
1135.2808-1.000000
20.000000-3.758300
30.000000-3.758300
40.000000-4.091000
50.000000-4.069700
60.000000-2.504800
70.000000-6.642700
84.0000000.000000
90.0000001.386800
最优解为x1=3,x2=5,x3=0,x4=7,x5=0,x6=1,y1=0,y2=0,y3=4,y4=0,y5=6,y6=10,最优值为z=135.2808。
即从A运到1,2,3,…,6工作点的吨数分别为3,5,0,7,0,1,吨,从B运到1,2,3,…,6工作点的吨数分别为0,0,4,0,6,10吨,运输的最小吨千米数为135.2808吨。
问题二基本模型
决策变量:
设每天从A工地运到1,2,3,4,5,6工作点的吨数分别为xi(i=1,2,…,6),从B工地运到1,2,3,4,5,6工作点的吨数分别为yj(j=1,2,...,6)。
A工作点的坐标为(z1,z2),B工作点的坐标为(z3,z4)
目标函数:
设每天运输的总吨千米数为Z,令
A=[1.25,8.75,0.5,5.75,3,7.25];
B=[1.25,0.75,4.75,5,6.5,7.25];
X=[x1,x2,x3,x4,x5,x6];
Y=[y1,y2,y3,y4,y5,y6];
则z=X.*sqrt((A-z1).^2+(B-z2).^2)+Y.*sqrt((A-z3).^2+(B-z4).^2);即为每个料场运到各工作点的材料吨数与各工作点到每个料场的距离的乘积。
我们要求Z最小时的X和Y。
约束条件:
原料需求:
从A与B运到各工作点的原料之和应不小于各工作点的原料需求量,即
x1+y1>=3;
x2+y2>=5;
x3+y3>=4;
x4+y4>=7;
x5+y5>=6;
x6+y6>=11;
原料供应:
A,B对各工作点的原料供应量之和应不大于料场的囤积量,即
x1+x2+x3+x4+x5+x6<=20;
y1+y2+y3+y4+y5+y6<=20;
非负约束:
xi>=0,yj>=0(i,j=1,2,…,6),z1,z2,z3,z4>=0
综上可得:
min=x1*((1.25-z1)^2+(1.25-z2)^2)^0.5+x2*((8.75-z1)^2+(0.75-z2)^2)^0.5+x3*((0.5-z1)^2+(4.75-z2)^2)^0.5+x4*((5.75-z1)^2+(5-z2)^2)^0.5+x5*((3-z1)^2+(6.5-z2)^2)^0.5+x6*((7.25-z1)^2+(7.25-z2)^2)^0.5+y1*((1.25-z3)^2+(1.25-z4)^2)^0.5+y2*((8.75-z3)^2+(0.75-z4)^2)^0.5+y3*((0.5-z3)^2+(4.75-z4)^2)^0.5+y4*((5.75-z3)^2+(5-z4)^2)^0.5+y5*((3-z3)^2+(6.5-z4)^2)^0.5+y6*((7.25-z3)^2+(7.25-z4)^2)^0.5;
x1+y1>=3;
x2+y2>=5;
x3+y3>=4;
x4+y4>=7;
x5+y5>=6;
x6+y6>=11;
x1+x2+x3+x4+x5+x6<=20;
y1+y2+y3+y4+y5+y6<=20;
模型求解:
用lingo软件求解,输入文件
model:
min=x1*((1.25-z1)^2+(1.25-z2)^2)^0.5+x2*((8.75-z1)^2+(0.75-z2)^2)^0.5+x3*((0.5-z1)^2+(4.75-z2)^2)^0.5+x4*((5.75-z1)^2+(5-z2)^2)^0.5+x5*((3-z1)^2+(6.5-z2)^2)^0.5+x6*((7.25-z1)^2+(7.25-z2)^2)^0.5+y1*((1.25-z3)^2+(1.25-z4)^2)^0.5+y2*((8.75-z3)^2+(0.75-z4)^2)^0.5+y3*((0.5-z3)^2+(4.75-z4)^2)^0.5+y4*((5.75-z3)^2+(5-z4)^2)^0.5+y5*((3-z3)^2+(6.5-z4)^2)^0.5+y6*((7.25-z3)^2+(7.25-z4)^2)^0.5;
x1+y1>=3;
x2+y2>=5;
x3+y3>=4;
x4+y4>=7;
x5+y5>=6;
x6+y6>=11;
x1+x2+x3+x4+x5+x6<=20;
y1+y2+y3+y4+y5+y6<=20;
end
可得如下输出:
Localoptimalsolutionfound.
Objectivevalue:
89.31176
Totalsolveriterations:
62
VariableValueReducedCost
X13.0000000.000000
Z15.6959660.000000
Z24.9285580.000000
X25.0000000.000000
X34.0000000.000000
X47.0000000.000000
X51.0000000.000000
X60.0000003.988731
Y10.0000001.519658
Z37.2500000.2226804E-07
Z47.250000-0.2858050E-07
Y20.0000000.3000239
Y30.0000000.8039103
Y40.0000001.419443
Y55.0000000.000000
Y611.000000.000000
RowSlackorSurplusDualPrice
189.31176-1.000000
20.000000-6.965624
30.000000-6.370808
40.000000-6.394180
50.000000-1.284721
60.000000-4.315669
70.0000000.000000
80.0000001.195146
94.0000000.000000
最优解为x1=3,x2=5,x3=4,x4=7,x5=1,x6=0,y1=0,y2=0,y3=0,y4=0,y5=5,y6=11,z1=5.695966,z2=4.928558,z3=7.250000,z4=7.250000,最优值为z=89.31176。
即从A运到1,2,3,…,6工作点的吨数分别为3,5,4,7,1,0吨,从B运到1,2,…,6工作点的吨数分别为0,0,0,0,5,11吨,运输的最小吨千米数为135.2808吨。
工作点A应设在(5.695966,4.928558),B应设在(7.25,7.25)。
问题三基本模型
决策变量:
设每天从A工地运到1,2,3,4,5,6工作点的吨数分别为xi(i=1,2,…,6),从B工地运到1,2,3,4,5,6工作点的吨数分别为yj(j=1,2,...,6)。
A工作点的坐标为(z1,z2),B工作点的坐标为(z3,z4)
目标函数:
设每天运输的总吨千米数为Z,令
A=[1.25,8.75,0.5,5.75,3,7.25];
B=[1.25,0.75,4.75,5,6.5,7.25];
X=[x1,x2,x3,x4,x5,x6];
Y=[y1,y2,y3,y4,y5,y6];
则z=X.*(abs(A-z1)+(B-z2).^2)+Y.*sqrt((A-z3).^2+(B-z4).^2);即为每个料场运到各工作点的材料吨数与各工作点到每个料场的距离的乘积。
我们要求Z最小时的X和Y。
约束条件:
原料需求:
从A与B运到各工作点的原料之和应不小于各工作点的原料需求量,即
x1+y1>=3;
x2+y2>=5;
x3+y3>=4;
x4+y4>=7;
x5+y5>=6;
x6+y6>=11;
原料供应:
A,B对各工作点的原料供应量之和应不大于料场的囤积量,即
x1+x2+x3+x4+x5+x6<=20;
y1+y2+y3+y4+y5+y6<=20;
非负约束:
xi>=0,yj>=0(i,j=1,2,…,6)
综上可得:
min=x1*((1.25-z1)+(1.25-z2))+x2*((8.75-z1)+(0.75-z2))+x3*((0.5-z1)+(4.75-z2))+x4*((5.75-z1)+(5-z2))+x5*((3-z1)+(6.5-z2))+x6*((7.25-z1)+(7.25-z2))+y1*((1.25-z3)+(1.25-z4))+y2*((8.75-z3)+(0.75-z4))+y3*((0.5-z3)+(4.75-z4))+y4*((5.75-z3)+(5-z4))+y5*((3-z3)+(6.5-z4))+y6*((7.25-z3)+(7.25-z4));
z1=5;
z2=1;
z3=2;
z4=7;
x1+y1>=3;
x2+y2>=5;
x3+y3>=4;
x4+y4>=7;
x5+y5>=6;
x6+y6>=11;
x1+x2+x3+x4+x5+x6<=20;
y1+y2+y3+y4+y5+y6<=20;
模型求解:
用Lingo软件求解,输入文件
model:
min=x1*(@abs(1.25-z1)+@abs(1.25-z2))+x2*(@abs(8.75-z1)+@abs(0.75-z2))+x3*(@abs(0.5-z1)+@abs(4.75-z2))+x4*(@abs(5.75-z1)+@abs(5-z2))+x5*(@abs(3-z1)+@abs(6.5-z2))+x6*(@abs(7.25-z1)+@abs(7.25-z2))+y1*(@abs(1.25-z3)+@abs(1.25-z4))+y2*(@abs(8.75-z3)+@abs(0.75-z4))+y3*(@abs(0.5-z3)+@abs(4.75-z4))+y4*(@abs(5.75-z3)+@abs(5-z4))+y5*(@abs(3-z3)+@abs(6.5-z4))+y6*(@abs(7.25-z3)+@abs(7.25-z4));
z1=5;
z2=1;
z3=2;
z4=7;
x1+y1>=3;
x2+y2>=5;
x3+y3>=4;
x4+y4>=7;
x5+y5>=6;
x6+y6>=11;
x1+x2+x3+x4+x5+x6<=20;
y1+y2+y3+y4+y5+y6<=20;
end
可的输出如下:
Globaloptimalsolutionfound.
Objectivevalue:
152.7500
Totalsolveriterations:
7
VariableValueReducedCost
X13.0000000.000000
Z15.0000000.000000
Z21.0000000.000000
X25.0000000.000000
X30.0000001.500000
X47.0000000.000000
X50.0000003.000000
X61.0000000.000000
Y10.0000005.500000
Z32.0000000.000000
Z47.0000000.000000
Y20.00000012.00000
Y34.0000000.000000
Y40.0000004.000000
Y56.0000000.000000
Y610.000000.000000
RowSlackorSurplusDualPrice
1152.7500-1.000000
20.00000010.00000
30.0000006.000000
40.00000012.00000
50.0000000.000000
60.000000-4.000000
70.000000-4.000000
80.000000-6.750000
90.000000-4.750000
100.000000-4.500000
110.000000-8.500000
124.0000000.000000
130.0000003.000000
最优解为x1=3,x2=5,x3=0,x4=7,x5=0,x6=1,y1=0,y2=0,y3=4,y4=0,y5=6,y6=10,最优值为z=152.7500。
即从A运到1,2,3,…,6工作点的吨数分别为3,5,0,7,0,1,吨,从B运到1,2,3,…,6工作点的吨数分别为0,0,4,0,6,10吨,运输的最小吨千米数为152.7500吨。
下面可作两图,分别为A和1、2、4、6工作点以及B与3、5、6工作点。
综合两图可得最优路线图如下:
模型分析及点评
本模型由于软件限制所得解可能不为最优,但仍与实际较符。
第三问受软件限制只能先求一个约束变量,再考虑路线问题。
而且由于理解不同,所以问题求解上也可能有偏差。
总的效果还令人满意。
参考资料
1)姜启源等数学模型高等教育出版社2009
2)周博等MATLAB科学计算机械工业出版社2010