基于改进GA-PSO-BP的船舶短路故障诊断方法与流程

文档序号:18742979发布日期:2019-09-21 02:00阅读:285来源:国知局
基于改进GA-PSO-BP的船舶短路故障诊断方法与流程

本发明涉及智能控制领域,特别涉及一种基于改进GA-PSO-BP的船舶短路故障诊断方法。



背景技术:

船舶电力出现故障时对船舶航行安全性危害很大。随着航行里程与年限的增加,船舶电力系统线路绝缘损坏愈发严重,短路故障成为影响船舶电力安全最重要的故障类型。为保证供电安全及质量,需要在故障产生初期尽可能短的时间诊断并切除故障,因此有必要建立一个高效的诊断系统来应对复杂的船舶电力系统。

当前造船技术突飞猛进,船舶规模越来越大,航行设备以及电气设备的规模也随之增大,这也直接复杂化了船舶的电力系统,因此船舶的故障也逐渐呈现出多种类型并发的特点,故障复杂性和诊断难度大幅度提升。由于潮湿的环境和独立的系统工作状况,在船舶电力系统的众多故障中,短路故障占比最高。现有技术中,通过RBF(Radial basis function径向基函数)神经网络、BP(Back Propagation反向传播)神经网络以及PSO(Particle Swarm Optimization粒子群优化算法)等来诊断船舶电力系统短路故障。

现有技术中,BP算法需要依赖初始权值的选择,不可避免的存在收敛速度慢、容易陷入局部最优、误差函数必须可导等缺陷。通过BP算法训练神经网络的输出具有不一至性和不可预测性,导致其训练的神经网络的可靠性降低。RBF神经网络的诊断精度虽高于BP神经网络,但是RBF网络结构庞大,运算量增多,这不利于诊断的及时性。GA(遗传)算法、PSO算法能较好地逼近全局最优解,可以很好的用于神经网络学习。但是传统GA算法的遗传操作,如选择、交叉、变异等,使神经网络的训练时间随问题的规模及复杂程度呈指数增长。而且,由于缺乏有效的局部区域搜索机制,算法在接近最优解是收敛缓慢甚至出现收敛停止现象。PSO算法是基于群体智能理论的优化算法,通过种群中粒子间的合作与竞争产生的群体智能知道优化搜索。它根据自己的速度来决定搜索,可以记忆所有例子都共享的迄今为止问题的最好解,其收敛速度比较快。在非线性函数优化、电压稳定性控制、神经网络训练中都得到了很好的应用。PSO优化BP神经网络能动态调整BP的权值和阈值,收敛效果显著。但随着迭代次数增加,粒子种群的多样性遭到破坏,容易使粒子趋向统一化,也容易陷入局部最优。基于GA-PSO优化BP神经网络,粒子群的惯性权重和学习因子为固定值,不能使粒子更好的搜索到目标。



技术实现要素:

本发明的目的是提供一种基于改进GA-PSO-BP的船舶短路故障诊断方法,通过优化改进粒子群算法中的惯性权重和学习因子,使得惯性权重和学习因子在迭代过程中逐步减小,保证了粒子在搜索初期快速探测到更好的位置,同时保证了粒子在搜索后期的搜索精度,并使粒子摆脱了趋于局部最优。本发明还通过自适应的交叉概率和变异概率控制粒子位置交叉变异,产生新一代粒子群,保证了粒子种群维持多样性,同时使得本发明的改进遗传粒子群算法具有更好的收敛精度和更快的收敛速度。

为了达到上述目的,本发明提供一种基于改进GA-PSO-BP的船舶短路故障诊断方法,包含步骤:

S1、采集模拟环境下船舶电力系统短路时的三相电压信号作为样本数据;对所述样本数据进行小波包分解,得到样本数据在多个频段下的滤波重构信号;选取能量值高的频段下的滤波重构信号,建立训练数据集和测试数据集;

S2、建立三层BP神经网络模型,设置所述BP神经网络模型的权值、阈值;

S3、设置粒子维度和粒子个数,建立表示BP神经网络模型的粒子群;初始化所述粒子群;设置最大迭代次数gmax,误差阈值ε,适应度函数f;随机初始化粒子的初始速度和初始位置;

S4、将粒子位置每个维度的值按顺序赋给所述BP神经网络模型的权值和阈值;将S1中所述训练数据集输入BP神经网络进行船舶短路故障诊断,得到诊断结果;通过所述适应度函数f对诊断结果计算误差值;当误差值大于所述误差阈值ε或迭代次数未达到所述最大迭代次数gmax,迭代次数加1并进入S5;否则,结束迭代,进入S7;

S5、更新粒子速度和粒子位置;

S6、交叉变异粒子位置,更新粒子为下一代粒子;重复步骤S4~S6;

S7、将粒子群的全局最优值作为最优粒子;将所述最优粒子的粒子位置每个维度的值按顺序赋予BP神经网络模型的所述权值及所述阈值,得到最终 BP神经网络模型模型;

S8、将步骤S1中所述的测试数据集输入所述最终BP神经网络模型模型进行故障诊断,得到船舶短路故障诊断结果。

所述步骤S1具体包含:

S11、采集模拟环境下船舶电力系统短路时的三相电压信号作为样本数据,建立三相电压信号的样本数据集{Udr};A、B、C分别对应一相电压, d∈{A,B,C};r∈[1,m],m为每相采集的样本数据总个数;Udr对应d相电压信号的一个样本数据;

S12、对样本数据Udr进行j层小波包分解,得到对应的2j-1个滤波重构信号每个滤波重构信号对应一个频段;

S13、计算每个滤波重构信号的能量值Edri;

其中,t表示时间,Edri表示d相电压信号的第r个样本数据的第i个滤波重构信号的能量值;为滤波重构信号Udri第k个离散点的幅值;G为Udri的采样个数;

S14、计算每个频段下的滤波重构信号总能量值其中Ei为第i个频段下的全部滤波重构信号的总能量值,i∈[0,2j-1];

S15、选取中的z个最大值Ei1~Eiz;i1,…,iz分别对应一个选取的频段;其中i1,…,iz∈[0,2j-1],集合Q={i1,…,iz};建立与样本数据Udr对应的特征向量Tdr={Tdrq}q∈Q,Tdrq为Tdr中的一维元素,

S16、建立特征向量集

其中Ti为T中的一个特征向量,i∈[1,m];T中的每个特征向量均包含 3×z个元素;选取T中N′个特征向量作为训练样本建立训练数据集;T中其余特征向量作为测试样本建立测试数据集。

所述BP神经网络模型的输入节点数为M;输出节点数为N,一个输出节点对应一类船舶短路故障;隐含层有B个节点;其中M=3×z;

隐含层第j个节点的输入其中j∈[1,B],wij为输入层第i个节点对隐含层第j个节点的连接权值、θj为隐含层第j个节点的阈值; Ti∈T,Ti对应BP神经网络模型的一个输入节点;

隐含层第j个节点的输出为bj=g(Sj),其中g(·)为Sigmoid函数;

输出层第k个节点的输入其中k∈[1,N],w′lk为隐含层第l个节点对输出层第k个节点的连接权值、θ′k为输出层第k个节点的阈值;

输出层第k个节点的输出yk=g(Lk)。

步骤S3所述设置粒子维度和粒子个数,建立表示BP神经网络模型的粒子群,具体是指:

粒子群中每个粒子的维度为M×B+B+B×N+N;针对BP神经网络输入层对隐含层的连接权值W={wij}i∈[1,M],j∈[1,B]、隐含层对输出层的连接权值 W′={w′lk}l∈[1,B],k∈[1,N],、隐含层的阈值θ={θj}j∈[1,B],、输出层的阈值θ′={θ′k}k∈[1,N]建立粒子群;每个粒子的粒子位置的一个维度对应W或W′或θ或θ′中的一个元素;所述粒子群中设置为包含d′个粒子。

所述适应度评价函数

ci为训练数据集在BP神经网络的实际输出,yi为训练数据集在BP神经网络的预测值,N′为训练样本总数。

步骤S5所述更新粒子速度和粒子位置,具体是指:

vij(t+1)=ω·vij(t)+c1r1(t)[pij(t)-xij(t)]+c2r2(t)[pgj(t)-xij(t)];

xij(t+1)=xij(t)+vij(t+1);

t表示第t代粒子,vij表示粒子速度,xij为粒子位置,i代表第i个粒子, j表示目标搜索空间为j维;r1和r2为0-1之间的随机数;pij为当前个体最优值,pgj为当前全局最优值;

ω为惯性权重:

ω=ω0+ω1·rand()+ω2·exp(-k×(i/gmax)u);

ω0、ω1和ω2为0-1之间随机数,k和u为常数;

c1和c2为学习因子:

c10、c11、c11、c11均为常数;

pij为当前个体最优值,pgj为当前全局最优值;

pgj(t)=min{p1j(t),p2j(t),…,pij(t),…,pd′j(t)};

f为所述适应度评价函数,f(xij(t))为粒子xij的适应度值,d′为粒子总数。

步骤S6具体包含:

S61、根据交叉概率pc对粒子位置进行交叉;

xkj=xlj(1-b)+xljb

xlj=xkj(1-b)+xkjb;

b为0~1之间的随机数;xkj、xlj为要进行交叉的两个粒子位置,k、l分别表示第k、l个粒子,j表示目标搜索空间为j维;

S62、根据变异概率pm对粒子位置进行变异;

式中,xmax为xij的最大值,xmin为xij的最小值;f1(g)=r2(1-g/gmax),r2为随机数,g为当前迭代数,r′为[0,1]之间的随机数。

所述交叉概率pc、变异概率pm分别通过下述方法计算:

其中,pc1、pc2、pm1、pm1为0~1之间的随机数;

fb为待交叉两个粒子的适应度值中的较大值,fav表示当前粒子群的平均适应度值,fmax表示当前粒子群中最大的适应度值,f代表待变异粒子的适应度值。

与现有技术相比,本发明的优点在于:

1)结合了粒子群和遗传算法训练BP神经网络,将粒子群算法的全局搜索能力与BP神经网络的局部快速搜索能力相结合,避免BP神经网络容易陷入局部最优;

2)本发明通过对粒子群算法的惯性权重和学习因子进行自适应设计,使得惯性权重和学习因子在迭代过程中逐步变化,保证了粒子在搜索初期快速探测到更好的位置,同时保证了粒子在搜索后期的搜索精度;

3)本发明通过对遗传算法中的变异概率和交叉概率进行自适应设计,产生新一代粒子群,保证了粒子种群维持多样性;

4)本发明具有更好的收敛精度和更快的收敛速度,通过本发明的基于改进GA-PSO-BP的船舶短路故障诊断方法,可以快速、准确诊断船舶短路故障,保证了船舶安全航行。

附图说明

为了更清楚地说明本发明技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图:

图1为本发明的诊断方法的流程示意图;

图2为本发明的第一个应用实施例中,采集的电压故障信号经三层小波包分解后,在8个频段下的滤波重构信号的能量分布示意图;

图3为本发明的BP神经网络模型示意图;

图4为本发明的改进实施例中误差收敛曲线示意图;

图5为本发明的实施例中,现有技术的PSO-BP算法、GA-PSO算法和本发明的方法迭代效果对比图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供为了达到上述目的,本发明提供一种基于改进GA-PSO-BP的船舶短路故障诊断方法,如图1所示,包含步骤:

S1、采集模拟环境下船舶电力系统短路时的三相电压信号作为样本数据;对所述样本数据进行小波包分解,得到样本数据在多个频段下的滤波重构信号;选取能量值高的频段下的滤波重构信号,建立训练数据集和测试数据集。

所述步骤S1具体包含:

S11、采集模拟环境下船舶电力系统短路时的三相电压信号作为样本数据,建立三相电压信号的样本数据集{Udr};A、B、C分别对应一相电压, d∈{A,B,C};r∈[1,m],m为每相采集的样本数据总个数;Udr对应d相电压信号的一个样本数据;本发明的应用实施例中,采集频率为1KHZ,每相电压采集1000个电压信号;

S12、对样本数据Udr进行j层小波包分解,得到对应的2j-1个滤波重构信号每个滤波重构信号对应一个频段;在本发明的实施例中, j=3,则每个样本数据Udr进型3层小波包分解后,得到8个频段的滤波重构信号;

S13、计算每个滤波重构信号的能量值Edri;

其中,t表示时间,Edri表示d相电压信号的第r个样本数据的第i个滤波重构信号的能量值;为滤波重构信号Udri第k个离散点的幅值;G为Udri的采样个数;

S14、计算每个频段下的滤波重构信号总能量值其中Ei为第i个频段下的全部滤波重构信号的总能量值,i∈[0,2j-1];

S15、选取中的z个最大值Ei1~Eiz;i1,…,iz分别对应一个选取的频段;其中i1,…,iz∈[0,2j-1],集合Q={i1,…,iz};建立与样本数据Udr对应的特征向量Tdr={Tdrq}q∈Q,Tdrq为Tdr中的一维元素,如图2所示,在本发明的实施例中,第一个频段和第二个频段下滤波重构信号能量值最高,因此令z=2, i1=1,i2=2;

S16、建立特征向量集

其中Ti为T中的一个特征向量,i∈[1,m];T中的每个特征向量均包含 3×z个元素;选取T中N′个特征向量作为训练样本建立训练数据集;T中其余特征向量作为测试样本建立测试数据集。在本发明的实施例中,训练样本 Tr={TAr1,TAr2,TBr1,TBr2,TCr1,TCr2}。

S2、建立三层BP神经网络模型,设置所述BP神经网络模型的权值、阈值。具体设置方式为:

所述BP神经网络模型的输入节点数为M;输出节点数为N,一个输出节点对应一类船舶短路故障;隐含层有B个节点;其中M=3×z;本发明的应用实施例中,具体包含单相接地(故障编码001)、两相接地(故障编码011)、相间短路(故障编码010)、三相短路(故障编码100)等四种船舶电力系统的短路故障。如图3所示,在本发明的实施例中,M=6,输入层为6个节点,输入层的每个节点对应一相电压在一个选取频段的滤波重构信号能量;N=4,输出层包含Y1~Y4共4个节点,一个节点对应一类短路故障;B=10,隐含层包含10个节点。

隐含层第j个节点的输入其中j∈[1,B],wij为输入层第i个节点对隐含层第j个节点的连接权值、θj为隐含层第j个节点的阈值;如图3所示,Ti∈T,Ti对应BP神经网络模型的一个输入节点;

隐含层第j个节点的输出为bj=g(Sj),其中g(·)为Sigmoid函数;

输出层第k个节点的输入其中k∈[1,N],w′lk为隐含层第l个节点对输出层第k个节点的连接权值、θ′k为输出层第k个节点的阈值;

输出层第k个节点的输出yk=g(Lk)。

S3、设置粒子维度和粒子个数,建立表示BP神经网络模型的粒子群;初始化所述粒子群;设置最大迭代次数gmax,误差阈值ε,适应度函数f;随机初始化粒子的初始速度和初始位置;本发明的应用实施例中,gmax=150;粒子群中每个粒子的维度为M×B+B+B×N+N;本发明的应用实施例中,粒子种群数为20;针对BP神经网络输入层对隐含层的连接权值 W={wij}i∈[1,M],j∈[1,B]、隐含层对输出层的连接权值W′={w′lk}l∈[1,B],k∈[1,N],、隐含层的阈值θ={θj}j∈[1,B],、输出层的阈值θ′={θ′k}k∈[1,N]建立粒子群;每个粒子的粒子位置的一个维度对应W或W′或θ或θ′中的一个元素;所述粒子群中设置为包含d′个粒子。

所述适应度评价函数

ci为训练数据集在BP神经网络的实际输出,yi为训练数据集在BP神经网络的预测值,N′为训练样本总数。

S4、将粒子位置每个维度的值按顺序赋给所述BP神经网络模型的权值和阈值;将S1中所述训练数据集输入BP神经网络进行船舶短路故障诊断,得到诊断结果;通过所述适应度函数f对诊断结果计算误差值;当误差值大于所述误差阈值ε或迭代次数未达到所述最大迭代次数gmax,迭代次数加1并进入S5;否则,结束迭代,进入S7;

S5、更新粒子速度和粒子位置;

步骤S5所述更新粒子速度和粒子位置,具体是指:

vij(t+1)=ω·vij(t)+c1r1(t)[pij(t)-xij(t)]+c2r2(t)[pgj(t)-xij(t)];

xij(t+1)=xij(t)+vij(t+1);

t表示第t代粒子,vij表示粒子速度,xij为粒子位置,i代表第i个粒子, j表示目标搜索空间为j维;r1和r2为0-1之间的随机数;pij为当前个体最优值,pgj为当前全局最优值;

ω为惯性权重:

ω=ω0+ω1·rand()+ω2·exp(-k×(i/gmax)u);

ω0、ω1和ω2为0-1之间随机数,k和u为常数;在本发明的实施例中,k=10, u=10;

本发明将惯性权重分成三部分,常数部分ω0、随机变化部分ω1·rand()和非线性递减部分ω2·exp(-k×(i/gmax)u),使权重在迭代过程中整体呈减小趋势。但是由于随机数ω0的存在,保证了迭代后期仍有一个较小的惯性权重,粒子能摆脱局部最优的问题。在本发明的应用实施例中,ω0=0.4、ω1=0.3和ω2=0.3;

c1和c2为学习因子:

c10、c11、c11、c11均为常数;在本发明的实施例中,c10=2,c11=0.5,c20=0.5, c21=2;

迭代初期,c1较大,c2较小,粒子自学习能力强,趋于个体最优值;随着迭代进行,c1减小,c2增大,粒子趋于群体最优值。

pij为当前个体最优值,pgj为当前全局最优值;

pgj(t)=min{p1j(t),p2j(t),…,pij(t),…,pd′j(t)};

f为所述适应度评价函数,f(xij(t))为粒子xij的适应度值,d′为粒子总数。

S6、交叉变异粒子位置,更新粒子为下一代粒子;

步骤S6具体包含:

S61、根据交叉概率pc对粒子位置进行交叉;

xkj=xlj(1-b)+xljb

xlj=xkj(1-b)+xkjb;

b为0~1之间的随机数;xkj、xlj为要进行交叉的两个粒子位置,k、l分别表示第k、l个粒子,j表示目标搜索空间为j维;

S62、根据变异概率pm对粒子位置进行变异;

式中,xmax为xij的最大值,xmin为xij的最小值;f1(g)=r2(1-g/gmax),r2为随机数,g为当前迭代数,r′为[0,1]之间的随机数。

所述交叉概率pc、变异概率pm分别通过下述方法计算:

其中,pc1、pc2、pm1、pm1为0~1之间的随机数;在本发明的实施例中, pc1=0.9,pc2=0.6,pm1=0.1,pm2=0.01。

fb为待交叉两个粒子的适应度值中的较大值,fav表示当前粒子群的平均适应度值,fmax表示当前粒子群中最大的适应度值,f代表待变异粒子的适应度值。

重复步骤S4~S6。

S7、将粒子群的全局最优值作为最优粒子;将所述最优粒子的粒子位置每个维度的值按顺序赋予BP神经网络模型的所述权值及所述阈值,得到最终 BP神经网络模型模型;

S8、将步骤S1中所述的测试数据集输入所述最终BP神经网络模型模型进行故障诊断,得到船舶短路故障诊断结果。

在本发明的实施例中,通过改变接地电阻值获取不同短路数据。训练样本和测试样本均为80组。图4为本发明的改进GA-PSO-BP算法的误差收敛曲线,迭代5次即达到目标精度;图5为PSO-BP、GA-PSO、改进GA-PSO-BP算法仿真迭代过程对比图。图中看出PSO-BP算法迭代36次达到最优值,而 GA-PSO达到最优解时迭代了20次,改进GA-PSO-BP算法迭代9次参数达到最优,收敛精度更高,收敛精度在10-4左右。

表1为采集的三相电压经三层小波滤波重构后,在第1频段、第2频段的能量及故障编码。

表1 小波包滤波重构信号能量及故障编码

表1中AG(0.01Ω)表示在接地电阻值为0.01Ω时的A相接地故障;BC (0.001Ω)表示在接地电阻值为0.001Ω时的BC相间短路故障;BCG(0.1Ω) 表示在接地电阻值为0.1Ω时的BC两相接地短路故障;ABC表示三相短路故障。

表2为部分测试数据;

表2 测试数据

表3为PSO-BP、GA-PSO、改进GA-PSO-BP这三种算法诊断船舶短路故障结果对比数据。

表3 三种算法诊断输出对比

表4为PSO-BP、GA-PSO、改进GA-PSO-BP这三种算法对短路故障的诊断识别率。

结合表1至表4,可以看出改进GA-PSO-BP算法对船舶短路故障的诊断精度显著提高,迭代收敛速度明显加快。

与现有技术相比,本发明的优点在于:

1)结合了粒子群和遗传算法训练BP神经网络,将粒子群算法的全局搜索能力与BP神经网络的局部快速搜索能力相结合,避免BP神经网络容易陷入局部最优;

2)本发明通过对粒子群算法的惯性权重和学习因子进行自适应设计,使得惯性权重和学习因子在迭代过程中逐步变化,保证了粒子在搜索初期快速探测到更好的位置,同时保证了粒子在搜索后期的搜索精度;

3)本发明通过对遗传算法中的变异概率和交叉概率进行自适应设计,产生新一代粒子群,保证了粒子种群维持多样性;

4)本发明具有更好的收敛精度和更快的收敛速度,通过本发明的基于改进GA-PSO-BP的船舶短路故障诊断方法,可以快速、准确诊断船舶短路故障,保证了船舶安全航行。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1