求解多目标多旅行商问题的非支配排序遗传算法(NSGA-II)

(还没翻译好)

英文:A multiobjective non-dominated sorting genetic algorithm (NSGA-II) for the Multiple Traveling Salesman Problem

其他关于多旅行商问题(MTSP)的相关文章见个人主页:多旅行商问题(MTSP)的相关论文总结_脑电永不过时的博客-CSDN博客

本文多次提到Pareto(帕雷托)理论:可以自行百度

摘要

本文考虑多目标多旅行商问题(MOmTSP)。特别地,考虑了两个目标:总旅行距离的最小化和旅行推销员工作时间的平衡。该问题被描述为一个整数多目标优化模型。提出了一种非支配排序遗传算法(NSGA-II)来求解MOmTSP。该解方案通过考虑优势的概念,可以在(帕累托前沿)Pareto front找到一组有序解。通过对真实世界实例和改编自文献的实例的测试,证明了该算法的有效性。

1、介绍

多旅行商问题(MTSP)是著名旅行商问题(TSP)的推广,该问题在考虑多个哈密顿旅行(amiltonian tours )时产生。MTSP是NP难的,在运输和物流(校车路线、邮件递送等)方面有许多应用。Bektas(2006年)审查了与MTSP及其实际应用有关的文献。在这项工作中,强调了不同的公式,并描述了解决问题的精确和不同的启发式方法。Hong和Padberg(1977)以及Rao(1980)提出了考虑MTSP的早期工作。Hong和Padberg(1977)考虑了固定电荷MTSP(FCSmTSP)的对称版本。将FCSmTSP问题转化为标准对称旅行商问题(STSP)。Rao(1980)考虑了具有固定电荷的MTSP的对称和非对称版本。在这项工作中,这两个问题都被转换为相应的TSP标准版本。Laporte和Nobert(1980)通过考虑子行程消除和完整性约束,提出了一种精确的MTSP方法。Gavish和Srikanth(1987)提出的算法认为,所有旅行推销员都必须使用执行的哈密顿循环(Hamiltonian cycles.)。Jonker和Volgenant(1988)也考虑了这一假设。在这项工作中,通过考虑欧几里德和非欧几里德实例,提出了MTSP标准公式的推广。

Soffe et al.(2002)、Junjie和Dingwei(2006)、Zhao et al.(2008)、Király和Abonyi(2011)以及Yu et al.(2012)提出了基于种群的MTSP元启发式算法。Hou和Liu(2012)以及Levin和Yovel(2012)提出了基于局部搜索的启发式算法。Tang等人(2000年)和Kergosien等人(2009年)提出了针对现实世界问题成功实施MTSP的建议。Tang等人(2000年)考虑了中国一家钢铁公司的热轧进度计划。采用改进的遗传算法进行求解。Kergosien等人(2009年)考虑了将患者分配给护士的问题。针对实际情况,提出了一种混合整数线性规划模型。然而,只有少数工作考虑了MTSP的多目标版本(MOmTSP)。Chang和Yen(2012)考虑了城市快递服务的路径问题。通过考虑硬时间窗口(MOmTSPTW),将问题描述为一个MOmTSP。为了降低运营成本,提高服务水平,提出了一种多目标分散搜索算法。该方法可以找到一组Pareto最优解。

Shim等人(2012年)提出了MOmTSP的数学公式,该公式将目标函数视为旅行推销员的全球旅行距离和推销员旅行距离的加权和的最小化。采用梯度搜索的分布估计算法(EDA)求解所考虑的问题。最后,Labadie et al.(2014)考虑了MOmTSP的一个版本,其中的目标是通过覆盖一组潜在客户来确定m个周期,最大化相应的效益并最小化总行程。针对这一问题,提出了一种基于路径重链接(PR)策略的进化算法。

在本文中,我们通过考虑两个目标来介绍新版本的MOmTSP:

i)总行程的最小化

ii)推销员旅行时间的平衡。

针对该问题,我们提出了一种多目标非支配排序遗传算法NSGA-II。该解方案允许人们找到一组在帕累托优势(Pareto dominance)概念下排序的解,再加上通过在每个帕累托前沿上叠加距离和在整个帕累托前沿范围内的几何分布来选择精英解的方案。在每个生成周期,该算法允许一个人生成不同的种群。此外,还采用了一种局部搜索策略,该策略使用不同的邻域结构,如移位(1.0)、交换(1,1)和2-Opt移动。将这种局部搜索策略与NSGA-II的传统方法相结合,并使用多样性策略,可以获得高质量的结果。在真实实例和文献中的自适应实例上的计算实验表明了该算法的有效性。

2、问题描述

MTSP可以用一个完整的(有向或无向)图来定义𝐺(𝑉,𝐴),  𝑉\ {0}是𝑛要访问的节点(客户),节点0是站点,以及𝐴 是连接节点的圆弧集。A.𝑐ijk值与每个弧相关联(𝑖,𝑗), 这是由销售人员k通过的. 矩阵𝐶 当考虑无向图时是对称的,否则是不对称的。巡更的行程距离计算为属于该巡更的弧的长度之和。

此外,每个弧的推销员旅行时间(𝑖,𝑗) A的𝑡ijk. 旅行的旅行时间(即推销员的工作时间)计算为属于旅行的弧的旅行时间之和。

给定一个整数𝑚, 解决的问题包括查找𝑚 个节点。每个节点必须由旅行团(即旅行推销员)仅访问一次,以使总旅行距离最小化,并且旅行推销员的工作时间彼此相似。

2.1 多目标优化

多目标优化问题考虑多个相互冲突的目标。这意味着一个目标的高质量解决方案可能是另一个目标的低质量解决方案。特别是,传统的优化方法不能提供对所考虑问题的所有目标都有利的解决方案。多目标优化问题可以通过一个由一组ℎ 必须最小化或最大化的目标函数,受一组𝑚 不等式约束,一组𝑙中的等式约束和上下限𝑘 决策变量,如下所示:

 3、数学模型

MOmTSP可表示为具有两个目标函数的多目标整数线性模型。第一个目标函数(1)考虑所有销售人员行驶距离的最小化,而第二个目标函数(2)考虑销售人员工作时间的平衡,即销售人员的行驶时间彼此相似。每个弧(𝑖,𝑗) 属于𝐺, 关联一个二进制变量,如果弧(𝑖,𝑗) 被销售员k经历过则进入最终解,否则为0。

 此外,该问题还受到以下一组约束:

 式(5)和式(6)与程度限制相关,并确保每个节点(仓库节点除外)仅由一个旅行推销员访问一次。等式(7)和等式(8)确保每个旅行推销员必须离开并返回仓库节点。称为连通性约束的约束(9)避免在最终解决方案上生成子行程。最后,约束条件(10)规定决策变量是二进制的。

该算法从大小为𝑁的可行解(父解)的总体开始(其中𝑁 是给定参数),称为𝑃𝑡, 由初始化过程随机生成。从pt起, 人口𝑄𝑡, 大小为𝑁的可行解(后代) (其中𝑁 是一个给定的参数)通过使用选择、重组和变异操作符创建。在本文中,根据目标函数使用事件选择生成子代人口𝑍𝑍1如前一节所述。之后,对由重组过程产生的溶液执行重组过程和改进过程(突变算子)。最后,对父母和后代的群体进行组合以获得群体𝑅𝑅𝑡𝑡 尺寸为2𝑁𝑁 (其中𝑁𝑁 是给定参数)。人口𝑅𝑅𝑡𝑡 按帕累托前沿组织,从质量最好的前沿到质量最差的前沿进行排序和排序(𝐹𝐹1.𝐹𝐹2.𝐹𝐹𝑁𝑁), 利用帕累托优势的概念。

4.1、支配概念

将优势概念应用于多目标问题,比较两个候选解𝑋1.𝑋2,并确定一个解决方案是否支配另一个解决方案。特别是,优势度是一种解决方案分类的方法,可确保在生成的总体中选择最佳解决方案𝑅𝑡。

定义4.1:给出两种解决方案𝑋1和𝑋2、解决方案𝑋1,主方案𝑋2、如果满足以下条件:

1.对于所有目标,解决方案𝑋1不比𝑋2差

2.对于至少一个目标V,解决方案𝑋1严格优于𝑋2

当成套设备𝑅𝑡根据上述标准进行分类,最好占主导地位𝑁选择解决方案,使人口𝑃𝑃𝑡𝑡+这一过程由受控的精英选择执行,这允许每个战线在下一代中至少有一个代表它的解决方案。

4.1.1、NSGA-II中的可控精英主义

我们建议保持解决方案的预定分布,以便在进化过程的每一代中保持不同的群体。因此,每个帕累托前沿都为下一代提供了解决方案。特别地,使用几何分布。来自人群𝑅𝑅𝑡𝑡尺寸为2𝑁𝑁组织于𝑘𝑘 非主导战线,最大数量𝑁𝑁𝑖𝑖前端解决方案𝑖𝑖 (𝑖𝑖 = 1.𝑘𝑘)这将传递给新的人口𝑃𝑃𝑡𝑡+1个尺寸𝑁𝑁 由公式计算。

 自从𝑟𝑟 < 1,第一个帕累托前沿提供了新一代中数量最多的候选解决方案,以下前沿提供了数量呈指数减少的解决方案。此外,关于公式(11)的使用有两个考虑因素。第一个问题出现在𝑖𝑖 包含许多解决方案𝑁𝑁𝑖𝑖𝑡𝑡少于𝑁𝑁𝑖𝑖, 因此,前面的解决方案𝑖𝑖 被考虑用于下一代解决方案。必须填充前端的解决方案数量𝑖𝑖计算如下𝜌𝜌𝑖𝑖=𝑁𝑁𝑖𝑖−𝑁𝑁𝑖𝑖𝑡𝑡, 以及front提供的最大数量的解决方案𝑖𝑖 + 1增加到𝑁𝑁𝑖𝑖+1+ 𝜌𝜌𝑖𝑖. 此过程执行到𝑁𝑁 获得个人。第二个问题发生在𝑖𝑖 包含许多解决方案𝑁𝑁𝑖𝑖𝑡𝑡大于𝑁𝑁𝑖𝑖. 仅在这种情况下𝑁𝑁𝑖𝑖前面允许的解决方案𝑖𝑖 通过使用“堆叠距离”的概念进行选择(见Deb(2001)和以下章节)。这些方面表明,几何分布的使用有助于所选解决方案的横向范围,而堆叠距离的概念在每个前方提供了多样性,如图1所示。

4.1.2堆放距离

为每个前端选择最大数量的解决方案𝑖𝑖 通过使用“堆叠距离”的概念来执行。特别是,主要目标是确定给定解的解空间密度𝑋𝑋𝑖𝑖通过考虑位于𝑋𝑋𝑖𝑖对于每个目标函数。叠加距离是使用解的最近邻对来估计长方体的周长𝑋𝑋𝑖𝑖作为其顶点。在锋面末端找到的解的叠加距离等于无穷大。

堆叠距离的概念允许对属于特定帕累托前沿的解进行排序𝑖𝑖. 因此,选择具有最大多样性的解决方案(即前线人口最少的区域的解决方案)。图1显示了所提算法的概述。图1希望按照一个完整集合的帕累托前沿进行分类𝑅𝑅𝑡𝑡 以及选择属于人口的精英解决方案的过程𝑃𝑃𝑡𝑡+1.

 

4.2初始人口𝑃𝑃𝑡𝑡

初始人口𝑃𝑃𝑡𝑡 由以下部分组成𝑁𝑁 通过应用Christofides(1976)提出的启发式算法并考虑以下因素获得的经典TSP的近似解:a)仓库以外的整套节点(Escobar等人,2013),以及b)每次执行启发式算法时的不同起始节点。此策略获得𝑁𝑁 称为巨型TSP的节点序列(排列)。构造初始总体的每个解的步骤如下:

i、 通过使用扫描策略将巨巡更分解为m个子序列的节点,其中随机选择属于每个子序列的节点数。每个子序列的节点都是根据巨人之旅建立的顺序进行访问的。每个子序列的两个极端节点与depot节点相连。

二。根据公式(1)和公式(2)对每个解决方案进行评估,以获得所考虑问题中考虑的两个目标中每个目标的初始值。

4.3后代人口𝑄𝑄𝑡𝑡

后代人口𝑄𝑄𝑡𝑡从人口中获得𝑃𝑃𝑡𝑡通过考虑多个遗传算子。

•锦标赛选择:来自人群𝑃𝑃𝑡𝑡随机选择五种解决方案。然后,根据目标函数将这些解从质量最好到质量最差排序𝑍𝑍1、通过使用重组和突变遗传算子,选择质量最好的两个溶液作为单个后代的亲本。

•重组:文献中提出了不同的TSP序列重组方法。这些方法试图获得可行的巡更,以便其中一个巡更只访问每个节点一次。在最常用的方法中,我们提到了PMX(Goldberg和Lingle,1985)、OX(Oliver等人,1987)、OX2(Syswerda,1991)和PBX(Syswerda,1991)。在本文中,我们使用复合方法PMX,因为它是一种基于置换的编码。

•变异:在本文中,变异的概念是通过使用邻域结构来应用的,其目标是找到质量良好的邻域,以改进所考虑问题的两个目标之一。在重组方法之后,将突变作为一种改进策略。考虑以下邻域结构:1。Shif(1-0)。节点将从其当前位置移除,并插入到不同巡更的不同位置。2、掉期(1-1)。两个节点(属于不同的旅行)交换位置。3.2-选择。将删除属于同一巡更的两条非相邻圆弧,并添加两条新圆弧以查找新巡更。移动中插入的节点是随机选择的。

1、Shif(1-0)。节点将从其当前位置移除,并插入到不同巡更的不同位置。

2、掉期(1-1)。两个节点(属于不同的旅行)交换位置。

3. 2-选择。将删除属于同一巡更的两条非相邻圆弧,并添加两条新圆弧以查找新巡更。移动中插入的节点是随机选择的。

算法1给出了该方法的伪码

5、计算结果

该算法已在具有3 GHz和2 GB RAM的CPU Intel Core 2 Duo上用C++实现。该算法使用的参数为:重组率为95%,迭代次数为30次,大小为𝑁𝑁 最初的人口中有50人。

通过两个实例验证了该方法的有效性。第一个实例(F1)是一家位于卡利的真实哥伦比亚快递公司,有29个待访问节点(客户)和一个仓库。考虑三名销售人员(m=3)。

第二个实例(F2)改编自文献。特别是,我们最初考虑了Reinelt(2014)中提出的pr76实例,该实例有75个客户和一个仓库。通过考虑20 km/h至90 km/h之间随机产生的电弧速度,确定了每个电弧的行程时间。考虑三名销售人员(m=3)。

图2和图3分别显示了针对实例F1和F2的所提出的方法所发现的帕累托前沿。根据所提出问题的目标,每个帕累托前沿都提供了一系列的可能性。在这种情况下,最佳解决方案取决于决策者的具体利益。然而,有不同的方法来选择最优解帕累托前沿。

 5.1选择Pareto前沿的解决方案

准则max-min用于从每个帕累托最优前沿选择一个解决方案,以显示代表每组数据的解决方案。该方法可以找到与每个目标的端点等距的解。标准定义如下:

标准max-min从每个帕累托前沿选择一个特定的解决方案(在图2和图3的方框中),其特性如表1和表2所示:

 

 

6、结论

本文提出了一种通过实现非支配排序遗传算法(NSGA-II)来解决多目标多旅行商问题的方法。为了评估所提出方法的性能,对两个实例进行了测试。结果表明,一组非支配解组织在帕累托最优前沿,反映了两个考虑的目标之间的冲突。因此,建议的方法提供了根据决策者选择的标准选择任何前沿解决方案的机会。此外,还提出了为每个实例选择高质量解决方案的标准。结果表明,旅行推销员的旅行距离最小,工作时间平衡

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑电情绪识别

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值