![自适应遗传算法_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/ec5379a3-c105-41c6-99f8-a4a16ae5e25f/ec5379a3-c105-41c6-99f8-a4a16ae5e25f1.gif)
![自适应遗传算法_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/ec5379a3-c105-41c6-99f8-a4a16ae5e25f/ec5379a3-c105-41c6-99f8-a4a16ae5e25f2.gif)
![自适应遗传算法_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/ec5379a3-c105-41c6-99f8-a4a16ae5e25f/ec5379a3-c105-41c6-99f8-a4a16ae5e25f3.gif)
![自适应遗传算法_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/ec5379a3-c105-41c6-99f8-a4a16ae5e25f/ec5379a3-c105-41c6-99f8-a4a16ae5e25f4.gif)
![自适应遗传算法_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/ec5379a3-c105-41c6-99f8-a4a16ae5e25f/ec5379a3-c105-41c6-99f8-a4a16ae5e25f5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自适应遗传算法一.主要流程:1 .参数的初始化。设定遗传种群规模 N,阵元数M,信源数P等。2 .编码。采用十进制编码方法。3 .初始种群的产生。随机数生成。4 .适应度函数的评价。选取f 0 tr PaR(1)其中,Pa A(AHA) 1AH(2)Pa是A的投影矩阵,A是阵列流型。1 L HR - XX H(3)L i 1R是数据协方差矩阵的最大似然估计。5 .选择。比例选择方法与精英选择方法结合使用,在当代种群中选择优良个体 遗传到下一代。既保证了种群的多样性,也使最优个体得以保留。1)比例选择方法(赌轮盘法):每个个体被选中的概率与它的适应度函数 值大小成正比,即适应度函数越高的个体被选
2、中的概率也就越高。2)精英选择方法:让种群中适应度函数值最高的个体不进行配对交叉, 直接复制到下一代中。但是容易陷入局部最优解,全局搜索能力差。6 .交叉。按照概率Pc对种群中个体两两配对,进行交叉操作。本文中选取算数 交叉的方式。算数交叉:是由两个个体的线性组合来产生新的个体,假设第 t代的两个 个体为A(t)、B(t),则算数交叉后产生的新个体是At1 Bt 1 At(4)B-At 1 Bt(5)其中,a选取(0, 1)之间的随机数。交叉概率:使交叉概率随着遗传代数的增长,逐渐减小,目的是进化前期注重交叉运算,全局搜索能力强。Pc 0.4* cos T - 0.2(6)K 2其中,T是进化
3、代数,K是总进化次数。7 .变异。按照概率Pm对种群个体进行变异。本文中选取均匀变异的方式。均匀变异:如某基因座上的基因值为 Xk,其取值范围为Umin,Umax,对其 进行变异后的值为Xk = Umin + r(U max -Umin )(7)其中,r选取0,1之间的随机数。变异概率:使变异概率随着遗传代数的增长,逐渐增加,目的是进化后期 注重变异运算,局部搜索能力强。Pm 0.045* sin T 0.005(8)K 2其中,T是进化代数,K是总进化次数。8 .终止条件判断。若已达到设定的最大遗传代数,则迭代终止,输出最优解; 若不满足终止条件,则返回第 4步,进行迭代寻优过程。I交丈算干
4、图1遗传算运算流程图1种群容量对角度均方根误差的影响实验条件:由8个阵元构成均匀线性阵列,阵元间距为半个波长,空间中有 2个互不相关的窄带信号源,存在于该阵列的远场区域内。两个信号源的波达方 向分别为-20和60°,快拍数取值128,信噪比取值20dB。种群容量范围50,400, 间隔50取值,循环代数200,交叉概率取值P 04*c0s1 02 变异概cK 2,率取值 Pm 0.045* sin T K 20.005 。蒙特卡洛实验次数200。图2种群容量对角度均方根误差的影响通过图2可知,当循环代数一定时,随着种群容量的增加,角度均方根误差 逐渐减小。2 .循环代数对角度均方根误
5、差的影响实验条件:由8个阵元构成均匀线性阵列,阵元间距为半个波长,空间中有 2个互不相关的窄带信号源,存在于该阵列的远场区域内。两个信号源的波达方 向分别为-20和60°,快拍数取值128,信噪比取值20dB。种群容量200,循环代数范围50,400,间隔50取值,交叉概率取值P 04* cos T _02变异概c . K 2.'率取值 Pm 0.045* sin T 一K 20.005 。蒙特卡洛实验次数200。07自运应遗传算法定I1O0150200250300350 W0循环代业9.图3循环代数对角度均方根误差的影响通过图3可知,当种群容量一定,随着循环代数的增加,角度
6、均方根误差曲 线平稳,角度测量准确度无改善。3 .信噪比对角度均方根误差的影响实验条件:由8个阵元构成均匀线性阵列,阵元间距为半个波长,空间中有 2个互不相关的窄带信号源,存在于该阵列的远场区域内。两个信号源的波达方 向分别为-20和60°,快拍数取值128,信噪比取值卜10,20dB,步进4dB。种群容量 200,循环代数200,交叉概率取值pc 0.4* cos T 0.2,变异概率取值K 2Pm 0.045* sin T K 20.005 。蒙特卡洛实验次数2000自适应遗传算法.21 1 htnhlB10图4信噪比对角度均方根误差的影响通过图4可知,随着信噪比的增加,角度均方
7、根误差逐渐减小,并趋于平稳,小 于1°。4 .小快拍数下角度差值对角度均方根误差的影响实验条件:由8个阵元构成均匀线性阵列,阵元间距为半个波长,空间中有 2个互不相关的窄带信号源,存在于该阵列的远场区域内。两个信号源的入射角 相差5,35 ° ,步进5° ,快拍数取值20,信噪比取值20dB。种群容量200,循环代数200 ,交叉概率取值Pc 0.4* cos T -0.2 ,变异概率取值K 2Pm 0.045* sin T 一K 20.005。蒙特卡洛实验次数10010152025门是,土寻十. 土 24 2 181 1 D图5小快拍条件下入射角度差值对均方根误
8、差的影响通过图5可知,在相同条件下,随着入射角度之间差值增大,对角度测量的 误差减小。5 .低信噪比下快拍数对角度均方根误差的影响实验条件:由8个阵元构成均匀线性阵列,阵元间距为半个波长,空间中有 2个互不相关的窄带信号源,存在于该阵列的远场区域内。两个信号源的入射角 分别为-20°、50° ,快拍数取值25, 150,步进5,信噪比取值-10dB。种群容量200,循环代数200,交叉概率取值pc 0.4* cosT 0.2,变异概率取值K 2Pm 0.045* sin T 0.005。蒙特卡洛实验次数100。K 2hi1幻大构 W M IM 120 HD 190 快k僚图
9、6低信噪比下快拍数对角度均方根误差的影响通过图6可知,低信噪比情况下,随着快拍数的增长,角度均方根误差的逐渐 减小,但是角度估计的准确度低。6 .高信噪比下快拍数对角度均方根误差的影响实验条件:由8个阵元构成均匀线性阵列,阵元间距为半个波长,空间中有 2个互不相关的窄带信号源,存在于该阵列的远场区域内。两个信号源的入射角 分别为-20°、50° ,快拍数取值25, 150,步进5,信噪比取值20dB。种群容量200,循环代数200,交叉概率取值pc 0.4* cos T 0.2,变异概率取值K 2Pm 0.045* sin T K 20.005。蒙特卡洛实验次数1001LL
10、J詈比口0知 4Q 前100120140快加融向适应遗仕算法. 赤代;.20CI .iMLSNH 20d=D.760.74图7高信噪比下快拍数对角度均方根误差的影响角度均方根误差通过图7可知,在信噪比较大的情况下,在不同的快拍数下, 变化趋于平稳,波动小。三.仿真程序1 .基于自适应遗传算法的最大似然估计%下面举例说明遗传算法%求下列函数的最大值% 适应值函数:maxtrace(PA*R) , theta 6 -90,90 %十进制种群均匀线阵赌轮盘法精英选择法%编程%clear allclcticM=8;f=1000;%中心频率c=1500;%速度lambda=c/f;%波长d=lambda
11、/2;%阵元间距%SNR=-10:2:20;SNR=20; %信噪比N=128; %快拍数K=10; %试验次数%Iterations=50:50:400;循环次数%popsize=51:50:401;种群容量popsize=201;for g=1:length(SNR)%可以在这里修改循环条件%阵列流型Afor i=1:PA(:,i)=exp(-j*2*pi*d*0:M-1'/lambda*sin(doa(i)/180*pi);%均匀线性阵的阵列流型矢量。 end%信源模型建立 S=zeros(P,N(g);for k=1:PS(k,:尸sqrt(10A(SNR/10)*(randn
12、(1,N(g)+j*randn(1,N(g);%sqrt(10.A(snr/10) 使信号符合该信噪比。 end%接收信号模型建立X=A*S+1/sqrt(2)*(randn(M,N(g)+j*randn(M,N(g);%1/sqrt(2) 使高斯白噪声的能量为1 。R=X*X'/N(g);V,D=eig(R);% V,D=eig(A) :求矩阵R的全部特征值,构成对角阵D,并求A的特征向量构成V 的列向量。Y,I=sort(diag(D);%diag是将对角阵的对角元素提取成一个向量.如果A是向量,sort(A) 对 A 中元素按照升序排列。%如果 A 是矩阵 sort(A) 对 A
13、 按每一列元素按照升序排列。Y 为排列后矩阵,I 是原矩阵中各元素位置所组成的新矩阵。Un=V(:,I(1:M-P);%把原矩阵第1 到 M-P 列中的数对应到V 矩阵中的列数,建立新的矩阵赋值给 UnUs=V(:,I(M-P+1:M);%信号子空间for k=1:K%试验次数%popsize=201; % 群体大小chromlength=2;%字符串长度(个体长度)pop=initpop(popsize,chromlength);for i=1: 200%200 为迭代次数pc=0.4*cos(i*pi/(2*200)+0.2;减小。pm=0.045*sin(i*pi/(2*200)+0.0
14、5;objvalue=calobjvalue(pop,M,d,lambda,R);newpop1=selection(pop,objvalue);newpop2=crossover(newpop1,pc);newpop3=mutation(newpop2,pm);pop=newpop3;%随机产生初始群体%交叉概率,进行自适应改变,随着代数增加,逐渐%变异概率,随着代数增加,逐渐变大。%计算目标函数%复制%交叉%变异endobjvalue=calobjvalue(newpop3,M,d,lambda,R);%计算目标函数bestindividual,bestfit=best(newpop3,o
15、bjvalue); 个体及其适应值y(k,:)=bestindividual;%最优个体y(k,:)=sort(y(k,:),2);%测得角度按顺序排列mistake(g,2*k-1:2*k)=y(k,:)-sort(doa);endRMSE(g,:尸sqrt(sum(mistake(g,:)A2,2)/2/K);endToc2. 种群生成初始化 ( 编码 )% initpop.m 函数的功能是实现群体的初始化,表示染色体的长度.%遗传算法子程序%Name: initpop.m%初始化function pop=initpop(popsize,chromlength)%每次实验的误差矩阵%均方根
16、误差%求出群体中适应值最大的popsize 表示群体的大小,chromlengthpop=(rand(popsize,chromlength)-0.5*ones(popsize,chromlength)*180;数为 popsize ,列数为chromlength 的矩阵,%这样产生的初始种群。%行3. 计算目标函数值% 计算目标函数值% calobjvalue.m 函数的功能是实现目标函数的计算,其公式采用本文示例仿真,可根据不 同优化问题予以修改。%遗传算法子程序%Name: calobjvalue.m%实现目标函数的计算function objvalue=calobjvalue(pop,
17、M,d,lambda,R)px=size(pop,1);for i=1:pxA1(:,i)=exp(-j*2*pi*d*0:M-1'/lambda*sin(pi*pop(i,1)/180);%导向矢量A2(:,i)=exp(-j*2*pi*d*0:M-1'/lambda*sin(pi*pop(i,2)/180);%导向矢量objvalue(i,:)=(trace(A1(:,i)A2(:,i)*pinv(A1(:,i)A2(:,i)'*A1(:,i)A2(:,i)*A1(:,i) A2(:,i)'*R);%计算目标函数值(最大似然法)%objvalue(i,:)=
18、(trace(A1(:,i) A2(:,i)*pinv(A1(:,i)A2(:,i)'*A1(:,i)A2(:,i)*A1(:,i)A2(:,i)'*Us*Us');%计算目标函数值(子空间拟合算法)End4. 选择% 选择复制% 选择或复制操作是决定哪些个体可以进入下一代。程序中采用赌轮盘选择法选择,这种方法较易实现。%根据方程pi=fi/ Efi=fi/fsum ,选择步骤:% 1 ) 在第 t 代,由(1 )式计算fsum 和 pi% 2 ) 产生 0,1 的随机数rand( .) ,求 s=rand( .)*fsum% 3)求汇fi Rs中最小的k ,则第k个个
19、体被选中% 4 ) 进行 N 次 2) 、 3)操作,得到N 个个体,成为第t=t+1 代种群%遗传算法子程序%Name: selection.m %选择复制function newpop=selection(pop,objvalue)totalfit=sum(objvalue);%求适应值之和objvalue1=objvalue/totalfit;%单个个体被选择的概率objvalue2=cumsum(objvalue1);%如fitvalue=1 2 3 4,则cumsum(fitvalue)=1 3 6 10px=size(pop,1);ms=sort(rand(px,1);%从小到大排
20、列fitin=1;newin=1;while newin<=pxif (ms(newin)<objvalue2(fitin)newpop(newin,:)=pop(fitin,:);newin=newin+1;elsefitin=fitin+1;endenda,b=max(objvalue);newpop(1,:)=pop(b,:);%选出最优的个体,插入到新种群的第一行。5. 交叉%交叉% 交叉 (crossover) , 群体中的每个个体之间都以一定的概率pc 交叉, 即两个个体从各自字符串的某一位置% (一般是随机确定)开始互相交换,这类似生物进化过程中的基因分裂与重组。例如,假设2个父代个体x1 , x2 为:% x1=49.67% x2=30.-20% 交又后得到2 个新的子代个体y1 , y2 分别为:% y1 =49-20% y2 =3067% 这样 2 个子代个体就分别具有了2 个父代个体的某些特征。利用交叉我们有可能由父代个体在子代组合成具有更高适合度的个体。%遗传算法子程序%Name: crossover.m%交叉function newpop=crossover(pop,pc)px,py=size(pop);newpop=ones(size(pop);fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力工程勘察设计的智能化应用
- 甘肃2025年甘肃西北师范大学诚聘海内外高层次人才160人笔试历年参考题库附带答案详解
- 泰州2025年江苏泰州市消防救援支队政府专职消防员招聘179人笔试历年参考题库附带答案详解
- 现代办公环境下股票投资探讨
- 电子商务在智能家居的渗透与应用
- 建筑智能化系统调试与优化考核试卷
- 消费信贷市场教育如何理解网络金融
- 家禽饲养业国际市场竞争态势与战略布局考核试卷
- 2025年01月海南省直属机关资产管理中心公开招聘20人(第1号)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 恶意代码分析与防范考核试卷
- 身份证籍贯对照表(自动)
- 质量问题分析及措施报告
- 汽修厂安全风险分级管控清单
- 现代通信原理与技术(第五版)PPT全套完整教学课件
- 社区获得性肺炎教学查房
- 病例展示(皮肤科)
- GB/T 39750-2021光伏发电系统直流电弧保护技术要求
- 教科版五年级科学下册【全册全套】课件
- 糖尿病运动指导课件
- 完整版金属学与热处理课件
- T∕CSTM 00640-2022 烤炉用耐高温粉末涂料
评论
0/150
提交评论