智能优化算法——入侵杂草优化算法

入侵杂草优化算法

算法背景

入侵杂草优化算法 (Invasive Weed Optimal Algorithm, IWO) 算法在2006年首次被 Mehrabian 和 Lucas 提出。目前该算法已经被广泛应用于DNA计算、无人机任务分配、电力线通信系统资源分配、图像聚类、图像识别、PID控制器设计、DFCW参数估计、ADRC参数选择问题和WSN定位等领域。

算法定义

该算法是一种基于模仿杂草入侵行为过程的启发式随机搜索算法,其利用了适者生存的理论。

算法原理

由于该算法是模拟杂草的行为进行迭代优化选择

首先介绍杂草自己本身的行为:
杂草会在某个特定区域内进行种群扩张,如果该杂草拥有非常适应该特定区域环境的能力,那么它可以在该区域很好的生存下去,并繁衍自己的后代。

杂草的特点:侵略性强,可进行快速扩张,繁殖能力强,具有自我调节能力可应对各种环境

IWO算法可以被概括为四个阶段

  1. 种群初始化

    首先进行种群初始化。

    在可行域内随机分布生成一定数目的种子,X代表初始种群的种子集合,其中n代表初始种群最大种子数,D代表可行解的维数。 x i j x_{ij} xij就代表着第 i i i个种子的第 j j j个变量。
    X = [ x 1 x 2 ⋯ x n y 1 y 2 ⋯ y n ⋯ ⋯ ⋯ ⋯ x 1 D x 2 D ⋯ x n D ] X=\begin{bmatrix} x_1 & x_2 & \cdots &x_n \\ y_1 & y_2 & \cdots &y_n \\ \cdots & \cdots & \cdots & \cdots\\ x_{1D} & x_{2D} & \cdots &x_{nD} \\ \end{bmatrix} X= x1y1x1Dx2y2x2DxnynxnD

  2. 生长繁殖

    在这一阶段,种群内的种子被允许生成其子代种群,即对应杂草行为的侵略行为

    每个种子可以生成子代种子的数目取决于其自身的适应能力。如果其适应能力很好,适应度值较高,它会被允许生成更多的子代,反之亦然。每个种子可以生成子代种子的数目如下所示:
    N i = f i − f w o r s t f b e s t − f w o r s t ( s m a x − s m i n ) + s m i n N_i = \frac{f_i-f_{worst}}{f_{best}-f_{worst}}(s_{max}-s_{min})+s_{min} Ni=fbestfworstfifworst(smaxsmin)+smin
    其中 f i f_i fi表示当前种子 x i x_i xi的适应度值, f w o r s t f_{worst} fworst是当前种群内最差的适应度值, f b e s t f_{best} fbest是当前种群内最优的适应度值, s m a x s_{max} smax s m i n s_{min} smin分别代表该种群中允许产生的最大种群数和该种群数量的最低限数。

  3. 空间扩散

    在这一阶段,由上一阶段新生成的种子将按照一定分布策略随机分布在该可行域内。对应了杂草入侵的扩张行为

    新生成的种子以母体为参考点,进行均值为 0 的正态分布 N ( 0 , σ 2 ) N(0,\sigma^2) N(0,σ2),正态分布的标准差值根据迭代次数进行调整。每一代的标准差值由以下公式确定:
    σ i t e r = ( ( i t e r m a x − i t e r ) n i t e r ) ( σ i n i t i a l − σ f i n a l ) + σ f i n a l \sigma_{iter}=(\frac{(iter_{max}-iter)^n}{iter})(\sigma_{initial}-\sigma_{final})+\sigma_{final} σiter=(iter(itermaxiter)n)(σinitialσfinal)+σfinal
    i t e r iter iter代表当前的迭代数, i t e r m a x iter_{max} itermax是规定的最大迭代数,n是非线性调节因子, σ i n i t i a l \sigma_{initial} σinitial σ f i n a l \sigma_{final} σfinal分别是设定的最初开始的标准差值和最终要达到的标准差值

  4. 竞争排除

    这一阶段,依照适者生存原理,根据适应度值排序后,对超出种群最大数目种子进行铲除操作。通过该操作适应性较强的种子被保留下来继续生成后代。重复步骤2到4,直到达到终止条件,或者找到最优解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值