热门搜索 :
考研考公
您的当前位置:首页正文

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

来源:东饰资讯网
第49卷第4期 吉林大学学报(理学版) Vo1.49 No.4 2011年7月 Journal of Jilin University(Science Edition) July 2011 基于空间划分树的多目标粒子群优化算法 刘华蓥 ,王静 ,许少华 ,孙毅 (1.东北石油大学计算机与信息技术学院,黑龙江大庆163318;2.吉林大学数学学院,长春130012) 摘要:提出一种基于空间划分树的多目标粒子群优化算法,该算法采用网格拥挤距离与网格 密度相结合的策略选取全局极值,能加速算法收敛,保持种群多样性,在提高全局极值选取 准确度的同时使最终解保持了较好的分布性. 关键词:多目标优化;粒子群算法;M维空间划分;空间划分树 中图分类号:TP301.6 文献标志码:A 文章编号:1671-5489(2011)04-0696-07 Multi-objective Particle Swarm Optimization Algorithm Based on Spatial Partition Tree LIU Hua.ying ,WANG Jing ,XU Shao—hua ,SUN Yi (1.College ofCompuwr and Information Technology,Northeast Petroleum University,Daqing 163318, Heilongfiang Province,China;2.College ofMathematics,Jilin University,Changchun 130012,China) Abstract:A multi—objective particle swarm optimization algrithm based on spatial partition tree was presented. The strategy of using crowding distance and grid density to select global best is able to speed up convergence, and maintains the population diversity.This strategy can improve the accuracy of selecting global best and keeps the distribution of solutions effectively. Key words:muhi—objective optimization;particle swarm algorithm;M—dimension spatial partition;spatial partition tree 粒子群优化算法(PSO) 以其易于实现、参数设置较少等优点,广泛应用于多目标优化 。 和其 他优化问题 刮中.多目标粒子群优化算法(MOPSO)主要分为聚集函数法、基于目标函数排序法、子 群法、基于Pareto支配法等,目前研究者主要集中于基于Pareto支配的多目标粒子群优化算法 . 自从Coello等 首次提出用一个外部集保存每次迭代得到的非支配解后,大多数多目标粒子群优 化算法都采用了外部存档策略.张利彪等 的算法采用新的全局极值和个体极值选取方式,提高了算 法的有效性;孙小强等 采用聚类算法裁剪非支配解,提高了解的分布性.但这些算法在收敛性和分 布性方面,特别是解决高维多目标问题上仍需做进一步改进.在多目标条件下,可能存在很多彼此不 受支配的全局最优解,个体的密度信息是选取全局最优解的主要因素之一.典型的基于密度方法有非 劣分层遗传算法(NSGA2) 10]和K一近邻密度估值法(SPEA2)¨ ,这两种方法能对个体密度进行准确地 估计,但其计算复杂度偏高.CMOPSO算法 和自适应网格的多目标粒子群算法(AGAMOPSO)¨ 使 用Pareto存档进化策略(PAES) 13]中自适应网格法维护外部集(Archive,简称Arc),用网格中的粒子 数作为网格密度定义网格适应度值,其网格密度计算性能较好,但其估值还存在一定误差. 收稿日期:2010—11.22. 作者简介:刘华蓥(1969一),女,汉族,硕士,教授,从事群体智能优化算法的研究,E-mail:dqpilhy@163.COII1. 基金项目:国家自然科学基金(批准号:60473051)、中国石油科技创新基金(批准号:2010D-5006-0302)、黑龙江省自然科学基金 (批准号:ZA2006一l1)和黑龙江省科技攻关项目(批准号:GZ07A103). 第4期 刘华蓥,等:基于空间划分树的多目标粒子群优化算法 本文提出一种基于空间划分树的多目标粒子群优化算法(SPTMOPSO),用网格把目标空间划分为 多个体积相等的单元格,用空间划分树建立非空单元格的索引,采用拥挤距离和网格密度相结合的策 略选取全局极值,进一步提高了解集的分布性. 1 多目标优化问题及粒子群优化算法 多目标优化问题可以表示如下: min Y= X)=( (X), ( ),…,fM(X)), s.t.g (X)≤0(i=1,2,…,P), 其中:决策向量X∈R ;目标向量Y∈ ;f/(X)(i=1,2,…, )是目标函数;g (X)≤0(i=1,2,…,P) 是约束条件. 大多数情况下各目标函数之间是相互冲突的,某目标的改善可能引起其他目标性能的降低,同时 使多个目标均达到最优很难实现,只能在各目标之间进行协调权衡和折中处理,使所有目标函数尽可 能达到最优.不同于单目标优化,多目标优化中使用Pareto支配 评价最优解,相关概念如下: 定义1若 (X ) (X)(i=1,2,…, ),且 k∈{1,2,…, },使得 (X )< (X),则称解 X Pareto支配X,记作X > . 定义2若 ]X:X> ,则称解X 是Pareto最优解或非支配解. 定义3所有Pareto最优解的集合P ={X 1]]X> }称为Pareto最优解集或非支配解集. 定义4所有Pareto最优解对应的目标函数值所形成的区域 P,={ X)=( (X), (X),…,fM(X))l X∈P } 称为Pareto最优前端. 标准粒子群优化算法使用一群粒子表示特定问题的潜在解.给定一个d维搜索空问,第i个粒子 在t时刻的位置为Xi(t),速度为l, (t),它经历过的最好位置记为pbest ,整个粒子群经历过的最好位 置记为gbest.PSO算法通过不断更新粒子速度与位置使粒子向最优解飞行.第i个粒子的速度与位置 更新公式如下: (t+1)=WP (t)+c1r1(pbest 一X (t))+c2r2(gbest—X (t)), (1) X (t+1)=X (t)+l, (t+1), (2) 其中:W为惯性权重;C 和C 为常数,称为学习因子;r 和r2是[0,1]上的随机数.式(1)中的 C1r (pbesti—Xi(t))为认知部分,c:r:(gbest—X (t))为社会部分,认知部分和粒子的个体经验相关,社 会部分则表示粒子间的交互. 2基于空间划分树的多目标粒子群优化算法 外部集维护和全局最优位置的选取是多目标粒子群优化算法的两个重要步骤.维护外部集的主要 目的是为群体的演化提供多样化的全局最优位置,而为每个粒子选择适当的全局最优位置能保持或进 一步增加外部集中解的多样性,两者相互配合,使算法获得更多均匀分布在目标空间上的非支配解, 逼近Pareto最优前端.本文使用空间划分树¨ 对目标空间进行划分. 2.1外部集的空间划分树索引 给定 维目标空间S=D ×D ×…X DM,其中D 为5中第i维的数据域. 定义5将外部集所对应的 维目标空间s的每一维平均分为k个相等的间隔段,则s被划分为 k 个互不相交的超矩形单元,它们覆盖整个 维目标空间s.每个单元c的空间位置表示为 (C ,c ,…,c肘),其中l≤c ≤后,对应于第i维的第c 个左闭右开的间隔段.这k 个单元在划分目标空 问.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)为非空单元. 吉林大学学报(理学版) 第49卷 在对外部集进行划分后,需要为其建立高效索引,以便对其进行有效管理本文采用空间划分树索引 外部集的 维空间划分.由于 维空间划分的规模与 为指数增长关系,为了以最小的代价存储有 效信息,空间划分树仅索引非空单元. 定义6 外部集在 维空间划分下的空间划分树(spatial partition tree,简称SIT)结构定义如下: 1)它有一个根节点,共有 +1层; 2)SPT的第i层对应外部集的第i维(i=1,2,…, ),第 +1层存储所有非空单元中的粒子数; 3)除了第M+l层,第i层(非叶节点层)包含形如(dim,next)的节点,其中dim表示该单元在第i 维上的间隔号,next为指向下一层节点的指针,所指向节点包含与本单元对应的下一维的所有相异非 空单元; 4)第 层节点指向叶节点:叶节点形如(nun,solutions),其中nun为叶节点中包含的非支配解 个数,solutions为叶节点中保存的非支配解集; 5)从根节点到叶节点的一条路径对应一个非空单元. 图2为对图1中外部集的2维空间划分结果进行索引建立的SPT,该SPT共3层,第1层有4个节 点,分别表示非空单元在 维的间隔号.例如根节点中的节点1指向第2层节点4和节点5,说明与 维第1个间隔号对应的非空单元在,2维的间隔段编号分别为4和5.叶节点存储从根节点到该叶节点 经过的路径所对应非空单元中的非支配解数目及非支配解.如图2中第3层最后一个节点表示非空单 元c(5,1)中有2个非支配解_,和k. 1 2 3 4 5 图1外部集对应的2维空间划分示意图 Fig.1 2-Dimension spatial partition of archive set 图2空间划分树 Fig.2 Spatial partition tree 2.2非支配解的SPT存储 非支配解的存储过程即建立SPT的过程,也即把非支配解插入SPT的过程.例如,把 维目标空 间每维划分为k个相等的间隔段,非支配解X 的插入过程即依次由X 所在网格各维间隔段号 (c。,c:,…,c )查找其存储网格的过程.其中 :r ](i-l,2,…, ),max(/=)和 min(f ̄)分别为目标函数. 的最大值和最小值. 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对应的第 维拥挤距离为Crow (c)=Avg(∑I c 啦 .c 一c.c l),其中 第4期 刘华蓥,等:基于空间划分树的多目标粒子群优化算法 699  lC iglIb0 ・c —c・c 1为网格c在第i维上与其最近邻c glIbc 的距离,Cneighbor最多可能有2个,也可能有 1个(处在该维边界上)或0个(只有一个网格).Avg()计算c在第i维上与所有Cneighbor的平均距离. M 定义8网格c的拥挤距离为Crow(C)=∑Crow (c). 网格拥挤距离的计算从根节点开始在每层非叶节点上进行.计算所有网格的拥挤距离只需从根节 点开始遍历一次SPT.不同网格如果有公共祖先,则它们在公共祖先对应各维的拥挤距离相同,如图2 中的网格c(3,2)和c(3,3),它们的公共祖先是SPT第l层间隔段号为3的节点,故有 Crow (C(3,2))=Crow (c(3,3)).为了避免公共部分拥挤距离的重复计算,SPTMOPSO使用栈 Stack 保存计算各维拥挤距离的中间结果,当算法遍历到一个叶节点时,Stack 中依次保存了该叶 节点对应各维的拥挤距离,求和即可得到其拥挤距离.当计算相邻节点时,只需执行Pop(Stack )操 作,然后把相邻节点在该维的拥挤距离人栈Push(Stack ~).网格的拥挤距离越大,其中的非支配解 作为gbest进行搜索的潜力越大. 为了维持解集分布的均匀性,规定每个网格c中保存非支配解的最大个数为num . 定义9网格密度Den(C)=C.num/num. ̄. Den(C)越小,其中非支配解的局部搜索能力越强. 定义10拥挤距离密度比K 。=Crow(C)/Den(C). gbest优先从K 。最大的网格中选取. 2.4外部集的更新 设_Ⅳ为Arc的规模.如果非支配解 插入网格C时其中非支配解数目已达到num一,则从c中 随机删除一个粒子,然后把 插入c.若 插入外部集时,外部集中非支配解数目已经达到 ,则优 先从 c,D值最小的网格中随机删除一个非支配解.若网格中非支配解已被全部删除,则从SPT中删除 对该网格的索引. 2.5算法 下面给出基于空间划分树的多目标粒子群优化算法. 设Ⅳ为粒子群P的规模,P 为第i次迭代后得到的非支配解集,lP l为P 中非支配解个数. max_it为最大迭代次数,函数Random{ ,Y}从集合{ ,Y}中随机选择一个.粒子搜索时有速度限制 ,当粒子飞出搜索空间时,令粒子的位置在边界上,其速度=一 /2. S MOPSO算法描述如下: Initial(P);//初始化粒子群P Partition(k),Create(SPT);//划分目标空间网格,建立SPT For i=1 to f P0 l 执行Insert(SPT, )把非支配解 加入Arc并对其建立SPT索引;//x ∈Po End For While i<maxit —For j=1 to N Ifxj>pbestj pbesti=xj Else If!(pbest ̄>xs) pbests=Random{ ,pbestj}; End If End lf End For 通过Traversal(SPT)计算SPT索引的每个网格c的Crow(C)与Den(C); 从K 。值最大的网格中随机选择一个粒子作为gbest; 700 吉林大学学报(理学版) 第49卷 用式(1),(2)更新P中所有粒子的速度和位置; Forj=1 to I尸 l 执行Update(SPT, );//x ∈P End For End While 使用SPT索引划分后的目标空间网格不仅能有效保存数据的空间位置信息,而且能保存单元的相 对空间位置信息.计算任意网格c密度Den(C)即为查找网格c的过程,最差情况下SPT中有k个非 叶节点,SPT共 +1层,查找网格在某层的间隔段号需要进行log:k次比较,查找一个网格共需 Mlog k次比较.SPT从根节点到网格节点之间各层节点本身包含了计算拥挤距离所需信息,在sPr上 计算所有网格的拥挤距离只需遍历一次SPT,最差情况下SPT索引 个非空网格(此时每个非空网格 中只落入一个非支配解),遍历SPT需要 og:k次比较.对于不同问题,规模k为常数,因此 SPTMOPSO算法确定gbest的时间复杂度为0(MN).由于Arc规模_Ⅳ的设置采用与NSGA2相同的方 法,即与种群规模Ⅳ呈线性关系,于是确定gbest的时间复杂度为O(MN),而NSGA2为O(MNlog:N). SPT仅索引非空网格,一般情况下非空网格数量远小于空网格数量,因此实际计算量要小得多. 3实验结果与分析 ・ 多目标优化算法的性能评价指标很多,主要分为三类:收敛性能、分布性能(多样性能)和综合性 能.本文选用其中两个指标评价算法的性能. 定义l1 l叫算法所获得的解与Pareto最优前端的趋近程度generational distance(GD)定义为 GD= ,其中:rt表示算法最终获得的解个数;d 为第i个解到最优前端的最短距离. GD值越小,表明算法所获得的解越趋近最优前端. 定义12[1 ] Spacing(SP)用于描述算法获得的解在目标空间上的分布是否均匀,定义为SP= √ 厂 —— ———一 ( 一 ) ,其中:d 均值. ,:M 噬 , ( J/ 一 J);凡表示算法最终获得的解个数; 是d 的平 sP值越小,表明该算法获得的解分布越均匀. 本文使用SCH,ZDTI,ZDT2和ZDT3四个测试函数¨ 验证SPTMOPSO算法.这些测试函数的最优 前端有凸的、非凸的和不连续的.对这些具有不同形状最优前端的函数进行测试,并把实验结果与 NSGA2和PAES的结果进行对比.SPTMOPSO算法参数设置如下:粒子群初始规模为200;最大迭代次 数为200;学习因子C。=c2=0.5; 从0.9随迭代线性变化到0.4;k=30;num :10;n=30.NSGA2 和PAES的参数设置如下:种群大小100,外部集合大小为IO0,交叉概率为0.8,二元锦标赛选择和二 进制编码,变异概率为染色体长度的倒数.PAES的每维目标被划分的数量为l0.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期 刘华蓥,等:基于空间划分树的多目标粒子群优化算法 701 图3 SCH的近似Pareto最优前端 图4 ZDTI的近似Pareto最优前端 Fig.3 Approximate Pareto optimal front of SCH Fig.4 Approximate Pareto optimal front of ZDTI 图5 ZDT2的近似Pareto最优前端 图6 ZDT3的近似Pareto最优前端 Fig.5 Approximate Pareto optimal front of ZDT2 Fig.6 Approximate Pareto optimal front of ZDT3 表1 3种算法的计算结果对比 Table 1 Comparison of calculation results of 3 algorithms 由于SPTMOPSO算法中全局极值的选取不仅考虑了个体网格的密度信息,而且综合了个体网格与 相邻网格问的拥挤距离信息,使得选取全局极值时的估值更准确、分布更均匀,能够较好地逼近Pareto 最优前端.所以,与其他两种算法相比,SPTMOPSO算法具有一定的优势. 综上可见,SPTMOPSO算法使用网格对多维目标空间进行划分,网格保存数据空间位置信息,空 间划分树在索引存储非支配解的非空网格的同时记录非空网格的相对空间位置信息,为外部集维护提 供了高效的数据结构支持,能有效提高gbest的计算性能;SPTMOPSO算法用NSGA2中拥挤距离的概 念重新定义网格拥挤距离并结合网格密度选取全局极值,使算法能较好地逼近Pareto最优前端,并且 可使Pareto最优解分布较均匀. 7O2 吉林大学学报(理学版) 第49卷 参考文献 Kennedy J,Eberhart R C.Partical Swarm Optimization[C]//Proceeding of the 1995 IEEE International Conference on Neural Network.Piscataway:IEEE Service Center,1995:1942—1948. [2] ZHANG Li.biao,ZHOU Chun—guang,LIU Xiao—hua,et a1.Application of Particle Swarm Optimization for Solving Optimization Problems[J].Journal of Jilin University:Information Science Edition,2005,23(4):385—389. (张利彪,周春光,刘小华,等.粒子群算法在求解优化问题中的应用[J].吉林大学学报:信息科学版,2005, 23(4):385—389.) [3] YU Fan-hua,LIU Han—bing.Structural Damage Identification by Support Vector Machine and Particle Swarm Algorithm [4] [5] [6] [7] [8] [9] [10] [12][1 3] [14] [15] [16] [17] [18] [J].Journal of Jilin University:Engineering and Technology Edition,2008,38(2):434438.(于繁华,刘寒冰. 基于支持向量机和粒子群算法的结构损伤识别[J].吉林大学学报:工学版,2008,38(2):434438.) uU Shu—hua,ZHANG Yu.Multi—robot Task Allocation Based OH Swarm Intelligence[J].Journal of Northeast Normal University:Natural Science Edition,2009,41(4):68-72.(刘淑华,张嵛.基于粒子群蚁群算法的多机器人任务 分配方法[J].东北师大学报:自然科学版,2009,41(4):68-72.) LI Xiu—ying,HAN Zhi—gang.A Controller of T—S Model Fuzzy Neural Network Based on Particle Swarm Optinfization [J].Journal of Natural Science of Heilongjinag University,2010,27(2):272—276.(李秀英,韩志刚.基_f粒子群 算法优化的T.S型模糊神经网络控制器[J].黑龙江大学自然科学学报,2010,27(2):272-276.) WANG Yan,ZENG Jian—chao.A Survey of a Multi—objective Particle Swarm Optimization Algorithm『.1].CAAI Transactions on Intelligent Systems,2010,5(5):377.384.(王艳,曾建潮.多目标微粒群优化算法综述[J].智能 系统学报,2010,5(5):377—384.) Coello C A C,Pulido G T,Lechuga M S.Handling Multiple Objectives with Particle Swarm Optimization[J].IEEE Trans Evolutionary Computation,2004,8(3):256-279. ZHANG Li—biao,ZHOU Chun—guang,MA Ming,et a1.Solutions of Multi—objective Optimization Problems Based on Patricle Swarm Optimization[J].Journal of Computer Research and Development,2004,41(7):1286—1291. (张利彪,周春光,马铭,等.基于粒子群算法求解多目标优化问题[J].计算机研究与发展,2004,41(7): 1286—1291.) SUN Xiao—qiang,ZHANG Qiu—ming.A Particle Swarm Optimization Method for Multi—objective Optimization l J j. Computer Engineering and Applications,2006,18:4042.(孙小强,张求明.一种基于粒子群优化的多目标优化算 法[J].计算机工程与应用,2006,18:4042.) Deb K,Pratap A,Aqarwal S,et a1.A Fast and Elitist Multiobjective Genetic Algorithm:NSGA一1I[J].IEEE Transae— tions on Evolutionary Computation,2002,6(2):182—197. Zitzler E,Thiele I..Multiobjeetive Evolutionary Algorithms:A Comparative Case Study and the Strength Pareto Approach 『J].IEEE Transactions on Evolutionary Computation,1999,3(4):257—27 1. YANG Jun-jie,ZHOU Jian—zhong,FANG Reng—cun,et a1.Multi—objective Particle Swarm Optimization Based on Adaptive Grid Algorithms[J].Journal of System Simulation,2008,20(21):5843—5847.(杨俊杰,周建中,方仍存, 等.基于自适应网格的多目标粒子群优化算法[J].系统仿真学报,2008,20(21):5843—5847.) Knowles J D.Corne D W.Approximating the Nondominated Front Using the Pareto Archived Evolution Strategy l J J. Evolutionary Computation,2000,8(2):149—172. Coello C A C,Lamont G B,Veldhuizen D A,Van.Evolutionary Algorithms ofr Solving Multi—objective Prohlems l M]. New York:Springer—Verlag,2007. Van ̄cek G,Jr.BREP—Index:A Muhidimensional Space Partitioning Tree[M].New York:ACM,199 1. Veldhuizen D A,Van,Lamont G B.Multiobjective Evolutionary Algorithm Research:A History and Analysis[R/OL J. 1998—10-14.http://www.1ania.mx/~ccoello/EMoo/coelloo3a.pdf.gz. Schott J R.Fauh Tolerant Design Using Single and Muhicriteria Genetic Algorithm Optimization[M].Massachusetts: Massachusetts Institute of Technology,1995. GONG Mao—guo,JIAO Li—cheng,YANG Dang—dong,et a1.Research on Evolutionary Multi—objective Optimization Algorithms[J].Journal ofSoftware,2009,20(2):271-289.(公茂果,焦李成,杨咚咚,等.进化多目标优化算法 研究[J].软件学报,2009,20(2):271-289.)  

因篇幅问题不能全部显示,请点此查看更多更全内容

Top