【智能算法】水循环算法(WCA)原理及实现

本文介绍了HEskandar等人提出的水循环算法(WCA),它将自然水循环过程与优化算法结合,通过模拟水体流动和蒸发降雨来解决工程约束优化问题。文章详细阐述了算法原理,包括其思想、过程以及如何利用蒸发降雨跳出局部最优。结果展示了WCA在CEC2017-F15测试框架中的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述


1.背景

2012年,H Eskandar等人受到自然水循环过程启发,提出了水循环算法(Water Cycle Algorithm, WCA)。

在这里插入图片描述

在这里插入图片描述

2.算法原理

2.1算法思想

WCA模拟了大自然水循环过程,将最优解的寻找过程与自然界水循环过程相结合,以适应度函数为导向,进行溪流、河流的汇合,以蒸发降雨作用为辅助跳出局部最优解。

在这里插入图片描述

2.2算法过程

海洋、河流和溪流数量设置为:
N s r = Number of Rivers + 1 ⏟ S e a N R a i n d r o p s = N p o p − N s r (1) \begin{aligned}N_{\mathrm{sr}}&=\text{Number of Rivers}+\underbrace{1}_{\mathrm{Sea}}\\N_{\mathrm{Raindrops}}&=N_{\mathrm{pop}}-N_{\mathrm{sr}}\end{aligned}\tag{1} NsrNRaindrops=Number of Rivers+Sea 1=NpopNsr(1)

位置更新

每轮迭代中,溪流、大海都要根据引导关系进行自我的位置更新:
X S t r e a n N e w = X S t r e a n + r a n d × C × ( X R i v e r − X S t r e a n ) X S t r e a m N e w = X S t r e a m + r a n d × C × ( X S e a − X S t r e a m ) X R i v e r N e w = X R i v e r + r a n d × C × ( X S e a − X R i v e r ) (2) \begin{gathered} X_{Strean}^{New}=X_{Strean}+rand\times C\times(X_{River}-X_{Strean}) \\ X_{Stream}^{New}=X_{Stream}+rand\times C\times (X_{Sea}-X_{Stream}) \\ X_{River}^{New}=X_{River}+rand\times C\times (X_{Sea}-X_{River}) \end{gathered}\tag{2} XStreanNew=XStrean+rand×C×(XRiverXStrean)XStreamNew=XStream+rand×C×(XSeaXStream)XRiverNew=XRiver+rand×C×(XSeaXRiver)(2)

蒸发降雨

在水循环中,那些流速过慢或无法到达大海的溪流和河流,最终通过蒸发回归到大气中,这一过程有助于形成新的降水。因此,检查河流和溪流是否靠近海洋是重要的,因为距离较远的水体更有可能发生蒸发:
∣ X S e a i − X R i v e r i ∣ < d m a x (3) \left|X_{\mathrm{Sea}}^i-X_{\mathrm{River}}^i\right|<d_{\mathrm{max}}\tag{3} XSeaiXRiveri <dmax(3)
其中,dmax自适应调整:
d max ⁡ i + 1 = d max ⁡ i − d max ⁡ i max ⁡  iteration (4) d_{\max}^{i+1}=d_{\max}^{i}-\frac{d_{\max}^{i}}{\max\text{ iteration}}\tag{4} dmaxi+1=dmaximax iterationdmaxi(4)

蒸发降雨对河流和海洋的影响很小,降雨过程后溪流的位置更新:
X s t r e a m n e w = X s e a + μ × r a n d n ( 1 , N v a r ) (5) X_{{\mathrm{stream}}}^{{\mathrm{new}}}=X_{{\mathrm{sea}}}+\sqrt{\mu}\times\mathrm{randn}(1,N_{{\mathrm{var}}})\tag{5} Xstreamnew=Xsea+μ ×randn(1,Nvar)(5)

流程图

在这里插入图片描述

3.结果展示

使用测试框架,测试WCA性能 一键run.m

CEC2017-F15
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Eskandar H, Sadollah A, Bahreininejad A, et al. Water cycle algorithm–A novel metaheuristic optimization method for solving constrained engineering optimization problems[J]. Computers & Structures, 2012, 110: 151-166.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值