一种包括独立全局搜索的两阶段粒子群优化算法

文档序号:6628411阅读:363来源:国知局
一种包括独立全局搜索的两阶段粒子群优化算法
【专利摘要】本发明公开了一种包括独立全局搜索的两阶段粒子群优化算法;它包括步骤,种群初始化;采用混沌化方法对粒子的位置X和速度V进行初始化;利用适应度函数fitness计算当前所有粒子的适应值,初始化每个粒子的历史最优位置pbesti和所有粒子的全局最优位置gbest;进行第一阶段迭代-全局搜索;进行第二阶段迭代-局部搜索。本发明的有益效果:第一阶段迭代-全局搜索的每次迭代,粒子是在所有粒子中随机选取一个非自身的粒子进行学习,这种随机选取就保证了群体不会跟踪特定的粒子,也就保证了不会出现聚集现象。第二阶段迭代-局部搜索能很快收敛并能得到精度很高的解,最优解的精度得到提高,并且显著的改善了“早熟”缺陷。
【专利说明】一种包括独立全局搜索的两阶段粒子群优化算法

【技术领域】
[0001]本发明涉及一种粒子群的优化算法,特别是一种可应用于电力系统的负荷调度、电动汽车群的控制等问题的包括独立全局搜索的两阶段粒子群优化算法。

【背景技术】
[0002]发电与负荷的实时平衡是维持电力安全、稳定运行的基本要求。可再生能源发电出力的随机性、波动性将成为未来电力系统运行面临的巨大挑战,传统的、以发电跟踪负荷波动实现系统平衡、以发电控制调整系统运行状态的运行策略和控制手段将难以为继。负荷调度一利用负荷跟踪可再生能源出力变化,控制负荷调整系统运行状态,作为发电调度的补充,将在未来的电力系统运行中发挥重要作用。可控负荷的广泛存在,特别是近年来电动汽车的加速推广为负荷调度的实施创造了条件。
[0003]电动汽车在节能减排、遏制气候变暖等方面有着传统汽车无法企及的优势。考虑到未来电力系统中电动汽车保有量会相当庞大,由调度机构直接对每辆电动汽车进行调度是不现实的。此外集中调度要求调度机构与每辆电动汽车之间建立通信信道,以便采集状态信息和发送调度指令,这对通信网络的可靠性和带宽提出了极高的要求,因此将电动汽车群或智能停车场作为调度对象是更合理的方案。
[0004]经济调度优化算法主要包括拉格朗日法、直接搜索法等传统算法和模拟退火法、遗传算法、粒子群算法等智能算法,但都还存在一些不足,如:优先顺序法无法找到最优解,只能得到几组较优的组合顺序;拉格朗日松弛法可能会出现振荡或奇异现象;动态规划法计算量太大,须用近似方法加以简化。
[0005]遗传算法、粒子群算法等智能优化算法,在解决优化调度问题中具有很大的优势,近年来大量学者在标准粒子群算法的基础上进行了改进,其中包括对惯性权重的选取,学习因子Cl和c2的选取,与遗传算法和微分算法进行融合形成混合优化算法,进行局部搜索和混沌化初始值等方式,但这些方案并没有从根本上改变粒子群前期出现过早聚集现象的弊端,仍然存在易陷入局部最优的问题;另一方面,以往的算法或是所有粒子运动停滞后通过扰动、混沌化等方式重新分配粒子的位置和速度,全局搜索能力差,或是通过变异、交叉等方式使得算法在迭代过程中增强了全局搜索能力,但其全局搜索和局部搜索是混合的。


【发明内容】

[0006]本发明的目的就是为了解决上述问题,提供一种包括独立全局搜索的两阶段粒子群优化算法,该方法利用独立的全局搜索提高了搜索范围,避免了粒子的过早聚集。
[0007]为了实现上述目的,本发明采用如下技术方案:
[0008]一种包括独立全局搜索的两阶段粒子群优化算法,其包括以下步骤:
[0009](I)种群初始化,包括种群大小N,粒子维数D,第一阶段迭代-全局搜索次数Ml,第二阶段迭代-局部搜索次数M2,寻优范围[Xmin,Xmax],粒子速度范围[Vmin,Vmax],惯性权重ω的上下限Comax和ωπ?η,第二阶段迭代-局部搜索的学习因子Cl和C2的上下限cImax> clmin、c2max、c2min,第二阶段最优适应值的最大允许误差为E, E>0 ;
[0010](2)采用混沌化方法对粒子的位置X和速度V进行初始化;
[0011](3)利用适应度函数fitness计算当前所有粒子的适应值,并令Pbesti = Xpgbest=Xpbestfflin,即初始化每个粒子的历史最优位置Pbesti和所有粒子的全局最优位置gbest,其中,i为粒子的序号;
[0012](4)进行第一阶段迭代-全局搜索,按照公式(I)、(2)进行V和X的更新,
[0013]Vt+1;i = Vt; i+c*r* (Xrandom-Xi) (I)
[0014]Xt+1;i = xt, i+Vt+1;i (2)
[0015]其中,c为第一阶段迭代-全局搜索的学习因子,r为[0,1]的随机数,
[0016]Vm为第i号粒子第t次迭代的粒子运动速度,Vt+M为第i号粒子第t+Ι次迭代的粒子运动速度,
[0017]Xrandoffl为种群N中一个随机粒子的位置值,Xi为第i号粒子位置值,Xt, i为第i号粒子第t次迭代的位置值,Xt+1,i为第i号粒子第t+ι次迭代的位置值。
[0018]对结果进行检验,如果V>Vmax,则 V = Vmax ;V<Vmin,则 V = Vmin ;
[0019]如果X>Xmax,则 X = Xmax ;X〈Xmin,则 X = Xmin0
[0020]每次更新后计算所有粒子的适应值,与粒子自身的历史最优位置Pbesti对应的适应值相比较,如果小于粒子自身的历史最优位置Pbesti对应的适应值,则更新Pbesti得位置;与所有粒子的全局最优位置gbest对应的适应值比较,如果小于所有粒子的全局最优位置gbest对应的适应值,则更新gbest得位置。
[0021]所述第一阶段迭代-全局搜索是通过随机选取粒子进行学习,该方式使得算法不会出现粒子聚集现象。
[0022]第一阶段迭代-全局搜索终止之前的每一次迭代终止的判断方法为:设置标志位flag的最大值,利用while循环,当前迭代结果优于上一次迭代或达到flag最大值时,本次迭代结束,进入下一次迭代。这使得每次全局搜索基本都能找到更优的解。
[0023](5)判断第一阶段迭代-全局搜索的迭代次数是否达到最大迭代次数M1,达到即终止第一阶段迭代-全局搜索,迭代结束后得到X、V的较优解,否则继续进行迭代;
[0024]终止第一阶段迭代-全局搜索后,进行第二阶段迭代-局部搜索;
[0025](6)第二阶段迭代-局部搜索采用传统粒子群算法进行局部搜索,以所述步骤(5)中得到的X、V的较优解为第二阶段迭代-局部搜索的X、V的初始值,故局部搜索能很快收敛并能得到精度很高的解,以公式(3)、(4)对X、V进行更新,
[0026]Vt+1;i = ω *Vt,fcl*]"* (Pbest1-Xi)+c2*r* (gbest-Xj (3)
[0027]Xt+li = Xt,i+Vt+li (4)
[0028]其中,ω为惯性权重,Cl和c2为第二阶段迭代-局部搜索的学习因子,r为[0,I]的随机数。
[0029]Vm为第i号粒子第t次迭代的粒子运动速度,Vt+M为第i号粒子第t+Ι次迭代的粒子运动速度,
[0030]Xi为第i号粒子位置值,Xt,i为第i号粒子第t次迭代的位置值,Xt+1,i为第i号粒子第t+ι次迭代的位置值。
[0031]每次更新后计算所有粒子的适应值,与粒子自身的历史最优位置Pbesti对应的适应值相比较,如果小于粒子自身的历史最优位置Pbesti对应的适应值,则更新Pbesti得位置;与所有粒子的全局最优位置gbest对应的适应值比较,如果小于所有粒子的全局最优位置gbest对应的适应值,则更新gbest得位置。
[0032](7)判断第二阶段迭代-局部搜索的迭代次数是否达到第二阶段迭代-局部搜索的迭代次数M2,达到第二阶段迭代-局部搜索迭代次数M2则迭代终止,否则继续迭代;
[0033]或者,检验解的适应值是否小于E,小于或等于E时停止迭代,否则继续迭代。
[0034]本发明的有益效果:
[0035]本方法设置了两阶段的粒子群优化过程,第一阶段为第一阶段迭代-全局搜索,控制所有粒子每次迭代均各自随机选取一个粒子学习,第一阶段迭代-全局搜索终止前的每个粒子进入下一次迭代的条件设置为找到了更优的解,这保证了搜索的效率。但有些情况下算法长时间找不到更优的解,故设置标志位,当算法找到了更优解或达到一定的计算次数均会进入下一次迭代,使搜索范围增大。
[0036]第二阶段迭代-局部搜索采用传统粒子群算法,并以第一阶段迭代-全局搜索得到的X、V的较优解为第二阶段迭代-局部搜索的X、V的初始值,局部搜索能很快收敛并能得到精度很高的解,最优解的精度得到提高,并且显著的改善了“早熟”缺陷。
[0037]第一阶段迭代-全局搜索的每次迭代,粒子在所有粒子中随机选取一个非自身的粒子进行学习,这种随机选取就保证了群体不会跟踪特定的粒子,也就保证了不会出现聚集现象。

【专利附图】

【附图说明】
:
[0038]图1为本发明算法的流程图。

【具体实施方式】
[0039]下面结合附图与电动汽车群的控制实施例对本发明作进一步说明。
[0040]如图1所示,本算法包括以下步骤。
[0041](I)种群初始化,包括粒子数取N = 50,全局搜索迭代次数Ml = 5,局部搜索迭代次数M2 = 50。设一共有D = 10个电动汽车群,Xj为第j个电动汽车群的总用电功率与上层调度系统分配的用电额度的差值。取值范围[-10,10],单位为MW,负值代表电动汽车参与了 V2G。粒子运动速度范围为[-2,2], clmax = c2max = 2.5, clmin = c2min = I。适应度函数f代表了所有电动汽车群用电功率与分配的用电额度差值的平方和,目标是使得适应度函数f的值最小以说明所得的分配方案使得电动汽车群均很好的按照分配的用电量工作,表达式如下:
[0042]/ = Σ^Χ;
[0043]该适应度函数f理论最优值为0,理论最优位置为(0000000000)使用基本的粒子群算法和本发明改进后的粒子群算法对函数进行求解,比较结果的优劣。
[0044](2)采用混沌化方法对粒子的位置X和速度V进行初始化;
[0045]采用的混沌公式为:线性幂函数混合映射,具体公式如下式。
Xf, Xe (O, a)
[0046]^ill μXi^ — Xi), A.e [ i b]

Xf,Xe(b,l)
[0047]式中:0〈a〈b〈l;0<ρ<1 ;q>l,参数 a = 0.2,b = 0.8,p = 0.5, q = 15,μ = 4, i 代表第i号粒子。
[0048](3)利用适应度函数f计算当前所有粒子的适应值,并令Pbesti = Xi, gbest =Xpbestfflin,即初始化每个粒子的历史最优位置Pbesti和所有粒子的全局最优位置gbest,其中,i为粒子的序号。
[0049](4)进行第一阶段迭代-全局搜索,按照以下公式进行V和X的更新,
[0050]Vtn’ j = \ i+c*r* (Xrandom-Xi)
[0051]Xt+li = Xt’i+Vt+li
[0052]其中,c为第一阶段迭代-全局搜索的学习因子,令c = 2,r为[0,I]的随机数,
[0053]Vm为第i号粒子第t次迭代的粒子运动速度,Vt+M为第i号粒子第t+Ι次迭代的粒子运动速度,
[0054]Xrandoffl为种群N中一个随机粒子的位置值,Xi为第i号粒子位置值,Xt, i为第i号粒子第t次迭代的位置值,Xt+1,i为第i号粒子第t+ι次迭代的位置值。
[0055]对结果进行检验,如果V>Vmax,则 V = Vmax ;V<Vmin,则 V = Vmin ;
[0056]如果X>Xmax,则 X = Xmax ;X〈Xmin,则 X = Xmin ;
[0057]每次更新后计算所有粒子的适应值,与粒子自身的历史最优位置Pbesti对应的适应值相比较,如果小于粒子自身的历史最优位置Pbesti对应的适应值,则更新Pbesti得位置;与所有粒子的全局最优位置gbest对应的适应值比较,如果小于所有粒子的全局最优位置gbest对应的适应值,则更新gbest得位置。
[0058]第一阶段迭代-全局搜索是通过随机选取粒子进行学习,该方式使得算法不会出现粒子聚集现象。
[0059]第一阶段迭代-全局搜索终止之前的每一次迭代终止的判断方法为:设置标志位flag的最大值为100,利用while循环,当前迭代结果优于上一次迭代或标志位达到100时,本次迭代结束,进入下一次迭代。这使得每次全局搜索基本都能找到更优的解。
[0060](5)判断第一阶段迭代-全局搜索的迭代次数是否达到最大迭代次数M1,达到即终止第一阶段迭代-全局搜索,迭代结束后得到X、V的较优解,否则继续进行迭代;
[0061]终止第一阶段迭代-全局搜索后,进行第二阶段迭代-局部搜索。
[0062](6)第二阶段迭代-局部搜索采用传统粒子群算法进行局部搜索,以所述步骤(5)中得到的X、V的较优解为第二阶段迭代-局部搜索的X、V的初始值,故局部搜索能很快收敛并能得到精度很高的解,利用以下公式对X、V进行更新,
[0063]Vt+1;i = ω *Vt,fcl*]"* (Pbest1-Vi)+c2*r* (gbest-V^)
[0064]Xt+1;i = Xt, i+Vt+1;i
[0065]其中,ω为惯性权重,r为[0,I]的随机数,
[0066]Vm为第i号粒子第t次迭代的粒子运动速度,Vt+M为第i号粒子第t+Ι次迭代的粒子运动速度,
[0067]Xi为第i号粒子位置值,Xt,i为第i号粒子第t次迭代的位置值,Xt+1,i为第i号粒子第t+ι次迭代的位置值,
[0068]Cl和c2为第二阶段迭代-局部搜索的学习因子,按照下列公式变化:
[0069]ω = ω max-t* (ω max- ω min) /M2,
[0070]cl = clmax-t* (clmax-clmin)/M2,
[0071]c2 = c2max_t*(c2max_c2min)/M2
[0072]其中,t为当前迭代次数。
[0073]每次更新后计算所有粒子的适应值,与粒子自身的历史最优位置Pbesti对应的适应值相比较,如果小于粒子自身的历史最优位置Pbesti对应的适应值,则更新Pbesti得位置;与所有粒子的全局最优位置gbest对应的适应值比较,如果小于所有粒子的全局最优位置gbest对应的适应值,则更新gbest得位置。
[0074](7)判断第二阶段迭代-局部搜索的迭代次数是否达到第二阶段迭代-局部搜索的迭代次数M2,达到第二阶段迭代-局部搜索迭代次数M2则迭代终止,否则继续迭代;
[0075]或者,检验解的适应值是否小于10_8,小于或等于10_8时停止迭代,否则继续迭代。
[0076]针对适应度函数f分别用基本粒子群算法(PSO)和本发明的改进后的粒子群算法(IPSO)计算30次,计算得到的最优位置与理论最优位置之间的欧式距离,得到的结果如下表。
[0077]

【权利要求】
1.一种包括独立全局搜索的两阶段粒子群优化算法,其包括以下步骤: (1)种群初始化; (2)采用混沌化方法对粒子的位置X和速度进行初始化; (3)利用适应度函数fitness计算当前所有粒子的适应值,并令Pbesti= Xi, gbest =Xpbestfflin,即初始化每个粒子的历史最优位置Pbesti和所有粒子的全局最优位置gbest,其中,i为粒子的序号; (4)进行第一阶段迭代-全局搜索,通过随机选取粒子进行学习,计算适应值,如果优于自身的历史最优值则对适应值进行更新; (5)判断第一阶段迭代-全局搜索是否结束;如果第一阶段迭代-全局搜索迭代结束得到X、V的较优解,进行第二阶段迭代-局部搜索,否则继续进行迭代; (6)终止第一阶段迭代-全局搜索后,进行第二阶段迭代-局部搜索; (7)判断第二阶段迭代-局部搜索是否结束,达到第二阶段迭代-局部搜索结束的要求则本算法结束,得到X、V的最优解,否则继续进行第二阶段迭代-局部搜索,直到达到第二阶段迭代-局部搜索结束的要求。
2.如权利要求1所述一种包括独立全局搜索的两阶段粒子群优化算法,其特征是,所述步骤(I)中的种群初始化包括种群大小N,粒子维数D,第一阶段迭代-全局搜索次数Ml,第二阶段迭代-局部搜索次数M2,寻优范围[Xmin,Xmax],粒子速度范围[Vmin,Vmax],惯性权重ω的上下限Comax和ωπ?η,第二阶段迭代-局部搜索的学习因子Cl和C2的上下限cImax> clmin、c2max、c2min,第二阶段最优适应值的最大允许误差为E, E>0。
3.如权利要求1或2所述一种包括独立全局搜索的两阶段粒子群优化算法,其特征是,所述步骤(4)中第一阶段迭代-全局搜索采用以下公式对V和X进行更新,
Vt+i,i = Vt;i+c*r* (Xrandom-Xi) Xt+i,i= m+i’i 其中,C为第一阶段迭代-全局搜索的学习因子,r为[0,1]的随机数, Vm为第i号粒子第t次迭代的粒子运动速度,Vt+ll为第i号粒子第t+Ι次迭代的粒子运动速度, Xrandoffl为种群N中一个随机粒子的位置值,Xi为第i号粒子位置值,Xt, i为第i号粒子第t次迭代的位置值,Xt+1,i为第i号粒子第t+ι次迭代的位置值; 更新过程中对结果进行检验,
如果 V>Vmax,则 V = Vmax ;V<Vmin,则 V = Vmin ;
如果 X>Xmax,则 X = Xmax ;X〈Xmin,则 X = Xmin ; 每次更新后计算所有粒子的适应值,若优于粒子自身的历史最优位置Pbesti对应的适应值,则更新Pbesti得位置;与所有粒子的全局最优位置gbest对应的适应值比较,若优于则更新gbest得位置。
4.如权利要求3所述一种包括独立全局搜索的两阶段粒子群优化算法,其特征是,第一阶段迭代-全局搜索终止之前的每一次迭代终止的判断方法为:设置标志位flag的最大值,利用while循环,当前迭代结果优于上一次迭代或达到flag最大值时,本次迭代结束,进入下一次迭代。
5.如权利要求1或2所述一种包括独立全局搜索的两阶段粒子群优化算法,其特征是,所述步骤(5)中判断第一阶段迭代-全局搜索是否结束的判断方法为:检验第一阶段迭代-全局搜索的迭代次数是否达到最大迭代次数Ml,达到即终止第一阶段迭代-全局搜索,达不到则继续进行第一阶段迭代-全局搜索。
6.如权利要求1或2所述一种包括独立全局搜索的两阶段粒子群优化算法,其特征是,所述步骤(7)中判断第二阶段迭代-局部搜索是否结束的判断方法为:判断第二阶段迭代-局部搜索的迭代次数是否达到第二阶段迭代-局部搜索的迭代次数M2,达到第二阶段迭代-局部搜索迭代次数M2则迭代终止,否则继续迭代; 或者,检验解的适应值是否小于E,小于或等于E时停止迭代,否则继续迭代。
7.如权利要求1所述一种包括独立全局搜索的两阶段粒子群优化算法,其特征是,第二阶段迭代-局部搜索采用传统粒子群算法进行局部搜索,以所述步骤(5)中得到的X、V的较优解为第二阶段迭代-局部搜索的X、V的初始值,利用以下公式对X、V进行更新, Vt+1;i = ω(Pbest1-Xi)+c2*r* (gbest-Xj
Xt+i,i = m+i’i 其中,ω为惯性权重,Cl和c2为第二阶段迭代-局部搜索的学习因子,r为[O,I]的随机数, Vm为第i号粒子第t次迭代的粒子运动速度,Vt+ll为第i号粒子第t+Ι次迭代的粒子运动速度, Xi为第i号粒子位置值,Xt,i为第i号粒子第t次迭代的位置值,Xt+1,i为第i号粒子第t+ι次迭代的位置值; 每次更新后计算所有粒子的适应值,若优于粒子自身的历史最优位置Pbesti对应的适应值,则更新Pbesti得位置;与所有粒子的全局最优位置gbest对应的适应值比较,若优于则更新gbest得位置。
【文档编号】G06Q10/04GK104200264SQ201410498586
【公开日】2014年12月10日 申请日期:2014年9月25日 优先权日:2014年9月25日
【发明者】侯梅毅, 刘世岭, 曹国卫, 朱国防 申请人:国家电网公司, 江苏省电力公司, 江苏省电力公司盐城供电公司, 山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1