A. Tent映射与PSO算法用于波段寻优的思想
高光谱遥感对地物光谱特征进行了细致的刻画,提高了地物识别的可靠性,但是随着光谱维数增加也带来了大量冗余数据,给高光谱数据处理与信息识别等增添了负担,同时也会影响地物识别的精度,故地物识别时对高光谱数据进行降维、选取特征波段就显得非常重要。支持向量机(Support Vector Machine,SVM)是一种机器学习算法,由美国贝尔实验室Vapnik针对分类和回归问题,为适合小样本学习问题首先提出来的(Vapnik,1995),SVM具有很好的泛化能力,并在一定程度上克服了机器学习的维数灾难。近年来,SVM以及基于其他算法改进的SVM用于高光谱影像的分类得到了广泛应用,并取得了很好的分类精度(Melgani et al.,2004;李祖传等,2011)。但针对高光谱数据冗余性,粒子群优化(Particle Swarm Optimization,PSO)算法在寻找最优特征波段组合与进一步提高SVM分类精度方面具有较好的优势。
PSO算法是一种通过个体与群体之间的协作来寻找最优解的机器学习算法,具有自适应,自组织以及快速得到最优解的能力。PSO算法首先由Kennedy和Eberhart提出来的,后来为了使PSO有更广泛的应用范围,他们又提出了二进制PSO算法(Kennedy et al.,1995,1997;Khanesar et al.,2007;张浩等,2008)。自从PSO算法提出以来,该算法已经在各个研究领域得到了广泛的关注。在高光谱遥感应用方面,Monteiro和Kosugi(2007)提出基于PSO的高光谱影像最佳波段组合和最佳波段数的选取方法,并通过实验和传统波段选取方法相比较,证明了基于PSO进行特征波段选取的优越性。丁胜等(2010)提出一种PSO-BSSVM分类模型,用于高光谱影像特征波段的选取以及对SVM的参数寻优,通过和其他方法的实验比较得出该模型可以提高分类精度。李林宜和李德仁(2011)也在模糊特征的选取中也用了PSO算法。总之PSO在高光谱影像分类的特征波段选取中应用比较成功,但由于PSO容易早熟,陷入局部最优,所以针对这点以及为获得更高的SVM分类精度,对PSO加以改进是非常有意义的。Tent映射是混沌理论中典型的混沌映射例子,Tent映射具有随机性和遍历性,所以把Tent映射加入PSO可以对PSO算法容易陷入局部最优的状况进行改善。本章就主要通过改进Tent映射后运用于二进制PSO算法进行寻优,寻找高光谱影像SVM分类的最优特征波段组合。
B. pso的离散算法
很多优化问题涉及到离散或二值的变量,典型的例子包括调度问题或路由问题。而PSO算法的更新公式和过程是面向连续空间并为其设计的,因此需要做一些修改使之适应离散空间的情况。编码的修改可能很简单,难点在于定义速度的意义和确定轨迹的变化。
Kennedy定义了第一个离散二进制版本的PSO算法。微粒使用二进制字符串进行编码。通过使用sigmoid函数,速度被限制在[0, 1]区间之内,并被解释为“概率的变化”。Yang对该方法在量子空间进行了扩展。
Mohan提出了几种二进制方法(直接方法、量子方法、正则方法、偏差向量方法以及混合方法),但是从有限的实验中没有得出什么结论。Clerc对一些专用于某些约束优化问题如TSP问题的PSO算法变种进行了试验,结果显示该方法比较有前途。Pang使用模糊矩阵来表示微粒的位置和速度,对PSO算法的算符进行了重定义,并将其应用到TSP问题的求解。Pampara将PSO算法与信号处理中的角调制技术结合起来,将高维二进制问题降维为一个在连续空间中定义的四维问题,并通过求解该四维问题来获得原问题的解。Afshinmanesh重新定义了离散PSO算法中的加法与乘法,并使用人工免疫系统中的阴性选择来实现速度限制Vmax。
Hu提出了一种改进PSO算法来处理排列问题。微粒被定义为一组特定值的排列,速度基于两个微粒的相似度重新定义,微粒根据由它们的速度所定义的随机率来变换到一个新的排列。引入了一个变异因子来防止当前的pBest陷入局部最小。在n皇后问题上的初步研究显示改进的PSO算法在解决约束满意问题方面很有前途。
Migliore对原始的二进制PSO算法进行了一些改进,提出了可变行为二进制微粒群算法(VB-BPSO)和可变动态特性二进制微粒群算法(VD-BPSO)。VB-BPSO算法按照连续PSO算法的速度更新公式的思想设计了一个新的速度更新公式,用来确定微粒位置向量每一位为1的概率。而VD-BPSO算法则是根据一定规则在两组不同参数确定的VB-BPSO算法之间切换。Migliore应用该算法设计出一种简单鲁棒的自适应无源天线。
Parsopoulos以标准函数为例测试微粒群优化算法解决整数规划问题的能力。Salman将任务分配问题抽象为整数规划模型并提出基于微粒群优化算法的解决方法。两者对迭代产生的连续解均进行舍尾取整后评价其质量。但是PSO算法生成的连续解与整数规划问题的目标函数评价值之间存在多对一的映射,以整型变量表示的目标函数不能准确反映算法中连续解的质量,而由此导致的冗余解空间与相应的冗余搜索降低了算法的收敛效率。
高尚采用交叉策略和变异策略,将PSO算法用来解决集合划分问题。赵传信重新定义了微粒群位置和速度的加法与乘法操作,并将PSO算法应用到0/1背包问题求解中。EL-Gallad在PSO算法中引入探索和勘探两个算子,用于求解排序问题。Firpi提出了BPSO算法的一种保证收敛的版本(但是并未证明其保证收敛性),并将其应用到特征选择问题。
上述离散PSO算法都是间接的优化策略,根据概率而非算法本身确定二进制变量,未能充分利用PSO算法的性能。在处理整数变量时,PSO算法有时候很容易陷入局部最小。原始PSO算法的思想是从个体和同伴的经验进行学习,离散PSO算法也应该借鉴该思想。高海兵基于传统算法的速度—位移更新操作,在分析微粒群优化机理的基础上提出了广义微粒群优化模型(GPSO),使其适用于解决离散及组合优化问题。GPSO 模型本质仍然符合微粒群优化机理,但是其微粒更新策略既可根据优化问题的特点设计,也可实现与已有方法的融合。基于类似的想法,Goldbarg将局部搜索和路径重连过程定义为速度算子,来求解TSP问题。
C. pso的优化求解
PSO算法被广泛应用于各种优化问题,并且已经成为优化领域中的一个有效算法。除了普通函数优化之外,还包括如下方面。
混合整数非线性规划
很多求解整数规划的算法是在采用实数域的算法进行优化后,再将结果取整作为整数规划的近似解。这种做法常常导致不满足约束或远离最优解。谭瑛提出一种在整数空间中直接进行进化计算的PSO算法。刘钊针对混合整数非线性规划中可行解产生代价较高的问题,建立了保证都是合法解的备用微粒库,并提出微粒迁移策略,帮助微粒跳出局部最优。
噪声和动态环境
动态系统的状态会经常改变,甚至可能会连续变化。许多实际系统都会涉及到动态环境。例如,由于顾客的优先级、意外的设备维护等导致的变化,调度系统中大多数计算时间都被用来进行重新调度。在实际应用中,这些系统状态的变化就需要经常进行重新优化。
最初使用微粒群算法跟踪动态系统的工作由Carlisle提出,通过周期性地重置所有微粒的记忆来跟踪动态系统。Eberhart也采用类似想法;之后Hu提出一种自适应PSO算法,能够自动跟踪动态系统中的不同变化,并在抛物线benchmark函数上对不同的环境检测和响应技术进行了实验,其中使用的检测方法是监控种群中最优微粒的行为。后来Carlisle使用搜索空间中的一个随机点来确定环境是否发生变化,但是这需要集中控制,与PSO算法的分布式处理模型不符。为此Cui提出TDPSO算法,让最优历史位置的适应值随着时间减小,从而不再需要集中控制。Blackwell在微粒的更新公式中添加了一项惩罚项,来保持微粒处于一个扩展的群中,以应对快速变化的动态环境,该方法中不需要检测最优点是否发生变化。
Parsopoulos等的试验表明,基本PSO算法就可以有效而稳定地在噪声环境中工作,且在很多情况下,噪声的存在还可以帮助PSO算法避免陷入局部最优。Parsopoulos还通过试验研究了UPSO算法在动态环境中的性能。Pugh提出一种抗噪声的PSO算法。Pan将假设检验和最优计算预算分配(OCBA)技术引入微粒群算法,提出PSOOHT算法,来解决噪声环境下的函数优化问题。
上述工作的研究对象都是简单的动态系统,所采用的实验函数是简单的单模函数,并且所涉及的变化都是简单环境下的均匀变化(即固定步长)。而事实上,实际的动态系统经常是非线性的,并在复杂的多模搜索空间中非均匀变化。Li采用四个PSO模型,对一系列不同的动态环境进行了对比研究。
上述方法均是针对仅跟踪单个最优点的情况,
D. pso的约束优化
约束优化问题的目标是在满足一组线性或非线性约束的条件下,找到使得适应值函数最优的解。对于约束优化问题,需要对原始PSO算法进行改进来处理约束。
一种简单的方法是,所有的微粒初始化时都从可行解开始,在更新过程中,仅需记住在可行空间中的位置,抛弃那些不可行解即可。该方法的缺点是对于某些问题,初始的可行解集很难找到。或者,当微粒位置超出可行范围时,可将微粒位置重置为之前找到的最好位置,这种简单的修正就能成功找到一系列Benchmark问题的最优解。Paquet让微粒在运动过程中保持线性约束,从而得到一种可以解决线性约束优化问题的PSO算法。Pulido引入扰动算子和约束处理机制来处理约束优化问题。Park提出一种改进的PSO算法来处理等式约束和不等式约束。
另一种简单的方法是使用惩罚函数将约束优化问题转变为无约束优化问题,之后再使用PSO算法来进行求解。Shi将约束优化问题转化为最小—最大问题,并使用两个共同进化的微粒群来对其求解。谭瑛提出一种双微粒群的PSO算法,通过在微粒群间引入目标信息与约束信息项来解决在满足约束条件下求解目标函数的最优化问题。Zavala在PSO算法中引入两个扰动算子,用来解决单目标约束优化问题。
第三种方法是采用修复策略,将微粒发现的违反约束的解修复为满足约束的解。
约束满足
PSO算法设计的初衷是用来求解连续问题,,对微粒的位置和速度计算公式进行了重新定义,使用变量和它的关联变量存在的冲突数作为微粒的适应度函数,并指出该算法在求解约束满足问题上具有一定优势。Lin在Schoofs工作的基础上研究了使用PSO算法来求解通用的n元约束满足问题。杨轻云在Schoofs工作的基础上对适应度函数进行了改进,把最大度静态变量序列引入到适应度函数的计算中。
E. 二进制PSO算法
PSO算法中每一粒子都被看是潜在的最优解,具体实现思路是先将粒子初始化,对于每个粒子都有一个当前位置以及根据适应度值做粒子更新的速度(Kennedy et al.,1995),通过迭代计算得到最优解。PSO粒子速度计算和对应位置更新的原理如式(8.1)、式(8.2)所示:
高光谱遥感影像信息提取技术
式中:xid是粒子;c1,c2是学习因子;w是惯性因子,是粒子速度保持更新之前粒子速度的能力;pid是目前单个粒子最优位置;pgd是整个粒子群目前得到的最优位置;rand是0~1之间的随机数。
二进制PSO首先将粒子初始化为0和1组成的序列。二进制PSO算法是对式(8.2)作些改变,其位置更新如式(8.3)所示(程志刚等,2007):
高光谱遥感影像信息提取技术
式中: 是 Sigmoid 函数。
F. PSO算法解决带约束条件的优化问题
约束条件:
a11x1+a12x2+…+a1nxn≤b1
a21x1+a22x2+…+a2nxn≤b2
…………………………
am1x1+am2x2+…+amnxn≤bm
x1,x2,…,xn≥0 式中x1,x2,…,xn为企业生产的各种产品;b1,b2,…,bm为可供使用的各种投入要素的数量;
aij(i=1,2…m;j=1,2,… n)为第j种产品每生产1个单位所需要的第i种投入要素的数量;最后,非负值约束条件表示各种产品的产量必须是正值,负值是没有意义的。
G. pso的来源背景
为了说明粒子群优化算法的发展和形成背景,首先介绍一下早期的简单模型,即Boid(Bird-oid)模型。这个模型是为了模拟鸟群的行为而设计的,它也是粒子群优化算法的直接来源。
一个最简单的模型是这样的:每一个鸟的个体用直角坐标系上的点表示,随机地给它们赋一个初速度和初位置,程序运行的每一步都按照“最近邻速度匹配”规则,很快就会使得所有点的速度变得一样。因为这个模拟太简单而且远离真实情况,于是在速度项中增加了一个随机变量,即在迭代的每一步,除了满足“最近邻速度匹配”之外,每一步速度还要添加一个随机变化的量,这样使得整个模拟看起来更为真实。
Heppner设计了一个“谷地模型”来模拟鸟群的觅食行为。假设在平面上存在一个“谷地”,即食物所在地,鸟群开始时随机地分散在平面上,为了寻觅食物所在地,它们按照如下规则运动:
首先假设谷地的位置坐标为(x0,y0),单个鸟的位置和速度坐标分别为和(x,y),用当前位置到谷地的距离s:来衡量当前位置和速度的“好坏程度”,离谷地的距离越近,则越“好”,反之越“坏”。假设每一个鸟具有记忆能力,能够记住曾经达到的最好位置,记作pBest,并记a为系统规定的速度调节常数,rand为一个[0,1]间的随机数,设定速度项按照下述规则变化:
然后假设群体之间可以以某种方式通讯,每个个体能够知道并记住到当前为止整个群体的最好位置,记为gBest,记b为系统规定的速度调节常数,Rand为一个[0,1]间的随机数,则速度项在经过以上调整后,还必须按照下述规则变化:
在计算机上模拟的结果显示:当a/b较大时,所有的个体很快地聚集到“谷地”上;反之,粒子缓慢地摇摆着聚集到“谷地”的四周。通过这个简单的模拟,发现群体能很快地找到一个简单函数(2-1)的最优点。受该模型启发,Kennedy和Eberhart设计出了一种演化优化算法,并通过不断的试验和试错,最后将此算法的基本型固定为:
其中符号的意义同上。研究者认为每个个体被抽象为没有质量和体积,而仅仅具有速度和位置的微粒,故将此方法称为“粒子群”优化算法。
据此,可对粒子群算法小结如下:粒子群算法是一种基于种群的搜索过程,其中每个个体称作微粒,定义为在D维搜索空间中待优化问题的潜在解,保存有其历史最优位置和所有粒子的最优位置的记忆,以及速度。在每一演化代,微粒的信息被组合起来调整速度关于每一维上的分量,继而被用来计算新的微粒位置。微粒在多维搜索空间中不断改变它们的状态,直到到达平衡或最优状态,或者超过了计算限制为止。问题空间的不同维度之间唯一的联系是通过目标函数引入的。很多经验证据已经显示该算法是一个非常有效的优化工具。微粒群优化算法的流程图见图2-1。
以下给出微粒群算法的比较完整的形式化表述。在连续空间坐标系中,微粒群算法的数学描述如下:设微粒群体规模为N,其中每个微粒在D维空间中的坐标位置向量表示为,速度向量表示为,微粒个体最优位置(即该微粒经历过的最优位置)记为,群体最优位置(即该微粒群中任意个体经历过的最优位置)记为。不失一般性,以最小化问题为例,在最初版本的微粒群算法中,个体最优位置的迭代公式为:
群体最优位置为个体最优位置中最好的位置。速度和位置迭代公式分别为:
由于初始版本在优化问题中应用时效果并不太好,所以初始算法提出不久之后就出现了一种改进算法,在速度迭代公式中引入了惯性权重ω,速度迭代公式变为:
虽然该改进算法与初始版本相比复杂程度并没有太大的增加,但是性能却有了很大的提升,因而被广泛使用。一般的,将该改进算法称为标准微粒群算法,而将初始版本的算法称为原始微粒群算法。
通过分析PSO算法的收敛行为,Clerc介绍了一种带收缩因子的PSO算法变种,收缩因子保证了收敛性并提高了收敛速度。此时的速度迭代公式为:
显然,迭代公式(2-7)和(2-8)并无本质区别,只要适当选取参数,二者完全相同。
微粒群算法有两种版本,分别称为全局版本和局部版本。在全局版本中,微粒跟踪的两个极值为自身最优位置pBest和种群最优位置gBest。对应的,在局部版本中,微粒除了追随自身最优位置pBest之外,不跟踪种群最优位置gBest,而是跟踪拓扑邻域中的所有微粒的最优位置nBest。对于局部版本,速度更新公式(2-7)变为:
其中为局部邻域中的最优位置。
每一代中任意微粒迭代的过程见图2-2所示。从社会学的角度来看速度迭代公式,其中第一部分为微粒先前速度的影响,表示微粒对当前自身运动状态的信任,依据自身的速度进行惯性运动,因此参数ω称为惯性权重(Inertia Weight);第二部分取决于微粒当前位置与自身最优位置之间的距离,为“认知(Cognition)”部分,表示微粒本身的思考,即微粒的运动来源于自己经验的部分,因此参数c1称为认知学习因子(也可称为认知加速因子);第三部分取决于微粒当前位置与群体中全局(或局部)最优位置之间的距离,为“社会(Social)”部分,表示微粒间的信息共享与相互合作,即微粒的运动来源于群体中其他微粒经验的部分,它通过认知模拟了较好同伴的运动,因此参数c2称为社会学习因子(也可称为社会加速因子)。
自从PSO算法被提出以来,由于它直观的背景,简单而容易实现的特点,以及对于不同类型函数广泛的适应性,逐渐得到研究者的注意。十余年来,PSO算法的理论与应用研究都取得了很大的进展,对于算法的原理已经有了初步的了解,算法的应用也已经在不同学科中得以实现。
PSO算法是一种随机的、并行的优化算法。它的优点是:不要求被优化函数具有可微、可导、连续等性质,收敛速度较快,算法简单,容易编程实现。然而,PSO算法的缺点在于:(1)对于有多个局部极值点的函数,容易陷入到局部极值点中,得不到正确的结果。造成这种现象的原因有两种,其一是由于待优化函数的性质;其二是由于微粒群算法中微粒的多样性迅速消失,造成早熟收敛。这两个因素通常密不可分地纠缠在一起。(2)由于缺乏精密搜索方法的配合,PSO算法往往不能得到精确的结果。造成这种问题的原因是PSO算法并没有很充分地利用计算过程中获得的信息,在每一步迭代中,仅仅利用了群体最优和个体最优的信息。(3)PSO算法虽然提供了全局搜索的可能,但是并不能保证收敛到全局最优点上。(4)PSO算法是一种启发式的仿生优化算法,当前还没有严格的理论基础,仅仅是通过对某种群体搜索现象的简化模拟而设计的,但并没有从原理上说明这种算法为什么有效,以及它适用的范围。因此,PSO算法一般适用于一类高维的、存在多个局部极值点而并不需要得到很高精度解的优化问题。
当前针对PSO算法开展的研究工作种类繁多,经归纳整理分为如下八个大类:(1)对PSO算法进行理论分析,试图理解其工作机理;(2)改变PSO算法的结构,试图获得性能更好的算法;(3)研究各种参数配置对PSO算法的影响;(4)研究各种拓扑结构对PSO算法的影响;(5)研究离散版本的PSO算法;(6)研究PSO算法的并行算法;(7)利用PSO算法对多种情况下的优化问题进行求解;(8)将PSO算法应用到各个不同的工程领域。以下从这八大类别着手,对PSO算法的研究现状作一梳理。由于文献太多,无法面面俱到,仅捡有代表性的加以综述。
H. pso的并行算法
与大多数随机优化算法相似,当适应值评价函数的计算量比较大时,PSO算法的计算量会很大。为了解决该问题,研究者提出了并行PSO算法。与并行遗传算法类似,并行PSO算法也可以有三种并行群体模型:主从并行模型、岛屿群体模型和邻接模型。
Schutte采用同步实现方式,在计算完一代中所有点的适应值之后才进入下一代。这种并行方法虽然实现简单,但常常会导致并行效率很差。故而有人提出异步方式的并行算法,可以在对数值精度影响不大的条件下提高PSO算法的并行性能。这两种方式采用的都是主从并行模型,其中异步方式在求解上耦合性更高,更容易产生通信瓶颈。
Baskar提出一种两个子种群并行演化的并发PSO算法,其中一个子种群采用原始的PSO算法,另一个子种群采用基于适应值距离比的PSO算法(FDR-PSO);两个子种群之间频繁地进行信息交换。而El-Abd研究了在子种群中采用局部邻域版本的协作PSO算法,并研究了多种信息交换的方式及其对算法性能的影响。黄芳提出一种基于岛屿群体模型的并行PSO算法,并引入一种集中式迁移策略,提高了求解效率,同时改善了早收敛现象。
Li提出延迟交换信息的并行算法属于邻接模型,该算法可以提高速度,但可能使得解的质量变差。
I. pso的多目标优化
在多目标优化问题中,每个目标函数可以分别独立进行优化,然后为每个目标找到最优值。但是,很少能找到对所有目标都是最优的完美解,因为目标之间经常是互相冲突的,只能找到Pareto最优解。
PSO算法中的信息共享机制与其他基于种群的优化工具有很大的不同。在遗传算法(GA)中,染色体通过交叉互相交换信息,是一种双向信息共享机制。但是在PSO算法中,只有gBest(或nBest)给其他微粒提供信息,是一种单向信息共享机制。由于点吸引特性,传统的PSO算法不能同时定位构成Pareto前锋的多个最优点。虽然通过对所有目标函数赋予不同的权重将其组合起来并进行多次运行,可以获得多个最优解,但是还是希望有方法能够一次同时找到一组Pareto最优解。
在PSO算法中,一个微粒是一个独立的智能体,基于其自身和同伴的经验来搜索问题空间。前者为微粒更新公式中的认知部分,后者为社会部分,这二者在引导微粒的搜索方面都有关键的作用。因此,选择适当的社会和认知引导者(gBest和pBest)就是MO-PSO算法的关键点。认知引导者的选择和传统PSO算法应遵循相同的规则,唯一的区别在于引导者应按照Pareto支配性来确定。社会引导者的选择包括两个步骤。第一步是建立一个从中选取引导者的候选池。在传统PSO算法中,引导者从邻居的pBest之中选取。而在MO-PSO算法中更常用的方法是使用一个外部池来存储更多的Pareto最优解。第二步就是选择引导者。gBest的选择应满足如下两个标准:首先,它应该能为微粒提供有效的引导来获得更好的收敛速度;第二,它还需要沿Pareo前锋来提供平衡的搜索,以维持种群的多样性。文献中通常使用两种典型的方法:(1)轮盘选择模式,该方式按照某种标准进行随机选择,其目的是维持种群的多样性;(2)数量标准:按照某种不涉及随机选择的过程来确定社会引导者。
Moore最早研究了PSO算法在多目标优化中的应用,强调了个体和群体搜索二者的重要性,但是没有采用任何维持多样性的方法。Coello在非劣最优概念的基础上应用了一个外部“容器”来记录已找到的非支配向量,并用这些解来指导其它微粒的飞行。Fieldsend采用一种称为支配树的数据结构来对最优微粒进行排序。Parsopoulos应用了权重聚合的方法。Hu应用了动态邻域,并在此基础上利用扩展记忆,按词典顺序依次优化各个目标。Ray使用聚集机制来维持多样性,并用一个多水平筛来处理约束。Lu使用了动态种群策略。Bartz-Beielstein采用归档技术来提高算法性能。Li在PSO算法中采用NSGA-II算法中的主要机制,在局部最优微粒及其后代微粒之间确定局部最优微粒;并此基础上又提出一种新的算法,在适应值函数中使用最大最小策略来确定Pareto支配性。张利彪使用多个目标函数下各最优位置的均值来指导微粒飞行。Pulido使用多个子种群并采用聚类技术来求解多目标规划问题。Mahfouf采用加权聚合方法来计算微粒的适应值,并据此确定引导微粒的搜索。Salazar-Lechuga使用适应值共享技术来引导微粒的搜索。Gong提出微粒角度的概念,并使用最小微粒角度和微粒密度来确定局部最优和全局最优微粒。基于AER模型,Zhang提出一种新的智能PSO模型,来将种群驱向Pareto最优解集。Ho提出一种新的适应值分配机制,并使用寿命(Age)变量来保存和选择最优历史记录。Huang将CLPSO算法应用到多目标规划中。Ho提出另一种基于Pareto的与尺度无关的适应值函数,并使用一种基于正交试验设计的智能运动机制(IMM)来确定微粒的下一步运动。Branke系统研究了多种个体最优微粒的选择方法对MOPSO算法性能的影响。张勇考虑储备集更新策略在多目标PSO算法中的关键作用,提出一种两阶段储备集更新策略。
原萍提出一种分布式PSO算法—分割域多目标PSO算法(DRMPSO),并将其应用到基站优化问题。向量评价PSO算法(VEPSO)是一种受向量评价遗传算法(VEGA)的启发提出的一种算法,在VEPSO算法中,每个种群仅使用多个目标函数之一来进行评价,同时各种群之间互相交互经验。将每个种群分配到一台网络PC上,即可直接使VEPSO算法并行化,以加速收敛。Vlachogiannis应用并行VEPSO算法来确定发电机对输电系统的贡献。熊盛武利用PSO算法的信息传递机制,在PSO算法中引入多目标演化算法常用的归档技术,并采用环境选择和配对选择策略,使得整个群体在保持适当的选择压力的情况下收敛于Pareto最优解集。
由于适应值的计算非常消耗计算资源,为了减少计算量,需要减少适应值评价的次数。Reyes-Sierra采用适应值继承和估计技术来实现该目标,并比较了十五种适应值继承技术和四种估计技术应用于多目标PSO算法时的效果。
保持MOPSO中的多样性的方法主要有两种:sigma方法和ε-支配方法。Villalobos-Arias在目标函数空间中引入条块划分来形成聚类,从而保持多样性。
J. 什么是目标函数值在粒子群算法中有这个概念
PSO算法是一种基于迭代的优化算法。可以详细理解一下PSO算法的具体思想和寻优规则。
我用数学概念给你解释一下目标函数值:
我们简单的假设一条抛物线方程为y=ax^2+bx+c,存在一条直线y=mx+n与抛物线相离
求抛物线上某点距离该直线最近的距离d;
通过数学的方法,就会设抛物线上任意一点的坐标(p,q),然后建立距离方程:
d=|pm-q+n|/√(a^2+b^2) (1) 这里抛物线上所有的点都可以理解为粒子,咱们要找的就是最好的那个粒子。
我们要求d最小,(1)式这个方程就是目标函数,求得的最小值dmin就是我们要求的目标函数值。
点(p,q)就是我们得到的PSO算法中的最优解。
PSO算法最重要的是数学模型的建立。