本文是一篇软件工程论文,本文以此思想为基础,从改进现有算法,到提出新型算子自适应策略,最后使用进化算法应用于工程问题的求解作为主要研究路线。
第一章 绪论
1.1 研究背景及意义
随着科技的进步和社会的发展,在工程技术、学术研究以及各种商业管理领域,人们面临的优化问题愈发复杂。其中,多目标优化[1](MOP)是一类非常复杂的优化问题,隶属于NP-Hard问题,难以在较短的时间内求得精确解。多目标优化问题往往由若干相互冲突的目标函数构成,这就意味着需寻找到能同时优化所有目标的解,但在某个目标上的优化往往伴随着在其他目标上的妥协,因此不存在某个解可以同时最优化所有目标,取而代之的是存在一系列折衷最优解,它们能够在所有目标上达到整体的平衡。群智能优化算法具有求解效率高,鲁棒性好等优点,因此在处理此类问题时被广泛采用。虽然所得解并非绝对精确,但在多数情况下仍然能满足人们的实际需求,因此结果在工程实践中具有重要参考意义。
进化算法是群智能优化算法中应用最为广泛的一类算法,数年来学者们对其进行了深入而广泛的研究,无数种进化算法相继被提出以解决不同种类型的优化问题。在所有种类的进化算法中,选择和进化机制对算法的整体表现起到决定性作用。选择定义了挑选个体进入下一代种群的规则,而进化则规定个体如何通过与其他个体,或是整个种群的互动来产生子代。在进化算法发展的过程中,学者们相继提出多种进化算子,但各类算子拥有其独特的优势,适用于处理不同的优化问题或是进化的不同阶段。大量实验表明,没有哪一种算子可以完美解决所有类型的问题。在最近10年里,学者们开始着重研究基于算子自适应策略(AOS)的进化算法[2],这些算法的核心在于挑选若干种进化算子组成算子池,然后精心设计一种算子选择规则,从而在进化的过程中动态地选择最优算子参与到个体的进化。相较于传统进化算法使用单一进化算子,基于算子自适应策略的进化算法取得了更好的效果,一方面得益于它们在进化过程中根据实际情况灵活使用不同类型的进化算子,不容易受到特定问题的局限,具有更强的泛化性,另一方面,使用不同算子进化个体客观上增强了种群的分布性,有利于提升算法的整体表现。当前,学者们普遍根据各算子的历史表现来设计算子自适应规则,这一思路的关键在于如何对算子表现进行准确量化。在单目标进化算法中,根据个体进化前后的适应度提升数值可以精确衡量算子的表现。但是,当拓展到多目标进化算法(MOEA)时,由于个体具有多维适应度,这一方案无法被直接应用,学者们转而提出一系列间接或折衷的方案。到目前为止,该领域还未形成共识,仍有进一步的研究空间。
................................
1.2 国内外研究现状
1.2.1 进化算子
进化算子作为进化算法中的搜索引擎,负责在整个决策空间中搜索可行解,因此它对算法的表现起到决定性作用。对于MOEA而言,差分进化[3](DE)与模拟二进制交叉[4](SBX)是2种最常被使用的进化算子。DE最早是由Storn和Price等人于1997年提出,主要用于解决实数编码优化问题。其核心思想是利用种群个体间的差异来指导进化。DE结构简单,能够兼顾收敛性与分布性。DE产生的子代与父代差异较大,因此算子具有强大的全局搜索能力,这一特性使得它被拓展到解决多目标优化问题中,大量研究表明,DE在求解具有复杂PS优化问题时具有较好的表现,尤其擅于提升算法的分布性。针对DE的优化从来没有停止过,且产生多种多样的变种。JADE[5]以DE/current-to-best/1为基础,对其变异策略进行修改,同时引入外部归档集,对差分因子和交叉率提出自适应策略,SHADE[6]又在JADE基础上做进一步优化,它更加关注历史成功个体所用参数并将它们应用于当前进化。Swagatam[7]等人又在DE/current-to-best/1的基础上,引入邻域的概念对其进行改进。而在将DE应用到MOEA后,Qiu等人基于方向引导技术[8],提出跨世代自适应参数的差分进化[9](ACGDE),Xie[10]等人在MOEA/D中引入精英保留的归档集,并基于此提出EDE变异策略来加快种群的收敛速度。总而言之,DE变种层出不穷,且在求解特定问题时都取得了较好的效果。
SBX是由Deb等人提出的一种基于实数编码的重组算子,原本应用于遗传算法(GA)中,它通过两个父代个体,对其染色体上的基因进行逐项混合来产生子代。在应用于MOEA后,SBX能够很好地处理绝大多数MOP。随后,Deb等人又针对SBX的超参数设置进行深入的探讨,提出自适应参数的SBX[11]。不同于DE具有旋转不变性的特点,SBX容易受到坐标轴旋转的干扰,针对此问题,Pan[12]等人提出ARSBX用于求解旋转的多目标优化问题。在求解高维多目标优化问题(MaOP)时,SBX算子更是凭借其在稀疏决策空间中高效的搜索效率而被广泛使用。此外,针对排列组合优化问题、二进制编码优化问题,SBX均可以胜任,其应用范围较DE而言更为广泛。
.............................
第二章 多目标进化算法及相关研究
2.1 多目标进化算法
MOEA由早期的遗传算法(GA)、进化策略(ES)和进化规划(EP)算法发展而来,是一种典型的群智能优化算法,专门用于解决多目标优化问题。与其他群智能优化算法类似,MOEA的核心仍然是选择和变异,但其拥有更为复杂的选择策略和更加丰富的变异规则。
软件工程论文怎么写
图2.1展示了群智能优化算法的一般流程,主要分为编码、初始化、交叉与变异、适应度评估、选择等5个重要步骤。下面将针对各步骤在MOEA中的具体实施方式依次展开进行介绍。
(1)编码
个体的基因编码方式取决于具体的优化问题,常用的编码方式有实数编码、二进制编码、排列组合编码和混合编码。个体的编码规则将直接影响问题的求解效果,巧妙的编码可以压缩决策空间的大小,使得问题更加容易求解。一般地编码原则为:(1)尽可能减少个体染色体中所包含的基因数,从而降低决策空间的维度;(2)相似个体间的基因也存在高相似性,不存在类似于海明悬崖(相似个体编码却大不相同)的情况。
(2)初始化
初始化是MOEA执行的第一步,是指在决策空间中产生一组初始解。初始化方法多种多样,常用的方法有随机初始化、超拉丁采样等。
.............................
2.3 基于分解的多目标进化算法
MOEA/D使用一组权重向量将一个MOP问题分解为一系列的单目标优化问题,并对它们同时进行优化。理论上来讲,任何分解方法都是可行的,主流方法有:权重聚合法、Tchebycheff聚合法和边界(PBI)聚合法。权重聚合法对PF形状敏感,具有较大局限性,因此不常使用,Tchebycheff聚合法通常用于二维或三维目标的优化问题,PBI聚合更适合用于求解高维多目标优化问题。
MOEA/D试图同时解决????个子问题,若MOP是连续函数,则其子问题????(????|????????,????∗)也连续,因此若两个子问题对应的????????互相接近,那么它们在决策空间中所对应的解也彼此相邻。基于这一分析,MOEA/D根据权重向量间的欧氏距离,为各子问题定义了大小为????的邻域子问题,并在此邻域内对所有的子问题同时优化,主要步骤包含父代挑选,子代生成和个体替换等操作,算法2.1描述了MOEA/D的整体流程。
对MOEA/D分析时间复杂度,以一代进化为例,首先外层循环共执行????次,在每一次循环中需将子代与????个邻域内子问题对应个体的适应度进行比较,而通过子问题目标函数????(????|????????,????∗)计算适应度的时间复杂度为????(????),????为目标个数。因此MOEA/D算法在一代进化中的时间复杂度为????(????????????)。与NSGA-II时间复杂度????(????????2)对比,由于????远小于????,因此MOEA/D相对于NSGA-II具有极高的求解效率。事实上,在所有MOEA中,MOEA/D的时间复杂度最低,且在求解连续函数的多目标优化问题时效果最好。
............................
第三章 基于双重贡献分配机制的进化算法研究 .............................. 19
3.1 基于搜索惯性的差分进化 ...................................... 19
3.2 双重贡献分配标准 .................................. 21
第四章 基于决策树的算子自适应研究 ........................... 33
4.1 数据的特征与标签 ................................... 33
4.2 分类器训练 ......................................... 35
第五章 自适应算子进化算法在参数优化中的应用 ........................ 48
5.1 车辆温差发电参数优化问题 ......................... 48
5.1.1 车辆温差发电简介 ................................... 48
5.1.2 参数优化问题 ........................... 49
第五章 自适应算子进化算法在参数优化中的应用
5.1 车辆温差发电参数优化问题
5.1.1 车辆温差发电简介
在汽车领域,随着电子化进程的推进,车载电器产品不断增加,然而传统汽车发电系统效率极低,额外增加了整车的油耗。另一方面,燃烧化石燃料产生的热量大多通过汽车尾气被浪费,车辆能量未能得到高效的管理。温差发电(也称热电发电)是解决这一问题的其中一种方法,该技术主要利用了半导体的塞贝克效应来将热量转化为电能。塞贝克效应指出:在两种不同材料的导体或导电类型不同的半导体构成的回路中,当两个连接点温度不同时它们之间会产生感应电动势。由于每个PN结之间产生的电动势十分有限,因此在实际使用时会将多个PN结单元串联或并联在一起组成温差发电模块,如图5.1所示。
软件工程论文参考
温差发电在航空航天领域的应用已经有半个世纪的历史,但由于受到材料、体积、成本等因素的限制,未能在家用汽车领域中大范围普及。近年来,随着材料科学的发展以及能源问题日益突出,温差发电的车辆应用成为学术研究的前沿[59]。到目前为止,提出的模型或是实物仍然面临发电效率低下,发电功率小的问题,这也导致车载温差发电无法真正落地应用。当前,针对车载温差发电机的研究主要有以下三个方向:(1)使用具有更高热电优值的材料制作PN结;(2)对温差发电机的结构及参数进行系统优化;(3)设计温差发电系统模块的大小及形状,使之能与车辆紧密配合。
....................
第六章 总结与展望
6.1 总结
随着科技的发展和社会的进步,人们遇到的多目标优化问题愈发复杂。进化算法作为解决此类问题的利器,也正遭受着一次又一次的考验。使用单一进化算子无法很好地解决所有类型的优化问题,因此将多种进化算子结合协同进化种群成为学术界的普遍共识。本文以此思想为基础,从改进现有算法,到提出新型算子自适应策略,最后使用进化算法应用于工程问题的求解作为主要研究路线,具体工作如下:
(1)对于现有算子自适应算法的诸多不足,提出一种基于双重贡献分配的多目标混合算子进化算法(DCA-MOEA/D)。其核心思想在于引入额外的外部归档集,并使用NSGA-II中非支配排序策略对其进行更新和维护,并将其作为最终解输出。使用基于个体标量提升率和个体存活率的两种贡献分配机制为各算子分配贡献值,并以此为算子选择的依据。此外,算法池中加入了SiDE算子,提高了各算子间的配合并缩减了算子池大小。通过与其他先进的MOEA在23个测试函数上的对比实验,证明了所提算法的竞争力和优势。
(2)对于传统类型的算子自适应策略无法精确为各个体选择最为合适的进化算子,引入机器学习领域的决策树模型,提出一种基于决策树模型的算子自适应进化算法(MOEA/D-CTAOS)。该算法以进化过程中的历史数据为样本,在每代对决策树进行训练,并通过分析参与进化的个体之间的位置关系,为各算子的表现进行预测并划分等级以此来为每个目标个体选择最为合适的进化算子。实验表明,与其他同类算子自适应的进化算法和具有代表性的MOEA/D变种对比,所提算法在19个测试函数上具有显著优势。
(3)为验证本文所做研究在解决实际工程问题时的有效性,将其应用于解决车辆温差发电机的结构优化问题。通过与其他进化算法的对比,确定了所提算法的优势,并给出了合适的参数设置建议。
参考文献(略)