目录
摘要:
灰狼算法原理:
灰狼算法流程:
改进的灰狼算法:
多目标的灰狼算法:
三种灰狼算法运行效果:
(1)GWO
(2)I-GWO
(3)MO-GWO
摘要:
灰狼优化算法(Grey Wolf Optimization)。GWO通过模拟灰狼群体捕食行为,基于狼群群体协作的机制来达到优化的目的。GWO算法具有结构简单、需要调节的参数少、容易实现等特点,其中存在能够自适应调整的收敛因子以及信息反馈机制,能够在局部寻优与全局搜索之间实现平衡,因此在对问题的求解精度和收敛速度方面都有良好的性能。本文实现了三种不同的GWO算法,并通过仿真实验验证了该智能算法在求解优化问题方面的有效性,程序关键行均有注释。实现的三种GWO算法分别为:
- 原始GWO算法
- 改进的GWO算法(I-GWO)
- 多目标GWO算法(MO-GWO)
灰狼算法原理:
灰狼属于犬科动物,被认为是顶级的掠食者,它们处于生物圈食物链的顶端。灰狼大多喜欢群居,每个群体中平均有5-12只狼。特别令人感兴趣的是,它们具有非常严格的社会等级层次制度,如图所示。
金字塔第一层为种群中的领导者,称为α。在狼群中α是具有管理能力的个体,主要负责关于狩猎、睡觉的时间和地方、食物分配等群体中各项决策的事务。
金字塔第二层是α的智囊团队,称为β。β主要负责协助α进行决策。当整个狼群的α出现空缺时,β将接替α的位置。β在狼群中的支配权仅次于α,它将α的命令下达给其他成员,并将其他成员的执行情况反馈给α起着桥梁的作用。
金字塔第三层是δ,δ听从α和β的决策命令,主要负责侦查、放哨、看护等事务。适应度不好的α和β也会降为δ。
金字塔最底层是ω,主要负责种群内部关系的平衡。
此外,集体狩猎是灰狼的另一个迷人的社会行为。灰狼的社会等级在群体狩猎过程中发挥着重要的作用,捕食的过程在α的带领下完成。灰狼的狩猎包括以下3个主要部分:
1)跟踪、追逐和接近猎物;
2)追捕、包围和骚扰猎物,直到它停止移动;
3)攻击猎物。
灰狼算法流程:
GWO算法的优化从随机创建一个灰狼种群(候选方案)开始。在迭代过程中,α,β和δ狼估计猎物的可能位置(最优解)。灰狼根据它们与猎物的距离更新其位置。为了搜索过程中的勘探和开发,参数a应该从2递减到0。如果|A|>1,候选解远离猎物;如果|A|<1,候选解逼近猎物。GWO算法的流程图如图所示
改进的灰狼算法:
GWO存在如下缺点:
1)种群多样性差,这是由GWO的初始种群生成方式导致的。随机初始化生成初始种群的方式无法保证较好的种群多样性。
2)后期收敛速度慢,这是由GWO算法的搜索机制造成的。狼群主要依据与α,β和δ的距离来判断与猎物之间的距离,导致后期的收敛速度较慢。
3)易陷入局部最优,这是因为α狼不一定是全局最优点,在不断的迭代中,ω不断逼近前3匹狼,导致GWO算法陷入局部最优解。
对此提出改进,利用佳点集理论对种群进行初始化。当取点的个数相同时,佳点序列选取的点序列的均匀化程度优于其他方法。因此,佳点集方法生成的初始种群的个体分布均匀,保证了种群的多样性,从而为算法的全局寻优奠定了基础。
多目标的灰狼算法:
MGWO算法流程
Step1:初始化狼群,计算种群中的非支配解集Archive(大小确定),对Archive中的解进行网格计算求网格坐标值。
迭代开始
Step2:从初始Archive中根据网格选择α、β、σ\alpha、\beta、\sigmaα、β、σ,根据三个解进行狼群中所有个体的位置更新。
Step3:全部位置更新之后,计算更新之后种群的非支配解集non_dominates。
Step4:Archive更新—将non_dominates与Archive合并后计算两者的非支配解集,判断是否超过规定的Archive大小,如果超过,根据网格坐标进行删除。
本次迭代结束
Step5:判断是否达到最大迭代次数,是,输出的Archive.否,转Step2.