送货路线设计方案论文.docx
- 文档编号:5279974
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:41
- 大小:320.28KB
送货路线设计方案论文.docx
《送货路线设计方案论文.docx》由会员分享,可在线阅读,更多相关《送货路线设计方案论文.docx(41页珍藏版)》请在冰豆网上搜索。
送货路线设计方案论文
送货路线设计方案
摘要
本文是关于快递公司送货策略的优化设计问题,即在给定送货地点和给定设计规范的条件下,确定业务员的运行线路,总的运行路程数,以及时间最省的策略。
根据设计要求,制定了从静态规划到动态规划的解题思路;建立了以送货时间最省、所走路程最短等为目的的优化模型,给出的不同优化目标和约束下的优化送货策略,即送货路径。
本文主要完成的工作有:
Ⅰ根据所给的数据,使用Dijstra算法,循环n(n为总的点个数)次。
求出各点之间的最短路程,并存入二维数组dist[i][j]中。
Ⅱ对问题一,在送货员遵循送货路线的要求前提下,以所用的时间最短为目标函数,遍历全部的21个点并回到0点,在此条件下,利用动态规划得到了一条最短路径的优化设计。
Ⅲ对问题二,为考虑送货时间限制,需采用多次分区域的优先时间模型,而每个区域的路径优化设计可利用问题一的模型,同时遍历完一区域后,利用其最后一点找到与它距离最短的下一区域的点,若无连通的,则找次短的。
这样重复下去,直到所有的区域都遍历完。
最后,从最后一点返回起始点0。
如此得到的路径即为我们所需的优先时间的优化设计路径。
Ⅳ对问题三,其约束条件是送货员所能承受的货物的重量和体积的限制,在此前提下,则可利用多阶段送货模型,进行路线得优化设计。
并且,如何实现分阶段需要进行客观实际的分析,在把握使误差最小和灵敏度最高的情况下来进行分阶段,各阶段的最优路径设计与问题二中个区域的路径设计是大同小异的,故如何分阶段,分几个阶段对解决问题三的极其重要的,也是关键的一步。
关键字:
路径规划,最优化,图模型,多目标动态规划,送货员送货,分区域,分阶段
一、问题重述与分析
1.1问题重述
现今社会网络越来越普及,网购已成为一种常见的消费方式,随之物流行业也渐渐兴盛,每个送货员需要以最快的速度及时将货物送达,而且他们往往一人送多个地方,请设计方案使其耗时最少。
现有一快递公司,库房在图1中的O点,一送货员需将货物送至城市内多处,请设计送货方案,使所用时间最少。
该地形图的示意图见图1,各点连通信息见表3,假定送货员只能沿这些连通线路行走,而不能走其它任何路线。
各件货物的相关信息见表1,50个位置点的坐标见表2。
假定送货员最大载重50公斤,所带货物最大体积1立方米。
送货员的平均速度为24公里/小时。
假定每件货物交接花费3分钟,为简化起见,同一地点有多件货物也简单按照每件3分钟交接计算。
现在送货员要将100件货物送到50个地点。
请完成以下问题。
1.若将1~30号货物送到指定地点并返回。
设计最快完成路线与方式。
给出结果。
要求标出送货线路。
2.假定该送货员从早上8点上班开始送货,要将1~30号货物的送达时间不能超过指定时间,请设计最快完成路线与方式。
要求标出送货线路。
3.若不需要考虑所有货物送达时间限制(包括前30件货物),现在要将100件货物全部送到指定地点并返回。
设计最快完成路线与方式。
要求标出送货线路,给出送完所有快件的时间。
由于受重量和体积限制,送货员可中途返回取货。
可不考虑中午休息时间。
图1快递公司送货地点示意图
O点为快递公司地点,O点坐标(11000,8250),单位:
米
注:
表1“各货物号信息表”、表2“50个位置点的坐标”、表3“相互到达信息”见附录1
1.2问题分析
送货路线问题可以理解为:
已知起点和终点的图的遍历问题的合理优化的路线
设计
图的遍历问题的指标:
路程和到达的时间,货物的质量和体积,以及最大可以负载的重量和体积。
在路线的安排问题中,考虑所走的路程的最短即为最合理的优化指标。
对于问题二要考虑到所到的点的时间要求是否满足题意即采用多次分区域的假设模型,从而找出最优的解。
对于问题三则要考虑到体积和重量的双重影响,每次到达后找到最大的体积和重量的点然后返回,再依次分析各个步骤中可能存在的不合理因素,达到模型的进一步合理优化,得到最合理的解。
二、模型假设
根据题意,可以进行如下假设:
1、同一地点有多件货物也简单按照每件货物3分钟交接时间计算
2、所用的距离数据都精确到米,而时间则精确到0.0001h
3、要求达到不超过的时间不包括此次在该店交易的时间
4、到同一地点的货物要依次拿上,即不考虑在以后经过时再带一些货物
5、无塞车现象,即业务员送快递途中不受任何外界因素影响
6、货物可进行任意拆分
三、符号说明
其中i、j=1、2、3………...51,且M=50kg,V=1
三、模型的建立与求解
本文模型的整体框架如下:
模型一
1.1模型的建立
我们为了求出各点之间的最短路程,使用Floyd算法,即在Dijstra算法上循环n(n为总的点个数)次。
1.2模型的求解
根据算法和相邻点的距离可以用Dijstra算法求出任意两点的最短距离。
图采用权值矩阵的形式描述,w(i,j)表示i点到j点的距离。
如果没有直接连通,则为无穷大,即用Matlab中的inf表示。
Dijstra算法只能求出结点i到其余各点的距离。
算法引入这样的两个集合s和t,s是确定了的到结点i最短距离的点,t为全集u和s的差集即那些还未确定最短路径的结点。
而且s的初值是{i},t的初值是u-{i}。
另外在引入一个标记数组dist[n],其中在某一步中dist[k]表示当前i到k的最短距离,dist[k]的初值是w(i,k)。
整个算法过程如下:
1、在t中悬着一个d[k]最小的节点k,将k并入s,并从t中去掉,若果t为{},则转到3;
2、用k结点和t中其余的结点进行一遍比较,如果dist[i]>dist[k]+w[k][i],则用dist[i]=dist[k]+w[k][i]取代原来的d[i],重复1;
3、算法结束,此时dist[k]中保存的就是从i到k结点的最短路径。
算法就是以这样非常简单的形式完成了求解,时间复杂度是o(n^2)确定了从i点到其余各结点的最短路径。
图1相邻点的距离
使用循环的结构求出1~51各个点之间的最短距离。
程序1见附录2.1。
可求出最短距离的权值矩阵di。
模型二
——对问题一得求解
2.1模型的建立
由前三十件货物可以到达的地点可以知道,i,j=131831262114172332384543394236272434404916。
图2需要到达的点(用红色表示)
第一个时间段路程为:
5.2172e+003
2、第二个时间段顺序为:
4146384239444350
第二个时间段路程为:
1.0461e+004
3、第三个时间段顺序及路程为:
504344393627221518243340372817
第三个时间段路程为:
2.5134e+004
返回路程为:
7.4930e+003
总的路程为:
7.2458e+003
总的时间为:
3.5127(h)
模型四
——对问题三的求解
4.1模型的建立
本题中要遍历50个点,但由于M总=147kg,V总=2.8
,而m<50kg,v<1
,故因应该以m<50kg,v<1
的标准到达最远点后返回。
目标函数:
约束条件:
m<50kg,v<1
4.2模型的求解
由原点0点开始逐渐依次找出最近的点后,再找出离该点最近的点,直到不满足约束条件。
程序见附录2.4
图4分4阶段遍历点的位置
注:
第一阶段用红色标注
第二阶段用黑色标注
第三阶段用蓝色标注
第四阶段用紫红色标注
其结果如下:
1、第一阶段
顺序为:
12732284037393633241822
路程为:
3.3340e+003
2、第一阶段
顺序为:
Columns1through18
119141312942781110151744435051
Columns19through21
413535
路程为:
4.2875e+004
3、第一阶段
顺序为:
Columns1through18
12732252026302331293447494542384148
Column19
46
路程为:
4.5159e+004
4、第一阶段
顺序为:
2116536
路程为:
3.8530e+004
总的路程为:
1.9485e+004
总的时间为:
6.9124(h)
五、模型的分析
●误差分析
对于模型一是使用了精确的Floyd算法,即Dijstra算法故误差可以忽略不计。
对于模型二,虽存在断开的点会出现一定的误差,但对断开的点进行的优化处理,故该模型可以用。
对于模型三,因分区域的方法存在很多,故不可避免的会产生一些误差。
有由于分的区域越多,走的路程也就越多,这样可以大大地消除一些误差,故此模型可以用。
对于模型四,该模型有较大的误差,因未考虑货物的拆分对现实会有一定的影响,同时阶段的不同划分也是会存在一些不确定的误差。
虽然准确性由一定的挑战性,但相对于其他的划分又有一定的优越性,故该模型适合此问题的求解。
●灵敏度分析
对于模型一、二、三,灵敏度很好,模型的准确性很高。
对于模型四,由于质量和体积的限制,其灵敏度不是很好,但准确性还是很高,因此模型可以使用。
六、模型的评价、改进和推广
6.1模型的评价
优点:
·充分的利用了已知数据来建立模型,使其具有很高的准确性和可行性
·使用的准确的算法和适当的假设,使模型的准确性和实用性达到统一
·运用了功能强大的Matlab工具使数据处理误差达到最小
缺点:
·由于数据太多,没法使用工具进行模型的检验,只能一步一步地精化模型
6.2模型的改进
对于模型一和模型三主要进行模型的验证
对于模型二断开的点可以取别的点进行
主要是对模型四的改进,可以考虑到不同的地点送的货物进行拆分,从而可以找到最优的解
6.3模型的推广
可充分使用到图的遍历和最短路径的一系列问题的求解中
七、参考文献
[1]:
姜启源、谢金星、叶俊编,数学模型-3版,北京,高等教育出版社,2003.8
[2]:
吴建国、汪名杰、李虎军、刘仁云编,数学建模案例精编-1版,北京,中国水利水电出版社,2005.5
[3]:
唐焕文、贺明峰编,数学模型引论-3版,北京,高等教育出版社,2005.3
[4]:
图论任韩
[5]:
图论第三版德迪斯特尔著
附录
附录1:
表格
1.1各货物号信息表
货物号
送达地点
重量(公斤)
体积(立方米)
不超过时间
1
13
2.50
0.0316
9:
00
2
18
0.50
0.0354
9:
00
3
31
1.18
0.0240
9:
30
4
26
1.56
0.0350
12:
00
5
21
2.15
0.0305
12:
00
6
14
1.72
0.0100
12:
00
7
17
1.38
0.0109
12:
00
8
23
1.40
0.0426
12:
00
9
32
0.70
0.0481
12:
00
10
38
1.33
0.0219
10:
15
11
45
1.10
0.0287
9:
30
12
43
0.95
0.0228
10:
15
13
39
2.56
0.0595
12:
00
14
45
2.28
0.0301
9:
30
15
42
2.85
0.0190
10:
15
16
43
1.70
0.0782
10:
15
17
32
0.25
0.0412
12:
00
18
36
1.79
0.0184
12:
00
19
27
2.45
0.0445
12:
00
20
24
2.93
0.0420
9:
00
21
31
0.80
0.0108
9:
30
22
27
2.25
0.0018
12:
00
23
26
1.57
0.0210
12:
00
24
34
2.80
0.0103
9:
30
25
40
1.14
0.0155
9:
30
26
45
0.68
0.0382
9:
30
27
49
1.35
0.0144
10:
15
28
32
0.52
0.0020
12:
00
29
23
2.91
0.0487
12:
00
30
16
1.20
0.0429
12:
00
31
1
1.26
0.0250
32
2
1.15
0.0501
33
3
1.63
0.0483
34
4
1.23
0.0006
35
5
1.41
0.0387
36
6
0.54
0.0067
37
7
0.70
0.0129
38
8
0.76
0.0346
39
9
2.14
0.0087
40
10
1.07
0.0124
41
11
1.37
0.0510
42
12
2.39
0.0428
43
13
0.99
0.0048
44
14
1.66
0.0491
45
15
0.45
0.0209
46
16
2.04
0.0098
47
17
1.95
0.0324
48
18
2.12
0.0554
49
19
3.87
0.0262
50
20
2.01
0.0324
51
21
1.38
0.0419
52
22
0.39
0.0001
53
23
1.66
0.0502
54
24
1.24
0.0534
55
25
2.41
0.0012
56
26
1.26
0.0059
57
27
0.42
0.0224
58
28
1.72
0.0580
59
29
1.34
0.0372
60
30
0.06
0.0402
61
31
0.60
0.0274
62
32
2.19
0.0503
63
33
1.89
0.0494
64
34
1.81
0.0325
65
35
1.00
0.0055
66
36
1.24
0.0177
67
37
2.51
0.0361
68
38
2.04
0.0110
69
39
1.07
0.0440
70
40
0.49
0.0329
71
41
0.51
0.0094
72
42
1.38
0.0455
73
43
1.31
0.0121
74
44
1.26
0.0005
75
45
0.98
0.0413
76
46
1.35
0.0241
77
47
2.12
0.0230
78
48
0.54
0.0542
79
49
1.01
0.0566
80
50
1.12
0.0284
81
25
0.79
0.0011
82
46
2.12
0.0492
83
32
2.77
0.0034
84
23
2.29
0.0054
85
20
0.21
0.0490
86
25
1.29
0.0088
87
19
1.12
0.0249
88
41
0.90
0.0038
89
46
2.38
0.0434
90
37
1.42
0.0020
91
32
1.01
0.0300
92
33
2.51
0.0133
93
36
1.17
0.0020
94
38
1.82
0.0308
95
17
0.33
0.0345
96
11
0.30
0.0172
97
15
4.43
0.0536
98
12
0.24
0.0056
99
10
1.38
0.0175
100
7
1.98
0.0493
1.250个位置点的坐标
位置点
X坐标(米)
Y坐标(米)
1
9185
500
2
1445
560
3
7270
570
4
3735
670
5
2620
995
6
10080
1435
7
10025
2280
8
7160
2525
9
13845
2680
10
11935
3050
11
7850
3545
12
6585
4185
13
7630
5200
14
13405
5325
15
2125
5975
16
15365
7045
17
14165
7385
18
8825
8075
19
5855
8165
20
780
8355
21
12770
8560
22
2200
8835
23
14765
9055
24
7790
9330
25
4435
9525
26
10860
9635
27
10385
10500
28
565
9765
29
2580
9865
30
1565
9955
31
9395
10100
32
14835
10365
33
1250
10900
34
7280
11065
35
15305
11375
36
12390
11415
37
6410
11510
38
13915
11610
39
9510
12050
40
8345
12300
41
4930
13650
42
13265
14145
43
14180
14215
44
3030
15060
45
10915
14235
46
2330
14500
47
7735
14550
48
885
14880
49
11575
15160
50
8010
15325
1.3互相到达信息
序号
位置点1
位置点2
1
1
3
2
1
8
3
2
20
4
2
4
5
3
8
6
3
4
7
4
2
8
5
15
9
5
2
10
6
1
11
7
18
12
7
1
13
8
12
14
9
14
15
9
10
16
10
18
17
10
7
18
11
12
19
12
13
20
12
25
21
12
15
22
13
18
23
13
19
24
13
11
25
14
18
26
14
16
27
14
17
28
14
21
29
15
22
30
15
25
31
16
23
32
17
23
33
18
31
34
19
24
35
20
22
36
21
26
37
21
36
38
21
17
39
22
30
40
23
17
41
24
31
42
25
41
43
25
19
44
25
29
45
27
31
46
28
33
47
29
22
48
30
28
49
30
41
50
31
26
51
31
34
52
32
35
53
32
23
54
33
46
55
33
28
56
34
40
57
35
38
58
36
45
59
36
27
60
37
40
61
38
36
62
39
27
63
40
34
64
40
45
65
41
44
66
41
37
67
41
46
68
42
43
69
42
49
70
43
38
71
44
48
72
44
50
73
45
50
74
45
42
75
46
48
76
47
40
77
48
44
78
49
50
79
49
42
80
50
40
81
O
18
82
O
21
83
O
26
附录2:
Matlab程序代码
2.1Djistra(Floyd)算法求解
%Djistra算法
l=0;
fori=1:
22
dist(i)=ww(1,i);
parent(i)=location(i);
f(i)=0;
end
f
(1)=1;
fori=1:
22
cost=inf;
k=1;
forj=2:
22
ifdist(j) cost=dist(j); k=j; end end ifk>1 f(k)=1; fort=2: 22 iff(t)==0 ifdist(t)>dist(k)+ww(k,t) dist(t)=dist(k)+ww(k,t); parent(t)=location(k); l=l+dist(t)-dist(k); end end end end end %Floyd算法 fori=1: 22 forj=1: 22 di(i,j)=ww(i,j); dian(i,j)=i; end end fork=1: 22 fori=1: 22 forj=1: 22 ifk~=i&&k~=j&&i~=j ifdi(i,j)>di(i,k)+di(k,j) di(i,j)=di(i,k)+di(k,j); dian(i,j)=location(k); end end end end end 2.2问题一的求解 clc clearall A=xlsread('weizhi.xls'); fori=1: 51 forj=1: 51 t=A(i,: )-A(j,: ); c(i,j)=sqrt(t (1)^2+t (2)^2);%两点之间的距离 end end a=[13;18;220;24;38;34;42;515;52;61;718;71;812;914
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 送货 路线 设计方案 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)