融合混沌对立和分组学习的海洋捕食者算法
文章目录
- 融合混沌对立和分组学习的海洋捕食者算法
- 1.海洋捕食者算法
- 2.改进海洋捕食者算法
- 2.1 加入混沌对立学习策略
- 2.2 加入自适应 t 分布
- 2.3 加入分组维度学习策略
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.python代码
摘要:针对海洋捕食者算法存在收敛速度慢,不易逃出局部最优的缺点,提出了一种改进海洋捕食者算法。首先,将混沌映射与对立学习策略相结合,在保证遍历性和随机性的同时,生成高质量的初始猎物种群。其次,引入自适应t分布变异算子更新种群,增加种群多样性,避免陷入局部最优。对更新后的种群,按照适应度分为精英组和学习组,学习组向精英组猎物的平均维度进行学习,精英组内的猎物相互维度学习,进一步提高种群质量和搜索精度。
1.海洋捕食者算法
2.改进海洋捕食者算法
2.1 加入混沌对立学习策略
混沌映射是一种非线性理论, 具有非线性、普适 性、遍历性和随机性的特点, 可以按自身的特性在一 定范围内不重复地遍历所有状态, 在智能算法优化中 能帮助生成新的解, 增加种群多样性, 因而被广泛应 用 。 Tent 映射迭代速度快, 混沌序列在 之间均 匀分布,其表达式如下:
其中, 是第 次迭代时产生的混沌数, 是最 大迭代次数, 是介于 的常数, 本文选取
在解决问题的时候, 考虑到无效解决方案的对立 侧可能存在更好的解决方案, Tizhoosh 等人提出了对 立学习策略(Opposition-based learning,OBL) , 近年 来 OBL 已经有效地应用于各种群智能算法中。在群智 能算法初始化种群的过程中, 随机生成的部分个体往 往会分布在远离最优解的无效区域和边缘区域, 进而 降低了种群的搜索效率。采用 OBL 策略, 在种群初始 化中引人一个随机解及其对立解要比引人两个独立的 随机解更能提高初始种群的质量。假设某个 维个体 位置为:
设其个体位置的下界和上界分别为 , 则其 对立侧位置可以表示为:
但是, 在目标函数上下界限对称的时候, 由公 式(16)可看出, 所生成的反向解为原来解的完全镜 像 (取负), 对部分具有偶函数特性的函数, 完全镜 像解与原解目标值一致, 不适合将两个种群做适应 度排序, 无法有效获得高质量种群。
本文将 Tent 混沌映射与 相结合, 提出了一 种新的 TOBL ( Tentand Opposition-based learning ) 机 制。 TOBL 的数学模型如下:
其中, 为第 个猎物对立位置的第
2.2 加入自适应 t 分布
基本 MPA 中, 猎物更新完位置以后, 需要检测 和更新顶级捕食者的位置, 并进行一次海洋记忆存储, 接下来再考虑 FADs 的影响, 对猎物的位置做进一步 更新。
为了保证此次记忆存储更加有效, 引人自适应 分布算子, 在模拟 FADs 的影响之前, 对猎物的位置 进行变异, 如果变异后的位置更佳, 则代替原来的位 置。数学模型如下:
其中, 为第 个猎物变异后的位置, Iter 为 以当前迭代次数为自由度的 分布。在迭代初期, 迭 代次数较少, 分布近似于柯西分布, 分布的更加平滑。 此时, 分布算子在大概率上取到较大值, 位置变异所 采取的步长较大, 算法具有良好的全局探索能力, 与 MPA 第一阶段的全局搜索特性形成正反馈; 在迭代中 期, 一半的捕食者用于全局探索,另一半的捕食者用 于局部开发, 而此时 分布介于柯西分布和正态分布 之间, 分布算子在大概率上取值相对折中, 同时兼顾 了 MPA 第二阶段的全局搜索和局部开发, 使捕食者 更容易返回到猎物丰富的地区并成功受食, 进而对算 法性能形成正反馈; 在迭代后期, 分布近似于标准正 态分布, 分布的更加集中,
2.3 加入分组维度学习策略
在算法迭代过程中, 有些猎物位置的某些维度实 际上可能早已达到了最优维度, 由于其中个别维度的 影响, 使得这些猎物位置的适应度变差 。为了能在 海洋里生存下去, 位置差的猎物(捕食者)需要向位 置好的猎物 (捕食者)学习捕食本领, 基于这个思想, 提出了一种分组维度学习的策略。将 FADs 影响后的 猎物按照适应度排序平均分成两组, 适应度好的一组 称为精英组, 适应度差的一组称为学习组
学习组维度交叉策略
由于精英组的维度各有优劣, 所以将精英组的位 置维度取平均值, 学习组的每一个猎物都向精英组平 均维度进行学习。该策略将学习组每个猎物的每一维 度同精英组平均维度值做差, 按照绝对差异大的优先 交叉原则, 取绝对差异大的前 个对应维度逐一交叉, 如果交叉后猎物的适应度更好, 则交叉对应维度, 反 之则不交叉。该策略的数学模型为:
其中, 表示学习组第 个猎物位置, 表示和精英组平均维度值第 维交叉后的第 个猎物 位置, 表示学习组第 个猎物第 维和精英组平均维度第 维的绝对差异, 表示精英组平均值的 第
精英组维度交叉策略
精英组整体离全局最优点相对较近, 所以不适合 全部维度的扰动变异, 这样会导致精英在最优解附近徘 徊, 影响收玫精度。所以, 令精英组的猎物相互之间取长补短, 在保留自己优势维度的前提下, 向相邻的 猎物进行学习。该策略交叉原则和学习组猎物交叉原 则相同, 只是将交叉对像, 由精英组平均维度值更换 为与该猎物相邻的前一个猎物, 设精英组每个猎物取 绝对差异大的前
MSIMPA 算法实现步骤
步骤 1 由公式(14)-(17)对猎物的位置进行 混沌对立初始化, 并设置相关参数:种群规模、 最大迭代次数、FADs 等。
步骤 2 计算每个猎物适应度值, 并将适应 度值进行比较、替换, 由最佳猎物构成顶级捕 食者矩阵, 并进行海洋记忆存储。
步骤 3 由公式(3)-(11)更新猎物位置和移 动步长。
步骤 4 由公式(18)的 分布变异算子进行 位置扰动更新, 并保留最佳位置。
步骤 5 重新计算每个猎物适应度值, 并将 适应度值进行比较、替换,由最佳猎物构成顶级捕 食者矩阵, 并进行海洋记忆存储。
步骤 6 考虑 FADs 和漩浴的影响, 由公式(12) 进一步更新位置, 并保留最佳位置。
步骤 7 将更新后的种群按照适应度优劣均分 成学习组和精英组, 由公式(19)-(20)进行维度交叉, 交叉后适应度变好则交叉对应维度,反之则不 交叉。
步骤 8 判断算法是否满足迭代条件, 若满足, 则算法终止, 否则转至步骤 2 。
3.实验结果
4.参考文献
[1]马驰,曾国辉,黄勃,刘瑾.融合混沌对立和分组学习的海洋捕食者算法[J/OL].计算机工程与应用:1-14[2021-11-02].http://kns.cnki.net/kcms/detail/11.2127.TP.20210730.1554.011.html.
5.Matlab代码
6.python代码