发明名称 一种矢量高斯学的粒子群优化方法
摘要 本发明公开了一种矢量高斯学的粒子群优化方法,为解决高斯学策略易使群体的学能力差、多样性缺失等不足,提出矢量高斯学策略,该策略对种群最优位置依迭代次数选择相应维度空间进行矢量高斯学,生成矢量高斯解,增加种群最优位置的学能力,保持种群的多样性,并将其运用于粒子群优化方法。在进化过程中,通过对群体进化状态阈值的分析,方法将群体状态定义为“正常”和“早熟”两种状态,若群体陷入“早熟状态”,则采用线性递减的惯性权重和矢量高斯学策略,反之,则采用固定的惯性权重策略。实验结果表明本发明能较好地逃离局部最优,具有较快的收敛速度和较高的收敛精度。
申请公布号 CN106447027A 申请公布日期 2017.02.22
申请号 CN201610896637.2 申请日期 2016.10.13
申请人 河海大学;南昌工程学院 发明人 赵嘉;王慧斌;孙辉;黄晶;赵丽华
分类号 G06N3/00(2006.01)I 主分类号 G06N3/00(2006.01)I
代理机构 南京先科专利代理事务所(普通合伙) 32285 代理人 叶帅东
主权项 一种矢量高斯学习的粒子群优化方法,其特征在于,包括如下内容:矢量高斯学习策略定义1高斯解(Gaussian Solution,GS),在M维搜索空间中的一个点X<sub>i</sub>=(x<sub>i1</sub>,x<sub>i2</sub>,…,x<sub>iM</sub>),其对应的高斯解<img file="FDA0001130054640000011.GIF" wi="426" he="71" />可定义如下:<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow><mo>*</mo></msubsup><mo>=</mo><msub><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>+</mo><mi>G</mi><mi>a</mi><mi>u</mi><mi>s</mi><mi>s</mi><mo>_</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>o</mi><mi>m</mi><mo>(</mo><mrow><mi>&mu;</mi><mo>,</mo><msup><mi>&sigma;</mi><mn>2</mn></msup></mrow><mo>)</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001130054640000012.GIF" wi="1340" he="71" /></maths>其中,<img file="FDA0001130054640000013.GIF" wi="46" he="70" />为第i个个体第j维经高斯学习后的新位置,x<sub>ij</sub>为第i个个体第j维的原有位置,Gauss_random(μ,σ<sup>2</sup>)为高斯随机数函数,μ和σ<sup>2</sup>分别为高斯随机函数的均值和方差;定义2矢量高斯解(Vector Gaussian Solution,VGS),在M维搜索空间中的精英粒子gBest,其对应的矢量高斯解gBest<sup>*</sup>,可定义如下:num=Int((1.0‑i*1.0/iterNum)*M)+1      (4)m=rand()%M    (5)<maths num="0002"><math><![CDATA[<mrow><msubsup><mi>gBest</mi><mi>m</mi><mo>*</mo></msubsup><mo>=</mo><msub><mi>gBest</mi><mi>m</mi></msub><mo>+</mo><mi>G</mi><mi>a</mi><mi>u</mi><mi>s</mi><mi>s</mi><mo>_</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>o</mi><mi>m</mi><mo>(</mo><mrow><mi>&mu;</mi><mo>,</mo><msup><mi>&sigma;</mi><mn>2</mn></msup></mrow><mo>)</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001130054640000014.GIF" wi="1406" he="63" /></maths>其中,M为粒子总维度数;i和iterNum分别表示当前迭代次数和最大迭代次数;num为进行矢量高斯学习的维度空间大小,随着迭代次数的增加,学习的维度空间越来越小,直至变成1维;Int()是取整函数;m(0≤m<M‑1)为一随机整数,表示选择的是M维中的第m维,且同一次更新选择的所有num个维度均不同;Gauss_random(μ,σ<sup>2</sup>)为高斯随机数函数;gBest<sub>m</sub>为精英粒子第m维的位置信息;在矢量高斯学习策略中,为平衡粒子的全局探测能力与局部开发能力,需对矢量高斯学习的方差进行动态调整,进化前期σ<sup>2</sup>较大,粒子的搜索空间大,算法的全局搜索能力强;随着进化的深入,σ<sup>2</sup>越来越小,粒子的搜索空间变小,算法的局部开发能力强;其方差调整策略定义如下:设在某一次迭代过程中,矢量高斯学习策略选择的维度空间大小为num(1≤num≤M),选择的维度数值分别是j<sub>1</sub>,j<sub>2</sub>,…,j<sub>num</sub>,其中1≤j<sub>1</sub>且j<sub>num</sub>≤M,则<maths num="0003"><math><![CDATA[<mrow><msub><mi>gBest</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub><mo>=</mo><mi>m</mi><mi>i</mi><mi>n</mi><mrow><mo>(</mo><mo>|</mo><msub><mi>gBest</mi><msub><mi>j</mi><mn>1</mn></msub></msub><mo>|</mo><mo>,</mo><mo>|</mo><msub><mi>gBest</mi><msub><mi>j</mi><mn>2</mn></msub></msub><mo>|</mo><mo>,</mo><mn>...</mn><mo>|</mo><msub><mi>gBest</mi><msub><mi>j</mi><mrow><mi>n</mi><mi>u</mi><mi>m</mi></mrow></msub></msub><mo>|</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001130054640000015.GIF" wi="1508" he="94" /></maths>σ<sup>2</sup>=gBest<sub>min</sub>*r<sub>3</sub>    (8)其中:min()函数为最小值选取函数,r<sub>3</sub>为[0,0.5]之间的随机数;同时,根据算法所处的进化状态对算法的惯性权重w作了相应改进:若算法陷入“早熟”状态,将w设置为随算法迭代次数的增加而减小;反之,将w设置为固定值;公式如下:<maths num="0004"><math><![CDATA[<mrow><mi>w</mi><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>0.5</mn><mo>,</mo></mrow></mtd><mtd><mrow><mi>t</mi><mi>a</mi><mi>g</mi><mo>&le;</mo><mi>lim</mi><mi>i</mi><mi>t</mi></mrow></mtd></mtr><mtr><mtd><mrow><mn>1.2</mn><mo>-</mo><mrow><mo>(</mo><mn>1.2</mn><mo>-</mo><mn>0.02</mn><mo>)</mo></mrow><mo>*</mo><mi>i</mi><mo>/</mo><mi>i</mi><mi>t</mi><mi>e</mi><mi>r</mi><mi>N</mi><mi>u</mi><mi>m</mi><mo>,</mo></mrow></mtd><mtd><mrow><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi><mi>w</mi><mi>i</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001130054640000021.GIF" wi="1541" he="143" /></maths>其中,w为惯性权重;tag为种群最优位置连续未更新的次数;limit为判断算法陷入“早熟”状态的阈值;VGL‑PSO算法的具体步骤如下:1)初始化所有粒子,设置相关参数;2)计算和评价粒子适应值;3)判断种群当前的进化状态,若tag≤limit,则视为正常状态,转入步骤4),否则视为“早熟”状态,转入步骤5);4)采用固定的惯性权重,利用式(1)和(2)对粒子速度和位置进行更新,同时更新粒子最优位置和全局最优位置信息;判断全局最优位置是否有更新,如有更新,设置tag=0,否则tag++;转入步骤6);5)利用式(4)、(5)、(6)、(7)和(8)对精英粒子进行矢量高斯学习;同时采用式(9)的线性下降惯性权重和式(1)和(2)对粒子进行更新,同时更新粒子最优位置和全局最优位置信息;判断全局最优位置是否有更新,如有更新,设置tag=0,否则tag++;转入步骤6);6)检验是否满足终止条件,若满足,则停止迭代,输出全局最优位置gBest及其对应的适应值,否则转到3)。
地址 211100 江苏省南京市江宁区佛城西路8号