【优化求解】基于量子位Bloch坐标编码自适应的改进正弦余弦算法matlab源码
一、理论基础
1、基本正弦余弦算法

2、改进的正弦余弦算法(ASCA)
(1)群体初始位置的Bloch坐标编码方案

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

(3)ASCA算法流程

二、仿真实验与分析
为了说明ASCA算法的有效性,将其与SCA算法、ABC算法和TLBO算法进行比较。ABC算法中的参数l i m i t limitlimit设置为200,SCA算法和ASCA算法中的参数a aa设置为2,经过大量的仿真实验后,确定ASCA算法中惯性权重的最大值和最小值分别为w ′ = 0.08 w'=0.08w′=0.08、w ′ ′ = 0.01 w''=0.01w′′=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.
