一种基于模拟退火与高斯扰动的烟花算法的制作方法

文档序号:12464483阅读:来源:国知局

技术特征:

1.一种基于模拟退火与高斯扰动的烟花算法,其特征在于,包括以下步骤:

步骤1:随机给烟花的位置赋值,计算烟花的适应度值,生成初始种群;

步骤2:设置烟花个数N,最大火花数Max,最小火花数Min,需要求解函数的可行域D,高斯变异的火花数Ng,爆炸幅度之和以及最大的函数评估次数Itmax

步骤3:找出初始种群里面适应值最差的个体,记录其位置信息Pworst

步骤4:初始化初始温度T0、终止温度Tf、退火系数a和最大迭代次数Imax

步骤5:对当前适应值最差的个体进行高斯变异,得到一个新解xnew

xnewk=pworstk*g,k=1,2,...,d

其中,pworstk表示最差个体的第k维,g是服从均值和方差都为1的正态分布,即g~N(1,1),d表示每个个体的设置的维数;

步骤6:比较高斯扰动前后的适应值的大小;

步骤7:如果高斯扰动后的适应度值更优,则接受高斯扰动后的解,并且更新相应的位置;如果高斯扰动后的目标值没有高斯扰动前的优,则以一定的概率p去接受该解:

<mrow> <mi>p</mi> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mrow> <mi>&Delta;</mi> <mi>x</mi> </mrow> <mi>T</mi> </mfrac> <mo>)</mo> </mrow> <mo>&gt;</mo> <mi>r</mi> </mrow>

其中,Δx是高斯扰动后的适应度值和高斯扰动前的适应度值的差值,T为当前的温度,r是随机产生的一个0和1之间的随机数。

步骤8:执行退温操作:

T=T*a

其中T的初始值为T0

步骤9:若满足停止条件,则搜索停止,输出优化后的结果,否则,转到步骤5继续寻找适应度值更优的位置;

步骤10:通过步骤9,即经过模拟退火和高斯扰动得到一个更优的解,用得到的新解去替换初始种群的最差烟花个体,组成一个新的烟花初始种群,新的烟花种群继续执行烟花算法流程进行迭代寻优;

步骤11:通过爆炸算子产生相应个数的火花个体,最大个数不能超过Max,最少不能低于Min;

步骤12:通过变异算子产生Ng个变异烟花;

步骤13:对超出界限的所有烟花(烟花、火花和变异火花)运用映射规则,将其拉回可行域D内;

步骤14:然后通过选择策略精英-轮盘赌得到下一代烟花群体,即先选择当前种群最优的烟花的进入下一次寻优,然后依据轮盘赌的方式去选择剩下的N-1个烟花进入下一次寻优;

步骤15:若算法迭代次数满足停止条件,则搜索停止,输出最后优化的结果,否则,转到步骤3进行继续寻优。

2.根据权利要求1所述的一种基于模拟退火与高斯扰动的烟花算法,其特征在于,所述步骤9中的停止条件是:算法迭代次数达到最大的迭代次数或者温度达到最低温度。

3.根据权利要求1所述的一种基于模拟退火与高斯扰动的烟花算法,其特征在于,所述步骤15中的停止条件是算法达到设置的最大函数评估次数。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1