多模态多目标差分进化算法求解非线性方程组
发布时间:2021-09-02 01:28
针对当前算法在求解非线性方程组时面临解的个数不完整、精确度不高、收敛速度慢等问题,提出一种多模态多目标差分进化算法。首先将非线性方程组转换为多模态多目标优化问题,初始化一个随机种群,并对种群中全部个体进行评价;然后通过非支配解排序和决策空间拥挤距离选择机制,挑选种群中的一半优质个体进行变异,在变异过程中采用一种新的变异策略和边界处理方法以增加解的多样性;最后通过交叉和选择机制使优质个体进行进化,直到搜索到全部最优解。在所选测试函数集和工程实例上的实验结果表明,该算法能够有效地搜索到非线性方程组的解,并通过与当前四种算法进行比较,该算法在解的数量和成功率上具有优越性。
【文章来源】:计算机应用研究. 2019,36(05)北大核心CSCD
【文章页数】:6 页
【部分图文】:
图2个体预选择机制
醴乓蜃?F的取值是[0,1]。就传统差分进化算法而言,对于超出了搜索边界的个体往往将其置为边界值;而对于MMODE算法,该算法加入了一种新的边界处理方法,它将停留在边界上的个体重新分布在整个决策空间中,目的是在搜索过程中保证解的多样性。这种新的变异策略表达式为Vi,G=Xri1,G-F×(Xri2,G-Xri3,G)-F×(Xri4,G-Xri5,G)(9)若采用这种变异策略变异后新个体仍然超出边界,就将该个体随机分布在种群中。如图3所示,变异过程中的个体有三种情况:对于情况1,因为不出边界,直接采用式(8)进行变异,变异前个体P变异成个体P1;对于情况2,首先采用式(8)进行一次变异,所得变异个体超出边界,此时利用变异策略式(9)重新进行二次变异,新变异个体没有超出边界,所以个体P变异成个体P1后再次变异成个体P2;对于情况3,二次变异之后仍然超出边界,将个体重置为种群内随机个体,所以个体P变异成个体P1再次变异成个体P2,最后设置为种群中的随机个体O。图3变异边界的三种情况和处理方法4实验及结果4.1测试函数描述为了测试MMODE算法的有效性,选择文献[12]中的五个测试函数进行测试,分别是F12、F15、F19、F27、F38。这五个测试函数解的个数如表1所示。表1被测试的五个非线性方程组函数F12F15F19F27F38解10164124这五个测试函数的数学表达式和解的具体信息如下:问题1(F12):sin(x31)-3x1x22-1=0cos(3x21x2)-x32{
本文编号:3378037
【文章来源】:计算机应用研究. 2019,36(05)北大核心CSCD
【文章页数】:6 页
【部分图文】:
图2个体预选择机制
醴乓蜃?F的取值是[0,1]。就传统差分进化算法而言,对于超出了搜索边界的个体往往将其置为边界值;而对于MMODE算法,该算法加入了一种新的边界处理方法,它将停留在边界上的个体重新分布在整个决策空间中,目的是在搜索过程中保证解的多样性。这种新的变异策略表达式为Vi,G=Xri1,G-F×(Xri2,G-Xri3,G)-F×(Xri4,G-Xri5,G)(9)若采用这种变异策略变异后新个体仍然超出边界,就将该个体随机分布在种群中。如图3所示,变异过程中的个体有三种情况:对于情况1,因为不出边界,直接采用式(8)进行变异,变异前个体P变异成个体P1;对于情况2,首先采用式(8)进行一次变异,所得变异个体超出边界,此时利用变异策略式(9)重新进行二次变异,新变异个体没有超出边界,所以个体P变异成个体P1后再次变异成个体P2;对于情况3,二次变异之后仍然超出边界,将个体重置为种群内随机个体,所以个体P变异成个体P1再次变异成个体P2,最后设置为种群中的随机个体O。图3变异边界的三种情况和处理方法4实验及结果4.1测试函数描述为了测试MMODE算法的有效性,选择文献[12]中的五个测试函数进行测试,分别是F12、F15、F19、F27、F38。这五个测试函数解的个数如表1所示。表1被测试的五个非线性方程组函数F12F15F19F27F38解10164124这五个测试函数的数学表达式和解的具体信息如下:问题1(F12):sin(x31)-3x1x22-1=0cos(3x21x2)-x32{
本文编号:3378037
本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/3378037.html