MOEAD(基于分解的多目标进化算法)
- 格式:docx
- 大小:797.70 KB
- 文档页数:16
MOEA-D算法的改进及其在多目标测试用例排序中的应用摘要多目标测试用例排序(MOTS)作为软件测试中的重要问题之一,旨在将测试用例按照覆盖率、故障检测能力等多维度指标进行排序,以达到自动化选择测试用例的目的。
MOEA/D(Multi-objective Evolutionary Algorithm based on Decomposition)算法是一种较为有效的解决MOTS问题的算法,然而,MOEA/D算法中存在一些问题,如权重分配策略、解集过度重叠等,需要进行改进。
本文通过研究MOEA/D算法中的问题,提出改进算法,即MOEA/D-IT,该算法采用非均匀分配策略以解决权重分配问题,并结合均匀分配策略进行解集划分,从而解决解集过度重叠的问题。
最后,将MOEA/D-IT算法应用于实际问题中的MOTS问题,结果表明改进算法在解决MOTS问题方面具有明显优势。
关键词:多目标测试用例排序;MOEA/D算法;权重分配策略;解集过度重叠;MOEA/D-IT算法1. 引言随着软件规模和复杂度的不断提高,软件测试变得越来越重要。
测试用例是评估软件质量和性能的关键因素,测试用例的质量和数量对软件测试的效率和效果有很大的影响。
因此,如何自动化生成高质量的测试用例并选择测试用例来实现全面测试是软件测试研究的重点之一。
多目标测试用例排序(MOTS)作为软件测试中的重要问题之一,旨在将测试用例按照指定的多维度指标进行排序,以达到自动化选择测试用例的目的。
目前,MOTS问题通常被认为是一个多目标优化问题,需要使用多目标优化算法来解决。
MOEA/D(Multi-objective Evolutionary Algorithm based on Decomposition)算法是一种基于分解思想的多目标优化算法,该算法将多目标问题转化为多个单目标子问题,并使用进化算法求解。
MOEA/D算法具有许多优点,如快速收敛,较好的解集质量等。
2019,55(9)1引言多目标优化问题是指同时对2个或2个以上的问题进行优化。
现实生活中的很多问题都可以被看作是优化问题。
一些复杂的优化问题可能包含多个相互冲基于变异算子和邻域值自适应的MOEA/D 算法李二超,陈瑞婷兰州理工大学电气工程与信息工程学院,兰州730050摘要:基于分解的多目标进化算法(MOEA/D )在解决多目标问题时,具有简单有效的特点。
但多数MOEA/D 采用固定的控制参数,导致全局搜索能力差,难以平衡收敛性和多样性。
针对以上问题提出一种基于变异算子和邻域值自适应的多目标优化算法。
该算法根据种群中个体适应度值的分散或集中程度进行判断,并据此对变异算子进行自适应的调节,从而增强算法的全局搜索能力;根据进化所处的阶段以及个体适应度值的集中程度,自适应地调节邻域值大小,保证每个个体在不同的进化代数都有一个邻域值大小;在子问题邻域中,统计子问题对应个体的被支配数,通过判断被支配数是否超过设定的上限,来决定是否将Pareto 支配关系也作为邻域内判断个体好坏的准则之一。
将提出的算法与传统的MOEA/D 在标准测试问题上进行对比。
实验结果表明,提出的算法求得的解集具有更好的收敛性和多样性,在求解性能上具有一定的优势。
关键词:自适应;变异算子;邻域值;支配关系;多目标文献标志码:A 中图分类号:TP301doi :10.3778/j.issn.1002-8331.1808-0028李二超,陈瑞婷.基于变异算子和邻域值自适应的MOEA/D 算法.计算机工程与应用,2019,55(9):49-55.LI Erchao ,CHEN Ruiting.Improved MOEA/D algorithm based on adaptive mutation operator and neighborhood puter Engineering and Applications,2019,55(9):49-55.Improved MOEA/D Algorithm Based on Adaptive Mutation Operator and Neighborhood Size LI Erchao,CHEN RuitingCollege of Electrical Engineering and Information Engineering,Lanzhou University of Technology,Lanzhou 730050,China Abstract :When solving multiobjective problems,Multiobjective Evolutionary Algorithm based on Decomposition (MOEA/D )is simple and effective.But most MOEA/D use fixed control parameters.It will lead to poor ability of global search and make it difficult to balance convergence and diversity.To solve these problems,a multiobjective optimization algorithm based on adaptive mutation operator and neighborhood value is proposed in this paper.The algorithm adjusts the mutation operator adaptively based on the degree of dispersion or concentration of individual fitness values in the population.It can enhance the global search ability of the algorithm.The size of neighborhood is adjusted adaptively according to the stages of evolution and the degree of concentration of individual fitness values.Each individual has a neighborhood size in each generation.The number of individuals are counted,which dominate the individual corresponding to the subproblem in the neighborhood of subproblem.If this number exceeds the set upper limit,the Pareto dominance relationship will be also used as one of the criteria for judging the individual quality in the neighborhood.The proposed algorithm is compared with traditional MOEA/D in the standard test problem.The result shows that the solution set obtained by the proposed algorithm not only has better convergence and diversity,but also has a competitive performance in solving multiobjective problems.Key words :adaptive;mutation operator;neighborhood size;domination relationship;multiobjective基金项目:国家自然科学基金地区基金(No.61763026);国家自然科学基金青年基金(No.61403175)。
基于分解的多目标进化算法及其应用共3篇基于分解的多目标进化算法及其应用1基于分解的多目标进化算法及其应用随着计算机技术的不断发展,多目标优化问题成为了研究热点。
传统的单目标优化问题随着应用场景的复杂化变得困难,在此背景下,多目标优化问题作为一种解决现实问题的技术得到了广泛应用。
基于分解的多目标进化算法作为多目标优化的一种重要技术,在鲜有规划中得到了广泛的应用。
基于分解的多目标优化方法是一种将多目标函数分解为若干个单目标函数进行优化的算法。
其以代表性和均匀性为优化目标,通过逐步分解和使用一定的优化策略,最终求解多目标函数的最优解。
在此过程中,基于分解的多目标优化算法采用了种群进化的策略,通过交叉、变异等基本操作不断地迭代,以不断优化每个单目标函数,最终获得近似全局最优解。
对于基于分解的多目标进化算法,其适用性非常广泛,可以应用于从各种设计问题到生产问题等各种方面。
例如,在某个设计中,一个设计方案不能仅仅满足一种目标,需要最大化设计方案的效果、同时平衡因素等多种要求。
而基于分解的多目标进化算法可以有效地优化设计方案,同时满足多种要求。
在生产问题中,也存在着多种因素的评估问题。
例如,在一个制造过程中,产品成本、质量、生产效率等要素都需要综合考虑才能够获得最优的解决方案。
而基于分解的多目标进化算法可以非常有效地解决这类问题。
在实际应用中,基于分解的多目标进化算法在很多领域都得到了重要应用。
例如,在高速列车设计、无人机路径规划、工业过程优化等领域,该算法均有着广泛的应用。
例如,在高速列车设计中,存在多个目标,例如减少噪音、减少材料成本、提高速度等。
而基于分解的多目标进化算法可以帮助得到最优的设计方案。
在无人机路径规划中,需要平衡多种因素,例如路径长度、飞行时间、避开障碍等。
基于分解的多目标进化算法可以求解无人机最优路径。
在工业过程优化中,需要考虑各种因素,例如生产效率、能源消耗、环境污染等,而基于分解的多目标进化算法可以得到全局最优的生产方案。
基于分解的多⽬标进化优化MOEAD三种聚合函数的理解安徽⼤学⽥野⽼师 platEMO 平台代码⽹址:NSGA2 MOEA/D NSGA3 ⽹上写的较好的单独代码分享,供⼤家学习调试理解:⽹上查阅很多资料,基于分解的MOEA的理解汇总(当做⾃⼰的笔记记录下)如下:基于分解的MOEA有三类聚合函数,如下⾸先,λ被称之为权重向量,观察和式,这完全就是m维向量的点乘公式嘛。
具体的说,在⽬标空间中,把算法求出的⼀个⽬标点和原点相连构造成⼀个向量,此时,该⽅法的做法是将该向量与对应权重向量点乘,由向量点乘的⼏何意义可知,所得的数为该向量在权重向量⽅向上的投影长度,因为权重向量不变,最⼤/⼩化该长度值其实就是在优化该向量。
可知若要增⼤该向量在权重向量上投影的长度,⼀⽅⾯可以增⼤/减⼩与权重向量的夹⾓,另⼀⽅⾯可以增⼤/减⼩该向量的长度。
样例图如下图。
图中:考虑红⾊权重向量,因为是最⼩化问题,所以减⼩长度,增⼤夹⾓都是可⾏的⽅案,绿⾊为等⾼线,垂直于权重向量。
理解为啥f′1λ1>f′2λ2,这个需要看前提条件的,如果在λ左上⽅,只有f1和f2发⽣了变化。
你可以移位⼀下,看作是两个斜率的⽐较。
注意,λ是针对某⼀个的,是不变的。
该⽅法给出的表达式为:注意该⽅法中不再含有Σ符号,故不能再从向量点乘的⾓度理解。
该⽅法⼤致思想是减少最⼤差距从⽽将个体逼近PF。
等⾼线⽰意图如下:⾸先解释等⾼线为什么是这样的。
单看f1函数,即只考虑纵坐标,若两点等值,必然是式中f1的函数值相等(因为另外两个量是不变的),即纵坐标相等,所以f1函数的等⾼线是⼀组平⾏于横轴的直线。
f2类似,为⼀组平⾏于纵轴的直线。
那么,图中的等⾼线是横竖相交且刚好交在权重向量的⽅向上的,这是巧合吗?可以稍微来证明⼀下,可知,对于任何⼀个可⾏的切⽐雪夫值(⾃⼰叫的),我们从f1的⾓度上可以得到⼀个f1的值y,从f2的⾓度上可以得到⼀个f2的值x,他们的切⽐雪夫值是相等的,⾃然想到,点(x,y)(图中紫⾊点)为该切⽐雪夫值得横纵两条等值线的交点,那么有:λ1*(y-z1)= λ2*(x-z2),化简的(y-z1)/(x-z2)= λ2/λ1,可知该交点位于权重向量的⽅向上。
面向多目标优化的进化算法研究进化算法是一种通过模拟生物进化过程进行问题求解的算法,它以获取优秀解决方案为目标。
然而,在现实生活中,我们常常面临的是多个目标冲突的优化问题,而传统的进化算法在面对这类问题时往往无法取得令人满意的结果。
因此,研究面向多目标优化的进化算法成为了近年来研究的热点。
面向多目标优化的进化算法(多目标进化算法,MOEA)旨在找到一个解集,使得在目标空间中这些解尽可能地分布于全局的帕累托前沿(Pareto front),即无法找到一个解能在所有目标上优于它。
MOEA的优势在于能够提供一系列平衡解,给决策者提供了更多的选择余地。
在研究面向多目标优化的进化算法时,一个重要的问题是如何评估不同解的优劣程度。
传统的单目标优化算法可以使用一个标量函数来评估解的质量,但在多目标优化中,我们需要一个评估函数来同时考虑多个目标,并给出一个综合的评价。
常用的评价指标包括帕累托前沿覆盖度、空间覆盖率、边缘优势度等。
常见的面向多目标优化的进化算法包括遗传算法、粒子群算法、蚁群算法等。
遗传算法是一种模拟生物进化过程,通过选择、交叉、变异等操作来搜索解空间。
粒子群算法则通过模拟鸟群觅食行为来搜索最优解。
蚁群算法则模拟了蚂蚁在寻找食物的过程,通过信息素和启发函数来引导搜索。
在具体应用中,面向多目标优化的进化算法已经在许多领域取得了广泛的应用。
例如,在工程设计中,我们常常需要考虑多个目标,如成本、质量、效率等。
传统的单目标优化算法往往难以满足这些多个目标的需求,而多目标进化算法能够同时考虑这些目标,找到一个平衡解,能够在不同目标之间做出权衡。
另一个应用领域是组合优化问题,如旅行商问题、物流路径规划等。
这些问题往往涉及到多个冲突的约束条件,使用传统的单目标优化算法很难得到满意的解决方案。
而多目标进化算法可以通过搜索帕累托前沿,提供一系列的可行解,给决策者提供了更多的选择。
然而,面向多目标优化的进化算法也面临一些挑战与问题。
moead算法流程步骤MOEA/D算法(多目标进化算法基于分解)可是个超有趣的算法呢!一、初始化种群。
这个算法一开始呀,要先创建一个初始种群哦。
就像是召集一群小伙伴来参加一场特别的游戏。
这个种群里的每个个体都像是一个独特的小选手,有着自己的特点。
这些个体的生成通常是随机的,就像在一个大盒子里随机抓取一些小物件一样,每个小物件都代表着一种可能的解。
二、分解多目标问题。
然后呢,它要把多目标问题分解成好多单目标子问题。
这就好比把一个超级复杂的大拼图,拆分成好多小块的拼图。
这样做的好处是,处理起来就没那么头疼啦。
每个子问题都可以单独去研究和解决,就像每个小拼图可以单独去找它该在的位置一样。
三、权重向量生成。
接下来要生成权重向量哦。
这个权重向量就像是每个小选手(个体)的比赛规则一样。
不同的权重向量会引导算法朝着不同的方向去寻找最优解。
它可以帮助算法在多个目标之间找到一个平衡,就像在游戏里,要平衡速度、力量和技巧这些不同的属性一样。
四、邻域关系确定。
再就是确定邻域关系啦。
这就像是在小伙伴们中间建立小团体一样。
每个个体都有自己的邻居,它们之间相互影响、相互交流。
在这个小团体里,大家可以分享信息,互相学习,这样就能让整个种群朝着更好的方向进化。
五、繁殖操作。
然后就到了繁殖操作啦。
这就像是小伙伴们之间互相合作,产生新的小伙伴。
通过交叉和变异这些操作,产生新的个体。
交叉就像是两个小伙伴交换一些特点,变异呢就像是某个小伙伴突然有了一个新的小创意。
六、更新种群。
最后就是更新种群啦。
根据前面那些操作得到的新个体,要看看哪些是比较优秀的,然后把它们留下来,替换掉原来种群里那些不那么好的个体。
就像在比赛中,表现好的选手留下来继续比赛,表现不好的就被淘汰啦。
这样不断地循环,种群就会越来越接近最优解,就像小伙伴们不断成长,变得越来越厉害一样。
MOEADMOEAD的核心思想是通过分解多目标问题为一系列单目标子问题来解决。
在每个子问题中,MOEAD使用邻域的方式来引导过程,并通过动态更新权重向量来维持种群的多样性。
具体而言,MOEAD算法可以划分为以下几个步骤:1.初始化:随机生成一定数量的个体作为初始种群,并初始化权重向量。
2.邻域定义:根据问题的特点,定义每个个体的邻域,通常采用距离度量的方式。
3.子问题求解:对于每个个体,以它为目标函数中的一个权重向量,求解其邻域内的最优个体。
这里通常采用其中一种启发式策略,如差分进化算法。
4.更新权重向量:为了维持种群的多样性,MOEAD会动态地更新权重向量。
常用的更新策略包括递归更新、旋转和随机生成等。
5.子问题交叉、变异:通过交叉和变异操作产生新个体,并将其与邻域中的最优个体进行比较,选择较优的个体加入下一代种群。
6.终止条件判断:判断是否达到终止条件,如的代数达到预设值或者到了满意的解集。
7.终止或迭代:如果满足终止条件,停止并输出最终结果;否则,返回第3步。
MOEAD算法具有一些显著的特点和优势。
首先,通过将多目标问题分解为多个单目标子问题,MOEAD能够更好地捕捉到问题中的局部适应性信息。
其次,通过权重向量的动态更新和邻域,MOEAD能够保持种群的多样性,从而提高了的全局性能。
另外,MOEAD的计算开销很小,适合应用于大规模问题的求解。
尽管MOEAD算法在多目标优化问题中取得了很好的效果,但仍然存在一些改进的空间。
对于权重向量的选择和更新策略,仍然缺乏一种通用的理论和方法。
此外,MOEAD算法的收敛性和收敛速度仍然是一个研究的热点问题。
总之,MOEAD算法是一种有效的多目标进化算法,通过将多目标问题分解为一系列单目标子问题,并通过权重向量的动态更新和邻域来引导过程。
它具有较好的性能和计算效率,适用于各种多目标优化问题的求解。
多目标进化算法总结多目标进化算法(MOEA, Multiple Objective Evolutionary Algorithm)是一类基于进化算法的优化方法,主要用于解决具有多个相互竞争的目标函数的问题。
MOEA通过维护一组解的种群,采用进化操作来尽可能多的帕累托最优解集。
下面对MOEA进行详细总结。
首先,MOEA的基本思想是通过模拟自然进化过程进行优化,它借鉴了进化生物学中的适应度、交叉、突变等概念。
MOEA维护了一个种群,每个个体代表一个解,种群中的个体通过进化操作进行迭代更新。
在进化过程中,MOEA通过交叉和突变操作生成新的个体,通过适应度评估来决定个体的生存能力,根据个体在不同目标函数上的性能对种群进行选择和更新。
其次,MOEA的核心是解的评估和解的选择。
MOEA采用一个适应度函数来评估解在多个目标函数上的性能。
适应度函数一般采用拥挤度或距离等概念来度量解的优劣。
拥挤度是指解在种群中的分布密度,用以保持解的多样性。
根据适应度函数的评估结果,MOEA决定哪些解会生存下来,并更新种群。
第三,MOEA有很多具体的算法实现,其中比较经典的有NSGA-II、PAES、SPEA、MOEA/D等。
NSGA-II采用非支配排序和拥挤度距离来维护种群的多样性,并通过交叉和突变操作来生成新的个体。
PAES通过局部来改进解的质量,采用网格来表示解的空间,并根据适应度函数进行迁移。
SPEA使用非支配排序和密度估计来选择解,并通过交叉和突变操作来生成新的个体。
MOEA/D通过将多目标优化问题分解为多个子问题,并通过子问题之间的协作来帕累托最优解。
此外,MOEA还面临一些挑战和改进方向。
首先,MOEA需要解决多目标函数之间的冲突,如何在多个目标之间找到均衡点是一个难题。
其次,MOEA的计算复杂度通常比单目标优化方法更高,如何提高算法的效率是一个重要问题。
此外,MOEA在处理约束问题和高维问题时也存在挑战,如何有效处理这些问题也是一个改进方向。
基于分解的多目标进化算法摘要:在传统的多目标优化问题上常常使用分解策略。
但是,这项策略还没有被广泛的应用到多目标进化优化中。
本文提出了一种基于分解的多目标进化算法。
该算法将一个多目标优化问题分解为一组???单目标优化问题并对它们同时优化。
通过利用与每一个子问题相邻的子问题的优化信息来优化它本身,这是的该算法比MOGLS和非支配排序遗传算法NSGA-Ⅱ相比有更低的计算复杂度。
实验结果证明:在0-1背包问题和连续的多目标优化问题上,利用一些简单的分解方法本算法就可以比MOGLS和NSGA-Ⅱ表现的更加出色或者表现相近。
实验也表明目标正态化的MOEA/D算法可以解决规模范围相异的多目标问题,同时使用一个先进分解方法的MOEA/D可以产生一组分别非常均匀的解对于有3个目标问题的测试样例。
最后,MOEA/D在较小种群数量是的性能,还有可扩展性和敏感性都在本篇论文中通过实验经行了相应的研究。
I.介绍多目标优化问题可以用下面式子表示:Maximize F(x)=((f1(x)…...f m(x))Tsubject to x∈Ω其中Ω是决策空间,F:Ω→R m,包含了m个实值目标方法,R m被称为目标区间。
对于可以得到的目标集合成为{F(x)|x∈Ω}。
如果x∈R m,并且所有的目标函数都是连续的,那么Ω则可以用Ω={x∈R n|h j(x)≤0,j=1……m}其中hj是连续的函数,我们可以称(1)为一个连续的多目标优化问题。
如果目标函数互斥,那么同时对所有目标函数求最优解往往是无意义的。
有意义的是获得一个能维持他们之间平衡的解。
这些在目标之间获得最佳平衡的以租借被定义Pareto最优。
令u, v∈Rm,如果u i≥v i对于任意的i,并且至少存在一个u j≥v j(i,j∈{1…..m}),那么u支配v。
如果在决策空间中,没有一个点F(y)能够支配F(x)点,那么x就是Pareto最优,F(x)则被称为Pareto最优向量。
摘要:在传统的多目标优化问题上常常使用分解策略。
但是,这项策略还没有被广泛的应用到多目标进化优化中。
本文提出了一种基于分解的多目标进化算法。
该算法将一个多目标优化问题分解为一组单目标优化问题并对它们同时优化。
通过利用与每一个子问题相邻的子问题的优化信息来优化它本身,这是的该算法比MOGLS和非支配排序遗传算法NSGA-Ⅱ相比有更低的计算复杂度。
实验结果证明:在0-1背包问题和连续的多目标优化问题上,利用一些简单的分解方法本算法就可以比MOGLS和NSGA-Ⅱ表现的更加出色或者表现相近。
实验也表明目标正态化的MOEA/D算法可以解决规模范围相异的多目标问题,同时使用一个先进分解方法的MOEA/D可以产生一组分别非常均匀的解对于有3个目标问题的测试样例。
最后,MOEA/D在较小种群数量是的性能,还有可扩展性和敏感性都在本篇论文中通过实验经行了相应的研究。
I.介绍多目标优化问题可以用下面式子表示:Maximize F(x)=((f1(f)…...f f(f))fsubject to x∈Ω其中Ω是决策空间,F:Ω→f f,包含了m个实值目标方法,f f被称为目标区间。
对于可以得到的目标集合成为{F(x)|x∈Ω}。
如果x∈R m,并且所有的目标函数都是连续的,那么Ω则可以用Ω={x∈f f|h f(x)≤0,j=1……m}其中hj是连续的函数,我们可以称(1)为一个连续的多目标优化问题。
如果目标函数互斥,那么同时对所有目标函数求最优解往往是无意义的。
有意义的是获得一个能维持他们之间平衡的解。
这些在目标之间获得最佳平衡的以租借被定义Pareto最优。
令u, v∈Rm,如果f f≥f f对于任意的i,并且至少存在一个f f≥f f(i,j∈{1…..m}),那么u支配v。
如果在决策空间中,没有一个点F(y)能够支配F(x)点,那么x就是Pareto最优,F(x)则被称为Pareto最优向量。
换句话说,对于Pareto最优点在某一个目标函数上的提高,都会造成至少一个其余目标函数的退化。
所有Pareto最优解的集合称为Pareto集合,所有最优向量的集合被称为Pareto前沿。
在许多多目标优化的实际应用中,通过选择器选择一个接近Pareto最优前沿的解作为最后的解。
大多数多目标优化问题都有许多甚至是无穷个Pareto最优向量,如果想要获得一个完整的最优前沿,将是一件非常耗时的事情。
另一方面,选择器可能不会专注于获得一个过于庞大的最优解向量集合来解决问题,因为信息的溢出。
因此,许多多目标优化算法往往是获得一个均匀分布在Pareto最优前沿周围的最优解向量,这样就具有更好的代表性。
许多研究人员也致力于使用数学模型来获得一个近似的最优前沿。
一般来说,在温和控制下多目标优化问题的Pareto最优解,可以看做是一个标量优化问题的最优解(其中目标函数是fi的集合)。
因此,Pareto最优前沿的近似求解可以被分解为一组标量目标优化子问题。
这个想法是建立在许多传统的对最优前沿求近似解的数学编程方法上的。
现在有许多的聚合方法,最流行的是切比雪夫法和加权法。
最近,边界交叉方法也引起了许多的关注。
如今多目标进化算法并没有将分解这一概念引入当前的主要发展领域。
这些算法将多目标优化问题看成一个整体。
他们并没有通过任何特别的标量优化将每一个解相互联系在一起。
在一个标量目标优化问题中,所有的解都可以通过他们的目标函数值进行对比,而挑战就是如果找到一个单独的最优解。
但是在MOP中,支配关系并不能定义一个具有完整顺序的解集合,MOEA则是为了产生一组尽可能分散的可以代表整个PF的解集合。
因此,那些常见的被设计在标量优化中使用的选择器,可能不能直接的在传统的MOEA中使用。
可以认为,如果有一个可以为每个体分配相关适应度来反映供选择参考的效用的适应度分配表,那么标量优化进化算法就可以真正的使用在MOP中,但是其他技术:比如交配限制、多样性控制、许多MOP方法的属性和外部种群集合等仍然需要用来加强标量算法的性能。
因为这个原因,适应度分配已经成为现在MOEA研究的一个主要议题。
比较流行的适应度分配策略包括基于目标函数的适应度分配比如VRGA,还有基于支配关系的适应度分配比如SPRA-Ⅱ和NSGA-Ⅱ。
分解这种想法在某种程度已经被应用在许多元启发式方法中用于解决MOP问题。
例如,两相局部搜索方法被认为是一组标量优化问题,其中MOP中的多目标被通过聚合方法分解为一个个单目标问题,一个标量优化算法被应用到标量优化问题中通过一组聚合参数来完成,在之前问题中获得的一组解作为下一个问题的起始点因为聚合原因两者间的差别很小。
多目标遗传局部搜索目标就是对用过使用甲醛算法或者切比雪夫算法的聚合进行同时优化。
在每一代中,它对一个随机生成的聚合目标进行优化。
在本篇文章中,我们提出了一个新的基于分解的多目标进化算法。
MOEA/D将MOP分解为N个标量的子问题。
它通过进化出一个解的种群来同时解决所有子问题。
对于每一代种群,种群是从所有代中选出的每一个子问题的最优解的集合。
相邻两个子问题键的关联程度是由它们的聚合系数向量间的距离所决定的。
对于两个相邻子问题来说,最优解应该是非常相似的。
对于每一个子问题来说,只是用与其相邻的子问题的信息来优化它。
MOEA/D有以下特性:MOEA/D提供了一个简单但是有效的方法,那就是将分解的方法引入到多目标进化计算中。
对于常常在数学规划领域发展的分解方法,它可以真正的被并入到EA中,通过使用MOEA/D框架来解决MOP问题。
因为MOEA/D算法是同时优化N标量子问题而不是直接将MOP问题作为一个整体来解决,那么对于传统的并不是基于分解的MOEA算法来说适应度分配和多样性控制的难度将在MOEA/D框架中得到降低。
MOEA/D算法有一个较低的计算复杂度相比于NSGA-Ⅱ和MOGLS。
总体来说,在MOGLS和MOEA/D同时解决0-1背包问题测试样例中,两者使用相同的分解方法,MOEA/D在解的质量上表现更为出色。
在一组连续的MOP样例测试中,使用了切比雪夫分解法的MOEA/D方法和NSGA-Ⅱ表现相近。
在一个3目标的连续样例测试中,使用一个先进的分解方法的MOEA/D算法表现的比NSGA-Ⅱ出色许多。
当MOEA/D算法使用一个小型种群时也可以产生一组种群数量少的分布均匀的解。
因为在MOEA/D中每一个解都和标量优化问题有关,所以使用标量优化方法显得很自然。
相反,对于传统的不是基于分解的MOEA算法的一个缺点就是很难找到一个简单的方法来冲分利用标量优化算法。
本篇文章按如下组织。
在第二部分介绍了三种分解方法。
第三部分详细展示了MOEA/D 算法。
在第四和第五部分,对其和MOGLS和NSGA-Ⅱ算法进行了对比,对比结果表明MOEA/D 算法表现的更为出色有时表现相近。
在第六部分,展示了更多关于MOEA/D的实验数据。
在第七部分对本文做了总结。
II.多目标优化中的分解算法如今有许多方法可以将对求Pareto前沿近似解的问题转换为一组标量优化问题的。
在下面,我们将介绍三种我们试验中使用到的方法。
1.权重求和方法权重求和是最常见的聚合方法,假设待优化的多目标问题有m 个总目标,该函数通过一个非负的权重向量λ⃗⃗⃗⃗ =(λ1……λf )加权到每个目标上将MOP 转化为单目标子问题,其数学表达式为:maximize f ff (x |λ⃗⃗⃗⃗ )=∑λf f f (f )ff =1subject to x ∈Ω其中,λ⃗⃗⃗⃗ =(λ1……λf )是一组权重向量,对于所有的i =1,2,…,m,λf ≥0&&∑λf =1f f =1。
聚集韩式可以是线性的,也可以是非线性的。
由如上的定义可知,传统的加权方法利用均匀的权重向量够早了一个不同目标函数值的凸组合。
根据凸组合的性质,当聚集函数呈线性时,无论如何调整权重系数,都难以搜索到非凸解。
但是当聚集函数呈非线性时,可以很好地解决以上问题。
在本文中,将加权求和聚合函数表达式记为上式是为了强调λ是这个目标函数的一个参数向量,X 是待优化的变量。
与传统的加权方法不同,加权求和聚合方法通过在上述标量优化问题中生成不同的权重向量来产生一组不同的Pareto 最优解。
然而,在最优Pareto 面的形状为非凸面的情况下,这种方法并不能获得每一个Pareto 最优向量。
为了克服这些缺点,研究人员做出了一些努力,例如在此方法中引入了ε−约束。
2. 切比雪夫聚合方法切比雪夫聚合方法的计算公式为:minimize fff (x |λ,f ∗)=fff 1≤f ≤f {λf |f f (x )−f ∗|} 其中x ∈Ω,f ∗=(f 1∗,…,f f ∗)f 为参考点,对于每一个i =1,…,m,有f f ∗=min {f f (f )|f ∈Ω}。
对于每一个Pareto 最优点x ∗总存在一个权重向量λ使得上式的解为一个Pareto 最优解,该解对应着元多目标问题的Pareto 最优解。
并且通过修改权重向量可以获得Pareto 最优面上的不同的解。
这种方法的一个缺点就是处理连续多目标问题时聚合方法曲线不平滑。
权重切比雪夫聚合方法是在权重求和和切比雪夫方法的基础上进行的改进,在该方法中添加了参数ρ,将两种聚合方法组合在一起。
通过调整ρ控制两种聚合方法的比例,力图结合权重求和聚合方法收敛速度快和切比雪夫聚合方法分布性好的特点。
min f ff (f |f ,f ∗)=max f =1,2,…,f {f f |f f (f )−f ∗|}+ρ∑|f f (f )−f f ∗|f f =13. 边界交叉聚合方法几种常见的聚合方法如标准边界交叉方法和规范化标准约束方法可以归类为边界交叉方法。
这些方法被设计用来处理连续多目标优化问题。
在一定条件下,连续多目标优化问题的Pareto 最优边界是其可行目标集的最右上边界的一部分。
从几何角度来看,这些边界交叉方法旨在寻找到最上部的边界和一组线的交点。
在某种意义上说,如果这组线均匀地分布,由此产生的交点可以看做是提供了对整个Pareto 最优边界一个很好的近似。
这些方法能够很好的处理Pareto 最优边界为非凸面的问题。
一般在试验中,通常取一组从参考点出发的射线。
在数学意义上,定义如下形式的标量优化问题:min f ff (x |λ,f ∗)=d其中,λ和f∗在第二个方法中介绍过,分别代表的是一个权重向量和参考点。
如下图所示,约束条件f∗−F(x)=dλ确保了F(x)保持在直线L上,直线L的方向为λ且穿过点f∗。
边界交叉方法的目标是把F(x)推尽可能的远,这样算法能够搜索到可行目标空间的边界。
上述方法的一个缺陷就是它必须处理等式约束。