独家原创!融合北方苍鹰与自适应t分布的麻雀优化算法,效果极好!精品力荐!MATLAB代码...

北方苍鹰算法改进:基于MATLAB Circle混沌序列与正余弦策略的单目标优化问题求解 摘要:本文提出了一种改进的北方苍鹰算法,该算法结合了MATLAB Circle混沌序列和正余弦策略,用于解决单目标优化问题。通过在MATLAB环境下实现该算法,并使用一些标准测试函数进行实验,结果表明该改进算法在求解单目标优化问题方面具有较好的性能和收敛速度。其中,北方苍鹰算法是一种启发式算法,模拟了北方苍鹰捕食的行为,具有较好的全局搜索能力。同时,正余弦策略在探索和利用之间取得了良好的平衡,使得算法具有较好的收敛性和搜索精度。关键词:北方苍鹰算法,混沌序列,正余弦策略,单目标优化问题,MATLAB。 阅读详情

声明:对于作者的原创代码,禁止转售倒卖,违者必究!

麻雀搜索算法(sparrow search algorithm,SSA)在2020年提出, 目前已经被广泛应用于许多领域。麻雀算法的设计灵感来自鸟类的生物学特征。根据麻雀的觅食行为建立的数理模型可归类为发现者-跟随者模型,并附加预警机制。SSA 算法因易于实现、速度快等特点吸引了不少研究学者, 但SSA 算法仍存在难以找到最优解、搜索依赖精英种群、因自身特性易陷入局部最优等问题。

首先声明:本期算法由作者自行改进,内容与创新点足够支撑写一篇论文!且第一发布渠道就是微信公众号,此前作者并未在其他任何平台进行发布!也就是说这就是第一手资料!需要的速速下载!获取代码的方式放在文末了。

c966dd84d07ecc9e583b96a5a19f532d.png

本期推出的新算法为:融合北方苍鹰与自适应t分布的麻雀优化算法(NTSSA),该简写只是作者为了区分原始麻雀算法而自己临时起的,大家可以根据自己的想法修改这个简写。

融合北方苍鹰算法是作者在仔细考虑了原始麻雀算法的基础上,经过多次调试,持续研究了很久才成功的。代码整理不易,且用且珍惜。废话不多说,接下来说一下改进策略。

改进策略详解

改进点1:融合北方苍鹰勘探阶段位置策略

为了提高发现者模型在解空间搜索的充分度和在优化问题中的求解性能,将发现者位置更新时的R2<ST的位置更新公式替换为北方苍鹰的勘探阶段位置更新公式。

这么做的原因是:在每次迭代的初始阶段通常会看到单个发现者快速地收敛于全局最优解决方案,以此获得强大的开发能力。然而,以该种方式获取全局最优解往往忽略了对附近搜索空间的探索,导致在全局开拓阶段探索空间量严重不足,并倾向于陷入局部最优解。而北方苍鹰的更新策略由于在搜索空间中对猎物的选择是随机的,因此采用该策略可以增加SSA算法的勘探能力。

北方苍鹰勘探阶段的位置更新公式是:

1e2c2cc0381a96db28aa02585c642bfc.png

1fe9b623f925f0ea79710d6ebe221e98.png

改进点2:自适应t分布变异策略

关于自适应t分布策略,前面的文章也有提到过。该策略可以极大的提升算法的收敛速度。

在麻雀算法的跟随者阶段,以一定概率进行t分布扰动变异,不仅不会改变原先麻雀算法的更新原理公式,使得麻雀算法在迭代前期具有较好的全局开发能力,在迭代后期具有良好的局部探索能力,从而加快麻雀算法的收敛速度。

具体的位置更新方式如下:

1877ddc629203763a476c0c22ed45b77.png

其中t(C_iter)进行了变体。

改进点3:加入Bernoulli混沌映射,增加麻雀多样性

加入Bernoulli混沌映射,主要是增加麻雀初始化的多样性。想要替换为其他混沌映射的小伙伴可以参考这篇文章:10种混沌映射优化灰狼算法,可一键切换。

Bernoulli混沌映射,公式如下:

d6227126a3219aa54a664b96b06bb49b.png

以下两个图运行plotchaos.m可出现。

6b8412a77fbcf1f969f2ef1d3dbc871f.png

8ddfe35ffaaf6afada83b02fda5e8bbc.png

这三种策略,每一种都有自己的用处!且每种策略都是相辅相成的,缺一不可!

改进亮点

①程序可一键运行,自动生成统计表格。

每个算法各跑30次,在当前目录下可自动生成excel表格,除了对每个算法的平均值,最佳值,标准差,最差值,中位值进行统计外,还有另外一个表格专门统计秩和检验的结果。

②改进算法复杂度不变

本期推出的算法不会在循环中多次调用适应度函数,没有添加所谓的贪婪策略,反向学习等增添复杂度的手段。

③与多种智能算法进行对比试验

本期算法一共与4种效率或热度较高的智能算法进行对比试验。包括:原始麻雀算法(SSA),蜣螂算法(DBO),灰狼优化算法(GWO),北方苍鹰优化算法(NGO)。

结果展示

在CEC2005中测试:每个算法运行500次,种群设置为30个。

1d12c73074dadf8a4867a442c3c4fb48.png

95134e0a93ad1d4130532afa83e95732.png

d269a6ca6b3787f8b87a46f6a21c061e.png

e041bb551a65a2efc479ab63f7695f2c.png

596bf9bc15631dab09bb464bdf83bba0.png

cd0c79c767980a652bb10fed058e9f3b.png

d41784f83087740001eb50929948db9f.png

868b7928b55206d19e34f26d6b6ca9d7.png

这里截了一些图,可以看到在CEC2005函数的测试效果是非常不错的。

将每个算法迭代500次,种群个数设置为30个,每个函数运行30次,求最优值,标准差,平均值,最差值,中位数共五个指标如下,秩和检验结果,箱线图等如下所示。

F1函数计算结果:
NTSSA:最优值:0 标准差:0 平均值:2.4487e-264 中值:6.0217e-297 最差值:7.346e-263
DBO:最优值:4.7633e-166 标准差:3.1542e-97 平均值:5.7588e-98 中值:6.9473e-135 最差值:1.7276e-96
NGO:最优值:5.738e-90 标准差:4.1173e-87 平均值:1.8453e-87 中值:4.3969e-88 最差值:2.1893e-86
SSA:最优值:0 标准差:1.0921e-54 平均值:1.9951e-55 中值:3.371e-81 最差值:5.9819e-54
GWO:最优值:2.9248e-29 标准差:8.1727e-28 平均值:7.8522e-28 中值:5.5404e-28 最差值:3.2544e-27
F2函数计算结果:
NTSSA:最优值:2.218e-172 标准差:1.3489e-135 平均值:2.4887e-136 中值:1.3881e-150 最差值:7.3908e-135
DBO:最优值:1.5703e-81 标准差:1.5102e-53 平均值:2.7573e-54 中值:1.2293e-70 最差值:8.272e-53
NGO:最优值:7.021e-47 标准差:2.0815e-45 平均值:1.4974e-45 中值:6.3103e-46 最差值:8.5487e-45
SSA:最优值:0 标准差:2.1123e-27 平均值:3.9018e-28 中值:6.8423e-37 最差值:1.1573e-26
GWO:最优值:2.1974e-17 标准差:5.8398e-17 平均值:7.7607e-17 中值:5.1817e-17 最差值:2.5636e-16
F3函数计算结果:
NTSSA:最优值:6.6952e-299 标准差:0 平均值:1.2167e-225 中值:8.0736e-262 最差值:3.5719e-224
DBO:最优值:5.1011e-146 标准差:2.4802e-49 平均值:4.5282e-50 中值:3.0561e-112 最差值:1.3585e-48
NGO:最优值:7.3707e-31 标准差:6.6499e-21 平均值:1.3306e-21 中值:8.8755e-24 最差值:3.6519e-20
SSA:最优值:2.3399e-93 标准差:1.4579e-23 平均值:2.6618e-24 中值:4.756e-36 最差值:7.9853e-23
GWO:最优值:4.104e-08 标准差:4.4844e-05 平均值:1.4637e-05 中值:1.012e-06 最差值:0.00024052
F4函数计算结果:
NTSSA:最优值:8.6675e-162 标准差:1.7667e-113 平均值:3.2255e-114 中值:2.8467e-142 最差值:9.6764e-113
DBO:最优值:1.3239e-82 标准差:9.0445e-50 平均值:1.6774e-50 中值:1.4166e-67 最差值:4.9559e-49
NGO:最优值:1.4133e-38 标准差:1.9392e-37 平均值:1.8641e-37 中值:1.3118e-37 最差值:8.6041e-37
SSA:最优值:1.0861e-114 标准差:3.2725e-27 平均值:5.9844e-28 中值:6.3272e-44 最差值:1.7925e-26
GWO:最优值:1.7578e-07 标准差:2.4345e-06 平均值:9.9418e-07 中值:4.1139e-07 最差值:1.3664e-05
F5函数计算结果:
NTSSA:最优值:1.5737e-19 标准差:1.1117e-06 平均值:5.0902e-07 中值:7.9894e-11 最差值:4.317e-06
DBO:最优值:25.1597 标准差:0.24236 平均值:25.769 中值:25.7883 最差值:26.2928
NGO:最优值:25.0399 标准差:0.38697 平均值:25.8058 中值:25.8261 最差值:26.7666
SSA:最优值:2.1946e-09 标准差:0.00011449 平均值:3.6999e-05 中值:9.6678e-07 最差值:0.00059907
GWO:最优值:25.9708 标准差:0.71277 平均值:27.0682 中值:27.0909 最差值:28.5502
F6函数计算结果:
NTSSA:最优值:2.3842e-24 标准差:3.8056e-13 平均值:7.0955e-14 中值:4.4563e-19 最差值:2.0857e-12
DBO:最优值:5.9127e-06 标准差:0.041085 平均值:0.0078301 中值:0.00014741 最差值:0.22535
NGO:最优值:9.2805e-07 标准差:0.00049172 平均值:0.00027211 中值:1.6357e-05 最差值:0.0018643
SSA:最优值:2.2624e-16 标准差:1.9703e-11 平均值:8.3951e-12 中值:1.3183e-12 最差值:1.0598e-10
GWO:最优值:0.24885 标准差:0.29782 平均值:0.78479 中值:0.75158 最差值:1.5066
F7函数计算结果:
NTSSA:最优值:9.1441e-05 标准差:0.00064115 平均值:0.00072213 中值:0.00047314 最差值:0.0024197
DBO:最优值:9.4393e-05 标准差:0.00091153 平均值:0.0011641 中值:0.001081 最差值:0.0045568
NGO:最优值:0.00012218 标准差:0.00035454 平均值:0.00069541 中值:0.00058364 最差值:0.001531
SSA:最优值:3.218e-05 标准差:0.0010267 平均值:0.0017187 中值:0.0016299 最差值:0.0043961
GWO:最优值:0.00058692 标准差:0.00097913 平均值:0.0020562 中值:0.0020771 最差值:0.0047868
F8函数计算结果:
NTSSA:最优值:-12569.4866 标准差:1678.515 平均值:-10451.1684 中值:-9819.5086 最差值:-8208.4829
DBO:最优值:-12222.1301 标准差:1972.8794 平均值:-8315.7348 中值:-7494.4121 最差值:-6071.1764
NGO:最优值:-8194.1607 标准差:474.0859 平均值:-7437.0833 中值:-7534.9128 最差值:-6427.7209
SSA:最优值:-9760.3177 标准差:600.3155 平均值:-8598.3574 中值:-8622.1659 最差值:-7266.9474
GWO:最优值:-7320.4867 标准差:600.1397 平均值:-6087.7259 中值:-6162.8539 最差值:-5100.9283
F9函数计算结果:
NTSSA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
DBO:最优值:0 标准差:0.72662 平均值:0.13266 中值:0 最差值:3.9798
NGO:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SSA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
GWO:最优值:0 标准差:3.2819 平均值:2.0311 中值:2.558e-13 最差值:9.6945
F10函数计算结果:
NTSSA:最优值:4.4409e-16 标准差:0 平均值:4.4409e-16 中值:4.4409e-16 最差值:4.4409e-16
DBO:最优值:4.4409e-16 标准差:0 平均值:4.4409e-16 中值:4.4409e-16 最差值:4.4409e-16
NGO:最优值:3.9968e-15 标准差:1.7702e-15 平均值:5.4179e-15 中值:3.9968e-15 最差值:7.5495e-15
SSA:最优值:4.4409e-16 标准差:0 平均值:4.4409e-16 中值:4.4409e-16 最差值:4.4409e-16
GWO:最优值:7.5051e-14 标准差:1.5404e-14 平均值:1.0134e-13 中值:9.992e-14 最差值:1.3545e-13
F11函数计算结果:
NTSSA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
DBO:最优值:0 标准差:0.003148 平均值:0.00057475 中值:0 最差值:0.017242
NGO:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
SSA:最优值:0 标准差:0 平均值:0 中值:0 最差值:0
GWO:最优值:0 标准差:0.0034541 平均值:0.00090182 中值:0 最差值:0.015013
F12函数计算结果:
NTSSA:最优值:1.8932e-32 标准差:1.269e-16 平均值:2.3613e-17 中值:2.1048e-22 最差值:6.9541e-16
DBO:最优值:1.5266e-07 标准差:0.0015418 平均值:0.00034054 中值:2.9786e-06 最差值:0.0084239
NGO:最优值:1.9257e-07 标准差:0.001198 平均值:0.00024015 中值:2.4687e-06 最差值:0.0065767
SSA:最优值:2.3003e-16 标准差:4.2474e-11 平均值:8.6696e-12 中值:3.461e-13 最差值:2.3343e-10
GWO:最优值:0.019073 标准差:0.021546 平均值:0.04447 中值:0.040303 最差值:0.10467
F13函数计算结果:
NTSSA:最优值:1.1546e-29 标准差:1.274e-14 平均值:2.3842e-15 中值:1.1823e-21 最差值:6.9829e-14
DBO:最优值:5.5406e-05 标准差:0.47286 平均值:0.55624 中值:0.37375 最差值:1.5904
NGO:最优值:0.0094832 标准差:0.17502 平均值:0.24457 中值:0.19172 最差值:0.64407
SSA:最优值:3.8888e-15 标准差:1.1059e-10 平均值:3.8039e-11 中值:2.5836e-12 最差值:5.7651e-10
GWO:最优值:0.18385 标准差:0.27035 平均值:0.57197 中值:0.53991 最差值:1.0552
F14函数计算结果:
NTSSA:最优值:0.998 标准差:0.60541 平均值:1.1964 中值:0.998 最差值:2.9821
DBO:最优值:0.998 标准差:1.8098 平均值:1.4559 中值:0.998 最差值:10.7632
NGO:最优值:0.998 标准差:0 平均值:0.998 中值:0.998 最差值:0.998
SSA:最优值:0.998 标准差:4.7056 平均值:3.859 中值:0.998 最差值:12.6705
GWO:最优值:0.998 标准差:3.8605 平均值:4.365 中值:2.9821 最差值:12.6705
F15函数计算结果:
NTSSA:最优值:0.00030749 标准差:0.00019233 平均值:0.00040628 中值:0.00030749 最差值:0.0012232
DBO:最优值:0.00030749 标准差:0.00040232 平均值:0.00077246 中值:0.00073137 最差值:0.0022368
NGO:最优值:0.00030749 标准差:6.0974e-06 平均值:0.00030875 中值:0.00030749 最差值:0.00034097
SSA:最优值:0.00030749 标准差:3.4e-08 平均值:0.00030749 中值:0.00030749 最差值:0.00030767
GWO:最优值:0.00030751 标准差:0.0095675 平均值:0.0070606 中值:0.00044344 最差值:0.020363
F16函数计算结果:
NTSSA:最优值:-1.0316 标准差:5.0499e-16 平均值:-1.0316 中值:-1.0316 最差值:-1.0316
DBO:最优值:-1.0316 标准差:6.2532e-16 平均值:-1.0316 中值:-1.0316 最差值:-1.0316
NGO:最优值:-1.0316 标准差:6.4539e-16 平均值:-1.0316 中值:-1.0316 最差值:-1.0316
SSA:最优值:-1.0316 标准差:5.0499e-16 平均值:-1.0316 中值:-1.0316 最差值:-1.0316
GWO:最优值:-1.0316 标准差:1.889e-08 平均值:-1.0316 中值:-1.0316 最差值:-1.0316
F17函数计算结果:
NTSSA:最优值:0.39789 标准差:0 平均值:0.39789 中值:0.39789 最差值:0.39789
DBO:最优值:0.39789 标准差:0 平均值:0.39789 中值:0.39789 最差值:0.39789
NGO:最优值:0.39789 标准差:0 平均值:0.39789 中值:0.39789 最差值:0.39789
SSA:最优值:0.39789 标准差:0 平均值:0.39789 中值:0.39789 最差值:0.39789
GWO:最优值:0.39789 标准差:5.0589e-06 平均值:0.39789 中值:0.39789 最差值:0.3979
F18函数计算结果:
NTSSA:最优值:3 标准差:8.2385 平均值:5.7 中值:3 最差值:30
DBO:最优值:3 标准差:3.2246e-15 平均值:3 中值:3 最差值:3
NGO:最优值:3 标准差:1.01e-15 平均值:3 中值:3 最差值:3
SSA:最优值:3 标准差:4.9295 平均值:3.9 中值:3 最差值:30
GWO:最优值:3 标准差:14.7885 平均值:5.7 中值:3 最差值:84.0001
F19函数计算结果:
NTSSA:最优值:-3.8628 标准差:2.2554e-15 平均值:-3.8628 中值:-3.8628 最差值:-3.8628
DBO:最优值:-3.8628 标准差:0.0029875 平均值:-3.8615 中值:-3.8628 最差值:-3.8549
NGO:最优值:-3.8628 标准差:2.6823e-15 平均值:-3.8628 中值:-3.8628 最差值:-3.8628
SSA:最优值:-3.8628 标准差:2.2704e-15 平均值:-3.8628 中值:-3.8628 最差值:-3.8628
GWO:最优值:-3.8628 标准差:0.0028267 平均值:-3.8612 中值:-3.8627 最差值:-3.8549
F20函数计算结果:
NTSSA:最优值:-3.322 标准差:0.051146 平均值:-3.2943 中值:-3.322 最差值:-3.2031
DBO:最优值:-3.322 标准差:0.14086 平均值:-3.2255 中值:-3.2625 最差值:-2.6381
NGO:最优值:-3.322 标准差:9.4743e-11 平均值:-3.322 中值:-3.322 最差值:-3.322
SSA:最优值:-3.322 标准差:0.060328 平均值:-3.2665 中值:-3.322 最差值:-3.2031
GWO:最优值:-3.322 标准差:0.076006 平均值:-3.2587 中值:-3.322 最差值:-3.1333
F21函数计算结果:
NTSSA:最优值:-10.1532 标准差:5.4999e-15 平均值:-10.1532 中值:-10.1532 最差值:-10.1532
DBO:最优值:-10.1532 标准差:2.5512 平均值:-7.2766 中值:-5.1008 最差值:-5.0552
NGO:最优值:-10.1532 标准差:6.113e-06 平均值:-10.1532 中值:-10.1532 最差值:-10.1532
SSA:最优值:-10.1532 标准差:2.1907 平均值:-8.9591 中值:-10.1532 最差值:-5.0552
GWO:最优值:-10.1531 标准差:2.179 平均值:-8.9695 中值:-10.1511 最差值:-5.0552
F22函数计算结果:
NTSSA:最优值:-10.4029 标准差:8.0799e-16 平均值:-10.4029 中值:-10.4029 最差值:-10.4029
DBO:最优值:-10.4029 标准差:2.7911 平均值:-8.027 中值:-10.3948 最差值:-2.7659
NGO:最优值:-10.4029 标准差:7.413e-09 平均值:-10.4029 中值:-10.4029 最差值:-10.4029
SSA:最优值:-10.4029 标准差:2.2865 平均值:-9.1627 中值:-10.4029 最差值:-5.0877
GWO:最优值:-10.4027 标准差:1.8889 平均值:-9.793 中值:-10.4008 最差值:-2.7515
F23函数计算结果:
NTSSA:最优值:-10.5364 标准差:1.616e-15 平均值:-10.5364 中值:-10.5364 最差值:-10.5364
DBO:最优值:-10.5364 标准差:2.8156 平均值:-8.7632 中值:-10.5364 最差值:-1.8595
NGO:最优值:-10.5364 标准差:1.6201e-06 平均值:-10.5364 中值:-10.5364 最差值:-10.5364
SSA:最优值:-10.5364 标准差:2.3264 平均值:-9.2746 中值:-10.5364 最差值:-5.1285
GWO:最优值:-10.5362 标准差:1.7469 平均值:-10.0856 中值:-10.5349 最差值:-2.4216

五种指标一键转换为EXCEL表格:

16d20def62dfb536a9579effda9e79df.png

秩和检验结果:

a04483d55eb7c1ad58dd9567a130afaf.png

箱线图:

1e389ea6c5b7830311395878e6b4a838.png

包含一个作图的程序(plotCEC2005_Main.m)和一个统计指标一键生成excel和箱线图的程序(runsCEC2005_Main.m)和一个绘制混沌映射图的程序(plotchaos.m)。

运行后,会直接生成表格,其中result.xls即为最优值,标准差,平均值,最差值,中位数指标统计结果,ranksumresult.xls为秩和检验结果。

部分代码展示:

%%
clear
clc
close all
addpath(genpath(pwd));
number='F12'; %选定优化函数,自行替换:F1~F23
[lower_bound,upper_bound,variables_no,fobj]=CEC2005(number);  % [lb,ub,D,y]:下界、上界、维度、目标函数表达式
pop_size=30;                      % population members 
max_iter=1000;                  % maximum number of iteration
%% NTSSA
[NTSSA_Best_score,Best_pos,NTSSA_curve]=NTSSA(pop_size,max_iter,lower_bound,upper_bound,variables_no,fobj);  % Calculating the solution of the given problem using NTSSA 
display(['The best optimal value of the objective funciton found by NTSSA  for ' [num2str(number)],'  is : ', num2str(NTSSA_Best_score)]);
%% DBO
[DBO_Best_score,Best_pos,DBO_curve]=DBO(pop_size,max_iter,lower_bound,upper_bound,variables_no,fobj);  % Calculating the solution of the given problem using DBO 
display(['The best optimal value of the objective funciton found by DBO  for ' [num2str(number)],'  is : ', num2str(DBO_Best_score)]);
%% NGO
[NGO_Best_score,~,NGO_curve]=NGO(pop_size,max_iter,lower_bound,upper_bound,variables_no,fobj);
display(['The best optimal value of the objective funciton found by NGO  for ' [num2str(number)],'  is : ', num2str(NGO_Best_score)]);
%% SSA
[SSA_Best_score,~,SSA_curve]=SSA(pop_size,max_iter,lower_bound,upper_bound,variables_no,fobj);
display(['The best optimal value of the objective funciton found by SSA  for ' [num2str(number)],'  is : ', num2str(SSA_Best_score)]);
%% GWO
[GWO_Best_score,~,GWO_curve]=GWO(pop_size,max_iter,lower_bound,upper_bound,variables_no,fobj);
display(['The best optimal value of the objective funciton found by GWO  for ' [num2str(number)],'  is : ', num2str(GWO_Best_score)]);
%% Figure
figure1 = figure('Color',[1 1 1]);
G1=subplot(1,2,1,'Parent',figure1);
func_plot(number)
title(number)
xlabel('x')
ylabel('y')
zlabel('z')
subplot(1,2,2)
G2=subplot(1,2,2,'Parent',figure1);
CNT=20;
k=round(linspace(1,max_iter,CNT)); %随机选CNT个点
% 注意:如果收敛曲线画出来的点很少,随机点很稀疏,说明点取少了,这时应增加取点的数量,100、200、300等,逐渐增加
% 相反,如果收敛曲线上的随机点非常密集,说明点取多了,此时要减少取点数量
iter=1:1:max_iter;
if ~strcmp(number,'F16')&&~strcmp(number,'F9')&&~strcmp(number,'F11')  %这里是因为这几个函数收敛太快,不适用于semilogy,直接plot
    semilogy(iter(k),DBO_curve(k),'k-o','linewidth',1);
    hold on
    semilogy(iter(k),NGO_curve(k),'b-^','linewidth',1);
    hold on
    semilogy(iter(k),GWO_curve(k),'m-*','linewidth',1);
    hold on
    semilogy(iter(k),SSA_curve(k),'y-p','linewidth',1);
    hold on
    semilogy(iter(k),NTSSA_curve(k),'g-x','linewidth',1);
else
    plot(iter(k),DBO_curve(k),'k-o','linewidth',1);
    hold on
    plot(iter(k),NGO_curve(k),'b-^','linewidth',1);
    hold on
    plot(iter(k),GWO_curve(k),'m-*','linewidth',1);
    hold on
    plot(iter(k),SSA_curve(k),'y-p','linewidth',1);
    hold on
    plot(iter(k),NTSSA_curve(k),'g-x','linewidth',1);
end
grid on;
title('收敛曲线')
xlabel('迭代次数');
ylabel('适应度值');
box on
legend('DBO','NGO','GWO','SSA','NTSSA')
set (gcf,'position', [300,300,800,330])
rmpath(genpath(pwd))
点击下方卡片获取更多代码!
用Python实现一个简单的远程桌面服务端和客户端 本文介绍了一个基于Python的轻量级远程桌面解决方案,针对商业软件在嵌入式系统上的兼容性问题、性能问题和成本问题。系统采用客户端-服务端架构,包含两个通信通道:5000端口传输压缩视频流,5001端口传输控制事件。通过多线程设计、图像压缩(JPEG+zlib)和网络优化(禁用Nagle算法)等技术手段提高性能。服务端实现了高效的屏幕捕获(使用mss库)、图像处理流水线和事件处理逻辑。客户端采用PyQt5构建UI界面,包含视频接收线程以减少主线程负担。该方案具有跨平台、开源免费、轻量级(核心代码不到500行 阅读详情

相关推荐

LVGL移植教程(正点原子)

学习正点原子LVGL移植教程,根据视频教程写的博客

papalila的博客 942

自适应t分布与动态边界策略改进的算术优化算法

针对算术优化算法存在的收敛速度慢、易陷入局部最优等问题,提出了自适应t分布变异和动态边界策略改进的算术优化算法(t-CAOA)。利用引入自适应t分布变异策略提高种群的多样性和质量可以有效提升算法的收敛速度,同时通过引入余弦控制因子的动态边界策略优化AOA 的寻优过程,从而协调AOA 算法的全局勘探和局部开发能力。对10个单模态和多模态函数进行寻优实验,并与鲸鱼优化算法、灰狼优化算法等算法进行对比,实验结果表明,经过改进的算术优化算法具有更高的寻优精度和稳定性。...

心升明月的博客 5772

外设高级定时器互补输出带死区控制实验

外设高级定时器互补输出带死区控制实验

ff_juju的博客 1652

自适应t分布与黄金正弦改进的麻雀搜索算法

针对麻雀搜索算法存在的容易陷入局部最优、收敛速度慢等问题,提出一种基于自适应t分布与黄金正弦改进的麻雀搜索算法(t-GSSA)。首先,通过黄金正弦算法改进发现者的位置更新方式,增强算法局部开发和全局探索能力,并且提高算法的收敛能力;其次,利用自适应t分布变异方法,对个体位置进行扰动,提升算法跳出局部最优的能力;然后,在仿真实验中与4种基本算法基于10个基准测试函数进行比较,结果表明所提算法具有更好的收敛性和求解精度。

心升明月的博客 5613

Flutter 中使用蓝牙插件报错,说没有权限怎么解决

2、在build.grale里面更改一下版本号,我修改的是targetSdkVersion这个版本号,需要根据你自己的版本进行更改,记得更改之后先flutter clean一下再run。搞了一晚上,没搞出来,第二天用同事手机测试发现他手机可以,我手机还是不行,才发现是Android版本问题,需要修改两处地方。废话不多说,咱先看报错信息。

zzj17637822814的博客 2289

《深入掌握MongoDB数据库》 - 专栏介绍和目录

本专栏系统讲解MongoDB从基础到高级的全栈知识,涵盖安装配置、核心操作、性能优化、安全运维等核心内容。基础部分包括CRUD操作、数据类型、查询语法等入门知识;进阶部分深入索引优化、聚合查询、事务处理等高级特性;核心原理解析存储引擎与数据格式;安全运维则聚焦访问控制、认证机制、审计日志等企业级实践。通过实战案例与最佳实践,帮助开发者全面掌握MongoDB在不同场景下的应用,适合各层次技术人员系统学习。

数据知道的博客 2997

【Matlab群体智能算法第四期】基于Tent混沌映射、自适应t分布和动态选择策略的TDPSO算法(含完整matlab代码)

该篇文章基于上述改进方向的基础上,针对群体智能算法中的种群更新迭代部分进行改进讲解,本次主要介绍基于Tent混沌映射、自适应t分布和动态选择策略的改进粒子群优化算法。采用自适应t分布算法能够对种群粒子的位置进行扰动,提高算法的收敛速度。同时,将算法迭代次数iter作为自适应t分布的自由度参数,这使得算法在迭代前期具有较好的全局开发能力,在迭代后期具有良好的局部探索能力,极大的提高了算法的收敛速度及求解效率。

hbdlhy的博客 3948

Web3:Ubuntu系统 使用Docker-compose方式部署blockscout浏览器&配置版本-v5.2.3-beta+charts图表

详细介绍了在Ubuntu 23.04系统上部署Blockscout浏览器的步骤,以及过程中遇到的问题进行一一解决。

鄙人kunzhi96,感恩遇见! 2万+

改进北方苍鹰优化算法SCNGO

1)北方苍鹰优化算法是一种基于鹰群行为的启发式优化算法,其灵感来源于鹰群的捕食行为。1.采用折射反向学习策略初始化北方苍鹰算法个体,基本思想是通过计算当前解的反向解来扩大搜索范围,借此找出给定问题更好的备选解;4. 根据适应度函数,评估更新后的鹰个体的适应度,选择适应度较高的鹰作为新的种群。1. 鹰群的搜索行为模拟了自然界中的优化过程,具有较强的全局搜索能力。2. 根据问题的特点,设计适应度函数来评估每个鹰个体的适应度。3. 迭代更新每个鹰个体的位置和速度,以模拟鹰群的搜索行为。

2301_78913398的博客 904

Python之abbrobotegm包语法、参数和实际应用案例

`abbrobotegm` 是用于控制 ABB 机器人的 Python 接口包,主要通过 EGM(Externally Guided Motion,外部引导运动)协议与 ABB 机器人控制器进行通信,实现对机器人的实时位置控制、状态监控和运动引导等功能。该包适用于需要将 ABB 机器人与外部系统(如视觉系统、传感器等)集成的场景。

王国平的博客 1255

第1章:认识OpenClaw

OpenClaw是一个开源的 AI 智能体 Gateway 网关项目名称演变:OpenClaw 原名 Clawdbot,因 Anthropic 商标顾虑在 2026年1月27日更名为 Moltbot(过渡名),最终在1月30日确定为 OpenClaw。三个名字本质是同一个项目,功能完全一致。🏠在你的电脑上运行:完全本地部署,数据隐私有保障📁访问本地文件:可以搜索、读取、编辑你电脑上的文件🔌扩展能力:通过Skills(技能)系统无限扩展功能💬多平台使用。

Maynor的博客 2834

融合减法优化器和柯西变异的北方苍鹰算法,效果极好!独家原创!精品力荐!MATLAB代码...

声明:对于作者的原创代码,禁止转售倒卖,违者必究!北方苍鹰算法(NGO)是2021年由Dehghani M等人提出的,该算法模拟了北方苍鹰识别猎物和追逐猎物的自然行为。该成果于2021年发表在知名SCI期刊IEEEAccess上。自算法推出以来,深受欢迎!目前谷歌学术上查询被引119次。知网上也可以查到很多关于北方苍鹰算法改进的文章。本次推文融合2023年新算法:减法优化器算法,并配合其他策略对...

淘个代码 1192

26. Fabric2.2 司法存证的智能合约分析

有很多同学反馈 Fabric 智能合约读起来比较费劲,对于新手不友好看不懂,这里选择一个司法存证的智能合约,阅读、分析智能合约基础框架与核心流程代码,培养大家智能合约编写的方法论。

菜鸟的博客 1339

自适应t分布与黄金正弦改进的麻雀搜索算法-附代码

摘要:针对麻雀搜索算法存在的容易陷入局部最优、收敛速度慢等问题,提出一种基于自适应t分布与黄金正弦改进的麻雀搜索算法(t-GSSA)。首先,通过黄金正弦算法改进发现者的位置更新方式,增强算法局部开发和全局探索能力,并且提高算法的收敛能力;其次,利用自适应t分布变异方法,对个体位置进行扰动,提升算法跳出局部最优的能力;

Jack旭的博客 2474

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【优化求解】基于自适应t分布的麻雀搜索算法matlab源码

一、麻雀算法 优化问题是科学研究和工程实践领域中的热门问题。智能优化算法大多是受到人类智能、生物群体社会性或自然现象规律的启发,在解空间内进行全局优化。麻雀算法于2020年由薛建凯[1]首次提出,是基于麻雀种群的觅食和反捕食行为的一种新型智能优化算法。 麻雀搜索算法的具体步骤描述以及公式介绍: 构建麻雀种群: 其中,d表示待优化问题的维数,n表示麻雀种群的数量。所有麻雀种群的适应度函数可以表示成如下形式: 其中,Fx表示适应度函数值。 麻雀算法中的麻雀具有两大类分别是发现者和加入者,发现者负

m0_57702748的博客 1206

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

基于自适应t分布的麻雀搜索算法-附代码

基于自适应t分布的麻雀搜索算法 文章目录基于自适应t分布的麻雀搜索算法1.自适应t分布策略2.基于自适应t分布策略的麻雀搜索算法3.算法结果:4.Matlab5.Python 1.自适应t分布策略 t分布又称学生分布,含有参数自由度n,它的曲线形态与自由度n的大小有关,n的值越小,其曲线越平坦,曲线中间越低,曲线双侧尾部翘得越高。高斯分布,柯西分布与t分布的对比图如下: 对麻雀位置利用自适应t分布进行更新如下式所示: xit=xi+xi∗t(iter)(1) x_i^t = x_i + x_i*t(ite

Jack旭的博客 2219

基于北方苍鹰优化算法优化自适应经验变模态NGO-ICEEMDAN实现信号分解附matlab实现

信号处理是现代科学技术中的重要组成部分,而信号去噪作为信号处理的一个重要分支,在许多领域中都有着广泛的应用。随着科技的不断发展,人们对信号处理技术的要求也越来越高,因此如何更好地去噪信号成为了一个热门的研究课题。在信号处理领域,经验模态分解(EMD)是一种非常有效的信号分解方法,它可以将复杂的信号分解成若干个固有模态函数(IMF),从而方便地对信号进行分析和处理。然而,传统的EMD方法在处理噪声干扰时存在着一些问题,这就需要对其进行改进和优化。

Matlab_dashi的博客 621

可视化两条线之间的异常附matlab代码

​。

qq_59747472的博客 482

阈值分割|基于改进的北方苍鹰优化算法多阈值图像分割附Matlab实现

在当今数字图像处理领域,图像分割是一项重要而复杂的任务。图像分割的目标是将一幅图像划分成若干个不同的区域,使得每个区域内的像素具有相似的特征。这项任务在许多应用中都扮演着关键角色,例如计算机视觉、医学图像处理、目标识别等。在图像分割算法中,阈值分割是一种常用的方法。它基于像素的灰度值,将图像中的像素分为不同的类别。然而,传统的阈值分割方法往往只能处理单一阈值的情况,对于复杂的图像,效果并不理想。为了解决这个问题,研究人员提出了许多改进的图像分割算法。其中一种方法是基于优化算法的多阈值图像分割。

m0_57702748的博客 271

基于领导者自适应步长改进的北方苍鹰优化算法(INGO)

在北方苍鹰优化算法中,苍鹰的捕猎过程被分为两个阶段:猎物识别与攻击(勘探阶段)和追逐及逃生(开发阶段)。在勘探阶段,苍鹰会随机选择一个猎物并迅速发起攻击,这个过程类似于全局搜索,目的是为了寻找更好的解。根据NFL定理,激励读者对其进行改进,提出了最佳领导者策略和自适应莱维步长方法进行改进,为了验证改进效果,将改进算法INGO与原始NGO算法在23个经典基准测试函数上经行对比。北方苍鹰优化算法具有全局搜索和局部搜索相结合的特点,可以处理复杂的优化问题,尤其适用于多峰值、非线性、离散和连续混合优化问题。

2301_82017165的博客 882

自适应 t 分布与动态边界策略改进的算术优化算法-附代码

摘要:针对算术优化算法(arithmetic optimization algorithm)存在的收敛速度慢、易陷入局部最优等问题,提出了自适应t分布变异和动态边界策略改进的算术优化算法(t-CAOA)。利用引入自适应t分布变异策略提高种群的多样性和质量可以有效提升算法的收敛速度,同时通过引入余弦控制因子的动态边界策略优化AOA的寻优过程,从而协调AOA算法的全局勘探和局部开发能力。

Jack旭的博客 2302

【群智能算法】一种改进的北方苍鹰优化算法 改进北方苍鹰算法INGO[1]【Matlab代码#1】

一种改进的北方苍鹰优化算法 Matlab代码

jayxiaoxionger的博客 1803

基于自适应t分布的麻雀搜索算法求解单目标优化问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。????个人主页:Matlab科研工作室????个人信条:格物致知。⛄ 内容介绍针对麻雀搜索算法收敛速度慢、难以跳出局部最优等问题,提出一种基于t分布变异的改进麻雀搜索算法.在更新麻雀种群加入者位置后,引入自适应t分布变异,对加入者位置产生扰...

Matlab_dashi的博客 318

常用智能优化算法改进策略---变异篇(五种变异策略)可用于改进所有智能算法,让小白也会改进智能算法。...

本期文章将讲述常用智能优化算法改进策略---变异篇,一共包含五种常见的变异策略:高斯变异,t分布扰动变异,自适应t分布扰动变异,柯西变异,差分变异。五种策略可以方便移植到其他智能算法的改进中!为了方便大家对变异策略的深入了解,作者将在简单易懂的粒子群算法教大家如何运用这五种策略,今后也方便大家移植到别的智能算法中。高斯变异:高斯函数如下:带入粒子群算法中如下:t分布扰动变异:带入粒子群算法中如下:...

淘个代码 1万+

自适应t分布与动态边界策略的算术优化算法:收敛性优越且代码注释详尽

实际跑起来看收敛曲线,会发现改进后的算法(红色曲线)在迭代中期就开始稳定收敛,而原版AOA(蓝色)还在震荡。测试集上的平均收敛代数缩短了37%,特别是高维问题上优势更明显——这要归功于t分布的拖尾特性抓住了潜在优质解,动态边界又及时聚焦搜索范围。这个边界收缩策略就像不断缩小的智能探照灯,既保证搜索区域逐渐聚焦,又不会完全局限在某个小区域。传统AOA在位置更新时用的固定分布,而咱们这次让算法能自己调整t分布的自由度参数。自适应t分布与动态边界策略改进的算术优化算法,算法收敛性好,代码注释详细。

qq__487739278的博客 327

【机器人栅格地图】基于豪猪算法CPO实现栅格地图路径规划(目标函数:最短距离)附Matlab代码

摘要: 本文探讨了在机器人栅格地图环境下,利用豪猪算法(CPO,Covariance Matrix Adaptation Evolution Strategy with Path Optimization)进行路径规划的问题。目标函数设定为路径长度最小化。文章首先介绍了栅格地图表示法以及路径规划问题的基本概念,然后详细阐述了豪猪算法的原理及其在路径规划中的应用,包括参数设置、算法流程以及与其他常用算法的比较。最后,通过仿真实验验证了该方法的有效性,并分析了其优缺点以及未来的改进方向。

qq_59747472的博客 847

北核论文完美复现:自适应t分布与动态边界策略改进的算术优化算法

​很多小伙伴问我,某某算法到底该怎么改效果比较好。实话讲,如果不经过实验,我随便说一个策略,效果能好吗?至于加什么策略,怎么加策略,为什么加这个策略,都是需要经过实验才能得出来的。

QSJIQIXUEXI的博客 2391
上一篇: 47种常用测试函数,对应详细公式!MATLAB代码免费获取!
下一篇: 优化VMD全家桶!
淘个代码_
博客等级 码龄7年 1万+粉丝 504原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

淘个代码_

不想刀我的可以选择爱我

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

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

打赏作者

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

抵扣说明:

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

余额充值