一种针对VRP问题的混合蚁群算法及其实现系统的制作方法

文档序号:14727099发布日期:2018-06-19 11:37阅读:433来源:国知局

本发明涉及物流的VRP(Vehicle Routing Problem,车辆路线问题)技术领域,特别是涉及一种针对VRP问题的混合蚁群算法及其实现系统。



背景技术:

随着互联网经济和贸易的发展,物流业的规模与日俱增,物流配送对经济活动的影响越来越显著。VRP(Vehicle Routing Problem,车辆路线问题)问题是配送优化的关键问题。对配送车辆路线进行优化能够有效降低配送成本,减少配送时间,提升用户满意度,因此研究该问题具有重要的现实意义。

VRP问题是一类NP(Non-deterministic Polynomial,多项式复杂程度的非确定性问题)完全问题,传统的精确算法难以在合理时间内进行求解,因此,用启发式算法求解近似解是人们研究该问题的一个重要方向。蚁群算法是模拟自然界中蚁群觅食行为而提出的一种启发式算法,该算法在求解VRP问题等组合优化问题性能较优,同时具有并行性,易于和其他算法结合等优点,但蚁群算法却存在容易陷入局部最优等缺陷。

目前针对蚁群算法的优化方法大部分集中在信息素更新过程,这些优化方法一般仍采用单一蚁群算法,优化空间十分有限。



技术实现要素:

为克服上述现有技术存在的不足,本发明之目的在于提供一种针对VRP问题的混合蚁群算法及其实现系统以蚁群算法和模拟退火算法两者的优点,达到对VRP问题求解质量高、鲁棒性强的目的。

为达上述及其它目的,本发明提出一种针对VRP问题的混合蚁群算法,包括如下步骤:

步骤S1,蚁群中的所有蚂蚁独立地构建VRP问题的解,并利用局部搜索操作优化该些解;

步骤S2,若迭代最优解在连续多个迭代中保持不变,则执行信息素扰动策略,对信息素矩阵进行调整,所述迭代最优解为单次迭代中所有蚂蚁构建的解当中的最优解;

步骤S3,若至今最优解在连续多个迭代中保持不变,则启动模拟退火算法搜索更优解,将蚁群算法的至今最优解作为其初始解;

步骤S4,根据蚂蚁解的质量更新信息素矩阵并更新至今最优解;

步骤S5,重复步骤S1至步骤S4,直至获得的至今最优解满足终止条件。

进一步地,所有蚂蚁独立地构建VRP问题的解,每只蚂蚁利用信息素和启发式信息,以概率选择方式寻路。

进一步地,蚂蚁k构建解的过程如下:

步骤S100,将蚂蚁k放到中心仓库,作为起点;

步骤S101,利用信息素和启发式信息,以一定概率迭代地从选择一个作为下一个访问的客户,直到集合为空;

步骤S102,蚂蚁k返回中心仓库;

步骤S103,重复上述三个步骤,直到所有客户都已经被访问,

其中,是位于客户点i的蚂蚁可直接到达的相邻客户点的集合。

进一步地,于步骤一中,当蚁群中的所有蚂蚁都独立地构建VRP问题的解后,采用倒置和交换两种局部搜索操作,首先将蚂蚁构建的解作为倒置操作初始解,然后持续利用倒置操作优化当前解直至没有优化空间,最后再利用交换操作进行优化直至没有优化空间。

进一步地,于步骤S2中,所述信息素扰动策略为:

其中为当前信息素矩阵中所有信息素的平均值,δ为扰动参数。

进一步地,于步骤S3中,模拟退火算法将蚁群算法的至今最优解作为初始解,并采用三种邻域操作来产生新的领域解,所述三种领域操作包括交换操作、倒置操作和插入操作。

进一步地,于步骤S3中所述模拟退火算法每次随机从三种操作中选择一种来产生新解,当搜索到更优解后,增加该更优解对应路径的信息素浓度。

进一步地,于步骤S3中,利用禁忌表记录最近搜索过的邻域。

进一步地,于步骤S4中,采用基于排序的蚁群系统更新所述信息素矩阵。

为达到上述目的,本发明还提供一种针对VRP问题的混合蚁群算法的实现系统,包括:

构建单元,用于对蚁群中的所有蚂蚁独立地构建VRP问题的解,并利用局部搜索操作优化该些解;

矩阵调整单元,于迭代最优解在连续多个迭代中保持不变时执行信息素扰动策略,对信息素矩阵进行调整,所述迭代最优解为单次迭代中所有蚂蚁构建的解当中的最优解;

模拟退化算法启动单元,于至今最优解在连续多个迭代中保持不变时启动模拟退火算法搜索更优解,将蚁群算法的至今最优解作为其初始解;

更新单元,用于根据蚂蚁解的质量更新信息素矩阵并更新至今最优解;

循环控制单元,用于重复该构建单元至更新单元,直至获得的至今最优解满足终止条件。

与现有技术相比,综上所述,本发明一种针对VRP问题的混合蚁群算法及其实现系统结合了蚁群算法和模拟退火算法,通过利用蚁群算法搜索可行解,并引入新的信息素扰动策略,于蚁群算法停滞在局部最优解后,启动模拟退火算法搜索更优解,于模拟退火算法执行完毕后,更新至今最优解并重新启动蚁群算法,本发明结合了蚁群算法和模拟退火算法两者的优点,具有求解质量高、鲁棒性强等优点。

附图说明

图1为本发明一种针对VRP问题的混合蚁群算法的步骤流程图;

图2为本发明一种针对VRP问题的混合蚁群算法的实现系统的系统架构图。

具体实施方式

以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。

图1为本发明一种针对VRP问题的混合蚁群算法的步骤流程图。如图1所示,本发明一种针对VRP问题的混合蚁群算法,包括如下步骤:

步骤S1,蚁群中的所有蚂蚁独立地构建VRP问题的解,并利用局部搜索操作优化这些解。在本发明具体实施例中,所有蚂蚁独立地构建VRP问题的解,每只蚂蚁利用信息素和启发式信息,以概率选择方式寻路

具体而言,蚂蚁k构建解的过程如下:

步骤S100,将蚂蚁k放到中心仓库,作为起点;

步骤S101,利用信息素和启发式信息,以一定概率迭代地从选择一个作为下一个访问的客户,直到集合为空;

步骤S102,蚂蚁k返回中心仓库;

步骤S103,重复上述三个步骤,直到所有客户都已经被访问。

其中,是位于客户点i的蚂蚁可直接到达的相邻客户点的集合,也就是指满足约束条件下,所有尚未被蚂蚁k访问的客户点集合。

当一个位于客户点i的蚂蚁k选择客户j作为下一个访问点的概率公式如下:

其中,和分别是信息素和启发式信息,α和β分别是信息素和启发式信息的权重值。在本发明中,概率选择下一个访问点过程采用轮盘赌选择法。

在步骤S1中,当蚁群中的所有蚂蚁都独立地构建VRP问题的解后,采用倒置(inversion)和交换(swap)两种局部搜索操作,即首先将蚂蚁构建的解作为倒置操作初始解,然后持续利用倒置操作优化当前解直至没有优化空间,最后再利用交换操作进行优化直至没有优化空间。

步骤S2,如果迭代最优解在连续多个迭代中保持不变,则执行信息素扰动策略,对信息素矩阵进行调整,所述迭代最优解是单次迭代中所有蚂蚁构建的解当中的最优解。也就是说,如果迭代最优解在连续多个迭代中有改变,就在步骤S1中继续进行,步骤S1中没有优化空间则进入步骤S2。

具体而言,在本发明实施例中,信息素扰动策略为:

其中,τ′ij为τij经过扰动后的值,是当前信息素矩阵中所有信息素的平均值,δ是扰动参数,δ=1时所有的信息素将完全平均化,相当于蚁群算法被重置;当δ=0时相当于扰动过程没有起任何作用。在完成一次信息素扰动之后,当蚂蚁以后路过客户点i时,将有很多的机会搜索不同的边。

步骤S3,如果至今最优解在连续多个迭代中保持不变,启动模拟退火算法搜索更优解,将蚁群算法的至今最优解作为其初始解。

具体而言,在本发明实施例中,模拟退火算法以蚁群算法获得的至今最优解作为初始解,使用三种邻域操作来产生新的邻域解:交换操作、倒置操作和插入操作。模拟退火算法每次随机从三种操作中选择一种来产生新解,并采用Metropolis准则判定是否接受新解。当搜索到更优解时,增加该解对应路径上的信息素浓度。此外,利用禁忌表记录最近搜索过的邻域,避免短时间内重复搜索同一邻域。

步骤S4,根据蚂蚁解的质量更新信息素矩阵并更新至今最优解。

具体而言,在本发明实施例中,采用基于排序的蚁群系统更新信息素矩阵,。

步骤S5,重复步骤S1至步骤S4,直至获得的至今最优解满足终止条件。具体地,终止条件一般是程序执行时间到达最大时间或算法到达最大迭代次数等,在此不予赘述。

图2为本发明一种针对VRP问题的混合蚁群算法的实现系统的系统架构图。如图2所示,本发明一种针对VRP问题的混合蚁群算法的实现系统,包括:

构建单元201,用于对蚁群中的所有蚂蚁独立地构建VRP问题的解,并利用局部搜索操作优化这些解。在本发明具体实施例中,所有蚂蚁独立地构建VRP问题的解,每只蚂蚁利用信息素和启发式信息,以概率选择方式寻路

具体而言,对蚂蚁k构建解的过程如下:

(1)将蚂蚁k放到中心仓库,作为起点;

(2)利用信息素和启发式信息,以一定概率迭代地从选择一个作为下一个访问的客户,直到集合为空;

(3)蚂蚁k返回中心仓库;

(4)重复上述三个步骤,直到所有客户都已经被访问。

其中,是位于客户点i的蚂蚁可直接到达的相邻客户点的集合,也就是指满足约束条件下,所有尚未被蚂蚁k访问的客户点集合。

当一个位于客户点i的蚂蚁k选择客户j作为下一个访问点的概率公式如下:

其中,和分别是信息素和启发式信息,α和β分别是信息素和启发式信息的权重值。在本发明中,概率选择下一个访问点过程采用轮盘赌选择法。

在构建单元201中,当蚁群中的所有蚂蚁都独立地构建VRP问题的解后,采用倒置(inversion)和交换(swap)两种局部搜索操作,即首先将蚂蚁构建的解作为倒置操作初始解,然后持续利用倒置操作优化当前解直至没有优化空间,最后再利用交换操作进行优化直至没有优化空间。

矩阵调整单元202,于迭代最优解在连续多个迭代中保持不变时,执行信息素扰动策略,对信息素矩阵进行调整,所述迭代最优解是单次迭代中所有蚂蚁构建的解当中的最优解。

具体而言,在本发明实施例中,信息素扰动策略为:

其中是当前信息素矩阵中所有信息素的平均值。δ是扰动参数,δ=1时所有的信息素将完全平均化,相当于蚁群算法被重置;当δ=0时相当于扰动过程没有起任何作用。在完成一次信息素扰动之后,当蚂蚁以后路过客户点i时,将有很多的机会搜索不同的边。

模拟退化算法启动单元203,于至今最优解在连续多个迭代中保持不变,启动模拟退火算法搜索更优解,将蚁群算法的至今最优解作为其初始解。

具体而言,在本发明实施例中,模拟退火算法以蚁群算法获得的至今最优解作为初始解,使用三种邻域操作来产生新的邻域解:交换操作、倒置操作和插入操作。模拟退火算法每次随机从三种操作中选择一种来产生新解,并采用Metropolis准则判定是否接受新解。当搜索到更优解时,增加该解对应路径上的信息素浓度。此外,利用禁忌表记录最近搜索过的邻域,避免短时间内重复搜索同一邻域。

更新单元204,用于根据蚂蚁解的质量更新信息素矩阵并更新至今最优解。

具体而言,在本发明实施例中,采用基于排序的蚁群系统更新信息素矩阵,。

循环控制单元205,用于重复构建单元201至更新单元204,直至获得的至今最优解满足终止条件。

综上所述,本发明一种针对VRP问题的混合蚁群算法及其实现系统结合了蚁群算法和模拟退火算法,通过利用蚁群算法搜索可行解,并引入新的信息素扰动策略,于蚁群算法停滞在局部最优解后,启动模拟退火算法搜索更优解,于模拟退火算法执行完毕后,更新至今最优解并重新启动蚁群算法,本发明结合了蚁群算法和模拟退火算法两者的优点,具有求解质量高、鲁棒性强等优点。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1