微网的预测、控制与优化运行
上QQ阅读APP看书,第一时间看更新

2.3 改进优化算法的原理

2.3.1 FOA

果蝇优化算法(FOA)是一种全局搜索学习算法,相比较目前几种成熟的优化学习算法如遗传算法(GA)和粒子群算法(PSO),其可调参数较少、鲁棒性较好、搜索时间短、学习速度快等,但因该算法发展较晚,目前国内外关于FOA的研究和改进均处于初步发展阶段,还有很大的发展空间。

FOA算法由果蝇觅食行为得以演变出一种全局寻优的算法,其算法寻优过程如图2-4所示。

978-7-111-64191-9-Part01-42.jpg

图2-4 FOA迭代觅食过程

由图2-4可见,首先在二维空间内定义果蝇种群搜寻目标的随机方向:

978-7-111-64191-9-Part01-43.jpg

式中 ∆δ——-1~1之间任意随机数;

xiyi)——随机初始果蝇群体的坐标;

N——种群规模。距离为

978-7-111-64191-9-Part01-44.jpg

从而将Disti代入适应度函数得该果蝇个体坐标的味道浓度为

978-7-111-64191-9-Part01-45.jpg

最后求出种群中最大值Smax和该值所对应的个体978-7-111-64191-9-Part01-46.jpg978-7-111-64191-9-Part01-47.jpg),该个体即为所求最佳路线目标值,将其代入式(2-25)中,确定搜索方向,最终实现了寻优迭代的学习过程。

2.3.2 改进FOA

由2.3.1节所述算法原理可知,因Disti>0,导致算法只能在坐标的1、4象限搜寻最值,若所求问题的适应度函数极值在2、3象限时,会陷入局部极值。故需要对果蝇个体坐标的味道浓度Disti进行调整以提高搜索范围。

1)首先在计算适应度值时,可将式(2-26)改为

978-7-111-64191-9-Part01-48.jpg

sign(∆δ)确保了Disti符号的随机多变性,避免了陷入1、4象限寻优的可能,使得算法在寻优过程中跳出极值。

2)然后在迭代寻优时,将式(2-26)中的Disti更新迭代为

978-7-111-64191-9-Part01-49.jpg

式中 978-7-111-64191-9-Part01-50.jpg——每次迭代更新后的浓度值。

这样就保证了更新后浓度值978-7-111-64191-9-Part01-51.jpg的符号(果蝇搜寻目标的方向)与原浓度值Disti保持一致,使得个体在寻优过程中缩短搜索路径,加快搜索时间,达到全局搜索的目的。

2.3.3 与GA、PSO算法的对比

目前,应用较为成熟的是GA和PSO算法。GA是通过选择、交叉、变异进行参数的优化,在进行最优值搜索前要确定遗传代数、交叉概率和变异概率共3个可调参数。PSO算法的搜索优化需考虑位置、速度和适应度值3项指标,可调参数为惯性权重因子、空间速度、加速因子。本部分所提出的FOA只需考虑0~1范围内的方向随机参数,其算法的鲁棒性更高。