基于量子位Bloch坐标编码自适应的改进正弦余弦算法

一、理论基础

1、正弦余弦算法(SCA)

请参考这里

2、改进的正弦余弦算法(ASCA)

(1)群体初始位置的Bloch坐标编码方案

具体介绍请参考这里

(2)自适应惯性权重策略

在SCA算法中,为了增强局部开发能力,提高算法的收敛精度和收敛速度,引入惯性权重 w w w对算法进行改进,加入的惯性权重为: w = w ′ − ( w ′ − w ′ ′ ) × ( t T max ⁡ ) 1 / t (1) w=w'-(w'-w'')×\left(\frac{t}{T_{\max}}\right)^{1/t}\tag{1} w=w(ww)×(Tmaxt)1/t(1)其中, w ′ w' w w ′ ′ w'' w分别为惯性权重的最大值和最小值。
w w w随着迭代次数的增加而递减,使得迭代前期有利于全局探索,迭代后期有利于局部寻优,由于引进的 w w w减小的幅度较大,更有利于算法进行局部开发,提高算法的收敛精度和收敛速度。
改进后的位置更新公式如下: X i t + 1 = { w X i t + r 1 × sin ⁡ r 2 × ∣ r 3 P i t − X i t ∣ , r 4 < 0.5 w X i t + r 1 × cos ⁡ r 2 × ∣ r 3 P i t − X i t ∣ , r 4 ≥ 0.5 (2) X_i^{t+1}=\begin{dcases}wX_i^t+r_1×\sin r_2×|r_3P_i^t-X_i^t|,\quad r_4<0.5\\wX_i^t+r_1×\cos r_2×|r_3P_i^t-X_i^t|,\quad r_4≥0.5\end{dcases}\tag{2} Xit+1={wXit+r1×sinr2×r3PitXit,r4<0.5wXit+r1×cosr2×r3PitXit,r40.5(2)

(3)ASCA算法流程

ASCA算法流程如下:
(1) 初始化算法参数,包括群体规模 N N N、最大迭代次数 T max ⁡ T_{\max} Tmax、惯性权重的最大值 w ′ w' w和最小值 w ′ ′ w'' w
(2) 初始化群体位置,采用量子位Bloch球面对每个候选解进行编码,最后映射到优
化问题的解空间,然后计算群体中每个个体的适应度值,根据适应度值的大小进行排序,最后选取 N N N个适应度值较小的个体作为初始群体;
(3) 计算 N N N个个体的适应度值,选择适应度值最小的个体位置作为最优位置;
(4) 根据 r 4 r_4 r4值的大小,选择式(2)中的正弦或余弦数学模型来更新下一代的位置;
(5) 若达到最大迭代次数,则算法结束,输出最优个体,即算法找到的最优解,否则返回(3)。

二、仿真实验与分析

为了说明ASCA算法的有效性,将其与SCA算法、ABC算法和TLBO算法进行比较。ABC算法中的参数 l i m i t limit limit设置为200,SCA算法和ASCA算法中的参数 a a a设置为2,经过大量的仿真实验后,确定ASCA算法中惯性权重的最大值和最小值分别为 w ′ = 0.08 w'=0.08 w=0.08 w ′ ′ = 0.01 w''=0.01 w=0.01。为了保证公平性,4种算法的相关参数设置相同:初始群体规模为40,最大迭代次数为1000,实验独立运行次数为20,以文献[1]中表1维度为30的测试函数为例。
结果显示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

函数:F1
ABC:最差值: 0.06312,最优值:0.0087672,平均值:0.030197,标准差:0.018844
TLBO:最差值: 6.3904e-168,最优值:3.553e-171,平均值:1.039e-168,标准差:0
SCA:最差值: 0.020811,最优值:2.8803e-07,平均值:0.0017636,标准差:0.0046649
ASCA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F2
ABC:最差值: 43750.7381,最优值:27120.9933,平均值:36510.1503,标准差:4248.858
TLBO:最差值: 3.1893e-38,最优值:1.2591e-41,平均值:4.447e-39,标准差:8.4453e-39
SCA:最差值: 8939.4914,最优值:456.0309,平均值:2932.0432,标准差:2436.3418
ASCA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F3
ABC:最差值: 29.7093,最优值:18.3775,平均值:22.0736,标准差:3.0263
TLBO:最差值: 7.8501e-68,最优值:1.6101e-69,平均值:1.1936e-68,标准差:1.6949e-68
SCA:最差值: 32.5563,最优值:8.579,平均值:19.2544,标准差:7.2075
ASCA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F4
ABC:最差值: 263.7564,最优值:220.7634,平均值:244.6103,标准差:10.9325
TLBO:最差值: 22.8841,最优值:3.8581,平均值:11.1379,标准差:4.1531
SCA:最差值: 108.9658,最优值:1.8084e-08,平均值:24.226,标准差:27.1501
ASCA:最差值: 0,最优值:0,平均值:0,标准差:0
函数:F5
ABC:最差值: 0.76886,最优值:0.32805,平均值:0.60577,标准差:0.12297
TLBO:最差值: 0,最优值:0,平均值:0,标准差:0
SCA:最差值: 0.9724,最优值:1.9163e-05,平均值:0.22533,标准差:0.29982
ASCA:最差值: 0,最优值:0,平均值:0,标准差:0

由此可见,对于绝大部分的基准测试函数来说,与其他3种算法相比,ASCA算法找到的最优解不仅精度更高,而且其收敛速度也更快。总体来说,ASCA算法是一个非常高效的优化算法。

三、参考文献

[1] 牛培峰, 吴志良, 马云鹏, 等. 基于正弦余弦算法的汽轮机热耗率预测[J]. 动力工程学报, 2018, 38(2): 85-91.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值