改进的蚁群算法在VRPTW中的应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[参考文献] [1]段海滨.蚁群算法原理及其应用[M].北京.科学 出版社,2005,12. [2] 黄 席 樾 , 张 著 洪 , 何 传 江 等 . 现 代 智 能 算 法 理 论 及应用[M].北京.科学出版社,2005,4. [3] Marco Dorigo,Luca Maria Gambardella. Ant Colony System:A Cooperative Learning Approach to the Traveling Salesman Problem [J ].IEEE Transaction on Evolutionary Computation,1997,1(4). [4]Marco Dorigo,V Maniezzo,A Colorni.The Ant Systems: Optimization by a colony of cooperating agents [J].IEEE Transactions on Systems,Man,and Cybernetics,1996,26. [5] 陈 棱 , 沈 洁 , 秦 玲 等 . 基 于 分 布 均 匀 度 的 自 适 应 蚁群算法[J].软件学报,2003,14(8). [6] 覃 刚 力 , 杨 家 本 . 自 适 应 调 整 信 息 素 的 蚁 群 算 法[J].信息与控制,2002,6. [7] 刘 哲 , 李 建 国 . 基 于 带 时 间 窗 口 车 辆 路 径 问 题 的蚁群算法[J].控制工程,2006,3.
量 Q,在路径上的信息素随搜索过程蒸发或增多的情 况下,继续在人工蚂蚁的随机搜索和路径信息的启发 作用之间继续保持“探索”和“利用”的平衡。 Q(t)可选 择阶梯函数:
其中, (i=1,2,3)对应阶梯函数的不同取值,当
然 Q(t)也可选择连续函数。 这样就可以实时判断算法
的搜索状态,对算法进行监控。 如果一段时间内获得
· 57 ·
2010 年第 1 期
电力职业技术学刊
No.1,2010
挥发系数。 最后计算每一只蚂蚁所走过的路径 L,并保存最
短路径。 三、改进的蚁群算法 蚁群算法主要利用正反馈原理强化较优解,当进
化到一定代数后就容易因为较优解的信息量不断强 化使得蚂蚁大量聚集于较少的几条路径上, 出现早 熟、停滞现象,使得到的最优解为局部最优。 因此,既 要使得该算法的搜索空间尽可能的大,以寻找那些可 能存在最优解的解区间, 同时充分利用群体内当前 具有的有效信息,使得算法搜索的侧重点放在那些可 能具有较高适应值的个体所在的区间内,以缩短搜索 时间大概率收缩到全局最优解,本文主要从信息素的 变化方面进行了改进,根据计算的进程动态调整信息 量,以加速收敛和防止早熟、停滞现象的发生。
六、算例分析
本文利用 Solomn 的 VRP 标准算例库进行了检测。
算法参数的取值为:
, 利用 vc++语言进行了算法编程, 对 RC1 和 RC2 进
行了计算,迭代次数为 300 次,并与现存 的 一 些 其 它
从表中可以看出,在 RC1 类里,车辆数的计算中 ACO 的结果最好, 在 RC2 类里,车辆数的计算中 ACO 的结果最好,运行距离比 SA 好,比 GA 结果稍差。 综合 来看,蚁群算法计算结果稳定,计算效率较高。
寻得的解上留下一定的信息量。 解的性能越好蚂蚁
留在其上的信息量越大, 而信息量越大的解被再次
选择的可能性也越大。 在算法的初级阶段所有解上
的信息量是相同的,随着算法的推进,较优解上的信
息量逐渐增加, 算法最终收敛到最优解或近似最优
解。 算法主要由选择策略、信息素更新和局部搜索算
法组成, 以下以 TSP 为例来说明蚁群算法的基本框
高,挥发越快。 这样可以防止信息浓度无限制的增长,
可减少陷入局部最优的可能。 为此我们将挥发系数
由常数 变为以
为变量的函数。 Lmin 和 Lmax 分别
表示最短与最长回路的长度。 如果某条路径属于最
优路径,的值小,则
的值增加,所以
的
值随之增加,加快收敛速度。 同时,采用时变函数 Q(t)来代替为常数项的信息
Algorithm)。自从蚁群算法在著名的旅行商问题(TSP)
上取得成效以来, 已陆续渗透到很多其他问题的求
解上, 本文是将改进的蚁群算法应用到了带时间窗
的车辆路径问题上, 从数值计算上探索了蚁群算法
的寻优能力。
二、蚁群算法(ACA)
该算法的原理就是对真实蚁群协作过程的模
拟,每只蚂蚁在候选解的空间中独立搜索解,并在所
定载重, 求解合理安排使总的运输成本最小(包括车
辆数 k 和车辆行驶路径),并满足以下的约束条件:
(1) 每条路径的服务总重量不超过车辆固定载
重;
(2) 所有车辆都从配送中心出发, 并返回配送中
心;
(3) 每一个客户点的需求必须满足, 且只被一辆
车服务;
(4)满足客户的时间窗要求。
VRPTW 数学模型:
剩余容量 C;
步骤 3 对每个蚂蚁 k, 将其初始出发点置于配
送中心,当客户 j 的需求量小于车辆的剩余容量的约 束并且在客户 j 的服务时间内, 则按转移概率kPij 的
大小移动蚂蚁 k 至客户 j, 将客户 j 置于当前解集中,
从车辆剩余容量中减去 j 的需求; 否则, 重新选择客
户,当无法找到满足要求的客户 j,选择配送中心作为
义为
,则有:
· 58 ·
2010 年第 1 期
电力职业技术学刊
No.1,2010
启发式算法得到的最优解进行了比较,结果如下表。 计算结果(平均值)比较表
五、改进的蚁群算法在 VRPTW 中的应用
根据 VRPTW 问题设计算法,每只蚂蚁都从配送
中心开始路径的巡游,出发寻找下一个客户点,增加
车 辆 载 重 和 车 辆 的 服 务 时 间 窗 作 为 tabu 表 中 的 约
束,在寻找过程中无法找到可行的下一个客户的时候
返回配送中心, 然后再从配送中心继续出发直至所
有的客户点都被访问。 根据这一思路,算法具体步骤
大致可表示如下:
步骤 1 采用启发式算法建立初始解
步骤 2 初始化,设置蚂蚁的数量为 m,迭代次数
NC=0,对各支路(i,j)置
Baidu Nhomakorabea
=c (c 为较小的正数),车辆
当 前 点 ,并 将 载 重 恢 复 到 最 初 值 , 按 (4) 式 更 新 相 应 边
的信息素。 如此重复上面的步骤直到本次迭代的所
有 客 户 点 都 被 访 问 , 按 (5) 进 行 该 次 迭 代 的 信 息 素 全
局更新,置 NC=NC+1。
步骤 4 若 NC 大于预定的迭代次数,则计算输出 非劣解否则,转步骤 3。
若用 qf 表车辆的固定载重,di 表客户点 i 的需求
量 ,si 表 在 客 户 点 i 的 服 务 时 间 ,ei 表 最 早 到 达 客 户
点 i 的时间,li 表最晚到达客户点 i 的时间,cf 表车辆
的 固 定 费 用 ,cij 表 从 客 户 点 i 到 客 户 点 j 的 综 合 费 用,tij 表从客户点 i 到客户点 j 的旅行时间,bki 表在客 户点 i 时车辆 xkij 的开始服务时间, xkij 表决策变量,定
1.局部信息量的更新方式 蚂蚁完成一次解的构造后, 对整个图上的信息 量按(4)式进行局部更新。
(4)
其中,w 为[0,1]间的一个参数,
为本
条路径上的信息量的初值,这样,我们就可以通过调
整权值 w, 使本条路径在 t+1 时刻的信息量同时兼顾
t 时刻与初始信息量, 避免信息量值的过快增长。
2.全局信息量的更新方式
群算法进行了改进, 优化了其搜索优化解的能力和收敛速度, 通过 实例计算证明改进后的蚁群算法对 VRPTW 问
题的解决是有效的。
[关键词] 蚁群算法; 带时间窗的车辆路径问题; 信息素
[中图分类号] O29
[文 献 标 识 码 ]A
[文 章 编 号 ]O280(2010)01-0057-03
一、引言
A New Method for Sloving Vehicle Routing Problem with
Time Windows Using Ant Colony Algorithm
Huang Qian1 Wang Shuqin2
(1 Economy and Management Department of Changsha Electric Power Technical College, Hunan Changsha 410131)
(3) 其中
蚂蚁 k 在本次周游经过支路(i,j) otherwise
Q 为一个常数,表示蚂蚁完成一次周游释放的信 息素的总量,Lk 表示蚂蚁 k 走过的路径总长度, 为
[收稿日期] [作者简介]
2010-03-16 ①黄茜(1983-),女,河南正阳人,硕士研究生,助教。 主要研究方向:高等数学教学与人工智能算法研究。 ②王书勤(1976-),男,湖南祁东人,硕士研究生,讲师。 主要研究方向:高等数学教学与人工智能算法研究。
架。设有 n 个城市,m 个蚂蚁,
代表
城市 i 和城市 j 之间的距离; 为 i 和 j 间距离的倒
数, 为边(i,j)上的自启发量,表示由城市 i 转移到城市
j 的期望程度 ; 表示 t 时刻城市 i 和 j 之间的信
息量;
表示蚂蚁 k 访问支路 (i,j) 后释放的信息
量; 表示蚂蚁 k 由 i 向 j 的转移概率。
经过上述局部信息量更新方式的改进,使得某些
局部最优路径上信息量的增长不至过快,会对全局收
敛的速度产生一定的影响。 为此,我们在对信息量进
行全局更新时也要采用相应的策略。 对最短回路及
最长回路上的信息量按(5)式进行全局更新。
(5) 其中
(6)
式中对挥发系数 做了变动, 基本的蚁群算法
中它是一个常数。 而在真实世界中信息素的浓度越
2010 年第 1 期
电力职业技术学刊
No.1,2010
改进的蚁群算法在 VRPTW 中的应用
黄茜 1 王书勤 2
(1 长沙电力职业技术学院经济管理系, 湖南 长沙 410131) (2 武警长沙指挥学院, 湖南 长沙 410125)
[摘 要] 本文针对带时间窗的车辆路径问题 (VRPTW,Vehicle Routing Problem with Time Windows)的特点,对蚁
的最优解没有变化,则采用强制机制,减小要添加的
信息素,使其从局部极小值中逃脱出来。 同时对每条
边上的信息量限制在
之间,这样可以扩大
解的搜索空间,也可在一定程度上避免早熟、停滞现
象。
四、带时间窗的车辆路径问题(VRPTW)
本 文 的 VRPTW 问 题 是 指 一 个 配 送 中 心 , 对 n
个客户进行服务, 假定每个客户的需求量均小于额
(2 Changsha Armyed Police Force Commanding College,Hunan Changsha 410125) Abstract: Based on the characteristics of Vehicle Routing Problem with Time Windows (VRPTW), an improved Ant Colony Algorithm is proposed in this paper, the ability of finding efficient solutions and the convergence speed is improved in this algorithm, and the computational experiment demonstrate the improved algorithm is efficient to the VRPTW.
蚂蚁在生物界并不是一种非常聪明的昆虫,单
个蚂蚁的行为极其简单, 但由单个简单的蚂蚁所组
成的蚁群却能表现出非常复杂有序的集体行为,能
够找到由巢穴到食物源的最短路径。1991 年,意大利
学者 Marco Dorigo 等据此便提出了一种仿生寻优算
法 , 那 就 是 著 名 的 蚁 群 算 法 (ACA,Ant Colony
初始时刻各条路径上的信息量相等
(c
为常数),蚂蚁 k 按(1)式由城市 i 来选择下一城市 j 。
(1)
(2) 式 中,0≤ q0≤1 为 均 匀 分 布 在[0,1]上 的 一 个 随 机变量,α 和 β 是两个可以调整的参数, 分别代表信 息量对所选路径所起作用的大小和自启发量的权重, tabu 为禁忌表。 当所有蚂蚁都完成了周游后, 每个环路上的信 息量都会得到更新, 称为信息素的全局更新,更新的 方式如下
七、结论 VRPTW 问题是 NP-hard 问题,大规模的 VRPTW 问题精确求解非常困难, 笔者通过对 VRPTW 问题的 分析, 建立了一种基于 VRPTW 问题的动态自适应蚁 群算法,试验并对其运算过程和结果进行分析证明该 算法性能较好,能较快地找到问题的满意解,是求解带 时间窗车辆路径问题的一个较好的算法。
量 Q,在路径上的信息素随搜索过程蒸发或增多的情 况下,继续在人工蚂蚁的随机搜索和路径信息的启发 作用之间继续保持“探索”和“利用”的平衡。 Q(t)可选 择阶梯函数:
其中, (i=1,2,3)对应阶梯函数的不同取值,当
然 Q(t)也可选择连续函数。 这样就可以实时判断算法
的搜索状态,对算法进行监控。 如果一段时间内获得
· 57 ·
2010 年第 1 期
电力职业技术学刊
No.1,2010
挥发系数。 最后计算每一只蚂蚁所走过的路径 L,并保存最
短路径。 三、改进的蚁群算法 蚁群算法主要利用正反馈原理强化较优解,当进
化到一定代数后就容易因为较优解的信息量不断强 化使得蚂蚁大量聚集于较少的几条路径上, 出现早 熟、停滞现象,使得到的最优解为局部最优。 因此,既 要使得该算法的搜索空间尽可能的大,以寻找那些可 能存在最优解的解区间, 同时充分利用群体内当前 具有的有效信息,使得算法搜索的侧重点放在那些可 能具有较高适应值的个体所在的区间内,以缩短搜索 时间大概率收缩到全局最优解,本文主要从信息素的 变化方面进行了改进,根据计算的进程动态调整信息 量,以加速收敛和防止早熟、停滞现象的发生。
六、算例分析
本文利用 Solomn 的 VRP 标准算例库进行了检测。
算法参数的取值为:
, 利用 vc++语言进行了算法编程, 对 RC1 和 RC2 进
行了计算,迭代次数为 300 次,并与现存 的 一 些 其 它
从表中可以看出,在 RC1 类里,车辆数的计算中 ACO 的结果最好, 在 RC2 类里,车辆数的计算中 ACO 的结果最好,运行距离比 SA 好,比 GA 结果稍差。 综合 来看,蚁群算法计算结果稳定,计算效率较高。
寻得的解上留下一定的信息量。 解的性能越好蚂蚁
留在其上的信息量越大, 而信息量越大的解被再次
选择的可能性也越大。 在算法的初级阶段所有解上
的信息量是相同的,随着算法的推进,较优解上的信
息量逐渐增加, 算法最终收敛到最优解或近似最优
解。 算法主要由选择策略、信息素更新和局部搜索算
法组成, 以下以 TSP 为例来说明蚁群算法的基本框
高,挥发越快。 这样可以防止信息浓度无限制的增长,
可减少陷入局部最优的可能。 为此我们将挥发系数
由常数 变为以
为变量的函数。 Lmin 和 Lmax 分别
表示最短与最长回路的长度。 如果某条路径属于最
优路径,的值小,则
的值增加,所以
的
值随之增加,加快收敛速度。 同时,采用时变函数 Q(t)来代替为常数项的信息
Algorithm)。自从蚁群算法在著名的旅行商问题(TSP)
上取得成效以来, 已陆续渗透到很多其他问题的求
解上, 本文是将改进的蚁群算法应用到了带时间窗
的车辆路径问题上, 从数值计算上探索了蚁群算法
的寻优能力。
二、蚁群算法(ACA)
该算法的原理就是对真实蚁群协作过程的模
拟,每只蚂蚁在候选解的空间中独立搜索解,并在所
定载重, 求解合理安排使总的运输成本最小(包括车
辆数 k 和车辆行驶路径),并满足以下的约束条件:
(1) 每条路径的服务总重量不超过车辆固定载
重;
(2) 所有车辆都从配送中心出发, 并返回配送中
心;
(3) 每一个客户点的需求必须满足, 且只被一辆
车服务;
(4)满足客户的时间窗要求。
VRPTW 数学模型:
剩余容量 C;
步骤 3 对每个蚂蚁 k, 将其初始出发点置于配
送中心,当客户 j 的需求量小于车辆的剩余容量的约 束并且在客户 j 的服务时间内, 则按转移概率kPij 的
大小移动蚂蚁 k 至客户 j, 将客户 j 置于当前解集中,
从车辆剩余容量中减去 j 的需求; 否则, 重新选择客
户,当无法找到满足要求的客户 j,选择配送中心作为
义为
,则有:
· 58 ·
2010 年第 1 期
电力职业技术学刊
No.1,2010
启发式算法得到的最优解进行了比较,结果如下表。 计算结果(平均值)比较表
五、改进的蚁群算法在 VRPTW 中的应用
根据 VRPTW 问题设计算法,每只蚂蚁都从配送
中心开始路径的巡游,出发寻找下一个客户点,增加
车 辆 载 重 和 车 辆 的 服 务 时 间 窗 作 为 tabu 表 中 的 约
束,在寻找过程中无法找到可行的下一个客户的时候
返回配送中心, 然后再从配送中心继续出发直至所
有的客户点都被访问。 根据这一思路,算法具体步骤
大致可表示如下:
步骤 1 采用启发式算法建立初始解
步骤 2 初始化,设置蚂蚁的数量为 m,迭代次数
NC=0,对各支路(i,j)置
Baidu Nhomakorabea
=c (c 为较小的正数),车辆
当 前 点 ,并 将 载 重 恢 复 到 最 初 值 , 按 (4) 式 更 新 相 应 边
的信息素。 如此重复上面的步骤直到本次迭代的所
有 客 户 点 都 被 访 问 , 按 (5) 进 行 该 次 迭 代 的 信 息 素 全
局更新,置 NC=NC+1。
步骤 4 若 NC 大于预定的迭代次数,则计算输出 非劣解否则,转步骤 3。
若用 qf 表车辆的固定载重,di 表客户点 i 的需求
量 ,si 表 在 客 户 点 i 的 服 务 时 间 ,ei 表 最 早 到 达 客 户
点 i 的时间,li 表最晚到达客户点 i 的时间,cf 表车辆
的 固 定 费 用 ,cij 表 从 客 户 点 i 到 客 户 点 j 的 综 合 费 用,tij 表从客户点 i 到客户点 j 的旅行时间,bki 表在客 户点 i 时车辆 xkij 的开始服务时间, xkij 表决策变量,定
1.局部信息量的更新方式 蚂蚁完成一次解的构造后, 对整个图上的信息 量按(4)式进行局部更新。
(4)
其中,w 为[0,1]间的一个参数,
为本
条路径上的信息量的初值,这样,我们就可以通过调
整权值 w, 使本条路径在 t+1 时刻的信息量同时兼顾
t 时刻与初始信息量, 避免信息量值的过快增长。
2.全局信息量的更新方式
群算法进行了改进, 优化了其搜索优化解的能力和收敛速度, 通过 实例计算证明改进后的蚁群算法对 VRPTW 问
题的解决是有效的。
[关键词] 蚁群算法; 带时间窗的车辆路径问题; 信息素
[中图分类号] O29
[文 献 标 识 码 ]A
[文 章 编 号 ]O280(2010)01-0057-03
一、引言
A New Method for Sloving Vehicle Routing Problem with
Time Windows Using Ant Colony Algorithm
Huang Qian1 Wang Shuqin2
(1 Economy and Management Department of Changsha Electric Power Technical College, Hunan Changsha 410131)
(3) 其中
蚂蚁 k 在本次周游经过支路(i,j) otherwise
Q 为一个常数,表示蚂蚁完成一次周游释放的信 息素的总量,Lk 表示蚂蚁 k 走过的路径总长度, 为
[收稿日期] [作者简介]
2010-03-16 ①黄茜(1983-),女,河南正阳人,硕士研究生,助教。 主要研究方向:高等数学教学与人工智能算法研究。 ②王书勤(1976-),男,湖南祁东人,硕士研究生,讲师。 主要研究方向:高等数学教学与人工智能算法研究。
架。设有 n 个城市,m 个蚂蚁,
代表
城市 i 和城市 j 之间的距离; 为 i 和 j 间距离的倒
数, 为边(i,j)上的自启发量,表示由城市 i 转移到城市
j 的期望程度 ; 表示 t 时刻城市 i 和 j 之间的信
息量;
表示蚂蚁 k 访问支路 (i,j) 后释放的信息
量; 表示蚂蚁 k 由 i 向 j 的转移概率。
经过上述局部信息量更新方式的改进,使得某些
局部最优路径上信息量的增长不至过快,会对全局收
敛的速度产生一定的影响。 为此,我们在对信息量进
行全局更新时也要采用相应的策略。 对最短回路及
最长回路上的信息量按(5)式进行全局更新。
(5) 其中
(6)
式中对挥发系数 做了变动, 基本的蚁群算法
中它是一个常数。 而在真实世界中信息素的浓度越
2010 年第 1 期
电力职业技术学刊
No.1,2010
改进的蚁群算法在 VRPTW 中的应用
黄茜 1 王书勤 2
(1 长沙电力职业技术学院经济管理系, 湖南 长沙 410131) (2 武警长沙指挥学院, 湖南 长沙 410125)
[摘 要] 本文针对带时间窗的车辆路径问题 (VRPTW,Vehicle Routing Problem with Time Windows)的特点,对蚁
的最优解没有变化,则采用强制机制,减小要添加的
信息素,使其从局部极小值中逃脱出来。 同时对每条
边上的信息量限制在
之间,这样可以扩大
解的搜索空间,也可在一定程度上避免早熟、停滞现
象。
四、带时间窗的车辆路径问题(VRPTW)
本 文 的 VRPTW 问 题 是 指 一 个 配 送 中 心 , 对 n
个客户进行服务, 假定每个客户的需求量均小于额
(2 Changsha Armyed Police Force Commanding College,Hunan Changsha 410125) Abstract: Based on the characteristics of Vehicle Routing Problem with Time Windows (VRPTW), an improved Ant Colony Algorithm is proposed in this paper, the ability of finding efficient solutions and the convergence speed is improved in this algorithm, and the computational experiment demonstrate the improved algorithm is efficient to the VRPTW.
蚂蚁在生物界并不是一种非常聪明的昆虫,单
个蚂蚁的行为极其简单, 但由单个简单的蚂蚁所组
成的蚁群却能表现出非常复杂有序的集体行为,能
够找到由巢穴到食物源的最短路径。1991 年,意大利
学者 Marco Dorigo 等据此便提出了一种仿生寻优算
法 , 那 就 是 著 名 的 蚁 群 算 法 (ACA,Ant Colony
初始时刻各条路径上的信息量相等
(c
为常数),蚂蚁 k 按(1)式由城市 i 来选择下一城市 j 。
(1)
(2) 式 中,0≤ q0≤1 为 均 匀 分 布 在[0,1]上 的 一 个 随 机变量,α 和 β 是两个可以调整的参数, 分别代表信 息量对所选路径所起作用的大小和自启发量的权重, tabu 为禁忌表。 当所有蚂蚁都完成了周游后, 每个环路上的信 息量都会得到更新, 称为信息素的全局更新,更新的 方式如下
七、结论 VRPTW 问题是 NP-hard 问题,大规模的 VRPTW 问题精确求解非常困难, 笔者通过对 VRPTW 问题的 分析, 建立了一种基于 VRPTW 问题的动态自适应蚁 群算法,试验并对其运算过程和结果进行分析证明该 算法性能较好,能较快地找到问题的满意解,是求解带 时间窗车辆路径问题的一个较好的算法。