最新高维多目标进化算法总结
- 格式:docx
- 大小:608.74 KB
- 文档页数:13
基于进化算法的高维多目标优化问题求解方法及应用多目标进化算法是目前求解多目标优化问题最行之有效的方法,常用的高性能多目标进化算法多用于求解目标数较少的问题。
高维多目标优化问题(Many-objective Optimization Problems),即目标数多于5个的问题的研究则是多目标优化领域一个研究热点。
本论文旨在探索和设计具有较高搜索能力和搜索效率的高维多目标优化问题求解方法及其应用。
论文的主要研究工作及成果包括以下几个方面:(1)针对高维多目标进化算法存在的计算复杂度高、计算效率低等缺点,提出基于ε指标的多目标混合蛙跳算法。
该算法以基于种群的单目标混合蛙跳算法为进化机制,采用以下三个关键技术:(i)以ε指标构建适应值分配方法,用于局部进化和存档器更新;(ii)提出基于几何划分的种群分割方法,将非支配个体按几何位置聚类,被支配个体按近似度划分;(iii)提出基于近邻原则的动态全局最优个体选择策略,加快算法收敛。
该算法可应用于目标数为3-50的高维多目标优化问题,求解效率高,收敛性好。
(2)针对基于目标降维的高维多目标优化问题求解方法存在降维准确性低、鲁棒性差等缺点,提出基于稀疏特征选择的目标降维算法。
该算法以多目标进化算法求得的近似解集作为样本数据,利用其几何结构特性和Pareto占优关系构建稀疏回归模型和稀疏投影矩阵,以此度量目标的重要性并实现目标降维,或降维至指定目标数,或寻找满足给定误差阈值的最小目标子集。
(3)提出基于在线目标降维的多目标进化算法,该算法结合(1)和(2)的成果,将高维多目标优化问题通过降维转化为小规模优化问题。
论文分析了三种在线模式:(i)目标数固定递减;(ii)基于误差阈值的目标数自适应递减;(ii)依重要性指标进行目标整合。
结果表明,目标整合在线模式的性能最佳。
(4)以脉冲多普勒雷达波形设计为原型实例,研究以上方法有效性。
该实例可建模为9个目标的优化问题。
应用(1)中的基于ε指标多目标混合蛙跳算法,可获得较为满意的最优解集;应用(2)中的目标偏好排序评估算法,可获得与实际吻合的目标重要性排序;应用(3)中的在线目标降维算法,可获得优于(1)的最优解集。
多目标优化算法综述随着科技的发展和社会进步,人们不断地提出更高的科学技术要求,其中许多问题都可以用多目标优化算法得到解决。
多目标优化算法的发展非常迅速,当前已经有各种综合性比较全面的算法,如:遗传算法、粒子群算法、蚁群算法、模拟退火算法等。
本文将进一步介绍这些算法及其应用情况。
一、遗传算法遗传算法(Genetic Algorithm,简称GA)是一种源于生物学进化思想的优化算法,它通过自然选择、交叉和变异等方法来产生新的解,并逐步优化最终的解。
过程中,解又称为个体,个体又组成种群,种群中的个体通过遗传操作产生新的个体。
遗传算法的主要应用领域为工程优化问题,如:智能控制、机器学习、数据分类等。
在实际应用上,遗传算法具有较好的鲁棒性和可靠性,能够为人们解决实际问题提供很好的帮助。
二、粒子群算法粒子群算法(Particle Swarm Optimization,简称PSO)是一种基于群体智能的优化算法,其核心思想是通过群体中的个体相互协作,不断搜索目标函数的最优解。
粒子群算法适用于连续和离散函数优化问题。
和遗传算法不同,粒子群算法在每次迭代中对整个种群进行更新,通过粒子间的信息交流,误差及速度的修改,产生更好的解。
因此粒子群算法收敛速度快,对于动态环境的优化问题有着比较突出的优势。
三、蚁群算法蚁群算法(Ant Colony Optimization,简称ACO)是一种仿生学启发式算法,采用“蚂蚁寻路”策略,模仿蚂蚁寻找食物的行为,通过“信息素”的引导和更新,粗略地搜索解空间。
在实际问题中,这些target可以是要寻找的最优解(minimum或maximum)。
蚁群算法通常用于组合优化问题,如:旅行商问题、资源分配问题、调度问题等。
和其他优化算法相比,蚁群算法在处理组合优化问题时得到的结果更为准确,已经被广泛应用于各个领域。
四、模拟退火算法模拟退火算法(Simulated Annealing,简称SA)是一种启发式优化算法,通过随机搜索来寻找最优解。
多目标优化问题中的多目标进化算法研究随着科技的不断进步,我们对于各种问题的求解变得越来越复杂,其中很多问题涉及到多个目标。
在这些多目标问题中,我们不能简单地将目标值最小化或最大化,因为不同目标之间可能存在着矛盾或者不可调和的冲突。
因此,我们需要一种能够同时考虑多个目标的算法,这就是多目标进化算法。
多目标进化算法是一类基于进化的算法,其目的是为了在多个目标之间达到平衡,从而取得全局性的最优解。
与传统的单目标优化算法不同,多目标优化算法需要在目标空间中寻找最优解,而不是参数空间。
多目标进化算法被广泛应用于各种领域,例如工程设计、财务管理、交通规划等。
在多目标进化算法中,主要有两种基本方法:一种是帕累托最优方法,另一种是权衡方法。
帕累托最优方法的核心思想是基于帕累托最优解的概念。
帕累托最优解是指,在所有的解中,没有任何一个解能够同时优于它在所有目标上的效果。
控制变量法和快速非支配排序算法(NSGA-II)是最常用的帕累托最优方法。
控制变量法的主要思想是,基于现有的解,逐步调整某些变量,以寻找新的解。
NSGA-II则是对控制变量法的改进,它通过基于非支配排序来获取帕累托最优解。
在权衡方法中,通过构造一个加权目标函数来平衡不同目标之间的关系。
加权目标函数可以用目标函数的线性组合来表示。
然而,使用线性组合等简化方法是不够的,它们既没有考虑到目标函数之间的相互作用,也没有考虑到目标函数的形状。
这使得加权函数方法难以处理复杂的多目标问题。
为了更好地解决这个问题,一些新的方法已经被提出,例如模糊权重法、多目标粒子群优化算法等。
总之,多目标进化算法是一个重要的应用领域,对于许多实际问题都有着重要的意义。
在未来的研究中,应当进一步探索多目标进化算法的优秀特性以及应用,以满足人类不断增长、多样化的需求。
多目标的免疫进化算法免疫进化算法(Immune Evolutionary Algorithm,IEA)是一种模拟生物免疫系统的算法,它以免疫机制对生物系统中的非自身物质进行检测和消除为基础,将免疫机理与进化算法相结合,构建出一种新的计算智能算法。
在很多现实问题中,往往会涉及到多个目标的优化,而传统的进化算法只能针对一个目标进行优化,无法同时优化多个目标。
为了解决这一问题,学者们将多目标优化问题引入到免疫进化算法中,形成了多目标免疫进化算法(Multi-objective Immune Evolutionary Algorithm,MOIEA)。
多目标优化问题中存在多个矛盾的目标,而MOIEA的核心思想在于设计一个能够在多个目标之间平衡的适应度函数,通过协同进化的方式来实现多目标优化的目的。
MOIEA的优点在于它能够在同一时间内对多个目标进行寻优,避免了在设计中对单一目标的过度关注。
同时,该算法也弥补了其他多目标优化算法在处理不均衡目标时的缺陷,能够在目标数量不确定或不确定的解决方案存在的情况下进行优化。
在MOIEA算法中,主要有两种策略:一是Dominance Strategy (支配策略),二是Diversity Strategy(多样性策略)。
Dominance Strategy是MOIEA算法中的核心策略,通过将解集中的解根据目标函数值中的支配关系分为不同的支配层,实现对解集内部的排序和选择。
换句话说,Dominance Strategy将所有解分成不同的层级,第i+1层中所有解都被第i层的解所支配。
Diversity Strategy则是用来保证解集的多样性,确保解集中的解对应不同的目标方案。
这种策略可以通过(1)交叉操作、(2)变异操作、(3)聚合策略等方式来达到。
MOIEA算法已被应用于多个领域,包括电力网络规划、城市交通规划、纺织工艺优化、信号处理等,取得了不错的效果。
然而,MOIEA仍然存在一些问题,如处理高维问题时过程变得非常缓慢。
解决单目标和多目标优化问题的进化算法一、本文概述随着科技的发展和现实问题的复杂性增加,优化问题在我们的日常生活和工程实践中变得越来越重要。
特别是单目标和多目标优化问题,这两类问题在诸如工程设计、经济决策、物流规划等众多领域都有广泛的应用。
进化算法作为一种模拟自然选择和遗传机制的优化方法,在解决这类问题上展现出了强大的潜力和效率。
本文旨在探讨进化算法在解决单目标和多目标优化问题中的应用,分析其原理、特点、优势以及面临的挑战,并展望未来的发展方向。
我们将介绍进化算法的基本原理和主要特点,包括其如何模拟自然选择和遗传机制,以及其在优化问题中的通用性和灵活性。
然后,我们将重点讨论进化算法在解决单目标和多目标优化问题上的具体应用,包括算法设计、性能评估以及实际应用案例。
我们还将分析进化算法在解决这些问题时所面临的挑战,如计算复杂度、收敛速度、全局最优解的保证等,并探讨可能的解决策略。
我们将展望进化算法在解决单目标和多目标优化问题上的未来发展趋势,包括与其他优化方法的结合、自适应和动态调整策略的发展、以及在新兴领域如深度学习、大数据处理中的应用等。
我们期望通过本文的探讨,能够为读者提供一个全面而深入的理解,以推动进化算法在优化问题中的更广泛应用和发展。
二、单目标优化问题的进化算法单目标优化问题(Single-Objective Optimization Problem, SOOP)是优化领域中最基本也是最常见的一类问题。
在SOOP中,我们的目标是在给定的搜索空间中找到一个最优解,使得某个预定的目标函数达到最优值。
这个目标函数通常是一个实数函数,可以是线性的,也可以是非线性的,甚至可能是离散的或连续的。
进化算法(Evolutionary Algorithms, EAs)是一类基于自然进化原理的优化算法,特别适合于解决单目标优化问题。
EAs通过模拟自然进化过程中的选择、交叉、变异等机制,在搜索空间中逐步搜索并逼近最优解。
多目标进化算法
多目标进化算法(MOEA)是一种智能优化技术,用于解决带有多个目标的复杂优化问题。
它与单目标优化算法最大的不同在于,它可以同时优化多个目标函数。
多目标进化算法的设计主要集中在三个方面:种群初始化,适应度函数设计和更新策略。
种群初始化是多目标进化算法的第一步,它决定了多目标优化算法的初始状态。
在多目标优化算法中,一般采用随机策略来初始化种群。
具体而言,可以使用随机数发生器随机生成一组数据,并根据优化问题的要求,确定这些数据是否符合要求,然后将其作为种群的初始解。
适应度函数是多目标优化算法的核心,它负责对种群中每个个体进行评估,从而实现有效的进化。
多目标优化算法可以根据不同的优化目标设计不同的适应度函数,以更好地评估种群中每个个体的拟合度。
最后,多目标进化算法的更新策略是它的核心,它通过改变种群中每个个体的属性,使种群的整体质量得到改善。
多目标进化算法的更新策略可以采用相互作用策略,例如交叉、变异、选择等,以改善种群的整体质量。
总而言之,多目标进化算法是一种用于解决带有多个目标的复杂优
化问题的智能优化技术,它的设计集中在种群初始化、适应度函数设计和更新策略三个方面。
多目标进化算法的应用范围很广,它可以用于控制、计算机视觉、机器学习、模糊控制等领域。
多目标进化优化多目标进化优化是一种解决多目标优化问题的方法,通过模拟生物进化过程中的遗传机制和自然选择原理,搜索出问题的多个最优解。
在多目标优化问题中,目标函数存在多个冲突的目标,即优化其中一个目标会对其他目标产生不利影响,因此需要找到一种平衡各目标之间的关系的方法。
多目标进化优化算法主要包括以下几个步骤:1. 初始化种群:首先随机生成一定数量的个体作为初始种群。
每个个体由一组变量组成,表示问题的一个可能解。
2. 评估适应度:计算每个个体的适应度值,即各目标函数的值。
根据问题的特点,适应度可以采用不同的策略,如求和、加权求和、Pareto支配等。
3. 选择操作:根据个体的适应度值,选择出一部分较优的个体作为父代。
常用的选择算子有锦标赛选择、轮盘赌选择等。
4. 交叉操作:对选择出的父代个体进行交叉操作,生成子代个体。
交叉操作的目的是将不同个体的优点进行组合,产生具有更优性能的个体。
5. 变异操作:对子代个体进行变异操作,引入一定的随机性,产生多样性。
变异操作的目的是避免陷入局部最优解,保持种群的多样性。
6. 更新种群:将父代和子代个体合并,得到新一代种群。
7. 判断终止条件:判断是否满足终止条件,如达到最大迭代次数、适应度值足够接近全局最优解等。
8. 输出结果:输出种群中的非支配解,即Pareto最优解。
多目标进化优化算法的优势在于可以同时搜索出问题的多个最优解,而不仅仅局限于单个最优解。
它能够提供给决策者一个更全面的选择空间,使其能够根据需要进行更灵活的决策。
然而,多目标进化优化算法的缺点在于计算复杂度较高,需要进行大量的目标函数评估,而且对于目标函数之间的关系没有明确的约束。
总之,多目标进化优化算法是一种有效的解决多目标优化问题的方法,通过模拟生物进化过程,搜索出问题的多个最优解。
它能够在多目标之间找到一个平衡,为决策者提供多种选择。
但是在实际应用中,需要根据具体情况选择合适的算法,并进行参数调优,以达到最优解。
进化算法优化多目标优化问题进化算法(Evolutionary Algorithm, EA)是一种基于群体智能的搜索算法,用于解决优化问题。
这种算法模仿自然界的进化、选择和适应性机制,在搜索空间中寻找最优解。
进化算法具有广泛的应用,尤其在多目标优化领域有较好的表现。
本文将介绍进化算法在多目标优化问题中的应用及其优化策略。
一、多目标优化问题多目标优化问题(Multi-Objective Optimization, MOO)指在某一约束条件下最小化或最大化多个指标。
例如,设计一辆汽车时需要考虑速度、安全性、燃油效率、驾驶舒适性等多个因素,这些因素之间通常存在相互制约,需要在多个目标之间取得平衡和权衡。
多目标优化问题具有以下特点:1. 目标多样性。
多目标问题中可能存在不同种类的目标,如最大化效益和最小化成本。
2. 可行性约束。
不同目标之间通常存在冲突,需要在满足一定的限制条件下达成平衡。
3. 操作复杂性。
多目标问题通常包含多个变量参数,需要重复进行计算和优化,存在计算复杂度高和时间成本大的问题。
二、基本的进化算法进化算法的基本流程如下:1. 初始化种群。
根据问题的约束条件和初始值随机生成初始种群。
2. 评估适应度。
使用选择标准对种群个体进行评估,并确定优秀个体参与进化。
3. 进化操作。
通过交叉、变异等操作对优秀个体进行复制和变异,产生新个体并加入到种群中。
4. 判断终止条件。
根据预设的终止条件,判断是否需要结束进化。
5. 返回最优解。
找到最优解并返回。
三、进化算法优化多目标优化问题1. Pareto最优解在单目标优化问题中,最优解仅有一个,但在多目标问题中,最优解通常是由多个非支配解(Pareto Optimal Solution)组成的Pareto 最优解集合。
Pareto 最优解集合是指在约束条件下不可能找到更好解,同时不存在一种目标函数能优化所有目标的方案。
Pareto 最优解的求解过程也被称为 Pareto 最优化(Pareto Optimization)。
高维多目标优化算法的研究高维多目标优化算法是近年来人工智能领域的一个热点研究方向,尤其是在大数据时代,优化算法在各个领域都得到广泛的应用。
高维多目标优化算法可以帮助人们在庞大的数据集中,找到最优的解决方案,从而更好地解决实际问题。
在本文中,我们将从高维多目标优化算法的定义、研究历程、发展趋势等方面进行探讨。
一、高维多目标优化算法的定义高维多目标优化算法指在高维数据集中,同时优化多个目标函数的算法。
这种算法可以用来解决一些复杂的问题,例如多目标决策问题、数据挖掘、机器学习等,在实际应用中有着广泛的应用。
通常情况下,高维多目标优化算法是通过构建一个多目标优化模型,然后通过特定的搜索策略来寻找最优的解决方案。
二、高维多目标优化算法的研究历程高维多目标优化算法的研究历程可以追溯到1970年代,当时研究者开始利用遗传算法(Genetic Algorithm,GA)来解决多目标优化问题。
1980年代中期,研究者开始利用演化策略(Evolution Strategies,ES)来解决多目标优化问题,这使得这一领域得到了大量的关注和研究,同时也推动了多目标优化算法的发展。
随着时间的推移,越来越多的学者开始对高维多目标优化算法进行研究,同时也出现了越来越多的算法。
例如,1990年代中期,人们开始提出基于蚁群算法(Ant Colony Algorithm,ACA)的多目标优化算法。
随后,人们又提出了许多其他的多目标优化算法,例如,基于粒子群算法(Particle Swarm Optimization,PSO)的算法、基于差分进化策略(Differential Evolution,DE)的算法等等。
在当前,高维多目标优化算法已经成为人工智能领域的热点研究方向之一。
学者们不断探索、创新、改进算法,以期能够更好地解决实际问题。
三、发展趋势高维多目标优化算法的发展趋势主要表现在以下几个方面:1. 优化算法的并行化随着硬件技术的不断进步,优化算法的并行化已经成为研究的一个重要方向。
高维多目标进化算法的支配干系探究摘要:高维多目标问题已经成为了许多探究者感爱好的领域。
进化算法是针对这种问题而提出的,已经在许多应用领域取得了成功。
然而,对于高维数据,传统的多目标进化算法依旧存在一些问题,例如,收敛速度慢,容易出现局部最优等。
本文提出了一种改进的多目标进化算法,基于群体协作、随机游走和局部查找等策略,来提高算法的收敛速度和精度。
同时,本文还探究了高维多目标问题的支配干系,并提出了一种新的支配干系判定方法。
试验结果表明,本文提出的算法比传统算法具有更好的性能。
关键词:高维多目标问题,进化算法,支配干系,群体协作,随机游走,局部查找1. 引言高维多目标问题是指存在多个决策变量和多个目标函数的优化问题,这种问题在浩繁领域中都是重要的,例如,工程设计、金融投资、医疗决策等。
由于目标函数之间的互相影响和非线性干系,这种问题往往分外难以求解,需要使用特殊的优化算法。
进化算法是一种基于生物进化原理的优化算法,已经被广泛应用于多目标优化问题中。
多目标进化算法通过维护一种非劣解集合来描述问题的多个解,其中的每个解都不能被其他解所支配。
然而,对于高维数据,多目标进化算法依旧存在一些问题,例如,收敛速度慢,容易出现局部最优等。
因此,探究高维多目标进化算法的支配干系对于提高算法的性能具有重要的意义。
2. 相关工作对于高维多目标问题,已经有许多探究者提出了各种优化算法。
其中,一些算法基于进化算法,例如,NSGA-II、MOEA/D、SPEA2等。
这些算法通过维护一个非劣解集合来近似最优解。
然而,这些算法在处理高维数据时往往效果不佳,需要进行特殊的处理。
另一些算法则基于群体智能,例如,粒子群算法、人工鱼群算法等。
这些算法通过模拟生物群体行为来查找最优解。
然而,这些算法往往存在收敛速度慢的问题,需要进行改进。
3. 方法为了解决高维多目标问题的优化问题,本文提出了一种改进的多目标进化算法。
该算法基于群体协作、随机游走和局部查找等策略,来提高算法的收敛速度和精度。
高效稳健的多目标进化算法研究在计算机科学领域中,优化问题一直是一个重要的研究领域。
解决优化问题的方法有很多,其中一种常见的方法是使用进化算法。
进化算法建立在生物界进化过程的基础上,通过生成随机种群,通过不断的进化过程,从而找到一个或多个最佳解。
多目标进化算法是一种特殊的进化算法,用于解决具有多个优化目标的问题。
高效稳健的多目标进化算法是指在解决多目标优化问题时,算法能够以高效的速度找到较优解,同时保持算法的稳健性,即算法应对各种问题的能力。
本文将重点介绍高效稳健的多目标进化算法的研究现状和发展趋势。
1. 多目标优化问题多目标优化问题是指存在多个相互矛盾的优化目标的问题,例如在工程设计中,需要同时考虑成本、质量和效率等问题。
在现实生活中,人们经常遇到这种情况。
解决多目标优化问题的目标是找到一组最佳解决方案,即不能改善一项目标而不损害其他目标的解决方案。
解决多目标优化问题的方法有很多种,包括传统的最优化方法、约束优化方法、演化算法和贝叶斯优化方法等。
其中演化算法是一种常用的方法。
2. 进化算法进化算法是一种基于进化过程的优化方法,其主要思想是通过类似于传统生物进化的适者生存机制,逐步优化解决方案。
进化算法分为遗传算法、进化策略、遗传规划、差分进化等等。
进化算法的一般流程如下:首先通过某种方式初始化一批数值(称为种群)作为可能的解决方案,然后对这些解决方案进行评估,计算适应度函数,适应度函数是一种衡量解决方案好坏的指标。
然后,从当前种群中选择适应度较高的解决方案,产生新的解决方案,再计算适应度,通过进化的方式重新生成新的种群。
重复这个过程,直到满足指定的终止条件。
3. 多目标进化算法多目标进化算法是将进化算法应用于解决多目标优化问题的方法。
在多目标进化算法中,通常考虑同时优化多个目标函数。
在多目标进化算法中,由于不是单个目标函数,因此我们需要确定一个比较优的解集合,该解集可以尽可能地接近理论最优解集,而不仅仅是单个解决方案。
解决单目标和多目标优化问题的进化算法解决单目标和多目标优化问题的进化算法进化算法是一类基于自然进化和生物遗传过程的优化算法,通过模拟遗传、变异和选择等各种进化操作来搜索解空间中的最优解。
进化算法以其简单、鲁棒、全局搜索能力强等优点,被广泛应用于解决各种优化问题,包括单目标和多目标优化问题。
单目标优化问题指的是在给定的约束条件下,寻找一个最佳解来优化某个目标函数。
传统的进化算法中,如遗传算法(Genetic Algorithm, GA)和进化策略(Evolutionary Strategy, ES)等,都是为解决单目标优化问题而设计的。
这些算法通过适应度函数来评估每个个体的适应度,并根据适应度进行选择、交叉和变异操作,从而不断迭代生成新的解,并最终找到最优解。
然而,真实的问题往往包含多个相互矛盾的目标函数。
在多目标优化问题中,我们需要在有限的资源条件下寻找一组最优解,使得这些解在多个目标函数上达到一个均衡点,即无法再通过改变其中一个目标而得到改进。
在面对多目标优化问题时,传统的单目标优化算法的局限性就显现出来,因为它们只能得到一个最优解,无法处理多个目标同时进行优化的情况。
为了解决多目标优化问题,研究者们提出了多目标进化算法(Multi-objective Evolutionary Algorithm, MOEA)。
MOEA通过维护一组个体的解集,称为Pareto前沿(Pareto front),来表示问题的多个最优解。
Pareto前沿是一组非劣解,即无法通过改进其中一个目标而不损害其他目标。
MOEA通过适应度评估、选择、交叉和变异等进化操作来不断改进个体的解,使得解集中的个体逐步向Pareto前沿逼近。
MOEA主要有以下几种常用的算法:多目标遗传算法(Multi-objective Genetic Algorithm, MOGA)、多目标进化策略(Multi-objective Evolutionary Strategy, MOES)、多目标粒子群优化算法(Multi-objective Particle Swarm Optimization, MOPSO)等。
高维多目标进化算法二、文献选读内容分析及思考(一)Borg算法Borg算法是基于ε-MOEA算法(Deb,2003)的一种全新改进算法[32],下面将从创新点、原理、算法流程和启发思考四方面进行阐述。
1. 创新点1)在ε支配关系的基础上提出ε盒支配的概念,具有能同时保证算法收敛性与多样性的特点。
2)提出了ε归档进程,能提高算法计算效率和防止早熟。
3)种群大小的自适应调整。
4)交叉算子的自适应选择。
由于处理实际问题时,是不知道目标函数具有什么特性,前沿面如何,在具有多个交叉算子的池子里,根据进程反馈,选择不同的交叉算子,使产生的后代具有更好的特性针对要研究的问题。
2. Borg算法原理1)ε盒支配:通过对目标空间向量的每一维除以一个较小的ε,然后取整后进行pareto支配比较。
这样的支配关系达到的效果是把目标空间划分成以ε为边长的网格(2目标时),当点处于不同的网格时,按pareto支配关系比较;当处于同一网格时,比较哪个点距离中心点(网格最左下角)最近。
这样一来,网格内都只有一个点。
2)ε归档进程如图1所示,黑点表示已经归档的,想要添加到档案集的新解用×表示,阴影表示归档解支配的区域。
当新解的性能提升量超过阈值ε才属于ε归档进程。
比如解1、解2加入归档集属于ε归档进程,解3加入归档集就不属于ε归档进程。
图1 ε支配网格在这个过程中设置了一个参数c,表示每一代中加入归档集解得个数,每隔一定迭代次数检测c有没有增加,如果没有增加表明算法停滞,重启机制启动。
3)重启自适应种群大小:重启后的种群大小是根据归档集的大小设置。
γ表示种群大小与归档集大小的比值,这个值也用于第二步中,如果γ值没超过1.25,重启机制也启动。
启动后,γ人为设定为固定值,种群被清空,填充归档集的所有个体,不足的个体是随机选取归档集中个体变异所得。
与之相匹配的锦标赛比较集大小是归档集大小乘以固定比值τ。
4)交叉算子的自适应选择摒弃以往采用单一的交叉算子,采用包含各类交叉算子的池子,比如有K种交叉算子,选择概率最开始是相等的,设n表示各类交叉算子产生的后代属于ε归档进程所得个数,个数越多,选取相应交叉算子的概率就越大,逐渐趋于选择解决未知现实问题的交叉算子。
3. Borg算法总体流程通过交叉算子的自适应选择选择一种交叉算子,假设所选交叉算子需要K 个父代,1个父代在归档集中按均匀分布选择,K-1个父代从种群中按锦标赛选择(大小按上述第3步中计算),交叉产生一个后代,如果这个后代pareto支配种群中一个或多个个体,则随机的取代一个;如果被种群中的任一个体支配,则不能加入种群;如果互不支配,也是随机的取代种群中的一个。
而加入归档集,是按照上述第2步实施的。
如此循环一定代数之后,看达没达到第3步重启的条件,达到则重启过程开始,直至满足终止条件。
4. 思考1)ε盒支配时,同一网格内的点只是比较离中心点距离最近的,这就有一个不足,最近的不一定是非支配解,离的远的点有可能还支配它,我觉得还需要比较一下哪个解优的目标维数多。
2)设计一种云交叉算子,加入到交叉算子的池子里,或是参数控制云交叉算子替换其中的能达到类似效果的几种算子,便于统一。
(二)基于模糊支配的高维多目标进化算法1. 算法简介基于模糊支配的高维多目标进化算法[33]是对模糊支配关系的一种改进,2005年M. Farina首次提出的模糊支配,其隶属函数是一条正态分布函数,如图2所示,而此文的隶属函数是一条半正态分布函数,表达的概念更加清晰。
图2 正态隶属函数对于最小化问题,归一化后的解A(a1,a2,...,a M),B(b1,b2,...,b M)如果目标向量的某一维上的差量(a i-b i)达到-1,则a i好于b i的程度为1,即pareto支配关系下a i支配b i;如果差量(a i-b i)是1,则pareto支配关系下b i支配a i。
A模糊支配B程度为每一维差量映射下的隶属度之积,与种群中其他解进行比较,所得隶属度相加即为A解在整个中群众的性能好坏程度,相当于NSGA-II中的非支配排序,只是这里的等级程度更加细分,然后还得设置一个阈值α,即模糊支配隶属度达到多少才能是最优解,也就是NSGA-II中的非支配排序等级为1的解。
设定这个值是关键,此文献也对这个值得选取进行了实验说明,针对不同的问题选取不同的值,但是还没能达到根据问题特性自适应调整。
2. 思考1)既然隶属度函数不是一成不变的,想用云模型确定隶属度,借鉴张国英《高维云模型及其在多属性评价中的应用》构造一M维云模型,它的作用是输入M维差量映射为一维的模糊支配隶属度u,无需像上文中求出每一维隶属度再相乘。
2)由于阈值α不好确定,可不可以根据归档集的大小取前N个,找到使个体数量大于等于N的u值为α。
(三)基于网格支配的高维多目标进化算法GrEA[34]也是针对ε-MOEA算法进行改进的,作者认为ε-MOEA算法中的网格划分是基于个体的,如果个体分配不均匀,也就不能得到分布性好的最优前沿,而且网格的大小也不能随着目标空间的特性而自适应调整。
1. 支配关系创新grid-dominance,这种支配关系是基于空间区域划分网格,就是在当代种群中找出每一个目标函数上的最大值与最小值(下图上行),然后根据这两个值计算出这个目标函数的网格上下界值(下图下行)。
人为设定每一个目标函数需划分的段数div,是一个固定的值,这样就使得收敛性与多样性的要求随着算法进程自适应调整,比如说刚开始时目标空间的个体分布比较广,就需要大的网格来选择个体,随着算法深入,个体更加集中于Pareto前沿区域,就需要小的网格区分个体,更加强调个体的多样性,因此这样动态的网格划分更能体现算法的进程。
另外,ε-支配强调个体生死,只有非支配才能加入归档集;而grid dominance不同,它更强调个体的先后,非支配个体只是先于支配个体进入归档集,支配个体还是有机会加入归档集,这在一定程度上保留了边界点,而ε-MOEA算法会丢失边界点。
图3 网格分段示意图2. 适应度值指派创新本文提出了适应度值指派的三个指标grid ranking (GR)、grid crowding distance (GCD)和grid coordinate point distance(GCPD),GR和GCPD是收敛性评价指标,GCD是多样性评价指标,网格指标如图4所示。
GR表示个体所处网格各维目标函数坐标之和,相当于将目标向量各维相加,只不过这里是将函数值映射为所处网格坐标值之和。
比如下图A点的网格坐标为(0,4),则GR=0+4=4。
GCD是网格拥挤距离,以往的网格拥挤距离都是在一个网格之内的,这样就不能反映分布性了,此处的GCD还考虑临近网格的个体,用网格坐标的差量之和评估,之和越小的GCD值就越大,多样性就越差。
如下图C的邻居是B、D,F的邻居是E、G。
GCPD表示的是同一网格内与中心点的距离,这一点与ε-MOEA中相同。
比较的先后准则是GR,GR相同比较GCD,GR、GCD都相同则比较GCPD。
图4 网格指标示意图3. 归档策略的改进以往的归档策略都是基于适应度值的支配关系选择删除,这样会导致解集多样性的缺失,因为相邻的点具有相似的适应度值,会使他们同时被选择或删除,比如上图的E、F、G,这样多样性会得不到保证。
本文作者对归档策略进行了改进,就是当一个个体加入归档集时,在归档集中和它相关的个体GR值会受到惩罚,相关的个体包括:1. 处于同一网格坐标 2. 被网格支配的 3. 邻域个体,惩罚力度依次减小。
(四)基于坐标转换的高维多目标进化算法针对原始的密度评估算子在高维多目标中会出现不能很好的兼顾收敛性与多样性,解集往往会有很好的多样性而收敛性差的缺点,论文设计了一种包含收敛性的密度评估算子shift-based density estimation (SDE)[35]。
比如图5中的A点,按照基于pareto支配的多目标优化算法来看,是非支配解切多样性好于B、C、D,但很明显得看出A点收敛性不及BCD。
SDE是将各维目标函数上小于A点对应维的值转化为A点那一维的函数值,如下图所示。
转换之后A点的密度值较大,而BCD密度值较小,符合所考虑的情况图5 坐标转换示意图从图6的四图中可以看出,只有收敛性和多样性都好的个体,其SDE值小,即其值不仅体现密度信息,而且将收敛性信息也包含在内。
SDE是一种通用的密度评估算子,可以将其植入NSGA-II,SPEA2和PESA-II中。
图6 拥挤密度示意图(五)基于角点排序的高维多目标进化算法本文是在非支配排序上的改进。
在高维多目标优化问题中,随着目标维数的增加,非支配解之间的比较次数是非常大的,因此论文提出了角点支配。
所谓的角点指的是在M维目标空间中只考虑其中k个目标,在本文中只考虑一个目标函数上的,因为在一个目标函数上最好的点肯定是非支配解。
二维、三维角点分别如下图所示。
图7 二维、三维角点示意图找到角点后,所有被角点支配的点就不用比较了,大大减少评价次数。
而且本文还指出非支配解排序的比较次数应该是精确到每一维的目标函数的比较上,因为每两个解之间目标函数的比较次数从2到M,也就是说不同的两个解之间比较所花费的计算量是不同的,只计算一个解与其他解的比较次数是不对的。
角点支配排序大致过程如图8所示。
图8 角点非支配排序图8是2维目标函数的情况,首先得找出每一维目标函数上最好的点,如上图A 中的白点,标记他们所支配的点如上图阴影区域,这些点在当前等级中就不考虑排序了,在剩下的点中再寻找两个角点,直到将所有的点都标记,如图B ,B 中白点表示等级1,等级2、3依次进行。
(六)NSGA -III 算法系列文献1. MO -NSGA -II为了适合解决高维多目标问题,Kalyanmoy Deb 针对NSGA -II 的缺点,提出了MO -NSGA -II (many -objective NSGA -II ),这是NSGA -III 的雏形。
MO -NSGA -II 的基本框架和NSGA -II 差不多,不同之处在于精英选择机制上,因为原有的选择机制对快速增加的非支配解已经没有选择压力。
MO -NSGA -II 是一种基于参考点的多目标算法,放置分布性好的参考点,使得到的非支配解靠近这些参考点,就能得到分布性好的最优前端。
让我们回顾一下NSGA -II ,有一个大小为N 的当前种群P t ,由他产生的子代种群Q t ,大小也为N ,然后对P t 、Q t 的合集R t 进行快速非支配排序F 1、F 2...Fi,将这些点按等级加入下一代种群P t+1,通过对F l 中个体计算拥挤距离按降序排列,依次加入P t+1,直到种群大小为N 。