1.关于FOA的基本概念
果蝇优化算法(FOA)是一种基于果蝇觅食行为推演出寻求全局优化的新方法。果蝇本身在感官知觉上优于其他物种,尤其是嗅觉和视觉上。果蝇的嗅觉器官能很好的搜集漂浮在空气中的各种气味,甚至能够嗅到40公里以外的食物源。然后,飞到食物位置附近后亦可使用敏锐的视觉发现食物和同伴聚集的位置,并且向该方向飞去。
果蝇算法可应用于求解最优解。
果蝇群体迭代搜寻食物的步骤如下:
(1)随机初始化果蝇群体位置。
Init X_axis
Init Y_axis
(2)赋予果蝇个体利用嗅觉搜寻食物的随机距离与方向。
Xi = X_axis + Random Value
Yi = Y_axis + Random Value
(3)由于无法得知食物的位置,因此先估计与原点的距离(Dist),再计算味道浓度判定值(S),此值为距离的倒数。
Disti = sqrt(Xi^2 + Yi^2)
Si = 1 / Disti
(4)味道浓度判定值(S)代入味道浓度判定函数(或称为Fitness function)以求出该果蝇个体位置的味道浓度(