二进制细菌群算法

2024-05-30

二进制细菌群算法(精选四篇)

二进制细菌群算法 篇1

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

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

基于分析计算的诊断方法[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,同时验证了提出的电网故障诊断方法具有诊断准确和容错性好等优点。

二进制细菌群算法 篇2

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

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 结语

二进制细菌群算法 篇3

水电站机组组合问题是电力系统安全经济运行问题的一个重要分支,是指在一个运行时段(如24 h)内,使水电站运行达到时间和空间最优,从而获得最大的经济效益[1]。水电站机组组合优化不但可为水电站制定短期发电调度计划提供决策依据,而且能指导水电站最优化执行电网下达的发电任务。因此,研究水电站机组组合问题对电力系统的安全优质运行具有重大意义。水电站机组组合问题同时包含表示机组启、停状态的0-1整型变量和表示机组出力的连续变量,从数学建模角度来说是一个复杂的多约束混合整数非线性规划问题,具有维数高、非凸、离散等特点。目前,水电站机组组合问题多采用动态规划[1],但随着三峡、溪洛渡等拥有数十台机组的巨型水电站的投产和运行,动态规划求解水电站机组组合问题将面临“维数灾”和计算时效性问题。因此,国内外学者对该问题进行了大量的研究工作并提出多种求解方法,如分支界定法[2]、混合整数线性规划法[3]、进化规划算法[4]和粒子群优化算法[5]等。然而,分支界定法和混合整数线性规划法方法比较复杂,且计算量大,难以推广;进化规划和粒子群算法更适用于求解连续变量问题,对于机组开停机的离散问题直接求解难度较大。

二进制粒子群优化算法[6](Binary Particle Swarm Optimization,BPSO)由Eberhart和Kennedy于1997年在粒子群优化算法(Particle Swarm Optimization,PSO)的基础上提出的一种解决离散或二进制变量的优化算法。该算法简单、易实现,具有并行搜索、记忆能力和收敛速度快等特点,被广泛用于机组组合优化问题[7,8,9],但其同时也存在易陷入局部最优和收敛速度慢的困境。本文改进了二进制粒子群算法的粒子概率变换和位置更新模式,使其具有更强的搜索能力和更快的收敛速度,并与动态微增率逐次逼近法相结合形成内外双层嵌套方法,同时引入启发式机组最短开停机时间修补策略和基于机组启停优先顺序表的系统备用容量修补技术,在满足多重约束条件下,分别对外层水电机组的启、停状态变量和内层固定机组间的负荷最优分配进行交替迭代优化求解。将提出算法应用于三峡电站某日发电过程进行优化,对优化结果进行比较分析表明,本文所提算法简单快速,优化效果较好,能满足水电站实时性要求,具有较强的工程实用价值。

1 水电站机组组合问题数学模型

1.1 目标函数

水电站机组组合是在指定时段给定水电站发电负荷的情况下,合理确定机组的最优工作组合以及工作机组间负荷的经济分配,使运行时段内电站总耗水量最小。其目标函数可以用式(1)表示:

式中:Ht=Hgt-Hlt(Qit);W为总耗水量(m3);Qit(Ht,Pit)为时段t第i台机组在工作水头为Ht,负荷为Pit时的发电流量(m3/s);Hgt为毛水头;Hlt为损失水头;ΔT表示时段时长;uit表示机组i在时段t的状态,停机时uit=0,运行时uit=1;Qup,i,Qdn,i分别表示开机和停机过程的耗水量,包括机组在开停机过程中所发生的机械磨损等所折合的水量;N为水电站机组台数;T为时段数。

1.2 约束条件

约束条件包括水电站有功功率平衡、系统备用容量约束、机组出力限制和最小开停机时间等。

电站有功功率平衡约束:

系统备用容量约束:

机组出力约束:

最短开停机时间约束:

式中:PDt为t时段给定总出力;Pit为机组i在t时段的出力;Pi,min、Pi,max分别为第i台机组允许出力的下限和上限;Pi,minc、Pi,maxc分别为第i台机组出力的汽蚀、振动区下限和上限;Ti,up、Ti,down分别为第i台机组允许的最短开机时间和最短停机时间限制;Ti,ont、Ti,offt分别为第i台机组到时段t-1为止持续开机和持续停机时长。

2 改进二进制粒子群优化算法

2.1 基本粒子群优化算法

PSO算法的基本思想如下:随机产生一个给定规模的初始种群,种群中的每个粒子在多维搜索空间中以一定的速度飞行,在飞行过程中,粒子的飞行速度和轨迹根据自己及同伴的飞行经验来动态调整,经过若干次迭代后找到解空间中的最优解。

假设在一个d维的搜索空间中,种群由n个粒子组成。在第k次迭代时粒子i的位置xi(k)=(xi,1(k),xi,2(k),,xi,d(k))表示解空间的一个候选解,飞行速度vi(k)=(vi,1(k),xi,2(k),,xi,d(k))决定第i个粒子在解空间搜索时的位移。在每次迭代过程中,粒子i通过跟踪自身迄今为止搜索到的个体最优解Pbesti,dk和整个粒子群到目前为止搜索到的全局最优解Gbestdk来更新自己的速度和位置,更新方程为:

式中:i=1,2,…,M,M为群体规模;vi,dk是第k代粒子i在第d维的速度;vi,dk≤vd,max,vd,max表示速度最大值;w为惯性权重因子;c1,c2为学习因子;r1,r2为均匀分布在(0,1)区间的随机数。

2.2 二进制粒子群优化算法

BPSO算法是PSO算法的二进制版,基本思想与PSO算法相同,但其粒子运动的轨迹和速度是从概率角度定义。在迭代中每个粒子的每一位xki,d的取值为0或1,vki,d为xi,dk取1的概率。BPSO保留了基本粒子群的速度更新公式(6)不变,而位置更新公式(7)则变为:

式中:r是区间[0,1]上的随机数;S(vki,d)是sigmoid

函数,S(vi,dk)=1/(1+exp(-vi,dk))。

2.3 改进二进制粒子群算法

在BPSO算法逐渐趋于全局最优值的过程中,(Pbesti,dk-xi,dk)和(Gbestdk-xi,dk)取值为0的分量较多,此时粒子速度修正程度将减小,粒子的飞行状态不能得到充分调整,使得种群的多样性和算法的收敛性大大降低。因此,BPSO算法是一个全局性随机搜索算法,随着迭代次数增加,其随机性增强,粒子较难收敛于全局最优解。针对BPSO这一缺陷,对BPSO的速度更新原理进行了分析,改进了BPSO算法中的粒子概率变化和位置更新模式,提出了一种搜索能力强、能够快速收敛至全局最优值的改进二进制粒子群优化算法(Improved Binary Particle Swarm,IBPSO)。

通过分析BPSO的速度更新公式得出:vi,d=0表示粒子当前的位值与最优粒子或历史最优位值可能相等,xi,d不需要变化;vi,d<0表示最优粒子和历史最优粒子位值最大可能是0,xi,d=1可能性大,位值需要转变为0;而vi,d>0,最优粒子和历史最优位值可能为1,xi,d=0的可能性大,位值需要转变为1。算法要收敛于全局最优解,vi,d与xi,d改变的关系需遵循以上原则。因此,对BPSO中的位置更新公式(8)进行修改,具体如式(9):

式中:r是区间[0,1]上的随机数;s′(vi,dk)为修改后的概率映射函数,当vi,dk≤0时,s′(vi,dk)=1-2/[1+exp(-vi,dk)];当vi,dk>0时,s′(vi,dk)=2/[1+exp(-vi,dk)]-1。

改进BPSO相比于原始BPSO,更加符合粒子群算法的本质思想,理论上具有更好的收敛性且收敛速度更快。

3 改进二进制粒子群算法在水电站机组组合问题中的应用

本研究提出的方法首先采用IBPSO算法确定机组组合台数以及启、停方式,然后利用动态微增率逐次逼近法求解固定机组间的负荷最优分配问题,同时引入启发式机组最短开停机时间和基于机组启停优先顺序表的系统备用容量的修补策略来满足多重约束条件。

3.1 粒子编码方式

构建粒子编码方式,随机初始化种群中所有粒子,每个粒子对应水电站所有N台机组在T个时段内的开停机状态(用01表示),表达如下:

式中:U表示种群中的粒子;uNT表示第N台机组在第T个时段的运行状态,取1表示开机运行,取0表示停机。

3.2 修补策略

(1)机组最短开停机时间修补策略。对于随机初始化和位置更新后所产生的粒子,机组启、停状态变量可能不满足机组最短开、停机时长约束。针对上述问题,本文建立了一种启发式修补策略:从第1个时段开始,依次计算到当前时段t为止各机组连续开停机时间Ti,ont、Ti,offt,检查uit的状态,若Ti,ont

(2)系统备用容量修补策略。对经过最短开停机时间修补的粒子有可能在某个时段,所有开机机组最大出力之和仍小于或最小出力之和大于当前时段的系统给定负荷与系统备用容量之和。本文采用一种基于机组启停优先顺序表的动态修补技术以克服上述难题。首先根据各机组的平均满负荷耗流量值按升序排列建立机组投、切优先顺序表。如果,,则按机组优先顺序表由前向后依次将满足最短停机时间的停机机组开机投入运行;如果,则按机组优先顺序表由后往前依次将满足最短开机时间的开机机组停运。重复上述操作直至满足系统负荷和备用容量约束为止。

3.3 动态微增率逐次逼近法优化机组间负荷分配

等微增率准则由于其计算量小、求解速度快等特点已广泛应用于机组间的负荷分配的优化问题[10]。在求解过程中初始耗流量微增率值的选取较为困难,容易造成陷入死循环而不能收敛。为有效克服上述缺陷,本文提出一种动态微增率逐次逼近法,有效解决了合理选择机组耗流量微增率初始值问题,同时在满足时段负荷平衡的前提下使机组出力严格控制在稳定运行区内,有效避免了机组汽蚀和振动区。

首先,采用最小二乘法将机组NHQ流量特性曲线拟合为二次曲线,确定机组特性参数。选定一个机组组合可行解U,即种群中的一个粒子,可知各个时段机组组合数及启、停顺序,同时根据式(10)~式(11)求得在时段t,工作水头h机组的耗流量微增率初始值λ(t,h)和变化量Δ(t,h)。然后由各机组耗流量微增率确定其出力,将各机组出力之和与时段给定负荷比较,如果小于给定负荷则λ=λ+Δ,如果大于给定负荷则λ=λ-Δ,重新计算各机组出力,直至机组出力之和等于时段给定负荷。求解过程中机组出力大于稳定运行区上限则将其值设为上限值,如果机组出力小于稳定运行区下限则将其设为下限值;重复以上步骤直至满足负荷平衡约束条件,获得机组负荷最优分配结果。

运用上述方法可以有效求解各时段内的机组负荷最优分配。但对于时段间水头变幅较大的水电站,还必须根据入库流量和水库初始水位对各时段发电水头进行动态计算,确定各时段平均水头后再利用上述方法以求解各时段的机组负荷最优分配。

3.4 算法流程

本文提出的改进二进制粒子群算法应用于水电站机组组合的求解步骤如下:

Step1:设置粒子群规模M,并在解空间范围内随机初始化M个粒子,设置惯性权重w,学习因子c1、c2,最大飞行速度vmax,最大迭代次数K;输入机组特性参数、初始启停状态、连续开停机时长及系统给定负荷。

Step2:采用修补策略对每个粒子进行修补使其满足最短开停机时长和系统旋转备用容量要求,形成满足机组组合约束的可行解;设定当前迭代次数k=1。

Step3:对各粒子采用动态微增率逐次逼近法进行各时段机组间的负荷最优分配,同时使系统负荷达到平衡,并保证机组运行于稳定区。

Step4:根据式(1)计算各粒子的总耗水量,将每个粒子当前解与历史自身最优解作比较取最优者为粒子自身局部最优解,取所有粒子局部最优解中的最小值对应的解作为全局最优解。

Step5:由式(6)计算下一代粒子飞行速度,由式(9)更新粒子位置。

Step6:判断当前迭代次数是否达到最大值K,若未达到,k=k+1,转至步骤2;反之,停止计算,输出全局最优解。

具体流程图如图1所示。

4 实例研究

为了验证本文所提改进二进制粒子群优化算法应用于水电站机组组合问题的可行性与有效性,以三峡水电站2009年某日24个时段实际发电过程为例进行计算比较。三峡水电站安装32台700 MW和2台50 MW水轮发电机组,总装机容量22 500 MW,年发电量超过1×109 MW时。由于地下电站6台机组未投产运行,2台50 MW为厂用电机组,现今实际投入电网运行机组为三峡左右岸26台机组。当日水电站水头运行区间为94.91~95.16 m,水头变幅较小,同时发电流量引起的下游尾水位变幅也很小,因此,可近似认为当日水头不变,以其平均水头95 m进行计算。在95 m水头下,考虑机组引用流量产生的水头损失并根据三峡机组NHQ曲线,拟合机组性能参数如表1所示。

设定粒子群规模M=20,惯性因子wmax=1.4,wmin=0.4,学习因子c1=c2=2.05,速度限定vmax=6,最大迭代次数为k=300,最小开、停机时间Tup=

采用本文提出的IBPSO算法分别进行迭代次数10,20,40,60,80,100次的独立计算,每次计算重复30次,得如图2所示收敛特性曲线。随迭代次数的增加求解精度更好,最后收敛于全局最优解。以迭代50次为例,从中选取最最优解作为所求问题的最终解,优化结果如表2所示(部分时段)。Tdown=1h。

为验证本文所提算法的有效性与求解效率,在初始条件完全一致的条件下,分别采用动态规划DP算法(20 MW步长)、原始BPSO算法与IBPSO算法分别连续运行50次,取各自最优解并同时与三峡电站当日实际发电耗水量作比较,如表3所示。

注:总耗水量为682.007817×106 m3。

从表3中数据可以看出,在30次计算测试中,IBPSO算法优化最优解为682.007817×106 m3,远优于DP的优化结果685.698474×106 m3和BPSO的优化结果683.685583×106 m3,且远低于三峡电站当日实际耗水量688.974972×106 m3,可节省当日耗水量6.836802×106 m3,约占当日耗水量的1.01%。同时,IBPSO每次计算所得到的总耗水量(最优解、最差解和平均解)的变化都在比较小的范围内。从计算求解时间来比较,针对三峡水电站26台机组,IBPSO求解时间远远小于DP,仅为其计算时间的1/364,能够满足工程应用的实时性要求;相比于BPSO,改进后的IBPSO算法的求解时间也减少了将近一半。由结果分析可知,IBPSO应用于水电站厂内经济运行的优化求解,改善了计算结果,使得水电站运行周期内的耗水量下降,提高了水能利用率,同时该算法显示出其优越性,能够在较短的时间内收敛于全局最优解。

5 结语

本文提出了一种新型改进BPSO算法用于求解水电站机组组合问题,并将该优化问题分解为具有为0-1整型变量的机组优化组合和含有连续变量的机组间负荷优化分配的两层优化子问题,利用改进了位置更新模式的二进制粒子群算法结合动态微增率逐次逼近法的混合优化算法,同时采用了机组最短开停机时间和系统备用容量的启发式修补策略,在满足多重约束条件下,分别对外层水电机组的启、停状态变量和内层固定机组间的负荷最优分配进行交替迭代优化求解。实例研究结果表明本文方法求解精度优于动态规划法,计算时间却只占其计算时间的1/364,求解精度和收敛速度也大大优于原始BPSO算法,能够满足工程实时性要求,为解决水电站机组组合问题提供了一种新的思路和方法。

参考文献

[1]张勇传.水电站经济运行原理[M].二版.北京:中国水利水电出版社,1998.ZHANG Yong-chuan.Economic operation of hydroelectric plant[M].Second edition.Beijing:China Water Power Press,1998.

[2]Finardi E C,da Silva E L.Unit commitment of single hydroelectric plant[J].Electric Power System Research2005,75:116-123.

[3]Gary W Chang,James G.Weight a mixed integer linear programming based hydro unit commitment[C].//Power Engineering Society Summer Meeting,1999,2(18-22):924-928.

[4]刘建国,赵林明.基于进化规划原理的水电厂经济运行算法[J].水力发电学报,2000,68(1):22-26.LIU Jian-guo,ZHAO Lin-ming.A method for hydro station economic dispatch based on the evolution program[J].Journal of Hydroelectric Engineering,2000,68(1):22-26.

[5]张炯,刘天琪,苏鹏,等.基于遗传粒子群混合算法的机组组合优化[J].电力系统保护与控制,2009,37(9):25-29.ZHANG Jiong,LIU Tian-qi,SU Peng,et al.Uint commitment optimization based on genetic algorithm and particle swarm optimization hybrid algorithm[J].Power System Protection and Control,2009,37(9):25-29.

[6]Kennedy J,Eberhart R C.A discrete binary version of the particle swarm algorithm[C].//Proceedings of the Conference on Systems,Man,and Cybernetics,Piscataway.NJ.1997:4104-4108.

[7]袁晓辉,王乘,袁艳斌,等.一种求解机组组合问题的新型改进粒子群方法[J].电力系统自动化,2005,29(1):34-38.YUAN Xiao-hui,WANG Cheng,YUAN Yan-bin,et al.A new enhanced particle swarm optimization method for unit commitment[J].Automation of Electric Power Systems,2005,29(1):34-38.

[8]Zhao B,Guo C X,Bai B R,et al.An improved particle swarm optimization algorithm for unit commitment[J].Electrical Power and Energy Systems,2006,28:482-490.

[9]常文平,于海,华大鹏.基于自适应粒子群优化算法的机组组合[J].电力系统保护与控制,2009,37(15):15-18.CHANG Wen-ping,YU Hai,HUA Da-peng.A solution to particle swarm optimization algorithm with adaptive inertia weight for unit commitment[J].Power System Protection and Control,2009,37(15):15-18.

二进制细菌群算法 篇4

近年来, 人们模拟自然界生物群体行为发展出一系列群体智能仿生算法, 其中, 粒子群优化 (particle swarm optimization, PSO) 算法和细菌觅食 (bacterial foraging, BF) 算法已在诸多领域展现了良好的应用前景。

PSO算法具有概念简明、实现方便、收敛速度快等优点, 在很多优化问题中得到成功应用。 文献[1]将PSO算法应用于可靠性优化, 并通过串-并联、桥式系统等可靠性优化实例验证了方法的可行性。文献[2]将混沌粒子群优化的神经网络应用于旋转机械故障诊断, 取得了良好效果。 然而, PSO算法在求解优化问题时, 容易陷入局部最优, 引起早熟收敛[3]。BF算法是由Passino[4]提出的一种新型仿生类算法, 具有并行搜索、易跳出局部极小值等优点, 在不同领域得到了广泛应用。文献[5]将变邻域BF算法用于求解作业车间调度问题, 为车间调度问题提供了有效方法。文献[6]将BF算法应用于公交调度优化, 实现了交通系统的优化配置, 但该算法存在收敛速度慢的缺点。

近几年有学者将PSO算法和BF算法融合, 如Biswas等[7]提出了一种混合PSO细菌觅食算法———BSO算法, 即在细菌趋化操作后对细菌执行了一个仅使用全局最佳粒子的趋化前进操作, 该算法优于BF算法和标准PSO算法。 然而, BSO算法趋化前进操作中没有考虑个体最佳粒子这一因素。

为此, 本文提出一种细菌群觅食优化 (bacte- rial swarm foraging optimization, BSFO) 算法, 利用PSO算法中粒子的速度更新公式来替代BF算法位置公式中的方向向量, 并通过测试函数和控制系统仿真验证其优化效果。

1细菌群觅食优化算法

1.1 PSO算法

PSO算法将系统初始化为一组随机解, 通过迭代搜寻最优值, 粒子在解空间追随最优的粒子进行搜索。每一次迭代中, 粒子通过跟踪2个“极值”来进行自我调整, 一个极值是粒子本身所经历过的最优解, 称为个体最佳位置pbest, 另一个极值是整个种群目前找到的最优解, 称为全局最佳位置gbest。粒子在第k代的速度和位置更新过程如下[8]:

式中, vk、xk分别为第k代更新中粒子的速度和位置;vk+1、 xk+1分别为第k+1代更新中粒子的速度和位置;r1、r2为[0, 1]区间内的随机数;c1、c2为加速常数, 代表将每个粒子推向pbest和gbest位置的统计加速项的权重, 通常取为常数2;w为惯性权重。

式 (1) 、式 (2) 中的位置和速度不同于物理学中的含义, 具有相同量纲, 可以直接相加, 下同。

惯性权重w表征上一代的速度对当前代速度的影响程度。随着迭代次数的增加, 粒子离最优点越来越近, 为了减小振荡, 希望速度越来越小。 为此, 通常采用如下方式来调整惯性权重w:

式中, I为当前迭代次数;Imax为最大迭代次数;wmax、wmin分别为惯性权重的最大值和最小值[9]。

1.2 BF算法

细菌群的觅食行为可以看作是不断优化的过程, 优化问题的解对应搜索空间内细菌的状态, 即优化函数适应度值。BF算法包括趋化、繁殖、驱散三个步骤。

1.2.1趋化

趋化是细菌朝含有营养的区域聚集的行为。 趋化过程中, 细菌运动模式包括翻转和前进。翻转是细菌向随机方向移动单位步长, 每当细菌完成一次翻转后, 检查适应度值是否改善, 若是, 则细菌将沿同一方向继续前进Ns步。趋化的位置更新公式为

式中, Pi (j, k, l) 为第i个细菌在第j次趋化、第k次繁殖和第l次驱散中的位置;Δ (i) 为随机产生的方向向量;C (i) 为细菌在任意方向被指定的步长大小。

1.2.2繁殖

所有细菌完成趋化后, 进入繁殖阶段。采用健康度作为评定各细菌优劣的准则, 计算公式为

式中, Jh,i为第i个细菌的健康度;ji (j, k, l) 为第i个细菌在第j次趋化、第k次繁殖和第l次驱散操作中的适应度值;Nc为趋化步骤的最大次数。

将全部S个细菌根据健康度进行升序排序, 淘汰健康度较差的Sr (Sr=S/2) 个细菌, 保留健康度较好的Sr个细菌。将存活的Sr个细菌以一分为二的方式进行繁殖, 产生的子细菌具有和母细菌相同的位置和趋化步长。

1.2.3驱散

细菌在Nre次繁殖结束后, 将适应度值差的细菌驱散。为确保细菌总数的不变, 以概率Ped驱散相同数目的细菌到其他位置, 剩余细菌的位置保持不变。细菌驱散步骤的最大次数为Ned。

1.3 BSFO算法的提出

BF算法中, 一个细菌代表一个解, 细菌在寻找最优解时只依靠自己, 群体间不存在信息共享机制。PSO算法中, 一个粒子代表一个解, 粒子在寻找最优解时, 不仅依靠自身, 也依靠其他的信息 (个体历史最优解和全局最优解) 。针对这种情况提出了BSFO算法, 即通过借鉴PSO算法中粒子之间的信息共享机制, 利用PSO算法中粒子的速度更新公式来代替细菌趋化中翻转操作的位置公式中的方向向量Δ (i) , 使细菌在更新自身运动位置时, 不断感知周围同伴的位置信息及细菌群体的历史最优位置信息, 进而克服PSO算法存在早熟收敛和BF算法收敛速度慢的缺陷。

将式 (1) 代入式 (4) , 可得

为提高算法在优化前期的全局搜索能力和优化后期的局部搜索能力, 趋化步长不再像BF算法中设为固定值, 而改设为动态调整值:

C (k, l) =Lred/nk+l-1 (7)

式中, C (k, l) 为第k次繁殖和第l次驱散的趋化步长;Lred为初始趋化步长;nk+l-1为第k+l-1次控制步长下降梯度的参数。

由于C (k, l) 是随繁殖操作数k和驱散操作数l增加而下降的函数, 当初期的k、l较小时, 步长C (k, l) 较大, 以便在较大的空间内搜索解。进化的过程中, 随着k、l逐渐增大, 步长C (k, l) 减小, 使细菌在较好解的附近进一步搜索最优解, 保证算法最终趋近全局最优点。

BSFO算法步骤如下:

(1) 初始化细菌位置、速度。

(2) 评价适应度值。

(3) 三层循环。最内层步骤是趋化, 其中, 细菌的运动模式为翻转, 以式 (6) 进行细菌位置更新;前进, 更新个体最优和全局最优并用式 (1) 更新各细菌的速度。中间层步骤是繁殖。最外层步骤是驱散。

(4) 输出最优解。

BSFO算法以BF算法为基础, 在趋化时用PSO算法中粒子的速度更新公式 (式 (1) ) 来代替细菌趋化公式 (式 (6) ) 中随机产生的方向向量 Δ (i) 。有目的的方向操作加快了细菌的收敛, 全局最优的引导作用提高了算法的精度。同时, 舍去PSO算法中的式 (2) , 直接用式 (6) 计算细菌位置更新历史最优值。

1.4 BSFO算法的Benchmark函数测试

为分析所提的BSFO算法搜索性能, 以BF算法、μPSO算法[10]和BSO算法[7]作为对比算法。其中, μPSO算法的原理是通过对一般粒子和当代最优粒子设置不同的速度、位置计算公式增强粒子的搜索能力, 利用排斥项避免搜索进程陷入早熟状态, 从而有效提高PSO算法的优化效率。

选择表1所示的8个Benchmark函数对上述4种算法进行数值试验, 这些函数广泛应用于评价优化算法的性能。评价的标准包括优化结果的平均值和标准差, 平均值反映了在给定迭代次数下算法所能达到的精度, 标准差反映了算法的稳定性。

分别用BF算法、μPSO算法、BSO算法和BSFO算法优化上述8个测试函数, 程序重复运行30次所得函数极值的平均值和标准差见表2。 从表2可以看出, 与其他三种算法相比, BSFO算法对大部分测试函数更接近所求极值, 标准差较小, 具有较高的精度和稳定性。

这4种算法运行30次的运行时间平均值和标准差见表3。

从表3可以看出:基本BF算法与BSO算法在时间消耗上是差不多的, BSFO算法比上述两种算法耗时更少, μPSO耗时最少。综合表2、表3可以看出, BSFO算法不仅具有较高求解精度, 而且耗时较少。

2材料试验机PID控制器参数优化

2.1电液位置伺服系统数学建模

以材料试验机电液位置伺服系统为研究对象, 运用BSFO算法对其PID控制器参数进行优化。材料试验机电液位置伺服系统原理如图1所示, 图2为系统控制框图。

忽略外力扰动FL, 得到开环传递函数:

式中, Uf为传感器反馈电压;U为控制器输出电压;Ka为伺服放大器增益;Ksv为伺服阀流量增益系数;Ap为液压缸活塞有效面积;Kf为位移传感器增益;Kce为总流量- 压力系数;K为负载弹簧刚度;ωsv为伺服阀固有频率;ξsv为伺服阀阻尼比;ωr为惯性环节转折频率;ω0为综合固有频率;ξ0为综合阻尼比。

将材料试验机电液位置伺服系统实际参数代入后得到开环传递函数:

作出系统的开环Bode图 (图3) , 其幅值裕度为56dB, 相位裕度为无穷大, 可见该系统闭环稳定。

计算该系统在1V指令 (10mm) 下闭环阶跃响应, 如图4所示。可以看出, 该系统在未加任何补偿控制器之前, 虽然系统闭环稳定, 但是存在较大的静态误差, 且响应很慢, 远不能达到该材料试验机对准确性的要求, 因此必须设计合理的控制器才能使得该系统到达一定的使用要求。

2.2数字PID控制器

数字计算需要对常规的PID算式通过采样进行离散化, 离散化后的控制器即为数字PID控制器。数字PID控制器可分为位置式和增量式, 增量式算法系统工作会更安全。一旦计算机出现故障, 使控制信号 Δu (kT) 为零时, 执行机构的位置仍能保持前一步的位置u (kT) , 从而对系统安全不会有大的影响。因此, 采用增量式数字PID控制器, 表达式如下:

式中, u为控制输出;e为误差;Kp为比例系数;Ki为积分系数;Kd为微分系数;T为采样周期, T =0.001s;Ti为积分时间常数;Td为微分时间常数。

2.3基于BSFO算法的PID控制器参数优化

细菌位置量P (式 (1) 中的x) 编码为[Kp, Ki, Kd], 即为PID控制器的3个调节参数。目标函数包括绝对误差、控制器输出平方、被控对象输出增量和调节时间等。构造目标函数:

式中, e (t) 为控制误差;u (t) 为控制器输出;ts为调整时间;w1、w2、w3、w4为权值, w1= 0.999, w2= 0.001, w3=2, w4=100;y (t) 为被控对象输出。

BSFO-PID算法流程如图5所示。

3仿真结果及分析

BSFO-PID的参数设置如表4所示。最后求得PID控制器的参数和目标函数值的优化结果, 如表5所示。从表5可以看出, BSFO-PID控制器的目标函数值最小。

Z-N PID、BSO-PID、μPSO-PID、BF- PID和BSFO-PID几种控制策略作用下控制器的输出量如图6所示。

材料试验机的电液位置伺服系统的单位阶跃响应 (1V, 10mm) 如图7所示。

系统动态性能指标如表6所示。

仿真结果表明:运用BSFO算法优化的材料试验机电液位置伺服系统PID控制器较其他4种算法设计的控制器在响应速度、收敛精度、超调量等方面具有更优良的综合控制性能。

4结论

(1) Benchmark函数测试结果表明:BSFO算法比BF算法、μPSO算法及BSO算法在收敛速度和计算精度上更为理想, 克服了PSO算法早熟易陷入局部最优和BF算法收敛速度慢的缺陷。

(2) 将BSFO算法应用于材料试验机电液位置伺服系统的PID控制器参数的寻优, 通过仿真可得:与Z-N整定算法、BF算法、μPSO算法和BSO算法相比, 应用BSFO算法寻优后的PID控制系统具有更好的控制性能, 满足了材料试验机的电液位置伺服系统控制性能要求。

摘要:针对细菌觅食 (BF) 算法收敛速度慢和粒子群优化 (PSO) 算法早熟的缺点, 提出了一种细菌群觅食优化 (BSFO) 算法。将PSO算法中粒子速度的更新公式替代BF算法位置公式中的方向向量, 使细菌在优化过程中具备感应周围细菌位置并向细菌群体历史最优位置游动的能力。Benchmark函数的测试表明, BSFO算法对于大部分测试函数的结果较为理想。将BSFO算法用于材料试验机电液位置伺服系统的PID控制器参数寻优仿真, 获得了较好的控制性能。

关键词:细菌群觅食优化算法,粒子群优化算法,细菌觅食算法,PID控制器,电液位置伺服系统

参考文献

[1]Zhao J H, Liu Z H, Dao M T.Reliability Optimization Using Multiobjective Ant Colony System Approaches[J].Reliability Engineering and System Safety, 2007, 92 (1) :109-120.

[2]仇国庆, 唐贤伦, 庄陵, 等.基于混沌粒子群优化的神经网络在旋转机械故障诊断中的应用[J].中国机械工程, 2008, 19 (21) :2642-2645.Qiu Guoqing, Tang Xianlun, Zhuang Ling, et al.Application of Neural Network Trained by Chaos Particle Swarm Optimization to Fault Diagnosis for Rotating Machinery[J].China Mechanical Engineering, 2008, 19 (21) :2642-2645.

[3]魏峰涛, 宋俐, 李言, 等.基于改进粒子群算法的四辊轧机机座结构优化设计[J].中国机械工程, 2012, 23 (19) :2361-2365.Wei Fengtao, Song Li, Li Yan, et al.Optimal Structural Design of 4-roller Rolling Mill Frame Based on an IPSO Algorithm[J].China Mechanical Engineering, 2012, 23 (19) :2361-2365.

[4]Passino K M.Biomimicry of Bacterial Foraging for Distributed Optimization and Control[J].IEEE Control Systems Magazine, 2002, 22 (3) :52-67.

[5]易军, 李太福.求解作业车间调度的变邻域细菌觅食优化算法[J].机械工程学报, 2012, 48 (12) :178-183.Yi Jun, Li Taifu.Bacterial Foraging Optimization Algorithm Based on Variable Neighborhood for Job-shop Scheduling Problem[J].Chinese Journal of Mechanical Engineering, 2012, 48 (12) :178-183.

[6]高政威, 庞哈利, 汪定伟.基于菌群自适应觅食的公交调度建模仿真与优化[J].系统仿真学报, 2011, 23 (6) :1151-1155, 1160.Gao Zhengwei, Pang Hali, Wang Dingwei.Adaptive Bacterial Foraging Optimization and Its Application for Bus Scheduling[J].Journal of System Simulation, 2011, 23 (6) :1151-1155, 1160.

[7]Biswas A, Desgupta S, Das S, et al.Synergy of PSO and Bacterial Foraging Optimization-A Comparative Study on Numerical Benchmarks[J].Innovations in Hybrid Intelligent Systems, Advances in Soft Computing., 2007, 44:255-263.

[8]陈东宁, 姜万录, 王益群.基于粒子群算法的冷连轧机轧制负荷分配优化[J].中国机械工程, 2007, 18 (11) :1303-1306.Chen Dongning, Jiang Wanlu, Wang Yiqun.Load Distribution Optimization of Tandem Cold Mill Based on PSO Algorithm[J].China Mechanical Engineering, 2007, 18 (11) :1303-1306.

[9]Shi Y, Eberhart R.A Modified Particle Swarm Optimizer[C]//IEEE International Conference on Evolutionary Computation.Anchorage, 1998:69-73.

上一篇:节目内外形式下一篇:完全实验室教学模式