粒子群优化算法在天线方向图应用PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 是辐射角,i 它们是 m 个角度取样点(通常取为方向图的副瓣位置和零深位置);fa (x,θi)是根据每个粒子的值所计算出的方向图,而fd(θi)是所要逼近的目标方向图。 下面给出阵列综合中常用的例子用 PSO 算法综合的结果,详细讨论综合具体天线阵列 时PSO算法的设置。
第12页/共18页
仿真实例
第5页/共18页
与遗传算法比较
不同点: PSO的信息共享机制是很不同的。在遗传算法中,染色体(chromosomes)互相共享信息, 所以整个种群的移动是比较均匀的向最优区域移动。在PSO中,只有gBest (orlBest) 给出 信息给其他的粒子,这是单向的信息流动。整个搜索更新过程是跟随当前最优解的过程。 与遗传算法比较,在大多数的情况下,所有的粒子可能更快的收敛于最优解。
• PSO中并没有许多需要调节的参数,下面列出了这些参数以及经验设置 • 粒子数: 一般取 20–40. 其实对于大部分的问题10个粒子已经足够可以取得好的结果,
不过对于比较难的问题或者特定类别的问题,粒子数可以取到100 或 200 • 粒子的长度: 这是由优化问题决定,就是问题解的长度 • 粒子的范围: 由优化问题决定,每一维可是设定不同的范围
在计算误差时采用了最大误差的形式即计算实际天线阵方向图与规定方向图在各个取样点一般为副瓣sll位置零深null位置的误差然后找出误差的最大值优化的目的就是使最大误差达到最小这样实际的方向图就最接近目标方向图
引言 • 粒子群优化算法(Particle Swarm optimization,PSO)又翻译
fitness (x)
max (|
1im
fa (x,i )
fd (i ) |2 )
• 其中 x =(a1i, …aii, β1i …βin, d1i …din ) 即由激励幅值,激励相位和单
元间距组成, 其取值范围为, D = {x|0 <a1(i)≤1, 0 ≤β1(i)≤2π,
d1(i)<d2(i)<……<dn(i)},在这里我么给定d=0.5λ;
• 中止条件: 最大循环数以及最小错误要求. 例如,在上面的神经网络训练例子中,最小错误可以 设定为1个错误分类,最大循环设定为2000,这个中止条件由具体的问题确定.
• 全局PSO和局部PSO: 我们介绍了两种版本的粒子群优化算法: 全局版和局部版. 前者速度快不 过有时会陷入局部最优. 后者收敛速度慢一点不过很难陷入局部最优. 在实际应用中,可以先用 全局PSO找到大致的结果,再用局部PSO进行搜索.
n
(3)
f ( )
a e j(kd1i sin 1i ) 1i
i 1
式中θ为空间辐射角,λ为工作波长,k=2π/λ为波数,a1i和β1i是第i 个天线单元的幅度和 相位,d1i为第i个单元到第一个单元的距离,用 PSO 算法综合方向图的目的就是根据波 束形状要求来求解阵列天线的激励幅值、相位、单元间距。
第7页/共18页
参数设置
• Vmax: 最大速度,决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度,例如 上面的例子里,粒子 (x1,x2,x3) x1 属于 [-10,10],那么 Vmax 的大小就是 20
• 学习因子: c1 和 c2 通常等于 2. 不过在文献中也有其他的取值. 但是一般 c1 等于 c2 并 且范围在0和4之间
v在[n找1]到 这v两[n]个 c最1 优ran值d1时( p,be粒st[n子] 根pre据sen如t[n下])的c2 公ra式nd来2更(gb新est[自n]己 p的res速ent[度n])和(a)
新 的 位 置 present[n 1] present[n] v[n 1]
(b)
v[n] 是粒子的速度,persent[n] 是当前粒子的位置. pbest[n] and gbest[n] 如前定义 rand1、rand2是介于(0,1)之间的独立 随机数. c1,c2 是学习因子第.3页w是/共1速8页度惯性因子,通常c1=c2=2,
在计算误差时,采用了最大误差的形式,即计算实际天线阵方向 图与规定方向图在各个取样点(一般为副瓣(sll)位置,零深(null) 位置)的误差,然后找出误差的最大值,优化的目的就是使最大误 差达到最小,这样实际的方向图就最接近目标方向图。
第11页/共18页
适应度函数
• 针对天线阵综合这种多目标问题,文中选用的适应度函数的形式是:
算法流程
开始 粒子群初始化
适应度检测
全局最优和局 部最优更新
最大迭代
பைடு நூலகம்
Y
N
粒子移动速 度更新
结束
粒子位置更新
第4页/共18页
与遗传算法比较
共同点 ①种群随机初始化。 ②对种群内的每一个个体计算适应值(fitness value)。适应值与最优解的距离直接有关。 ③种群根据适应值进行复制。 ④如果终止条件满足的话,就停止,否则转步骤② 。 从以上步骤,我们可以看到PSO和遗传算法有很多共同之处。两者都随机初始化种群,而 且都使用适应值来评价系统,而且都根据适应值来进行一定的随机搜索。两个系统都不是 保证一定找到最优解。但是,PSO没有遗传操作如交叉(crossover)和变异(mutation),而 是根据自己的速度来决定搜索。粒子还有一个重要的特点,就是有记忆。
end
for i=1:N
for j=D/2:D
第14页/共18页
matlab语句段
function y=fxita(x,N) d1=0.5*lanbuda; k=2*pi/lanbuda; fxita=0; for i=1:N a1(i)=x(i,1:32); beta1(i)=x(i,32:64);
标准 PSO 算法的参数包括 :群体规模swarm-size,每个粒子的维数dimension,惯性权 重ω,加速常数c1和c2,最大速度Vmax,最大代数MAXDT。具体程序中 PSO 算法的参数 设置如下 :
种群的规模由待优化的参数决定,一般原则是种群个数多于优化参数的个数;惯性权重ω 可以是定值也可是随叠代的次数而呈线性变化的,这里使用的是前者取0.7298;加速常数 c1=c2=2.0;最大速度Vmax设置为1.0;而程序的终止条件是程序运行达到了预置的最大
for i=1:N v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:)); x(i,:)=x(i,:)+v(i,:);
if fitness(x(i,:),D)<p(i)
p(i)=fitness(x(i,:),D); y(i,:)=x(i,:); end if p(i)<fitness(pg,D) pg= y(i,:);
• 天线阵列方向图的设计目标:主瓣宽度10°(第一零陷宽度),要求方向图在 40°、45°、50°、55°、 60°生成-90dB的零陷,旁瓣电平-15dB以下(使用吸收边界条件)
• 具体的算法参数设置和优化结果: 算法中种群的大小设置为 60,每个粒子的维数为 64(其中前32位表示激励幅度大小, 后 32 位表示
solution =pg %即为激励幅值,激励相位
disp('最后得到的优化极值:')
x(i,j)=randn; v(i,j)=randn; end
result=pbest
ezplot(fxita)%即为天线阵列图函数 axis([0,90,-90,0]);xlabel('角度/°');ylabel('归一化方向 图增益/dB');title('阵列天线归一化方向图')
• 另外的一个参数是惯性权重,由Shi 和Eberhart提出,
第8页/共18页
基于粒子群算优化算法方向图综合技术
• 通过优化阵列的激励电流大小实现低旁瓣的方向图分布,同时在指定的干扰位置形成具有指定深度的零陷 值;着重介绍了对于传统PSO算法易于早熟问题的改进。
第9页/共18页
参数设置
对于由 n 个理想点源组成的离散直线阵,以阵列的第一个单元为参考点,在不考虑单元 之间耦合的条件下,天线阵的远场方向图可表示为:
• 程序在1000代达到了图2所示的结果。从图2可以看出, 用PSO优化后的方向图在期望的 零深位置电平均已经压制到了-90dB,副瓣的其它位置的电平也均已经压至-15dB以下, 实际方向图与目标方向图逼近较好,基本满足了设计要求, 阵元的激励与相位分布如下 表所示。
表2.用 PSO 算法综合 32 元具有零深的阵列方向图激励幅度(归一化)与相位
fxita(i)=a1(i)*exp(j*(k*i*d1*sin(t)+beta1(i))) fxit(t)=fxit(t)+fxita(i); end
function y=fitness(x) for t=1:m
f(t)=(abs(fxit(t)-fdxit(t)))^2 %不停调整的是激励幅值,激励相位,那 么幅值和相位应该就是对应的粒第子15位页置/共,18也页 就是x,θi是目标函数的自变量,
N=60; %初始化群体个体数目
end
m = 9 0 ; % 角 度 取 样 点 ( 取 方 向 图 的 副 瓣 位 置 、 零 深 位 置 ) ; end
pbest(t)=fitness(pg,D);
esp=10^(-6); %设置精度
end
for i=1:N
for j=1:D/2
disp('**************') disp('函数的全局最优位置:')
第6页/共18页
参数设置
• 应用PSO解决优化问题的过程中有两个重要的步骤: 问题解的编码和适应度函数PSO的 一个优势就是采用实数编码,不需要像遗传算法一样是二进制编码(或者采用针对实数 的遗传操作.例如对于问题 f(x) = x1^2 + x2^2+x3^2 求解,粒子可以直接编码为 (x1, x2,x3),而适应度函数就是f(x). 接着我们就可以利用前面的过程去寻优.这个寻优过程 是一个叠代过程,中止条件一般为设置为达到最大循环数或者最小错误
第10页/共18页
参数设置
种群中个体的维数dimension就是所要优化的参数的个数,在天 线阵综合中,要优化的参数通常由天线阵单元间距,阵元的激励幅 度和相位构成。
适应度函数的设计是算法的关键,在天线阵列综合中,适应度函 数一般表示天线实际所产生的方向图与目标方向图的差异大小。具 体过程是先计算出每个粒子的方向图与目标方向图的误差,再对这 个误差作变换得到适应度。误差越大,适应度越高;误差越小,适 应度也越小。
第1页/共18页
算法介绍
• 设想这样一个场景:一群鸟在随机搜索食物,在这个区域里只有一块食物。所有的鸟都 不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策 略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。PSO从这种模型 中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟。 我们称之为"粒子"。所有的粒子都有一个由被优化的函数决定的适应值(fitnessvalue), 每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子 在解空间中搜索。
激励相位大小),适应度函数包括副瓣区的电平高低和两个零深区的电平高低。
第13页/共18页
matlab语句段
clear all
clc format long c1=2; %学习因子1 c2=2; %学习因子2 w=0.7298; %惯性权重 MAXDT=1000;%最大迭代次数 D=64;
%--主循环,按照公式依次迭代-for t=1:MAXDT
为粒子群算法、微粒群算法、或微粒群优化算法。是通过模拟 鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。 通常认为它是群集智能 (Swarm intelligence,SI) 的一种。 它可以被纳入多主体优化系统(Multiagent Optimization System,MAOS).粒子群优化算法是由Eberhart博士和kennedy 博士发明。
第2页/共18页
PSO算法初始化
PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解, 在每一次叠代中,粒子通过跟踪两个"极值"来更新自己。第一个就 是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极 值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外 也可以不用整个种群而只是用其中一部分最优粒子的邻居,那么在 所有邻居中的极值就是局部极值。