- 入侵杂草优化算法(Invasive Weed Optimization,IWO)是C.Lucas和A.R.Mehrabian在2006年通过模拟自然界中杂草扩散入侵过程的随机搜索仿生优化算法。该算法是一种很强大的智能优化算法,具有易于理解、收敛性好、鲁棒性强、易于实现、结构简单等优点。
Invasive Weed Optimization algorithm
算法原理
入侵杂草优化算法与一般进化算法(比如遗传算法和粒子群算法)相比,其主要特点是:在进化过程中,种群中的所有个体都有机会产生新的个体,适应度越高的个体产生的新个体数量越多。这种机制在加强较优个体周围局部搜索的同时兼顾种群多样性,更符合自然进化法则。
入侵杂草优化算法的实现可以通过初始化、生长繁殖、空间分布、竞争性生存法则这 4 个步骤实现。
1.初始化种群
- 在搜索空间中,随机产生一组初始解
,其中 为初始种群的个数(小于最大种群数 )
2.生长繁殖
现实世界中,不同杂草在草原上的适应度不同,适应度高的个体生长旺盛,将会产生更多的子代种子。
每个杂草个体可产生的种子数根据其适应度值由最小值到最大值线性变化。每个杂草个体可产生的种子数为:
- 其中
表示当前解的适应度, 代表当前种群中所有解的最小适应度, 代表代表当前种群中所有解的最大适应度。 和 分别代表每次迭代过程中单个解能够随机生成的最大/最小种子个数。
- 其中
3.空间分布
现实世界中,杂草的种子随着动物的运动、风能等传播到父代个体周围。种子传播的距离服从正态分布。
对应到最优解搜索过程中,当前解的子代服从正态分布,该正态分布的均值为当前解的位置,标准差定义为
, 随着时间的推移与当前迭代次数 成负相关,在 、 、最大迭代次数 以及非线性调节因子 给定的情况下:
4.竞争淘汰
自然选择按照优胜劣汰原则淘汰掉那些不适应当前环境的个体(杂草),留下那些适应当前环境的杂草。
对应到最优解搜索过程中,当我们当前解集合大于预设的
时,按照优胜劣汰的原则淘汰那些适应度低的解而保留那些适应度高的个体,这样经过数次迭代后该算法能够收敛到最优解。