旅行商问题的粒子群优化

英文标题:Optimization of Particle Swarms for Travelling Salesman Problem

摘要:旅行推销员问题是原子种群优化在本研究中的一个应用。我们已经开发了几种新的技术,旨在用粒子群算法解决TSP问题。此外,我们引入了交换操作和交换时序的概念,并重新定义了剩余操作的基础;这样,这项研究创造了独特的粒子群算法。研究证明它可以产生令人满意的结果。本文的目的是评估粒子群优化的功能,用于解决TSP问题。这个问题的解决方案通常是NP——很难,它有N!排列。这项研究的目标是检验这两种算法解决洲际和其他基准问题的能力。总体而言,结果表明,使用的算法比PSO算法更了解如何理解高质量的解释,但在正常生成方面还不够好。

引言

由于TSP于20世纪20年代开始进入研究领域,许多研究人员一直在寻找它。众所周知,T.S.P.在非连接或组合优化的主题中定位为N.P难问题。然而,TSP关注的是在使用组织预先发现的城市中确定最佳旅行路线,即使减少了线路的总费用,并在地图“Bhattacharyya and Bandyopadhyay 2009”上进行了各种限制的交易。

它也被称为N.P难(不确定多项式)问题(Garey和Johnson,1979年)。老式的优化方法在解释这些问题时是无用的。粒子群优化P.S.O由Kennedy a,Eberhart[1]创建,并已与[4,5,6]相匹配。从与人的共同行为来看,这是非常棒的,这些实体通过一个n维的检查窗口,每个元素都代表着对困难的可能解释,每个粒子都可以回忆起它移动过的最佳位置。由于元素知道如何传达有关追击空间的信息,因此有可能做出世界范围内最好的解释。每个粒子在每次迭代中都使用以下公式来确定其速度:

但0表示惰性因子,Xid表示粒子的当前位置,Pid表示该颗粒物的最佳解,Pgd表示所有粒子达到的全局最优解。是决定Pid和Pid影响的权重。在计算Vid之后,我们可能会在随后的复制中获得一个新的位置:

粒子群算法是一种进化计算过程,因为它与其他进化系统具有一些共同的进化特征:

•它的特点是一个初始阶段,在该阶段建立了一个群体,每个人都被分配了一个唯一的ID。

•它通过产生不同的世代来扩大外层空间的发现

•它基于上一代的输出。旅行商问题TSP是一个众所周知的组合优化“hard问题”

T.S.P已经利用最近邻搜索N.N.S、建模退火S.A、禁忌搜索T.S、神经网络(A.C.S[7]和G.A[8])等方法进行了广泛的研究。自1995年以来,单位群优化器在不间断故障中表现出了成功;尽管如此,它是离散问题的一个新课题;特别是,将P.SO应用于T.S.P是一个新的研究方向。

文献综述Eberhart和Kennedy在1995年提出PSO作为一种进化乘法实践[9,10]。它源于对成群鸟类行为的研究,该研究涉及复制一群鸟在一个地区随机寻找食物的剧本。PSO是一种基于居民的优化技术,通过更新产量来搜索最佳结果,尽管它具有较少的参数交叉和变异算子。PSO需要被证明可以有效地解决全局优化和工程问题[11,12]。经过近10年的发展,粒子群算法被广泛应用于各个领域,包括特征优化(人工神经网络准备、FSC、电路板学校组装、组合优化、决策邮寄等)[13-18]。PSO的性能在探索手段的早期迭代中被证明是良好的,但它很难找到接近最优的解,导致收敛速度低,难以聚集到全局最优。

T.S.P的定义如下:给定n个市镇和两个任意城市中间的距离,以找到n个城镇的最佳旅游路线,每个城镇只访问一次,没有次游览。T.S.P代表这是一个非常著名的组合优化问题,类似于N.P-Hard。它总是被用来检查[15]的智能实验算法的合法性。通过Lan作为一组类型到唯一的碎片群优化规则进行解释,提供了交换操作、交换进展的思想作为参考,然后成功地将其应用于20节点的冒险推销员问题。尽管直接的P.S.O和任何其他传统规则解决T.S.P的力量和动量存在显著差异,但这是将T.S.P与P.S.O一起解开的新挑战[16]。在这项工作中,对基本粒子群算法进行了改进。粒子群是使用贪婪算法的推理开始的。为了同时搜索,使用了两个群。在这两个群中,粒子群算法是独立运行的。这两个蜂群的粒子会根据突变的机会发生转化。两个群体中碎片的单独目标以特定的概率相交,提高了居民的素质,加速了知识转移。根据模拟数据[17-25],增强型PS.O具有较高的收敛速度和速率

三、基本概念

本节定义了交换操作:

交换操作:考虑一种传统的TSP方法,将时间顺序一起以及n

SO,(i,,iz)等价于切换答案S中的节点ql,qz。然后,我们将S’=S+SO(il,i2)定义为由操作SO(i,、iz)控制的新结果。因此,加号“+'我获得了一个新的含义。具体说明如下:假设存在一个具有五个节点的TSP问题,则以下解决方案是可能的:S等于(l,3,5,2,4)。S0(1,2)是交换运算符,而节点,S'=S+S0(1,2-)=(1,3,5,2,4)

交换序列:一个或多个交换运算符组成交换序列SS。=ss(so,soz,so,…,so“)这知道如何用数学表达如下:

四基本互换结构的构建

由于我们想创建一个简单的SS,知道如何对B进行操作以获得答案a,因此我们将其定义为SS=A-B。(在这里,符号-也有了新的含义)。为了得到SS,我们可以将B中的节点从左向右翻转。因此,一个方程必须存在A=B+SS。例如:

A(1 2 3 4 5)

B(2 3 1 5 4)

第一步:因为A(1)=B(3)=1.所以第一次交换算子 为SO(1,3)

B(l)=B+SO(1,3)=(1 3 2 5 4)

第二步: A(2)= B1(3) =2 ,所以第二次交换算子 为SO(2,3)

B(2)=B(1)+SO(2,3)=(1 2 3 5 4)

第三步:SO(4,5)

A=B(2)+SO(4 5)

所以完整的交叉算子是SS =A-B =(SO(I 3),S0(2 3), SO( 4 5))

交换运算符(Pid-Xid)应在基本交换序列(Pid)(PpdXid)中保留一个概率。交换运算符保留得越多,att的值就越高,Pid(PgdXid)的影响就越大 。

五、T.S.P.S.O程序说明

Wang等人(2003)通过引入Swap运算的概念,重新定义了TSP问题的PSO算子,Swap进展。这里简要解释了非推进PSO算法。粒子群算法被认为是随机搜索算法,每次运行后可能会获得不同的结果。因此,可以使用不同的随机种子进行多次独立的运行,并且PSO被认为是随机搜索算法,每次运行后可能会获得不同的结果。因此,可以使用不同的随机种子进行多次独立运行。以达成一项体面的决议。下图显示了算法群标准和改进的工作原理。

旅行商问题的粒子群优化_第1张图片

常规P.S.O程序的方法如下所示,参见“图1”:

•步骤1:在N维空间中,产生具有随机集合和速率的原子群体。

•第2步:使用目标问题目标函数,评估每个粒子的适当性。

步骤3:对于每次迭代,将每个粒子的适应度与其先前的最佳适应度进行比较。将p最佳值替换为当前价格,如果当前值优于p最佳值,则将p最佳设置设置为现有位置。

•第4步:比较每个比特的p最佳值,并将群的全局最佳位置修改为具有最佳适当性的位置(例如最佳)。

•步骤5:分别使用方程(1)和(2)调整位置和速度。

•第6步:评估粒子的状况。如果情况得到满足,停止并产生结果。如果没有,重复步骤2-5,直到表面状况得到满足。

旅行商问题的粒子群优化_第2张图片

你可能感兴趣的:(旅行商问题(TSP),TSP,旅行商问题,粒子群算法,算法,PSO)