【智能算法改进】基于Nelder-Mead单纯形-水平垂直交叉的哈里斯鹰优化算法用于光伏模型参数估计


在这里插入图片描述

PS:本文主要做改进哈里斯鹰优化算法(CCNMHHO)复现工作~

1.摘要

本研究提出了一种改进的哈里斯鹰优化算法,用于促进高效光伏系统的模拟和未知参数的提取。CCNMHHO算法融合了水平、垂直交叉和Nelder-Mead单纯形法,以增强个体间的信息交换并防止维度停滞和局部最优。

2.算法原理

【智能算法】哈里斯鹰算法(HHO)原理及实现

3.改进策略

水平交叉

水平交叉用于促进两个不同个体之间的信息交换,假设父代个体为 Xi 和 Xj,那么在第 d 维度执行水平交叉生成新解:
{ M S i d h c = ε 1 × X i d + ( 1 − ε 1 ) X i d + C 1 ( X i d − X j d ) M S j d h c = ε 2 × X j d + ( 1 − ε 2 ) X j d + C z ( X j d − X i d ) \begin{cases}MS_{id}^{hc}=\varepsilon_1\times X_{id}+(1-\varepsilon_1)X_{id}+C_1(X_{id}-X_{jd})\\MS_{jd}^{hc}=\varepsilon_2\times X_{jd}+(1-\varepsilon_2)X_{jd}+C_z(X_{jd}-X_{id})\end{cases} {MSidhc=ε1×Xid+(1ε1)Xid+C1(XidXjd)MSjdhc=ε2×Xjd+(1ε2)Xjd+Cz(XjdXid)
其中, ε 1 \varepsilon_1 ε1 ε 2 \varepsilon_2 ε2时[0,1]随机数,c1和c2表示在[- 1,1]之间均匀分布随机值的展开系数。在这个过程中,将比较新生成的候选解和原始个体的适应度,适应度较低的个体会被淘汰。这种竞争操作确保每次迭代都能保留表现最佳的个体,从而不断提高种群的质量,增强算法的全局探索能力。

垂直交叉

水平交叉主要用于增强算法在整个可行空间的全局搜索能力,以避免算法在个体的某些维度停滞而陷入局部最优。而垂直交叉则专注于在种群的个体间随机选定的两个维度之间进行操作,这种方法旨在通过维度间的交叉来产生适度解:
M S i d 1 ν c = ε × X i d 1 + ( 1 − ε ) X i d 2 MS_{id_{1}}^{\nu c}=\varepsilon\times X_{id_{1}}+(1-\varepsilon)X_{id_{2}} MSid1νc=ε×Xid1+(1ε)Xid2
其中, ε \varepsilon ε为[0,1]随机数。

Nelder-Mead单纯形(NMs)

NMs是一种无导数优化方法,因其简单的计算和强大的局部搜索能力而广泛应用。该方法通过在d维空间构建一个包含d+1个顶点的多面体,并在每次迭代中保证解的质量不低于前一次迭代。如果初始解不是最优解,方法会根据预设规则寻找更优的解,并通过多次迭代逐渐接近最优解。

在这里插入图片描述

在单纯形搜索过程中,会评估多面体各顶点的适应度,识别并改善最差的顶点,通过反射、扩展和压缩等操作改进这些顶点,以形成新的多面体。这种基于顶点适应度比较和逐步优化的方法,使得单纯形方法能有效地搜索和逼近问题的最优解。

计算所有个体的适应度值以找到最佳位置Xg和第二个位置Xp。对应的适应度值分别为f (Xg)和f (Xp),计算中心位置:
X c = ( X g + X p ) / 2 X_c=(X_g + X_p)/2 Xc=(Xg+Xp)/2
生成反射点Xr, r表示反射系数:
X r = X c + r × ( X c − X w ) X_{r}= X_{c} + r \times(X_{c} - X_{w}) Xr=Xc+r×(XcXw)
扩容操作,若f (Xr) < f (Xg),表示反射方向正确,进行扩容操作。Xy为求得的膨胀点,φ为膨胀系数。若f (Xy) < f (Xg),则Xw = Xy,否则,Xw = Xr:
X y = X c + φ ( X r − X c ) X_y=X_c+\varphi(X_r-X_c) Xy=Xc+φ(XrXc)
压缩操作,如果f (Xr) < f (Xw),则反射方向错误,进行压缩操作。若f (Xic) < f (Xw),则Xw = Xic:
X i c = X c + β ( X r − X c ) X_{ic}= X_{c}+ \beta(X_{r}- X_{c}) Xic=Xc+β(XrXc)
收缩操作,若f (Xr) > f (Xw) > f (Xp),进行收缩操作。如果f (Xoc) < f (Xw),则Xw = Xoc,否则,Xw = Xr:
X o c = X c − δ ( X w − X c ) X_{oc}=X_{c}-\delta(X_{w}-X_{c}) Xoc=Xcδ(XwXc)

流程图

在这里插入图片描述

4.结果展示

CEC2005

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.参考文献

[1] Liu Y, Chong G, Heidari A A, et al. Horizontal and vertical crossover of Harris hawk optimizer with Nelder-Mead simplex for parameter estimation of photovoltaic models[J]. Energy Conversion and Management, 2020, 223: 113211.

6.代码获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小O的算法实验室

谢谢大佬的肯定!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值