处理带约束的多目标优化进化算法1.pdf
《处理带约束的多目标优化进化算法1.pdf》由会员分享,可在线阅读,更多相关《处理带约束的多目标优化进化算法1.pdf(4页珍藏版)》请在冰豆网上搜索。
![处理带约束的多目标优化进化算法1.pdf](https://file1.bdocx.com/fileroot1/2022-10/7/044f7648-b43e-4aa1-8c55-8625df359087/044f7648-b43e-4aa1-8c55-8625df3590871.gif)
处理带约束的多目标优化进化算法处理带约束的多目标优化进化算法王跃宣1,刘连臣1,牟盛静2,吴澄1(1.清华大学自动化系,国家CIMS工程技术研究中心,北京100084;2.高性能计算研究所,新加坡117528)摘要:
摘要:
针对当前对求解多目标优化的遗传算法中主要考虑如何处理相互冲突的多个目标间的优化,而很少考虑对约束条件的处理的问题,提出一种求解带约束的多目标优化遗传算法,利用邻域比较与存档操作遗传算法处理多个相互冲突的目标之间的优化、利用不可行度选择操作处理约束条件和选用约束主导原理指导进化过程选择操作;面向多目标约束优化算法的两类难点问题,列举了2个典型问题进行仿真计算研究,仿真结果表明该算法能较大概率的获得多目标约束优化问题的可行Pareto最优解。
关键字:
关键字:
多目标优化;约束;Pareto最优解;邻域比较与存档操作;不可行度选择;约束主导原理中图分类号:
中图分类号:
TP313.13Constrainedmulti-objectiveoptimizationevolutionaryalgorithmWANGYuexuan1,LIULianchen1,MUShengjing2,WUCheng1(1.NationalCIMSEngineeringResearchCenter,DepartmentofAutomation,TsinghuaUniversity,Beijing100084,China;2.InstituteofHighPerformanceComputing,Singapore117528)Abstract:
Geneticalgorithmsforconstraintmulti-objectiveoptimizationproblemsmainlyfocusonoptimizingtheconflictingmultipleobjectivesbutconstraintconditionshavebeenseldomconsideredsofar.Inthispaper,anewgeneticalgorithmisproposed,inwhichneighborhoodcomparingandarchivingareutilizedtothegeneticalgorithmtosmooththeconflictingobjectives.Infeasibilitydegreeselectionisusedtohandleconstraints.Constraintdomainprincipleisalsoappliedtoguidetheevolutionaryprocess.Forthetwokindsofdifficultproblemsinconstrainedmulti-objectiveoptimization,twoclassicalproblemsarecomputedbythealgorithm.SimulationresultsshowthattheproposalcanfindfeasibleParetosolutionsinabigprobability.KeyWords:
Multi-objectiveoptimization,constrained,evolutionaryalgorithm,Paretooptimalsolution,neighborhoodandarchiveoperation,Infeasibilitydegreeselection,constraineddominatedprinciple近年来,大量基于遗传算法的多目标优化方法被逐步引起重视1-6。
但目前求解多目标优化的遗传算法主要考虑相互冲突的多目标间的优化而很少考虑约束条件7。
而约束处理是工程优化问题中一个关键部分,因此有必要建立一个有效的方法求解一般的约束多目标优化问题。
Michalewicz8对当前基于进化算法的各种处理约束方法做了一个全面综述。
其中罚函数方法在实际问题中得到了最广泛的应用。
但一般罚函数方法处理约束条件的性能很大程度上依赖罚系数的设置。
为解决这个问题,很多研究者提出新的改进方法8-10,其中Mu等10提出一个在一定程度上类似于模拟退火技术的遗传算法求解约束优化问题,算法通过不可行度(infeasibilitydegree,IFD)选择操作将不可行解分为可接受的和不可接受的解。
随着进化过程,可接受的不可行解逐步接近可行域。
这里,将种群中的不可行解进行分类的观点可直接用在同时处理可能的Pareto最优解集。
本文在Mu等1提出的基于邻域和存档操作进化算法(neighborhoodandarchivegeneticalgorithm,NAGA)处理无约束的多目标优化问题的基础上,进一步做了改进并提出能处理各类约束条件的多目标优化算法(infeasibilitydegreebasedneighborhoodandarchivegeneticalgorithm,IFDNAGA),多目标优化部分沿用NAGA方法,采用IFD方法处理各类约束条件,并引入约束主导原理指导进化选择过程。
最后用2个典型的数值例子对IFDNAGA算法的性能进行仿真测试,结果表明该算法能获得可行的Pareto最优收稿日期:
收稿日期:
2004-01-02资助项目:
资助项目:
国家“九七三”项目(2002CB312202)作者简介:
作者简介:
王跃宣(1975),女(汉),浙江,博士后通讯联系人:
通讯联系人:
吴澄,院士,E-mail:
1解。
1邻域和存档操作遗传算法1.1处理约束的不可行度选择为了在多目标优化问题中区分不可行解与可行解,Deb等人在非被主导排序算法(NSGA-II)中定义了一个约束主导原理7:
一个解可称为约束主导另一个解,当且仅当下列条件满足,ixjx1)解是可行解而解不是可行解;ixxjx2)解与都不是可行解,但解的总体约束冲突值小于解;ixjxxixxjx3)解与都是可行解且主导。
ijixjDeb等911采用这个原理来处理基于遗传算法的多目标优化问题中的约束条件,并由实例证明该原理在指导群体进化并收敛到可行的Pareto最优解前沿中的有效性。
为了定量的得到问题中每个解的约束冲突程度,或者不可行程度,定义一个解的不可行度(IFD)为该解的所有冲突的约束值的平方和ix9:
+=+=nJkikJjijixhxgx1212)()(,0min)(,
(1)其中:
g、h分别是优化问题的不等式约束(大于或等于)和等式约束,J和分别是不等式约束式的个数和总约束式的个数。
)(ijx)(ikxn这里不可行度可认为是解到可行域的距离,离可行域越远,不可行度越大,反之越小;当为可行解时,不可行度为零。
ixixix为了逐步增大满足约束要求的压力,使进化搜索由整个解空间逐步向着可行域中的Pareto最优解靠近。
首先定义不可行度阀值:
popSiicritSxTpop/)(*11=,
(2)其中:
1为退火因子,随着迭代进行,T/T由变化到T。
为种群规模。
不可行度阀值是一个逐步减小的退火因子与当前种群的平均不可行度值的乘积。
在每一步进化中,根据每一个候选解的不可行度与阀值的比较来决定这个解是被接受还是被拒绝。
startTendpopS当一个不可行解的不可行度大于不可行度阀值,该解被拒绝,否则该不可行解被接受并进入下一代遗传算法操作。
为保证种群规模不变,被拒绝的解由当前代中可行度最小的解等量取代。
1.2邻域和存档操作的多目标优化方法基于进化算法的多目标约束优化方法的主要任务包括:
在种群中识别可行的Pareto最优解,保证算法收敛到可行的Pareto最优前沿,以及将获得的Pareto最优解均匀分布在Pareto前沿上111。
根据Pareto最优解的定义,Mu等1基于邻域比较法建立了从群体中识别Pareto最优解的两级识别法。
首先是识别局部Pareto最优解步骤,通过比较候选解所有目标值在其邻域内的单调性,得到判别Pareto最优解的必要条件。
如果一个候选解的所有目标值在其邻域内变化时是单调增加或者是单调减小,则该候选解可认为是一个非Pareto解并被舍弃。
否则,如果在其邻域内,候选解的部分目标值单调增加而另有部分目标值单调减小,则该候选解作为局部非被主导解保留。
第二步识别步骤是针对第一步识别得到的局部非被主导解进行的。
通过对每个局部非被主导解的所有目标值与存档中的所有Pareto最优解的所有目标值进行比较。
判断局部非被主导解是否在整个搜索解空间中都是非被主导的,也就是Pareto最优解的过程。
在多目标优化问题中,维持Pareto最优解在Pareto前沿的均匀分布是另一个关键的步骤。
Mu等1提出了一个简单而有效的维持Pareto最优解均匀分布的方法:
邻域排挤法,并采用了存档操作来存储由邻域识别法获得的Pareto最优解。
排挤法是通过比较由邻域识别法得到的新的Pareto最优解与存档中的Pareto最优解,舍弃与存档中的解的距离过小的候选解。
每个存档中的Pareto最优解都由一个小的区间表示,这两个边界值被认为是该解的邻域。
+xx适应值分配过程是通过对新的Pareto最优解赋以大的数值而对其他被舍弃的解赋以小的数值来实现的。
在适应值分配步骤中引入了正则化Euclidean距离。
1.3IFDNAGA算法IFDNAGA算法的其他部分采用改进的精英遗传算法(elitistGA),算法流程如下:
1)初始化。
初始化进化群体,设置最大迭2代次数和其他通用遗传算法参数:
群体规模、交叉概率、变异概率。
设置存档大小VA和邻域大小,平均不可行度(阀值)系数T和T;maxKdendstart2)计算当前种群所有个体的不可行度IFD和群体的不可行度阀值,完成不可行度选择操作;3)应用邻域识别法从完成不可行度选择操作的群体中计算并比较个体解和其邻域解的所有目标函数,从中获得Pareto最优解;4)执行邻域排挤法,根据所得解之间的差距排挤重叠的Pareto最优解,最后将新Pareto最优解存档;5)根据约束主导原理对处理后的群体进行适应度赋值;6)如果迭代次数大于最大次数或者存档中的Pareto最优解个数大于或等于VA,则停止;maxK7)执行选择、交叉和变异操作以产生下一代种群。
同时保留父代中最好的个体。
8)计算新的群体中所有个体的不可行度IFD和种群的不可行度阀值,执行不可行度选择操作,产生新的群体;9)应用邻域识别法从新种群中获得Pareto最优解;10)将新识别的Pareto最优解与存档中的Pareto最优解之间执行邻域排挤操作,最后将未被排挤的Pareto最优解存档;11)根据约束主导原理对处理后的群体进行适应度赋值。
12)返回步骤6)。
遗传算法采用实数编码法,其他通用操作算子:
选择算子,交叉算子和变异算子分别采用轮盘赌法、算术交叉法和邻域变异法9。
2数值测试例子采用IFDNAGA对2个不同复杂程度的多目标约束优化问题进行数值求解。
测试例子的选择是根据多目标约束优化算法的两类难点问题而设计的11:
1)算法在接近Pareto最优前沿处的搜索性能;2)算法在整个搜索空间的收敛性。
所选例子使用IFDNAGA时采用的算法参数为:
群体规模为100,交叉概率为0.9,变异概率为0.1,变异幅度为Upp1310,最大进化次数为500,存档体积VA为500,邻域范围为0.0001d1。
群体的平均不可行度IFD(阀值)系数T和T分别是0.8和3。
startend例1