基于空间划分树的多目标粒子群优化算法

合集下载

多目标粒子群算法

多目标粒子群算法

多目标粒子群算法多目标粒子群算法(Multi-objective Particle Swarm Optimization,MOPSO)是一种基于粒子群算法(Particle Swarm Optimization,PSO)的多目标优化算法。

与传统的单目标优化算法不同,多目标优化算法旨在同时优化多个冲突的目标函数,寻找最优的一组解。

多目标粒子群算法基本思想是将多个目标函数转化为一个综合目标函数,通过粒子群算法在搜索空间中寻找最优的解集合。

在多目标粒子群算法中,每个粒子都维护着自己的位置和速度,利用历史最优位置和群体最优位置来引导搜索。

与单目标粒子群算法相比,多目标粒子群算法有以下几个特点:1. 多个目标函数:多目标粒子群算法需要优化多个冲突的目标函数,这些目标函数可能存在冲突,无法简单地将其转化为单一的综合目标函数。

2. Pareto最优解集合:多目标粒子群算法的目标是找到一组解集合,这组解集合中的任何解都无法被其他解所支配。

这组解集合被称为Pareto最优解集合,代表了搜索空间的一组无法优化的最优解。

3. Pareto支配:多目标粒子群算法通过定义Pareto支配关系来确定目标函数的优劣。

一个解支配另一个解,当且仅当它在所有目标函数上至少同时优于另一个解。

多目标粒子群算法的基本流程如下:1. 初始化粒子群的位置和速度。

2. 根据粒子的位置计算目标函数值,并更新粒子的历史最优位置。

3. 计算群体的最优位置,并根据最优位置和历史最优位置更新粒子的速度。

4. 根据粒子的速度和位置更新粒子的位置。

5. 判断停止条件是否满足,如果满足则结束算法,否则返回第2步。

多目标粒子群算法在解决多目标优化问题上具有一定的优势,可以搜索到Pareto最优解集合。

然而,多目标粒子群算法也面临一些挑战,如收敛速度较慢、解的多样性不足等。

因此,研究人员一直在通过改进算法的初始化方法、更新策略等方面来提高多目标粒子群算法的性能。

多目标粒子群算法

多目标粒子群算法

多目标粒子群算法多目标粒子群算法(MOPSO)是一种基于进化计算的优化方法,它可以有效解决多目标优化问题。

其主要概念是基于多面体搜索算法,把多个粒子看作无人机,它们可以在多目标函数中进行搜索,以寻找最优解。

MOPSO算法把多目标优化问题转换为一个混合非线性规划问题,它使用了动态的样本技术和非均匀的采样方法,用于构建联合募集框架。

MOPSO算法可以并行运行,利用可伸缩的进化引擎,将不断改进和优化多目标优化问题解。

MOPSO算法是一种满足Pareto最优性的多目标优化方法,其主要目标是寻找Pareto最优解。

MOPSO算法的初始参数是状态空间中的多个初始粒子的位置,该算法借助粒子群优化技术和多面体搜索算法,利用迭代搜索算法来求解Pareto最优解。

在MOPSO算法中,粒子的位置由这两种方法的结合来确定:(1)“随机探索”,即每个粒子随机移动以发现新的解;(2)“最优探索”,即每个粒子尝试移动到种群最优解所在的位置。

通过这种不断进化的搜索机制,可以找到更好的解,以维持每个粒子的最优性,从而获得更好的最终结果。

MOPSO算法的另一个优点是,它可以检测和处理多维度的优化变量和不同方向的最优性,它可以从多个维度上考虑多目标优化问题,用于生成更多更好的解决方案。

MOPSO算法也可以克服粒子群算法中的参数空间收敛,从而更有效地解决多目标优化问题。

此外,为了提高算法效率,MOPSO也可以使用分布式粒子群优化技术,从而改善算法的运行效果。

总之,多目标粒子群算法是一种非常有效的多目标优化方法,它可以有效解决多目标优化问题,并在分布式环境下改善算法的运行效率。

由于它能够以不同的方式处理多个变量和多个优化目标,MOPSO算法已经被广泛应用于各种复杂的多目标优化问题中。

基于空间划分树的多目标粒子群优化算法概要

基于空间划分树的多目标粒子群优化算法概要

第49卷第4期吉林大学学报(理学版)Vol.49No.42011年7月JournalofJilinUniversity(ScienceEdition)July2011基于空间划分树的多目标粒子群优化算法刘华蓥1,王静1,许少华1,孙毅2(1.东北石油大学计算机与信息技术学院,黑龙江大庆163318;2.吉林大学数学学院,长春130012)摘要:提出一种基于空间划分树的多目标粒子群优化算法,该算法采用网格拥挤距离与网格密度相结合的策略选取全局极值,能加速算法收敛,保持种群多样性,在提高全局极值选取准确度的同时使最终解保持了较好的分布性.关键词:多目标优化;粒子群算法;M维空间划分;空间划分树中图分类号:TP301.6文献标志码:A文章编号:1671-5489(2011)04-0696-07Multi-objectiveParticleSwarmOptimizationAlgorithmBasedonSpatialPartitionTreeLIUHua-ying1,WANGJing1,XUShao-hua1,SUNYi2(1.CollegeofComputerandInformationTechnology,NortheastPetroleumUniversity,Daqing163318,HeilongjiangProvince,China;2.CollegeofMathematics,JilinUniversity,Changchun130012,China)Abstract:Amulti-objectiveparticleswarmoptimizationalgrithmbasedonspatialpartitiontreewaspresented.Thestrategyofusingcrowdingdistanceandgriddensitytoselectglobalbestisabletospeedupconvergence,andmaintainsthepopulationdiversity.Thisstrategycanimprovetheaccuracyofselectingglobalbestandkeepsthedistributionofsolutionseffectively.Keywords:multi-objectiveoptimization;particleswarmalgorithm;M-dimensionspatialpartition;spatialpartitiontree收稿日期:2010-11-22.作者简介:刘华蓥(1969—),女,汉族,硕士,教授,从事群体智能优化算法的研究,E-mail:dqpilhy@163.com.基金项目:国家自然科学基金(批准号:60473051)、中国石油科技创新基金(批准号:2010D-5006-0302)、黑龙江省自然科学基金(批准号:ZA2006-11)和黑龙江省科技攻关项目(批准号:GZ07A103).粒子群优化算法(PSO)[1]以其易于实现、参数设置较少等优点,广泛应用于多目标优化[2-3]和其他优化问题[4-5]中.多目标粒子群优化算法(MOPSO)主要分为聚集函数法、基于目标函数排序法、子群法、基于Pareto支配法等,目前研究者主要集中于基于Pareto支配的多目标粒子群优化算法[6].自从Coello等[7]首次提出用一个外部集保存每次迭代得到的非支配解后,大多数多目标粒子群优化算法都采用了外部存档策略.张利彪等[8]的算法采用新的全局极值和个体极值选取方式,提高了算法的有效性;孙小强等[9]采用聚类算法裁剪非支配解,提高了解的分布性.但这些算法在收敛性和分布性方面,特别是解决高维多目标问题上仍需做进一步改进.在多目标条件下,可能存在很多彼此不受支配的全局最优解,个体的密度信息是选取全局最优解的主要因素之一.典型的基于密度方法有非劣分层遗传算法(NSGA2)[10]和K-近邻密度估值法(SPEA2)[11],这两种方法能对个体密度进行准确地估计,但其计算复杂度偏高.CMOPSO算法[7]和自适应网格的多目标粒子群算法(AGAMOPSO)[12]使用Pareto存档进化策略(PAES)[13]中自适应网格法维护外部集(Archive,简称Arc),用网格中的粒子数作为网格密度定义网格适应度值,其网格密度计算性能较好,但其估值还存在一定误差.本文提出一种基于空间划分树的多目标粒子群优化算法(SPTMOPSO),用网格把目标空间划分为多个体积相等的单元格,用空间划分树建立非空单元格的索引,采用拥挤距离和网格密度相结合的策略选取全局极值,进一步提高了解集的分布性.1多目标优化问题及粒子群优化算法多目标优化问题可以表示如下:miny=f(x)=(f1(x),f2(x),…,fM(x)),s.t.gi(x)≤0(i=1,2,…,p),其中:决策向量x∈Rn;目标向量y∈RM;fi(x)(i=1,2,…,M)是目标函数;gi(x)≤0(i=1,2,…,p)是约束条件.大多数情况下各目标函数之间是相互冲突的,某目标的改善可能引起其他目标性能的降低,同时使多个目标均达到最优很难实现,只能在各目标之间进行协调权衡和折中处理,使所有目标函数尽可能达到最优.不同于单目标优化,多目标优化中使用Pareto支配[14]评价最优解,相关概念如下:定义1若fi(x)≤fi(x)(i=1,2,…,M),且k∈{1,2,…,M},使得fk(x)<fk(x),则称解xPareto支配x,记作xx.定义2若x:xx,则称解x是Pareto最优解或非支配解.定义3所有Pareto最优解的集合PS={xxx}称为Pareto最优解集或非支配解集.定义4所有Pareto最优解对应的目标函数值所形成的区域PF={f(x)=(f1(x),f2(x),…,fM(x))x∈PS}称为Pareto最优前端.标准粒子群优化算法使用一群粒子表示特定问题的潜在解.给定一个d维搜索空间,第i个粒子在t时刻的位置为xi(t),速度为vi(t),它经历过的最好位置记为pbesti,整个粒子群经历过的最好位置记为gbest.PSO算法通过不断更新粒子速度与位置使粒子向最优解飞行.第i个粒子的速度与位置更新公式如下:vi(t+1)=wvi(t)+c1r1(pbesti-xi(t))+c2r2(gbest-xi(t)),(1)xi(t+1)=xi(t)+vi(t+1),(2)其中:w为惯性权重;c1和c2为常数,称为学习因子;r1和r2是[0,1]上的随机数.式(1)中的c1r1(pbesti-xi(t))为认知部分,c2r2(gbest-xi(t))为社会部分,认知部分和粒子的个体经验相关,社会部分则表示粒子间的交互.2基于空间划分树的多目标粒子群优化算法外部集维护和全局最优位置的选取是多目标粒子群优化算法的两个重要步骤.维护外部集的主要目的是为群体的演化提供多样化的全局最优位置,而为每个粒子选择适当的全局最优位置能保持或进一步增加外部集中解的多样性,两者相互配合,使算法获得更多均匀分布在目标空间上的非支配解,逼近Pareto最优前端.本文使用空间划分树[15]对目标空间进行划分.2.1外部集的空间划分树索引给定M维目标空间S=D1×D2×…×DM,其中Di为S中第i维的数据域.定义5将外部集所对应的M维目标空间S的每一维平均分为k个相等的间隔段,则S被划分为kM个互不相交的超矩形单元,它们覆盖整个M维目标空间S.每个单元C的空间位置表示为(c1,c2,…,cM),其中1≤ci≤k,对应于第i维的第ci个左闭右开的间隔段.这kM个单元在划分目标空间S的同时也划分了外部集,称为外部集的M维空间划分.图1为一个外部集对应的2维空间划分结果.每维划分为5个间隔段,编号为1~5,外部集空间被划分为25个子空间.其中C(1,4),C(1,5),C(2,3),C(2,4),C(3,2),C(3,3),C(5,1)为非空单元.996第4期刘华蓥,等:基于空间划分树的多目标粒子群优化算法在对外部集进行划分后,需要为其建立高效索引,以便对其进行有效管理.本文采用空间划分树索引外部集的M维空间划分.由于M维空间划分的规模与M为指数增长关系,为了以最小的代价存储有效信息,空间划分树仅索引非空单元.定义6外部集在M维空间划分下的空间划分树(spatialpartitiontree,简称SPT)结构定义如下:1)它有一个根节点,共有M+1层;2)SPT的第i层对应外部集的第i维(i=1,2,…,M),第M+1层存储所有非空单元中的粒子数;3)除了第M+1层,第i层(非叶节点层)包含形如(dim,next)的节点,其中dim表示该单元在第i维上的间隔号,next为指向下一层节点的指针,所指向节点包含与本单元对应的下一维的所有相异非空单元;4)第M层节点指向叶节点:叶节点形如(num,solutions),其中num为叶节点中包含的非支配解个数,solutions为叶节点中保存的非支配解集;5)从根节点到叶节点的一条路径对应一个非空单元.图2为对图1中外部集的2维空间划分结果进行索引建立的SPT,该SPT共3层,第1层有4个节点,分别表示非空单元在f1维的间隔号.例如根节点中的节点1指向第2层节点4和节点5,说明与f1维第1个间隔号对应的非空单元在f2维的间隔段编号分别为4和5.叶节点存储从根节点到该叶节点经过的路径所对应非空单元中的非支配解数目及非支配解.如图2中第3层最后一个节点表示非空单元C(5,1)中有2个非支配解j和k.图1外部集对应的2维空间划分示意图Fig.12-Dimensionspatialpartitionofarchiveset图2空间划分树Fig.2Spatialpartitiontree2.2非支配解的SPT存储非支配解的存储过程即建立SPT的过程,也即把非支配解插入SPT的过程.例如,把M维目标空间每维划分为k个相等的间隔段,非支配解x的插入过程即依次由x所在网格各维间隔段号(c1,c2,…,cM)查找其存储网格的过程.其中ci=「(fi(x)-min(fi))×ki)-min(fi)(i=1,2,…,M),max(fi)和min(fi)分别为目标函数fi的最大值和最小值.2.3全局极值的选取直接采用NSGA2中方法计算拥挤距离的计算代价太高.采用基于自适应网格的MOPSO方法直接根据网格密度决定全局极值的选取,可降低计算代价,但该方法未考虑相邻网格对网格密度的影响.如图1所示,若只考虑单个网格密度会得出Den(C(3,3))=Den(C(3,2))的结论,但由于与C(3,3)相邻的C(2,3)的网格密度较高,所以事实上h的密度高于i的密度,即可直观得出Den(C(3,2))<Den(C(3,3))的结论.考虑到相邻网格对网格密度的影响,本文采用网格拥挤距离与网格密度相结合的策略选择全局极值.本文计算网格拥挤距离与NSGA2中方法不同之处在于网格拥挤距离的计算基于SPT进行,由于SPT从根节点到网格节点之间各层节点本身包含了计算拥挤距离所需信息,因此在SPT上计算所有网格的拥挤距离只需遍历一次SPT,其计算复杂度比NSGA2降低了一个量级.定义7网格单元C对应的第i维拥挤距离为Crowi(C)=Avg∑Cneighbor・ci-C・ci,其中007吉林大学学报(理学版)第49卷Cneighbor・ci-C・ci为网格C在第i维上与其最近邻Cneighbor的距离,Cneighbor最多可能有2个,也可能有1个(处在该维边界上)或0个(只有一个网格).Avg()计算C在第i维上与所有Cneighbor的平均距离.定义8网格C的拥挤距离为Crow(C)=∑Mi=1Crowi(C).网格拥挤距离的计算从根节点开始在每层非叶节点上进行.计算所有网格的拥挤距离只需从根节点开始遍历一次SPT.不同网格如果有公共祖先,则它们在公共祖先对应各维的拥挤距离相同,如图2中的网格C(3,2)和C(3,3),它们的公共祖先是SPT第1层间隔段号为3的节点,故有Crow1(C(3,2))=Crow1(C(3,3)).为了避免公共部分拥挤距离的重复计算,SPTMOPSO使用栈StackCrow保存计算各维拥挤距离的中间结果,当算法遍历到一个叶节点时,StackCrow中依次保存了该叶节点对应各维的拥挤距离,求和即可得到其拥挤距离.当计算相邻节点时,只需执行Pop(StackCrow)操作,然后把相邻节点在该维的拥挤距离入栈Push(StackCrow).网格的拥挤距离越大,其中的非支配解作为gbest进行搜索的潜力越大.为了维持解集分布的均匀性,规定每个网格C中保存非支配解的最大个数为nummax.定义9网格密度Den(C)=C.num/nummax.Den(C)越小,其中非支配解的局部搜索能力越强.定义10拥挤距离密度比KC/D=Crow(C)/Den(C).gbest优先从KC/D最大的网格中选取.2.4外部集的更新设N为Arc的规模.如果非支配解x插入网格C时其中非支配解数目已达到nummax,则从C中随机删除一个粒子,然后把x插入C.若x插入外部集时,外部集中非支配解数目已经达到N,则优先从KC/D值最小的网格中随机删除一个非支配解.若网格中非支配解已被全部删除,则从SPT中删除对该网格的索引.2.5算法下面给出基于空间划分树的多目标粒子群优化算法.设N为粒子群P的规模,Pi为第i次迭代后得到的非支配解集,Pi为Pi中非支配解个数.max_it为最大迭代次数,函数Random{x,y}从集合{x,y}中随机选择一个.粒子搜索时有速度限制Vmax,当粒子飞出搜索空间时,令粒子的位置在边界上,其速度=-Vmax/2.SPTMOPSO算法描述如下:Initial(P);//初始化粒子群PPartition(k(SPT);//划分目标空间网格,建立SPTFori=1toP0执行Insert(SPT,x)把非支配解x加入Arc并对其建立SPT索引;//x∈P0EndForWhilei<max_itForj=1toNIfxjpbestjpbestj=xjElseIf!(pbestjxj)pbestj=Random{xj,pbestj};EndIfEndIfEndFor通过Traversal(SPT)计算SPT索引的每个网格C的Crow(C)与Den(C);从KC/D值最大的网格中随机选择一个粒子作为gbest;用式(1),(2)更新P中所有粒子的速度和位置;Forj=1toPi执行Update(SPT,x);//x∈PiEndForEndWhile使用SPT索引划分后的目标空间网格不仅能有效保存数据的空间位置信息,而且能保存单元的相对空间位置信息.计算任意网格C密度Den(C)即为查找网格C的过程,最差情况下SPT中有k个非叶节点,SPT共M+1层,查找网格在某层的间隔段号需要进行log2k次比较,查找一个网格共需Mlog2k次比较.SPT从根节点到网格节点之间各层节点本身包含了计算拥挤距离所需信息,在SPT上计算所有网格的拥挤距离只需遍历一次SPT,最差情况下SPT索引N个非空网格(此时每个非空网格中只落入一个非支配解),遍历SPT需要MNlog2k次比较.对于不同问题,规模k为常数,因此SPTMOPSO算法确定gbest的时间复杂度为O(MN).由于Arc规模N的设置采用与NSGA2相同的方法,即与种群规模N呈线性关系,于是确定gbest的时间复杂度为O(MN),而NSGA2为O(MNlog2N).SPT仅索引非空网格,一般情况下非空网格数量远小于空网格数量,因此实际计算量要小得多.3实验结果与分析多目标优化算法的性能评价指标很多,主要分为三类:收敛性能、分布性能(多样性能)和综合性能.本文选用其中两个指标评价算法的性能.定义11[16]算法所获得的解与Pareto最优前端的趋近程度generationaldistance(GD)定义为GD=i=1d2i其中:n表示算法最终获得的解个数;di为第i个解到最优前端的最短距离.GD值越小,表明算法所获得的解越趋近最优前端.定义12[17]Spacing(SP)用于描述算法获得的解在目标空间上的分布是否均匀,定义为SP=i=1(d-di)2,其中:di=minj=1,2,…,n∑Mk=1fik-fjk;n表示算法最终获得的解个数;d是di的平均值.SP值越小,表明该算法获得的解分布越均匀.本文使用SCH,ZDT1,ZDT2和ZDT3四个测试函数[18]验证SPTMOPSO算法.这些测试函数的最优前端有凸的、非凸的和不连续的.对这些具有不同形状最优前端的函数进行测试,并把实验结果与NSGA2和PAES的结果进行对比.SPTMOPSO算法参数设置如下:粒子群初始规模为200;最大迭代次数为200;学习因子c1=c2=0.5;w从0.9随迭代线性变化到0.4;k=30;nummax=10;n=30.NSGA2和PAES的参数设置如下:种群大小100,外部集合大小为100,交叉概率为0.8,二元锦标赛选择和二进制编码,变异概率为染色体长度的倒数.PAES的每维目标被划分的数量为10.3种算法分别对每个函数独立运行30次.图3~图6为本文算法所得的近似Pareto最优前端.表1列出了3种算法的计算结果.由表1可见,SPTMOPSO算法具有较好的收敛性能,在4个测试函数上都优于PAES,在ZDT1,ZDT2和ZDT3三个函数上优于NSGA2.这是由于SPTMOPSO算法的全局极值选取策略更合理,而且基于空间划分树的全局极值选择算法具有更高的计算效率.表1的计算结果也验证了在空间划分树上使用拥挤距离和网格密度相结合策略维护外部种群的有效性.由于考虑了相邻网格对网格密度的影响,所以SPTMOPSO算法对4个测试函数产生的非支配解在最优前端的分布都比PAES更广、更均匀,在SCH和ZDT2上分布性能略差于NSGA2,而在ZDT1和ZDT3上比NSGA2具有更好的分布性.第4期刘华蓥,等:基于空间划分树的多目标粒子群优化算法703图3SCH的近似Pareto最优前端Fig.3ApproximateParetooptimalfrontofSCH图4ZDT1的近似Pareto最优前端Fig.4ApproximateParetooptimalfrontofZDT1图5ZDT2的近似Pareto最优前端Fig.5ApproximateParetooptimalfrontofZDT2图6ZDT3的近似Pareto最优前端Fig.6ApproximateParetooptimalfrontofZDT3表13种算法的计算结果对比Table1Comparisonofcalculationresultsof3algorithms函数SCHZDT1ZDT2ZDT3参数平均值中间值标准差平均值中间值标准差平均值中间值标准差平均值中间值标准差SPTMOPSO0.0863200.0832300.0523700.0335920.0110.1040.0120.011358113740620GDPAES0.5424240.0419650.0319260.1902760.0380.2480.1680.056491473263029NSGA20.0220370.0171820.0272380.0837140.0110.1650.0250.014605347737912SPTMOPSO0.0959720.1256730.0103570.0925390.0620.1200.0120.009347738968229SPPAES0.1928370.1898110.0629320.1186350.0810.0910.0390.026459732942735NSGA20.0381080.0393360.0197130.0956110.0250.3310.0030.0021358855342670.0029100.0712100.0718200.0223700.2313160.1526390.1479180.0015810.0456970.6457620.6371580.0019750.0027750.0553390.0543580.0020300.3478270.1167550.1165390.0016490.0030080.1342730.1335160.001967由于SPTMOPSO算法中全局极值的选取不仅考虑了个体网格的密度信息,而且综合了个体网格与相邻网格间的拥挤距离信息,使得选取全局极值时的估值更准确、分布更均匀,能够较好地逼近Pareto最优前端.所以,与其他两种算法相比,SPTMOPSO算法具有一定的优势.综上可见,SPTMOPSO算法使用网格对多维目标空间进行划分,网格保存数据空间位置信息,空间划分树在索引存储非支配解的非空网格的同时记录非空网格的相对空间位置信息,为外部集维护提供了高效的数据结构支持,能有效提高gbest的计算性能;SPTMOPSO算法用NSGA2中拥挤距离的概念重新定义网格拥挤距离并结合网格密度选取全局极值,使算法能较好地逼近Pareto最优前端,并且可使Pareto最优解分布较均匀.704吉林大学学报(理学版)第49卷参考文献[1]KennedyJ,EberhartRC.ParticalSwarmOptimization[C]//Proceedingofthe1995IEEEInternationalConferenceon[2]ZHANGLi-biao,ZHOUChun-guang,LIUXiao-hua,etal.ApplicationofParticleSwarmOptimizationforSolvingNeuralNetwork.Piscataway:IEEEServiceCenter,1995:1942-1948.OptimizationProblems[J].JournalofJilinUniversity:InformationScienceEdition,2005,23(4):385-389.(张利彪,周春光,刘小华,等.粒子群算法在求解优化问题中的应用[J].吉林大学学报:信息科学版,2005,23(4):385-389.)[3]YUFan-hua,LIUHan-bing.StructuralDamageIdentificationbySupportVectorMachineandParticleSwarmAlgorithm[4]LIUShu-hua,ZHANGYu.Multi-robotTaskAllocationBasedonSwarmIntelligence[J].JournalofNortheastNormal分配方法[J].东北师大学报:自然科学版,2009,41(4):68-72.)基于支持向量机和粒子群算法的结构损伤识别[J].吉林大学学报:工学版,2008,38(2):434-438.)[J].JournalofJilinUniversity:EngineeringandTechnologyEdition,2008,38(2):434-438.(于繁华,刘寒冰.University:NaturalScienceEdition,2009,41(4):68-72.(刘淑华,张嵛.基于粒子群蚁群算法的多机器人任务[J].JournalofNaturalScienceofHeilongjiangUniversity,2010,27(2):272-276.(李秀英,韩志刚.基于粒子群算法优化的T-S型模糊神经网络控制器[J].黑龙江大学自然科学学报,2010,27(2):272-276.)[5]LIXiu-ying,HANZhi-gang.AControllerofT-SModelFuzzyNeuralNetworkBasedonParticleSwarmOptimization[6]WANGYan,ZENGJian-chao.ASurveyofaMulti-objectiveParticleSwarmOptimizationAlgorithm[J].CAAI系统学报,2010,5(5):377-384.)TransactionsonIntelligentSystems,2010,5(5):377-384.(王艳,曾建潮.多目标微粒群优化算法综述[J].智能TransEvolutionaryComputation,2004,8(3):256-279.[7]CoelloCAC,PulidoGT,LechugaMS.HandlingMultipleObjectiveswithParticleSwarmOptimization[J].IEEE[8]ZHANGLi-biao,ZHOUChun-guang,MAMing,etal.SolutionsofMulti-objectiveOptimizationProblemsBasedonParticleSwarmOptimization[J].JournalofComputerResearchandDevelopment,2004,41(7):1286-1291.(张利彪,周春光,马铭,等.基于粒子群算法求解多目标优化问题[J].计算机研究与发展,2004,41(7):ComputerEngineeringandApplications,2006,18:40-42.(孙小强,张求明.一种基于粒子群优化的多目标优化算法[J].计算机工程与应用,2006,18:40-42.)tionsonEvolutionaryComputation,2002,6(2):182-197.1286-1291.)[9]SUNXiao-qiang,ZHANGQiu-ming.AParticleSwarmOptimizationMethodforMulti-objectiveOptimization[J].[10]DebK,PratapA,AqarwalS,etal.AFastandElitistMultiobjectiveGeneticAlgorithm:NSGA-Ⅱ[J].IEEETransac-[11]ZitzlerE,ThieleL.MultiobjectiveEvolutionaryAlgorithms:AComparativeCaseStudyandtheStrengthParetoApproach[12]YANGJun-jie,ZHOUJian-zhong,FANGReng-cun,etal.Multi-objectiveParticleSwarmOptimizationBasedon等.基于自适应网格的多目标粒子群优化算法[J].系统仿真学报,2008,20(21):5843-5847.)EvolutionaryComputation,2000,8(2):149-172.NewYork:Springer-Verlag,2007.[J].IEEETransactionsonEvolutionaryComputation,1999,3(4):257-271.AdaptiveGridAlgorithms[J].JournalofSystemSimulation,2008,20(21):5843-5847.(杨俊杰,周建中,方仍存,[13]KnowlesJD,CorneDW.ApproximatingtheNondominatedFrontUsingtheParetoArchivedEvolutionStrategy[J].[14]CoelloCAC,LamontGB,VeldhuizenDA,Van.EvolutionaryAlgorithmsforSolvingMulti-objectiveProblems[M].[15]Vaně cekG,Jr.BREP-Index:AMultidimensionalSpacePartitioningTree[M].NewYork:ACM,1991.1998-10-14.http://www.lania.mx/~ccoello/EMoo/coelloo3a.pdf.gz.MassachusettsInstituteofTechnology,1995.[16]VeldhuizenDA,Van,LamontGB.MultiobjectiveEvolutionaryAlgorithmResearch:AHistoryandAnalysis[R/OL].[17]SchottJR.FaultTolerantDesignUsingSingleandMulticriteriaGeneticAlgorithmOptimization[M].Massachusetts:[18]GONGMao-guo,JIAOLi-cheng,YANGDong-dong,etal.ResearchonEvolutionaryMulti-objectiveOptimizationAlgorithms[J].JournalofSoftware,2009,20(2):271-289.(公茂果,焦李成,杨咚咚,等.进化多目标优化算法研究[J].软件学报,2009,20(2):271-289.)。

一种多目标的粒子群算法的研究

一种多目标的粒子群算法的研究

收稿日期: 2017-08-06 基金项目: 广东省高等学校优秀青年教师培养对象项目,清远市科技计划项目( 2016B002) ,广东省数据库应用技术精品
资源共享课,广东省教育研究课题( GDJY-2015-B-b146) 。 作者简介: 丁知平( 1980-) ,男,副教授,硕士,主要研究方向: 智能算法、图像处理、应用系统研发。
本文将粒子群算法运用到多目标优化中,首先 对该算法进行改进,提出了精英策略和多尺度变异 算子,其次,将改进后的算法运用到多目标的 Pareto 最优解测试中取得了比较好的效果。
1 多目标问题综述
1. 1 问题简述 在很多实际问题中,衡量一个方案的好坏往往
需要多个指标来进行对比,也就是说一个合理的方 案就是一个多目标问题的优化。多目标优化问题具 有多个目标函数,当多个目标同时涉及到一组相同 的决策变量的并相互制约的时候,尤其是对其中一 个目标进行优化,必须以牺牲其他目标作为代价,因 此无法具体评价多目标问题解的优劣。传统的多目 标算法往往是将多个目标转换成单个目标后利用成 熟的单目标优化算法求解,缺点是一次只能求解一 个解,伴随着优化条件的不断增多,优化模型日趋复 杂,使得计算量大大增加,很难采用通用的优化算法 来 进 行 比 较,进 而 将 多 目 标 的 优 化 转 变 成 寻 求 Pareto 解,传统的 Pareto 解在求解中具有分段、不连 续和分布不均匀等情况,因此传统的多目标算法无 法获得理想的结果。多目标优化算法的设计满足以 下几个条件:
第 34 卷 第 7 期 2018 年 7 月
科技通报
BULLETIN OF SCIENCE AND TECHNOLOGY
Vol.34 No.7 Jul. 2018
一种多目标的粒子群算法的研究

多目标粒子群优化算法

多目标粒子群优化算法

多目标粒子群优化算法多目标粒子群优化算法(Multi-objective Particle Swarm Optimization, MPSO)是一种基于粒子群优化算法的多目标优化算法。

粒子群优化算法是一种基于群体智能的全局优化方法,通过模拟鸟群觅食行为来搜索最优解。

多目标优化问题是指在存在多个优化目标的情况下,寻找一组解使得所有的目标都能得到最优或接近最优。

相比于传统的单目标优化问题,多目标优化问题具有更大的挑战性和复杂性。

MPSO通过维护一个粒子群体,并将粒子的位置和速度看作是潜在解的搜索空间。

每个粒子通过根据自身的历史经验和群体经验来更新自己的位置和速度。

每个粒子的位置代表一个潜在解,粒子在搜索空间中根据目标函数进行迭代,并努力找到全局最优解。

在多目标情况下,MPSO需要同时考虑多个目标值。

MPSO通过引入帕累托前沿来表示多个目标的最优解。

帕累托前沿是指在一个多维优化问题中,由不可被改进的非支配解组成的集合。

MPSO通过迭代搜索来逼近帕累托前沿。

MPSO的核心思想是利用粒子之间的协作和竞争来进行搜索。

每个粒子通过更新自己的速度和位置来搜索解,同时借鉴历史经验以及其他粒子的状态。

粒子的速度更新依赖于自身的最优解以及全局最优解。

通过迭代搜索,粒子能够在搜索空间中不断调整自己的位置和速度,以逼近帕累托前沿。

MPSO算法的优点在于能够同时处理多个目标,并且能够在搜索空间中找到最优的帕累托前沿解。

通过引入协作和竞争的机制,MPSO能够在搜索空间中进行全局的搜索,并且能够通过迭代逼近最优解。

然而,MPSO也存在一些不足之处。

例如,在高维问题中,粒子群体的搜索空间会非常庞大,导致搜索效率较低。

另外,MPSO的参数设置对算法的性能有着较大的影响,需要经过一定的调试和优化才能达到最优效果。

总之,多目标粒子群优化算法是一种有效的多目标优化方法,能够在搜索空间中找到最优的帕累托前沿解。

通过合理设置参数和调整算法,能够提高MPSO的性能和搜索效率。

多目标优化的粒子群算法及其应用研究

多目标优化的粒子群算法及其应用研究

多目标优化的粒子群算法及其应用研究多目标优化问题是指在优化问题中存在多个冲突的目标函数,需要找到一组解,使得所有目标函数能够达到最优或近似最优的解。

粒子群算法(Particle Swarm Optimization, PSO)是一种基于群体智能的优化算法,通过模拟鸟群觅食行为来寻找最优解。

多目标优化的粒子群算法(Multi-Objective Particle Swarm Optimization, MOPSO)是对传统的PSO算法进行改进和扩展,以解决多目标优化问题。

MOPSO算法通过在空间中形成一组粒子,并根据自身的经验和全局信息进行位置的更新,逐步逼近Pareto最优解集,以找到多个最优解。

其基本步骤如下:1.初始化一组粒子,包括粒子的位置和速度,以及不同的目标函数权重。

2.对于每个粒子,计算其目标函数值和适应度值。

3.更新个体最优位置和全局最优位置,以及粒子的速度和位置。

更新方式可根据不同的算法变体而有所差异。

4.检查是否满足终止条件,如达到最大迭代次数或达到预设的精度要求。

5. 如果不满足终止条件,则返回第3步;否则,输出Pareto最优解集。

MOPSO算法在多目标优化中具有以下优点:-非依赖于目标函数的导数信息,适用于复杂、非线性、高维的优化问题。

-可以同时全局最优解和局部最优解,避免陷入局部最优点。

-通过自适应权重策略,得到一组不同的最优解,提供决策者进行选择。

MOPSO算法在许多领域都有广泛的应用-工程设计:多目标优化问题在工程设计中很常见,例如在汽车设计中优化油耗与性能的平衡。

-经济学:多目标优化可以用于投资组合优化问题,以平衡投资收益与风险。

-物流与运输:多目标优化问题可应用于货物分配与路线规划中,以实现最低成本与最短时间的平衡。

综上所述,多目标优化的粒子群算法(MOPSO)通过模拟鸟群觅食行为,以找到一组解,使得所有目标函数能够达到最优或近似最优的解。

MOPSO算法在工程设计、经济学、物流与运输等领域都有广泛的应用。

多目标粒子群优化算法python

多目标粒子群优化算法python

多目标粒子群优化算法python多目标粒子群优化算法(Multi-objective Particle Swarm Optimization,MOPSO)是一种常用于解决多目标优化问题的进化算法。

本文将介绍多目标优化问题的概念和特点,然后详细介绍MOPSO算法的原理和步骤,最后通过一个简单的案例来说明该算法的应用。

一、多目标优化问题多目标优化问题是指在优化过程中存在多个相互矛盾的目标函数,寻找这些目标函数的最优解是一个复杂且具有挑战性的任务。

在实际应用中,往往会出现多个冲突的目标,例如在设计一辆汽车时需要同时考虑车辆的性能、安全性、燃油经济性等多个指标。

解决多目标优化问题的传统方法包括加权法、约束法和分层法等,然而这些方法存在一些局限性,无法得到全局最优解。

二、MOPSO算法的原理MOPSO算法是基于粒子群优化算法(Particle Swarm Optimization,PSO)的一种改进算法,通过引入非支配排序和拥挤度距离的概念,实现了对多个目标的优化。

MOPSO算法的基本原理如下:1. 初始化粒子群:随机生成一定数量的粒子,每个粒子代表一个解,同时记录每个粒子的个体最优解和全局最优解。

2. 更新粒子速度和位置:根据粒子的个体最优解和全局最优解,以及一定的权重系数,更新粒子的速度和位置。

3. 非支配排序:对所有粒子根据其在目标空间的支配关系进行排序,得到一系列非支配解集合。

4. 拥挤度距离计算:计算每个非支配解的拥挤度距离,用于保证解的多样性。

5. 环境选择:根据非支配排序和拥挤度距离,选择一定数量的粒子作为下一代群体。

6. 终止条件判断:根据预设的终止条件,判断是否达到终止条件,如果未达到则返回步骤2,否则输出结果。

三、MOPSO算法的步骤MOPSO算法的步骤可以总结如下:1. 初始化粒子群:随机生成一定数量的粒子,并初始化其速度和位置。

2. 更新粒子速度和位置:根据粒子的个体最优解和全局最优解,以及一定的权重系数,更新粒子的速度和位置。

多目标粒子群优化算法解决实际问题建模

多目标粒子群优化算法解决实际问题建模

多目标粒子群优化算法解决实际问题建模下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!一、引言近年来,随着智能算法的不断发展,多目标粒子群优化算法作为一种新兴的优化算法,在解决实际问题建模方面展现出了广阔的应用前景。

基于粒子群算法求解多目标优化问题

基于粒子群算法求解多目标优化问题

基于粒子群算法求解多目标优化问题一、本文概述随着科技的快速发展和问题的日益复杂化,多目标优化问题在多个领域,如工程设计、经济管理、环境保护等,都显得愈发重要。

传统的优化方法在处理这类问题时,往往难以兼顾多个目标之间的冲突和矛盾,难以求得全局最优解。

因此,寻找一种能够高效处理多目标优化问题的方法,已成为当前研究的热点和难点。

粒子群算法(Particle Swarm Optimization, PSO)作为一种群体智能优化算法,具有收敛速度快、全局搜索能力强等优点,已经在多个领域得到了广泛应用。

近年来,粒子群算法在多目标优化问题上的应用也取得了显著的成果。

本文旨在探讨基于粒子群算法求解多目标优化问题的原理、方法及其应用,为相关领域的研究提供参考和借鉴。

本文首先介绍多目标优化问题的基本概念和特性,分析传统优化方法在处理这类问题时的局限性。

然后,详细阐述粒子群算法的基本原理和流程,以及如何将粒子群算法应用于多目标优化问题。

接着,通过实例分析和实验验证,展示基于粒子群算法的多目标优化方法在实际问题中的应用效果,并分析其优缺点。

对基于粒子群算法的多目标优化方法的发展趋势和前景进行展望,为未来的研究提供方向和建议。

二、多目标优化问题概述多目标优化问题(Multi-Objective Optimization Problem, MOP)是一类广泛存在于工程实践、科学研究以及社会经济等各个领域中的复杂问题。

与单目标优化问题只寻求一个最优解不同,多目标优化问题涉及多个相互冲突的目标,这些目标通常难以同时达到最优。

因此,多目标优化问题的解不再是单一的最优解,而是一组在各个目标之间达到某种平衡的最优解的集合,称为Pareto最优解集。

多目标优化问题的数学模型通常可以描述为:在给定的决策空间内,寻找一组决策变量,使得多个目标函数同时达到最优。

这些目标函数可能是相互矛盾的,例如,在产品设计中,可能同时追求成本最低、性能最优和可靠性最高等多个目标,而这些目标往往难以同时达到最优。

多目标粒子群算法

多目标粒子群算法

多目标粒子群算法多目标粒子群算法(Multi-Objective Particle Swarm Optimization,MOPSO)是一种基于群智能的优化算法,用于解决多目标优化问题。

它是对传统粒子群算法(Particle Swarm Optimization,PSO)的扩展和改进。

传统的粒子群算法是一种基于模拟鸟群行为的优化算法,其中每个粒子代表一个解向量,它通过不断地自我更新和与其他粒子之间的信息交换,来搜索解空间中的最优解。

然而,传统PSO算法仅能求解单目标优化问题,无法直接应用于多目标优化问题。

多目标优化问题是指在多个冲突的目标函数下,求取一组最优解,也称为“帕累托最优解集合”。

而MOPSO算法通过改变传统PSO算法的设计,使其能够有效地求解多目标优化问题。

下面就来详细介绍MOPSO算法的原理和步骤。

MOPSO算法包括两个重要部分:粒子的移动更新和全局最优解集合的维护。

首先,每个粒子都有自己的位置和速度,并为每个目标函数设定一个权重。

粒子的移动更新通过以下步骤实现:1. 根据当前位置和速度计算新的位置。

2. 通过适应度函数评估新位置的适应度。

3. 比较新位置与之前的最优位置,更新个体最优解。

4. 比较新位置与全局最优解集合,更新全局最优解。

其次,全局最优解集合是一个在多个目标函数下找到的最优解的集合。

维护全局最优解集合的步骤如下:1. 初始化全局最优解集合为空。

2. 对于每个粒子,找到其邻域中的最优解。

3. 如果该最优解不在全局最优解集合中,将其加入。

4. 如果全局最优解集合中的解超过一定数量,根据解的多样性进行剪枝,确保解的多样性。

MOPSO算法的关键之一是如何定义粒子的适应度函数。

适应度函数是一个评估粒子解的函数,它在多目标优化中被定义为各个目标函数的加权和。

权重用于平衡不同目标之间的重要性,可以事先确定或在算法中动态地调整。

MOPSO算法的优点是:1. 更好地处理多目标优化问题,能够生成一组近似帕累托最优解。

多目标粒子群优化

多目标粒子群优化

多目标粒子群优化
多目标粒子群优化是一种用于解决多目标优化问题的算法。

它基于粒子群优化算法,通过引入多个目标函数,使得算法能够在多个目标之间进行权衡,找到一组最优解。

在多目标粒子群优化中,每个粒子都有多个维度,每个维度对应一个目标函数。

粒子根据目标函数的值来更新自己的位置和速度,以尝试找到一组最优解。

同时,每个粒子的位置都要在一个可行解空间内,保证解的合理性。

多目标粒子群优化算法的核心是粒子的更新规则。

一般来说,更新规则包括以下几个步骤:
1. 计算适应度值:对于每个粒子,计算它在每个目标函数上的适应度值。

2. 更新个体最优位置:对于每个粒子,将其当前位置作为个体最优位置,如果更新后的位置更优,则更新个体最优位置。

3. 更新全局最优位置:对于所有粒子中适应度值最优的位置作为全局最优位置。

4. 更新速度和位置:对于每个粒子,根据个体最优位置和全局最优位置,更新速度和位置。

通过不断迭代,粒子群逐渐趋向于最优解,同时在多个目标函数之间达到平衡。

多目标粒子群优化算法在许多实际问题中都得到了广泛的应用,如工程设计、金融投资等。

- 1 -。

粒子群优化算法与多目标优化

粒子群优化算法与多目标优化

粒子群优化算法与多目标优化
粒子群优化算法与多目标优化
粒子群优化算法(Particle Swarm Optimization, PSO)是一种仿生算法,它模仿了群体里每个个体(粒子)搜索最优解的行为模式。

算法中的每个粒子代表一个可能的解决方案,根据粒子的历史位置和速度更新每个粒子的位置,以期最终达到最优解。

粒子群优化算法最初是用于单目标优化问题,但是近年来也被用于多目标优化问题。

多目标优化是指优化多个目标函数的一组变量,这些目标函数可以是相互矛盾的,从而使得优化问题变得更加复杂。

粒子群优化算法可以应用于多目标优化,它可以基于每个粒子的历史位置和速度来更新每个粒子的位置,以期最终达到最优解。

为了更好地解决多目标优化问题,研究者们还引入了一种新的粒子群优化算法,即多目标粒子群优化算法(MOPSO)。

MOPSO与PSO的主要区别在于它使用多个目标函数来更新粒子的位置,而PSO仅使用单个目标函数。

此外,MOPSO还添加了一个进化步骤来改进原有粒子的解决方案,以求得更优的解决方案。

此外,MOPSO还改进了粒子群优化算法中粒子的选择方式,以更好地支持多目标优化问题的求解。

粒子群优化算法既可以用于单目标优化问题,也可以用于多目标优化问题,它的灵活性使得它能够应用于各种优化问题。

粒子群优化算法的优点在于它对种群的搜索空间有很好的探索能力,并且可以快速收敛到全局最优解。

此外,粒子群优化算法还可以用于多目标优化,MOPSO可以更好地支持多目标优化问题的求解。

因此,粒子群优化算法可以说是一种有效的优化算法,它可以有效地解决多目标优化问题。

基于粒子群优化算法的多目标优化问题求解

基于粒子群优化算法的多目标优化问题求解

基于粒子群优化算法的多目标优化问题求解摘要多目标优化问题是现代科学技术中经常遇到的问题之一。

传统的优化算法难以有效地解决这类问题,因此需要一种高效的优化算法来解决这种问题。

粒子群优化算法(Particle Swarm Optimization, PSO)作为一种新兴的优化算法,在多目标优化问题中表现出了良好的效果,本文将介绍基于粒子群优化算法的多目标优化问题求解的思路和方法。

1. 引言随着现代科学技术的不断发展,各行各业都涉及到了多目标优化问题。

例如,自动化工厂调度、工厂布局优化、电力系统调度等领域都需要解决多目标优化问题,传统的优化算法在解决这类问题上显得无能为力。

因此,研究高效的解决多目标优化问题的算法已成为当前的研究热点。

2. 多目标优化问题的定义与分类多目标优化问题(Multi-objective Optimization Problem, MOP)是指存在多个相互矛盾的目标函数需要最小化或最大化的优化问题。

多目标优化问题具有多样性、复杂性和不确定性等特点,它的解决涉及到数学、统计、计算机等多个领域。

根据问题的特征,多目标优化问题可分为以下几类:(1)在选择解时采用 Pareto 最优的非支配解集(Pareto Optimal Non-Dominated Solution Set, PONDS)作为解的选择标准,通常称为 Pareto 优化问题。

Pareto优化问题的主要研究方向是改进搜索算法和维护非支配解集。

(2)基于权衡的多目标优化问题。

在权衡的多目标优化问题中,目标函数的权值在不同的情况下有所不同,因此需要对不同权值下的优化结果进行比较,然后选择最优的结果。

该问题通常用加权平均法或效用函数法等方法来求解。

(3)约束多目标优化问题。

约束多目标优化问题是指在多目标优化问题的基础上,加入了约束条件。

该问题中要求解最优解,同时需要满足一定的约束条件。

3. 粒子群优化算法的概述粒子群优化算法(PSO)是一种优化算法,它是由Kennedy和Eberhart在1995年提出的。

多目标最优化的粒子群算法

多目标最优化的粒子群算法

多目标最优化的粒子群算法多目标最优化问题是指在一个问题中同时优化多个目标函数,这些目标函数通常是相互冲突的,无法通过改变一个目标而不影响其他目标。

粒子群优化算法(Particle Swarm Optimization, PSO)是一种基于群体智能的优化算法,它受到鸟群觅食行为的启发,通过模拟鸟群中的个体在解空间中的和信息交流来寻找问题的最优解。

在多目标最优化问题中,粒子群优化算法也可以被扩展为多目标优化版本,即多目标粒子群优化算法(Multi-Objective Particle Swarm Optimization, MOPSO)。

多目标粒子群优化算法的核心思想是利用非支配排序将种群中的个体划分为多个不同的前沿(Pareto Front),每个前沿上的解都是最优解的候选。

根据个体之间的支配关系和拥挤度,确定前沿上的个体,并通过粒子群算法进行和优化。

为了保持种群的多样性,采用了一个外部存档来存储过去迭代中的非支配解,以避免陷入局部最优。

多目标粒子群优化算法的步骤如下:1.初始化种群:设定种群规模、粒子的初始位置和速度,以及其他算法参数。

2.非支配排序:根据个体之间的支配关系对种群中的解进行排序。

3.拥挤度计算:计算种群中个体的拥挤度,通过衡量个体周围解的密度来保持前沿上的均匀分布。

4.外部存档更新:根据非支配排序和拥挤度计算结果,更新外部存档中的非支配解。

5.速度和位置更新:根据粒子群算法的速度和位置更新规则,更新每个粒子的速度和位置。

6.达到停止条件:判断是否满足停止条件,如达到最大迭代次数或找到满意的近似解。

7.重复步骤2至6,直到满足停止条件。

多目标粒子群优化算法相比单目标版本有以下几个特点:1.非支配排序:非支配排序用于划分种群中的解为多个前沿。

支配关系的判断通常使用帕累托支配方法。

2.拥挤度计算:拥挤度计算用于保持前沿上的均匀分布,避免解集中在其中一区域。

3.外部存档更新:外部存档用于存储过去迭代中的非支配解,保证多样性。

基于多目标粒子群算法的优化设计

基于多目标粒子群算法的优化设计

基于多目标粒子群算法的优化设计在现代科学技术日新月异的时代,优化设计已经成为了一项非常重要的技术。

优化设计的目的是在不损失性能和质量的前提下,最大化满足一定条件下的性能和质量。

多目标优化设计是一种非常重要的优化设计方法,它能够同时考虑多种目标,并找到这些目标之间的最佳平衡点。

而基于多目标粒子群算法的优化设计方法则是当前工程领域中非常流行的一种技术,它通过模拟粒子的运动以及多个粒子在解空间内的搜索过程来解决多个目标之间的最优解。

一、多目标优化设计的意义多目标优化设计可以帮助工程师在设计过程中,更加全面地考虑多个目标之间的关系,以实现最佳的平衡点。

例如,在设计汽车时,设计者既要考虑汽车的安全性能,又要考虑其燃油经济性,同时还要兼顾其驾乘舒适性,这三个目标之间可能存在着矛盾,但是多目标优化设计可以找到一个最优解,从而实现在多个方面都达到最佳的平衡点。

而基于多目标粒子群算法的优化设计方法则可以帮助工程师在设计过程中更加高效、精准地找到最优解。

因此,它在机械、建筑、飞行器等领域得到了广泛应用。

二、多目标粒子群算法粒子群算法(PSO)是一种计算智能算法,通过模拟粒子在解空间内的运动来进行全局优化。

每个粒子都拥有一定的速度和位置信息,在解空间内进行随机搜索,并根据自己和邻居的历史最佳位置来更新自身的速度和位置,以期望到达全局最优解。

而多目标粒子群算法则是在粒子群算法的基础上,增加了多个目标函数,并通过多目标优化问题的特殊算法来寻找最优解。

常见的多目标优化算法包括加权和法、支配排序法、多目标粒子群算法等。

三、基于多目标粒子群算法的优化设计的实现流程1. 确定优化问题的目标函数。

在进行优化设计之前,我们需要确定我们想要优化的目标函数,同时优化目标之间的相互关系。

例如,在汽车设计中,我们可能需要同时考虑汽车的性能、燃料经济性、驾乘舒适性等多个目标。

2. 初始化粒子群并随机生成每个粒子的位置和速度。

在初始化过程中,我们需要设置每个粒子的位置、速度和个体历史最佳位置等参数。

基于粒子群优化算法的多目标优化技术研究

基于粒子群优化算法的多目标优化技术研究

基于粒子群优化算法的多目标优化技术研究随着科技的飞速发展和数学理论的不断完善,多目标优化技术得以广泛应用。

多目标优化技术是指在多个约束和目标函数下进行优化,而这些目标可能存在着相互冲突或依存的关系。

如何找到最合适的解决方案?基于粒子群优化算法的多目标优化技术引起了研究者的极大兴趣。

一、粒子群优化算法的基本原理粒子群优化算法是由美国社会模拟研究中心的Eberhart和Kennedy于1995年提出的,它是一种进化算法,是模拟自然界中群体行为规律的一种数学模型。

把目标函数映射到一个高维空间中,粒子在这个空间中自由移动,不断寻找最优解。

粒子群的运动包括两种情况:①粒子本身在探寻最佳的位置,也就是局部寻优;②群体之间的信息共享,也就是全局寻优。

基本的粒子群优化算法采用了简单的三个步骤:初始化粒子位置和速度、根据粒子最优位置和群体最优位置更新粒子位置和速度、结束条件满足时输出最终最优解。

在算法运行的过程中,每一个粒子的位置代表一个状态解,每一个维度代表的是状态解中的一个决策变量值。

二、粒子群优化算法在多目标优化中的应用针对多目标优化问题,有许多粒子群优化算法的衍生模型,如Nondominated Sorting Particle Swarm Optimizer(NSPSO)、Pareto Particle Swarm Optimization(P-PSO)等。

相比遗传算法等多目标优化算法,粒子群优化算法具有以下特点:①算法执行效率高、搜索过程较快;②对搜索空间的搜索能力较强;③可对约束条件进行有效处理,有很强的鲁棒性;④不会出现“早熟”和“过度”现象。

因此,基于粒子群优化算法的多目标优化技术在工程、经济、管理等领域中得到了广泛的应用。

以下是一些实际应用场景。

2.1 多机械臂任务协同规划在多机械臂任务协同规划中,每个机械臂都有自己的控制参数,因此会涉及到多目标优化的问题。

基于NSPSO的多目标协同规划算法可以寻找到最优的协同决策方案,从而提高协同规划的效率和精度。

多目标粒子群算法实例

多目标粒子群算法实例

多目标粒子群算法实例多目标粒子群算法(Multi-objective Particle Swarm Optimization,简称MOPSO)是一种用于解决多目标优化问题的智能优化算法。

它基于粒子群算法(Particle Swarm Optimization,简称PSO)并进行了改进,能够在解空间中搜索并找到满足多个目标的最优解。

在本文中,我们将通过一个实例来介绍多目标粒子群算法的应用。

实例背景假设我们要解决一个多目标优化问题,即同时优化两个目标函数:最小化函数f1(x)和最小化函数f2(x),其中x为决策变量。

我们的目标是找到一组解,使得f1和f2都能取得最小值。

多目标粒子群算法步骤1. 初始化参数:- 粒子群中每个粒子的位置和速度;- 搜索空间的上下界限;- 群体的最大迭代次数。

2. 根据当前位置和速度,更新每个粒子的位置和速度。

这一步可参考标准粒子群算法的更新过程。

3. 计算每个粒子的适应度值。

在多目标问题中,适应度值是一个向量,包含每个目标函数的值。

4. 根据适应度值和非支配排序,对粒子群进行排序。

非支配排序可以用来评估粒子是否处于非劣解集合中,即是否有其他解不能同时优化目标函数。

5. 选择非支配解,将其作为当前群体的解集合。

6. 判断是否达到停止条件,如果满足则跳至步骤9;否则,进行下一步。

7. 根据当前解集合,更新每个粒子的个体和全局最优值。

8. 跳至步骤2。

9. 输出最终解集合,作为问题的近似最优解。

实例应用现在我们来应用多目标粒子群算法解决一个具体的问题。

问题描述:我们希望找到一个最优的投资组合,使得同时最小化风险和最大化收益。

我们有若干个金融产品可供投资,每个产品的预期收益率和风险都不同,我们需要选择适当的投资比例。

解决方案:1. 定义决策变量:投资比例向量x = [x1, x2, ..., xn],其中xi表示第i个金融产品的投资比例,0 ≤ xi ≤ 1,∑xi = 1。

2. 定义目标函数:我们的目标是最小化风险和最大化收益,因此可以定义两个目标函数:- f1(x)表示风险,可以通过计算投资组合的方差或标准差来度量;- f2(x)表示收益,可以通过计算投资组合的期望收益率来度量。

基于粒子群算法的多目标优化问题研究

基于粒子群算法的多目标优化问题研究

基于粒子群算法的多目标优化问题研究1.引言多目标优化问题是现代工程设计和决策中经常遇到的问题之一,因为现实中往往需要优化多个目标。

传统的单目标优化问题只考虑一个目标函数,因此无法很好地解决多目标优化问题。

粒子群算法(Particle Swarm Optimization,PSO)是一种启发式优化算法,它已经广泛应用于多个领域中的优化问题。

本文将介绍粒子群算法以及基于粒子群算法的多目标优化问题研究。

2.粒子群算法原理粒子群算法是一种通过模拟自然界中鸟群或鱼群等生物群体行为来进行优化的算法,该算法由Eberhart和Kennedy在1995年提出。

粒子群算法将优化问题看作是在一个多维空间中的搜索问题,将解空间中的每一个可能的解看作一个粒子,各个粒子按照一定规则进行搜索,不断更新粒子位置和速度来寻找全局最优解。

在粒子群算法中,每个粒子都有位置和速度两个向量,位置向量表示当前的解,速度向量表示粒子的移动方向和速度大小。

在搜索过程中,每个粒子会记录自己目前找到的最优解,而全局最优解则是所有粒子的最优解中的最优解。

搜索过程中,粒子按照自身的最优解和全局最优解来调整速度和位置,以期望找到某个局部最优解,最终在搜索过程结束时得到全局最优解。

3.基于粒子群算法的多目标优化问题研究多目标优化问题需要同时优化多个目标函数,这些目标函数往往是相互矛盾的,因此需要找到一组解,这些解可以尽可能地满足多个目标函数的要求。

本章将介绍基于粒子群算法的多目标优化问题研究的方法。

3.1 基本方法在基于粒子群算法的多目标优化问题研究中,最常用的方法是多目标粒子群算法(Multi-objective Particle Swarm Optimization,MOPSO)。

该算法通过对粒子速度和位置的调整,以期望找到多个目标函数的 Pareto 前沿(Pareto Front),并从中选择最优解。

MOPSO 算法中,每个粒子的位置和速度向量都需要根据多个目标函数来计算。

多目标粒子群算法知乎

多目标粒子群算法知乎

多目标粒子群算法知乎多目标粒子群算法(Multi-objective Particle Swarm Optimization,MOPSO)是一种基于粒子群算法(Particle Swarm Optimization,PSO)的多目标优化算法。

相对于传统的单目标优化问题,多目标优化问题往往存在多个冲突的目标函数,这就要求我们找到一组最佳的解决方案,而不仅仅是单一的最优解。

多目标粒子群算法通过维护一个粒子群,每个粒子都表示一个解,并且根据个体与全局最优解之间的距离和速度进行调整。

不同于单目标粒子群算法,多目标粒子群算法需要扩展到多个维度的空间,同时需要维护一个非支配解集合来存储非支配解。

非支配解是指在目标函数空间中不被其他解所支配的解。

MOPSO算法主要包括以下几个步骤:1.初始化粒子群:随机生成一定数量的粒子,并初始化粒子的位置和速度。

同时初始化非支配解集合为空。

2.更新粒子位置和速度:根据粒子当前的速度和位置,计算新的速度和位置,并进行更新。

3.计算目标函数:根据更新后的位置,计算粒子的目标函数值。

4.更新粒子的非支配解集合:对于每个粒子,检查其是否被其他解所支配。

如果没有被支配,则将其加入非支配解集合。

5.非支配解集合的更新:根据非支配解集合的大小限制,采用非支配排序和拥挤距离的计算方法对非支配解集合进行更新。

6.结束条件检查:检查是否满足终止条件,如果满足则结束算法,否则返回步骤2MOPSO算法的优点包括简单易实现、对问题的求解质量较高、收敛速度较快等。

然而,MOPSO算法也存在一些不足之处,例如收敛到局部最优的问题以及非支配解集合的更新策略的选择问题。

针对这些问题,可以通过改进算法的非支配解集合的更新策略、引入自适应机制以及采用启发式算法等方式来提高算法的性能。

总而言之,多目标粒子群算法是一种有效的多目标优化算法,可以应用于各种实际问题的求解。

随着对多目标优化问题的研究不断深入,相信MOPSO算法在实践中会得到更加广泛的应用和发展。

多目标粒子群优化算法的研究

多目标粒子群优化算法的研究

多目标粒子群优化算法的研究多目标粒子群优化算法的研究摘要:多目标优化问题在实际生活和工程中广泛存在,并且其解决具有挑战性。

粒子群优化算法(Particle Swarm Optimization, PSO)作为一种经典的群体智能优化算法,被广泛应用于解决多目标优化问题。

然而,传统的PSO算法在面对多目标问题时存在不足。

因此,针对多目标粒子群优化算法的研究具有重要的理论和应用价值。

本文通过对多目标粒子群优化算法的研究,探讨了其原理、特点以及改进方法,并通过实例验证了改进算法的有效性。

1. 引言多目标优化问题指的是在具有多个冲突目标的情况下,寻找一组最优解,也被称为帕累托最优解。

多目标优化问题存在于各个领域,例如工程设计、物流规划、资源分配等。

解决这类问题是非常困难的,因为优化目标之间通常存在相互制约和矛盾。

传统的单目标优化算法在解决多目标问题时效果不佳,因此需要研究并改进多目标优化算法。

2. 粒子群优化算法粒子群优化算法是一种基于群体智能的优化算法,模拟了鸟群或鱼群等生物的行为。

其基本原理是通过模拟粒子在解空间中的搜索行为来寻找最优解。

每个粒子都具有位置和速度两个属性,通过更新位置和速度的方式进行迭代搜索,直到达到停止条件为止。

3. 多目标粒子群优化算法的问题传统的粒子群优化算法在解决多目标问题时存在以下几个问题:(1)由于多目标问题存在着多个优化目标,传统算法很难维护多个粒子和帕累托最优解集之间的平衡。

(2)传统算法没有考虑目标权重以及个体之间的关联性,导致搜索结果偏向于某个目标,忽视了其他重要目标。

(3)在解空间中,存在大量的非支配解(Pareto Optimal Set),传统算法难以有效地探索和维护这些解。

4. 多目标粒子群优化算法的改进为了解决上述问题,研究者们提出了许多改进的多目标粒子群优化算法,主要包括以下几个方面的改进:(1)引入多目标优化方法,如NSGA-II算法,通过评价和选择非支配解集中的优秀个体,提高多目标优化的效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第49卷 第4期吉林大学学报(理学版)Vol.49 No.4 2011年7月JournalofJilinUniversity(ScienceEdition)July 2011基于空间划分树的多目标粒子群优化算法刘华蓥1,王 静1,许少华1,孙 毅2(1.东北石油大学计算机与信息技术学院,黑龙江大庆163318;2.吉林大学数学学院,长春130012)摘要:提出一种基于空间划分树的多目标粒子群优化算法,该算法采用网格拥挤距离与网格密度相结合的策略选取全局极值,能加速算法收敛,保持种群多样性,在提高全局极值选取准确度的同时使最终解保持了较好的分布性.关键词:多目标优化;粒子群算法;M维空间划分;空间划分树中图分类号:TP301.6 文献标志码:A 文章编号:1671-5489(2011)04-0696-07Multi-objectiveParticleSwarmOptimizationAlgorithmBasedonSpatialPartitionTreeLIUHua-ying1,WANGJing1,XUShao-hua1,SUNYi2(1.CollegeofComputerandInformationTechnology,NortheastPetroleumUniversity,Daqing163318,HeilongjiangProvince,China;2.CollegeofMathematics,JilinUniversity,Changchun130012,China)Abstract:Amulti-objectiveparticleswarmoptimizationalgrithmbasedonspatialpartitiontreewaspresented.Thestrategyofusingcrowdingdistanceandgriddensitytoselectglobalbestisabletospeedupconvergence,andmaintainsthepopulationdiversity.Thisstrategycanimprovetheaccuracyofselectingglobalbestandkeepsthedistributionofsolutionseffectively.Keywords:multi-objectiveoptimization;particleswarmalgorithm;M-dimensionspatialpartition;spatialpartitiontree收稿日期:2010-11-22.作者简介:刘华蓥(1969—),女,汉族,硕士,教授,从事群体智能优化算法的研究,E-mail:dqpilhy@163.com.基金项目:国家自然科学基金(批准号:60473051)、中国石油科技创新基金(批准号:2010D-5006-0302)、黑龙江省自然科学基金(批准号:ZA2006-11)和黑龙江省科技攻关项目(批准号:GZ07A103).粒子群优化算法(PSO)[1]以其易于实现、参数设置较少等优点,广泛应用于多目标优化[2-3]和其他优化问题[4-5]中.多目标粒子群优化算法(MOPSO)主要分为聚集函数法、基于目标函数排序法、子群法、基于Pareto支配法等,目前研究者主要集中于基于Pareto支配的多目标粒子群优化算法[6].自从Coello等[7]首次提出用一个外部集保存每次迭代得到的非支配解后,大多数多目标粒子群优化算法都采用了外部存档策略.张利彪等[8]的算法采用新的全局极值和个体极值选取方式,提高了算法的有效性;孙小强等[9]采用聚类算法裁剪非支配解,提高了解的分布性.但这些算法在收敛性和分布性方面,特别是解决高维多目标问题上仍需做进一步改进.在多目标条件下,可能存在很多彼此不受支配的全局最优解,个体的密度信息是选取全局最优解的主要因素之一.典型的基于密度方法有非劣分层遗传算法(NSGA2)[10]和K-近邻密度估值法(SPEA2)[11],这两种方法能对个体密度进行准确地估计,但其计算复杂度偏高.CMOPSO算法[7]和自适应网格的多目标粒子群算法(AGAMOPSO)[12]使用Pareto存档进化策略(PAES)[13]中自适应网格法维护外部集(Archive,简称Arc),用网格中的粒子数作为网格密度定义网格适应度值,其网格密度计算性能较好,但其估值还存在一定误差.本文提出一种基于空间划分树的多目标粒子群优化算法(SPTMOPSO),用网格把目标空间划分为多个体积相等的单元格,用空间划分树建立非空单元格的索引,采用拥挤距离和网格密度相结合的策略选取全局极值,进一步提高了解集的分布性.1 多目标优化问题及粒子群优化算法多目标优化问题可以表示如下:miny=f(x)=(f1(x),f2(x),…,fM(x)),s.t.gi(x)≤0(i=1,2,…,p),其中:决策向量x∈Rn;目标向量y∈RM;fi(x)(i=1,2,…,M)是目标函数;gi(x)≤0(i=1,2,…,p)是约束条件.大多数情况下各目标函数之间是相互冲突的,某目标的改善可能引起其他目标性能的降低,同时使多个目标均达到最优很难实现,只能在各目标之间进行协调权衡和折中处理,使所有目标函数尽可能达到最优.不同于单目标优化,多目标优化中使用Pareto支配[14]评价最优解,相关概念如下:定义1 若fi(x )≤fi(x)(i=1,2,…,M),且 k∈{1,2,…,M},使得fk(x)<fk(x),则称解x Pareto支配x,记作x x.定义2 若 x:x x ,则称解x 是Pareto最优解或非支配解.定义3 所有Pareto最优解的集合PS={x x x}称为Pareto最优解集或非支配解集.定义4 所有Pareto最优解对应的目标函数值所形成的区域PF={f(x)=(f1(x),f2(x),…,fM(x))x∈PS}称为Pareto最优前端.标准粒子群优化算法使用一群粒子表示特定问题的潜在解.给定一个d维搜索空间,第i个粒子在t时刻的位置为xi(t),速度为vi(t),它经历过的最好位置记为pbesti,整个粒子群经历过的最好位置记为gbest.PSO算法通过不断更新粒子速度与位置使粒子向最优解飞行.第i个粒子的速度与位置更新公式如下:vi(t+1)=wvi(t)+c1r1(pbesti-xi(t))+c2r2(gbest-xi(t)),(1)xi(t+1)=xi(t)+vi(t+1),(2)其中:w为惯性权重;c1和c2为常数,称为学习因子;r1和r2是[0,1]上的随机数.式(1)中的c1r1(pbesti-xi(t))为认知部分,c2r2(gbest-xi(t))为社会部分,认知部分和粒子的个体经验相关,社会部分则表示粒子间的交互.2 基于空间划分树的多目标粒子群优化算法外部集维护和全局最优位置的选取是多目标粒子群优化算法的两个重要步骤.维护外部集的主要目的是为群体的演化提供多样化的全局最优位置,而为每个粒子选择适当的全局最优位置能保持或进一步增加外部集中解的多样性,两者相互配合,使算法获得更多均匀分布在目标空间上的非支配解,逼近Pareto最优前端.本文使用空间划分树[15]对目标空间进行划分.2.1 外部集的空间划分树索引给定M维目标空间S=D1×D2×…×DM,其中Di为S中第i维的数据域.定义5 将外部集所对应的M维目标空间S的每一维平均分为k个相等的间隔段,则S被划分为kM个互不相交的超矩形单元,它们覆盖整个M维目标空间S.每个单元C的空间位置表示为(c1,c2,…,cM),其中1≤ci≤k,对应于第i维的第ci个左闭右开的间隔段.这kM个单元在划分目标空间S的同时也划分了外部集,称为外部集的M维空间划分.图1为一个外部集对应的2维空间划分结果.每维划分为5个间隔段,编号为1~5,外部集空间被划分为25个子空间.其中C(1,4),C(1,5),C(2,3),C(2,4),C(3,2),C(3,3),C(5,1)为非空单元.996 第4期 刘华蓥,等:基于空间划分树的多目标粒子群优化算法 在对外部集进行划分后,需要为其建立高效索引,以便对其进行有效管理.本文采用空间划分树索引外部集的M维空间划分.由于M维空间划分的规模与M为指数增长关系,为了以最小的代价存储有效信息,空间划分树仅索引非空单元.定义6 外部集在M维空间划分下的空间划分树(spatialpartitiontree,简称SPT)结构定义如下:1)它有一个根节点,共有M+1层;2)SPT的第i层对应外部集的第i维(i=1,2,…,M),第M+1层存储所有非空单元中的粒子数;3)除了第M+1层,第i层(非叶节点层)包含形如(dim,next)的节点,其中dim表示该单元在第i维上的间隔号,next为指向下一层节点的指针,所指向节点包含与本单元对应的下一维的所有相异非空单元;4)第M层节点指向叶节点:叶节点形如(num,solutions),其中num为叶节点中包含的非支配解个数,solutions为叶节点中保存的非支配解集;5)从根节点到叶节点的一条路径对应一个非空单元.图2为对图1中外部集的2维空间划分结果进行索引建立的SPT,该SPT共3层,第1层有4个节点,分别表示非空单元在f1维的间隔号.例如根节点中的节点1指向第2层节点4和节点5,说明与f1维第1个间隔号对应的非空单元在f2维的间隔段编号分别为4和5.叶节点存储从根节点到该叶节点经过的路径所对应非空单元中的非支配解数目及非支配解.如图2中第3层最后一个节点表示非空单元C(5,1)中有2个非支配解j和k.图1 外部集对应的2维空间划分示意图Fig.1 2-Dimensionspatialpartitionofarchiveset图2 空间划分树Fig.2 Spatialpartitiontree2.2 非支配解的SPT存储非支配解的存储过程即建立SPT的过程,也即把非支配解插入SPT的过程.例如,把M维目标空间每维划分为k个相等的间隔段,非支配解x 的插入过程即依次由x 所在网格各维间隔段号(c1,c2,…,cM)查找其存储网格的过程.其中ci=「(fi(x )-min(fi))×kmax(fi)-min(fi) (i=1,2,…,M),max(fi)和min(fi)分别为目标函数fi的最大值和最小值.2.3 全局极值的选取直接采用NSGA2中方法计算拥挤距离的计算代价太高.采用基于自适应网格的MOPSO方法直接根据网格密度决定全局极值的选取,可降低计算代价,但该方法未考虑相邻网格对网格密度的影响.如图1所示,若只考虑单个网格密度会得出Den(C(3,3))=Den(C(3,2))的结论,但由于与C(3,3)相邻的C(2,3)的网格密度较高,所以事实上h的密度高于i的密度,即可直观得出Den(C(3,2))<Den(C(3,3))的结论.考虑到相邻网格对网格密度的影响,本文采用网格拥挤距离与网格密度相结合的策略选择全局极值.本文计算网格拥挤距离与NSGA2中方法不同之处在于网格拥挤距离的计算基于SPT进行,由于SPT从根节点到网格节点之间各层节点本身包含了计算拥挤距离所需信息,因此在SPT上计算所有网格的拥挤距离只需遍历一次SPT,其计算复杂度比NSGA2降低了一个量级.定义7 网格单元C对应的第i维拥挤距离为Crowi(C)=Avg∑Cneighbor・ci-C・ci,其中007 吉林大学学报(理学版) 第49卷 Cneighbor・ci-C・ci为网格C在第i维上与其最近邻Cneighbor的距离,Cneighbor最多可能有2个,也可能有1个(处在该维边界上)或0个(只有一个网格).Avg()计算C在第i维上与所有Cneighbor的平均距离.定义8 网格C的拥挤距离为Crow(C)=∑Mi=1Crowi(C).网格拥挤距离的计算从根节点开始在每层非叶节点上进行.计算所有网格的拥挤距离只需从根节点开始遍历一次SPT.不同网格如果有公共祖先,则它们在公共祖先对应各维的拥挤距离相同,如图2中的网格C(3,2)和C(3,3),它们的公共祖先是SPT第1层间隔段号为3的节点,故有Crow1(C(3,2))=Crow1(C(3,3)).为了避免公共部分拥挤距离的重复计算,SPTMOPSO使用栈StackCrow保存计算各维拥挤距离的中间结果,当算法遍历到一个叶节点时,StackCrow中依次保存了该叶节点对应各维的拥挤距离,求和即可得到其拥挤距离.当计算相邻节点时,只需执行Pop(StackCrow)操作,然后把相邻节点在该维的拥挤距离入栈Push(StackCrow).网格的拥挤距离越大,其中的非支配解作为gbest进行搜索的潜力越大.为了维持解集分布的均匀性,规定每个网格C中保存非支配解的最大个数为nummax.定义9 网格密度Den(C)=C.num/nummax.Den(C)越小,其中非支配解的局部搜索能力越强.定义10 拥挤距离密度比KC/D=Crow(C)/Den(C).gbest优先从KC/D最大的网格中选取.2.4 外部集的更新设 N为Arc的规模.如果非支配解x 插入网格C时其中非支配解数目已达到nummax,则从C中随机删除一个粒子,然后把x 插入C.若x 插入外部集时,外部集中非支配解数目已经达到 N,则优先从KC/D值最小的网格中随机删除一个非支配解.若网格中非支配解已被全部删除,则从SPT中删除对该网格的索引.2.5 算 法下面给出基于空间划分树的多目标粒子群优化算法.设N为粒子群P的规模,Pi为第i次迭代后得到的非支配解集,Pi为Pi中非支配解个数.max_it为最大迭代次数,函数Random{x,y}从集合{x,y}中随机选择一个.粒子搜索时有速度限制Vmax,当粒子飞出搜索空间时,令粒子的位置在边界上,其速度=-Vmax/2.SPTMOPSO算法描述如下:Initial(P);//初始化粒子群PPartition(k),Create(SPT);//划分目标空间网格,建立SPTFori=1toP0 执行Insert(SPT,x )把非支配解x 加入Arc并对其建立SPT索引;//x∈P0EndForWhilei<max_it Forj=1toN Ifxj pbestj pbestj=xj ElseIf!(pbestj xj) pbestj=Random{xj,pbestj}; EndIf EndIf EndFor 通过Traversal(SPT)计算SPT索引的每个网格C的Crow(C)与Den(C); 从KC/D值最大的网格中随机选择一个粒子作为gbest;107 第4期 刘华蓥,等:基于空间划分树的多目标粒子群优化算法 用式(1),(2)更新P中所有粒子的速度和位置; Forj=1toPi 执行Update(SPT,x );//x ∈Pi EndForEndWhile使用SPT索引划分后的目标空间网格不仅能有效保存数据的空间位置信息,而且能保存单元的相对空间位置信息.计算任意网格C密度Den(C)即为查找网格C的过程,最差情况下SPT中有k个非叶节点,SPT共M+1层,查找网格在某层的间隔段号需要进行log2k次比较,查找一个网格共需Mlog2k次比较.SPT从根节点到网格节点之间各层节点本身包含了计算拥挤距离所需信息,在SPT上计算所有网格的拥挤距离只需遍历一次SPT,最差情况下SPT索引 N个非空网格(此时每个非空网格中只落入一个非支配解),遍历SPT需要M Nlog2k次比较.对于不同问题,规模k为常数,因此SPTMOPSO算法确定gbest的时间复杂度为O(M N).由于Arc规模 N的设置采用与NSGA2相同的方法,即与种群规模N呈线性关系,于是确定gbest的时间复杂度为O(MN),而NSGA2为O(MNlog2N).SPT仅索引非空网格,一般情况下非空网格数量远小于空网格数量,因此实际计算量要小得多.3 实验结果与分析多目标优化算法的性能评价指标很多,主要分为三类:收敛性能、分布性能(多样性能)和综合性能.本文选用其中两个指标评价算法的性能.定义11[16] 算法所获得的解与Pareto最优前端的趋近程度generationaldistance(GD)定义为GD=∑ni=1d2in,其中:n表示算法最终获得的解个数;di为第i个解到最优前端的最短距离.GD值越小,表明算法所获得的解越趋近最优前端.定义12[17] Spacing(SP)用于描述算法获得的解在目标空间上的分布是否均匀,定义为SP=1n-1∑ni=1( d-di)2,其中:di=minj=1,2,…,n∑Mk=1fik-fjk;n表示算法最终获得的解个数; d是di的平均值.SP值越小,表明该算法获得的解分布越均匀.本文使用SCH,ZDT1,ZDT2和ZDT3四个测试函数[18]验证SPTMOPSO算法.这些测试函数的最优前端有凸的、非凸的和不连续的.对这些具有不同形状最优前端的函数进行测试,并把实验结果与NSGA2和PAES的结果进行对比.SPTMOPSO算法参数设置如下:粒子群初始规模为200;最大迭代次数为200;学习因子c1=c2=0.5;w从0.9随迭代线性变化到0.4;k=30;nummax=10;n=30.NSGA2和PAES的参数设置如下:种群大小100,外部集合大小为100,交叉概率为0.8,二元锦标赛选择和二进制编码,变异概率为染色体长度的倒数.PAES的每维目标被划分的数量为10.3种算法分别对每个函数独立运行30次.图3~图6为本文算法所得的近似Pareto最优前端.表1列出了3种算法的计算结果.由表1可见,SPTMOPSO算法具有较好的收敛性能,在4个测试函数上都优于PAES,在ZDT1,ZDT2和ZDT3三个函数上优于NSGA2.这是由于SPTMOPSO算法的全局极值选取策略更合理,而且基于空间划分树的全局极值选择算法具有更高的计算效率.表1的计算结果也验证了在空间划分树上使用拥挤距离和网格密度相结合策略维护外部种群的有效性.由于考虑了相邻网格对网格密度的影响,所以SPTMOPSO算法对4个测试函数产生的非支配解在最优前端的分布都比PAES更广、更均匀,在SCH和ZDT2上分布性能略差于NSGA2,而在ZDT1和ZDT3上比NSGA2具有更好的分布性.207 吉林大学学报(理学版) 第49卷 图3 SCH的近似Pareto最优前端Fig.3 ApproximateParetooptimalfrontofSCH图4 ZDT1的近似Pareto最优前端Fig.4 ApproximateParetooptimalfrontofZDT1图5 ZDT2的近似Pareto最优前端Fig.5 ApproximateParetooptimalfrontofZDT2图6 ZDT3的近似Pareto最优前端Fig.6 ApproximateParetooptimalfrontofZDT3表1 3种算法的计算结果对比Table1 Comparisonofcalculationresultsof3algorithms函数参数GDSPTMOPSOPAESNSGA2SPSPTMOPSOPAESNSGA2SCH平均值0.0863200.5424240.0220370.0959720.1928370.038108中间值0.0832300.0419650.0171820.1256730.1898110.039336标准差0.0523700.0319260.0272380.0103570.0629320.019713ZDT1平均值0.0335920.1902760.0837140.0925390.1186350.095611中间值0.0113580.0384910.0116050.0623470.0814590.025135标准差0.1041130.2484730.1653470.1207380.0917320.331885ZDT2平均值0.0127400.1682630.0257370.0129680.0399420.003534中间值0.0116200.0560290.0149120.0092290.0267350.002267标准差0.0029100.2313160.0456970.0027750.3478270.003008ZDT3平均值0.0712100.1526390.6457620.0553390.1167550.134273中间值0.0718200.1479180.6371580.0543580.1165390.133516标准差0.0223700.0015810.0019750.0020300.0016490.001967 由于SPTMOPSO算法中全局极值的选取不仅考虑了个体网格的密度信息,而且综合了个体网格与相邻网格间的拥挤距离信息,使得选取全局极值时的估值更准确、分布更均匀,能够较好地逼近Pareto最优前端.所以,与其他两种算法相比,SPTMOPSO算法具有一定的优势.综上可见,SPTMOPSO算法使用网格对多维目标空间进行划分,网格保存数据空间位置信息,空间划分树在索引存储非支配解的非空网格的同时记录非空网格的相对空间位置信息,为外部集维护提供了高效的数据结构支持,能有效提高gbest的计算性能;SPTMOPSO算法用NSGA2中拥挤距离的概念重新定义网格拥挤距离并结合网格密度选取全局极值,使算法能较好地逼近Pareto最优前端,并且可使Pareto最优解分布较均匀.307 第4期 刘华蓥,等:基于空间划分树的多目标粒子群优化算法 407 吉林大学学报(理学版) 第49卷 参考文献[1] KennedyJ,EberhartRC.ParticalSwarmOptimization[C]//Proceedingofthe1995IEEEInternationalConferenceonNeuralNetwork.Piscataway:IEEEServiceCenter,1995:1942-1948.[2] ZHANGLi-biao,ZHOUChun-guang,LIUXiao-hua,etal.ApplicationofParticleSwarmOptimizationforSolvingOptimizationProblems[J].JournalofJilinUniversity:InformationScienceEdition,2005,23(4):385-389.(张利彪,周春光,刘小华,等.粒子群算法在求解优化问题中的应用[J].吉林大学学报:信息科学版,2005,23(4):385-389.)[3] YUFan-hua,LIUHan-bing.StructuralDamageIdentificationbySupportVectorMachineandParticleSwarmAlgorithm[J].JournalofJilinUniversity:EngineeringandTechnologyEdition,2008,38(2):434-438.(于繁华,刘寒冰.基于支持向量机和粒子群算法的结构损伤识别[J].吉林大学学报:工学版,2008,38(2):434-438.)[4] LIUShu-hua,ZHANGYu.Multi-robotTaskAllocationBasedonSwarmIntelligence[J].JournalofNortheastNormalUniversity:NaturalScienceEdition,2009,41(4):68-72.(刘淑华,张嵛.基于粒子群蚁群算法的多机器人任务分配方法[J].东北师大学报:自然科学版,2009,41(4):68-72.)[5] LIXiu-ying,HANZhi-gang.AControllerofT-SModelFuzzyNeuralNetworkBasedonParticleSwarmOptimization[J].JournalofNaturalScienceofHeilongjiangUniversity,2010,27(2):272-276.(李秀英,韩志刚.基于粒子群算法优化的T-S型模糊神经网络控制器[J].黑龙江大学自然科学学报,2010,27(2):272-276.)[6] WANGYan,ZENGJian-chao.ASurveyofaMulti-objectiveParticleSwarmOptimizationAlgorithm[J].CAAITransactionsonIntelligentSystems,2010,5(5):377-384.(王艳,曾建潮.多目标微粒群优化算法综述[J].智能系统学报,2010,5(5):377-384.)[7] CoelloCAC,PulidoGT,LechugaMS.HandlingMultipleObjectiveswithParticleSwarmOptimization[J].IEEETransEvolutionaryComputation,2004,8(3):256-279.[8] ZHANGLi-biao,ZHOUChun-guang,MAMing,etal.SolutionsofMulti-objectiveOptimizationProblemsBasedonParticleSwarmOptimization[J].JournalofComputerResearchandDevelopment,2004,41(7):1286-1291.(张利彪,周春光,马铭,等.基于粒子群算法求解多目标优化问题[J].计算机研究与发展,2004,41(7):1286-1291.)[9] SUNXiao-qiang,ZHANGQiu-ming.AParticleSwarmOptimizationMethodforMulti-objectiveOptimization[J].ComputerEngineeringandApplications,2006,18:40-42.(孙小强,张求明.一种基于粒子群优化的多目标优化算法[J].计算机工程与应用,2006,18:40-42.)[10] DebK,PratapA,AqarwalS,etal.AFastandElitistMultiobjectiveGeneticAlgorithm:NSGA-Ⅱ[J].IEEETransac-tionsonEvolutionaryComputation,2002,6(2):182-197.[11] ZitzlerE,ThieleL.MultiobjectiveEvolutionaryAlgorithms:AComparativeCaseStudyandtheStrengthParetoApproach[J].IEEETransactionsonEvolutionaryComputation,1999,3(4):257-271.[12] YANGJun-jie,ZHOUJian-zhong,FANGReng-cun,etal.Multi-objectiveParticleSwarmOptimizationBasedonAdaptiveGridAlgorithms[J].JournalofSystemSimulation,2008,20(21):5843-5847.(杨俊杰,周建中,方仍存,等.基于自适应网格的多目标粒子群优化算法[J].系统仿真学报,2008,20(21):5843-5847.)[13] KnowlesJD,CorneDW.ApproximatingtheNondominatedFrontUsingtheParetoArchivedEvolutionStrategy[J].EvolutionaryComputation,2000,8(2):149-172.[14] CoelloCAC,LamontGB,VeldhuizenDA,Van.EvolutionaryAlgorithmsforSolvingMulti-objectiveProblems[M].NewYork:Springer-Verlag,2007.[15] VaněcekG,Jr.BREP-Index:AMultidimensionalSpacePartitioningTree[M].NewYork:ACM,1991.[16] VeldhuizenDA,Van,LamontGB.MultiobjectiveEvolutionaryAlgorithmResearch:AHistoryandAnalysis[R/OL].1998-10-14.http://www.lania.mx/~ccoello/EMoo/coelloo3a.pdf.gz.[17] SchottJR.FaultTolerantDesignUsingSingleandMulticriteriaGeneticAlgorithmOptimization[M].Massachusetts:MassachusettsInstituteofTechnology,1995.[18] GONGMao-guo,JIAOLi-cheng,YANGDong-dong,etal.ResearchonEvolutionaryMulti-objectiveOptimizationAlgorithms[J].JournalofSoftware,2009,20(2):271-289.(公茂果,焦李成,杨咚咚,等.进化多目标优化算法研究[J].软件学报,2009,20(2):271-289.)。

相关文档
最新文档