数学模型结业课程设计求解钢管订购和运输问题(4)

2019-05-17 16:44

数学模型课程结业论文

ti?0或1(i=1,..,7)

3.2题三的求解

S1 800 S2 800 S3 1000 S4 0 S5 1303 S6 2000 S7 0 费用 1406330 得到最优最小费用为W?1406330万元。

4.优缺点改进

由于总费用由订购费用和运输费用部分组成,运输费又由一般线路上的运输费和铺设管道上的运输费组成. 利用求网络中最短路径的弗洛伊德方法得到新的算法,可对含多种权重计算方式的网络进行搜索,得出最小费用路径(最短路径),算出两点之间的最优路径,进而根据非线性规划,借助于Lingo软件求解即可求出相应的结果.

1.优点

1)本问题中运用了求网络中最短路径的弗洛伊德思想,改进和修改得到新的算法,可对含多种权重计算方式的网络进行搜索,算出两点之间的最优路径,计算结果准确,从而得出相应的购运单价的矩阵.

2)本问题构造出的模型算法较简单,也可以运用相应的其他编程软件来得到比较满意的结果.

3)本模型计算步骤清晰,借助于Lingo软件求解,可靠性较高. 2.缺点

1)由于题意中不考虑铁路公路间转运的中转费用,也不限制转运次数,因此在算法设计中存在着考虑不周全的缺限,如我们考虑是先通过铁路再通过公路到铺设点,但这不一定是最小费用路径,有可能先通过公路,然后经铁路再经公路运到铺设点,费用更少,这里没有理论证明.

2) 问题二要求根据问题一的分析,指出哪家钢厂销价的变化对购运计划和总费用影响最大,哪家钢厂钢管产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果. 这个问题属于规划问题的灵敏度分析,在此模型中,只是通过说明销价增加一万元,减少一万元来说明,并没有给出一般的理论说明。

3.模型改进

这个数学模型可以应用于西部开发中“西气东送”问题,当然,西部开发中“西气东送”问题远比我们的假设还要复杂的多,但无论如何,他们的本质一样,我们可将本问题运用于时间的变化等范围的推广。文还可以把问题1归结为网络最小费用流问题,建立了线性和非线性最小费用流模型,并运用相应的解法和分支定界法求解,简洁,层次分明。

9

数学模型课程结业论文

5.参考文献

1.《数学模型》 单峰 朱丽梅 田贺民 国防工业出版社 2.《运筹学教程》 胡运权 清华大学出版社

3.《MATLAB程序设计与应用》 刘卫国 中国水利水电出版社

6.附录

附录一:

Floyd算法函数在matlab下的M函数文件如下: function [D,path]=floyd(a) n=size(a,1);

D=a;path=zeros(n,n); for i=1:n

for j=1:n

if D(i,j)~=inf path(i,j)=j; end end end

for k=1:n

for i=1:n

for j=1:n

if D(i,k)+D(k,j)

附录二:

ab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 20 22 23];

bb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24]; w=[20 202 1200 690 690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];

ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];

bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32]; w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20 104 31 110 20]; a=sparse(ab,bb,w); a(24,24)=0; a=a+a'; a=full(a);

10

数学模型课程结业论文

for i=1:24

for j=1:24

if(a(i,j)==0&i~=j) a(i,j)=inf; end end end

[D,path]=floyd(a);

a1=sparse(ab1,bb1,w1); a1(35,35)=0; a1=a1+(a1)'; a1=full(a1); for i=1:35

for j=1:35

if(a1(i,j)==0&i~=j) a1(i,j)=inf; end end end

[D1,path1]=floyd(a1);

%距离转换为费用的程序

D1=D1*0.1; %把公路最短距离换算成公路最少费用 for k=1:300 m1(k)={k}; end

for k=1:50

m2(k)={300+k}; m3(k)={350+k}; m4(k)={400+k}; m5(k)={450+k}; end

for k=1:100

m6(k)={500+k}; m7(k)={600+k}; m8(k)={700+k}; m9(k)={800+k}; m0(k)={900+k}; end

for i=1:24

for j=1:24 %把铁路最短距离换算成铁路最少费用 switch D(i,j)

11

数学模型课程结业论文

case 0

D(i,j)=0; case m1

D(i,j)=20; case m2

D(i,j)=23; case m3

D(i,j)=26; case m4

D(i,j)=29; case m5

D(i,j)=32; case m6

D(i,j)=37; case m7

D(i,j)=44; case m8

D(i,j)=50; case m9

D(i,j)=55; case m0

D(i,j)=60; otherwise

D(i,j)=ceil((D(i,j)-1000)/100)*5+60; end end end

%c矩阵表示七个钢管生产厂到十五个铺设节点之间的距离,先把它们都设成20000(任意一个钢管厂到任意一个铺设节点之间的距离不会超过20000),然后用 for 循环求出最小值

c=20000*ones(7,15);

for i=1:7 %7个钢管生产厂 for k=18:32 个铺设节点 for j=8:24 %7个钢管生产厂和17个中转点,i=1,表示第一个钢管生产厂,j=8,表示第一个中转点

if c(i,k-17)>D(i,j)+D1(j-7,k) c(i,k-17)=D(i,j)+D1(j-7,k); %对于所有中转点,在铁路网和公路网上的下标相差8 end end end

12

数学模型课程结业论文

end

for i=1:7 for k=18:32

if c(i,k-17)>D(i,1)+D1(33,k) c(i,k-17)=D(i,1)+D1(33,k); 3代表第一个钢管生产厂S1点 end

if c(i,k-17)>D(i,6)+D1(34,k) c(i,k-17)=D(i,6)+D1(34,k); 4代表第六个钢管生产厂S6点 end

if c(i,k-17)>D(i,7)+D1(35,k) c(i,k-17)=D(i,7)+D1(35,k); 5代表第七个钢管生产厂S7点 end end

%因为S1,S6,S7这三个钢管厂有公路直接连接到铺设节点,所以把这三个点单独处理 end

13


数学模型结业课程设计求解钢管订购和运输问题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电气自动化实验

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: