论文部分内容阅读
从遗传算法和进化策略的提出至今,科研工作者不断地提出了很多不同的元启发算法去解决全局优化问题,这些算法展现出了很强的搜索能力并找到了令人满意的解。然而,随着科学和计算的进步,对于全局优化问题,函数自变量的个数由少于十个逐渐转变为成百上千,越来越多的问题从传统的小规模优化转向更加复杂的大规模优化。随着问题维度的增加,搜索空间变大,在有限时间内去寻找全局最优解,这些算法开始面临“维度灾难”,传统的搜索算法在处理这些问题时效果变得很差。这些算法效果变差的原因主要有两点:第一,随着变量维度的线性增加,搜索空间的大小呈指数增加趋势;第二,随着变量维度的增加,很多问题的性质发生了改变。因此,大规模全局优化问题的求解成为目前此研究领域的一个关键问题。而大规模优化问题可以根据测试函数的公式已知与否分为白盒优化和黑盒优化问题,白盒问题即已知求解函数的公式,而黑盒问题则是只知道函数的输入和输出,去求解函数的全局最优解。首先,随着协同进化框架的提出,“分而治之”的思想成为解决大规模优化的一个关键点。分而治之的主要方法是把一个大规模的全局优化问题分解成若干个小规模问题,再分别去优化这些小规模问题。而其中研究的主要方向则为怎样把大规模问题分解成为小规模问题,即就是基于变量的相关性对变量进行分组。如果一个变量是独立的,那么它的优化则不会影响到别的变量的优化,在对其他变量进行优化时,这些不相关变量可以被当作常量进行处理。而把相关的变量分到一组进行优化也能够很好的提高优化效果。本文提出了一个基于分治策略的针对大规模全局优化问题的新的分组方法,使用基于部分相关系数的方法判断不同维度之间的相关性并在进化过程中对变量进行分组。并且分别提出使用一次相关性判断和多次相关性判断的方法去处理分组问题。同时,采用协同进化的框架,对已完成分组变量按组用进化算法分别进行优化。其次,在大规模优化问题中,在对评价次数有明确规定的情况下,为了节约评价次数并加快问题的收敛速度,本文对带近邻搜索的自适应差分进化算法(SaNSDE)进行改进。在SaNSDE的基础上加入变焦策略,并提出一种新的变异策略。在优化过程中,不断缩小每一维变量的搜索空间的大小,并配合滑动窗口防止进化过程中的过早收敛到局部最优解,加快收敛到全局最优解的速度。为了验证提出的算法的有效性,首先在小规模测试数据集上对基于SaNSDE的变焦变异算法进行测试。实验结果表明,在小规模测试函数上,基于SaNSDE的变焦算法获得了良好的结果。其次,在大规模测试函数上分别对变焦算法,一次相关性判断算法和多次相关性判断算法进行测试,并对实验结果予以分析说明。实验结果表明,本文提出的算法在解决大规模问题上展现出了很好的有效性和计算效率。