第 28 卷第 2 期
2011 年 2 月
计 算 机 应 用 研 究
Application Research of Computers
基 于 改 进 遗 传 算 法 的 有 时 间 窗 车 辆 调 度 问 题 研 究
Vol畅28 No畅2
Feb畅2011
倡
1a, 王 旭
1a,1b, 代 应
2
葛显龙
(1.重庆大学 a.机械工程学院; b.贸易与行政学院, 重庆 400030; 2.重庆理工大学 工商管理学院, 重庆 400050)
摘 要: 在分析带有时间窗车辆调度问题的基础上,建立了车辆调度问题的数学模型,并构造了不同时间窗的
惩罚函数。 设计了针对车辆调度问题基于自然数编码的遗传算法,并改进了传统的交叉运算,避免优秀基因在
交叉操作中被破坏,提高了遗传算法的寻优能力。 最后,结合算例进行了仿真计算,分析了载重体积约束和时间
窗约束对车辆调度的影响,验证了算法的有效性。
关键词: 遗传算法; 时间窗; 车辆调度
中图分类号: F274 文献标志码: A 文章编号: 1001唱3695(2011)02唱0445唱03
doi:10.3969/j.issn.1001唱3695.2011.02.009
Analysis on vehicle scheduling problem with
time window based on improved genetic algorithm
GE Xian唱long1a, WANG Xu1a,1b, DAI Ying2
(1a.College of Mechanical Engineering, b.College of Trade & Public Administration, Chongqing University, Chongqing 400030, China; 2.
College of Business Administration, Chongqing University of Technology, Chongqing 400050, China)
Abstract: In the analysis of vehicle scheduling problem with time window, established the VSP mathematical model, con唱
structed and the different time window penalty function.In view of resolving vehicles scheduling problem, designed genetic al唱
gorithm of the natural number code, and improved the traditional overlapping operation, avoided the outstanding gene destro唱
ying in the interlace operation, enhanced genetic algorithm optimization ability.Finally, combined with the example of simula唱
tion computation, analyzed the influence had the carrying capacity volume to restrain and had the time window to restrain to the
vehicles dispatch, confirmed the algorithm validity.
Key words: genetic algorithm; time window; vehicle scheduling problem(VSP)
人
[9]
[6]
等人
用量子进化算法求解了最短配送路径问题;李兵等人
[5]
0 引言
研究了动态需求的车辆调度问题。 另外,陈火根等人
[7]
提出
了遗传算法与禁忌算法相结合的求解方法;郎茂祥等人
[8]
随着信息技术的发展尤其是因特网的出现和普及,电子商
将
爬山算法与遗传算法相结合,提出了混合遗传算法;宋伟刚
务得到了迅速的发展,大大缩短了商品交易活动的时间和空
利用节约算法对解决此类问题进行了尝试。 但是,车
间。 信息流、资金流可以在网上瞬间实现,对这些商务活动提
辆调度问题所涉及的种类繁多,启发式算法却没有普适的求
供支持的物流提出了更高的要求,物流配送作为新的经济增长
解过程。
点开始引起了人们的注意。 车辆调度问题是物流系统的核心
本文研究了带有时间窗约束的车辆调度问题,建立了有载
环节,因此,对车辆调度问题(VSP) 的研究就具有非常重要的
重体积限制和硬时间窗限制的模型。
意义。
1 问题描述
VSP 的求解方法基本上可以分为精确算法和启发式算法
两大类。 由于 VSP 属于强 NP 问题,运用精确算法求解计算
量会随着问题的规模增大而呈指数增加,实际中其应用范围
车辆调度问题一般描述为:对一系列需求点,组织适当的
比较有限。 实际应用中多采用启发式算法,如启发式算法、
行车路线,使车辆有序地通过它们,在满足一定的约束条件
禁忌搜索算法、模拟退火算法和遗 传算法。 其中 Bergen 等
(如货物需求量、发送量、交发货时间、车辆容量限制、行驶里
研究 了 并 行 遗 传 算 法 求 解 车 辆 调 度 问 题;Pisinger 等
程限制、时间限制等) 下,达到一定的目标( 如路程最短、费用
[1]
最小、时间尽量少、使用车辆数尽量少等)。 虽然 VSP 具有多
提出了遗传算法求解多车型约束的车辆调度问题;Joze
[2]
种类型和形式,但 VSP 形式中的运输特点是基本相同的,即将
fowiez等人
等。 国内对 VSP 的研究还处于刚刚起步的阶段,李军等人
商品从配送中心按一定的要求送到多个需求点。
以 C唱W 为基础的启发式算法对 VSP 进行了求解;赵燕伟等
本文主要讨论带有时间窗的车辆调度模型,完成第 i 个需
收稿日期: 2010唱07唱17; 修回日期: 2010唱08唱21 基金项目: 国家“863” 计划资助项目(2006AA04A123);重庆市自然科学基金资助项目
(CSTC.2008BB2173);国家教育部人文社会科学研究青年基金资助项目(09YJC630247)
作者简介: 葛显龙(1984唱),男,河南信阳人,博士研究生,主要研究方向为供应链管理与现代 物流(gexianlong@cqu.edu.cn);王旭(1963唱),
女,重庆人,教授,博导,主要研究方向为供应链管理与现代物流、项目管理.
研究了启发式算法求解多目标的车辆调度问题
[4]
人
人
[3]
计 算 机 应 用 研 究
·644·
求点的时间表示为 Ti,开始时间需要在[ETi,LTi] 内。 其中:
ETi 为任务 i 的允许最早开始时间;LTi 为任务 i 的允许最迟开
始时间。 如果车辆到达 i 的时间早于 ETi,车辆需要在 i 处等
待;反之,任务 i 要延迟进行。
时间窗约束又分为硬时间窗 VSP 和软时间窗 VSP。 硬时
间窗 VSP 指每项任务必须在要求的时间范围内完成,若超出
这个时间范围,则得到的解为不可行解。 软时间窗 VSP 指如
果某项任务不能在要求的时间范围内完成,则给予一定的惩
罚,车辆在要求时间之前到达需求点,则车辆在此等待,发生了
机会成本损失;车辆在指定时间之后到达需求点,则服务被延
迟,须支付一定的罚金。
2 建立模型
2畅1 一般 VSP 模型
一般来说,当约束的问题越多,线路的组织就越难,一台车
辆所完成的满足所有约束的任务就越少,这时,车辆实际所能
容纳的体积越越小,而所用的车辆数就越多。 为了使路线安排
具有一定的弹性,可预先估计完成任务所需要的车辆数:
m =[∑n
i =1qi /矪Q] +1
(1)
其中:[]表示对括号内的数取整;qi 表示需求点 i 的需求量;Q
表示车辆的装载体积;0 <矪<1,是对装车的复杂性程度及约束
条件限制的估计,一般的情况下,装车越复杂,约束越多,矪 应
越小,表示车辆所能容纳的货物量越少。
建立 VSP 问题的数学模型,首先给出决策变量:
xijk = 1 车辆由需求点 i 驶向需求点 j
yik = 1 需求点 i 的货运任务由车辆 k 完成
0 其他
0 其他
si =0
k =1max ∑n
k =1max ∑n
i =1qiyik -Q,0 +∑n
i =1qi yik -Q,0 +∑n
成目标函数式的一部分,即
xijk =1痴si +ti +Ti +tij =sj;i≠j
ETi≤si≤LTi;i =1,2,…,n
Pi =a ×max(ETi -si,0) +b ×max(si -LTi,0)
Pi =M ×max(ETi -si,0) +M ×max(si -LTi,0)
第 28 卷
i 的等待时间,Ti 表示完成任务 i 需要的时间,tij 表示车辆由需
求点 i 行驶到 j 的时间,[ETi,LTi]表示任务 i 的开始时间需要
在一定的时间范围内,则有以下关系式:
(10)
(11)
(12)
如果配送车辆到达 i 时的时间早于 ETi,或晚于 LTi,则配
送车辆要付出一定的惩罚费用。 配送车辆到达任务 i 的时间
为 Si,则惩罚费用为
(13)
其中:Pi 表示惩罚费用;a、b 为早到和晚到的惩罚系数。
如果任务 i 的开始时间要求配送车辆必须在[ETi,LTi] 内
到达,则惩罚费用为
(14)
其中:M 为早到和晚到的惩罚系数 +∞。
对于带有软时间窗限制的 VSP 问题,可将约束式(13) 变
成目标函数式的一部分,即
min Z =∑n
i =1Pi (15)
j =1∑m
i =1∑n
k =1cijxijk +M∑m
对于带有硬时间窗限制的 VSP 问题,可将约束式(14) 变
i =1Pi (16)
j =1∑m
i =1∑n
min Z =∑n
k =1cijxijk +M∑m
3 模型求解
3畅1 改进的遗传算法
本文构造的遗传算法是在基本遗传算法的基础上改进的,
具体步骤如下:
a)编码设计。 在此遗传编码上采用自然数编码,模型的
解向量可编成一条长度为 n +m +1 的染色体编码,如(0,i1,
i2,…,ie,0,if,…,ik,0,…,0,ip,…,iq,0),ij 表示某个线路上第
j 个需求点,0 表示车场,其数目为 m +1 个。
b)种群的初始化。 随机产生 n 个需求点的全排列,在首
尾处插入0,表示车辆从车场出发,最后又回到车场,如(0,i1,
i2,…,ie,0);然后计算∑e
j =1qij≥Q,ETi <si <LTi,否者
把0 向后移动一个位置。 重复上面的步骤,直到将 m -1 个 0
全部插入染色体内为止。 如此反复,直到产生满足种群数目。
c)适应度评价。 在此采用的适应度函数与 Z 一致,根据
实际情况可对后两项,即车辆载重体积和时间窗的惩罚限制进
行取舍,由此可见函数值越小的染色体越优良。
d)选择操作。 将所有染色体按照函数值大小进行排序并
编号,函数值越小越靠前。 假如一个规模为 P 的种群,函数值
最小的染色体编号为0,最大的染色体编号为 P -1。 随机产生
一个符合标准正态分布的随机数 r,因为 99畅9%的标准正态分
布随机数在[ -3,3]。 取 r倡 = r3 ( 若 r >3,则重新生成)。
在[0,1],t =r倡(P -1)。 选取第 t 号染色体进入新种
此时 r倡
群,由此选取染色体是越靠近0,概率越大,则选取较优的染色
体可能性就越高。
e)交叉操作。 VSP 问题具有组间无序、组内有序的特性,
j =1qij≤Q 且∑e +1
则数学模型如下:
∑m
k =1y0k =m
∑n
i =1xijk =yjk;j =1,2,…,n,k =1,2,…,m
∑n
j =1xijk =yik;i =1,2,…,n,k =1,2,…,m
min Z =∑n
i =1∑n
j =1∑m
k =1cijxijk
s.t.: ∑n
i =1qiyik≤Q;k =1,2,…,m
k =1yik =1;i =1,2,…,n
∑m
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
其中:n 表示需求点的个数;0 表示车场;cij 表示从点 i 到需求
点 j 的广义成本费用,根据目标的不同可以是距离、费用、时间
等不同的含义。
式(2)表示费用极小的目标函数;式(3) 表示车辆 k 承担
的任务量之和不大于车辆的载重量;式(4) 表示任务 i 只能由
一台车辆完成;式(5)表示由车场发出 m 辆车;式(6) 和(7) 表
示两个变量之间的关系;式(8)和(9)为0唱1 变量约束。
2畅2 带时间窗 VSP 模型
以 Si 表示车辆到达需求点 i 的时刻,ti 表示车辆在需求点
xijk(xijk -1) =0
yik(yik -1) =0
第 2 期
如果单纯地使用一般的交叉算子,往往会使些优良的子串被破
坏,并且在两父个体相同时,无法再产生新的个体。 在此采用
一种有效的交叉算子,是在传统的顺序交叉的基础上进行了改
进。 该交叉算子运用编码的特殊结构,即两个0 之间的基因码
表示两车的配送顺序,所以在选择交叉点时,要选择车场的位
置,即0 基因码。 在交叉时,并不是直接把选中的子串复制过
去,而是移位到首位。 这样既可以最大限度地保留已成为最优
路径的子路径,而且在两个双亲相同的情况下,该算子也会产
生新的染色体,在变异的配合下,就会产生新的有效染色体,从
而提高算法的寻优能力,降低过早收敛的性能,避免早熟现象
的产生。 其操作过程如下:
(a)子路线交叉复制。 选择两个染色体 A 和 B,在[1,m]
间随机产生两个自然数 r1 和 r2(在此假设 r1 <r2),若 r1 和 r2
对应染色体 A 中的基因码为0;否则,向左或向右移动到最近
的0,然后将选中的字串移到临时串 temp 的首位,其他依次
后移。
(b)确定剩下子路线位置。 删去染色体 B 中与选中子串
相同的基因码,得到后代需要的其他基因码的顺序;照此顺序,
从左到右替代 temp 中非选中的字串基因码,得到后代 A′,同
理照此方式得到另一后代 B′。
f)变异操作。 随机选择一个染色体,在[1,m +P] 间随机
产生两个自然数 t1 和 t2,若 t1 和 t2 对应的基因是非零的,交叉
其位置变异成新的基因;否则重新产生。
至此一次循环结束,重复上述步骤,根据遗传算法迭代次
数或种群的收敛停止循环,输出最终结果。
3畅2 算法流程
在随机产生的种群中进行世代的进化,按照适应度的高低
选择双亲,经过系列算子的操作产生优于父代的子代,用子代
代替父代,执行新一轮的进化,直到满足停止条件,产生最优个
体,获得最优解。 该算法的程序流程如图1 所示。
4 计算仿真及结果分析
4畅1 实例模拟
现以 10 个需求点为例,编号 为 1,2,…,10, 车 场 及 各
需求点的 节 点 坐 标 由 Maple 语 言 中 的 rand() 函 数 在[0,
100] ×[0,100] 的区域内随机产生,各需求点的需求量在
[0,8] 内随机产生。 M =106,Q =12 m3,每个需求点任务完
成实际时间 Ti =20 min,车辆行驶速度 v =45 km/h,随机数
据如表 1 所示。
葛显龙,等:基于改进遗传算法的有时间窗车辆调度问题研究
·744·
编号
(55,56)
0
0
—
6
(14,66)
5
.6
11:05 ~11:45
表 1 VSP 数据
2
1
(32,94)
(59,41)
.2
.3
2
2
14:50 ~15:20
9:00 ~9:30
8
7
(67,40)
(34,25)
.2
.8
3
1
9:50 ~10:25
14:00 ~14:30
4
(60,85)
坐标/km
3
.6
需求/t
10:05 ~10:45
时间/min
10
5
(19,46)
(36,71)
1
.6
.2
1
15:40 ~16:20
9:20 ~9:50
在此,采用坐标直线距离作为节点的实际距离,把时间的
损失转换为距离的损失。 令 矪=0畅9,则确定的车辆数为
3
(58,12)
6
.8
10:30 ~11:30
9
(75,79)
.4
3
11:00 ~11:25
m =[∑n
i =1qi /矪Q] +1 =4
由此,解得只有载重体积限制的 VSP 模型,最短配送距离
为346畅77 km,由三条配送线路来完成所有需求点的需求,分
别为:线路1:0 -1 -8 -3 -0;线路2:0 -5 -2 -4 -9 -0;线路
3:0 -6 -10 -7 -0,其行驶距离分别为123畅59 km,126畅07 km,
97畅09 km,具体线路如图2 所示。
求解带有硬时间窗的 VSP 模型,由上述给出的数据和4畅1
节的算 法, 迭 代 30 次, 得 到 最 优 解 为 501畅69 km, 线 路 1:
0 -8 -1 -10 -0;线路2:0 -2 -5 -4 -9 -0;线路3:0 -3 -0,
线路 4:0 -7 -6 -0,其行驶距离分别为 105畅74 km,142畅18
km,88畅20 km 和125畅26 km,具体线路如图3 所示。
4畅2 结果分析与比较
率及完成任务所用时间进行比较和分析,如表2 所示。
下面对不同限制的 VSP 模型从行驶线路、行驶距离、车载
表 2 三种模型求解的数据
模型
带有
体积限制
行驶线路
线路 1:0 -1 -8 -3 -0
线路 2:0 -5 -2 -4 -9 -0
线路 3:0 -6 -10 -7 -0
线路 1:0 -8 -1 -10 -0
线路 2:0 -2 -5 -4 -9 -0
线路 3:0 -3 -0
线路 4:0 -7 -6 -0
346
车载率/% 行驶距离/km 总距离/km
.5
87
.7
86
畅77
90
46
.7
87
.5
56
.7
.3
73
.59
.07
.09
.74
.18
.20
.26
123
126
97
105
142
88
125
带有硬
501
时间限制
畅69
由表2 中可知,只有体积限制的 VSP 问题从行驶线路、行
驶距离、车载率都能得到很好的优化,行驶总距离也是三种模
型最短的;对于带有硬时间窗的 VSP 问题,其违反时间窗造成
的损失很大,在此时只能以牺牲距离来保证时间的要求,所以
它的行驶总距离最大。
5 结束语
1)本文建立了有时间窗配送车辆调度问题的基于直观描
述的数学模型,该模型考虑了较为接近实际的约束条件和目标
函数,并具有简单、直观、易于理解、易于设计算法求解及可扩
充性强等特点。
( 下转第 450 页)
·054·
操作性指标 SM =10畅799 4,对应的冗余机械手的形状和 SM 曲
线如图4 所示。 从图4(a) 中可以发现,不仅冗余机械手整体
有着较高的可操作性,而且各个关节角(角度单位统一[rad])
大小也都很均衡,这也说明了以 SM 作为第二指标的优越性。
第 28 卷
计 算 机 应 用 研 究
4 结束语
本文在可操作性基础之上,结合 PSO 算法,提出了寻优可
操作性指标的方法,即以相关关节点为圆心、关节长度为半径
的圆周上的点坐标为算法粒子进行迭代优化。 根据优化结果
得到的各个关节点坐标就可以确定冗余机械手的形状,而且此
时的冗余机械手有着最优的可操作性。 进一步通过实验仿真,
不仅验证了本文所提出的寻优方法,而且肯定了以 SM 作为第
二指标来确定机械手形状的优越性。 这些不仅为以后进一步
理论上的三维研究提供了一些借鉴,也为实际工程应用提供了
方案。
参考文献:
[1] MACIEJEWSKI A A, KLEIN C A.Obstacle avoidance for kinemati唱
cally redundant manipulators in dynamically varying environments
[J].The International Journal of Robotics Research, 1985,4
(3):109唱117.
[2] NAKAMURA Y, HANAFUSA H, YOSHIKAWA T.Task priority
based redundancy control of robot manipulators[J].The Internatio唱
nal Journal of Robotics Research,1987,6(2):3唱15.
[3] YASHIKAWA T.Manipuator of roboticcs mechanisms[J].The In唱
ternational Journal of Robotics Research,1985,4(1):3唱9.
[4] KOEPPE R, YOSHIKAWA T.Dynamic manipulability analysis of
compliant motion[C] //Proc of IEEE/RSJ International Conference
on Intelligent Robots and Systems.Grenoble: [s.n.],1997:1472唱
1478.
[5] KENNEDY J, EBERHART R C.Particle swarm optimization[C] //
Proc of IEEE International Conference on Neural Networks.1995:
1942唱1948.
[6] 李新春,赵冬斌,易建强.一种全方位移动机械手的可操作度分析
[J].中国机械工程,2006,17(14):1442唱1447.
[7] SHI Yu唱hui, EBERHART R C.A modified particle swarm optimizer
[C] //Proc of IEEE Congress on Evolutionary Computation.1998:
63唱79.
3畅2 轨迹跟踪仿真
给定直角线段 ABC 为四关节冗余机械手手臂末端任务,
仿真过程从 A ~C 点开始等距离0畅1 m 采样一次。 当分别以
手臂末端可操作性指标 SM4 和整体最优可操作性指标 SM 为优
化目标函数时,在每个采样点位置根据上面已给出的方法分别
依次给出相应的机械手最优形状,整个过程如图5 所示。
从图5(a)中可以看出,由于采样点坐标的原因,在各个采
样点处与手臂末端最优可操作性指标 SM4 对应的各个关节角 q2
相比于对应的其他关节角都很小;而从(b)中可以看出,同一采
样点处,与最优 SM 对应的形状比与手臂末端最优 SM4 对应的形
状要优越得多,此时与各个形状对应的关节角之间都很均匀。
( 上接第 447 页)
2)本文设计改进的遗传算法求解有时间窗配送车辆调度
问题,即用自然数顺序编排车辆的行车路线,在交叉操作中避
免优秀基因被破坏,与现有文献中的求解算法相比,本文设计
的算法具有解的表示自然直观、算法策略易于理解、计算效率
较高、收敛速度较快的优点。
3)本文利用设计的算法对随机产生的有时间窗配送车辆
调度问题实例进行了实验计算,计算结果表明,用本文设计的
改进算法求解有时间窗配送车辆调度问题,不仅可以取得很好
的计算结果,而且算法的计算效率较高,收敛速度较快,计算结
果也较稳定。
参考文献:
[1] BERGEN J, BARKAOUI M.A parallel hybrid genetic algorithm for
the vehicle routing problem with time window [J].Computers &
Operations Research,2004,31(12):2037唱2053.
PISINGER D, ROPKE S.A general heuristic for vehicle routing
[2]
problems[ J].Computers & Operations,2007, 34 (8):2403唱
2435.
[3] JOZEFOWIEZ N, SEMET F, TALBI E G.Multi唱objective vehicle
routing problems [ J]. European Journal of Operational Re唱
search,2008,789(2):293唱309.
[4] 李军,郭耀煌.物流配送车辆优化调度理论与方法[M].北京:中
国物资出版社,2001.
[5] 赵燕伟,彭典军.有能力约束车辆路径问题的量子进化算法[J].
系统理论与实践,2009,29(2):159唱166.
[6] 李兵,郑四发.求解客户需求动态变化的车辆路径规划方法[J].
交通运输工程学报,2007,7(1):106唱110.
[7] 陈火根,丁 红 纲.物 流 配 送 中 心 车 辆 调 度 模 型 与 遗 传 算 法 设 计
[J].浙江大学学报,2003,37(5):513唱516.
研究[J].中国管理科学,2002,10(5):51唱56.
算法[J].东北大学学报,2006,27(1):65唱68.
[9] 宋伟刚,张宏霞,佟玲.有时间窗约束非满载车辆调度问题的节约
[8] 郎茂祥,胡思继.用混合遗传算法求解物流配送路径优化问题的