CN105095960A - 一种梯度粒子群混合优化方法 - Google Patents
一种梯度粒子群混合优化方法 Download PDFInfo
- Publication number
- CN105095960A CN105095960A CN201410206193.6A CN201410206193A CN105095960A CN 105095960 A CN105095960 A CN 105095960A CN 201410206193 A CN201410206193 A CN 201410206193A CN 105095960 A CN105095960 A CN 105095960A
- Authority
- CN
- China
- Prior art keywords
- particle
- gradient
- fitness
- algorithm
- desired positions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种梯度粒子群混合优化方法,属于人工智能算法技术领域。本方法包括:步骤1,初始化一种群粒子,赋予随机位置和速度,置k:=0;步骤2,计算每个粒子的适应度值步骤3,将与当前最好位置pj的适应度值fitness(pj)比较,若优于fitness(pj),则将该粒子赋值为pj,然后转入步骤4;否则进入步骤4;步骤4,将与全局经历的最好位置pg的适应度值fitness(pg)比较,若优于fitness(pg),则将该粒子赋值为pg,然后转入步骤5;否则进入步骤5;步骤5,用式(1)、式(2)计算粒子的速度和位置其中:j=1,2,...,m,m为种群内粒子个数;步骤6,若达到预设梯度算法启动条件,返回全局最优个体pg,转向步骤7;否则,k:=k+1,转步骤2。
Description
技术领域
本发明属于人工智能算法技术领域,具体涉及一种梯度粒子群混合优化方法,结合梯度和粒子群的混合优化算法,可用于解决地球科学领域非线性反演等优化领域的寻优问题。
背景技术
常用的寻优反演算法一般分为全局寻优类方法和局部寻优类方法。其中,全局寻优类算法一般以随机方法为代表,这类算法包括大家所熟知的蒙特卡洛法、模拟退火法等,由于其全局寻优能力强,对初始模型的依赖性小,多用于强非线性多极值类寻优问题,然而,这类算法由于计算过程中需要大量的耗时,对CPU和内存要求都较高;以迭代方法为代表的局部寻优类方法,如牛顿法、高斯牛顿法等,虽然收敛速度快,但算法收敛结果强烈依赖于初始模型,容易陷入局部极值。
发明内容
本发明的目的在于解决上述现有技术中存在的难题,提供一种梯度粒子群混合优化方法,解决地球科学领域的高度非线性反演,如石油工业领域的速度结构反演、叠前AVO反演等。
本发明是通过以下技术方案实现的:
一种梯度粒子群混合优化方法,包括:
步骤1,初始化一种群粒子,赋予随机位置和速度,置k:=0;
步骤2,计算每个粒子的适应度值
步骤3,将与当前最好位置pj的适应度值fitness(pj)比较,若优于fitness(pj),则将该粒子赋值为pj,然后转入步骤4;否则进入步骤4;
步骤4,将与全局经历的最好位置pg的适应度值fitness(pg)比较,若优于fitness(pg),则将该粒子赋值为pg,然后转入步骤5;否则进入步骤5;
步骤5,用式(1)、式(2)计算粒子的速度和位置其中:j=1,2,...,m,m为种群内粒子个数:
vis(t+1)=ω·vis(t)+c1r1(pis(t)-xis(t))+c2r2(pgs(t)-xis(t))
(1)
xis(t+1)=xis(t)+vis(t+1)
(2);
步骤6,若达到预设梯度算法启动条件,返回全局最优个体pg,转向步骤7;否则,k:=k+1,转步骤2;
步骤7,进行梯度算法:以步骤6返回的pg为梯度算法的初始点,进行迭代;
步骤8,若达到终止条件,则结束,输出当前结果作为所求问题的最优解;否则转步骤7。
所述步骤2中的适应度值为待求问题的目标函数。
所述步骤3中的当前最好位置pj是指粒子群算法里当次迭代的最优解;
所述步骤4中的全局经历的最好位置pg是指粒子群算法里整个所有迭代过程中的最优解。
所述步骤8中的终止条件为:终止误差ε>0或达到设定的最大迭代次数。
与现有技术相比,本发明的有益效果是:
(1)能够保持梯度算法的快速收敛性;
(2)能够保持粒子群算法的全局收敛性;
(3)能够兼顾梯度算法和粒子群算法的优点。
附图说明
图1二维Rastrigin函数曲面图。
图2一维情况下Rastrigin函数梯度法寻优示意图。
图3分别利用梯度方法、粒子群方法以及梯度粒子群混合方法寻得的最优解。
图4本发明方法的步骤框图。
具体实施方式
下面结合附图对本发明作进一步详细描述:
近年来,随着计算机技术的快速发展,需要大量计算、复杂度高的地球科学、气象科学等领域的反演问题也变得可能,使用全局优化和局部寻优的方法来解决这类问题都有尝试。由于局部寻优方法具有确定的收敛方向、较快的局部收敛性,而随机方法具有很好地全局性,因此将两种方法按照一定的方式结合起来的综合算法能吸纳两种算法的优点,结合的关键问题在于找到恰当的接入点。本发明将全局算法中的粒子群算法与局部寻优的梯度算法结合,提出一种梯度粒子群混合算法,该算法可用于解决地球科学领域的高度非线性反演,如石油工业领域的速度结构反演、叠前AVO反演等。
粒子群优化算法是近年来发展起来的一种全局性的群体智能随机搜索算法,最早由美国社会心理学家R.Eberhart和J.Kennedy于1995年受人工生命研究结果的启发、通过模拟鸟群觅食活动中迁徙和群居行为而提出来的。算法的基本思想是,通过对简单社会系统的模拟,在多维解空间中构造“粒子群”,把待求问题潜在的可行解看作群体中的每个粒子,并赋予与目标函数相关的适应度值。群体中每个粒子通过跟踪自己和群体所发现的最优值,修正粒子飞翔的前进方向和速度,从而带领整个粒子群体实现寻优,实现对问题最优解的搜索。
设在n维搜索空间中,种群x=x1,x2,…,xi,…,xm内包含m个粒子,粒子i的“位置”记为xi=(xi1,xi2,…,xin)T,“速度”记为vi=(vi1,vi2,…,vin)T,其经历的最优位置记作pi=(pi1,pi2,…,pim)T,整个粒子群经历过的最优位置记作pg=(pg1,pg2,…,pgm)T,粒子xi将按式(1)、式(2)改变速度和位置。
vis(t+1)=ω·vis(t)+c1r1(pis(t)-xis(t))+c2r2(pgs(t)-xis(t))
(1)
xis(t+1)=xis(t)+vis(t+1)
(2)
式中,s=1,2,…,n,代表搜索空间的维数,ω为惯性权值,代表前一次速度对当前速度的影响:若ω较小,粒子容易陷入局部极值,若ω较大,粒子虽容易跳出局部极值,但收敛速度较慢。因此ω的取值可以平衡粒子收敛性和计算速度。迭代初期ω取值较大以获得较快的收敛速度,ω随着迭代过程逐渐变小,在迭代后期可以使得解跳出局部极值。c1为粒子自身的加速度权重系数,代表粒子向自身经验的学习,c2为全局加速度权重系数,代表粒子向整个群体经验的学习。r1、r2为介于[0,1]间的相互独立的随机数,用来动态调节粒子向自身经验学习和向群体经验学习的权重。为了减少进化过程中粒子离开搜索空间的可能,一般还需对速度加以约束,使之限定在一个范围[vmin,vmax]之内,并且通过先验信息对粒子的位置进行合理化评估。
梯度法(Gradientmethod),又名最速下降法(Steepest-descentmethod),是一种求解无约束多元函数极值的数值方法,早在1847年就已由柯西(Cauchy)提出。梯度法由于计算消耗内存小,对初始值的要求不太高,存储量也较少,是无约束优化方法中最基本的方法之一,也是导出其他更为实用、有效的优化方法的理论基础。
梯度法(最速下降法)的基本思想是:假设目标函数f:Rn→R1一阶连续可微。从当前点xk出发,取函数在xk点处下降最快的方向作为搜索方向。
由f(x)的Taylor展开式知:
(3)
略去t的高阶无穷小项不计,可见在式(3)中取时,函数值下降得最多。换而言之,函数在当前点梯度相反的方向(负梯度方向)下降得最快。
梯度法的实现步骤为:
步骤1选定初始点x0,给定终止误差ε>0,令k:=0;
步骤2计算f(xk)的梯度若停止迭代,输出xk;否则转步骤3;
步骤3取
步骤4进行一维搜索,求tk,使得令xk+1=xk+tkpk,k:=k+1,转步骤2。其中,步长tk可用一维寻优法求得。
要将粒子群算法与梯度算法结合起来,得到梯度粒子群混合算法。一种可行的实现思想是,在算法迭代之初使用粒子群算法,选取多个不同的初始模型(体现在下面的步骤1),用粒子群算法迭代找到适应值较好地初始模型,然后利用梯度算法的快速局部收敛特性寻找最优解。这样做的好处是可以尽可能地降低初始模型的选取对梯度算法的影响。
如图4所示,本发明方法的具体步骤为:
步骤1初始化一种群粒子(具体到实际问题时,可以把待求的变量作为粒子,如求取地层速度参数时,可以把速度参数作为待求解的粒子),赋予随机位置和速度,置k:=0;
步骤2计算每个粒子的适应度值此处适应度值无具体计算公式,是指待求问题的目标函数,如具体求解地层速度问题,则一种可能的目标函数为地层速度的最小二乘解。
步骤3将与当前最好位置pj(在粒子群算法里,当前最好位置是指当次迭代的最优解)的适应度值fitness(pj)比较,若优于fitness(pj)(即指其对应目标函数的值更接近真实解),则将该粒子赋值为pj;否则进入步骤4;
步骤4将与全局经历的最好位置pg(在粒子群算法里,当前最好位置是指整个所有迭代过程中的最优解)的适应度值fitness(pg)比较,若优于fitness(pg),则将该粒子赋值为pg;否则进入步骤5;
步骤5用式(1)、式(2)计算和其中:j=1,2,...,m,m为种群内粒子个数;
步骤6若达到预设梯度算法启动条件(该启动条件是根据具体问题设置的,如后述例子中当当前误差达到1×10-5时),返回全局最优个体pg(在粒子群算法里,当前最好位置是指整个所有迭代过程中的最优解),转向步骤7;否则,k:=k+1,转步骤2;
步骤7开始梯度算法。以步骤6返回的pg为梯度法的初始点,进行迭代(即进行上述的“梯度法的实现步骤”。);
步骤8若达到终止条件(终止误差ε>0或达到设定的最大迭代次数),则结束,输出当前结果作为所求问题的最优解;否则转步骤7.
通过一个数学算例来说明梯度粒子群算法的实现过程,并与单纯的梯度算法以及粒子群算法进行对比。本例中,使用测试函数Rastrigin函数来测试梯度算法和梯度粒子群混合算法的计算精度和收敛速度,并与标准粒子群算法进行对比。Rastrigin函数表达式为
该函数为最优化领域常用的标准测试函数,在全局最优点附近有多个局部极小值。
为直观可见而且不失一般性,本例中使用二维Rastrigin函数进行测试,定义域为x∈[-5,5](i=1,2),全局最优点为[0,0],f(0,0)=0为全局极小值。定义域内其曲面图分别如图1。
如图2为一维情况下Rastrigin函数用普通梯度法迭代寻优过程,梯度法搜索最优值附近仅用了7次,而搜索到满足收敛条件的解时用了19次,说明梯度法容易陷入局部极值,且在迭代后期收敛缓慢。事实上,多维Rastrigin函数要比图2的情况复杂的多。
对二维Rastrigin函数分别进行梯度算法和梯度粒子群混合算法寻优测试。由于梯度类算法不同的初始模型可能导致不同的结果,而粒子群方法属于随机优化方法,每次得到的结果也不尽相同。这里采用了多次测试取平均值的方法。具体做法是随机生成100个定义域范围内的初始模型,分别用梯度算法、单纯粒子群算法和梯度粒子群混合算法进行寻优,重复10次得到结果。
粒子群和梯度粒子群混合法中的粒子群参数为:最大迭代次数为2000,惯性权重变化截止次数为1500,粒子种群数为24,c1、c2均取为2,搜索到当前解连续20次改变值小于预设精度时停止迭代。粒子群算法预设精度1×10-5,梯度粒子群混合算法预设精度为1×10-3(当误差小于该预设精度时,启动梯度算法)。
记ε为寻优得到结果与全局极小值之误差,当误差ε小于预设精度且该点在真解附近时,记为该初始模型对应的寻优过程收敛。收敛次数与总计算次数之比记为收敛率。本例中收敛判断准则设为|ε|<1×10-5且||x-xmin||≤0.01。
在用梯度方法寻优过程中,10次实验中每次收敛的次数分别为6、32、21、0、10、9、24、43、21、14,其平均值为18。而粒子群以及梯度粒子群混合算法的寻优中均为100次收敛,其中粒子群算法的实际收敛精度达到了1×10-8。
表1
表1
三种算法寻得的最优解比较(以第8次寻优过程为例)如表1所示,从表1中可以看出,粒子群算法的精度最高,但是迭代次数最长,也即对应的耗时最长;梯度算法迭代次数最少,但是收敛成功率较低,且10次结果的收敛次数相差较大,这是由于随机给定初始模型,使得梯度算法在处理此问题上变得不稳定。而梯度粒子群混合法则很好地吸收了两种方法的优点。在保障了收敛成功率的同时,也降低了迭代次数,它的平均次数为62次(其中包含了后期梯度法平均迭代次数9次)。注意到单纯使用梯度法的平均14次迭代次数,梯度粒子群混合法在后期梯度计算过程中减少了一定的迭代次数,这在一定程度上可以抵消由于粒子群所带来的部分时间增加量,当然这与粒子群和梯度法相比耗时孰高有关系。
图3记录了其中第8次寻优后三种方法搜寻得到的最优解;其中“○”为最速下降法搜索得到的最优解集合,“+”为粒子群算法,“☆”为梯度粒子群混合算法搜索到的最优解。可以看出,粒子群算法与梯度粒子群混合梯度粒子群混合算法的稳健性以及其在解决多峰局部极值问题上的优越性法寻得的最优解都集中在[0,0]附近,而梯度法则多次陷入局部极值。这也进一步说明了梯度粒子群混合算法的稳健性以及在解决多峰极致问题上的优越性。
可以看到,梯度粒子群混合算法在收敛成功率和收敛精度上均具有上佳的表现。而梯度粒子群混合算法由于后期采用了梯度算法,因此在算法后期的收敛速度大大加快,总的迭代次数比单独用粒子群方法减少了很多。这说明,梯度粒子群混合方法能够综合粒子群方法和梯度法的优点,在保证收敛率的同时提高计算速度,减少搜索时间(迭代次数)。
本发明将优化领域应用较广的全局随机非线性粒子群算法与局部迭代梯度法相结合,构造了一种梯度粒子群混合算法。数值实验和应用结果表明,梯度粒子群混合算法能继承梯度法快速收敛和粒子群法全局寻优的特点,适用于高维非线性反演问题,无论在计算精度还是在降低解的非唯一性方面,都有较明显的改善。
上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
Claims (4)
1.一种梯度粒子群混合优化方法,其特征在于:所述方法包括:
步骤1,初始化一种群粒子,赋予随机位置和速度,置k:=0;
步骤2,计算每个粒子的适应度值
步骤3,将与当前最好位置pj的适应度值fitness(pj)比较,若优于fitness(pj),则将该粒子赋值为pj,然后转入步骤4;否则进入步骤4;
步骤4,将与全局经历的最好位置pg的适应度值fitness(pg)比较,若优于fitness(pg),则将该粒子赋值为pg,然后转入步骤5;否则进入步骤5;
步骤5,用式(1)、式(2)计算粒子的速度和位置其中:j=1,2,...,m,m为种群内粒子个数:
vis(t+1)=ω·vis(t)+c1r1(pis(t)-xis(t))+c2r2(pgs(t)-xis(t))
(1)
xis(t+1)=xis(t)+vis(t+1)
(2);
步骤6,若达到预设梯度算法启动条件,返回全局最优个体pg,转向步骤7;否则,k:=k+1,转步骤2;
步骤7,进行梯度算法:以步骤6返回的pg为梯度算法的初始点,进行迭代;
步骤8,若达到终止条件,则结束,输出当前结果作为所求问题的最优解;否则转步骤7。
2.根据权利要求1所述的梯度粒子群混合优化算法,其特征在于:所述步骤2中的适应度值为待求问题的目标函数。
3.根据权利要求1所述的梯度粒子群混合优化方法,其特征在于:所述步骤3中的当前最好位置pj是指粒子群算法里当次迭代的最优解;
所述步骤4中的全局经历的最好位置pg是指粒子群算法里整个所有迭代过程中的最优解。
4.根据权利要求1所述的梯度粒子群混合优化算法,其特征在于:所述步骤8中的终止条件为:终止误差ε>0或达到设定的最大迭代次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410206193.6A CN105095960A (zh) | 2014-05-15 | 2014-05-15 | 一种梯度粒子群混合优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410206193.6A CN105095960A (zh) | 2014-05-15 | 2014-05-15 | 一种梯度粒子群混合优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105095960A true CN105095960A (zh) | 2015-11-25 |
Family
ID=54576334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410206193.6A Pending CN105095960A (zh) | 2014-05-15 | 2014-05-15 | 一种梯度粒子群混合优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095960A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886640A (zh) * | 2017-02-06 | 2017-06-23 | 北京化工大学 | 一种金属纳米团簇结构优化方法 |
CN107589665A (zh) * | 2017-08-25 | 2018-01-16 | 中国人民解放军火箭军装备研究院 | 一种基于梯度粒子群算法的弹道快速优化方法及装置 |
CN110288122A (zh) * | 2019-05-16 | 2019-09-27 | 同济大学 | 一种基于并行梯度定义方法的enso最优前期征兆识别方法 |
CN113470072A (zh) * | 2021-07-06 | 2021-10-01 | 吉林省田车科技有限公司 | 一种基于运动粒子的粒子群目标跟踪算法 |
-
2014
- 2014-05-15 CN CN201410206193.6A patent/CN105095960A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886640A (zh) * | 2017-02-06 | 2017-06-23 | 北京化工大学 | 一种金属纳米团簇结构优化方法 |
CN106886640B (zh) * | 2017-02-06 | 2019-09-13 | 北京化工大学 | 一种金属纳米团簇结构优化方法 |
CN107589665A (zh) * | 2017-08-25 | 2018-01-16 | 中国人民解放军火箭军装备研究院 | 一种基于梯度粒子群算法的弹道快速优化方法及装置 |
CN110288122A (zh) * | 2019-05-16 | 2019-09-27 | 同济大学 | 一种基于并行梯度定义方法的enso最优前期征兆识别方法 |
CN113470072A (zh) * | 2021-07-06 | 2021-10-01 | 吉林省田车科技有限公司 | 一种基于运动粒子的粒子群目标跟踪算法 |
CN113470072B (zh) * | 2021-07-06 | 2022-09-13 | 吉林省田车科技有限公司 | 一种基于运动粒子的粒子群目标跟踪算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Christen et al. | A general purpose sampling algorithm for continuous distributions (the t-walk) | |
US10860920B2 (en) | Distributional reinforcement learning | |
CN108133258B (zh) | 一种混合全局优化方法 | |
US10733332B2 (en) | Systems for solving general and user preference-based constrained multi-objective optimization problems | |
US20190197404A1 (en) | Asychronous training of machine learning model | |
Malafeyev et al. | Stochastic models of social-economic dynamics | |
WO2019061187A1 (zh) | 信用评价方法和装置以及梯度渐进决策树参数调整方法和装置 | |
CN105095960A (zh) | 一种梯度粒子群混合优化方法 | |
CN103454677B (zh) | 基于粒子群与线性加法器结合的地震数据反演方法 | |
CN104101344A (zh) | 基于粒子群小波网络的mems陀螺随机误差补偿方法 | |
Johansson et al. | The many roles of the relaxation time parameter in force based models of pedestrian dynamics | |
CN111310344B (zh) | 一种林火蔓延模拟中考虑风场与火场耦合作用的方法 | |
Zhang et al. | A new kmeans clustering algorithm for point cloud | |
KR20180046172A (ko) | 다층확률 기계학습 기반 최적해 탐색 시스템 및 방법 | |
CN115373400A (zh) | 基于动态更新机制蚁群算法的机器人路径规划方法及系统 | |
CN116703008B (zh) | 一种用于新建公路的交通出行量预测方法、设备及介质 | |
CN102830430B (zh) | 一种层位速度建模方法 | |
US8942966B2 (en) | Method for parameterizing and morphing stochastic reservoir models | |
CN112595333B (zh) | 道路导航数据的处理方法、装置、电子设备及存储介质 | |
Lohry et al. | Genetic algorithm optimization of periodic wing protuberances for stall mitigation | |
Jin et al. | Inversion study of vertical eddy viscosity coefficient based on an internal tidal model with the adjoint method | |
CN105426626B (zh) | 基于相似数据样式聚类的多点地质统计学建模方法 | |
CN106611227B (zh) | 兴趣点流量动态变化曲线预测方法及系统 | |
Zhang | Optimal planning algorithm of forest wetland tourism path based on GIS | |
CN112649869A (zh) | 基于ga-wnn的储层特征参数预测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |