数学建模送货路线设计问题.docx
《数学建模送货路线设计问题.docx》由会员分享,可在线阅读,更多相关《数学建模送货路线设计问题.docx(22页珍藏版)》请在冰豆网上搜索。
数学建模送货路线设计问题
送货路线设计问题
【摘要】在货物运输过程中,合理选择送货线路是极其重要的,它不仅可以加快配送速度,提高服务质量,还可以有效的降低配送成本,增加经济效益。
本文构建了送货线路的规划模型,将送货问题转化为理论上的最优解问题以及运筹学中的旅行推销问题,通过编程进行求解,根据运输路线优化策略中的成组法,用射线旋转法进行区域划分,以送货员最大承受力为50公斤,货物体积不大于1立方米为依据,利用整数规划对每一个区域进行线路规划,从而得到最优线路。
该模型对物流企业合理安排送货线路,提升运送效率,节约送货成本有着很强的理论指导作用,因而有着重大的实用价值。
在货物运输过程中,合理选择送货线路是极其重要的,它不仅可以加快配送速度,提高服务质量,还可以有效的降低配送成本,增加经济效益。
问题一:
针对问题一,我们建立了模型一求得四组最优解,因为问题一中题设条件都符合,送货员只需回一次取货点,勾勒最短路线清楚,经过简单计算可得到四组路线,通过C语言编程计算的只有一条路线符合条件且最短,得到最短路线为米,所用时间为3小时47分28秒。
问题二:
针对问题二,先利用问题一计算的两点之间的距离,利用第一题的结果图路线,规划出一条大致准确的路线,由于第二题不要求返回取货点,所以我们在实际操作时利用线性规划减去一些冗余的路线从而得到最优化路线。
问题三:
针对问题三,我们建立了模型三并利用射线旋转法,归一法0-1规划法进行求解,利用C#程序编制模拟真实情景并加入题设条件对不同路线进行分组,即用射线旋转法进行区域划割,在每个区域求最优解,得出最短路径为190998米。
关键字:
送货线路旅行推销员射线旋转法最小距离0-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件货物全部送到指定地点并返回。
设计最快完成路线与方式。
要求标出送货线路,给出送完所有快件的时间。
由于受重量和体积限制,送货员可中途返回取货。
可不考虑中午休息时间。
二、符号说明
Σ
用于所有要求距离求和
A
A(x)表示x路径的距离
(i,j)
表示i到j两点路径
0-1型决策变量
ξ(i,j)
用于求i,j两点间的距离
t
t(x)代表经过路程x所花费的时间
L
题目中所给的限制时间,等于限制到达时间—初始送货时间
三、模型的假设
·假定送货员最大载重50公斤,所带货物最大体积1立方米。
·送货员的平均速度为24公里/小时。
·假定每件货物交接花费3分钟,为简化起见,同一地点有多件货物也简单按照每件3分钟交接计算。
3.2其它假设
·送货员路途都是以匀速步行的。
·不考虑送货员中午休息时间。
四、问题的分析
在日常的网络购物送货中,如何在有限的时间内送到货物且能最大限度地节约成本,提高物流企业的市场竞争力,这是我们解决的核心问题。
针对这些问题,我们从送货员的角度考虑在送货员能承受的重量、体积等因素的条件下,规划处最优路线。
首先,我们先利用C语言编程,处理数据,算出两点间的距离,建立一个数据库。
再进行题设转化,将求时间转化为求最短路径,然后利用观察对比法规划出几条路线,再利用excel进行每条路线的总距离,进行对比,得出一条最段路径,对于已经超过送货员承受重量的情况,我们利用射线旋转法进行区域化割,0-1型规划法将问题巧妙转化,从而进行求解。
经过实际调查,送货员一般会遇到四种情况:
未超出承受重量且未限定时间的送货;未超出承受重量但有限定时间限制;超出承受重量但没有时间限制;超出承受重量且有时间限制。
对于第四种不常用,十分复杂。
我们先以解决前三种问题为前提,进行模型推广,再进行求解。
图解如下:
五、建模前的准备
为了后面建模与程序设计的方便,在建立此模型前,我们有必要做一些准备工作。
5.150个送货点分类
为了后面思路清晰,我们将五十个送货点分为三类点:
选择点,单选点,半选择点。
选择点:
在要求的前提下有两种或两种以上的选择路径。
例:
36-27,36-38,36-45。
单选点:
也称孤立点,到这一点的路径只有一条。
例:
39点。
半选择点:
在指定的范围类,选择点的选择路径。
例:
在第一个问题时,49点可以从没有01-30号货物送到的50点经过,也可回42点。
5.2数据的处理
将对应题目中给出的数据利用软件画在图上,做好前期准备,再用c语言编程,算出两点之间的距离:
(i,j)
ξ(i,j)
(i,j)
ξ(i,j)
18-0
m
24-19
m
13-18
m
31-24
m
19-13
m
34-31
m
…………(见附录1)
六、模型的建立与求解
6.1模型一的建立
在大多数情况下,由于运输线路与运输时间正相关,与运输成本负相关,因此,为了叙述和推导的方便,我们直接选取运输线路最短作为我们优化送货线路的最终目标。
针对该问题,由于送货员没有超过限定重量与限定体积,且没有限定时间,所以送货员只需一次送完货物,而不需要回仓库取货,只需找出最短路径即可。
6.1.1送货问题算最短路径的数学表示
Σ=ξ(i,j)1+ξ(i,j)2+ξ(i,j)3+ξ(i,j)4+ξ(i,j)5+ξ(i,j)6+……
其中每一子部分为两点间的距离。
6.1.2最优路径模型的建立
找出了任意两个点间的距离,就可以对这些路径按不同走势进行选择,找出最优路线:
方案一:
0-21-17-14-16-23-32-35-38-43-42-49-42-45-40-34-31-24-19-13-18-31-27-36-27-39-27-31-26-0
这是我们最初规划的路线,但这种规划方式有一个明显的缺陷,重复路线太多,在后期的规划路线中抛弃可这种路线。
为了计算准确,快速,我们编写了一个C语言程序,用于计算距离,以便在规划不同路线时可以比较每条路线的长度,从而从数值上直观地比较最短路径。
做出正确的判断。
最终确定了这条路径。
6.1.3模型一得求解
经过大量计算,通过精确地比较,得出最优路径为:
方案二:
0-26-31-27-39-27-36-21-17-14-16-23-32-35-38-43-42-49-42-45-40-34-31-24-19-13-18-0
(i,j)
ξ(i,j)
(i,j)
ξ(i,j)
26-0
42-49
31-26
49-42
27-31
42-45
36-27
45-40
21-36
21-17
40-34
17-14
34-31
14-16
31-24
16-23
24-19
23-32
19-13
32-35
13-18
35-38
18-0
38-43
27-39
43-42
39-27
表一模型一中各两点间的距离
图示如下:
通过以上模型的建立,我们得出结果为总路程为。
又考虑到每次交接货物所需要的时间,综合各种因素,最终所花时间为3小时47分28秒。
6.1.4模型的分析
理论上,只要计算时间足够长,规划的路线越多,最优路径的求解率越高,且这种算法的理解性强,易于理解。
但这种算法有它的弊端,现实应用比较复杂,需要经过仔细运算,理解性强便于改进。
6.2.1模型二的建立
针对问题二,与第一问所不同的是送货时间有了限制,不能超过指定时间送货,且送完货物后不要求回到仓库,于是我们考虑去掉一些冗余的路段,以使路径达到最短,这里我们用到了线性回归方法进行求解。
6.2.2模型二算法的描述
由模型二的建立所述,我们在实际操作时省去了“35-38,,0-26”的路径,增加了“36-38”这条路径,经过C语言编程计算,此方法能较第一题中路径短,在速度不变的情况下,所用时间也就最短,满足了一个条件。
然后考虑1-30号货物限制时间问题,将30种货物进行时间排序,得到表二:
货物号
送达地点
重量(公斤)
体积(立方米)
不超过时间
1
13
9:
00
2
18
9:
00
20
24
9:
00
3
31
9:
30
11
45
9:
30
14
45
9:
30
21
31
9:
30
24
34
9:
30
……表二经排序后的货物时间限制表
6.2.3模型二的求解
综合图形线路图可知,每种货物送的每一点以及要求到达的时间比较可知各个时间段要求的送货时间都是比较集中的,这就大大减轻了建模解法的复杂性,从而
通过VC编程计算以及精确地比较,最终的出了一种合理而且为最短路径的最优解,路线如图所示:
送至各点地时间表为图三:
货物号
到达需时间t(min)
到达时间t
规定时间L
1
8:
16:
14
9:
00
2
8:
05:
28
9:
00
3
8:
40:
58
9:
30
4
10:
36:
15
12:
00
5
5
10:
49:
27
12:
00
6
11:
05:
30
12:
00
7
10:
57:
01
12:
00
8
11:
23:
16
12:
00
9
11:
32:
32
12:
00
10
9:
56:
29
10:
15
11
9:
10:
55
9:
30
12
9:
43:
56
10:
15
13
10:
22:
17
12:
00
14
9:
10:
55
9:
30
15
9:
25:
48
10:
15
16
9:
43:
56
10:
15
17
11:
32:
32
12:
00
18
10:
03:
20
12:
00
19
10:
11:
50
12:
00
20
8:
33:
31
9:
00
21
8:
40:
58
9:
30
22
10:
11:
50
12:
00
23
10:
36:
15
12:
00
24
8:
52:
47
9:
30
25
8:
59:
52
9:
30
26
9:
10:
55
9:
30
27
9:
23:
43
10:
15
28
11:
32:
32
12:
00
29
11:
23:
16
12:
00
30
11:
15:
01
12:
00
通过以上模型的建立,可以得出最快送完货物的时间为11:
32分,能在12:
00之前完成任务,并且其他点也能在规定时间内完成预定的送货任务,所以该模型可行。
6.2.4模型二的分析
通过建立模型二。
我们能清楚地意识到做好每一步基础的重要性,通过第一问的巧妙变换,将冗余线路去掉,就可得到模型二,但两者都有同样的弊端,现实应用比较复杂,需要进行大量的计算。
基于模型一得使用,模型二也能得到较好的推广。
6.3.1模型三的建立
送货问题的难点在于在给定的坐标、运输体积有上限、运输到达地点有时间限制的情况下运输线路最短,运输时间最短或运输成本最低。
此模型的建立正是以解决这种现实问题为核心。
运用了典型的射线旋法,0-1规划法,旅行推销员法,
进行较为细致的求解。
6.3.1问题分析与准备
在此问中,忽略了到达时间的限制,限制条件变为了货物的重量和体积而引起的超重问题。
但是由于送货员的携带量存在限制,我们引入“旅行推销员”模型将送货模型问题转化为运筹学中的旅行推销问题,根据运输线路优化策略中的成组法,用射线旋转法进行区域划分,以送货员满载率为80~90%为划分依据,利用整数规划对每一个区域进行线路规划,从而得到最优路线。
为了求解,我们先不考虑重量与体积的限制,将道路网抽象成一个仅包含点和边的图,将道路的长度设为每条边上的权,这样就得到了一个加权图(100件货物的总重量为148公斤,总体积为3,而送货员最大载重50公斤,所带货物最大体积1立方米)
根据计算总重量和总体积结果可以得出:
1、该送货区域至少应划分三组以上,否则会发生超载问题。
2、当划分四组及以上的情况时,使得送货员运载不足80~90%,而出现欠载情况。
于是划分三组为最优区域。
(基本假设:
静态送货模型中,各送货路线组中,送货点不能遗漏并且保证各组尽可能分配均匀,且接近最大送货量与最大送货体积)
6.3.2模型准备
模型分析:
在每一个区域中,送货员是从仓库出发经历其他几个送货点再回到仓库,这几个送货点需要经历一次,且这几个送货点之间可以相互到达,回路有很多条。
任选了两个送货点,与这两个送货点直接相连的送货点之和,高于总的送货点数,则至少判断存在一条Hamilton回路。
引入0-1规划法求解最短路问题,设起点为1,终点为n。
引入0-1型决策变量
如果弧(i,j)在最短线路上,则
=1,否则
=0。
下面是我们所采取的最优送货路线的逻辑推演:
对于除了起点1和终点n以外的任意一个顶点i,如果
=1,说明从i出发所有弧中必然有一条弧在最短路上,也就是说最短路经过该顶点,此时所有从其他顶点到该顶点的弧中必然有一条弧在最短线路上,因而有
=1;如果
=0,说明最短路线不经过顶点i,故必有
=0。
两种情况可以合并成
=
,1
对于起点1,则必然满足
,对于终点n,则必然有
=1。
目标函数是最短线路上各条弧的长度之和(总里程)最小,于是最短路程问题可以用用如下0-1规划来描述:
min
S.T.
=1,i=1,2,~,n,j≠i,
j=1,2,~,n,i≠j,
=0,1i,j=1,2,~,n不含子巡回
若仅考虑前三个约束条件,则是类似于指派类问题的模型,对模型构建并不充分。
虽然满足前三个约束条件,但不构成整体巡回路线。
它含有两个子巡回,需要扩展不含子巡回的约束条件,增加变量Ui(i=i=1,2,~,n),并增加附加条件:
-
+n
<=n-1,
>=0,i=1,2.~,n
J=1,2,~,n.
下面证明:
1,任何含子巡回的路线都必然不满足该约束条件(不管
如何取值);全部不含子巡回的整体巡回路线都可以满足该约束条件(只要取值适当)。
用反证法证明:
1,假设存在子巡回,则至少两个子巡回,必然至少有一个子巡回不含起点城市1,附加约束条件公式用于该子巡回,必然有
-
+n<=1,
-
+n<=n-1,
+
+n<=n-1,把这三个不等式相加起来得到n<=n-1,这不可能,故假设不能成立。
而对整体巡回而言,因为附加约束中j>=2.而对整体巡回曲线,只要u取值适当,都可以满足约束条件。
因此,约束条件只限制子巡回,不影响其他,于是这个模型转化为混合整数型规划模型。
6.3.3模型的建立与求解
我们使用旋转射线法将区域分组后,我们跟据上述原则求得一个初始的分组方法:
第一组:
从O点—26—31—27—39—27—36—45—40—47—40—47—50—49—42—43—38—35—32—23—17—21—O点
第二组:
从O点—21—17—23—16—14—9—10—7—1—6—1—8—3—4—2—5—15—12—11—13—18—O点
第三组:
从O点—26—31—24—19—25—29—22—20—22—30—28—33—46—48—44—41—37—40—34—31—21—O点
并且得到质量体积分配表:
组数
质量(kg)
体积(m3)
第一组
第二组
第三组
根据分组,我们在每个最短区域根据非动态线性规划寻找出最短最佳路线,根据运筹学中满载率的规定为80%~90%,得出了最短距离为190998m
用绘图画板作图得
七、模型的动态扩展
在现实的送货过程中,大多的送货问题是一种动态的,而非静态的线路规划,即如果订单的数量发生变化,那么送货经理怎样通过调整送货线路来确保成本最小,方案最优。
在该模型中,我们假定在现实的送货过程中,大多的送货问题是一种动态的,而非静态的线路规划,即如果订单的数量发生变化,那么送货经理怎样通过调整送货线路来确保成本最小,方案最优。
在该模型中,我们假定,若每个客户的订单均增加n个单位,那么经理又需要怎样重新调整送货线路?
在每一个客户的订单中增加n个单位后,则需要送货员送货次数更多。
我们首先需要对区域进行划分。
若仍化为三个区域,采用上述相同的方法发现出现了超载问题,若一个区域发车两次,则此划分大大增加了送货路程,同理,当划分为多个区域时(远远没达到载量),又出现了欠载情况,所以必须合理划分区域,使之在实际生活中更具有实用性。
八、模型的优缺点及改进
8.1模型的评价
在现实的物流配送中,人们大多是按照经验去制定送货线路及送货量。
而此模型在运用满载率原理对送货区域进行合理而科学划分的基础上,用0-1整数规划方法对线路进行优化,得到了最经济的送货线路和最优的日程安排,非常贴近实际生活,对现实的物流配送工作具有较强的指导意义。
因此,物流公司或其他企业的送货工作都可以采用划分送货区域、进行线型规划的方法来提高自己的送货效率,这不仅有助于降低企业的送货成本,提高企业的市场竞争力,也有助于降低整个社会的交易成本,提高整个国家的经济竞争力。
今后可以通过考虑跨区域送货情况的路径优化与选择来对该模型做进一步的扩展,不断接近现实。
8模型优点
1、模型是由简单到复杂一步步建立的,使得更贴近实际。
2、本文的模型简单,其算法直观,容易编程实现。
3、本文模型比较注重数据的处理和存储方式,大大提高了规划效率。
4、本文模型注重效率的提高,通过大量的特征信息的提取,并结合有效的算法,使其完全可以满足实时系统的要求。
8模型缺点
在建模与编程过程中,使用的数据只是现实数据的一种近似,因而得出的结果可能与现实情况有一定的差距。
理论要求强,计算比较复杂。
理论建模是这样,但在实际运用过程中可能还会有其他因素,所以在实际运用过程中,还需进一步讨论,以使方案更加合理。
九、参考文献
[1]那向明安向丽杨银海统计教育StatisticalThinktank,第9期,
2008年9月
[2]谭浩强C语言程序设计清华大学出版社
[3]龚劬图论与网络最优化算法重庆大学出版社,2000
[4]赵静但琦数学建模与数学实验高等教育出版社
十、附录
附录1:
1-30号各点距离数据
(i,j)
ξ(i,j)
(i,j)
ξ(i,j)
0-21
34-31
5
21-17
31-24
5
17-14
24-19
14-16
19-13
3455.70
16-23
13-18
23-32
18-31
32-35
1
31-27
35-38
27-39
38-43
39-27
43-42
27-36
2
42-49
8
36-27
2
49-42
8
27-31
42-45
31-26
45-40
1
26-0
6
40-34
26-21
18-0
21-36
附录2:
题中所涉及的两点间距离
(i,j)
ξ(i,j)
(i,j)
ξ(i,j)
1_3
28-33
1_6
29-22
3_8
30-28
3_4
30-41
49-50
17-23
45-50
31-34
40-50
33-46
2_4
37-40
2_5
41-44
2_20
41-37
5_15
41-46
7_18
44-48
7_1
44-50
8_12
46-48
9_14
47-40
9_10
26-0
10_18
31-26
10_7
27-31
11_12
36-27
12_13
21-17
12_25
17-14
12_15
14-16
13-18
16-23
13-19
23-32
13_11
32-35
14-18
35-38
14-16
43-42
14-17
42-49
14-21
42-45
15-22
45-40
15-25
40-34
16-23
31-24
18-31
24-19
19-24
O-21
20-22
18-0
21-26
1_8
21-36
36-45
21-17
36-38
22-30
27-39
23-17
38-43
24-31
45-50
25-41
46-48
25-19
49-50
25-29
40-50
27-31
附录3:
排序后的各地时刻表
货物号
送达地点
重量(公斤)
体积(立方米)
不超过时间
1
13
9:
00
2
18
9:
00
20
24
9:
00
3
31
9:
30
11
45
9:
30
14
45
9:
30
21
31
9:
30
24
34
9:
30
25
40
9:
30
26
45
9:
30
10
38
10:
15
12
43
10:
15
15
42
10:
15
16
43
10:
15
27
49
10:
15
4
26
12:
00
5
21
12:
00
6
14
12:
00
7
17
12:
00
8
23
12:
00
9
32