失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 具有自适应调整策略的混沌灰狼优化算法-附代码

具有自适应调整策略的混沌灰狼优化算法-附代码

时间:2022-05-20 00:27:28

相关推荐

具有自适应调整策略的混沌灰狼优化算法-附代码

具有自适应调整策略的混沌灰狼优化算法

文章目录

具有自适应调整策略的混沌灰狼优化算法1.灰狼优化算法2. 改进灰狼优化算法2.1 自适应调整策略2. 2 混沌局部搜索策略3.实验结果4.参考文献5.Matlab代码6.Python代码

摘要: 灰狼优化算法(GWO )是新型启元优化算法,相比于其他群体智能优化算法,该算法同样存在收敛速度较慢、不稳定、易陷入局部最优等问题。针对上述问题,根据 GWO算法的结构特点,提出了一种自适应调整策略的混沌灰狼优化算法( chaotic local Search GWO ),利用自适应调整策略来提高 GWO 算法的收敛速度,通过混沌局部搜索策略增加种群的多样性,使搜索过程避免陷入局部最优。

1.灰狼优化算法

基础灰狼算法的具体原理参考,我的博客:/u011835903/article/details/107716390

2. 改进灰狼优化算法

2.1 自适应调整策略

灰狼算法中适应度值是反映个体与全局最优值之间的重 要参数。在灰狼进行寻优的过程中, α,β,δ\alpha, \beta, \deltaα,β,δ 的位置对于寻找最 优解至关重要, 但在进行更新位置时, 没有体现出 α,β,δ\alpha, \beta, \deltaα,β,δ 之间 的真实位置的相对关系, 只是进行了简单的求平均值, 导致扩 大了搜索的范围, 减缓了收敛速度。

为了进一步提高 GWO\mathrm{GWO}GWO 算法的收敛速度, 同时 也为了平 衡 GWO 算法的全局搜索能力和局部改良能力, 控制参数值 aaa 采用自适应调整策略。在该策略中, 将当前个体的适应度值 JiJ_{i}Ji​ 与灰狼群的平均适应度值 JavgJ_{a v g}Javg​ 进行比较, 如果 JiJ_{i}Ji​ 优千平均 适应度值 JavgJ_{a v g}Javg​, 其相应灰狼个体的控制参数 aaa 较小, 便于使其 向最好的位置靠拢; 如果 JiJ_{i}Ji​ 次于 JavgJ_{a v g}Javg​, 那么其相应灰狼个体 的控制参数值 aaa 会较大, 使其到更广阔的区域搜索, 向较好的 搜索区域靠拢。

本文采用的控制参数自适应调整策略表达式如下:

ai={amin⁡+(amax⁡−amin⁡)⋅(Ji−Jmin⁡)Javg−Jmin⁡,Ji⩽Javgamax⁡,Ji>Javg(9)a_{i}= \begin{cases}a_{\min }+\frac{\left(a_{\max }-a_{\min }\right) \cdot\left(J_{i}-J_{\min }\right)}{J_{a v g}-J_{\min }}, & J_{i} \leqslant J_{a v g} \\ a_{\max }, & J_{i}>J_{a v g}\end{cases}\tag{9} ai​={amin​+Javg​−Jmin​(amax​−amin​)⋅(Ji​−Jmin​)​,amax​,​Ji​⩽Javg​Ji​>Javg​​(9)

其中, amin⁡,amax⁡a_{\min }, a_{\max }amin​,amax​ 分别为控制参数的最小值和最大值, aia_{i}ai​ 为灰狼 个体当前的控制参数值, JiJ_{i}Ji​ 表示灰狼个体当前的适应度值, JavgJ_{a v g}Javg​ 和 Jmin⁡J_{\min }Jmin​ 分别表示当前灰狼群体的平均适应度值和最小适 应度值。在上式中, 控制参数值会随着灰狼个体的适应度值 而自动改变。

本文同时提出了一种基于适应度值的位置更新策略, 通 过 α,β,δ\alpha, \beta, \deltaα,β,δ 相互之间的适应值比值对 3 个灰狼的位置赋予权 重, 然后再对猎取的位置进行求解。其表达式为:

x(t+1)=(Ja/Jδ)x1+(Jβ/Jδ)x2+x33(10)x(t+1)=\frac{\left(J_{a} / J_{\delta}\right) x_{1}+\left(J_{\beta} / J_{\delta}\right) x_{2}+x_{3}}{3}\tag{10} x(t+1)=3(Ja​/Jδ​)x1​+(Jβ​/Jδ​)x2​+x3​​(10)

其中, JαJ_\alphaJα​ 为灰狼 α\alphaα 的适应度值,JβJ_\betaJβ​ 为灰狼 β\betaβ的适应度值, JδJ_{\delta}Jδ​ 为灰狼δ{\delta}δ的适应度值。

2. 2 混沌局部搜索策略

混沌优化算法是根据混沌现象的随机性、遍历性和规律 性, 通过把混沌状态引入到优化变量, 利用混沌运动的遍历性 使算法具有避免陷入局部最优的能力,因此可以利用混沌算 法改进灰狼优化算法, 以提高其收敛质量。Logistic 映射就 是一个典型混沌系统。

xn+1=μxn(1−xn)x_{n+1}=\mu x_{n}\left(1-x_{n}\right) xn+1​=μxn​(1−xn​)

其中, μ\muμ 为混沌控制参数, μ\muμ 的取值直接影响着 Logistic 方程 的混沌程度, 当 μ\muμ 值越大, 混沌程度越高, μ\muμ 一般在 [0,4][0,4][0,4] 之间 取值, xn∈[0,1]x_{n} \in[0,1]xn​∈[0,1] 。

初值对混沌的影响非常大, 因此给式 (11) 赋 iii 个微小差 异的初值, 得到 iii 个混沌变量。

混沌灰狼优化算法要涉及到混沌局部搜索算法 (Chaotic Local Search, CLS), 因此 CLS 算法步骤如下。

Step1 当 k=0k=0k=0 时, 将决策变量 xjkx_{j}^{k}xjk​ 按式 (12) 映射为 0 到 1 之间的混沌变量 sjks_{j}^{k}sjk​ :

sjk=xjk−xmin⁡,jxjk−xmax⁡,j(12)s_{j}^{k}=\frac{x_{j}^{k}-x_{\min , j}}{x_{j}^{k}-x_{\max , j}} \tag{12} sjk​=xjk​−xmax,j​xjk​−xmin,j​​(12)

其中, xmin⁡,jx_{\min , j}xmin,j​ 和 xmax⁡,jx_{\max , j}xmax,j​ 分别为决策变量 XXX 的第 jjj 维变量的搜索 上下界。

Step2 根据式(13), 计算混沌局部搜索算法内部下一步 迭代的混沌变量 sjk+1s_{j}^{k+1}sjk+1​ :

sjk+1=4sjk(1−sjk)(13)s_{j}^{k+1}=4 s_{j}^{k}\left(1-s_{j}^{k}\right) \tag{13} sjk+1​=4sjk​(1−sjk​)(13)

Step3 根据式(14), 将混沌变量 sjk+1s_{j}^{k+1}sjk+1​ 转换为决策变量 xjk+1:x_{j}^{k+1}:xjk+1​:

xjk+1=xmin⁡,j+sjk+1(xmax⁡,j−xmin⁡,j)(14)x_{j}^{k+1}=x_{\min , j}+s_{j}^{k+1}\left(x_{\max , j}-x_{\min , j}\right) \tag{14} xjk+1​=xmin,j​+sjk+1​(xmax,j​−xmin,j​)(14)

Step4 根据决策变量 xjk+1x_{j}^{k+1}xjk+1​, 对新解进行评价, 若新解优 于初始解 X(0)=[x1(0),x2(0),⋯,xn(0)]X^{(0)}=\left[x_{1}^{(0)}, x_{2}^{(0)}, \cdots, x_{n}^{(0)}\right]X(0)=[x1(0)​,x2(0)​,⋯,xn(0)​] 或者混沌搜索已经达到 最大迭代步数, 则将新解作为 CLS 的搜索结果, 否则转到 Step2 继续搜索。

3.实验结果

4.参考文献

[1]张悦,孙惠香,魏政磊,韩博.具有自适应调整策略的混沌灰狼优化算法[J].计算机科学,,44(S2):119-122+159.

5.Matlab代码

6.Python代码

如果觉得《具有自适应调整策略的混沌灰狼优化算法-附代码》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。