求解多目标旅行商问题的遗传算法参数研究(2017的ieee)

摘要

本文的目的是利用遗传算法(GA)解决多目标优化问题。通常,多目标问题的目标(最小化成本、最大化性能、减少碳排放、最大化利润)相互冲突,阻碍了每个目标的并行优化。将旅行商问题的双目标传统组合优化称为多目标旅行商问题(MTSP)。这两个目标是最小化销售人员的旅行距离和旅行时间。本文的目的是将问题建模为单目标优化问题,使用目标函数建模的加权和方法,并使用遗传算法查看距离和时间值如何随分配给两个目标的权重的变化而变化。改变突变概率、初始种群和世代数以研究其对适应度的影响。

引言

遗传算法是一种优化算法,它可以在大量可能的结果中获得对问题有利的结果。遗传算法于20世纪60年代由密歇根大学的约翰·霍兰德(John Holland)和他的团队引入,利用达尔文进化原理和适者生存逻辑,将包含不同对象的种群(每个对象都有相应的适应值)改变为新一代种群;涉及交叉和变异等遗传操作。遗传算法试图通过跨代遗传优化,在约束条件下获得问题的最优或最佳解。GA的各种应用包括优化、自动编程、机器学习、数据分析、战略规划、旅行商问题(以下简称TSP)和序列调度以及设计社会系统。遗传算法由于操作简单、适用范围广,在计算优化和运筹学中发挥着重要作用。

旅行商问题是一个“NP”问题。它的定义如下:给定一组节点和每对节点之间的距离,销售人员必须找到一个尽可能短的行程,该行程只访问每个节点一次,并且使总行程最小化。TSP的数学模型描述如下:给定一组节点={C1,C2,….Cn},每对节点的距离为(Ci,j),问题是找到一条路径[C1,C2,….Cn],该路径恰好访问每个节点一次,并使f(x)=min dijxij具有最小值,其中f(x)是表示染色体质量的适应度函数,dij是顶点i和j之间的距离,而xij是决策变量。然后使用适应度函数来评估种群,并选择最佳质量的个体以产生后代。目前,TSP在人工智能、计算数学和优化中越来越重要。近年来,多目标模型在各种多方面的工程优化情况下越来越流行。这些目标有时可能相互冲突,针对一个目标优化问题可能会产生针对其他目标的不期望输出。解决此类多目标问题的更好方法是探索多个解决方案,每个解决方案都在某个允许的水平上遵守目标,而不受任何其他解决方案的约束。

多目标的典型例子是成本最小化、性能最大化、可靠性最大化、时间最小化、行程最小等。多目标优化有两种基本技术。第一种方法是将不同的目标函数合并为一个单独的合并函数。该合并目标函数可用效用理论法或加权和法求解。然而,存在一个问题——选择权重或效用函数来描述正确情况的准确性。另一种方法是获得一个完整的Pareto最优解集,该解集生成一组互不占优的值。

遗传算法基于种群概念,适合于解决多目标优化问题。一个广泛的单目标遗传算法可以转化为在一次运行中找到一组多个非支配解。遗传算法同时探索解空间不同区域的能力使系统能够获得具有非凸、不相交和多模态解空间的困难问题的不同解集。

加权和法是最广泛使用的传统方法,通过分配权重将多个目标转化为单个目标。目标的权重通常是根据目标在等式中的相对重要性按比例选择的。目标需要适当缩放,使其达到类似的规模。目标归一化后,通过加权归一化目标求和,可以生成复合目标函数,并将其简化为单目标优化问题,如下所示:

其中是归一化目标函数zi(x),wi=1。这是一种先验方法,因为权重预计由用户提供。加权和法最大的优点是操作简单。由于在适应度分配中使用了一个单独的目标,因此可以使用一个单目标遗传算法,只需稍作修改。其次,该方法能有效地找到最优解。然而,使用加权和方法的缺点是,当真正的Pareto front为非凸时,并非所有的Pareto front最优结果都可以检验。这里考虑的两个目标是最小化距离和缩短时间。

文献综述

Heinrich Braun提出了一种求解旅行商问题的遗传算法。他认为遗传算法最终会收敛。他提出了岛屿模型,在该模型中,每个孤岛上的众多种群都通过遗传算法进行优化,直到退化。然后,通过将相邻岛屿的新实体纳入其中,从而导致进化,从而重组每个此类岛屿上的人口,从而中和退化。Akshatha等人提出,GAs旨在为旅行商问题提供高质量的结果,尽管质量取决于问题编码以及交叉和变异算子的选择。基于启发式的程序用于对路线进行编码,可提供最佳结果。然而,持续存在的主要挑战是难以保持父染色体和子染色体之间的结构并生成有效的路线。

K.Bryant提到,GAs是一种基于自然进化的优化过程,其重点是将适者生存的思想映射到一种探索算法中,该算法提供了一种探索过程,尽管不是所有可能的结果,但可以获得令人尊敬的结果。最初从猜测开始,这一过程慢慢产生最合适的解决方案,以生成优于前一代的下一代解决方案。Gerard Reinelt认为贪婪算法是获得TSP可行解的有利方法。解决方案可能并不总是最好的。最近邻算法(The Nearest Neighbor algorithm)选择一个源城市,然后到达最近的城市,而不生成循环。对所有节点重复此操作。虽然这个过程简单有效,但由于其“贪婪”的性质,它可能并不总是选择较短的路线。Dwivedi等人提出了一种称为序列构造交叉(SCX)的新交叉方法,用于TSP域的GA,该方法利用父代结构的最有利边缘来生成新的子代。Omar等人提出了一种改进的GA,使用了一种新的交叉算子(交换反向交叉)、种群重组算子、多变异算子、局部最优变异算子和重排算子来解决TSP问题,并产生了更好的性能。

 Chetan等人对不同的父母选择方法进行了比较研究:轮盘赌、精英主义和锦标赛选择。轮盘赌轮盘选择方法选择与其适应值成比例的个体;锦标赛选择将每个个体与群体中的另一个个体随机配对,并从两者中选择更好的染色体。在精英方法中,根据个体的适应度值选择个体。本文得出结论,当种群规模较小时,三种选择方法的解相似,但当种群规模较大时,精英方法的结果更好。多目标优化问题有两类解:纳什均衡解和切比雪夫折衷解(Nash equilibrium and Tchebycheff compromise solution)。第一种解决方案侧重于向量值条件函数的组成部分相互竞争,而后者则基于帕累托优势的概念,适用于合作情况。目前,交通拥堵令人担忧。道路网可以看作是一个图。在始发地-目的地对之间找到最佳路径是一个巨大的挑战。Dijikstra、Bellman Ford等流行算法通常用于在道路网络中查找最短路径。然而,最短路线将包括若干措施,如旅行时间、距离和拥挤。因此,最短路径问题存在多个目标。因此,该问题可以定义为多目标最短路径问题。

多目标优化模型

该模型的主要目的是设计一种遗传算法来解决多目标旅行商问题。有两个目标函数,一个希望最小化-距离和时间-两个因素对TSP解的影响。因此,它从传统的单目标TSP问题转变为多目标TSP问题。GAs的主要组成部分是:染色体群体、基于适应度的选择、产生新后代的交叉以及这些后代的随机突变。GAs中的染色体代表候选解的空间。适应度函数为当前群体中的每个染色体分配一个分数。更高值(更适合)染色体的选择基于适合值;然后选择这些进行复制。为了提高质量,通过精英主义来改进选择过程,精英主义是一种先将一代的顶部染色体复制到新群体中,然后将其余群体包括在内的方法。交叉是将一条染色体的片段与另一条染色体的片段结合起来,生成继承双亲特征的后代的过程。变异是在交叉后进行的,以维持从一代染色体群体到下一代染色体群体的遗传多样性。每次迭代称为一次生成。通过该算法,GA控制哪些染色体应该是活的,哪些应该复制,哪些应该消亡。

因此,GA的基本步骤如下:

1、初始群体:随机产生N条染色体的群体。

2、适应度:计算所有染色体的适应度值。

3、创建新种群:

a、 选择:从群体中选择2条染色体。

b、 交叉:在所选的2条染色体上执行交叉。

c、 突变:在染色体上进行突变。

     交换:将当前种群与新种群交换。

5、终止条件测试:测试是否满足终止条件。如果是,请停止,否则请转至步骤2。

3.1初始种群

初始群体是人工染色体有序列表的集合,其中每个染色体代表一个节点序列。染色体上的每个基因都有一个节点的标签,这样就不会有节点在同一条染色体上出现两次。TSP旅行的表示方法主要有两种:邻接表示和路径表示;此处为路线选择了路径表示。设{1,2,3,4,5,6,7,8,9}为节点的标签,其中1表示起点,则巡更{1 3 8  2  5  7  4  6  9  1}可以表示为:

 distance between two nodes with coordinates (x1,y1)and(x2,y2)is given by:

 

3.2适应度

采用加权和方法建立了遗传算法的适应度函数。对于给定的权重向量w={w1,w2,…,wk},用前面所述的目标函数(方程1)解决一个问题,得到一个单一的解。对于多个解决方案,必须使用不同的权重组合多次解决该问题。对于距离和时间这两个参数,权重以0.1的步长变化,从0.1到0.9不等。该权重变化已根据距离、时间和特定人群的总体适应度绘制。对于不同的GA参数值,如种群大小、世代数和突变率,重复此操作,并使用MATLAB绘制图表以分析结果。

目标规范化:

在使用加权和方法制定复合目标函数时,需要规范化目标。由于距离在公里范围内,时间在小时范围内,因此需要将其标准化为一个公共范围[0,1],以进行优化。特定属性的一组值中的最大值为“b”,最小值为“a”,为了规范化值“x”,使用以下函数:

3.3.1选择

采用锦标赛选择方法对染色体进行选择。已经进行了两次比赛,每一次都选择了两个父母进行交叉和变异。锦标赛选择包括在从人群中随机选择的几个染色体中进行几个“锦标赛”。每个锦标赛的获胜者(身体状况最好的一个)被选为交叉选手。一组随机选择的2条路线参加一场比赛,另一组选择的2条路线参加另一场比赛。找到适合度值。最小适应值路径在锦标赛中获胜,并被选为父路径。

3.3.2交叉(最小权重可变顺序选择交叉)

一种能够产生有效路线的交叉方法是顺序交叉。在这种交叉方法中,从第一个父代中选择一个子集,然后将该子集添加到子代中。然后将任何缺失的值添加到第二个父代的子代中,以便找到它们。如图2所示,路线的子集取自第一个父代(6、7、8)的灰色阴影,并添加到子代的路线中。接下来,将按顺序从第二个父级添加缺失的管线位置。第二个父代路线中的第一个位置是9,它不在子代路线中,因此它被添加到第一个可用位置。父路径中的下一个位置是8,它位于子路径中,因此会被跳过。此过程将继续,直到子代没有剩余的空值。

 如果正确实现,最终结果应该是一条包含父级所有位置的路由。对有序交叉的一个改进是最小权重可变顺序选择交叉。最初,从亲本1开始的下一步将采用固定数量的不同线束,其中连续等位基因位于特定位置。对每个指定的线束进行重量计算,并选择重量(适合度)最小的顶部线束,然后将其转移给后代。生成子对象的两个副本,并从父对象2开始在向前和向后的方向上完成剩余位置。两个孩子的健康状况分别获得,体重最小的孩子保留下来。

3.3.3突变

变异过程不会从路线中添加或删除位置,否则可能会产生无效的解决方案。使用的突变方法是交换突变。随机选择路线中的两个位置,然后简单地交换它们的位置。如图4所示,位置3和8被切换,创建了一个具有相同值的新列表,只是顺序不同。因为交换变异只是交换预先存在的值,所以它永远不会创建一个与原始值相比丢失或重复值的列表。

 

四、 实验和结果

本文通过实验研究了以下三个参数(a)世代数(b)种群规模和(c)突变率或突变概率(pm)的距离、时间和适应度值随权重变化的情况。JAVA已经被用来编写和实现该程序。为了研究结果并进行推断,绘制了不同世代数、种群大小和突变率或突变概率(pm)的归一化适应度值。

图5:时间、距离和适合度与体重的关系图(世代数-100,种群规模-100,突变率-1%)

图6:时间、距离和适合度与体重的关系图(世代数-100,种群规模-1000,突变率-1%)

 图7:时间、距离和适合度与体重的关系图(世代数-500,种群规模-100,突变率-1%)

从图中可以观察到。5、6和7保持世代数=100,突变率或pm固定在1%,当种群规模从100增加到1000(图5和6)时,适应度值似乎随着权重的增加而收敛到较小的值,表明更大初始种群的可取性。将世代数从100增加到500(对于固定种群规模=100且突变率=1%),似乎对体重增加的适应度没有显著影响(图5和图7)。
为了研究在不同突变率下,随着距离和时间权重的变化,世代数对适应度值的影响,绘制了以下图表(图8、9和10)。

图8:w1=0.1表示距离,w2=0.9表示时间的适合度与世代数的曲线图。[突变率=1%、3%和5%]

 图9:w1=0.5表示距离,w2=0.5表示时间的适合度与世代数的曲线图。[突变率=1%、3%和5%]

图10:w1=0.9(距离)和w2=0.1(时间)的适合度与世代数的曲线图。[突变率=1%、3%和5%]

从图8、9和10可以观察到,当对应于距离的权重从0.1增加到0.9,同时对应于时间的权重从0.9减少到0.1时,可以观察到,对于较低的突变率(此处为1%),适应度值的减少始终最小。这表明,在不同的距离和时间加权模式下,随着世代数的增加,较低的突变率有望在适应值方面表现更好。表1提供了第2步中前51代四种不同突变率[1%、3%、5%和10%]的适应值(约为小数点后5位)。在所有情况下都可以看到稳定的下降。

 表1:不同突变率的适应值。

随着初始种群的变化,观察到适应值随世代的变化(图11、12和13)。从图中可以得出结论,对于较高的初始种群,适应值在不同突变率下收敛的时间间隔较低。

 图11:初始种群100的适合度与世代数的曲线图。[突变率=1%、3%、5%和10%]

 图12:初始种群500的适合度与世代数的曲线图。[突变率=1%、3%、5%和10%]

 图13:初始种群1000的适合度与世代数的曲线图。[突变率=1%、3%、5%和10%]

表2提供了前51代三种不同初始种群大小的适应度值(近似为小数点后5位),以2步为单位。如上表所示,所有情况下都会出现稳步下降。

 图14:适合度与世代数的曲线图,突变率/pm=1%。[初始人口=100、500和1000]

 

 针对不同的突变率,研究了适应度值随世代的收敛性质,以增加初始种群规模(图14、15和16)。从图中可以清楚地看出,无论突变率如何,与较高初始种群相对应的适应度值都会收敛到较低的值,从而表明在较大初始种群规模下,适应度表现更好。

五、 结论和未来工作

GAs是一种基于群体的技术,是解决多目标优化问题的理想方法。可以改进基本的单目标遗传算法,以在一次运行中获得大量非支配结果的集合。GAs并行检查解空间的不同部分的能力使得它很可能获得具有非凸、不规则和多模态解空间的复杂问题的不同结果集。

从实验中可以推断,在不同的距离和时间加权模式下,随着世代数的增加,突变率越低,系统的适应值性能越好。其次,通过增加种群大小,适应度值随着权重的增加而收敛到较小的值,这表明需要更大的初始种群。第三,随着体重的增加,超过一定值的世代数的增加对身体素质没有显著影响。

这里采用的方法是用遗传算法求解多目标旅行商问题的加权和法。然而,进化算法的威力在于,它们可以处理大量的解决方案,并在连续几代中迭代改进它们。因此,有必要扩展这项工作以获得帕累托最优解。其次,利用欧几里德距离计算了两个城市之间的距离。这项工作可以扩展到考虑实际距离,以获得更好的结果。最后,还可以使用全球定位系统获取位置的th坐标,并使用城市道路地图进行仿真以实现该模型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

脑电情绪识别

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

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

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

打赏作者

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

抵扣说明:

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

余额充值