基于精英混沌搜索策略的交替正余弦算法
文章目录
- 基于精英混沌搜索策略的交替正余弦算法
- 1.正余弦算法
- 2.改进正余弦算法
- 2.1 控制参数的非线性调整策略
- 2.2 反向学习策略
- 2.3 精英混沌搜索策略
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.python代码
摘要:正余弦算法是一种新的基于种群的随机寻优方法,利用正余弦函数使解震荡性地趋于全局最优解,其线性调整策略及较弱的局部搜索能力严重地影响了算法的性能.为了提高正弦余弦算法的计算精度,提出基于精英混沌搜索策略的交替正余弦算法.新算法采用基于对数曲线的非线性调整策略修改控制参数,利用精英个体的混沌搜索策略增强算法的开发能力,并将基于该策略的正余弦算法与反向学习算法交替执行增强算法的探索能力,降低算法的时间复杂度,提高算法的收敛速度。
1.正余弦算法
2.改进正余弦算法
2.1 控制参数的非线性调整策略
在 SCA中, 参数 起着平衡全局探索能力和局 部搜索能力的重要作用. 当 时使下一代的解 位于当前解与目标解之间, 强调算法的开发能力; 当 时解位于当前解和目标解之外, 强调算法的探索能力. 由式 (2) 可以看出, 随迭代次数的增加线性 递减, 在算法迭代初期, 的值较大, 使算法具有较强 的全局探索能力, 在算法迭代后期, 的值较小, 增加 了算法的开发能力. 但是, 线性变化方式不能有效地 增加 SCA 的寻优精度, 本文通过非线性函数 对 进行改进. 利用自然对数在 上非线性递增的特 性, 的调整策略为
其中: 为控制参数 的初始值和最终值, 为调节系数. 由式(3)可以 看出,
2.2 反向学习策略
反向学习 是增强随机优化算法性能的 重要方法,通过贪婪选择目标函数在当前解和反向解 种群的适应度值, 增强了种群的多样性, 提高了算法 接近全局最优解的能力. 文献 [4] 提出的 在 基本 SCA 中加入反向学习策略, 提高了 SCA 的求解 精度. 本文旨在将 与反向学习策略交替进行, 以 降低算法的复杂性, 从而在改进种群多样性的同时提 高算法的收敛速度.
定义 1 反向解. 设第 代种群中第 个个体为 , 记 为搜索空间中第 维的下界和上界, 令
称 为其反向解.
由式 (4) 可知, 反向学习算法通过反向策略产生 个反向解,使算法在
2.3 精英混沌搜索策略
群智能算法的优劣在于有效地平衡算法的探索 与开发能力,为了提高算法的开发能力利用混沌的 随机性、遍历性和规律性的特点, 对精英个体 进行 混沌变异. 对种群中 个个体按适应度值升序排序, 选择前 个个体作为精英个体, 为选择比例, 记精英个体为 . 其第 维的上下界 分 别为
将精英个体 由解空间按式 (6)映射到 , 得到混 沌变量 , 有
利用式 (7) 对 进行混沌迭代, 有
其中: 为常数, 取值为 为混沌迭代次数, 表示对 向上取整.
当 达到最大迭代次数 时, 得到第 个精英 个体对应的混沌变量 , 利用下式将其映射至 内, 得到对应混沌个体 , 有
对混沌个体 与原个体 , 由下式生成候选 解:
其中 为收缩因子, 其值为
在得到的候选解 与对应精英个体 之间 采用贪婪选择策略, 选择优秀的个体 取代当前个 体 , 即
由式(10) 可以看出, 设计的收缩因子 随着迭代 次数的增加逐渐减小. 式(9) 表明, 越小, 对候选 解 的影响越小. 因此, 算法随着迭代次数的增 加, 精英个体的上下界范围逐渐缩小至目标解附近, 候选解 越侧重随机性、多样性较强的混沌个 体 , 局部搜索能力越强. 精英个体的混沌变异策 略所控制的混沌搜索范围随算法迭代次数的增加逐 渐缩小, 实验验证该策略具有较强的局部搜索能力.
基于精英混沌搜索策略的交替正余弦算法(COSCA)步骤如下:
Step 1: 算法参数设置. 种群规模 , 控制参数 的初始值 和最终值 , 最大化迭代次数 ,调节系数 , 精英选择比例pr.
Step 2: 初始化. 令 , 随机在解搜索空中产生 个个体, 组成种群 .
Step 3: 对 中的个体执行式 (4) 的反向策略, 形 成种群 , 计算 中个体的函数值, 按从小到大 排序, 选择前 个个体组成初始种群 , 并记录最优 个体 .
Step 4: 若 为奇数, 则执行 Step 4.1; 若
Step 4.1: 对 中的个体执行 算法, 其中控 制参数 如式 (3) 所示, 对个体按适应度值由小到大 排序得到种群 ;
Step 4.2: 对 中的个体进行式 (4) 的 OBL 策略 更新得到 , 对 中的个体按函数值从小到大 排序, 选择前 个个体组成种群 .
Step 5: 对 中的前 个精英个体进行式
(5) (11) 所示的精英混沌搜索, 其余 个个体 不变,形成种群 .
Step 6: 记录 中最优个体 , 若 , 则 .
Step 7: 判断算法是否满足结束条件, 若满足, 输 出最优值 , 否则令 , 转至 Step 4 .
3.实验结果
4.参考文献
[1]郭文艳,王远,戴芳,刘婷.基于精英混沌搜索策略的交替正余弦算法[J].控制与决策,2019,34(08):1654-1662.
5.Matlab代码
6.python代码