|
一、布谷鸟搜索算法
<hr/>1、参考文献
[1]吴浩峻,郝启润,聂群,王浩亮,王丹.基于骑手优化的动态布谷鸟搜索算法[J/OL].计算机应用研究:1-7[2022-04-28].DOI:10.19734/j.issn.1001-3695.2022.01.0001.
[1]庄丽丽. 基于改进布谷鸟搜索的k-means算法的离群点检测[D].沈阳工业大学,2021.DOI:10.27322/d.cnki.gsgyu.2021.000714.
[1]张毅. 布谷鸟搜索算法的研究与应用[D].曲阜师范大学,2020.DOI:10.27267/d.cnki.gqfsu.2020.000952.
[1]林鹏. 改进的布谷鸟搜索算法及其在阵列天线方向图优化的应用[D].吉林大学,2020.DOI:10.27162/d.cnki.gjlin.2020.006574.
[1]尚志勇. 基于改进布谷鸟搜索算法的配送中心选址问题研究[D].河南大学,2019.
[1]杨健,周涛,郭丽芳,张飞飞,梁蒙蒙.基于布谷鸟搜索和深度信念网络的肺部肿瘤图像识别算法[J].计算机应用,2018,38(11):3225-3230.
<hr/>2、布谷鸟搜索算法的研究与应用
——参数分析
(1)基本参数 布谷鸟种群规模 n | 最大迭代次数t | 问题规模 | 鸟巢的适应度函数 | 初始设置参数,通常根据具体求解问题设定,在算法运行的过程中保持不变 | 控制着算法运行成本以及该算法的运行上的上限 | 取决于具体的求解问题 | 适应度函数为该鸟巢的质量标准,也就是目标函数值 | 一般情况下通常将种群规模设定为 n =15 ~ 40 | <hr/>(2)步长参数 算法的步长决定算法搜索解的空间,一般情况下,布谷鸟搜索算法步长通常取 =1。
固定的步长设置一定程度上限制了对解的搜索,在算法的运行初期,步长取较大值时可以扩大搜索空间,达到较好的全局搜索;当算法运行到较小空间时,缩短步长可以更有利于局部搜索,提高搜索精度;因此步长对算法的搜索效率影响显著。
<hr/>(3)发现概率 发现概率是指该鸟巢寄宿是否被其他鸟类发现的,基本的布谷鸟搜索算法一般情况下将发现概率设定为0.25。
对搜索到的解,再通过发现概率进行淘汰,如当前解被发现,则需放弃该解,继续进行解的搜索进行更新;如当前解不被发现,则保留该解。因此发现概率控制着算法的全局搜索和局部搜索的均衡[64]。
当发现概率取值较小时,局部搜索加强,如果发现概率取值过于小,又使得算法效率受到影响;当发现概率取值较大时,全局搜索加强;理想的情况是 发现概率在算法迭代运行的前后期能够采取 先大后小 的取值趋势以有利于解的搜索,实现对算法性能的较好调控。
<hr/>3、改进的布谷鸟搜索算法及其在阵列天线方向图优化的应用
——概念梳理
布谷鸟算法借鉴了布谷鸟的巢寄生育雏行为,同时结合莱维飞行机制更新鸟巢的位置,从而使布谷鸟产下鸟蛋,雏鸟经过孵化长大成为新的布谷鸟,继续找寻优质巢穴产蛋,经过数论迭代,最终可以得到最优化问题的解。
布谷鸟算法将布谷鸟选择寄生的宿主巢穴映射为最优化问题的解,巢穴中孵化出的布谷鸟雏鸟通过模拟宿主雏鸟的叫声来获得食物供给,减小自身被宿主怀疑并发现的概率的同时可以拥有更高的存活率,这种鸟巢中的雏鸟被看作优质解。同时,布谷鸟算法遵循下述三个假设条件:
自然界中,动物觅食是一个必要的行为,而觅食的前提就是发现食物,这就形成了多种多样的觅食策略。一般来说,动物的觅食策略是随机或者伪随机的,最自然的策略就是布朗运动。
文献[26]和[27]表明,许多鸟类的飞行行为都表现出莱维飞行特征,比如信天翁、蜘蛛猴、蜜蜂、果蝇等。文献[28]的研究表明,人类的行为也存在与莱维飞行类似的行为。
在 20 世纪 30 年代,法国数学家保罗.莱维提出了莱维分布的概念。在莱维的研究中,莱维飞行的跳跃路径与时间 t 是服从莱维分布的。莱维飞行[29]本质上是一种随机游走机制,是非高斯随机过程中的一类,它同时具有短距离飞行和长距离飞行,其中短距离飞行频率较高,长距离飞行频率较低。短距离的飞行会有在一定范围内的聚集的表现,而通过长距离飞行的方式可以实现短距离飞行在全局的不同区域内进行,即较短的飞行组成的聚集被较长的飞行隔离开。莱维分布可以表示如下:
<hr/>二、粒子群算法
代码
pso_dbn(原始版本)
clc
clear;
close
load final.mat;%样本
%load demo.mat;%样本
%%
c1 = 1.49445; c2 = 1.49445;
maxgen=5; % 进化次数
sizepop=5; %种群规模
Vmax=0.5; Vmin=-0.5;
popmax=0.5; popmin=0;
%popmax=100; popmin=10;
%% 产生初始粒子和速度
for i=1:sizepop
%随机产生一个种群
y=abs(rands(sizepop,1));
pop(i,:)=y(i);
% rand(&#39;state&#39;,0);
% pop(i,:)=rand;
V(i,:)=0.5*y(i); %初始化速度
%pop(i,:)=abs(ceil(200*rands(1,2)));
%V(i,:)=0.5*rands(1,2); %初始化速度
%
%计算适应度
[fitness(i),bad]=fucdbn(pop(i),train_x,train_y,test_x,test_y); %染色体的适应度
%[fitness(i),bad]=fucdbn(pop(i,1),pop(i,2),train_x,train_y,test_x,test_y); %染色体的适应度
end
%% 个体极值和群体极值
[bestfitness,bestindex]=min(fitness);
zbest=pop(bestindex,:); %全局最佳
gbest=pop; %个体最佳
fitnessgbest=fitness; %个体最佳适应度值
fitnesszbest=bestfitness; %全局最佳适应度值
%% 迭代寻优
for i=1:maxgen
for j=1:sizepop
%速度更新
V(j,:) = V(j,:) + c1*rand*(gbest(j,:) - pop(j,:)) + c2*rand*(zbest - pop(j,:));
V(j,find(V(j,:)>Vmax))=Vmax;
V(j,find(V(j,:)<Vmin))=Vmin;
%}
%种群更新
pop(j,:)=pop(j,:)+0.5*V(j,:); %pop(j,:)=ceil(pop(j,:));
pop(j,find(pop(j,:)>popmax))=popmax;
pop(j,find(pop(j,:)<popmin))=popmin;
%{
if pop(j,1)<pop(j,2)
pp=pop(j,1);
pop(j,1)=pop(j,2);
pop(j,2)=pp;
end
%}
%适应度值
[fitness(j),bad]=fucdbn(pop(j),train_x,train_y,test_x,test_y);
end
for j=1:sizepop
%个体最优更新
if fitness(j) < fitnessgbest(j)
gbest(j,:) = pop(j,:);
fitnessgbest(j) = fitness(j);
end
%群体最优更新
if fitness(j) < fitnesszbest
zbest = pop(j,:);
fitnesszbest = fitness(j);
end
end
yy(i)=fitnesszbest;
end
%% 结果分析
plot(yy)
title(&#39;最优个体适应度&#39;,&#39;fontsize&#39;,12);
xlabel(&#39;进化代数&#39;,&#39;fontsize&#39;,12);ylabel(&#39;适应度&#39;,&#39;fontsize&#39;,12);1、参考文献
[1]毛震. 基于改进粒子群算法的光伏电站并网预测研究[D].沈阳工业大学,2021.DOI:10.27322/d.cnki.gsgyu.2021.000277.
[1]冯茜. 基于改进粒子群算法的多目标优化及其应用[D].北京科技大学,2022.DOI:10.26945/d.cnki.gbjku.2022.000091.
[1]葛英健. 基于改进粒子群算法的相位差共相探测技术研究[D].中国科学院大学(中国科学院光电技术研究所),2021.DOI:10.27543/d.cnki.gkgdk.2021.000093.
<hr/>2、参考博客
——1)
下面开始在Matlab中求该函数的最小值,具体代码如下:
首先绘制函数图像并显示出粒子的初始分布
直接复制原文代码会报错,原因是没有添加适应度函数。
改进代码如下:
<hr/>——2)
<hr/>——3)
<hr/>——4)
<hr/>三、量子粒子群算法
1、参考文献
——1)中南大学
[1]李继松. 自适应参数调整量子粒子群算法研究及应用[D].中南大学,2014.
<hr/>(1)量子计算基础
量子力学研究如何描述粒子系统的状态把微观粒子具有的那些神奇的属性统称为 量子特性。
量子特性 包括量子的波粒二象性、量子态叠加性、量子态相干性、态叠加原理、量子态纠缠性、不可分离性、不确定性等。
量子计算作为一种全新的计算模式,是以量子力学为基础,通过与数学、信息科学和复杂性科学等多学科交叉而形成的。因为量子表现出多态性,量子的重叠与牵连原理会产生巨大的计算能力。例如计算机中的2位寄存器在某一时间仅能存储4个二进制(00、01、11、10)的一个,而量子计算机中的2位量子位寄存器可以同时存储这4个数,因为 每一个量子位可以表示两个值。
量子计算具有强大的运算能力和理论创新性,它具有并行性、指数级存储容量和指数加速等特征,对未来人类社会的发展、生活方式、科学技术等产生质的改变。
量子计算技术可以解决经典方法难以解决或无法解决的许多问题,广泛应用于量子算法、量子通信和量子密码技术等领域,同时给其他科学技术带来了创造性的方法,因此现已成为当今世界各国紧密跟踪的研究热点和前沿学科之一。
(2)量子信息
用 量子比特 来存储和处理信息,称为 量子信息。
量子信息与经典信息最大的不同在于:经典信息中,比特只能处在一个状态,非1即0。在经典计算机中,比特是构成计算机内信息的最小单位,所有的信息都是由0与1组成、保存、运算及传递的;
<hr/>——2)兰州理工
[1]王世亮. 基于改进量子粒子群算法的智能电网多目标优化规划研究[D].兰州理工大学,2014.
<hr/>——3)华北电力
[1]张泽奇. 基于改进量子粒子群算法的微电网经济调度研究[D].华北电力大学(北京),2021.DOI:10.27140/d.cnki.ghbbu.2021.001180.
<hr/>[1]方伟,孙俊,谢振平,须文波.量子粒子群优化算法的收敛性分析及控制参数研究[J].物理学报,2010,59(06):3686-3694.
[1]孙俊. 量子行为粒子群优化算法研究[D].江南大学,2009.
张艺瀛,金志刚. 一种高维多模态优化的量子粒子群优化算法[J]. 哈尔滨工业大学学报,2018,50(11):50-58,82. DOI:10.11918/j.issn.0367-6234.201806065.
2、参考博客
<hr/><hr/>当前位置 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|