数学建模运输问题Word下载.docx

上传人:b****4 文档编号:16436373 上传时间:2022-11-23 格式:DOCX 页数:30 大小:178.96KB
下载 相关 举报
数学建模运输问题Word下载.docx_第1页
第1页 / 共30页
数学建模运输问题Word下载.docx_第2页
第2页 / 共30页
数学建模运输问题Word下载.docx_第3页
第3页 / 共30页
数学建模运输问题Word下载.docx_第4页
第4页 / 共30页
数学建模运输问题Word下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

数学建模运输问题Word下载.docx

《数学建模运输问题Word下载.docx》由会员分享,可在线阅读,更多相关《数学建模运输问题Word下载.docx(30页珍藏版)》请在冰豆网上搜索。

数学建模运输问题Word下载.docx

每辆小货车的容量为50个单位,每个客户所需要的货物量分别为8,13,6,9,7,15,10,5,12,9个单位,请问两辆小货车应该分别给那几个客户配送货物以及行使怎样的路线使它们从提货点出发最后回到提货点所行使的距离之和尽可能短?

4、如果改用更小容量的车,每车容量为25个单位,但用车数量不限,每个客户所需要的货物量同第3问,并假设每出一辆车的出车费为100元,运货的价格为1元/公里(不考虑空车返回的费用),请问如何安排车辆才能使得运输公司运货的总费用最省?

二、问题分析

最后,利用Matlab软件对其进行编程求解。

关于问题二,运输公司分别要对10个客户供货,必须访问每个客户,实际上是寻找一条最短的行车路线。

然后利用问题一的Floyd算法和程序,能求得从客户2到客户1(提货点)的最短路线是:

,路程为50公里。

但考虑到最小生成树法局限于顶点数较少的情形,不宜进一步推广,因此本文又根据路程最短建立以路程最短为目标函数的整数规划模型;

最后,利用LINGO软件对其进行编程求解。

关于问题四,我们首先用Matlab软件编程确定提货点到每个客户点间的最短路线,然后结合一些限定条件建立一个目标模型,设计一个较好的解决方案进行求解可得到一种很理想的运输方案。

三、模型假设

1.假设客户级别平等;

2.假设不考虑装卸车费用;

3.假设货车不发生意外事故;

4.假设运输过程中货物无损失;

四、符号说明

不同的客户

从客户

到客户

的距离;

总路程;

五、模型的建立与求解

5.1问题一模型的建立与求解

5.1.1模型的建立

问题一是要找出从客户2到客户10的最短路径,本文利用Floyd算法对此文进行求解。

为计算方便,令网络的权矩阵为

的距离。

Floyd算法基本步骤为:

(1)输入权矩阵

(2)计算

其中

(3)

中元素

就是

的最短路长。

5.1.2模型的求解

在本文计算中

,对Floyd算法进行编程(程序见附录1),利用Matlab软件进行求解。

运行结果如下:

a=

0405540255530555070

5003045355045556585

5530015553050253555

4045150453050203050

2515454503510304055

5550303035025503555

3025505010250304060

3045252030253001030

2040304035152545020

3520102520403035300

path=

1544577599

1233565333

4234867888

1334568888

12245778810

7234767499

15385678810

9534597899

1101047678910

12335353910

请输入起点2

请输入终点10

2

3

8

9

10

由运行结果可以得出运货员从客户2到客户10的最短路径是:

总路程为85公里。

5.2问题二模型的建立与求解

5.2.1模型的建立

运输公司为这10个客户配送货物问题实际上是寻找一条最短的行车路线。

当不考虑送货员返回提货点的时候,本文利用最小生成树问题中的Kruskal算法结合题中所给的邻接矩阵,很快可以得到无回路的最短路线。

Kruskal算法基本步骤:

每步从未选的边中选取边

,使它与已选边不够成圈,且

是未选边中的最小权边,知道选够

条边为止。

利用最小生成树问题中的Kruskal算法结合题中所给的邻接矩阵,很快可以得到以下最小生成树:

这两棵生成树不同之处就在于从客户6到达客户8的路径不一样,而实际路程经过计算后是一样的,路线的总行程为175公里。

利用问题一的Floyd算法和程序,能求得从客户2到客户1(提货点)的最短路线是

这样该回路,即最短的行车路线为:

行车路线总行程为225公里。

以最小生成树法解决此问题速度快,结果较精确,但是只适合数目较少时,不适宜推广,因此本文又根据路程最短建立整数规划模型。

为了更好的防止子巡回的产生,根据哈米尔顿回路,须附加一个约束条件:

当访问客户i后必须要有一个即将访问的确切客户;

访问客户j前必须要有一个刚刚访问过的确切客户。

依次设立约束条件。

5.2.2模型的求解

利用Lingo求解模型部分结果(附录2):

Globaloptimalsolutionfound.

Objectivevalue:

225.0000

Objectivebound:

Infeasibilities:

0.000000

Extendedsolversteps:

0

Totalsolveriterations:

86

VariableValueReducedCost

X(1,5)1.00000025.00000

X(2,1)1.00000050.00000

X(3,4)1.00000015.00000

X(4,8)1.00000020.00000

X(5,7)1.00000010.00000

X(6,3)1.00000030.00000

X(7,6)1.00000025.00000

X(8,9)1.00000010.00000

X(9,10)1.00000020.00000

X(10,2)1.00000020.00000

由此可得,行程路线最短的回路:

总路程为225公里。

5.3问题三模型的建立与求解

5.3.1模型的建立

用两辆容量为50单位的小货车运货,在每个客户所需固定货物量的情况下,要使得行程之和最短。

这样只要找出两条尽可能短的回路,并保证每条线路客户总需求量在50个单位以。

此问与问题二有相似之处都要考虑回到提货点的情形,因此本文在模型2的基础上进行改进,重新建立相应的整数线性规划模型。

目标函数:

5.3.2模型的求解

利用Lingo求解模型部分结果(附录3):

155.0000

0.2220446E-15

224

X(2,3)1.00000030.00000

X(3,6)1.00000030.00000

X(5,2)1.00000015.00000

X(6,7)1.00000025.00000

X(7,1)1.00000030.00000

135.0000

X(1,4)1.00000040.00000

X(5,1)1.00000025.00000

X(8,9)1.00000010.00000

X(9,10)1.00000020.00000

X(10,5)1.00000020.00000

由此可得,两辆车的行车路线及路程:

,包含的客户有2,3,6,7,运货总量为44,路程为155公里。

第二辆车:

,包含的客户有4,8,9,10,5运货总量为42单位,路程为135公里。

总路程为290公里。

5.3.3模型的优化

对于模型求解出来的结果,本文利用Kruskal算法结合题中所给的邻接矩阵进行优化。

从起始点

处,进行分析,用两辆小的货车配送货物,为了尽可能的减少两辆车的重复路线,

的路程最短,让两辆车分开运货,先根据货物承载量50的限制让其中的一辆车走完路程,再让另一辆车走剩余城市的最短路线,这样走出两条运货路线:

第一种情况:

,包含的客户有5,2,3,4,8,从模型1可解得,从

回到

的最短路线是

,运货总量为40单位,路程为145公里。

,包含的客户有7,6,9,10,运货总量为46,路程为135公里。

这种情况下总路程为280公里。

第二种情况:

,包含的客户有7,6,3,4,8,从模型1可解得,从

,运货总量为45单位,路程为150公里。

,包含的客户5,2,9,10,运货总量为41单位,路程为160。

这种情况下总路程为310公里。

对这两种情况对比,分析,可以看出第一种情况优于第二种情况。

因此选择第一种情况的路线。

5.4问题四模型的建立与求解

题目要求我们运费最省,所以要考虑到需要的车最少,以及每辆车行驶的路程最短,而且还要保证送到每个客户手中。

根据客户总需求量和货车的容量,所以,公司可派4辆货车去送货。

在此,我们假设:

从提货点1到各客户点最短路为

从提货点1到各客户点的最短路程

提货点1到各客户点路径客户所需要货物量的总和

运用matlab程序(见附录4)可得:

从中可以发现:

,所以我们要继续对其进行分析:

首先为了保证送到每个客户手里,所以必须走

,那样就可以删除

然后考虑到货车的路程最短,所以要走

,删除

最后,就只能走1-4-3-8路线。

图1四辆货车路线图

经过计算可得下表:

表1:

4辆车的情况表

每辆车的路线

每辆车的路程

每辆车所载的货物量

1-5-2

40

20

1-4-3-8

80

1-7-6

55

25

1-9-10

70

21

所以,可得到目标函数:

六、模型的评价与推广

6.1模型的评价

6.1.1模型的优点

(1)在整个模型的建立过程中,本文考虑的比较全面客观,使模型具有较强的说服力,结果更合理。

(2)根据问题的特点,综合运用了多个软件,如lingo、matlab等等,使得在解决问题的过程中,更方便简单。

6.1.2模型的缺点

这种寻路方法有其局限性,只适用于一些顶点较少的情况,顶点多,寻找起来较为麻烦。

6.2模型的推广

模型的建立比较客观,在现实中也可以广泛的应用,与现实情况紧密相连;

比如:

最优路径问题与哈密顿回路问题,这些在现实中应用围已经很广了。

七、参考文献

[1]胡运权,运筹学教程第四版,:

清华大学,2012。

[2]朱道元,数学建模案例精选,:

科学,2005。

[3]启源,金星。

叶俊.数学模型:

高等教育出版杜,2004。

I4]吴祈宗.运筹学与最优化方法fM.:

机械工业,2003。

附录

附录1:

clear;

clc;

M=10000;

%不能直接到达是将距离赋值给M

a(1,:

)=[0,50,M,40,25,M,30,M,50,M];

a(2,:

)=[50,0,30,M,35,50,M,60,M,M];

a(3,:

)=[M,30,0,15,M,30,50,25,M,60];

a(4,:

)=[40,M,15,0,45,30,55,20,40,65];

a(5,:

)=[25,15,M,45,0,60,10,30,M,55];

a(6,:

)=[M,50,30,30,60,0,25,55,35,M];

a(7,:

)=[30,M,50,M,10,25,0,30,45,60];

a(8,:

)=[M,60,25,20,30,55,30,0,10,M];

a(9,:

)=[20,M,M,40,M,15,25,45,0,20];

a(10,:

)=[35,20,10,45,20,M,60,M,30,0];

%建立a矩阵

path=zeros(length(a));

%建立一个与矩阵a同大小的全零矩阵

fori=1:

10

forj=1:

path(i,j)=j;

%用path矩阵记录走过的点

end

fork=1:

10

fori=1:

forj=1:

ifa(i,j)>

a(i,k)+a(k,j)

a(i,j)=a(i,k)+a(k,j);

path(i,j)=path(i,k);

%floyd算法

end

end

a,path

i1=input('

请输入起点'

);

i2=input('

请输入终点'

disp(i1);

whilei1~=i2

i1=path(i1,i2);

disp(i1);

end;

附录2:

MODEL:

SETS:

CUSTOMERS/1..10/:

U;

LINK(CUSTOMERS,CUSTOMERS):

DIST,X;

ENDSETS

DATA:

DIST=

05010000040251000003010000050100000

5003010000035501000006010000100000

1000003001510000030502510000060

4010000150453055204065

251510000045060103010000055

1000005030306002555351000000

301000005010000010250304560

100000602520305530010100000

2010000010000040100000152545020

352010452010000060100000300;

ENDDATA

N=SIZE(CUSTOMERS);

MIN=SUM(LINK:

DIST*X);

FOR(CUSTOMERS(K):

SUM(CUSTOMERS(I)|I#NE#K:

X(I,K))=1;

SUM(CUSTOMERS(J)|J#NE#K:

X(K,J))=1;

FOR(CUSTOMERS(J)|J#GT#1#AND#J#NE#K:

U(J)>

=U(K)+X(K,J)-

(N-2)*(1-X(K,J))+

(N-3)*X(J,K)

);

FOR(LINK:

BIN(X));

FOR(CUSTOMERS(K)|K#GT#1:

U(K)<

=N-1-(N-2)*X(1,K);

U(K)>

=1+(N-2)*X(K,1)

END

Globaloptimalsolutionfound.

N10.000000.000000

U

(1)0.0000000.000000

U

(2)9.0000000.000000

U(3)4.0000000.000000

U(4)5.0000000.000000

U(5)1.0000000.000000

U(6)3.0000000.000000

U(7)2.0000000.000000

U(8)6.0000000.000000

U(9)7.0000000.000000

U(10)8.0000000.000000

DIST(1,1)0.0000000.000000

DIST(1,2)50.000000.000000

DIST(1,3)100000.00.000000

DIST(1,4)40.000000.000000

DIST(1,5)25.000000.000000

DIST(1,6)100000.00.000000

DIST(1,7)30.000000.000000

DIST(1,8)100000.00.000000

DIST(1,9)50.000000.000000

DIST(1,10)100000.00.000000

DIST(2,1)50.000000.000000

DIST(2,2)0.0000000.000000

DIST(2,3)30.000000.000000

DIST(2,4)100000.00.000000

DIST(2,5)35.000000.000000

DIST(2,6)50.000000.000000

DIST(2,7)100000.00.000000

DIST(2,8)60.000000.000000

DIST(2,9)10000.000.000000

DIST(2,10)100000.00.000000

DIST(3,1)100000.00.000000

DIST(3,2)30.000000.000000

DIST(3,3)0.0000000.000000

DIST(3,4)15.000000.000000

DIST(3,5)100000.00.000000

DIST(3,6)30.000000.000000

DIST(3,7)50.000000.000000

DIST(3,8)25.000000.000000

DIST(3,9)100000.00.000000

DIST

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1