二进制粒子群算法

2024-08-29

二进制粒子群算法(精选十篇)

二进制粒子群算法 篇1

关键词:配电网络,破圈法,网络重构,禁忌搜索算法,图论,二进制粒子群优化算法

0 引言

配网重构是配电网研究的重要领域。为提高供电可靠性和电网运行灵活性,配电网中设有大量分段开关和一些联络开关。在电网运行过程中,随着负荷变化,及时调整网络中联络开关和分段开关的状态,改变网络的运行结构,可以达到平衡负荷、消除过载、提高电压质量和降低网络损耗的目的[1]。在配电网重构中通常以降低网损为目标函数。

目前文献的求解方法有:(1)传统的数学方法[2],其优点是可以得到不依赖于初始网络结构的全局最优解,但存在严重的“维数灾”;(2)启发式方法,如支路交换法[3]和最优流算法[4],其优点是计算速度快,物理概念清晰,但缺乏数学意义上的全局最优;(3)人工智能方法,如模拟退火算法、遗传算法、禁忌搜索算法[5]等,但也存在缺点。如模拟退火算法[6],计算量大;遗传算法[7,8],计算速度慢,局部搜索能力差等。(4)多种算法结合的混合算法[9,10],可以使各个算法取长补短,在配电网重构中取得了很好的效果。

本文采用改进的二进制粒子群算法应用于配电网络重构,利用避圈法更新粒子,并结合禁忌搜索算法改善算法的搜索效率,算例表明,本文算法具有快速、高效的全局寻优能力。

1 配电网重构的数学模型

以网损最小为优化目标的数学模型:

式中:F为重构优化目标函数;N为配电网支路的集合;kb为对应的支路b的开合状态,kb为1表示该支路是闭合的,kb为0时表示该支路是打开的;br为对应支路b的电阻,Ib为流经支路b的电流;该目标函数需要满足下列网络约束条件:

1)辐射状网络结构,即网络不存在环路和孤立节点。

2)支路容量约束:|Ib|<|Ib|max,|Ib|max为对应支路允许流经电流幅值的最大值。

3)变电所容量或变压器容量约束:Si

4)配电网节点电压约束:Vimin

2 PSO算法及其改进

2.1 基本PSO算法

PSO是一种全新的智能优化算法[11],假设在一个D维的搜索空间中,第i个粒子的位置Xi,飞行速度iV,表示每个粒子经过的最好位置记为Pbest,群体中所有粒子经过的最好位置记为Gbest。对于每一代,粒子根据以下公式更新自己的位置和速度:

式中:ω是惯性因子,一般取0.4~1.2;1c和2c是学习因子,一般取1.5~2.0;1r和2r是区间[0,1]上的随机数;粒子群规模一般取30~50。

2.2 二进制PSO算法

二进制PSO算法(DPSO)中,状态空间中每个粒子的每一位xi,d的取值为0或1,vi,d为xi,d取1的概率。把式(3)中的xi,d用以下公式计算:

式中:r为[0,1]上的随机数。二进制PSO算法的其他部分同基本PSO算法。为了防止饱和,速度被限制在[-4,4]区间内。

2.3 改进DPSO

高斯分布N(µ,σ2),其P(-σ

(1)如果Fi-u<-σ,此时粒子适应值较小,离目标比较近,粒子在进化中表现比较好。对于这种粒子,进化策略采用认知模型。认知模型的一个显著的特点是粒子群收敛速度的减慢,能有效地避免粒子群多样性的丧失。

(2)如果Fi-u>σ,此时粒子适应值较大,离目标比较远,粒子在进化中表现比较差。该类粒子的进化策略采用社会模型。这样做的目的是使这些表现差的粒子加快收敛速度。

(3)如果-σ≤Fi-u≤σ,此时粒子的适应值适中,仍然保持标准PSO算法的进化策略,即采用完全模型。

取定c1和c2之后,把进化方程中的速度修正公式(2)更改为

同时对ω做适当调整

式中:r1、r2、r均为[0,1]中的随机数。

2.4 更新规则改进

为配合破圈法来保证网络的辐射状结构并大大减少搜索次数,本文对基本二进制PSO算法的位置更新规则进行如下改进:

规则1:

规则2:

式中:M是与开关d属于同一个环路的所有开关的集合。

少数粒子按规则1更新粒子,保证粒子的多样性,以跳出局部最优;多数粒子按规则2更新粒子,保证粒子快速收敛。把所有粒子经过的最好位置记为Gbest,每个粒子经过的最好位置记为Pibest。

3 改进二进制粒子群算法的配电网重构

3.1 配电网络结构简化

(1)确定基本环路,如图1(a),划分出5个基本环路。

(2)简化原则:a.为保证负荷点的供电,不在任何环路内的支路上的开关必须闭合;b.为提高搜索效率避免不必要的搜索,与电源点相连的开关一般也必须闭合。根据简化原则可以得到图1(b)。

(3)找出T节点,如图1(b)的节点4、9、11、

(4)把两个T节点之间的相连支路合成一条支路,如图1(b)中的节点4、9间的支路S4-5、S5-6、S6-7、S7-8、S8-9合成图1(c)中节点4、9间的b1支路。

这样,把一个复杂的69节点、74条支路的系统图简化成仅有8节点、12条支路的图1(c)。

13、15、20、48、66,共八个T节点。

3.2 基于图论的配电网络拓扑分析

根据图论中关于树的定义:若G无回路,则G本身为一树。若G有回路,则删去回路上任一边e,G-e仍连通,对G-e重复上述操作,直至得到G的无回路连通子图——生成树。由此可知,对于连通图G可以通过依次从回路中删边的方法得到其生成树,此方法称为破圈法。

破圈法要点是确定基本回路,上节中配电网结构简化后,就已得到基本回路。如图2(a)中的,就组成G的一个基本回路组。从G中删除15C~C中任选一个基本回路中的任意支路生成图1G:

(1)若删除回路C2的支路b9,则如图2(b)所示,支路b9的删除仅仅破坏了回路C2,而回路C1、C3、C4、C5则不受影响,仍然是1G的回路。

(2)若删除回路C1的b1支路,如图2(c)所示,由于b1同属于回路C1、C2,则b1的删除同时破坏了回路C1和C2,但却生成了新的回路C1'(b2-b10-b9-b6-b7)。而回路C3、C4和5C则不受影响,仍然是1G的回路。

删除过程可归结为:先确定待选支路b及所属基本回路C,若b不属于余下的基本回路,则这些回路维持不变;若b同时属于其他基本回路,则将C与这些基本回路进行环后生成新的基本回路。重复上述操作,直至没有回路为止。利用图论的知识可以证明,破圈法是一种高效、准确地求解图的生成树方法,可以百分之百得到辐射状网络。

3.3 生成辐射状网络的步骤

配电网重构的重要约束条件是配电网为辐射状。由图论可知,X分维中0的个数必定等于配电网的环路数。生成辐射状网络的步骤如下:

(1)配电网络结构简化成图1(a),根据公式(5)和(8)得到集合{r}和{S};

(2)找出min{r}或min{S}对应的开关,把开关对应的X分维置0,在图2(a)中找出包含此开关的支路,把此支路中其他开关对应的X分维置1,并删除此支路,此时图2(a)减少一个环路;

(3)为了减少搜索,删除不在任何环路上的支路,并把此支路上所有开关对应的X分为置1;

(4)把上两步删除的支路中包含的所有开关对应的r或S从集合{r}或{S}中删除;

(5)重复步骤(2)、(3)、(4),直到图2(a)中没有环路;

(6)这样得到的X能够百分之百的保证配电网络为辐射状。

3.4 禁忌算法在二进制粒子群算法中的应用

禁忌算法通过引入一个灵活的存储结构和相应的禁忌准则来避免迂回搜索。记录粒子群算法搜索到的当前最优位置作为禁忌对象,在下次迭代过程中,判断群体中的各个粒子更新的位置适应值是否由于被禁对象,若是,则更新禁忌对象,否则判断更新过的位置是否被禁忌,若是则重新更新粒子速度和位置,否则不做处理,保留粒子更新过的位置和速度。

3.5 算法流程

(1)初始化。输入网络信息,如支路阻抗矩阵,节点功率矩阵,节点-支路关联矩阵等;初始化粒子,如确定优化变量的维数,设置粒子群规模M和算法参数,即学习因子、速度限值等;设置最大迭代次数Imax;

(2)迭代次数Iiter=1时,在控制变量变化范围内随机生成M个解,即每个解都能保证网络为辐射状;用广度搜索法对每个解对应的网络进行分层,用前推回代算法计算每个粒子的目标函数;

(3)判断当前迭代次数是否达到最大迭代次数Imax或M个粒子都为最优解,如果是,终止程序,否则Iiter=Iiter+1。Iiter=1时,记录群体当前最好位置Gbest和每个粒子的位置作为粒子的最优位置Pbest;

(4)N>1时,用改进二进制粒子群优化算法更新每个粒子的速度和位置,然后用破圈法修正粒子位置,保证每个粒子都能生成辐射状网络;

(5)查看粒子位置是否被禁,若是,重新更新粒子速度、位置、用破圈法修正粒子位置;若不是,继续以下步骤;

(6)用广度搜索法对每个粒子对应的网络进行分层,用前推回代算法计算每个粒子的目标函数值;

(7)比较粒子的目标函数值与个体当前最优解iP对应的目标值fibest,若目标值小于fibest,则将当前位置作为粒子自身当前最优解iP。选取fibest中最小值作为当前迭代过程的全局最优解对应的目标函数值fg'best,并与粒子群当前群体最优解fgbest进行比较,若小于,更新当前最优解Gbest,相应的更新禁忌对象,转到步骤3。

4 算例

本文采用MATLAB 6.5编程,计算机配置为赛扬,CPU为2.40 GHz,512 MB内存。算例取自文献[12],是美国PG&E的69节点配电网系统,有74条支路,5个联络开关,如图1(a)所示。该系统的额定电压为12.66 k V,总负荷为3 802.2 k W+j2694.6 kvar。

设定粒子群规模为50,学习因子1c和2c均为2,速度限定vmax和vmin分别为4和-4,最大迭代次数为100。

表1为本文算法的计算结果和其他文献的计算结果。本文算法和其他文献算法形成的开关集合相同,网损和文献[13]的结果相同,比文献[8,13]的结果稍小。

表2为不同算法迭代次数比较结果,用本文算法连续运行100次,记录每次达到最优解的次数,最快为4次,其平均迭代次数为10.26次,优于文献[10,13]的结果。从表1和表2的结果分析,可以看出本文算法的高效率的搜索能力和优越性。

5 结语

基于粒子群算法的翼型优化设计 篇2

采用粒子群算法(PSO)对层流翼型进行了以提高升阻比为目标的优化设计.翼型的设计达到了设计要求,优化设计后的翼型气动特性也有显著地改善,这表明了粒子群算法应用于翼型气动优化设计的可行性.在优化设计的`过程中,粒子采用递减惯性权重,以加强粒子初期的全局搜索能力与后期的局部搜索能力.翼型由解析函数线性叠加法表示,目标函数和粒子的适应度由基于二维欧拉方程的流场数值解来提供.

作 者:许平姜长生 XU Ping JIANG Chang-sheng 作者单位:许平,XU Ping(南京航空航天大学,自动化学院,江苏,南京,210016;中国人民解放军94669部队,安徽,芜湖,241007)

姜长生,JIANG Chang-sheng(南京航空航天大学,自动化学院,江苏,南京,210016)

二进制粒子群算法 篇3

关键词 粒子群算法;水资源优化配置;水稻

中图分类号 S344 文献标识码 A

Optimal Allocation of Rice Water Based on PSO

LUO Yongheng1,ZHANG Mi2,ZHOU Jianhua2

(1. Economic College of Hunan Agricultural University,Changsha,Hunan 410128,China;

2. School of Economics and Management,Changsha University of Science & Technology,Changsha,Hunan 410114,China)

Abstract This article aimed to achieve the optimal allocation of rice water resources. The optimal allocation of rice water not only exists in different types of rice such as early rice, season rice and late rice, but also exists in different growth stages of the same type. Particle swarm optimization has the advantages of high efficiency and precision in the calculation and is relatively easy to operate,so it was applied to the optimal allocation of rice water model solution. The specific example of optimal allocation of rice water in GaoLu village of HengYang verifies the feasibility of the algorithm.

Key words particle swarm optimization;the optimal allocation of water resource; rice

1 引 言

作为农业大省的湖南省,其主要农作物是水稻,故水稻用水量十分巨大.虽然湖南省全境地处亚热带季风湿润气候区,降水较为丰沛,但在季节性干旱时节中,全省不少农村地区普遍存在着水稻用水困难问题.

在科学地对水稻进行用水的前提下,有限的灌溉水量既要在早稻、一季稻和晚稻等不同类型的水稻之间进行优化配置,也要在同一类型水稻在不同的生长阶段进行优化配置.为此就要构建一种大系统、多目标的高维非线性优化配置模型.在以往的文献中,在求解模型的方法选择中,一般采用大系统分解协调原理和动态规划相结合的方法.该方法虽然将大系统分解为一个个的子系统并减少了变量个数,便于优化求解,但协调的过程需要多次从低阶模型中返回信息,而且对于每层的寻优求解过程存在难以克服的矛盾,状态变量离散过少会降低计算精度,使计算结果偏差太大;离散过多,则又会大大降低计算效率.因此有学者应用基于粒子群的大系统优化模型来求解.粒子群优化算法具有较强全局寻优能力,应用于水稻用水的优化配置模型的求解.粒子群优化算法一方面提高了计算效率和计算精度,另一方面也比较容易操作.本研究以湖南省衡阳县高炉村的水稻用水优化配置为具体算例.结果表明,本文所用方法运算快速,程序实现简单可行,评价结果准确,没有陷入局部最优解的局限,

2 粒子群优化算法

粒子群优化算法(Particle Swarm Optimization)是由Kennedy和Eberhart于1995年提出的一种新型的群智能进化算法,它可以灵活方便地处理具有大量等式约束、不等式约束和同时包含连续变量、离散变量的混合整数优化问题.因此,对于水稻的用水优化配置间题,采用粒子群优化算法也是一种可行方案,其为水稻用水优化配置提供了一种很有前景和潜力的新型方法[1-7].

粒子群算法的规则比遗传算法还要简单.粒子群算法从随机解出发,由迭代公式计算最优解,通过适应度来评价解的品质,通过追随当前搜索到的最优值来寻找全局最优.

粒子群优化算法中,其迭代公式是:

vij(t+1)=wvij(t)+c1v1j(t)(pij(t)

-xij(t))+c2v2j(t)(pgj(t)-xij(t)),

xij(t+1)=xij(t)+vij(t+1),

其中,i表示粒子i,j表示粒子的第j维,t表示第t代,c1,c2为加速常数.w为惯性权重:w(iter)=wmax -(wmax -wmin )/imax ·iter.wmax 为最大惯性权值,imax 为最大进化代数;wmin 为最小惯性权值,iter为代数.r1和r2为两个随机函数,并且相互独立.vij∈[-vmax ,vmax ], vmax =kvmax ,0.1≤k≤1.0.

3 水稻用水优化配置的模型构建

水稻用水优化配置的出发点和立足点就是,灌溉水稻的用水能够产生最大的经济效益.然而,灌溉水稻的用水量与其带来的经济效益,存在着复杂的非线性关系,较难用函数关系对其进行描述.有时使用动态规划法、线性与非线性规划法等方法,也可以用离散的表格形式表达水稻用水量与其经济效益之间的关系,但前提就是都要把灌溉水稻的用水作为连续变量,为此往往使水稻的用水配置决策与实际的用水情况不相适应.

由一季稻和晚稻打成的大米(简称为一季稻米和晚稻米.同样,由早稻打成的米是早稻米),因为煮熟后米饭较软、黏,得到消费者的偏爱,因而一季稻米和晚稻米其市场价格要比早稻米高出不少.一季稻米由于其生长周期长,加之其米饭口感好,营养比晚稻米丰富,因而其市场售价又比晚稻米贵一些.目前,在我国南方地区,尤其是湖南省的中南部地区,农户在全年当中,有的只是种植一季稻,也有不少农户种植水稻两次,即分别种植早稻和晚稻.这样在每年的3月至10月当中,水稻的存在形式是,既有早稻,也有一季稻和晚稻.除了早稻和晚稻不能同时存在以外,早稻和一季稻、一季稻和晚稻,均有一段交差重叠的时期.本研究因为数据采集的关系,没有考虑大米的市场价格,因而也就没有经济效益的价格因素.而只是把灌溉水稻的用水能够产生最大的经济效益,仅仅等同于水稻的产量.

基于上述情况的考虑,本研究把不同类型的水稻(早稻、一季稻和晚稻)看作一个用水单位,对不同类型的水稻进行用水量最优配置.同类型水稻的用水,分阶段进行用水量最优配置.

3.1 同类型水稻用水优化配置模型

同类型的水稻,处于不同阶段(本研究把水稻的生长期划分为四个生长阶段,具体的阶段划分,见下文),其用水量是不同的.水稻的用水原则是:第一阶段,深水返青;第二阶段,浅水分蘖;第三阶段,有水壮苞;第四阶段,干湿壮籽[8].

1)第一阶段的深水返青.移栽后的水稻,吸引水分的能力大大减弱,这是由于水稻的根系受到大量损伤,大大减弱了稻根吸收水分的能力.这时候需要对稻田大量灌水,以增加稻根吸收水分的机会.此时田中如果水量不多的话,禾苗的稻根因为吸收水分困难,就会造成禾苗返青期延长.也因为禾苗叶片丧失的水分多,禾苗出现卷叶死苗的现象.因此,水稻禾苗移栽后必须深水返青.不过,深水返青一般以水深3~4 cm为适宜,并不是灌水越深越好.

2)第二阶段的浅水分蘖.分蘖期的水稻,在稻田灌水过深的情况下,往往会由于土壤缺氧闭气,禾苗基部光照弱,禾苗养分分解缓慢,禾苗分蘖困难.但分蘖期也不能没有水层.一般以保持1.5 cm深的浅水层为宜,并要做到“后水不见前水”,以利协调土壤中水、肥、气、热的矛盾.

3)第三阶段的有水壮苞.水稻稻穗形成期间,是水稻生长期中大量耗费水的时期,特别是减数分裂期,对水分的反应更加敏感.这时如果缺水,就会造成颖花退化,穗短、粒少、空壳多等.所以,水稻孕穗到抽穗期间,一定要保持田间有3 cm左右的水层,以保花增粒.

4)第四阶段的干湿壮籽.水稻抽穗扬花以后,叶片停止长大,茎叶不再伸长,颖花发育完成,禾苗需水量减少.为了加强田间透气,减少病害发生,提高根系活力,防止叶片早衰,促进茎秆健壮,应采取“干干湿湿,以湿为主”的用水管理方法,以期达到的以水调气,以气养根,以根保叶,以叶壮籽的目的.

为了理论证明的方便以及建模的需要,本研究把水稻的生长期划分为N个阶段,这N个阶段也就是建模中的粒子群维度.N个阶段形成N维向量的粒子,每个阶段的用水量设为粒子的一维,随机选取5N组N维向量组形成整个粒子群.

设:Si为计划湿润层内可供水稻利用的土壤储水量,Si1、Si2为降雨前后第i个天然土层的土壤含水量,以占干容重的百分数表示.θ为计划湿润层内土壤平均含水率,以占干土重的百分数计.CKi为第i阶段的地下水补给量,θw为土壤含水率下限,约大于凋萎系数,以占干容重的百分数计.θf为田间持水量,以占干土重百分数计.H为计划湿润层深度,Hi从为第i个天然土层的土壤厚度.Pei为第i阶段的有效降雨量,Pi为自然降雨量.α为降雨入渗系数α值与一次降雨量、降雨强度、降雨延续时间、土壤性质、地面覆盖及地形等因素有关。并且一般地,一次降雨量小于5 mm时,α为0;当一次降雨量在5~50 mm时,约为1.0~0.8;当次降雨量大于50 mm时,α=0.70~0.80。.γ为土壤干容重.n为天然土层数.WZi为第i阶段计划湿润层增加而增加的水量.WZi为零时,表明当时段内计划湿润层深度一致.

F(x)=max

(ETa)i=Si-Si+1+mi+pei+CKi-Ki,(2)

式(1)、(2)中,λi为第i个阶段水稻产量对缺水的敏感指数,(ETa)i为第i阶段的实际蒸发蒸腾量/mm,(ETm)i为第i阶段的潜在蒸发蒸腾量/ mm,Pei=αPi,Si=10γH(θi-θω).式(1)和式(2)中的约束条件为∑Ni=1mi=Q以及θw≤θ≤θf.

3.2 不类型水稻用水优化配置模型

不同类型的水稻,其用水优化配置的模型构建如下:

以不同类型水稻的生长期为一个完整的时期(稻谷从播种到收获有 3~5 个月的周期.一般早稻的生长期为 90~120 天,一季稻为 120~150 天,晚稻为 150~170天).假设有M种水稻(由于稻是人类的主要粮食作物,目前世界上可能超过有14万种的稻,而且科学家还在不停地研发新稻种,因此稻的品种究竟有多少,是很难估算的.尽管农户一般种植早稻、一季稻和晚稻,但也不排除农户种植其他类型的水稻),阶段变量K=1,2,…,M,所有类型水稻的种植面积为已知条件,C0为水稻灌区总的可供水量(m3),不同类型水稻的可分配水量为Ck(m3),实际分配给每种类型水稻的净灌溉水量为Qk(m3),所有种植面积的水稻全部得到灌溉,则有所有类型水稻之间水量平衡方程

Ck+1=Ck-Qkη, (3)

式(3)中,初始条件Cl=C0.η为水稻用水的有效利用系数,η一般取0.8~0.9.

在不以单个农户为收益单位、而以某个地域(比如某个县、乡,或者某个村)为收益单位,则可以以各种类型水稻所带来的经济效益之和G最大为目标,建立目标函数

G=max ∑Mk=1F(Qk)·AK·YMk·PRk, (4)

式(4)中,G的单位为万元,F(Qk)为由第一层反馈回来的效益指标(最大相对产量),Ak为第k种水稻的优化种植面积,YMk为第k种水稻的充分供水条件下的产量,PRk为为第k种作物的单价.输入灌区总的可用水量为Q、灌区内水稻种类数量为M,YMk及PRk分别为第K种类型水稻充分供水条件下产量(kg/hm2)及单价(元/kg).式(3)和式(4)中的约束条件为0≤Qk/η≤Ck,0≤Ck≤C0以及0≤∑Qk/η≤C0.

4 衡阳县高炉村的水稻用水优化配置算例

衡阳县地处五岭上升和洞庭湖下陷的过渡地带,“衡阳盆地”北沿.“衡阳盆地”属于南方湿热丘岗地易侵蚀退化脆弱区,是典型的红壤丘陵盆地.衡阳县地貌类型以岗、丘为主,海拔100~500 m之间的土地面积占全县土地总面积46.4%,坡度在15°以上的土地面积比重为52.6%.高炉村地处衡阳县洪罗庙镇南侧,地貌属于南方丘陵区类型.目前,全村人口1 217人,309户,分属于12个村民小组.全村耕地面积1 428亩,其中水田794亩,早地634亩.蒸水河从村的北边流过,池塘水域面积53亩.高炉村的水田,均种植水稻.不过,多数农户同时种植早稻和晚稻,也有不少农户种植一季稻.2009年以前,高炉村在各种水稻用水时,全是采取粗放型管理方法管理用水[9,10],各种水稻(早稻、一季稻、晚稻)的用水量及产量,见表1.2010年,该村在衡阳县政府有关部门的倡导和大力推动下,采取了精细化的水稻用水管理措施,应用了基于粒子群算法的用水量管理.该算法对衡阳县高炉村782亩水稻田(794亩水田中,有12亩田,因为各种原因,并没有种植水稻)进行了水稻用水优化配置应用研究,见表2和表3.衡阳县高炉村的水稻用水优化配置算例,验证了本文的算法.

通过表2和表3可以发现,本文所使用的粒子群优化算法,在早稻、一季稻和晚稻等不同类型水稻的用水优化配置以及同一类型的水稻在不同的生长阶段用水的优化配置方面,产生了较好的实际效果,表现为水稻产量得到提高.这说明粒子群优化算法寻优能力和优化效率更高,该算法在不同类型的水稻和同一类型水稻的不同生长阶段的用水优化配置,均是可行的.参考文献

[1] 刘玉邦,梁川.免疫粒子群优化算法在农业水资源优化配置中的应用[J].数学的实践与认识, 2011,41(20):163-171.

[2] 陈晓楠,段春青,邱林,等.基于粒子群的大系统优化模型在灌区水资源优化配置中的应用[J].农业工程学报,2008,24(3):103-106.

[3] 崔远来,李远华.作物缺水条件下灌溉供水量最优分配[J].水利学报,1997,28(3):37-42.

[4] 李霆,康绍忠,粟晓玲.农作物优化灌溉制度及水资源分配模型的研究进展[J].西北农林科技大学学报:自然科学版,2005,33(12):148-152.

[5] 贺正楚,翟欢欢.基于DEA三阶段模型的两型农业生产效率——以湖南省为例[J].农业系统科学与综合研究,2011,27(4):395-400.

[6] 苏里坦,宋郁东,愈双思.大型灌区高产节水灌溉优化配水决策模型研究[J].水利学报(增刊),2005:369-373.

[7] 刘玉邦.农业水资源高效利用理论及其在川中丘陵区的应用[D].成都:四川大学水利水电学院,2011.

[8] 水稻全生育期如何管水[EB/OL].[2008-01-04]http://data.jinnong.cc/mspx/d9539.shtml.

[9] 贺正楚.基于数据包络分析法的湖南省“两型”农业生产效率评价[J].农业现代化研究,2011,32(3):344-347.

二进制粒子群算法 篇4

由于能源危机和环境保护问题,包括新能源及可再生能源的分布式发电在能源行业日益受到关注。微网作为分布式发电的集成和接入的有效技术手段,提高了分布式电源的灵活性、可控性和经济性,成为智能电网建设的一项重要技术[1,2]。为实现微网的经济、可靠运行,需在微网中的微电源间进行微网的经济负荷分配。为求解微网经济负荷分配问题,国内外学者引入人工智能算法,并展开广泛的研究[3,4,5]。

粒子群优化(Particle Swarm Optimization,PSO)是一种基于集群智能的随机优化算法,由Kennedy和Eberhart于20世纪90年代提出。该算法基于鸟群觅食行为,在多维空间中构造粒子群进行寻优,每个粒子通过统计迭代过程中自身和群体发现的最优值修正自己的前进方向和速度。由于该算法操作简便,依赖的经验参数较少,已成功运用于求解多维非线性函数优化[6]。在电力系统中,PSO已被用于求解输电网扩展规划[7]、机组容量优化组合[8]、无功最优潮流[9]以及补偿电容器优化配置[10]等问题。

1997年,Kennedy和Eberhart又提出了改进形式的PSO算法,即二进制粒子群优化算法BPSO(Binary PSO)[11],并成功将其应用于求解离散优化问题。在二进制粒子群中,粒子的速度向量不再是粒子位置的变化率,而是粒子位置改变的概率。速度向量表示粒子以某一概率确定是1状态还是0状态。根据速度的大小来选择粒子在对应位置上为1或0。但是,当速度更新公式中含有0的分量较多,则粒子速度的修正程度将减小,种群多样性大大减弱,影响算法的全局搜索能力[12]。

为解决传统二进制粒子群算法的缺点,采用一种带辅助搜索空间的二进制粒子群算法,并对一个含柴油发电机(Diesel Generator,DE)、微型燃气轮机(Micro Turbine,MT)、燃料电池(Fuel Cell,FC)、风力发电机(Wind Turbine,WT)和光伏电池(Pho-tovoltaic Cell,PV)多种微电源的微网独立系统算例进行分析,验证算法求解微网经济负荷分配的有效性。

1 微网经济负荷分配数学模型

1.1 目标函数

本文主要考虑微网运行的经济性和环保性,以微网发电成本(包括燃料成本、运行维护成本和微电源开停机成本)最小、环境成本最小为子目标函数,建立多目标优化模型。由于光伏电池和风机不消耗一次能源、不排放污染物,并且其输出功率不可控,故让其运行在最大风力跟踪(MPPT)的出力模型,光伏电池的出力模型见文献[13]和[14]。风机的出力模型见文献[15]。

1.1.1 子目标函数1:发电成本最小

微网发电成本包括燃料成本、运行维护成本和微电源开停机成本,计算如式(1)所示:

式中:T为微网优化周期总时段数;N为微电源的数目;分别表示第i个微电源在t时刻的开停机标记,1表示开机状态,0表示停机状态;表示第i个微电源的输出功率;为微电源在t时刻的燃料成本;komi表示第i个微电源的运行维护成本系数;coni表示第i个微电源的开停机成本。

对于柴油发电机,燃料成本就是它的耗量特性函数,计算如式(2)所示:

对于微型燃气轮机和燃料电池,燃料成本计算如式(3)所示:

式中:cng为天然气的单价,本文取2.05元/m3;LHVng为天然气的低热热值,本文取9.7 kWh/m3;ηMT和ηFC分别为微型燃气轮机和燃料电池的效率,其取值和微型燃气轮机、燃料电池的输出功率的函数关系式分别如式(4)和式(5)所示[16]:

1.1.2 子目标函数2:环境成本最小

微网的环境成本为微电源污染物排放的折算成本,计算如式(6)所示:

式中:M为污染物的种类数目;λij为第i个微电源排放第j种污染物的系数;cj为第j种污染物的环境折算成本。各种微电源不同污染物排放系数、环境折算成本如表1所示[17]。

两子目标量纲都是元,故按线性加权求和法将多目标优化问题转化为单目标优化问题,得到综合目标函数为:

其中,ω1、ω2分别为多目标的权重系数,体现对微网经济性和环保性的偏好,也称为偏好系数,并且满足ω1+ω2=1。

1.2 约束条件

功率平衡约束见式(8):

式中:

式中:Pload和Ploss分别为微网负荷和网损;Pk、Qk分别为第k条支路传输的有功、无功功率;L为支路总数;Rk为第k条支路的电阻;Vk为第k条支路的电压幅值。

节点电压约束见式(10):

式中:Ui为第i个节点的电压,分别为第i个节点的电压下限和上限。

微电源输出功率约束见式(11):

式中:分别为第i个微电源输出功率的下限和上限。

微电源爬坡率约束见式(12):

式中:分别为第i个微电源输出有功功率的允许最大上坡和下坡速率;Δt为微网运行的1个时段,本文取Δt=1 h。

2 改进BPS O算法

2.1 传统BPSO算法

二进制粒子群算法是在基本粒子群算法的基础提出的,适用于离散空间优化问题[12]。在二进制粒子群中,粒子速度和位置更新公式分别为:

式中:

式中:表示在d维的解空间Y中,第i个粒子在第k次迭代时的速度和位置;表示第i个粒子在第k次迭代时自身搜索到的最优位置;表示整个种群搜索到的全局最优位置;c1、c2是学习因子,为2个正常数;r1、r2、r3是[0,1]之间的随机数。

如果陷入局部最优解,速度更新公式(13)中,含零分量比较多,粒子速度修正将大大减弱,严重影响算法的全局搜索能力。

2.2 带辅助搜索空间的BPSO算法

为了提高粒子的搜索性能,考虑既保留了在连续空间搜索中PSO所具有的明显优势,又适用于离散空间优化问题,构造一个与解空间Y同维的辅助搜索空间Y',,则粒子的位置由解空间Y中的n维向量Xi和辅助搜索空间Y'的中的n维向量Xi(称之为粒子的辅助位置)共同表示。基于这个辅助搜索空间,种群第i个粒子可由Xi,表示,其中:

速度更新公式如式(16)所示,辅助位置更新公式如式(17)所示,位置更新公式如式(18)所示:

并且,粒子个体最优位置和粒子个体最优辅助位置更新公式如下所示:

3 算例仿真

3.1 微网结构与参数

本文采用图1所示的微网算例系统,微网与配网的公共耦合点保持断开,工作在独立运行模式下。系统中不可控型微电源包括光伏(额定功率10 kW)和风机(额定功率20 kW),可控型微电源有柴油发电机、微型燃气轮机和燃料电池。可控型微电源的相关参数如表2所示[18,19,20,21,22,23]。

该微网系统某天24 h内,风速、光照、温度数据以及日负荷数据曲线如图2-图5所示。

3.2 计算结果分析

采用本文提出的带辅助搜索空间的改进二进制粒子群算法,进行微网经济负荷分配。种群大小为50,最大迭代次数为500次。因为粒子群算法属于启发式算法,本身带有随机性,故优化结果取计算20次的平均值。

3.2.1 发电成本最小

只考虑发电成本最小,即设置ω1=1、ω2=0时,各微电源费用与输出功率关系如图6所示,微网的总费用如图7所示,各微电源输出功率如图8所示。

由图6知,在输出功率小于50 kW的范围内,燃料电池的发电费用总是比柴油发电机和微型燃气轮机的发电费用要少;当输出功率大于4 kW时,柴油发电机的发电费用小于微型燃气轮机的费用。

图8中柴油发电机一直处于满发状态;在10时、16时和23时负荷水平有所下降,燃料电池在这些时刻发电功率也随之下降外,其余时刻几乎达到满发状态;在负荷水平较低的0-6时,微型燃气轮机出力很少。因为在发电成本最小目标下,发电费用较少的柴油发电机和燃料电池比微型燃气轮机优先发电。

3.2.2 环境成本最小

只考虑环境成本最小,即设置ω1=0、ω2=1时,微网的总费用如图9所示,各微电源输出功率如图10所示。

由表1知,柴油发电机对环境影响最大,微型燃气轮机次之,燃料电池最小。从图10可以看出,在发电成本最小目标下,对环境影响最大的柴油发电机在负荷水平较低的1-12时、14-16时以及23-24时,一直处于停机状态;对环境影响最小的燃料电池输出功率在满发状态附近波动;而因为柴油发电机的停机,为满足负荷供电,对环境影响较小的微型燃气轮机在负荷水平较高的时候也达到满发。

3.2.3 综合成本最小

综合考虑发电成本和环境成本最小,即设置ω1=0.5、ω2=0.5、时,微网的总费用如图11所示,各微电源输出功率如图12所示。

对比图6和图7、图9、图11可知,微网的总费用变化趋势与负荷波动趋势大致相同,因为负荷越大,微网运行的总费用也越大。另外,从图8、图9、图12中可以看出,光伏电池和风机一直工作在最大功率跟踪模式。

从图12可知,燃料电池一直处于满发状态,因为要综合考虑发电成本和环境成本,故发电费用少、对环境影响小的燃料电池几乎一直处于满发状态;在负荷水平较低的6-12时,柴油发电机停机;微型燃气轮机出力与负荷变化趋势相同;在负荷水平较高的16-23时,柴油发电机和微型燃气轮机都几乎满发,且出力上限较大的微型燃气轮机出力变化趋势与负荷变化趋势相同。

4 结论

二进制粒子群算法 篇5

基于粒子群算法的并联机构结构参数优化设计

介绍了粒子群优化算法的原理和实现方法,分析了该算法的主要参数对搜索性能的`影响,并把粒子群算法用于六自由度的并联机构的参数优化设计中,取得了较好的效果,试验证明,粒子群算法是一种有效的优化方法,适用于大型复杂结构的优化设计.

作 者:孙凡国 黄伟 KONG Fan-guo HUANG Wei 作者单位:五邑大学,机电工程系,广东,江门,529020刊 名:机械设计与研究 ISTIC PKU英文刊名:MACHINE DESIGN AND RESEARCH年,卷(期):22(3)分类号:V221.6关键词:粒子群优化算法 进化计算 优化设计

二进制粒子群算法 篇6

关键词:粒子群算法;中职学校;排课;适应性函数

在我国中等职业学校的教学中,排课是专业课程教学管理体系中的一项十分重要的教学管理工作,其具体的形式与内容都是非常复杂的,一个科学、有效的排课设计系统往往会极大的促进学校教育事业的发展与教学水平的提升。我们从中职学校的排课问题中能够看出一个带有约束性质的优化问题,而其中所说的约束条件就是指,所排出的课程安排不存在教师、教室、时间上的冲突,这是粒子群算法对其进行优化的前提条件,以便最大限度的使教师、教室、时间等资源消耗最小化,从而帮助职业学校取得最大合理化的排课效果。

1 “排课问题”与“粒子群算法”

1.1 排课问题

所谓“排课”,就是指教学课程的安排,具体意思就是说,学校为了能够正常的进行教学工作,然后对各年级、各教室、各教师以及教学课程等一系列的教学资源进行科学、合理的安排与优化,从而制定出学校教学使用的课程表。

排课问题是指科学、有效解决在教学时间、教学空间上资源矛盾的多因素优化决策的一个问题,主要的元素包括教室、教师、课程、班级等,有效的排课就是让这些基本因素之间在一定时间、地点内不发生任何的冲突、矛盾。(表1)

1.2 粒子群算法

粒子群算法——Particle Swarm Optimization ,也被称作为粒子群优化算法,简称——PSO。粒子群优化算法是一种与遗传算法非常相似的科学算法,但是从它的计算内容及形式上来看,PSO这种算法则突显的更为简单、实效。

2 中职学校排课问题的粒子群优化算法

2.1 粒子的编码

在粒子群优化算法中,我们应该对于每一个需要优化的问题进行全面的挖掘、分析,通过想象把一些潜在的问题解决方案通过D维搜索空间,将其看做成一个空间“点”,也就是我們所说的“粒子”。在某中职学校的排课中,对于每一个粒子元素,我们都可以将其设定为一个元素集,T代表时间、M代表教师、C代表课程、R代表班级、I代表地点,这也是在中职、高等学校排课中比较常用的五元组优化算法体系。

下面我们通过一个模型来表现“粒子编码”的操作概念:

图1 粒子编码模型图

2.2 适应性函数

Fit=

该公式中,m1、m2、m3、w1、w2、w3分别代表权值,也就是说权值的大小代表着各种约束条件的重要程度,图1中所表示的粒子元素,在函数中表示的则是一种可能的排课结果,具体的排课结果的优劣好坏是由适应性函数来决定的。

2.3 种群的初始化

在对中职学校进行排课结果研究计算过程中,粒子群优化算法中的种群初始化,也就是指初始化的粒子群,通俗点讲就是指元素集,就像在第一部分所提到的元素集一样,T代表时间、M代表教师、C代表课程、R代表班级、I代表地点。在粒子群初始化的状态下,所有粒子元素都是随机进行排列的,目的就是为了后面所进行的进化操作提供初始粒子群。

2.4 基于粒子群的排课算法设计

通过粒子编码与适应性函数在中职学校排课问题中的应用,制定出PSO基本算法的流程示意图,详见图2。

下面就以某中职学校的计算机信息工程专业的课程任务分配工作问题来进行排课,通过运用粒子群优化算法,并将粒子群优化算法与传统的遗传算法来进行对比,通过排课结果来体现出粒子群优化算法的科学性、准确性、实效性。

通过表3所计算出来的结果显示,基于粒子群优化算法下的中职学校排课结果的性能要优于传统的遗传算法的性能,非常有效的实现了学校在排课过程中避免了各种时间、空间上教育资源的冲突与浪费。

3 总结

本文主要介绍了利用粒子群优化算法来求解中职学校排课问题的具体方案,经过对算法结果的分析与验证,已经证明了PSO这种算法在实际应用中是非常有效果的。应用粒子群的编码方案以及适应性函数,能够很好地解决中职学校排课问题,并有效的保证了中职学校排课结果的正确性、实效性、科学性,对学校排课的合理化和整体教学管理水平的提高有极大的帮助,有效地促进了教学质量的提高。

参考文献:

[1]陈华.基于粒子群算法的高校排课系统设计与实现[D].扬州大学,2009.

[2]王超.基于离散粒子群算法的机房排课问题研究[J].计算机光盘软件与应用,2012(3):206-207.

[3]张立岩,张世民,秦敏,等.基于改进粒子群算法排课问题研究[J].河北科技大学学报,2011,32(3):265-268.

作者简介:

二进制粒子群算法 篇7

电网故障诊断是利用保护、断路器动作信息以及遥测、录波信息等来识别故障元件和误动作的保护、断路器,其中故障元件的判断是关键。迅速、准确的故障诊断能为故障后供电恢复提供条件,减少停电时间和停电损失。

目前,研究电网故障诊断的主要方法可归纳为三类,即基于分析计算的诊断方法、基于推理的诊断方法和基于优化技术的诊断方法。

基于分析计算的诊断方法[1]是通过分析计算来自于SCADA系统和故障录波装置的电压、电流监测值来判断故障元件和故障位置。由于该方法在诊断过程中,不考虑保护、监控等装置的动作行为,直接以整个变电站或某个局域网为对象,按照保护的思路采用交流量来实现故障定位目前不太可行,诊断效果也不佳。

基于推理的诊断方法是根据诊断规则或经验,通过直接或间接的逻辑推理诊断出故障元件。此类方法包括专家系统[2]、模糊集[3]、粗糙集[4]、Petri网[5]、人工神经网络[6]、贝叶斯网络[7]等。这些方法在处理不确定信息方面具有一定的容错性,比较适合电网故障诊断问题的求解。然而当上述方法被应用于大规模电网故障诊断时也存在明显缺陷,如难以获取完备的知识库、样本集推理速度慢、收敛速度较慢、知识库维护困难等缺陷。

基于优化技术的电网故障诊断方法是将问题描述为0-1整数规划问题[8],然后采用遗传算法[8,9]、禁忌搜索算法[10]等智能优化算法求解。因其具有严密的数学基础,且可用常规算法有效地实现,理论上可以覆盖专家系统的所有诊断规则等优点,使得优化技术成为最有可能实用化的诊断方法之一。因此本文主要基于优化技术开展工作。

当网络规模大、存在信息不确定、多重故障等情况下,需要选用有效、快速的优化算法,以保证故障诊断的准确性和实时性。针对电网故障诊断优化模型的特点,本文将二进制粒子群算法(Binary Particle Swarm Optimization,BPSO)和二进制蚁群算法(Binary Ant Colony Algorithm,BACA)应用到电网故障诊断的优化问题求解中。因蚁算法和粒子群算法是群智能理论研究领域的两种主要算法,且理论上相对成熟,故本文将应用到的两种二进制算法统称为二进制群智能算法(Binary Swarm Intelligence Algorithm,BSIA)。仿真结果表明,基于二进制群智能算法的电网故障诊断方法较遗传算法诊断速度快、结果更加准确。特别是在多重故障伴随有断路器、保护非逻辑动作情况下,能给出合理的诊断结果,容错性好,更符合对故障诊断的准确性与实时性要求。

1 电网故障诊断优化模型

基于优化模型的电网故障诊断是利用反向推理方法找出最能解释警报信号的故障假说。具体实施中根据故障元件和保护、开关动作之间的逻辑关系,引入目标函数,首先把故障诊断问题表示成0-1整数规划问题,然后采用优化算法找出最能解释警报信号的故障假说。文献[8]根据故障元件和保护开关动作信息之间的关系,建立了电网故障诊断的优化模型如式(1)所示。

式中:S表示系统的设备状态向量,为待求量;Si表示第i个设备的状态,Si=0或1分别表示第i个设备的正常或故障状态;Cj表示第j个断路器的实际状态,Cj=0或1分别表示第j个断路器的未跳闸或跳闸状态;Cj*表示第j个断路器的期望状态,如果第j个断路器应该跳闸,则Cj*=1,否则为0;Rk和Rk*分别表示第k个保护的实际和期望状态,Rk=0或1分别表示第k个保护的未动作或动作状态,如果第k个保护应该动作,则Rk*=1,否则为0;NC和NR分别为断路器个数和配置的保护数目。

为实现电网故障诊断的在线应用,必须保证诊断的实时性。本文将计算速度快的BPSO与BACA算法应用于电网故障诊断问题。

2 基于二进制群智能算法的电网故障诊断

2.1 基于BPSO算法的电网故障诊断

粒子群算法[11]是由Kenndy和Eberhart于1995年提出的一种基于群体智能的优化算法。其基本思想是模拟自然界生物的群体行为来构造解的随机优化算法。为解决离散或二进制变量的优化问题,文献[12]提出了二进制粒子群优化算法(BPSO)。在二进制粒子群算法中,将粒子每一维位置xim和粒子最优的个体值都限定为0或1,而对粒子的速度不加限制。根据速度大小来选择在粒子对应位置上为0或1,速度大一些,则表示对应位置选1的概率大,速度较小则意味着对应位置可能会选0。因此,每个优化问题的解均为粒子在搜索空间中的位置。在搜索过程中,每个粒子到目前为止找到的自身的最优位置称为粒子的个体极值pbest,所有粒子中的最优位置记为全局极值gbest。

假设在一个M维的搜索空间,粒子i的位置表示为Xi=(xi1,xi2,…,xiM),速度表示为Vi=(vi1,vi2,…,v M)。粒子i有一个被优化的函数决定的适应度值,将Xi代入目标函数计算出适应度值,根据该值的大小衡量Xi的优劣,在找到pbest和gbest之后,根据式(2)和式(3)来更新自身的速度和位置。

式中:ximk+1和vimk+1分别为粒子i在第k+1次迭代时在第m维空间的位置和速度;w为惯性权重;c1和c2为加速因子,均为正实数;r1和r2为随机产生的一个介于(0,1)之间的随机数;pkbest.im为粒子i至第k+1次迭代为止在第m维空间找到的个体最优粒子位置;gkbest.im为至第k+1次迭代为止在第m维空间找到的群体最优粒子位置。rimk+1为随机产生的介于(0,1)之间的随机数。为防止sigmoid(vimk+1)函数饱和,本文中将粒子的速度设定在[-4,4]范围内,对应的sigmoid(vimk+1)函数为:

在电网故障诊断问题中,Xi=Si,即粒子的位置代表电网元件的状态,粒子的维数代表电网中元件个数。

基于BPSO算法的电网故障诊断流程描述如下:

2.2 基于BACA算法的电网故障诊断

二进制蚁群算法(BACA)[13]因其特殊的随机二进制链式结构,使得蚂蚁每一时刻只需从0和1路径中进行选择,而1和0恰好对应着电网中元件“故障”与“正常”两种状态,这使得该算法特别适用于求解电网故障诊断问题。该算法的数学描述如下:

定义 有向图G={C,L},顶点集C为{c0(vs)c1(vN0),c2(vN1)c3(vN-10),c4(vN-11),…,c2N-3(v20),c2N-2(v21),c2N-1(v10),c2N(v11)}。其中:vs为起始顶点;顶点vj0和vj1分别用于表示二进制码串中位bj取值为0或1的状态,即对于j=2,3,⋅⋅⋅,N,只有指向vj-10和vj-11的两条有向弧。这两条有向弧代表蚂蚁下一步允许选择的状态——0或1。节点状态之间连接的网络如图1所示。其中:n表示二进制编码的长度。

初始时刻,各条路径上的信息素相等,设τ0=C(C为常数)。在运动过程中蚂蚁根据式(5)和式(6)决定转移的方向。转移概率公式为

其中:pi0(t)是蚂蚁遍历完节点i后选择0的概率;pi1(t)是蚂蚁遍历完节点i后选择1的概率;α是轨迹的相对重要性(α≥0);β是能见度的相对重要性(β≥0);τi0(t)是t时刻路径(i,j)(其中j为0)上残留的信息素;τi1(t)是t时刻路径(i,j)(其中j为1)上残留的信息素;ηi0(t)是t时刻蚂蚁选择0的能见度;ηi1(t)是t时刻蚂蚁选择1的能见度。

由于采用二进制编码,蚂蚁无须像传统蚁群算法那样采用禁忌表来记录已经遍历过的节点,只需根据面前两条路径上信息素的大小来进行选择。此外,随着时间的推移,信息素会逐渐挥发,ρ是信息素残留因子(0≤ρ<1),1-ρ是信息素挥发因子。蚂蚁完成一次遍历后,对路径上的信息素进行更新。同时为了提高算法的效率,在信息素更新过程中引入max-min原则[13],即每一次迭代之后,只有在本次迭代中取得最优的那条路径上的信息素进行更新。具体根据式(7)和(8)更新路径上的信息素。

其中:∆τ=Q f(best),f(best)是每一代最优解或全局最优解,Q为信息素强度。同时为了改善算法的全局收敛性,将信息素设置了上、下界。若信息素更新之后大于τmax,则将其置为τmax;若更新之后小于τmin,则将其置为τmin。

基于BACA的电网故障诊断流程描述如下:

3 算例分析

3.1 算法的诊断结果与收敛性能比较

利用本文提出的电网故障诊断方法对图2所示的算例系统进行仿真测试。该系统包括28个元件、40个断路器和84个保护,保护配置详见文献[8]。仿真基于Matlab平台,运行于奔腾IV计算机上,分别对不同算例应用BPSO、BACA与GA求解。

参照文献[14],BPSO各参数设置如下:粒子群规模M=100,最大迭代次数K=200,惯性权重ω=1.0,加速因子c1=c2=2.1,最大速度Vmax=4.0与最小速度Vmin=-4.0。

通过仿真测试,BACA主要参数设置如下:蚁群规模M=100,最大迭代次数K=200,轨迹的相对重要性α=1.0,能见度的相对重要性β=1.0,信息素残留因子ρ=0.9;

本文中遗传算法的参数设置为:种群规模M=100;最大迭代次数K=200;交叉率Pc=0.8;变异率Pm=0.01。

表1给出了6个典型算例,其中收集了保护动作信息和开关跳闸信息,列出了在相同群规模下,应用三种算法求解优化模型得到的诊断结果。

表2给出了在群规模取100情况下,应用BPSO、BACA和GA三种算法求解电网故障诊断时的收敛于最优值概率、最大收敛迭代次数、收敛的平均迭代次数(连续运行100次)。

表1所示的测试结果表明:应用二进制群智能算法诊断结果更准确,在多重故障伴随有断路器、保护拒动和误动的情况下,遗传算法在历次求解中会给出多个不同的诊断结果或者造成漏解,而应用二进制群智能算法能给出更为准确的诊断结果。

图3~8显示了应用三种算法求解6个算例时,最小适应度值随迭代次数的变化曲线(群规模取100),并在图中标注了最小适应度值。

从上述图表可以看出:在求解电网故障诊断问题时,二进制群智能算法的收敛速度和优化结果明显优于GA。同时较之于遗传算法(GA),二进制群智能算法(BPSO与BACA)在算法机理上有以下优点:

(1)与采用实数编码的GA相比,二进制编码方式占用更少的存储空间;

(2)二进制群智能算法在每次搜索中只从0或1中进行选择,这样大大降低了算法的复杂性;

(3)利用最为经济、有效的编码方式,二进制群智能算法的遍历搜索能力较GA强;

(4)二进制群智能算法无须进行选择、交叉和变异,也无须采用禁忌表来记录已经遍历过的节点,具有易于编程实现,计算速度快,收敛性好等优点。

由此可见,二进制群智能算法较GA更加满足电网故障诊断的准确性与实时性要求。并且在相同群规模下对多数算例的测试中,引入max-min策略改进后的BACA比BPSO算法的平均迭代次数略少,而BPSO算法较BACA的收敛效果更好。在满足实时性要求下,BPSO算法优化求解更稳定。

3.2 算法的容错性检验

为检验算法对报送信息的容错性,本文在原始算例的基础上进一步增大警报信息的不确定性,以检验算法是否能够得到合理的诊断结果。表3给出了四种信息报送情况下,算法的诊断结果比较。

由表3可见,在多重故障伴随有警报信息不确定性增大的情况下,GA给出的诊断结果不够准确,且在复杂故障情况下容易造成误判;应用二进制群智能算法仍然能够给出准确、合理的诊断结果,说明算法具有较好的容错性。

4 结论

为保证电网故障诊断的准确性与实时性,本文针对电网故障诊断优化模型的特点,提出将二进制群智能算法(BPSO与BACA)应用于电网故障诊断优化模型的求解,并在仿真测试中与遗传算法作了比较分析。结果表明二进制群智能算法的收敛速度和优化结果明显优于遗传算法,且具有易于编程实现、遍历搜索能力强等优点;特别是在多重故障伴随有保护、断路器非逻辑动作等情况下,应用二进制群智能算法能给出合理的诊断结果,容错性好,更符合对电网故障诊断的准确性与实时性要求。

摘要:为保证电网故障诊断的准确性与实时性,将二进制粒子群算法(BPSO)和二进制蚁群算法(BACA)引入到电网故障诊断优化模型的求解中,并与遗传算法作了对比分析。对单一故障、多重故障、保护非逻辑性动作、信息丢失等不同故障信息条件下的故障案例进行了仿真。仿真结果表明二进制群智能算法在收敛速度和优化结果方面显著优于GA,同时验证了提出的电网故障诊断方法具有诊断准确和容错性好等优点。

粒子群优化算法研究 篇8

关键词:粒子群优化算法,matlab,演化算法

1、引言

粒子群优化算法 (Particle Swarm Optimization, PSO) 是计算智能领域, 除了蚁群算法, 鱼群算法之外的一种群体智能的优化算法。该算法最早由Kennedy和E-berhart在1995年提出的。该算法源于对鸟类捕食行为的研究。在算法中, 每个优化问题的潜在解都是搜索空间中一个“粒子 (Particle) ”的状态, 每个粒子都对应一个由目标函数决定的适应度值 (Fitness Value) , 粒子的速度决定了它们飞翔的方向和距离。粒子根据自身及同伴的飞行经验进行动态调整, 即粒子自身所找到的最优解和整个种群当前找到的最优解。如此在解空间中不断搜索, 直至满足要求为止。本案例就是用PSO算法来寻找标准测试函数的极值, 表明该算法在系统极值寻优中的作用。

2、原理

随机初始化粒子的位置和速度构成初始种群, 初始种群在解空间中为均匀分布。其中第i个粒子在n维解空间的位置和速度可分别表示为Xi= (xi1, xi2, …, xid) 和Vi= (vi1, vi2, …, vid) , 然后通过迭代找到最优解。在每一次迭代中, 粒子通过跟踪两个极值来更新自己的速度和位置。一个极值是粒子本身到目前为止所找到的最优解, 这个极值称为个体极值Pbi= (Pbi1, Pbi2, …, Pbid) 。另一个极值是该粒子的邻域到目前为止找到的最优解, 这个极值称为整个邻域的最优粒子Nbesti= (Nbesti1, Nbesti2, …, Nbestid) 。粒子根据以下公式来更新其速度和位置:

式中c1和c2是加速常量, 分别调节向全局最好粒子和个体最好粒子方向飞行的最大步长, 若太小, 则粒子可能远离目标区域, 若太大则会导致突然向目标区域飞去, 或飞过目标区域。合适的c1, c2可以加快收敛且不易陷入局部最优。rand () 是0到1之间的随机数。粒子在每一维飞行的速度不能超过算法设定的最大速度Vmax。设置较大的Vmax可以保证粒子种群的全局搜索能力, Vmax较小则粒子种群优化算法的局部搜索能力加强。

3、算法实现

3.1 算法流程

(1) 初始化粒子群, 包括群体规模, 每个粒子的位置和速度xi, Vi

(2) 计算每个粒子的适应度值Fit[i];

(3) 对每个粒子, 用它的适应度值和个体极值比较, 如果Fit[i]>pbes (i) , 则用Fit[i]替换掉pbes (i) ;

(4) 对每个粒子, 用它的适应度值Fit[i]和全局极值gbes (i) 比较, 如果Fit[i]>pbes (i) 则用Fit[i]代替gbes (i) ;

(5) 根据公式 (1.1) , (1.2) 更新粒子的速度xi和位置Vi;

(6) 如果满足结束条件 (误差足够好或到达最大循环次数) 退出, 否则返回 (2) 。

3.3 实现结果

在本实验中, 采用matlab实现该算法, 如下是算法的显示结果:

4、应用

PSO的优势在于算法的简洁性, 易于实现, 没有很多参数需要调整, 且不需要梯度信息。PSO是非线性连续优化问题、组合优化问题和混合整数非线性优化问题的有效优化工具[2]。PSO最初应用到神经网络训练上在随后的应用中, PSO又可以用来确定神经网络的结构。目前已经广泛应用于函数优化、神经网络训练、模糊系统控制以及其他遗传算法的应用领域。

1) 函数优化

粒子群算法原理与收敛性分析大量的问题最终可归结为函数的优化问题, 通常这些函数是非常复杂的, 主要表现为规模大、维数高、非线性、非凸和不可微等特性, 而且有的函数存在大量局部极小。PSO算法通过改进或结合其它算法, 对高维复杂函数可以实现高效优化。

2) 神经网络的训练

PSO算法用于神经网络的训练中, 主要包含3个方面:连接权重、网络拓扑结构及传递函数、学习算法。每个粒子包含神经网络的所有参数, 通过迭代来优化这些参数, 从而达到训练的目的。与BP算法相比, 使用PSO算法训练神经网络的优点在于不使用梯度信息, 可使用一些不可微的传递函数。多数情况下其训练结果优于BP算法, 而且训练速度非常快。

3) 参数优化

PSO算法己广泛应用于各类连续问题和离散问题的参数优化。例如, 在模糊控制器的设计、机器人路径规划、信号处理和模式识别等问题上均取得了不错的效果。

4) 组合优化

许多组合优化问题中存在序结构如何表达以及约束条件如何处理等问题, 离散二进制版PSO算法不能完全适用。目前, 已提出了多种解决TSP、VRP以及车间调度等问题的方案。

5、结束语

PSO算法是一个新的基于群体智能的进化算法其研究刚刚开始, 远没有像遗传算法和模拟退火算法那样形成系统的分析方法和一定的数学基础, 有许多问题还需要进一步研究。

目前我国已有学者开始了对PSO算法的研究[4]希望PSO可以为优化研究工作带来更多的新思路。

参考文献

[1]Kennedy J, Eberhart R C.Particle Swarm Optlmization.Proc.[R].IEEE Int, Lconf.on Neural Networks.IEBE Service Center, Pisca-taway, NJ, 1995 (4) :1942-1948.

[2]Eberhart R, Kennedy J.A New Optimizer Using Particle SwarmTheory[C].In:Proc of the Sixth International Symposium on MicroMachine and Human Science, Nagoya, Japan, 1995:39-43.

[3]Richards M, Ventura D.Choosing a starting configuration forparticle swarm optimization[A].in:Proc.IEEE Int.Joint.Conf.Neural Network.[C], vol.3, 2004, pp.2309–2312.

[4]何妮, 吴燕仙.粒子群优化算法的研究[J]科技信息.6, 2008:179-220.

[5]王万良, 唐宇.微粒群算法的研究现状与展望[J].浙江工业大学学报, vol.35, no.2, 2007:136-141.

[6]谢晓锋, 张文俊, 杨之廉.微粒群算法综述[J].控制与决策, vol.18, no.2, 2003:129-134.

改进的粒子群优化算法 篇9

粒子群优化算法PSO(Particle Swarm Optimization)是由Kennedy和Eberhart在1995年提出的一种群智能(Swarm Intelligence)的演化计算技术,是在鸟群、鱼群和人类社会的行为规律的启发下提出的。由于算法的收敛速度快、设置参数少,近年来受到学术界的广泛重视,已成为一种重要的优化工具。现在,粒子群算法在函数优化、神经网络训练、模式分类、模糊系统控制以及其它工程领域都得到了广泛的应用。

但是,PSO算法也存在易于限于局部最优导致的收敛精度低及不易收敛等缺点。本文针对上述问题设计了一种新的算法。新算法将基本粒子群算法粒子行为基于个体极值点和全局极值点变化为基于个体极值中心和按一定概率选择其他粒子的个体极值点,使粒子能够获得更多信息来调整自身状态,以便求得问题的全局最优解。

1 粒子群算法

基本的粒子群算法中,粒子群有n个粒子组成,每个粒子的位置代表优化问题在D维搜索空间中潜在的解。粒子根据如下3条原则来更新自身状态:

(1) 保持自身惯性;

(2) 按自身的最优位置来改变状态;

(3) 按群体的最优位置来改变状态。

1.1 标准的粒子群算法

假设在一个D维的目标搜索空间中有n个粒子,每个粒子的位置表示一个潜在的解。用Xi=(xi1,xi2,…,xiD),i=1,2,…,n表示第i个粒子的位置向量,其中xid∈[ld,ud],d∈[1,D]。将Xi带入目标函数f(x)就可以计算出其适应值f(Xi),根据适应值的大小即可衡量Xi的优劣。用Vi=(vi1,vi2,…,viD),i=1,2,…,n表示第i个粒子飞行的速度向量,用Pi=(pi1,pi2,…,piD),i=1,2,…,n表示第i个粒子迄今为止搜索到的最好位置,也称为个体极值pbest。用Pg=(pg1,pg2,…,pgD)表示整个粒子群迄今为止搜索到的最优位置,也称为全局极值gbest。由文献[2]知,所有粒子i根据下面公式来更新自己的速度和位置:

其中,学习因子c1和c2为非负常数,r1和r2是介于[0,1]之间的随机数。w≥0,称为惯性权重。公式(1)中的第1部分是粒子的惯性速度,称为记忆项;第2部分(粒子i当前位置与自己最好位置之间的距离)为“认知”部分,表示粒子的动作来源于自己经验的部分;第3部分(粒子i当前位置与群体最佳位置之间的距离)为“社会”部分,表示粒子的动作来源于群体中其他粒子的经验部分,表现为知识的共享和合作。

1.2 算法流程

Step 1 初始化 随机生成n个粒子,构成初始粒子群S(0)=〈X(0),V(0)〉其中

X(0)=(X1(0),…,Xn(0)),V(0)=(V1(0),…,Vn(0));置k:=0;

Step 2 个体评价 计算每个粒子的适应值,记

fi(k)=f(xi(k)) (i=1,2,…,n)

Step 3 种群演化

1) 计算pbest(k)及gbest(k)

(1) 求出pi(k)及pbest,即f(pi(k))=minkfi(k);

(2) 求出pg(k)及gbest,即f(pg(k))=minif(pi(k))=minipbest

2) 更新xi(k)和vi(k)

对每个粒子si(k)=〈xi(k),vi(k)〉,令

vid(k+1)=wvid(k)+c1r1(pid(k)-xid(k))+c2r2(pgd(k)-xid(k))

xid(k+1)=xid(k)+vid(k+1)

i=1,2,…,n d=1,2,…,D

从而生成下一代粒子群体S(k+1)=〈X(k+1),V(k+1)〉;

Step 4 终止检验 若终止条件满足,则停机并输出X(k+1)中最优位置作为近似解;否则,置k:=k+1,转step 2。

2 改进的粒子群算法

在基本的PSO中,每个粒子根据PiPg两个量来更新自己的速度和位置,各粒子由于受Pg的影响,很快收敛到Pg附近。如果Pg是一个局部极值,则整个粒子群陷入局部最优,很难跳出Pg的束缚去发现全局最优解。由文献[3]知,粒子群算法在进化初期收敛比较快,随着进化代数的增长,容易陷入局部最优,失去了得到全局最优的能力。之所以产生上述现象是因为粒子在搜索中只能对PgPi附近的区域进行详细搜索,并没有考虑到粒子群中最佳个体之外的其他粒子所包含的信息。在实际的生物进化过程中,个体除了总结自身的实践经验和向最优个体学习之外,也常常模拟其他同伴的行为,尤其是在进化的初期,这种模拟行为在个体的学习中应处于主导地位。

基于在群体搜索食物的过程中,群体中的每个个体可以从群体的新发现和群体中的其他所有个体的经验中受益的思想。本文设计了一种改进的算法。

2.1 对pid的改进

对基本粒子群中的个体极值pid进行如下改进:

Pr=(pr1,pr2,…,prD) r=1,2,…,n

其中prj=(p1j+p2j+…+pnj)/n j=1,2,…,D

改进后的速度更新操作:

vid(k+1)=wvid(k)+c1r1(prd(k)-xid(k))+c2r2(pgd(k)-xid(k)) (3)

2.2 对pgd的改进

在进化过程中,粒子按一定的概率,要么向最优个体学习,要么向其他个体学习。在进化的初期,粒子以较大的概率向种群中的其他粒子的历史最优学习,而在后期,则以较大的概率向当前全局最优个体学习,这样加强了对整个空间的搜索,从而增加了发现全局最优解的机会。选择策略如下:在第t代的进化过程中,随机产生一个0到1之间均匀分布的随机数r,按公式(4)计算Ri。如果r>Ri,则从粒子群中除自身和最佳的粒子之外,随机选择一个粒子,以该粒子的最优位置,记为prnd代替公式(3)中的pgd,即按公式(5)对当前粒子的速度进行更新;否则按公式(3)进行更新。

Ri=t/Gmax (4)

vid(k+1)=wvid(k)+c1r1(prd(k)-xid(k))+c2r2(prnd(k)-xid(k)) (5)

式中t为当前进化代数;Gmax为最大进化代数;prnd是从其他粒子的Pi中随机选择的且不等于Pg

3 数值实验

为比较验证改进的粒子群算法与标准粒子群算法的优化能力,选择3个基准函数用于优化实验,将本文提出的基本粒子群改进算法(简记为MPSO)与标准粒子群的优化结果相比较。

(1) Rosenbrock函数

f1=i=1n[100(xi+1-xi2)+(xi-1)2]

(2) Rastrigrin函数

f2=i=1n[xi2-10cos(2πxi)+10]

(3) Griewank函数

f3=14000i=1nxi2-i=1ncos(xii)+1

算法的参数设置见表1。其中c1=2.0,c2=2.0,惯性权重:

w=wmax-wmax-wminitermax×iter

wmax,wmin,分别是w的最大最小值,iter,itermax分别是当前迭代次数和最大迭代次数,随着迭代次数的变化线性减小w取值范围,w∈[0.4,0.9],文献[1]证明了线性变化的惯性权重能有效提高算法效能。

Vmax,Xmax,ud设为各基准函数自变量的上界,ld设为下界。为消除算法随机特性的影响,每个函数运行50次,以平均值作为优化结果。

通过表2的数据可以看出本文提出的MPSO算法相对于标准的PSO算法在优化效能上明显取得更好的效果,无论在50次优化运行得到的函数最优解或是平均最优解都好于标准PSO算法。

4 结 论

本文提出了一种改进的粒子群算法,新算法使粒子可以利用更多其它粒子的有用信息,即通过个体极值位置和借鉴其它粒子的最优位置来改变自身的位置,改变了粒子的行为方式和粒子的搜索空间。实验结果表明,改进的粒子群优化算法是有效的、可行的。

摘要:将基本粒子群算法粒子行为基于个体极值点和全局极值点变化为基于个体极值中心,并且按一定概率选择其他粒子的个体极值点,设计了一种新的粒子群优化算法。新算法的学习行为符合自然界生物的学习规律,更有利于粒子发现问题的全局最优解。实验结果表明了算法的有效性。

关键词:粒子群优化算法,群智能,进化计算

参考文献

[1]Eberhart R,Shi Y.Comparing inertia weights and constriction factors inparticle swarm optimization[C].Proc.of the Congress on EvolutionaryComputation,2000:84-88.

[2]Shi Y,Eberhart R C.A modified Particle Swarm Optimizer[C].An-chorage,Alaska:IEEE International Conference on Evolutionary Com-putation,1998(5):69-73.

[3]Zheng YongLing,Ma LongHua,Zhang LiYan,Qian JiXin.On the con-vergence analysis and parameter selection in particle swarm optimiza-tion,Machine Learning and Cybernetics[J].International Conference,2003,3:1802-1807.

[4]Xie Xiaofeng,Zhang Wenjun,Yang Zhilian.A dissipative ParticleSwarm Optimization,Congress on Evolutionary Computation(CEC),Hawaii,USA,2002:1456-1461.

[5]李爱国,鲍复民,等.粒子群优化算法.计算机工程与应用,2002,38(21):1-3.

[6]王存睿,段晓东,等.改进的基本粒子群优化算法.计算机工程,2004,30(21):35-37.

[7]杨燕,靳蕃,Kamel M.微粒群优化算法研究现状及其进展.计算机工程,2004,30(21):3-4.

自竞争粒子群优化算法 篇10

粒子群优化PSO(Particle Swarm Optimization)算法,由Kenendy和Eberhart于1995年首次提出[1,2],是一种较好的优化算法,并在函数优化、神经网络训练、模式分类、模糊控制系统以及其他工程领域得到了广泛的应用。目前影响粒子群优化性能的主要有收敛速度和早熟收敛问题[3]。粒子的状态量包括粒子的位置和速度,为了刺激群体持续进化,避免群体的早熟收敛和停滞现象,很多研究者指出可依据一定的标准为整个群体或某些粒子的状态量重新赋值,以维持群体的多样性,使算法可持续进化。代表性方法有:文献[4]所描述的个体层次上的自适应粒子群优化算法,用一个新的粒子替换不活跃的粒子,来保持群体的多样性。文献[5]将自然进化过程中的群体灭绝现象引入粒子群优化算法,该混合算法按照一个预先定义的灭绝间隔重新初始化所有粒子的速度。文献[6]提出一种带空间粒子扩展的粒子群优化算法,尝试在粒子开始聚集时增加群体的多样性。此外,还有与人工神经网络、遗传算法结合的混合算法[7]。本文提出的改进PSO算法的动机在于,保证群体向最优点集中的同时,确定一定数量的劣势粒子并予以淘汰,重新赋值,保持群体的多样性和新鲜性。对于影响收敛速度和稳定性的主要因素惯性权值因子的取值,采用非线性Logistic模型方法,进一步提高收敛速度,增强稳定性。

1 基本粒子群算法

首先初始化一群随机粒子,然后通过迭代找到最优解。在每次迭代中,粒子通过跟踪两个“极值”来更新自己。一个是个体极值pi,另一个是全局极值g。将粒子群优化算法的迭代次数计为t,第i个粒子Xi以速度矢量Vi移动(为群体规模)。在第t次迭代中,第i个粒子的速度和位置可表示为:

Vi,t=wt-1Vi,t-1+c1r1(pi-Xi,t-1)+c2r2(g-Xi,t-1) (1)

Xi,t=Xi,t-1+Vi,t (2)

式中,r1和r2是(0,1)之间的随机数;c1和c2为学习因子,常取常数2;wt为惯性权值,一般情况下,wt由最大加权因子wmax线性减小到最小加权因子wmin,即:

wt=wmin+(wmax-wmin)Τ-tΤ(3)

其中,t是当前迭代次数;T是总的迭代次数;wmax=0.9,wmin=0.4。

2 自竞争粒子群优化算法

2.1 惯性权值的调整策略

本文提出非线性递减惯性权值因子,采用Logistic曲线作为权值因子的递减变化,其模型如下:

wt=11+exp[-(a+bt)](4)

其中,t为当前迭代次数,0<wt<L(Lwt函数的极大值)。图1所示的是L=1,b=-0.008,a=4和a=6时wt的Logistic模型曲线。

b的绝对值越大,曲线在中段上升或下降速度越快。图2所示的是L=1,a=4,b取-0.005、-0.008和-0.01时wt的Logistic模型曲线。

在算法运行初期,惯性权值wt较大,使算法在更大范围内进行粗搜索,增强了算法的全局搜索能力;随着搜索的进行,wt逐步减小,最后算法逐步演化为局部搜索,定位在最优解附近区域并进行精细搜索,从而提高了算法的局部搜索能力和优化精度。

2.2 自竞争粒子群优化算法

假设粒子群中的N个粒子按适应值从大到小已经排序,排在前面的m个粒子为优势粒子,排在后面的N-m个粒子为劣势粒子;在第t-1次迭代后的第i个粒子的位置和速度分别为Xi,t-1和Vi,t-1,;则第t次迭代为:①当im时:按照式(1)和式(2)更新第i个粒子的位置Xi,t和速度Vi,t。②当m<iN时:Xi,tVi,t重新初始化,即在其变化的范围内取随机值。③当m=N时,算法退化为基本粒子群算法。

在该算法中,粒子群总体的惯性权值因子按式(4)取值,对于淘汰掉的粒子重新初始化时其惯性权值因子也按式(4)重新取值。在操作过程中,实际上是将粒子分成了两组,第一组记为优势组,第二组记为劣势组,假设每隔D-1次迭代重新分一次组,整个粒子群的迭代次数记为t,第二组的迭代次数记为k,算法流程如下:

Step1 设置群体规模N和优势粒子个数m,学习因子c1和c2,优势组和劣势组粒子的初始位置和速度,t=1,k=1,重新初始化劣势组粒子的间隔迭代次数D;

Step2 如果k=D,将两组粒子合在一起,按其适应值由大到小重新排序,然后按照m的值分组;对第二组粒子重新初始化位置和速度,k=1,并对其惯性权值因子重新计算;

Step3 按式(1)和式(2)更新当前粒子的速度和位置,并计算粒子的适应值;

Step4 求每个粒子的个体极值pi;

Step5 求整个粒子群的全局极值g;

Step6k=k+1;

Step7 判断结束条件(通常为达到预定最大迭代次数或足够好的适应值),如果满足,则输出最优解g,否则转Step2。

3 仿真实验

3.1 实验设计

以求3个基准测试函数的最小值为例,进行仿真实验,来评价自竞争粒子群优化算法的性能,测试软件平台为Visual C++。

f1(x)=i=1n-1(100(xi+12-xi)2+(1-xi)2)-30xi30

f2(x)=i=1n(xi2-10cos(2πxi)+10)-5.12xi5.12

f3(x)=14000i=1nxi2-i=1ncos(xii)+1-600xi600

实验参数设置为:种群规模为20,测试函数的维数为30,c1=c2=2;在基本PSO算法中,wt按式(3)线性递减,wmax=0.9,wmin=0.4;在自竞争粒子群优化算法SCPSO中,wt按Logistic模型式(4)递减,其中L=1,b=-0.008,a=4,优势粒子数为15,劣势粒子数为5,重新初始化劣势粒子的间隔迭代次数D=31。

3.2 实验结果及分析

3.2.1 固定进化迭代次数的收敛速度和精度

固定进化迭代次数为2000,算法独立运行50次,实验结果如表1和图3-图5所示。由表1可以看出,SCPSO算法的平均优化结果和最优结果明显好于基本PSO算法。图3-图5是函数f 1、f 2和f 3采用PSO算法和SCPSO算法运行50次后得到的平均值的进化曲线,可以看出,从600代后,SCPSO收敛速度加快,同时优化精度较高。这说明SCPSO比PSO在收敛精度和收敛速度方面有显著的提高。

3.2.2 固定收敛误差精度下的进化迭代次数

f 1、f 2和f 3函数的收敛误差精度固定为30、30和0.001,最大迭代次数为2000,算法独立运行50次,评价算法达到该误差精度所需要的迭代次数。达优率=达到收敛误差精度的运行次数÷总实验次数,实验结果如表2所示。可以看出,PSO算法对3个测试函数的达优率较低,且平均迭代次数都在1660以上;SCPSO算法的达优率都在98%以上,平均迭代次数都在650以内,且最小和最大迭代次数都比PSO算法少得多,因此SCPSO算法比PSO算法收敛速度快、达优率高,且具有更加稳定的收敛性能。

3.2.3 与参考文献中的优化性能比较

3个测试函数的维数分别设置为10、20和30,相应的迭代次数分别设置为1000次、1500次和2000次,其它参数同上。对每个函数进行50次实验,计算算法找到的函数平均最优值并与其它改进方法进行比较,实验结果见表3。可以看出,SCPSO算法的优化性能优于BDPSO[8]和IPSO[9]。

4 结 论

针对粒子群优化算法容易陷入局部极值点以及收敛速度慢和稳定性较差等问题,提出了自竞争粒子群优化算法。在优化过程中将适应值较小的劣势粒子予以淘汰,重新初始化,以维持群体的多样性,从而增强了算法的搜索能力。同时,使惯性权值因子按非线性Logistic模型递减,提高了收敛速度,增强了稳定性,达优率得到提高。仿真结果表明,该方法有效可行。

摘要:粒子群优化算法由于简单有效而受到重视,但其求解过程容易陷入局部极值点以及存在收敛速度慢和稳定性较差等问题。提出自竞争粒子群优化算法,在优化过程中依适应值将劣势粒子予以淘汰,重新初始化,增强了搜索能力。同时,给出了惯性权值因子按非线性Logistic模型递减取值方法。实验结果表明,该方法是可行的,而且提高了收敛速度,增强了稳定性,达优率得到了提高。

关键词:自竞争,粒子群优化,非线性,Logistic模型

参考文献

[1]Kennedy J,Eberhart R.Particle swarm optimization[C]//Proc IEEEInt Conf on Neura Networks Perth,1995:19422-1948.

[2]Eberhart R,Kennedy J.A new optimizer using particle swarm theory[C]//Proc 6th Int Symposiumon Micro Machine and Human Science.Nagoya,1995:39-43.

[3]张燕,汪镭,康琦,等.微粒群优化算法及其改进形式综述[J].计算机工程与应用,2005(2):1-3.

[4]Xie X F,Zhang W J,Yang Z L.Adaptive particle swarm optimizationindividual level[C]//6th International Conference on Signal Process-ing 2002:1215-1218.

[5]Xie X F,Zhang W J,Yang Z L.Hybrid particle swarm optimizer withmass extinction[C]//IEEE International Conference on Communica-tions,Circuits and System.West Sina Exposition,2002(2):1170-1173.

[6]Knnk T,Vesterstr J S,Riget J.Particle swarm optimization with spatialparticle extension[C]//Proceeding of the 2002 Congress on Evolution-ary Computation,2002:1472-1479.

[7]Morten L,Thomas KR,Thiemo K.Hybrid particle swarmoptimizer withbreeding and subpopulations[C]//Proceeding of the Genetic and Evo-lutionary Computation Conference 2001,2001:1256-1260.

[8]王辉,钱锋.一种基于距离行为模型的改进微粒群算法[J].计算机工程与应用,2007,43(30):30-32.

上一篇:跨学科教师下一篇:自动站雨量传感器