用于约束多目标优化问题的双群体差分进化算法.doc
《用于约束多目标优化问题的双群体差分进化算法.doc》由会员分享,可在线阅读,更多相关《用于约束多目标优化问题的双群体差分进化算法.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、用于约束多目标优化问题的双群体差分进化算法孟红云1 张小华2 刘三阳1(1.西安电子科技大学 应用数学系,西安,;2.西安电子科技大学 智能信息处理研究所,西安,)摘 要:首先给出一种改进的差分进化算法,然后提出一种基于双群体搜索机制的求解约束多目标优化问题的差分进化算法该算法同时使用两个群体,其中一个用于保存搜索过程中找到的可行解,另一个用于记录在搜索过程中得到的部分具有某些优良特性的不可行解,避免了构造罚函数和直接删除不可行解此外,将本文算法、NSGA-和SPEA的时间复杂度进行比较表明,NSGA-最优,本文算法与SPEA相当.对经典测试函数的仿真结果表明,与NSGA-相比较,本文算法在均
2、匀性及逼近性方面均具有一定的优势.关键字: 差分进化算法;约束优化问题;多目标优化问题; 中图分类号:TP181 引言达尔文的自然选择机理和个体的学习能力推动进化算法的出现和发展,用进化算法求解优化问题已成为一个研究的热点1-3但目前研究最多的却是无约束优化问题然而,在科学研究和工程实践中,许多实际问题最终都归结为求解一个带有约束条件的函数优化问题,因此研究基于进化算法求解约束优化问题是非常有必要的不失一般性,以最小化问题为例,约束优化问题(Constrained Optimization Problem,)可定义如下: (1)其中为目标函数,称为约束条件,称为维决策向量将满足所有约束条件的解
3、空间称为(1)的可行域特别的,当时,(1)为单目标优化问题;当时,(1)为多目标优化问题为第个不等式约束,是第个等式约束另一方面,对于等式约束可通过容许误差(也称容忍度)将它转化为两个不等式约束: (2)故在以后讨论问题时,仅考虑带不等式约束的优化问题进一步,如果使得不等式约束,则称约束在处是积极的在搜索空间中,满足约束条件的决策变量称为可行解,否则称为不可行解定义1(全局最优解)是的全局最优解,是指且不劣于可行域内任意解所对应的目标函数,表示为 对于单目标优化问题,等价为,而对于多目标优化问题是指不存在,使得Pareto优于 目前,进化算法用于无约束优化问题的文献居多,与之比较,对约束优化问
4、题的研究相对较少4-6。文7对当前基于进化算法的各种约束处理方法进行了较为详细的综述.对于约束优化问题的约束处理方法基本上分为两类:基于罚函数的约束处理技术和基于多目标优化技术的约束处理技术由于罚函数法在使用中不需要约束函数和目标函数的解析性质,因此经常被应用于约束优化问题,但该类方法对罚因子有很强的依赖性,需要根据具体问题平衡罚函数与目标函数为了避免复杂罚函数的构造,Verdegay等8将进化算法中的竞争选择用于约束处理,并在比较两个解的性能时提出了三个准则,但他的第三个准则可行解优于不可行解这一准则合理性不强 .然而该文的这一准则却为进化算法求解约束优化问题提供了新思路,获得了良好效果.因
5、为在现实中存在一大类约束优化问题,其最优解位于约束边界上或附近,对于这类问题,在最优解附近的不可行解的适应值很可能优于位于可行域内部的大部分可行解的适应值,因此无论从适应值本身还是从最优解的相对位置考虑,这样的不可行解对找到最优解都是很有帮助的,故如何有效利用搜索过程中的部分具有较好性质的不可行解是解决此类问题的难点之一基于以上考虑,本文拟给出一种求解约束多目标优化问题的基于双群体机制的差分进化算法,并对文中算法的时间复杂度与NSGA-9和SPEA10进行比较,最后用实验仿真说明文中算法的可行性及有效性2 用于约束优化的双群体差分进化算法2.1 差分进化算法差分进化算法是一类简单而有效的进化算
6、法,已被成功应用于求解无约束单目标和多目标优化问题 11-14该算法在整个运行过程中保持群体的规模不变,它也有类似于遗传算法的变异、交叉和选择等操作,其中变异操作定义如下: (3)其中,为从进化群体中随机选取的互不相同的三个个体,为位于区间中的参数(3)式表示从种群中随机取出的两个个体的差,经参数放大或缩小后被加到第三个个体上,以构成新的个体为了增加群体的多样性,交叉操作被引入差分进化算法,具体操作如下:针对父代个体的每一分量,产生位于区间中的随机数,根据与参数的大小关系确定是否用替换,以得到新的个体,其中如果新个体优于父代个体,则用来替换,否则保持不变在差分进化算法中,选择操作采取的是贪婪策
7、略,即只有当产生的子代个体优于父代个体时才被保留,否则,父代个体被保留至下一代 大量研究与实验发现差分进化算法在维护群体的多样性及搜索能力方面功能较强,但收敛速度相对较慢,因此本文拟给出一种改进的差分进化算法用于多目标优化问题,仿真实验表明,改进的差分进化算法在不破坏原有算法维护群体多样性的前提下,可改善差分进化算法的收敛速度2.2 基于双群体的差分进化算法2.2.1 基本概念以下仅讨论带不等式约束的多目标优化问题 (4)定义2.1 称为(4)的不可行解,是指至少存在一个,满足定义2.2 违反约束的强度,即约束违反度函数定义为,本文取定义2.3 违反约束的数目,其中定义2.4 不可行解优于不可
8、行解,是指的约束向量Pareto优于的约束向量2.2.2 基本思想由上一节分析可知,在搜索过程中遇到的不可行解不能简单丢掉因此,在设计算法时不但要考虑算法的收敛速度,而且还必须保证群体中可行解的优势地位;另一方面,对于多目标优化问题,维持搜索群体的多样性与考虑群体的收敛速度是同等重要的基于此考虑,本节采用基于双群体的差分进化算法求解约束多目标优化问题,其中群体用来保存搜索过程中遇到的可行解,用来保存搜索过程中遇到的占优不可行解,同时具有较强的记忆功能,可记忆中每一个体搜索到的最优可行解和整个群体到目前为止搜索到的最优可行解,分别记为和,其中表示个体对自身的思考和认知,表示个体间的信息交流,这一
9、点和PSO算法类似与此同时,我们还通过一种改进的差分进化算法产生新的群体,在产生新群体的过程中,群体中的部分个体参与了个体再生,并通过新生成的个体更新、和为了避免性能较优的不可行解被删除,本文拟采用双群体搜索机制,其中群体用于记录可行解,群体 记录不可行解,分别为群体与的规模,满足,和分别为群体中每一个个体搜索到最优可行解和群体迄今为止搜索到最优可行解2.2.3 改进的差分进化算法为了维护群体的多样性和收敛性,同时有效的利用已搜索到的不可行解的某些优良特性,下面给出一种改进的差分进化算法,并通过以下两种方式产生新的个体方法1: 其中,方法2:其中,方法1的目的在于通过向最优个体学习,改善算法的
10、收敛速度方法2的主要目的在于和不可行个体进行信息交流,共享不可行解的一些优良特性,增加群体的多样性在具体操作过程中,首先用改进的差分进化算法产生新的个体,然后针对父代个体的每一个分量,产生位于区间中的随机数,根据与参数的大小关系确定是否用来替换,得到新的个体如果是可行解,而且的规模小于给定规模,则可直接将插入;如果插入后的群体的规模大于给定规模,首先两两比较中的个体,如果存在两个个体,满足Pareto优于,则将个体删除,如果不存在,也就是说集合中任意两个个体所对应的目标向量都不可比较,则计算中任意两个个体间的距离,随机删除距离最小的两个个体中的一个如果是不可行解,而且的规模小于给定规模,则可直
11、接将插入群体中;如果等于给定规模阈值,计算插入后的群体中任意两个个体的约束向量,如果存在两个个体,满足约束向量Pareto优于约束向量,则删除;如果不存在,则删除满足的个体经过以上操作,群体和的规模不会大于给定规模阈值最后利用新生成的群体更新最优个体集合和,群体的更新方法和SPEA算法中外部群体的更新方法相同,而的更新方法如下:如果新生成的可行解Pareto优于对应的局部最优解,则用替换,否则不予替换2.3算法的基本流程综上所述,基于双群体的差分进化算法的约束处理技术的流程可表示如下:step1. 随机生成个个体,判断每一个体的可行性,然后根据个体可行性将其插入到对应的群体或中;并初始化和及参
12、数和step2. 判断搜索是否结束,如果结束,转向step5,否则转向step3.step3. 生成随机数,如果,根据方法1,生成新的个体;否则,根据方法2生成新的个体,如果是可行解,将插入到中;否则插入到中,反复执行直到生成个可行解step4. 根据新生成的群体更新最优个体集和,转向step2step5. 输出最优解集3 算法分析3.1 算法的性能衡量约束优化问题的算法性能的衡量可分为两部分,一部分为最终获得的最优解的性能的衡量,如通过GD15来度量最优群体的逼近性,SP16来衡量最优解的分布均匀性,或通过计算目标函数的次数衡量算法的复杂度和算法的收敛速度另一部分是针对约束优化问题来衡量群体
13、的多样性,Koziel & Michalewicz17给出一种多样性度量准则,其定义如下: (5) 其中表示每一次搜索过程中生成的可行解的数目,为所生成的所有个体的数目相应地,为了衡量群体中的不可行解违反约束的强度,可采用约束违反度函数的均值来度量: (6)其中表示集合所包含元素的数目然而在实际问题中,决策者往往只对某一范围的最优解感兴趣,故下边只评价本文算法对标准测试函数最终获得的最优解集的逼近性与均匀性,并与NSGA-进行比较3.2 算法的时间复杂性分析我们仅考虑种群规模对算法时间复杂度的影响,设可行群体的规模为,不可行群体的规模为,群体的规模为,群体的最大规模为,则文中算法迭代一次的时间
14、复杂度可计算如下:算法中重组和变异操作的时间复杂度为;判断进化群体中个体可行性所需时间复杂度为;更新群体、和的时间复杂度分别为、和;计算群体和的适应度所需时间复杂度为;用于更新最优群体的时间复杂度最差为;保持最优群体和进化群体多样性的时间复杂度最差为; 则算法迭代一次所需的时间复杂度最差为+ (7)上述复杂度可简化为 (8)设为所有种群的规模,令,则本文算法的时间复杂度 (9)NSGA- 9和SPEA 10是多目标进化算中两个最具有代表性的优秀算法,这两个算法的时间复杂度最差分别为和,其中分别为进化种群规模和外部种群集的规模因而,SPEA和本文算法的时间复杂度最差为,这比NSGA-的时间复杂度
15、稍高一些,但接下来的实验结果告诉我们,本文算法的均匀性及逼近性却明显优于NSGA-事实上,SPEA和本文算法的时间复杂度主要用于环境选择(Environmental selection)上,如果文中对采取NSGA-中的多样性保持策略,则本文算法的复杂度将降至4 实验结果与分析(1) 测试函数与参数设置为了验证本文给出算法的可行性,我们采用Deb18建议的用来测试约束多目标优化算法性能的四个常见的测试函数来检验本文算法的性能可行解集合的规模,不可行解集合的规模初始化时,随机生成个体的数目,参数,为位于区间中的一致随机数Deb给出的测试函数可用统一的解析表示,即其中, 测试函数选取不同的参数时,所
16、构造的测试函数性质不同,可行解和不可行解的分布也不同,最终导致全局Pareto最优解集的不同其中通过控制参数的大小,可以控制Pareto前端不连续的段数,越大段数越多;而较小参数可以使得每一不连续Pareto前端仅包含一个Pareto点;参数调节连续可行域到Pareto前端的点的距离,越大距离越远,其作用在于调节问题求解的难度;参数的作用在于改变分段Pareto前端之间的分布特性,当=1时,Pareto前端为均匀分布;当时, Pareto前端向较大的方向移动;当时,则Pareto前端向较大的方向移动基于以上分析我们选取不同的参数构造4个常用的测试函数检验本节算法的性能,这些测试函数的参数取值具
17、体如下图4.1测试函数 CTP1在目标空间示意图 图4.2测试函数CTP2在目标空间示意图图4.3测试函数 CTP3在目标空间示意图 图4.4测试函数CTP4在目标空间示意图测试函数CTP1:,可行解、不可行解、全局Pareto前端分布如图4.1所示测试函数CTP2: ,可行解、不可行解、全局Pareto前端分布如图4.2所示测试函数CTP3:,可行解、不可行解、全局Pareto前端分布如图4.3所示测试函数CTP4:,可行解、不可行解、全局Pareto前端分布如图4.4所示(2)实验结果与分析在相同的测试函数和目标函数计算次数下,将本文算法和经典的NSGA-II算法进行比较,并将各自算法独立
18、运行30次,然后统计两种算法所得Pareto最优解集的均匀性(Spacing,SP)与逼近性(Generational distance, GD)的最好、最差、均值、方差和中间值,以此作为衡量算法性能的标准由于真实Pareto最优集是未知的,故我们将两种算法所得的60个近似Pareto最优解集之并集的Pareto滤集作为真实Pareto最优解集的逼近,其中测试函数CTP1,CTP2,CTP3的函数值计算次数为10200,而CTP4的函数值计算次数为这里,集合的Pareto滤集定义为. 图4.5、4.6、4.7、4.8为从30次运行中随机选择的一次运行结果,从实验曲线可以看到本文算法求出的Par
19、eto Front在逼近性方面要优于NSGA-II图4.5测试函数CTP1的Pareto Front 图 4.6 测试函数CTP2的Pareto Front 图4.7测试函数CTP3的Pareto Front 图4.8测试函数CTP4的Pareto Front为了进一步定量的评价两种算法的逼近性与均匀性,表4.1,4.2,4.3,4.4给出了两种算法对上述四个测试函数的SP,GD的统计结果,从表中数据容易看出,在解集的逼近性和均匀性方面本文算法对四个测试函数的标准方差都明显小于经典的NSGA-II算法,这说表4.1 测试函数CTP1评价准则的统计结果bestworstavgmedianStd.
20、Dev.SPNSGA-II0.42850.71790. 57490.56940.1842Proposed0.51870.61380. 57050.56840.1043GDNSGA-II0.00050.00210. 00170.00150.0013Proposed9.821e-055.367e-042.0625e-0042.636e-040.0003表4.2 测试函数CTP2评价准则的统计结果bestworstavgmedianStd.Dev.SPNSGA-II0.32750.41210. 39240.37320.2157Proposed0.26890.33510.29650.29740.081
21、3GDNSGA-II0.00080.00170.0010.00130.0011Proposed1.547e-051.784e-042.306e-78.033e-050.0001表4.3 测试函数CTP3评价准则的统计结果bestworstavgmedianStd.Dev.SPNSGA-II0.52190.74510.36990.37910.2312Proposed0.51870.61380.29650.28340.1813GDNSGA-II0.00050.00210.00120.00130.0013Proposed9.821e-055.367e-048.0325e-0052.636e-040.
22、0002表4.4 测试函数CTP4评价准则的统计结果bestworstavgmedianStd.Dev.SPNSGA-II0.27530.56340.34900.35760.1278Proposed0.22450.52860.34260.33810.1138GDNSGA-II0.00110.00360.00230.00230.0030Proposed1.3232e-83.371e-74.6452e-85.173e-80.0001明本文的算法性能更稳定另一方面,上述定量的度量结果也表明在搜索过程中适当的运用性能较优的不可行解的信息不仅有助于保持群体的多样性,而且增强了算法的搜索功能,并在一定程度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用于 约束 多目标 优化 问题 群体 进化 算法
限制150内