购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 基本原理

狮群优化(lion swarm optimization,LSO)算法是由刘生建等于2018年提出的一种新型智能优化算法,其灵感源于自然界狮群中不同身份狮子的行为活动,特别是相互合作的捕猎过程。将狮群划分为狮王、母狮和幼狮3类群体,不同群体的生存行为也决定着LSO算法中不同的位置更新方式。

(1)狮王,是狮群中最强壮的公狮,需要保护幼狮和自己的领地,并给幼狮分配食物,狮王是在狮群的残酷竞争中按照优胜劣汰法则产生的首领,同时还需要面对其他公狮、狼群等外来挑战以维护自己的领地。狮王占据全局最优值点,所以需要不断更新自身以变得更加强壮。

(2)母狮,也被称作捕猎狮,主要负责养育幼狮,它们根据猎物踪迹互相配合进行围捕。母狮在追踪食物时先大范围勘探,当靠近食物时,会在食物附近收缩包围圈猎杀食物。所以,母狮先相互协作大步寻找,锁定目标后小步收缩包围圈,若发现比当前全局最优值更优的位置,狮王将占领此最优位置。

(3)幼狮,也被称作跟随狮,主要在狮王的保护下生存。幼狮主要围绕狮王和自己的母狮进行活动,幼狮的活动分为3种情况:饥饿时主动靠近狮王进食,所以会在狮王附近寻优;吃饱后跟随母狮学习捕猎,在母狮附近寻优;成年足够强壮时会挑战狮王的位置,取代狮王或是被狮王赶出领地成为流浪狮,即到方向学习点附近寻优,历经锻炼后流浪狮中的公狮又会挑战原有狮王的地位。狮子位置更新方式的多样化保证了算法快速收敛,不易陷入局部最优。

狮群优化算法的主要思想如下:从待寻优空间中的某一初始位置开始,其中具有最佳适应度的就是狮王,选取一定比例的捕猎狮,捕猎狮相互配合捕猎,一旦发现比当前狮王占有的猎物更优质的猎物,该猎物的位置会被狮王拥有。幼狮跟随母狮学习打猎或在狮王附近进食,成年后会被驱赶出狮群,为了生存,被驱赶的狮子会努力朝记忆中的最佳位置靠近。狮群按照分工合作,不断重复搜寻,得出目标函数最优值。

假设优化问题的解空间是 D 维,狮子数量为 N ,算法的最大循环次数为 T 。在整个狮群中,成年狮所占比例影响最终寻优效果,成年狮所占比例越大,幼狮数目越少,而幼狮位置更新的多样化能够增加种群的差异性,提高算法的探测能力。设定成年狮数量为 nLeader ,其表示如下:

式中, 为成年狮所占比例因子,是(0,1)内的一个随机数,其设定值在一定程度上决定了最终的搜索效果。为使算法收敛速度较快, 取值一般小于0.5。

每头狮子可以用一个 D 维向量表示,第 i 个狮子的位置如下:

狮群中只有一头公狮,其余为母狮,幼狮数量为 N - nLeader 。捕猎过程中不同类型狮子的位置移动方式按所属群体划分,所以狮王、母狮、幼狮的更新方式不同。

3.1.1 狮王更新方式

狮王是整个种群中具有最优目标函数值的个体狮子。由于狮王占据了当前种群的最优位置,所以不需要进行大范围搜索,它基于当前的最优位置,在自身邻域进行局部小范围寻优,以探寻自身附近是否存在更优解。狮王位置的更新公式如下:

式中, 为狮王自身更新获得的第 k +1代全局最优个体; g k 为第 k 代种群获得的全局最优个体; 是依据正态分布产生的一个随机数, γ ~ N (0,1); 为第 i 个狮子经历第 k 次迭代循环之后的历史最优位置。

3.1.2 母狮更新方式

母狮群体主要通过合作进行捕猎和教导幼狮,所以母狮的更新方式多是自己母狮群内的信息交流,母狮会随机挑选任意一个其他母狮合作捕猎。母狮的位置更新公式如下:

式中, 是除了第 i 个狮子之外的另一个母狮的历史最优位置。

由于大部分函数在优化过程中都遵循大步长勘探,小步长开发的寻优规律,这样既可以快速收敛,又可以提高算法的寻优精度。所以LSO算法在母狮移动更新机制中添加了一个扰动因子 α f ,其目的是动态更新搜索范围促进收敛,扰动因子可以随更新迭代次数 t 的增加,使母狮的移动步长由长变短,后期逐渐趋近于零。其作用是使母狮可以先大范围搜索目标,然后小步长靠近猎物并快速捕获。扰动因子的形式如下:

式中,

step 为狮子在活动范围内移动的最大步长, 分别表示狮子活动范围空间各维度的最大值均值和最小值均值; t 为当前迭代次数; T 为群体最大迭代次数。

3.1.3 幼狮更新方式

幼狮一共有3种更新方式:和狮王共同进食、与母狮学习捕猎、精英反向学习。当幼狮饥饿时可以向狮王移动,到狮王处进食,所以幼狮在全局最优位置附近探索;其次,幼狮需要跟随母狮进行捕猎技能的学习,获得母狮的位置信息并在母狮附近移动,从而学习捕猎;最后,幼狮具有精英反向学习思想,即如果幼狮不够强会被驱逐,驱逐位置为可行域内远离狮王的地方,这是为了增加种群的个体移动随机性以及位移方向多样性,防止狮群陷入局部最优位置无法脱离。上述幼狮的3种位置更新方式如下:

式中, 为第 k 代幼狮 m 跟随母狮的历史最优位置;概率因子 q 为依照均匀分布 U ~[0,1]产生的均匀随机值; 为第 i 个幼狮在捕猎范围内被驱赶的位置,即远离狮王的地方,算法思想是一种典型的精英反向学习思想,表示如下:

幼狮靠近狮王进食或幼狮跟随母狮学习捕猎过程中均会在指定范围内搜索,而扰动因子起到拉长或压缩范围的作用,让幼狮在此范围内先大步勘探食物,发现食物后再小步精细查找,查找范围呈线性下降趋势。所以,幼狮的更新过程中添加了线性动态随时间递减的扰动因子 α c ,表示为:

3.1.4 狮群优化算法流程

狮群优化算法的流程图如图3.1所示,具体步骤如下。

图3.1 狮群优化算法流程图

步骤1:初始化狮群中狮子的位置 x i 及其数目 N ,最大迭代次数为 T ,维度空间为 D ,成年狮占狮群比例因子为

步骤2:根据式(3.1)计算狮群中成年狮的数量,其余为幼狮。将个体历史最优位置设置为各狮的当前位置,初始群体最优位置设置为狮王位置。

步骤3:根据式(3.3)更新狮王的位置,并计算适应度。

步骤4:根据式(3.4)更新母狮的位置。

步骤5:产生(0,1)内的均匀随机数 q ,根据式(3.7)更新幼狮的位置。

步骤6:根据狮子位置计算适应度,更新自身历史最优位置及狮群历史最优位置,判断算法是否满足结束条件(发现理论值最优值或与最后两次最优值之差的绝对值小于设定精度),满足则转向步骤8,否则转向步骤3。

步骤7:每隔一定迭代次数,重新排序(约10次),确定狮王、母狮及幼狮的位置,转向步骤3。

步骤8:输出狮王的位置,即所求问题的最优解,算法结束。 w9f3ivCSQdw+Q1L7EilDDm2SnsSwE0gehyHhEmNuPCyqbbHonmNs7MJYT7YxRDdp

点击中间区域
呼出菜单
上一章
目录
下一章
×