粒子群优化算法车辆路径问题Word文档下载推荐.docx
《粒子群优化算法车辆路径问题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《粒子群优化算法车辆路径问题Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
关键字:
粒子群算法、车辆路径、速度
一、问题的重述
一个中心仓库序号为0,7个需求点序号为1~7,其位置坐标见表1,中心有3辆车,容量均为1,由这三辆车向7个需求点配送货物,出发点和收车点都是中心仓库。
求满足需求的距离最小的车辆行驶路径。
表1仓库中心坐标和需求点坐标及需求量
序号
1
2
3
4
5
6
7
坐标
(18,54)
(22,60)
(58,69)
(71,71)
(83,46)
(91,38)
(24,42)
(18,40)
需求量
0.89
0.14
0.28
0.33
0.21
0..41
0.57
二、问题假设
1.现实生活中中心仓库以及各个需求点之间军事直线连接,两点之间距离即为坐标系中两点坐标间距离。
2.不因天气及失火等原因车辆停止运输。
3.每个需求点由一辆车供应货物。
三、符号说明
配送货物车辆数
需求点个数
配送货物车辆的容量
从点i到j的距离
需求点i由k车配送
车k从i行驶到j
四、问题分析
4.1算法分析
车辆路径问题(VRP)可以描述为有一个中心仓库,拥有K辆车,容量分别为
,负责向L个需求点配送货物,货物需求量为
;
表示从点i到j的距离。
将中心仓库编号为0,需求点编号为1,2,…,L。
数学模型为:
s.t.
其中,
,
在本题中,
,利用粒子群优化算法,经过初始化粒子群,将初始的适应值作为每个粒子的个体最优解,并寻找子群内的最优解以及全局的最优解。
4.2举例具体演算分析
例如,设VRP问题中发货点任务数为7,车辆数为3,若某粒子的位置向量X为:
发货点任务号:
1234567
Xv:
1222233
Xr:
1431221
则该粒子对应解路径为:
车1:
0→1→0
车2:
0→4→5→3→2→0
车3:
0→7→6→0
粒子速度向量V与之对应表示为Vv和Vr
该表示方法的最大优点是使每个发货点都得到车辆的配送服务,并限制每个发货点的需求仅能由某一车辆来完成,使解的可行化过程计算大大减少Z虽然该表示方法的维数较高,但由于PSO算法在多维寻优问题有着非常好的特性,维数的增加并未增加计算的复杂性,这一点在实验结果中可以看到
五、模型的建立与求解
在本题中,需要分别计算以下几个内容,计算需求点与中心仓库及各需求点间距离,利用粒子群优化算法,求出函数的全局最优位置和最后得到的优化极值。
5.1需求点与中心仓库及各需求点间距离
利用直角三角形勾股定理,求斜边长度。
,直角坐标系中求A,B两点之间距离
距离
7.2111
42.72
55.66
65.49
74.733
13.416
14
37.108
50.22
62.586
72.422
18.111
20.396
13.153
33.971
45.277
43.417
49.406
27.731
38.588
55.227
61.4
11.314
59.135
65.276
67.119
73.027
6.3246
5.2粒子群优化算法
5.2.1算法实现过程
步骤1 初始化粒子群
① 粒子群划分成若干个两两相互重叠的相邻子群;
② 每个粒子位置向量Xv的每一维随机取1~K(车辆数)之间的整数,Xr的每一维随机取1~L(发货点任务数)之间的实数;
③ 每个速度向量Vv的每一维随机取-(K-1)~(K-1)(车辆数)之间的整数,Vr的每一维随机取-(L-1)~(L-1)之间的实数;
④ 用评价函数Eval评价所有粒子;
⑤ 将初始评价值作为个体历史最优解Pi,并寻找各子群内的最优解Pl和总群体内最优解Pg
步骤2 重复执行以下步骤,直到满足终止条件或达到最大迭代次数
①对每一个粒子,计算Vv、Vr;
计算Xv、Xr,其中Xv向上取整;
当V、X超过其范围时按边界取值
②用评价函数Eval评价所有粒子;
③若某个粒子的当前评价值优于其历史最优评价值,则记当前评价值为该历史最优评价值,同时将当前位置向量记为该粒子历史最优位置Pi;
④寻找当前各相邻子群内最优和总群体内最优解,若优于历史最优解则更新Pl、Pg
5.2.2针对本题
0表示中心仓库,设车辆容量皆为q=1.0,由3辆车完成所有任务,初始化群体个数n=40;
惯性权重w=0.729;
学习因子c1=c2=1.49445;
最大代数
搜索空间维数(未知数个数)
算法得到的最优值的代数及所得到的最优解,预计迭代次数50,共进行20次运算
运算次数
8
9
10
总距离
217.81
230.41
303.04
11
12
13
15
16
17
18
19
20
从实验结果分析,15次达到已知最优解,得到的最优总路径为:
对应的行车路线为:
车辆一:
车辆二:
车辆三:
行车总距离
粒子群优化算法达到最优路径50次的代数
23
41
28
33
21
71
82
24
58
36
65
35
76
25
67
30
55
29
38
43
148
79
六、模型的评价
粒子群优化算法结果分析
方法
达到最优路径次数
未达最优路径次数
达到最优路径平均代数
达到最优路径平均时间(S)
粒子群
50
28.36
3.04
分析PSO方法,可以看出它与GA等其他演化算法的最大不同在于
1)迭代运算中只涉及到初等运算,且运算量非常少;
2)每个粒子能直接获取群体历史经验和个体历史经验,比在其他方法中使用精英集(elitism)的方法更有效;
3)整个粒子群被划分为几个的子群,且子群之间有一定重叠,从而使收敛于局部最优解的几率大大减少L
正因为如此,本文将PSO应用于带时间窗车辆路径问题求解中,取得了很好的效果,有着运算速度快、解的质量与个体数目相关性小、所获得的解质量高等诸多优点
七、模型的改进和推广
7.1模型的改进
针对粒子群优化算法存在的问题,提出了一种新的改进算法—基于粒子进化的多粒子群优化算法。
该算法采用局部版的粒子群优化方法,从“粒子进化”和“多种群”两个方面对标准粒子群算法进行改进。
多个粒子群彼此独立地搜索解空间,保持了粒子种群的多样性,从而增强了全局搜索能力而适当的“粒子进化”可以使陷入局部最优的粒子迅速跳出,有效的避免了算法“早熟”,提高了算法的稳定性。
将基于粒子进化的多粒子群优化算法用于求解非线性方程组。
该算法求解精度高、收敛速度快,而且克服了一些算法对初值的敏感和需要函数可导的困难,能较快地求出复杂非线性方程组的最优解。
数值仿真结果显示了该算法的有效性和可行性,为求解非线性方程组提供了一种实用的方法。
7.2模型的推广
作为物流系统优化中的重要一环,合理安排车辆路径、进行物流车辆优化调度可以提高物流经济效益、实现物流科学化。
粒子群算法在多维寻优中有着非常好的特性,加入“邻居算子”的粒子群算法能使算法更好的全局寻优。
本文的研究表明,改进局部办粒子群算法,能过有效地解决车辆路径问题。
八、参考文献
[1] 李军,郭耀煌.物流配送车辆优化调度理论与方法[M].北京:
中国物资出版社,2001.
[2]马炫,彭芃,刘庆.求解带时间窗车辆路径问题的改进粒子群算法.计算机工程与应用,2009,45(27):
200-202
[3]姜启源,《数学建模》,高教出版社,2000年
附录
需求点与中心仓库及各需求点间距离
c=[];
zuobiao=[1854
2260
5869
7171
8346
9138
2442
1840];
fori=1:
forj=1:
8
c(i,j)=sqrt((zuobiao(j,