CN110555506A - 一种基于群体团聚效应的梯度自适应粒子群优化方法 - Google Patents
一种基于群体团聚效应的梯度自适应粒子群优化方法 Download PDFInfo
- Publication number
- CN110555506A CN110555506A CN201910768302.6A CN201910768302A CN110555506A CN 110555506 A CN110555506 A CN 110555506A CN 201910768302 A CN201910768302 A CN 201910768302A CN 110555506 A CN110555506 A CN 110555506A
- Authority
- CN
- China
- Prior art keywords
- particle
- clustering
- gradient
- value
- extreme value
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种基于群体团聚效应的梯度自适应粒子群优化方法,首先,设置初始化参数,初始化粒子群的速度和位置,然后初始化种群极值与个体极值,接着根据粒子在搜索空间中的相对位置,采用K‑Means聚类算法对粒子群进行聚类,获得聚类结果,接下来根据聚类结果,计算聚类极值以及相应的位置;然后根据粒子的目标函数适应度值的下降梯度自适应调整每个粒子的计算参数,再根据粒子的当前位置以及目标函数计算粒子在当前位置的适应度值;最后根据粒子的在当前位置的适应度值,更新个体极值、聚类极值和全局极值,并更新粒子的速度和位置。本发明的方法能够有效解决现有粒子群方法早熟收敛、陷入局部最优等问题,大大提高了算法的寻优能力。
Description
技术领域
本发明涉及智能算法技术领域,具体涉及一种基于群体团聚效应的梯度自适应粒子群优化方法。
背景技术
粒子群优化算法是一种群体智能随机搜索优化算法,最初是受鸟群觅食等社会群体活动的启发,从中抽象出来的一个随机搜索过程简化模型,让一个信息共享的社会群体,在一定的搜索空间内从无序变为有序,从而共同趋向一个最优解的过程。
标准的粒子群优化方法存在易早熟收敛、易陷入局部最优值等问题,导致算法在实际应用过程中达不到理想的效果。如PSO(Particle Swarm Optimization)在寻优初期,粒子很快移动并聚集至较优解的附近,随着搜索的进行,粒子会越来越多的聚集在同一区域并无法探索其他空间,出现早熟现象。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
现有的改进粒子群优化方法对于这两个问题的改善起到了一定的作用,但是效果有限,无法进一步提高算法的寻优能力。LPSO(Linearly Decreasing Inertia WeightParticle Swarm Optimization)算法是线性递减惯性权重的粒子群算法,LPSO-TVAC(Linearly Decreasing Inertia Weight Particle Swarm Optimization-Time VaryingAcceleration Coefficients)算法是线性变化加速因子的粒子群优化算法。此二种算法只在参数设置方面对粒子群算法进行了改进,效果有限。KLPSO(K-means Based LinearlyDecreasing Inertia Weight Particle Swarm Optimization)算法是基于种群聚类的线性变化参数粒子群优化算法,在LPSO-TVAC算法的基础上引入了粒子聚类操作,效果优于前两种算法,但是以上三种方法仍然存在寻优效果不佳的问题。
发明内容
有鉴于此,本发明提供了一种基于群体团聚效应的梯度自适应粒子群优化方法,用以解决或者至少部分解决现有技术中的方法存在的导致实际应用中寻优效果不佳的技术问题。
为了解决上述技术问题,本发明提供了一种基于群体团聚效应的梯度自适应粒子群优化方法,包括:
步骤S1:设置初始化参数,初始化粒子群的速度和位置,其中,初始化参数包括粒子群规模、目标函数的维度、初始聚类数目、聚类间隔、聚类次数以及目标函数,其中,目标函数用以计算粒子的适应度值;
步骤S2:初始化种群极值与个体极值,其中,种群极值为全局极值,对应整个粒群当前搜索到的最优位置,个体极值对应种群个体当前搜索到的最优位置;
步骤S3:根据粒子在搜索空间中的相对位置,采用K-Means聚类算法对粒子群进行聚类,获得聚类结果,聚类结果包括形成聚类的数目以及每一个聚类中粒子的个数、位置和速度;
步骤S4:根据聚类结果,计算聚类极值以及相应的位置;
步骤S5:根据粒子的目标函数适应度值的下降梯度自适应调整每个粒子的计算参数,其中,目标函数适应度值的下降梯度为两个迭代计算步的适应度值之差与梯度计算间隔的商,计算参数用以计算粒子的速度和位置,每个粒子的计算参数包括惯性权重、个体学习因子、群聚学习因子以及全局学习因子;
步骤S6:根据粒子的当前位置以及目标函数计算粒子在当前位置的适应度值;
步骤S7:根据粒子的在当前位置的适应度值,更新个体极值、聚类极值和全局极值,并根据步骤S5中调整后的计算参数更新粒子的速度和位置。
在一种实施方式中,在步骤S3根据粒子在搜索空间中的相对位置,采用K-Means聚类算法对粒子群进行聚类之前,所述方法还包括:
判断是否达到聚类间隔,如果达到则进行聚类,否则,继续进行粒子群运算。
在一种实施方式中,步骤S3具体包括:
步骤S3.1:根据粒子在搜索空间中的相对位置,采用K-Means聚类算法,随机生成Kmax个聚类中心,将粒子群划分成Kmax个聚类;
步骤S3.2:每次聚类结束后判断各个聚类中粒子个体数目是否达到阈值Nmin,Nmin为粒子群规模N与初始聚类数Kmax目的比值,即N/Kmax如果达到则执行步骤S3.3,如果未达到,则减少聚类数目,重新进行K-Means聚类;
步骤S3.3:重新计算聚类中心;
步骤S3.4:判断聚类中心是否发生变化,如果是,则重新进行K-Means聚类,否则执行步骤S3.5;
步骤S3.5:每个粒子都被分配至某一聚类中,K-Means聚类算法结束,获得聚类结果,聚类结果包括形成聚类的数目以及每一个聚类中粒子的个数、位置和速度。
在一种实施方式中,步骤S5具体包括:
当粒子的优化函数的下降梯度小于第一阈值时,增大惯性权重ω和个体学习因子c1、减小群聚学习因子c2、全局学习因子c3,以增强该粒子的全局搜索能力和个体的认知能力;
当粒子的优化函数的下降梯度大于第二阈值时,减小惯性权重ω和个体学习因子c1、增大群聚学习因子c2、全局学习因子c3,以增强该粒子的局部探索能力。
在一种实施方式中,粒子的位置和速度计算和更新方式如下:
粒子群中第i个粒子的位置由一个N维向量来表示:
xi=(xi1,xi2,···,xiD),i=1,2,···,N (1)
第i个粒子的速度vi为:
vi=(vi1,vi2,···,viD),i=1,2,···,N (2)
第i个粒子当前搜索到的最优位置,对应个体极值pBest:
pi=(pi1,pi2,···,piD),i=1,2,···,N (3)
第i个粒子所在的聚类搜索到的最优位置,对应聚类极值aBest:
pa=(pa1,pa2,···,paD) (4)
整个粒群当前搜索到的最优位置,对应全局极值gBest:
pg=(pg1,pg2,···,pgD) (5)
在第t次迭代计算的过程中,第i个粒子的速度和位置更新公式如下:
式(1)~(7)中,N为所输入的粒子群规模,D为所输入的维度,t为当前迭代计算步数;ω为惯性权重,取值区间为0.6~0.9;个体学习因子c1的取值区间为0.5~2.5,群聚学习因子c2的取值区间为0.4~2.0,全局学习因子c3的取值区间为0.1~0.5;r1、r2、r3为[0,1]范围内均匀分布的随机数。
在一种实施方式中,根据粒子的目标函数适应度值的下降梯度自适应调整每个粒子的计算参数,包括:
第i个粒子的惯性权重ω自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
ωi=0.9 (8)
当前计算步数大于梯度计算间隔时:
上述的第i个粒子的加速因子c1自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
c1i=2.5 (10)
当前计算步数大于梯度计算间隔时:
上述的第i个粒子的加速因子c2自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
c2i=0.4 (12)
当前计算步数大于梯度计算间隔时:
上述的第i个粒子的加速因子c3自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
c3i=0.1 (14)
当前计算步数大于梯度计算间隔时:
式中,fi t为第i个粒子迭代计算t步之后的适应度值,tg为梯度计算间隔,t为当前迭代计算步数,表示目标函数适应度值的下降梯度。
在一种实施方式中,步骤S7具体包括:
步骤S7.1:在计算得到每个粒子的适应度值后,比较该适应度值与个体极值pBest、聚类极值aBest以及全局极值gBest的大小关系,
步骤S7.2:若适应度值优于个体极值pBest,则用xi替换pi;若适应度值优于聚类极值aBest,则用xi替换pa;若适应度值优于全局极值gBest,则用xi替换pg,xi表示第i个粒子的位置,pi表示第i个粒子当前搜索到的最优位置,pa表示第i个粒子所在的聚类当前搜索到的最优位置,pg表示整个粒子群当前搜索到的最优位置;
步骤S7.3:根据调整后的计算参数、公式(6)及公式(7),更新粒子的速度和位置。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明提供的一种基于群体团聚效应的梯度自适应粒子群优化方法KGPSO(K-means Clustering Based Gradient Adaptive Particle Swarm Optimization),在标准粒子群优化算法的基础上,考虑群体中个体仅仅能感知局域信息的基本事实,对寻优空间中的粒子进行动态聚类。通过聚类算法将寻优空间中相隔较近的粒子作为一个子粒群,粒子的演化同时受子粒群的最优粒子和全局最优粒子影响。通过动态聚类形成子粒群,改变了传统的粒群算法中静态的拓扑结构,不断更新粒子的邻域信息,有利于保持种群的多样性,改进粒子寻优搜索能力。此外,还根据粒子的目标函数适应度值的下降梯度自适应调整每个粒子的计算参数,然后根据粒子的位置以及目标函数计算粒子在该位置的适应度值;最后,根据粒子的适应度值,更新个体极值、聚类极值和全局极值,并基于更新后的个体极值、聚类极值和全局极值,更新粒子的速度和位置。从而能够有效解决现有粒子群算法早熟收敛、陷入局部最优等问题,大大提高寻优能力,故而可以得到较好的寻优效果。
进一步地,当粒子的优化函数的下降梯度较小时,增强该粒子的全局搜索能力和个体的认知能力,即增大惯性权重ω和个体学习因子c1、减小群聚学习因子c2、全局学习因子c3。当优化函数的下降梯度急剧变大时,增强该粒子的局部探索能力,即减小惯性权重ω和个体学习因子c1、增大群聚学习因子c2、全局学习因子c3,从而将控制粒子演化的参数,如惯性权重、学习因子等,随粒子的目标函数适应度值的下降梯度而自适应变化,从而进一步提高了寻优能力,改善了寻优效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于群体团聚效应的梯度自适应粒子群优化方法的流程图;
图2为具体示例中本发明提供的方法的计算流程图;
图3为粒子聚类示意图;
图4为本发明提出的方法在Ackley测试函数下的最优适应度值演化曲线与标准粒子群方法和其他改进粒子群方法对比。
图5为本发明提出的方法在Griewank测试函数下的最优适应度值演化曲线与标准粒子群方法和其他改进粒子群方法对比。
图6为本发明提出的方法在Rosenbrock测试函数下的最优适应度值演化曲线与标准粒子群优化方法和其他改进方法的对比。
图7为本发明提出的方法在Schwefel’s测试函数下的最优适应度值演化曲线与标准粒子群方法和其他改进粒子群方法对比。
图8为本发明提出的方法在Sphere测试函数下的最优适应度值演化曲线与标准粒子群方法和其他改进粒子群方法对比。
图9为本发明提出的方法在Weighted_Sphere测试函数下的最优适应度值演化曲线与标准粒子群方法和其他改进粒子群方法对比。
具体实施方式
本发明的目的在于改进粒子群优化的演化策略,解决粒子群优化方法存在的由于早熟收敛和无法逼近全局最优解而导致的寻优效果不佳的问题,提供一种基于群体团聚效应的梯度自适应粒子群优化方法,有效提高寻优能力,改善寻优效果。
为达到上述目的,本发明的主要构思如下:
本发明提出的改进粒子群优化方法,考虑粒子的空间群聚效应及其对信息传播的影响,即群体社会中个体仅能感知邻域信息的特点,并采用了随梯度自适应变化的参数,能够有效解决现有粒子群算法早熟收敛、陷入局部最优等问题,大大提高了算了的寻优能力。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术中标准粒子群优化算法和常用的改进粒子群优化算法存在早熟收敛、易收敛于局部最优或计算效率低等缺点,导致实际应用中寻优效果不理想,限制了粒子群优化算法的应用范围的问题。本实施例提供了一种基于群体团聚效应的梯度自适应粒子群优化方法,请参见图1,该方法包括:
步骤S1:设置初始化参数,初始化粒子群的速度和位置,其中,初始化参数包括粒子群规模、目标函数的维度、初始聚类数目、聚类间隔、聚类次数以及目标函数,其中,目标函数用以计算粒子的适应度值。
具体来说,由聚类次数Kt及聚类间隔ΔK可以求得粒子群算法迭代的总次数,即ΔK×Kt。目标函数可以根据需要进行选取,例如Ackley函数、Griewank函数、Rosenbrock函数等等。
步骤S2:初始化种群极值与个体极值,其中,种群极值为全局极值,对应整个粒群当前搜索到的最优位置,个体极值对应种群个体当前搜索到的最优位置。
步骤S3:根据粒子在搜索空间中的相对位置,采用K-Means聚类算法对粒子群进行聚类,获得聚类结果,聚类结果包括形成聚类的数目以及每一个聚类中粒子的个数、位置和速度。
具体来说,采用K-Means聚类算法,随机生成Kmax个聚类中心,计算每个聚类对象到各个聚类中心的距离,将其分配给距离最近的聚类中心,将粒子群划分成Kmax个聚类。
在一种实施方式中,在步骤S3根据粒子在搜索空间中的相对位置,采用K-Means聚类算法对粒子群进行聚类之前,所述方法还包括:
判断是否达到聚类间隔,如果达到则进行聚类,否则,继续进行粒子群运算。
具体来说,聚类间隔用来控制聚类的频率,当达到聚类间隔时,则进行聚类操作,否则,继续进行粒子群运算,粒子群运算即计算每个粒子的适应度值。
在一种实施方式中,步骤S3具体包括:
步骤S3.1:根据粒子在搜索空间中的相对位置,采用K-Means聚类算法,随机生成Kmax个聚类中心,将粒子群划分成Kmax个聚类;
步骤S3.2:每次聚类结束后判断各个聚类中粒子个体数目是否达到阈值Nmin,Nmin为粒子群规模N与初始聚类数Kmax目的比值,即N/Kmax如果达到则执行步骤S3.3,如果未达到,则减少聚类数目,重新进行K-Means聚类;
步骤S3.3:重新计算聚类中心;
步骤S3.4:判断聚类中心是否发生变化,如果是,则重新进行K-Means聚类,否则执行步骤S3.5;
步骤S3.5:每个粒子都被分配至某一聚类中,K-Means聚类算法结束,获得聚类结果,聚类结果包括形成聚类的数目以及每一个聚类中粒子的个数、位置和速度。
具体来说,采用K-Means聚类算法,随机生成Kmax个聚类中心,可以将粒子群划分成Kmax个聚类,每次聚类结束后判断各个聚类中粒子个体数目是否达到阈值Nmin,若有聚类中个体数量达不到阈值,则减少聚类数目,重新进行K-Means聚类,直到聚类数目不再发生变化,通过聚类算法可以将寻优空间中相隔较近的粒子作为一个子粒群,粒子的演化同时受子粒群的最优粒子和全局最优粒子影响。
聚类次数过多不仅会使粒子群的拓扑结构不断改变,也会导致算法的运算成本大大增加。因此,作为优选,本发明通过设置聚类次数Kt对粒子群进行灵活调控,在保证算法精度的同时节约运算开销。
步骤S4:根据聚类结果,计算聚类极值以及相应的位置。
具体来说,根据每个聚类中粒子的位置和速度,可以计算每个聚类对应的聚类极值,即粒子所在的聚类搜索到的最优位置。
步骤S5:根据粒子的目标函数适应度值的下降梯度自适应调整每个粒子的计算参数,其中,目标函数适应度值的下降梯度为两个迭代计算步的适应度值之差与梯度计算间隔的商,计算参数用以计算粒子的速度和位置,每个粒子的计算参数包括惯性权重、个体学习因子、群聚学习因子以及全局学习因子。
具体来说,梯度计算间隔和迭代计算步可以根据实际情况进行设置,例如可以将梯度计算间隔设置为10步、12步(迭代计算步)、20步等等,迭代计算步可以为1000、1200、2000等等。
在一种实施方式中,步骤S5具体包括:
当粒子的优化函数的下降梯度小于第一阈值时,增大惯性权重ω和个体学习因子c1、减小群聚学习因子c2、全局学习因子c3,以增强该粒子的全局搜索能力和个体的认知能力;
当粒子的优化函数的下降梯度大于第二阈值时,减小惯性权重ω和个体学习因子c1、增大群聚学习因子c2、全局学习因子c3,以增强该粒子的局部探索能力。
具体来说,第一阈值和第二阈值可以根据实际情况设置,粒子的优化函数的下降梯度小于第一阈值时,表示下降梯度较小,粒子的优化函数的下降梯度大于第二阈值时,表示下降梯度急剧增大。本发明中粒子的计算参数为惯性权重ω以及学习因子c1、c2、c3。学习因子的大小决定了粒子自我认知和社会认知对粒子运行轨迹的影响,反映了粒子在群体之间的信息交流程度。c1反映了粒子自身认知能力,c1越大即自身认知能力越强;c2和c3分别为粒子对所在聚类和全局的认知能力,增大c2和c3即为强化粒子的社会认知能力。
具体地,粒子的位置和速度计算和更新方式如下:
粒子群中第i个粒子的位置由一个N维向量来表示:
xi=(xi1,xi2,···,xiD),i=1,2,···,N (1)
第i个粒子的速度vi为:
vi=(vi1,vi2,···,viD),i=1,2,···,N (2)
第i个粒子当前搜索到的最优位置,对应个体极值pBest:
pi=(pi1,pi2,···,piD),i=1,2,···,N (3)
第i个粒子所在的聚类搜索到的最优位置,对应聚类极值aBest:
pa=(pa1,pa2,···,paD) (4)
整个粒群当前搜索到的最优位置,对应全局极值gBest:
pg=(pg1,pg2,···,pgD) (5)
在第t次迭代计算的过程中,第i个粒子的速度和位置更新公式如下:
式(1)~(7)中,N为所输入的粒子群规模,D为所输入的维度,t为当前迭代计算步数;ω为惯性权重,取值区间为0.6~0.9;个体学习因子c1的取值区间为0.5~2.5,群聚学习因子c2的取值区间为0.4~2.0,全局学习因子c3的取值区间为0.1~0.5;r1、r2、r3为[0,1]范围内均匀分布的随机数。
具体来说,上述公式1~6为种群演化过程中的粒子位置、粒子速度、个体极值、聚类极值、全局极值、速度更新、位置更新的计算公式。c1随演化的进行自适应增大,c2随演化的进行自适应减小,c3随演化的进行自适应减小。
在一种实施方式中,根据粒子的目标函数适应度值的下降梯度自适应调整每个粒子的计算参数,包括:
第i个粒子的惯性权重ω自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
ωi=0.9 (8)
当前计算步数大于梯度计算间隔时:
上述的第i个粒子的加速因子c1自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
c1i=2.5 (10)
当前计算步数大于梯度计算间隔时:
上述的第i个粒子的加速因子c2自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
c2i=0.4 (12)
当前计算步数大于梯度计算间隔时:
上述的第i个粒子的加速因子c3自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
c3i=0.1 (14)
当前计算步数大于梯度计算间隔时:
式中,fi t为第i个粒子迭代计算t步之后的适应度值,tg为梯度计算间隔,t为当前迭代计算步数,表示目标函数适应度值的下降梯度。
具体来说,梯度自适应调整粒群的计算参数为:根据粒子历史最优适应度值的下降梯度自适应调整,例如梯度计算间隔取为10个迭代步。上述的自适应调整方法为将粒子个体历史最优适应度值的梯度变化通过反三角函数映射到[0~1]区间,再线性调整惯性权重ω,个体学习因子c1、群聚学习因子c2、全局学习因子c3的大小。其中,计算参数调整是针对每一个粒子个体的,即每个个体的计算参数都不相同。
步骤S6:根据粒子的当前位置以及目标函数计算粒子在当前位置的适应度值。
具体来说,以表1中列出的几种目标函数为例,进行适应度值的计算,其中,各函数的最优适应度值都为0,本发明的方法的目标就是计算最优适应度值,看其如何更快地接近0。具体实施过程中,将粒子的位置坐标代入输入的目标函数从而可以计算得到该位置的适应度值。
表1 目标函数测试表
步骤S7:根据粒子的在当前位置的适应度值,更新个体极值、聚类极值和全局极值,并根据步骤S5中调整后的计算参数更新粒子的速度和位置。
其中,步骤S7具体包括:
步骤S7.1:在计算得到每个粒子的适应度值后,比较该适应度值与个体极值pBest、聚类极值aBest以及全局极值gBest的大小关系,
步骤S7.2:若适应度值优于个体极值pBest,则用xi替换pi;若适应度值优于聚类极值aBest,则用xi替换pa;若适应度值优于全局极值gBest,则用xi替换pg,xi表示第i个粒子的位置,pi表示第i个粒子当前搜索到的最优位置,pa表示第i个粒子所在的聚类当前搜索到的最优位置,pg表示整个粒子群当前搜索到的最优位置;
步骤S7.3:根据调整后的计算参数、公式(6)及公式(7),更新粒子的速度和位置。
具体来说,在更新粒子的速度和位置后,更新迭代步数并进行适应度值的重新计算。满足收敛判据或达到最大迭代次数后终止运算。在优化粒子群算法后,将得到的优化方法应用于智能计算,例如GPU运算,并行计算等,具体可以应用于模式识别和图像处理、神经网络的训练、目标检测。
为了更清楚地说明本发明提供的方法的有益效果,下面通过一个具体的示例予以详细介绍,请参见图2。
首先设置算法的初始参数、初始化粒子群的速度和位置、初始化种群极值与个体极值、相应的位置,然后更新迭代次数、更新粒子的位置和速度,判断是否达到聚类间隔,如果达到,则进行聚类操作,如果未达到则继续进行粒子群运算。
其中,聚类的过程包括:初始化聚类中心数量K,计算每个聚类对象到各个聚类中心的距离,将每个粒子分配给距离最近的聚类中心,然后判断各聚类中心粒子数量是否大于阈值Nmin,如果大于,则重新计算聚类中心,否则,减小K值,重新进行聚类。接下来判断聚类中心是否发生变化,如果时,则重新进行聚类,否则每个粒子都被分配至某一聚类中,K-Means聚类算法结束。
聚类结束后,根据聚类结果计算聚类极值以及相应的位置,然后根据目标函数适应度值的下降梯度自适应计算每个粒子的计算参数、计算适应度值、根据粒子的在当前位置的适应度值,更新个体极值、聚类极值和全局极值。接下来判断是否满足收敛判断依据或者是否达到最大迭代次数,如果是,则结束,否则,返回更新迭代次数的步骤。
为测试本发明提供的方法的全局搜索能力,下面通过一些较为复杂的目标函数,将本发明的方法KGPSO与其他改进粒子群方法(PSO、LPSO等)进行了对比,具体参见图3~9。可以看出,本发明提供的方法可以逼近全局最优解、快速得到收敛,有效提高了全局搜索能力和寻优能力。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种基于群体团聚效应的梯度自适应粒子群优化方法,其特征在于,包括:
步骤S1:设置初始化参数,初始化粒子群的速度和位置,其中,初始化参数包括粒子群规模、目标函数的维度、初始聚类数目、聚类间隔、聚类次数以及目标函数,其中,目标函数用以计算粒子的适应度值;
步骤S2:初始化种群极值与个体极值,其中,种群极值为全局极值,对应整个粒群当前搜索到的最优位置,个体极值对应种群个体当前搜索到的最优位置;
步骤S3:根据粒子在搜索空间中的相对位置,采用K-Means聚类算法对粒子群进行聚类,获得聚类结果,聚类结果包括形成聚类的数目以及每一个聚类中粒子的个数、位置和速度;
步骤S4:根据聚类结果,计算聚类极值以及相应的位置;
步骤S5:根据粒子的目标函数适应度值的下降梯度自适应调整每个粒子的计算参数,其中,目标函数适应度值的下降梯度为两个迭代计算步的适应度值之差与梯度计算间隔的商,计算参数用以计算粒子的速度和位置,每个粒子的计算参数包括惯性权重、个体学习因子、群聚学习因子以及全局学习因子;
步骤S6:根据粒子的当前位置以及目标函数计算粒子在当前位置的适应度值;
步骤S7:根据粒子的在当前位置的适应度值,更新个体极值、聚类极值和全局极值,并根据步骤S5中调整后的计算参数更新粒子的速度和位置。
2.如权利要求1所述的方法,其特征在于,在步骤S3根据粒子在搜索空间中的相对位置,采用K-Means聚类算法对粒子群进行聚类之前,所述方法还包括:
判断是否达到聚类间隔,如果达到则进行聚类,否则,继续进行粒子群运算。
3.如权利要求1所述的方法,其特征在于,步骤S3具体包括:
步骤S3.1:根据粒子在搜索空间中的相对位置,采用K-Means聚类算法,随机生成Kmax个聚类中心,将粒子群划分成Kmax个聚类;
步骤S3.2:每次聚类结束后判断各个聚类中粒子个体数目是否达到阈值Nmin,Nmin为粒子群规模N与初始聚类数Kmax目的比值,即N/Kmax如果达到则执行步骤S3.3,如果未达到,则减少聚类数目,重新进行K-Means聚类;
步骤S3.3:重新计算聚类中心;
步骤S3.4:判断聚类中心是否发生变化,如果是,则重新进行K-Means聚类,否则执行步骤S3.5;
步骤S3.5:每个粒子都被分配至某一聚类中,K-Means聚类算法结束,获得聚类结果,聚类结果包括形成聚类的数目以及每一个聚类中粒子的个数、位置和速度。
4.如权利要求1所述的方法,其特征在于,步骤S5具体包括:
当粒子的优化函数的下降梯度小于第一阈值时,增大惯性权重ω和个体学习因子c1、减小群聚学习因子c2、全局学习因子c3,以增强该粒子的全局搜索能力和个体的认知能力;
当粒子的优化函数的下降梯度大于第二阈值时,减小惯性权重ω和个体学习因子c1、增大群聚学习因子c2、全局学习因子c3,以增强该粒子的局部探索能力。
5.如权利要求4所述的方法,其特征在于,粒子的位置和速度计算和更新方式如下:
粒子群中第i个粒子的位置由一个N维向量来表示:
xi=(xi1,xi2,···,xiD),i=1,2,···,N (1)
第i个粒子的速度vi为:
vi=(vi1,vi2,···,viD),i=1,2,···,N (2)
第i个粒子当前搜索到的最优位置,对应个体极值pBest:
pi=(pi1,pi2,···,piD),i=1,2,···,N (3)
第i个粒子所在的聚类搜索到的最优位置,对应聚类极值aBest:
pa=(pa1,pa2,···,paD) (4)
整个粒群当前搜索到的最优位置,对应全局极值gBest:
pg=(pg1,pg2,···,pgD) (5)
在第t次迭代计算的过程中,第i个粒子的速度和位置更新公式如下:
式(1)~(7)中,N为所输入的粒子群规模,D为所输入的维度,t为当前迭代计算步数;ω为惯性权重,取值区间为0.6~0.9;个体学习因子c1的取值区间为0.5~2.5,群聚学习因子c2的取值区间为0.4~2.0,全局学习因子c3的取值区间为0.1~0.5;r1、r2、r3为[0,1]范围内均匀分布的随机数。
6.如权利要求4所述的方法,其特征在于,根据粒子的目标函数适应度值的下降梯度自适应调整每个粒子的计算参数,包括:
第i个粒子的惯性权重ω自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
ωi=0.9 (8)
当前计算步数大于梯度计算间隔时:
上述的第i个粒子的加速因子c1自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
c1i=2.5 (10)
当前计算步数大于梯度计算间隔时:
上述的第i个粒子的加速因子c2自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
c2i=0.4 (12)
当前计算步数大于梯度计算间隔时:
上述的第i个粒子的加速因子c3自适应变化过程按下式进行:
当前计算步数小于梯度计算间隔时:
c3i=0.1 (14)
当前计算步数大于梯度计算间隔时:
式中,fi t为第i个粒子迭代计算t步之后的适应度值,tg为梯度计算间隔,t为当前迭代计算步数,表示目标函数适应度值的下降梯度。
7.如权利要求5所述的方法,其特征在于,步骤S7具体包括:
步骤S7.1:在计算得到每个粒子的适应度值后,比较该适应度值与个体极值pBest、聚类极值aBest以及全局极值gBest的大小关系,
步骤S7.2:若适应度值优于个体极值pBest,则用xi替换pi;若适应度值优于聚类极值aBest,则用xi替换pa;若适应度值优于全局极值gBest,则用xi替换pg,xi表示第i个粒子的位置,pi表示第i个粒子当前搜索到的最优位置,pa表示第i个粒子所在的聚类当前搜索到的最优位置,pg表示整个粒子群当前搜索到的最优位置;
步骤S7.3:根据调整后的计算参数、公式(6)及公式(7),更新粒子的速度和位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910768302.6A CN110555506A (zh) | 2019-08-20 | 2019-08-20 | 一种基于群体团聚效应的梯度自适应粒子群优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910768302.6A CN110555506A (zh) | 2019-08-20 | 2019-08-20 | 一种基于群体团聚效应的梯度自适应粒子群优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110555506A true CN110555506A (zh) | 2019-12-10 |
Family
ID=68737740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910768302.6A Pending CN110555506A (zh) | 2019-08-20 | 2019-08-20 | 一种基于群体团聚效应的梯度自适应粒子群优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110555506A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949154A (zh) * | 2021-03-19 | 2021-06-11 | 上海交通大学 | 并行异步粒子群优化方法、系统及电子设备 |
CN113051665A (zh) * | 2021-03-25 | 2021-06-29 | 中国计量大学 | 一种基于改进粒子群算法的多无人机气体泄漏源定位方法 |
CN113282756A (zh) * | 2021-06-29 | 2021-08-20 | 华南农业大学 | 一种基于混合聚类的文本聚类智能评估方法 |
CN113408688A (zh) * | 2021-06-29 | 2021-09-17 | 哈尔滨工业大学 | 一种面向未知环境的多放射源在线探寻方法 |
CN113537441A (zh) * | 2021-07-06 | 2021-10-22 | 南京特雷西能源科技有限公司 | 一种基于粒子群的群体演化优化算法 |
CN113808659A (zh) * | 2021-08-26 | 2021-12-17 | 四川大学 | 一种基于基因梯度粒子群算法的反馈相位调控方法 |
CN113919473A (zh) * | 2021-08-31 | 2022-01-11 | 建科环能科技有限公司 | 将粒子群算法和虎克捷夫算法融合的方法及装置、优化虎克捷夫算法的方法及装置 |
CN114117593A (zh) * | 2021-11-15 | 2022-03-01 | 武汉大学 | 岩体力学参数联合求解方法及装置 |
CN117034459A (zh) * | 2023-08-18 | 2023-11-10 | 华东交通大学 | 基于改进蜣螂优化算法的磁浮列车运行优化方法及系统 |
CN117119384A (zh) * | 2023-08-28 | 2023-11-24 | 广州工程技术职业学院 | 出行热点提取方法、系统、设备及存储介质 |
-
2019
- 2019-08-20 CN CN201910768302.6A patent/CN110555506A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949154A (zh) * | 2021-03-19 | 2021-06-11 | 上海交通大学 | 并行异步粒子群优化方法、系统及电子设备 |
CN112949154B (zh) * | 2021-03-19 | 2023-02-17 | 上海交通大学 | 并行异步粒子群优化方法、系统及电子设备 |
CN113051665A (zh) * | 2021-03-25 | 2021-06-29 | 中国计量大学 | 一种基于改进粒子群算法的多无人机气体泄漏源定位方法 |
CN113051665B (zh) * | 2021-03-25 | 2023-06-27 | 中国计量大学 | 一种基于改进粒子群算法的多无人机气体泄漏源定位方法 |
CN113408688B (zh) * | 2021-06-29 | 2022-06-07 | 哈尔滨工业大学 | 一种面向未知环境的多放射源在线探寻方法 |
CN113282756A (zh) * | 2021-06-29 | 2021-08-20 | 华南农业大学 | 一种基于混合聚类的文本聚类智能评估方法 |
CN113408688A (zh) * | 2021-06-29 | 2021-09-17 | 哈尔滨工业大学 | 一种面向未知环境的多放射源在线探寻方法 |
CN113282756B (zh) * | 2021-06-29 | 2023-01-10 | 华南农业大学 | 一种基于混合聚类的文本聚类智能评估方法 |
CN113537441A (zh) * | 2021-07-06 | 2021-10-22 | 南京特雷西能源科技有限公司 | 一种基于粒子群的群体演化优化算法 |
CN113808659B (zh) * | 2021-08-26 | 2023-06-13 | 四川大学 | 一种基于基因梯度粒子群算法的反馈相位调控方法 |
CN113808659A (zh) * | 2021-08-26 | 2021-12-17 | 四川大学 | 一种基于基因梯度粒子群算法的反馈相位调控方法 |
CN113919473A (zh) * | 2021-08-31 | 2022-01-11 | 建科环能科技有限公司 | 将粒子群算法和虎克捷夫算法融合的方法及装置、优化虎克捷夫算法的方法及装置 |
CN114117593A (zh) * | 2021-11-15 | 2022-03-01 | 武汉大学 | 岩体力学参数联合求解方法及装置 |
CN114117593B (zh) * | 2021-11-15 | 2023-04-18 | 武汉大学 | 岩体力学参数联合求解方法及装置 |
CN117034459A (zh) * | 2023-08-18 | 2023-11-10 | 华东交通大学 | 基于改进蜣螂优化算法的磁浮列车运行优化方法及系统 |
CN117034459B (zh) * | 2023-08-18 | 2024-05-31 | 华东交通大学 | 基于改进蜣螂优化算法的磁浮列车运行优化方法及系统 |
CN117119384A (zh) * | 2023-08-28 | 2023-11-24 | 广州工程技术职业学院 | 出行热点提取方法、系统、设备及存储介质 |
CN117119384B (zh) * | 2023-08-28 | 2024-03-22 | 广州工程技术职业学院 | 出行热点提取方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555506A (zh) | 一种基于群体团聚效应的梯度自适应粒子群优化方法 | |
CN106598849B (zh) | 一种基于ap-pso算法的组合测试用例生成方法 | |
CN110418353B (zh) | 一种基于粒子群算法的边缘计算服务器放置方法 | |
CN109451012B (zh) | 一种端云协同负载均衡调度方法、系统及存储介质 | |
CN107169557A (zh) | 一种对布谷鸟优化算法进行改进的方法 | |
CN108038507A (zh) | 基于粒子群优化的局部感受野极限学习机图像分类方法 | |
WO2023245939A1 (zh) | 基于新型紧凑粒子群算法的传感器网络覆盖率优化方法 | |
CN110837891B (zh) | 基于simd架构的自组织映射方法及系统 | |
CN113378474B (zh) | 一种基于贡献量的联邦学习客户机选择方法、系统及介质 | |
CN114511021A (zh) | 基于改进乌鸦搜索算法的极限学习机分类算法 | |
CN114757322A (zh) | 一种多样搜索策略离散粒子群算法 | |
CN113705762A (zh) | 一种基于混沌理论的自适应粒子群优化算法 | |
CN109712160A (zh) | 基于广义熵结合改进的狮群算法实现图像阈值分割方法 | |
CN113255873A (zh) | 一种聚类天牛群优化方法、系统、计算机设备和存储介质 | |
CN115342812A (zh) | 一种基于改进蝴蝶优化算法的无人机三维航迹规划方法 | |
CN116859903A (zh) | 基于改进哈里斯鹰优化算法的机器人平滑路径规划方法 | |
Nabizadeh et al. | A multi-swarm cellular PSO based on clonal selection algorithm in dynamic environments | |
CN110309696B (zh) | 基于深度学习及多聚类中心损失函数的摊贩物品分类方法 | |
CN117471919A (zh) | 一种基于改进鹈鹕优化算法的机器人路径规划方法 | |
CN116822883A (zh) | 一种基于k均值的自组织多艇协同任务规划方法及系统 | |
CN107392306A (zh) | 纸样规格参数推理模型的神经网络的训练学习方法和系统 | |
CN116225064A (zh) | 一种密集无人机避障与冲突消解方法及装置 | |
CN110942346A (zh) | 一种基于粒子群算法的建筑工程造价动态化估算方法 | |
CN114863114A (zh) | 一种基于改进的混沌粒子群的图像阈值分割方法 | |
CN113487870A (zh) | 一种基于cw攻击对智能单交叉口的对抗扰动生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191210 |
|
RJ01 | Rejection of invention patent application after publication |