一种混沌扰动与自适应惯性权重的粒子群优化方法与流程

文档序号:15589306发布日期:2018-10-02 18:45阅读:277来源:国知局

本发明属于无线通信技术领域,尤其涉及一种混沌扰动与自适应惯性权重的粒子群优化方法。



背景技术:

目前,业内常用的现有技术是这样的:盲源分离技术(blindsourceseparation,bss)是在源信号与传输信道的相关参数均为未知量的情况下,仅由传感器接收到的信号来恢复源信号的过程。在我国第三代北斗卫星导航系统以及新开通的“复兴号”高速动车组列车等项目能够顺利运行离不开信号处理的过程。因此,对盲源分离技术的研究有着非常广阔的前景。现有的盲源分离源信号恢复技术主要是基于ica与sca模型建立相应的目标函数,然后对目标函数采取合适的优化方法,进而实现源信号的恢复。主流的优化方法包括最速下降法、牛顿法、修正牛顿法等传统算法和遗传算法、蜂群算法、粒子群算法等群体智能算法。但都存在着不足之处。例如在祁锐等人在其发表的论文“基于改进光滑范数的块稀疏信号重构算法”(计算机工程,2015,第41卷(11期),294-298.)中提出了一种改进光滑范数的块稀疏信号重构算法。该算法使用了最速下降法进行迭代计算,虽然在前期能够以较快的速度收敛,但是在算法接近最优解时会产生“锯齿现象”,会严重影响收敛速度。群体智能的优化算法现在有很多学者在标准的基础上进行了改进,但是都没有从根本上改变“早熟收敛”,以及收敛速度慢的问题。

综上所述,现有技术存在的问题是:现有的优化算法在实际中用于恢复源信号时存在恢复时间过长与恢复精确度不高等问题。

解决上述技术问题的难度和意义:上述问题的主要由于优化算法本身存在各种局限性所致。其中的难点就在于对算法流程的优化。优化出一个合适的算法流程来避免算法本身的缺陷,可以大大提高源信号恢复的质量。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种混沌扰动与自适应惯性权重的粒子群优化方法。

本发明是这样实现的,一种混沌扰动与自适应惯性权重的粒子群优化方法,所述混沌扰动与自适应惯性权重的粒子群优化方法包括以下步骤:

步骤一,种群初始化操作;

步骤二,采用随机生成的方式对粒子的位置x及速度v进行初始化;

步骤三,利用适应度函数fitness计算当前所有粒子的适应值,并按照适应值的好坏排序;

步骤四,初始化每个粒子历史最优位置pbesti与全局最优位置gbest,其中i为粒子的序号;

步骤五,进行混沌扰动操作;

步骤六,进入自适应惯性权重的迭代操作:

步骤七,判断是否达到最大迭代次数,如果达到最大迭代次数时停止迭代,否则继续迭代。

进一步,所述步骤一中种群初始化中包括种群的大小n,粒子的维数d,迭代的最大次数m,学习因子c1和c2,惯性权重ω的上下限ωmax和ωmin。

进一步,所述步骤五中进行混沌扰动操作步骤如下:

第一步,当前迭代次数小于等于最大迭代次数的1/3时,选取排序后前1/3的粒子直接进入下一代;当前迭代次数大于最大迭代次数的1/3且小于等于最大迭代次数的2/3时,选取前2/3的粒子直接进入下一代;当前迭代次数大于最大迭代次数的2/3时,所有粒子全部直接进入下一代;

第二步,将剩余未直接进入下一代的粒子位置按照如下公式扰动:

xi=xi+2*z*(4*μ0*(1-μ0))-z;

其中xi表示第i个粒子的位置,μ0是(0,1)之间的随机数,z为扰动量;

第三步,根据适应值函数fitness计算扰动后粒子位置的适应值;

第四步,将适应值与粒子的历史最优位置对应的适应值比较,扰动后粒子的适应值优于自身的历史最优位置pbesti对应的适应值;则更新pbesti;根据扰动前后所有粒子的历史最优位置对应的适应值好坏排序,选取适应值好的前一半粒子进入下一代。

进一步,所述步骤六中自适应惯性权重的迭代具体包括:

第一步,将惯性权重ω的上下限ωmax和ωmin,带入以下公式:

其中iter表示当前迭代次数,w(iter)表示第i次迭代的惯性权重,π表示圆周率,n表示(0,1)之间的小数,|·|表示绝对值操作,[·]·表示乘方操作;

第二步,根据以下公式对粒子的位置x、速度v进行更新:

其中分别表示第k次迭代时第i个粒子的位置和速度,r1,r2为(0,1)之间的随机数;

第三步,更新后计算新的粒子的适应值,与粒子的历史最优位置的pbesti对应的适应值比较,优于粒子自身的历史最优位置pbesti对应的适应值,则更新pbesti,与所有粒子的全局最优位置gbest对应的适应值比较,优于所有粒子的全局最优位置gbest对应的适应值,则更新gbest。

本发明的另一目的在于提供一种应用所述混沌扰动与自适应惯性权重的粒子群优化方法的无线通信系统。

综上所述,本发明的优点及积极效果为:本发明在进行标准算法迭代步骤之前,通过当前的迭代次数,自适应的判断需要混沌扰动的粒子数目,并将扰动后适应值较好的粒子引入下一步操作,使得算法最终的迭代次数相比较传统的标准算法而言迭代次数减少了约10%,具有提高迭代速度的优点。本发明在标准的迭代公式中还采用了通过当前迭代次数,自适应选择的惯性权重的方式,使得算法的收敛性能得到改善。同等情况下,与传统算法相比,“早熟收敛”的次数减少了约25%,具有避免早熟收敛的优点。

附图说明

图1是本发明实施例提供的混沌扰动与自适应惯性权重的粒子群优化方法流程图。

图2是本发明实施例提供的混沌扰动与自适应惯性权重的粒子群优化方法实现流程图。

图3是本发明实施例提供的仿真示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供了一种混沌扰动与自适应惯性权重结合的粒子群优化算法,利用混沌扰动提高全局搜索范围,自适应惯性权重,避免粒子过早聚集。

如图1所示,本发明实施例提供的混沌扰动与自适应惯性权重的粒子群优化方法包括以下步骤:

s101:种群初始化操作;

s102:采用随机生成的方式对粒子的位置x及速度v进行初始化;

s103:利用适应度函数fitness计算当前所有粒子的适应值,并按照适应值的好坏排序;

s104:初始化每个粒子历史最优位置pbesti与全局最优位置gbest,其中i为粒子的序号;

s105:进行混沌扰动操作;

s106:进入自适应惯性权重的迭代操作;

s107:判断是否达到最大迭代次数,如果达到最大迭代次数时停止迭代,否则继续迭代。

下面结合附图对本发明的应用原理作进一步的描述。

如图2所示,本发明实施例提供的混沌扰动与自适应惯性权重的粒子群优化方法具体包括以下步骤:

(1)种群初始化,包括粒子数n=30,设一共有d=4个接收信号,最大迭代次数m=50。学习因子c1=c2=1.5,惯性权重的上下限ωmax=0.9,ωmin=0.3。适应值函数j(w)代表根据模型建立的优化函数,目标是使得该适应值函数j(w)最大以说明恢复出的信号越接近原始信号,表达式如下:

其中e[·]表示取均值操作,∑表示求和操作。g(·)表示函数log(·)表示求对数操作,cos(·)表示余弦函数。ν表示均值与方差为1的高斯信号,|·|表示取绝对值操作;

(2)采用生成标准正态分布的方式随机初始化粒子的位置x及速度v;

(3)利用适应度函数j(w)计算当前所有粒子的适应值,并将适应值从大到小排序;

(4)初始化每个粒子历史最优位置pbesti与全局最优位置gbest,其中i为粒子的序号;

(5)进行混沌扰动操作:

(5a)当前迭代次数小于等于最大迭代次数的1/3时,选取排序后前1/3的粒子直接进入下一代。当前迭代次数大于最大迭代次数的1/3且小于等于最大迭代次数的2/3时,选取前2/3的粒子直接进入下一代。当前迭代次数大于最大迭代次数的2/3时,所有粒子全部直接进入下一代;

(5b)将剩余未直接进入下一代的粒子位置按照如下公式扰动:

xi=xi+2*z*(4*μ0*(1-μ0))-z;

其中xi表示第i个粒子的位置,μ0是(0,1)之间均匀分布的随机数,扰动量z=1;

(5c)根据适应值函数j(w)计算扰动后粒子位置的适应值;

(5d)将该适应值与粒子的历史最优位置对应的适应值比较,如果扰动后粒子的适应值大于自身的历史最优位置pbesti对应的适应值;,则更新pbesti。根据扰动前后所有粒子的历史最优位置对应的适应值从大到小排序,选取适应值好的前一半粒子进入下一代;

(6)进入自适应惯性权重的迭代操作:

(6a)将惯性权重ω的上下限设置ωmax=0.9和ωmin=0.3,带入以下公式:

其中iter表示当前迭代次数,w(iter)表示第i次迭代的惯性权重,π表示圆周率,n表示(0,1)之间的小数,|·|表示绝对值操作,[·]·表示乘方操作;

(6b)根据以下公式对粒子的位置x、速度v进行更新:

其中分别表示第k次迭代时第i个粒子的位置和速度,r1,r2为(0,1)之间均匀分布的随机数;

(6c)更新后计算新的粒子的适应值,与粒子的历史最优位置的pbesti对应的适应值比较,如果优于粒子自身的历史最优位置pbesti对应的适应值,则更新pbesti,与所有粒子的全局最优位置gbest对应的适应值比较,如果优于所有粒子的全局最优位置gbest对应的适应值,则更新gbest;

(7)判断是否达到最大迭代次数,如果达到最大迭代次数时停止迭代,否则继续迭代;

下面结合仿真对本发明的应用效果作详细的描述。

1.仿真条件:

本发明与现有技术采用方法的两个仿真实验均是在运行系统为pentium(r)dual-corecpug3250@3.20ghz,64位windows操作系统的仿真条件下进行,仿真软件采用matlab。

本发明与现有技术采用的方法的两个仿真实验,均是使用matlab软件产生的正弦波、方波、锯齿波、高斯白噪声四路信号作为源信号,随机生成(0,1)之间均匀分布的4×4的矩阵作为混合矩阵,混合后的信号作为传感器接收到的信号。本发明与现有技术采用的方法的仿真实验分别对标准的粒子群算法及本发明进行仿真。

2.仿真内容与结果分析:

在源信号采样数为1000的情况下,分别使用现有技术的标准粒子群算法及本发明的方法,进行源信号恢复的仿真结果如图3所示。图3中的横坐标表示迭代次数,纵坐标表示适应值的大小。图3中以圆形标示的曲线表示本发明的适应值随迭代次数的变化曲线,以正方形标示的曲线表示标准的粒子群算法(pso)的适应值随迭代次数的变化曲线。

由图3可见,随着迭代次数的递增两种方法的适应值均变大。由于标准的粒子群算法在迭代次数达到40次时才收敛,与本发明相比收敛呈现出“早熟收敛”的态势。本发明的算法在迭代次数达到19次时便达到收敛的效果。由此可见,本发明与标准的粒子群算法相比,在同等情况下恢复源信号时,所用的迭代次数更少,且对抗算法的“早熟收敛”性能更强。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有1条留言
  • 131766... 来自[中国] 2023年02月28日 23:15
    是否还有其他方法可以解决局部最优
    0
1