物理背景

a为层流,b为湍流。
层流和湍流是流体流动的一种性质。流体流动时,如果流体质点的轨迹(一般说随初始空间坐标x、y、z随时间t而变)是有规则的光滑曲线(最简单的情形是直线),这种流动叫层流,没有这种性质的流动叫湍流。
算法实现

流程图
自然界中的层流和湍流给我们在优化设计中设计规则和不规则随机搜索算子提供了很好的启发。因此,可以从优化的角度对两种类型的水流进行建模。不失一般性,假设要解决的问题有要最小化的目标函数。从目标函数值大的解到目标函数值小的解,通过充分有效的迭代过程,可以找到最优解。由于自然界中水总是从高海拔的源头流向低海拔的汇,因此水流与解搜索之间存在相似性。更具体地说,如果将水粒子视为解决方案,则粒子的位置类似于解决方案的值,水粒子的势能类似于目标或适应度。因此,要最小化的问题的目标函数值或要最大化的问题的倒数被定义为水粒子的势能。 WFO算法中直接将目标函数作为水粒子势能的评价函数。
1)层流算子:在层流中,所有粒子均沿平行直线运动。由于水的粘度,粒子的速度可能不同,例如远离墙壁或障碍物的层中的粒子比靠近墙壁或障碍物的层中的粒子更快。这种规则运动可以通过以下等式建模:
![]()
其中t为迭代次数,i和m分别为所使用的水粒子的索引和数目,xi(t)为第i个粒子在第t次迭代时的位置,yi(t)表示其可能移动的位置,随机数 s ∈ U([0, 1]) 表示水粒子的移动系数,而 ?d 向量表示所有粒子的共同运动方向。共同方向由随机选择的两个不同粒子决定,如下所示:
![]()
其中 f (xh(t)) ≤ f (xk(t)) 表示

文章介绍了基于水动力学特性(层流和湍流)的优化算法——WFO算法。该算法利用层流的规则运动和湍流的随机扰动来探索解决方案空间,寻找目标函数的最小值。层流算子通过粒子沿共同方向移动进行优化,而湍流算子通过随机维度变换引入多样性。算法通过迭代和适应度函数来逐步改进解的质量,同时处理约束条件以保持解的有效性。
最低0.47元/天 解锁文章
374

被折叠的 条评论
为什么被折叠?



