人工智能在电力系统中的应用课件



《人工智能在电力系统中的应用课件》由会员分享,可在线阅读,更多相关《人工智能在电力系统中的应用课件(151页珍藏版)》请在装配图网上搜索。
1、,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,*,,,人工智能,在电力系统中的应用,孟安波,,,第一章 概述,人工智能是那些与人的思维相关的活动,诸如决策、问题求解和学习等的自动化,(Bellman,1978,),;,,人工智能是一种计算机能够思维,使机器具有智力的激动人心的新尝试,(,Haugeland,1985,),;,,人工智能是那些使知觉、推理和行为成为可能的计算的研究,(,Winston, 1992,),;,,人工智能是关于人造物的智能行为,而智能行为包括知觉、推理、学习、交流的行为,(,Nilsson,,,1998,),。
2、,,像人一样思考的系统、像人一样行动的系统、理性地思考、行动的系统,(,Stuart Russell, 2003,),。,1.1 人工智能定义,,,1.2人工智能的研究途径与研究领域,专家系统,(Expert Systems),,人工神经网络,(Artificial Neural Networks),,模糊逻辑,(Fuzzy Logic),,进化算法,(,如:遗传算法,Genetic Algorithm,,粒子群,Swarm Particle,,禁忌搜索,Tabu,Search,,模拟退火算法,Simulated Annealing,),,多智能体系统,(Multi-agent system)
3、,,,心理模拟,符号推演 生理模拟,神经计算,,行为模拟,控制进化 群体模拟,仿生计算,,,,1.3人工智能在电力系统的应用领域,机组启停,Unit Commitment,,维护计划,Maintenance scheduling,,负荷预测,Load Forecasting,,发电控制与保护,Generation control and,,protection,,潮流优化,Optimal Power Flow Analysis,,电力系统安全分析,Security Analysis,,电力系统稳定分析,Stability Analysis,,无功优化分配,Var,dispatch an
4、d planning,,控制优化,Optimization of self-adaptive control,,,,第二章 神经网络及其在电力系统中的应用,,人工神经网络是集脑科学、神经心理学和信息科学等多学科的交叉研究领域,是近年来高科技领域的一个研究热点。它的研究目标是通过研究人脑的组成机理和思维方式,探索人类智能的奥秘,进而通过模拟人脑的结构和工作模式,使机器具有类似人类的智能。它已在模式识别、机器学习、专家系统等多个方面得到应用,成为人工智能研究中的活跃领域。本章将简要介绍神经网络基本的概念、模型以及学习算法以及应用实例。,,,2.1 神经网络的基本概念及组成特性,,神经元及其突触是神
5、经网络的基本器件。因此,模拟生物神经网络应首先模拟生物神经元。在人工神经网络中,神经元常被称为“处理单元”。有时从网络的观点出发常把它称为“节点”。人工神经元是对生物神经元的一种形式化描述。神经元主要由三部分构成:(1)细胞体;(2)轴突;(3)树突,,,2.2 人工神经网络的特性,,高度的并行性,,,,ANN,是由许多相同的简单处理单元并联组合而成,虽然每个单元的功能简单,但大量简单处理单元的并行活动,使其对信息的处理能力与效果惊人。,,高度的非线性全局作用,,,,ANN,每个神经元接受大量其它神经元的输入,并通过并行网络产生输出,影响其他神经元。网络之间的这种互相制约和互相影响,实现了从输
6、入状态到输出状态空间的非线性映射。从全局的观点来看,网络整体性能不是网络局部性能的简单迭加,而表现出某种集体性的行为。,,良好的容错性与联想记忆功能,,,,ANN,通过自身的网络结构能够实现对信息的记忆。而所记忆的信息是存储在神经元之间的权值中。从单个权值中看不出所储存的信息内容,因而是分布式的存储方式。这使得网络具有良好的容错性,并能进行聚类分析、特征提取、缺损模式复原等模式信息处理工作;又宜于模式分类、模式联想等识别工作。,,十分强的自适应、自学习功能,,,,ANN,可以通过训练和学习来获得网络的权值与结构,呈现出很强的学习能力和对环境的自适应能力。,,,2.3 人工神经网络的分类,,,,
7、,,,,,,,,,,,,,,,,,,,,,,,,,前向网络中,各神经元节点接受前一层的输出信号,并将本层的输出作为下一层的输入,其特点是信号的流向是从输入流向输出。在ANN的实际应用中,80%~90%的ANN模型是采用BP网络或它的变化形式,它也是前向网络的核心部分、体现了ANN精华的部分。,,,,前向神经网络,,,2.3 人工神经网络的分类,,反馈神经网络,……,……,输出,输入,反馈网络中,输出信号通过与输入连接而返回到输入端,从而形成一个回路。在前向网络中,有单层感知器、自适应线性网络和BP网络。在反馈网络中,有离散型和连续型霍普菲尔德网络。,,,2.4.2 BP神经网络应用领域,函数逼
8、近:用输入矢量和相应的输出矢量训练,—,个网络逼近一个函数;,,模式识别:用一个特定的输出矢量将它与输入矢量联系起来;,,分类:把输入矢量以所定义的合适方式进行分类;,,数据压缩:减少输出矢量维数以便于传输或存储。,2.4 BP神经网络,,,2.4.4 BP神经网路的几种常见激活函数,,阀值型,A,-1,0,1,f,A,-1,0,1,-b,f,不带偏差的阀值型激活函数,带偏差的阀值型激活函数,,2.4 BP神经网络,,,2.4.4 BP神经网路的几种常见激活函数,,线形型,不带偏差的线性激活函数,带偏差的线形型激活函数,,2.4 BP神经网络,A,-1,0,1,f,A,-1,0,1,f,-b,
9、,,2.4.5 BP网络学习,2.4 BP神经网络,BP,算法的学习目的是对网络的连接权值进行调整,使得调整后的网络对任一输入都能得到所期望的输出。,,学习过程由正向传播和反向传播组成。,,正向传播用于对前向网络进行计算,即对某一输入 信息,经过网络计算后求出它的输出结果。,,反向传播用于逐层传递误差,修改神经元间的连接权值,以使网络对输入信息经过计算后所得到的输出能达到期望的误差要求。,,,2.4.5 BP网络学习,2.4 BP神经网络,设输入为,P,,输人有,r,个,隐含层内有,s,1个神经元,激话函数为,F,1,输出层内有个,s,2神经元,对应的激活函数为,F,2,输出为,A,,目标矢
10、量力,T。,,,,,k,j,,i,,,隐含层,输出层,输入层,,,2.4.5 BP网络学习,2.4 BP神经网络,1、信息的正向传递,(1)隐含层中第,i,个神经元的输出为,:,,(2)输出层第,k,个神经元的输出为,,(3)定义误差函数为,:,,,2.4.5 BP网络学习,2.4 BP神经网络,1、,误差反向传播,(1)输出层的权值变化:,,对从第,i,个输入到第,k,个输出的权值有,:,其中:,:学习速率,过大容易震荡,过小调整过慢;,:训练样本对目标输出;,:神经网络实际输出;,:输出层神经元传递函数的导数;,:误差;,,,2.4.5 BP网络学习,2.4 BP神经网络,1、,误差反向传
11、播,(2)输出层的阀值变化:,其中:,!注意:,输出层的权值变化与输出层的阈值变化的差别,,,2.4.6 BP网络的限制与不足及改进,2.4 BP神经网络,1 不足,,需要较长的训练时间,,对于一些复杂的问题,,BP,算法可能要进行几小时甚至更长的时间的训练。这主要是由于学习速率太小所造成的。可采用变化的学习速率或自适应的学习速率加以改进。,,,完全不能训练,,这主要表现在网络出现的麻痹现象上。在网络的训练过程中,当其权值调得过大,可能使得所有的或大部分神经元的加权总和偏大,这使得激活函数的输入工作在,S,型转移函数的饱和区,从而导致其导数非常小,从而使得对网络权值的调节过程几乎停顿下来。通常
12、为了避免这种现象的发生,一是选取较小的初始权值,二是采用较小的学习速率,但这又增加了训练时间。,,,,2.4.6 BP网络的限制与不足及改进,2.4 BP神经网络,1 不足,,局部极小值,,,BP,算法可以使网络权值收敛到一个解,但它并不能保证所求为误差超平面的全局最小解,很可能是一个局部极小解。这是因为,BP,算法采用的是梯度下降法,训练是从某一起始点沿误差函数的斜面逐渐达到误差的最小值。对于复杂的网络,其误差函数为多维空间曲面,就像一个碗,其碗底是最小值点。但是这个碗的表面是凹凸不平的,因而在对其训练过程中,可能陷入某一小谷区,而这一小谷区产生的是一个局部极小值。由此点向各方向变化均使误差
13、增加,以致于使训练无法逃出这一局部极小值。,,,,2.4.6 BP网络的限制与不足及改进,2.4 BP神经网络,1 改进,,增加动量项,,,标准,BP,算法在调整权值时,只按,t,时刻误差的梯度下降方向调整,而没有考虑,t,时刻以前的梯度方向。为了提高训练速度,可以在权值调整公式中加一动量项,其中,a,为动量系数:,动量项反映了以前积累的调整经验。当误差梯度出现局部极小时,虽然 但, 使其跳出局部极小区域,加快迭代收敛速度。目前,大多数BP算法中都增加了动量项,以至于有动量项的BP算法成为一种新的标准算法。,,,2.4.6 BP网络的限制
14、与不足及改进,2.4 BP神经网络,1 改进,,引入陡度因子,——,防止饱和,,,误差曲面上存在着平坦区。其可预付调整缓慢的原因在于S转移函数具有饱和特性。如果在调整进入平坦区后,设法压缩神经元的净输入,使其输出退出转移函数的饱和区,就可改变误差函数的形状,从而使调整脱离平坦区。实现这一思路的具体作法是在转移函数中引进一个陡度因子。,,,,,,2.5 使用MATLAB神经网络工具箱,MATLAB神经网络工具箱大大降低了开发各种神经网络应用的难度。设计者只需要调用相关函数即可,甚至通过NNTOOL图形界面,不用编写一行程序,就可完成一个神经网络的设计仿真。,,本节主要介绍NNTOOL图形工具,神
15、经网络程序设计见2.6。,,,,,,,,,,2.5 使用MATLAB神经网络工具箱,第二步,,通过,Import,从工作空间或通过,New Data,手动输入训练样本,,,,2.5 使用MATLAB神经网络工具箱,第三步,,点击,new network,建立神经网络,,该页面用来建立神经网络结构,主要设置的参数有:神经网络类型、训练函数、各层神经元数目及相应的传递函数等,,,2.5 使用MATLAB神经网络工具箱,第四步 设置训练参数,,点击,train,进入,training parameters,页设置训练参数,主要包括训练代数、允许误差、显示频度等。,,,,,2.5 使用MATLAB神经
16、网络工具箱,第四步,,点击,train,进入,training parameters,页设置训练参数,主要包括训练代数、允许误差、显示频度等。,,,,,2.5 使用MATLAB神经网络工具箱,第五步,,训练已经建立好的神经网络点击,train network,开始训练。训练过程会显示误差随代数的变化。,,,,,2.5 使用MATLAB神经网络工具箱,第六步,,,仿真验证,进入,simulate,页,,,设置输入,,,点击,simulate network,。,,,,,2.6 神经网络在电力系统应用实例,,实例,1,:短期电力负荷预测,,,实例,2,:变压器故障诊断,,,,,2.6.1 实例1
17、神经网络在负荷预测中的应用,问题描述,,,以广东某城市的2004年7月20日到7月30日的负荷值以及2004年7月21日到7月31日的气象特征状态作为网络的训练样本,来预测7月31日的电力负荷为例,,,,2.6.1 实例1 神经网络在负荷预测中的应用,日期,7月20日,7月21日,7月22日,7月23日,7月24日,7月25日,电力负荷,0.2452,0.2217,0.2525,0.2016,0.2115,0.2335,,0.1466,0.1581,0.1627,0.1105,0.1201,0.1322,,0.1314,0.1408,0.1507,0.1243,0.1312,0.1534,,0
18、.2243,0.2304,0.2406,0.1978,0.2019,0.2214,,0.5523,0.5134,0.5502,0.5021,0.5532,0.5623,,0.6642,0.5312,0.5636,0.5232,0.5736,0.5827,,0.7015,0.6819,0.7051,0.6819,0.7029,0.7198,,0.6981,0.7125,0.7352,0.6952,0.7032,0.7276,,0.6821,0.7265,0.7459,0.7015,0.7189,0.7359,,0.6945,0.6847,0.7015,0.6825,0.7019,0.7506,,
19、0.7549,0.7826,0.8064,0.7825,0.7965,0.8092,,0.8215,0.8325,0.8156,0.7895,0.8025,0.8221,气象特征,—,0.2415,0.2385,0.2216,0.2352,0.2542,,—,0.3027,0.3125,0.2701,0.2506,0.3125,,—,0,0,1,0.5,0,广东某地区7月20日—25日24小时电力负荷表,,,,,2.6.1 实例1 神经网络在负荷预测中的应用,日期,7月26日,7月27日,7月28日,7月29日,7月30日,7月31日,电力负荷,0.2368,0.2342,0.2113,0.2
20、005,0.2123,0.2119,,0.1432,0.1368,0.1212,0.1121,0.1257,0.1215,,0.1653,0.1602,0.1305,0.1207,0.1343,0.1621,,0.2205,0.2131,0.1819,0.1605,0.2079,0.2161,,0.5823,0.5726,0.4952,0.4556,0.5579,0.6171,,0.5971,0.5822,0.5312,0.5022,0.5716,0.6159,,0.7136,0.7101,0.6886,0.6553,0.7059,0.7115,,0.7129,0.7098,0.6898,0.
21、6673,0.7145,0.7201,,0.7263,0.7127,0.6999,0.6798,0.7205,0.7243,,0.7153,0.7121,0.7323,0.7023,0.7401,0.7298,,0.8091,0.7995,0.7721,0.7521,0.8019,0.8179,,0.8217,0.8126,0.7956,0.7756,0.8136,0.8229,气象特征,0.2601,0.2579,0.2301,0.2234,0.2314,0.2317,,0.3198,0.3099,0.2867,0.2799,0.2977,0.2936,,0,0,0.5,1,0,0,广东某地
22、区7月26日—31日24小时电力负荷表,,,,2.6.1 实例1 神经网络在负荷预测中的应用,学习样本的分析与处理,,在预测日的前一天中,每隔,2,个小时对电力负荷进行一次测量,这样一天可以得到,12,组负荷数据,将前一天的实时负荷数据作为网络的样本数据,;,,另外电力负荷还与环境因素有关,所以本例中还考虑了气温和天气。即最高、最低气温和天气特征,可以通过天气预报得到预测日的最高、最低气温和天气特征,(,晴天、阴天、雨天,),,可以用,0,、,0.5,、,1,分别表示晴天、阴天、雨天,将预测当天的气象特征作为网络的输入变量,这样输入变量,P,就是一个,15,维的向量,,,即,n = 15,;,
23、,目标向量就是预测日当天的,12,个负荷值,即输出变量,T,为一个,12,维的向量,,m = 12,。,,由于在输入的数据中各类型的数据大小、单位都不统一,这样大大增加了系统的运算量、运算时间还降低了精度甚至可能使神经元趋于饱和不能继续运算。为了避免神经元的饱和性,,,在确定输入和输出变量后,,,应对其进行归一化处理,,,将数据处理为一定范围之间。这样就降低了运算量,提高运算速度和时间。归一化的方式很多,,MATLAB,中也有归一化函数可对数据进归一化和反归一化,,,,,2.6.1 实例1 神经网络在负荷预测中的应用,2.确定网络结构,,,2.6.1 实例1 神经网络在负荷预测中的应用,2.确
24、定网络结构,MATLAB实现函数,net=newff(minmax(P),[10,12],{‘tansig’,‘logsig’},‘trainlm’),,含义:,,Newff,:,建立,BP,神经网络结构函数,,参数的意思指该网络隐含层、输出层神经元数目分 别为,10,个与,12,个;,,传递函数分别为正切,S,函数与对数,S,函数;,,训练函数选取增加动量项的,BP,算法;,,minmax(P,),指定输入样本的范围,使得网络初始权值 合理化。,,Net,储存返回的神经网络,注意此时的神经网络还没有开始训练,只是指定了网络结构而已;,,注意输入的是预测日头天的历史负荷数据与预测日的天气数据,
25、而输出是预测日需要预测的,24,小时负荷。,,,2.6.1 实例1 神经网络在负荷预测中的应用,3,.设置训练参数,训练网络前,必须设置训练参数,MATLAB神经网络设置训练参数示例如下:,,net.trainParam.show=10;,,解释:每10代显示一次,,net.trainParam.lr=0.05;,,解释:设置训练速率,,net.trainParam.mc=0.9;,,解释:,,设置动量因子,,net.trainParam.epochs=100000;,,解释:,,设置训练的代数,,net.trainParam.goal=0.01;,,解释:,,设置目标误差,,,注意!上面的n
26、et指的是上一步已经建立好的BP神经网络,,,2.6.1 实例1 神经网络在负荷预测中的应用,4,.训练构建好的神经网络,利用MATLAB神经网络工具箱的train函数即可对前面指定好网络结构与训练参数的神经网络进行训练,train函数的调用格式如下:,Net=Train(net,P,T),解释:,,,P,表示训练样本的输入矢量;,,,T,表示训练样本的输出矢量,为训练目标;,,,右边的参数,net,指得的还未开始训练的神经网,,络,左边的变量,net,指得的练好的神经网络保,,存的位置,,,,2.6.1 实例1 神经网络在负荷预测中的应用,5,.仿真训练好的神经网络,利用MATLAB神经网络
27、工具箱的sim函数即可对使用train函数训练好的神经网络进行仿真,以便验证训练的效果是否达到预期的目标误差,sim的调用格式如下:,A=sim(net,P),解释:,,,P,表示训练样本的输入矢量;,,,参数,net,指得的练好的神经网络,,,A,指得是当训练好的神经网络,net,获得输入,P,,,时的实际 输出,得到实际输出A后,与训练样本目标输出T相比较,即可得到误差,,,2.6.1 实例1 神经网络在负荷预测中的应用,5,.仿真过程与结果,下面是,采用增加动量项的BP算法训练函数traingdm、隐层为10个神经元的预测结果 。,左边是训练过程误差曲线,横坐标是训练代数,纵坐标是误差,
28、该曲线是训练过程中自动产生的;,,右边是实际输出与目标输出负荷曲线,,,横坐标是小时,纵坐标是负荷,注意负荷已经被正规化了。,,,2.6.1 实例1 神经网络在负荷预测中的应用,5,.仿真过程与结果,下面是,采用自适应学习速率训练函数trainlm、隐层为10个神经元的预测结果 。,左边是训练过程误差曲线,横坐标是训练代数,纵坐标是误差,该曲线是训练过程中自动产生的;,,右边是实际输出与目标输出负荷曲线,,,横坐标是小时,纵坐标是负荷,注意负荷已经被正规化了。,,,2.6.1 实例1 神经网络在负荷预测中的应用,6,.训练结果数据表,,预测值,实际值,误差,误差绝对值,电力负荷,0.2256,
29、0.2119,0.0137,0.0137,,0.1627,0.1215,0.0412,0.0412,,0.1057,0.1621,-0.0564,0.0564,,0.2203,0.2161,0.0042,0.0042,,0.5182,0.6171,-0.0989,0.0989,,0.5463,0.6159,-0.0696,0.0696,,0.7011,0.7115,-0.0104,0.0104,,0.7329,0.7201,0.0128,0.0128,,0.6983,0.7243,-0.0260,0.0260,,0.7440,0.7298,0.0142,0.0142,,0.8074,0.817
30、9,-0.0105,0.0105,,0.8254,0.8229,0.0025,0.0025,平均误差,,,,0.0300,,,2.6.1 实例1 神经网络在负荷预测中的应用,7,.主要的源码,%定义训练样本,,%P为输入矢量,T为输出目标矢量,注意样本的构成。,,P=,,[,0.2452 0.1466 0.1314 0.2243 0.5523 0.6642 0.7015 0.6981 0.6821 0.6945 0.7549 0.8215,0.2415 0.3027 0,;,,,0.2217 0.1581 0.1408 0.2304 0.5134 0.5312 0.6819 0.7125 0.
31、7265 0.6847 0.7826 0.8325,,0.2385 0.3125 0,;,,,0.2525 0.1627 0.1507 0.2406 0.5502 0.5636 0.7051 0.7352 0.7459 0.7015 0.8064 0.8156,0.2216 0.2701 1;,,0.2016 0.1105 0.1243 0.1978 0.5021 0.5232 0.6819 0.6952 0.7015 0.6825 0.7825 0.7895 0.2352 0.2506 0.5;,,0.2115 0.1201 0.1312 0.2019 0.5532 0.5736 0.702
32、9 0.7032 0.7189 0.7019 0.7965 0.8025 0.2542 0.3125 0;,,0.2335 0.1322 0.1534 0.2214 0.5623 0.5827 0.7198 0.7276 0.7359 0.7506 0.8092 0.8221 0.2601 0.3198 0;,,0.2368 0.1432 0.1653 0.2205 0.5823 0.5971 0.7136 0.7129 0.7263 0.7153 0.8091 0.8217 0.2579 0.3099 0;,,0.2342 0.1368 0.1602 0.2131 0.5726 0.5822
33、 0.7101 0.7098 0.7127 0.7121 0.7995 0.8126 0.2301 0.2867 0.5;,,0.2113 0.1212 0.1305 0.1819 0.4952 0.5312 0.6886 0.6898 0.6999 0.7323 0.7721 0.7956 0.2234 0.2799 1;,,0.2005 0.1121 0.1207 0.1605 0.4556 0.5022 0.6553 0.6673 0.6798 0.7023 0.7521 0.7756 0.2314 0.2977 0]‘,,T=[,0.2217 0.1581 0.1408 0.2304
34、0.5134 0.5312 0.6819 0.7125 0.7265 0.6847 0.7826 0.8325;,,,0.2525 0.1627 0.1507 0.2406 0.5502 0.5636 0.7051 0.7352 0.7459 0.7015 0.8064 0.8156;,,0.2016 0.1105 0.1243 0.1978 0.5021 0.5232 0.6819 0.6952 0.7015 0.6825 0.7825 0.7895;,,0.2115 0.1201 0.1312 0.2019 0.5532 0.5736 0.7029 0.7032 0.7189 0.7019
35、 0.7965 0.8025;,,0.2335 0.1322 0.1534 0.2214 0.5623 0.5827 0.7198 0.7276 0.7359 0.7506 0.8092 0.8221;,,0.2368 0.1432 0.1653 0.2205 0.5823 0.5971 0.7136 0.7129 0.7263 0.7153 0.8091 0.8217;,,0.2342 0.1368 0.1602 0.2131 0.5726 0.5822 0.7101 0.7098 0.7127 0.7121 0.7995 0.8126;,,0.2113 0.1212 0.1305 0.18
36、19 0.4952 0.5312 0.6886 0.6898 0.6999 0.7323 0.7721 0.7956;,,0.2005 0.1121 0.1207 0.1605 0.4556 0.5022 0.6553 0.6673 0.6798 0.7023 0.7521 0.7756;,,0.2123 0.1257 0.1343 0.2079 0.5579 0.5716 0.7059 0.7145 0.7205 0.7401 0.8019 0.8136]',,,2.6.1 实例1 神经网络在负荷预测中的应用,7,.主要的源码,%创建一个新的bp前向神经网络,,%newff--生成一个新的b
37、p前向神经网络,,net=newff(minmax(P),[10,12],{‘tansig’,‘logsig’},‘trainlm’);,,%设置训练参数,,net.trainParam.show=10; %每10代显示一次,,net.trainParam.lr=0.05; %训练速率,,net.trainParam.mem_reduc=3;,,net.trainParam.mc=0.9; %动量因子,,net.trainParam.epochs=100000; %训练的代数,,net.trainParam.goal=0.01;
38、 %目标误差,,,,2.6.1 实例1 神经网络在负荷预测中的应用,7,.主要的源码,%训练bp前向神经网络,,[net,tr]=train(net,P,T);,,,,%仿真,,A=sim(net,P),,,%计算仿真误差,,E=T-A,,SSE=sse(E),,,,2.6.2 实例2 基于神经网络的变压器故障诊断,1,.,问题提出及解决方案,电力变压器的安全运行对保证供电的可靠性具有重要的意义,现有的实验方法中,油中溶解气体(DGA)分析对设备的早期潜伏性故障较为敏感。但通常采用的几种分析方法均有缺陷,如特征气体分析法仅定性的说明气体含量与对应故障的关系,不利于诊断的实现;IEC三比值法和
39、日本的改良电协研法均采用比值编码法,存在编码缺损等问题。因此,很有必要探索一种更方便、更可靠的诊断方法,以提高诊断的正确率.由于神经网络(ANN)具有并行处理、学习和记忆、非线性映射、自适应能力和鲁棒性等固有性质,使其非常适合应用在电气故障诊断领域。为此,本实例针对变压器故障特点,研究采用合适结构和算法的神经网络,用以实现变压器故障的准确诊断。,,,2.6.2 实例2 基于神经网络的变压器故障诊断,2.,变压器故障诊断的ANN设计,网络输入层节点数就是一个模式所包含的特征量数。在油色谱分析领域中,基于油中溶气体类型与内部故障性质的对应关系,以油中5种特征气体为依据的判断变压器故障的方法。其特征
40、量为H2,CH{,C2H4,C2H2,C2H6,这样点数N为5的网络输入层定,如图3所示。在对变压器的故障识别时,变压器的故障类型选择为:中低温过热、高温过热、低能放电和高能放电。当考虑正常情况也作为一种类型时。一个M 为5节点的网络输出层被确定。,,,2.6.2 实例2 基于神经网络的变压器故障诊断,2.,变压器故障诊断的ANN设计,,,2.6.2 实例2 基于神经网络的变压器故障诊断,3.,变压器故障诊断训练样本,,,2.6.2 实例2 基于神经网络的变压器故障诊断,4.,ANN网络训练与分析,,在实验测试中,收集了30组变压器样本,并随机取出20组样本用于神经网络训练,其余的样本作为仿真
41、。,,,2.6.2 实例2 基于神经网络的变压器故障诊断,5.结论,神经网络的诊断要比三比值法准确。通过改进学习训练算法,可在同等的收敛要求下,获得较高的精度,,如果输入模式与训练样本偏离较大,则网络可能得出错误的结论。这反映了网络不具备此种症状的知识,因此,可将该样本作为新的样本加入训练样本集训练网络,使之获得更多的知识,,对溶解气体分析法存在的问题,将人工神经网络应用于变压器故障诊断;根据变压器故障的特点,采用了动量因子技术的神经网络,BP,算法,使诊断网络具有较强的学习能力、泛化能力和适应能力,,,,,第三章 遗传算法及其在电力系统中的应用,3.1 概述,,遗传算法的基本思想是基于Dar
42、win进化论和Mendel的遗传学说的。Darwin进化论最重要的是适者生存原理。它认为每一物种在发展中越来越适应环境。物种每个个体的基本特征由后代所继承,但后代又会产生一些异于父代的新变化。在环境变化时,只有那些能适应环境的个体特征方能保留下来。Mendel遗传学说最重要的是基因遗传原理。它认为遗传以密码方式存在细胞中,并以基因形式包含在染色体内。每个基因有特殊的位置并控制某种特殊性质。所以,由基因产生的个体对环境具有某种适应性。基因突变和基因交叉可产生更适应于环境的后代。经过存优去劣的自然淘汰,适应性高的基因结构得以保存下来。由于遗传算法不依赖于被优化对象数学模型,不需要导数信息,属于全局
43、多点随机搜索算法,因此,目前被广泛应用于各种复杂优化中。,,,3.2 遗传算法的特点与优点,,(1)自组织、自适应和学习性。(2)遗传算法按并行方式搜索一个种群数目的点,而不是单点。(3)遗传算法不需要求导或其他辅助知识,而只需要影响搜索方向的目标函数和适应度函数。(4)遗传算法强调概率转化规则,而不是确定的转换规则。(5)遗传算法对给定问题可以产生出许多潜在解,最终选择可以由使用者确定,,,3.3 生物进化理论和遗传学基本概念,染色体,——,生物细胞中含有很多微小的丝状化合物,它是遗传物质的主要再体,由多个遗传因子,——,基因组成。,,,个体,——,指染色体带有特征的实体。如:人就是
44、一个个体,人的各种不同的特征可以用含有不同遗传信息的染色体表现,不同的染色体能决定人的特征的不同特征。,,,种群,——,染色体是带有特征的个体的集合称为种群。该集合内个体数称为群体的大小。有时个体的集合也称为个体群。如:人类就是一个种群,种群中由各种各样不同性格,不同外观特征的人组成。,,,3.3 生物进化理论和遗传学基本概念,进化,——,生物在其延续生存的过程中,逐渐适应其生存的环境,使得其品质不断得到改良,这种生命的现象称为进化。生物的进化以种群的形式进行的。如:如人从猿人进化到今天富有智慧的现代人,这一个过程就是进化过程。,,,适应度,——,在研究自然界中的生物的遗传和进化现象时 ,生物
45、学家使用适应度这个术语来衡量某个物种对于生存环境的适应程度。对于生存环境的适应程度较高的物种将获得更高的繁殖机会。而对于生存环境适应度较低的物种,其繁殖机会就会较少,甚至灭绝,。,,,3.3 生物进化理论和遗传学基本概念,选择,——,指决定以一定的概率种群中选择若干个体的操作。而一般而言,选择的过程是一种基于适应度的优胜劣汰的过程。,,,复制,——,细胞在分裂时,遗传物质,DNA,通过复制而转移到新生的细胞中,新的细胞继承了旧的细胞的基因。,,,交叉,——,有性生殖生物在繁殖下一代时两个同源染色体之间通过交叉而重组,亦即在两个染色体的某一相同位置处,DNA,被切断,其前后两串分别交叉组合形成两
46、个新的染色体。这个过程又称基因的重组。,,,3.3 生物进化理论和遗传学基本概念,变异,——,在细胞进行复制的过程中可能以很小的概率产生某些复制的差错,从而使,DNA,发生某种变异,产生新的染色体,这些新的染色体表现出来新的性状。,,,编码,——DNA,中的遗传信息在一个长链上按一定的模式排列,也即进行了遗传编码。遗传编码可以看作表现型到遗传子型的映射。,,,解码,——,从遗传子型到边现型的映射。,,,,3.4 遗传算法的基本操作,1 选择,,,选择是确定交叉或者交叉个体,以及被选个体将产生多少个子代个体。首先要计算适应度:(1)按比例计算适应度,(2)基于排序的适应度计算。,个体,染色体,适
47、应度,选择概率,累积概率,1,0001100000,8,0.086957,0.086957,2,0101111001,5,0.054348,0.141304,3,0000000101,2,0.021739,0.163043,4,1001110100,10,0.108696,0.271739,5,1010101010,7,0.076087,0.347826,6,1110010110,12,0.130435,0.478261,7,1001011011,5,0.054348,0.532609,8,1100000001,19,0.206522,0.739130,9,1001110100,10,0.10
48、8696,0.847826,10,0001010011,14,0.152174,1.000000,轮盘赌选择,,,,3.4 遗传算法的基本操作,2 交叉,,,,再生之后重要的遗传操作交叉,在生物学上称为杂交,可视为生物之所以得以进化之所在,随机产生一个交叉点位置,父体1和父体2在交叉点位置之右的部分基因码互换,形成子个体1和子个体2。类似地完成其他个体的交叉操作。,,单点交叉,父体1:,0 0 0 1,/ 0 1 0 1 1,父体2:,1 1 1 0,/ 1 0 1 1 0,,子体1:,1 1 1 0,/ 0 1 0 1 1,子体1:,0 0 0 1,/ 1 0 1 1 0,个体间的单点交叉,
49、,,3.4 遗传算法的基本操作,3 变异,,,作用:如果只考虑交叉操作实现进化机制,在大多情况下是不行的,这与生物界近亲繁殖影响进化历程是类似的。因为种群个体数是有限的,经过若干代交叉操作,因为源于一个较好祖先的子个体逐渐充斥整个种群额现象,问题会导致过早收敛,当然,最后获得的个体不能代表问题的最优解。为了避免过早收敛,有必要在进化的过程中引入具有新遗传基因码发生了突变,这对于保持生物多样性是非常重要的。,,实现:模仿生物变异的遗传操作,对于二进制的基因码组成的个体种群,实现基因码的小概率翻转,即达到变异目的,,,变异,父体1:0 0 0,1,0 1 0 1 1,子体1:0 0 0,0,0 1
50、 0 1 1,变异操作,,,3.5 遗传算法的进化过程示意,一般而言,一个世代的简单进化包括了适应度的选择和再生、交叉和变异操作。将上面的所有种群的遗传算法综合起来,初始种群第一代进化过程如下图所示。初始种群经过选择操作,适应度较高的8号和6号个体分别复制出2个,使硬度较低的2号和3号遭到淘汰,接下来按一定的概率选择了4对父个体分别完成交叉操作,在随机确定的“/”位置实行单点交叉生成4对子个体。最后按小概率选中某个个体的基因码位置,产生变异。这样经过上述的过程形成了第一代的种群。以后一代一代地进化过程如此循环下去,每一代结束都产生新的种群。演化的代数主要取决于代表问题解得收敛状态,末代种群众最
51、佳个体作为问题的最优近似解。,,,3.5 遗传算法的进化过程示意,初始种群,变异,交叉,选择、复制,0001100000 0101111001 0000000101 1001110100 1010101010,,(8) (5) (2) (1 ) (7),,1110010110 1001011011 1100000001 1001110100 0001010011,,(12) (5)
52、 (19) (10) (14),0001,/100000,1110,/0010110 1100/000001 1001110100,1010,/101010,,,1110,/010110,1001,/011011 1001/110100 1100000001,0001,/010011,,1110100000 10010010110 1001000001 1001110100 0001101010,,,0001010110 1110011011 110,
53、0,110100 1100000001 1010010011,,1110100000 10010010110 1001000001 1001110100 0001101010,,,0001010110 1110011011 110,1,110100 1100000001 1010010011,,,,3.6 一个典型遗传算法流程框图,N,初始化参数,对待优化参数 进行N位二进制编码,初始化种群,模型仿真,计算适应度,用轮盘赌法选择个体,并保留适应度最好10%个体,按0.85的交叉概率用单点交叉法进行交叉操作,按0.01
54、的变异概率变异,是否满足算法结束,,条件,显示优化后结果,Y,解码,,,3.7 MATLAB遗传算法工具箱使用,,遗传算法工具箱MATLAB Genetic Algorithm Toolbox 旨在提供设计允许遗传算法的环境,和神经网络工具箱一样,遗传算法工具箱也提供了一套基于MATLAB的函数供开发者使用,利用该工具箱,可大大节省开发时间。,,,,3.7 MATLAB遗传算法工具箱使用,,遗传算法工具箱MATLAB Genetic Algorithm Toolbox 旨在提供设计允许遗传算法的环境,和神经网络工具箱一样,遗传算法工具箱也提供了一套基于MATLAB的函数供开发者使用,利用该工具
55、箱,可大大节省开发时间。,,,,3.7 MATLAB遗传算法工具箱使用,一个典型的遗传算法,,LIND = 8; % 染色体长度,,NVAR = 2; % 优化变量数目,,NIND = 10; % 种群数目,,GGAP = 0.9; % 代差,指得是上代最好的10%个体,,不参与下一代的复制操作,,XOV = 0.7; % 设置交叉率,,MUTR = 0.0175; % 设置变异率,,MAXGEN = 30; % 优化代数,,% 指定编码方式,变量范围,交叉方式,,FieldD = [LIND LIND; 1 1; 1000 1000; 1 1;
56、0 0; 0 0; 0 0];,,Chrom = crtbp(Nind, Lind*NVAR);,,% 创建初始化种群,,%计算适应度,,ObjV = objfun(bs2rv(Chrom, FieldD));,,,,3.7 MATLAB遗传算法工具箱使用,对FieldD 的解释,,FieldD = [LIND LIND; 1 1; 1000 1000; 1 1; 0 0; 0 0; 0 0];,,,解释:,两列对应两个变量,上面设置的含义指染色体长度为8;1-1000是变量范围,[1 0 0 0]’指的是二进制编码与单点交叉,,,3.7 MATLAB遗传算法工具箱使用,对Chrom = cr
57、tbp(NIND, LIND*NVAR)的解释,,,解释:,crtbp函数的运行结果是产生由10个个体组成的初始种群;其中每行表示一条染色体,即种群中的一个个体,由于被优化的变量为2个,每个变量的编码长度是8,故每行由16位0、1构成的随机字符串;一共10行表示10条染色体。,,,3.7 MATLAB遗传算法工具箱使用,对ObjV = objfun(bs2rv(Chrom, FieldD))的解释;,,,Bs2rv,函数是对产生的初始种群进行解码,也就是根据,FieldD,变量的设置把初始种群由二进制表示的染色体转化成,10,进制;,,Objfun,是开发人员根据实际应用编制的适应度函数,注意
58、该函数并不是被优化对象的数学模型,而是用来评价个体性能好坏的函数,,,特别值得注意的是适应度函数必须满足两个条件:,1,是适应度函数必须是正的,,2,是其值越大表示性能越好。,,,3.7 MATLAB遗传算法工具箱使用,一个典型的遗传算法续,,当遗传算法初始参数设置完毕,就转入遗传进化:,,Gen = 0; % 计数器,,while Gen < MAXGEN % 优化循环,,SelCh = select(’sus’, Chrom, FitnV, GGAP); % 复制操作,,SelCh = recombin(’xovsp’, SelCh,
59、 XOV); % 交叉操作,,SelCh = mut(SelCh, MUTR); % 变异操作,,ObjVSel = objfun(bs2rv(SelCh, FieldD)); % 计算适应度,,%把上一代最好的10%个体插入新种群里,,[Chrom ObjV]=reins(Chrom, SelCh, 1, 1, ObjV, ObjVSel);,,Gen = Gen+1; % 计数器加一,,End % 循环结束,,
60、% 优化完毕后把种群解码找出里面适应度最大的对应变量组合即为优化结果。,,Phen = bs2rv(Chrom, FieldD);,,,,3.8 遗传算法在电力系统的应用,,实例,1,遗传算法实现,PID,控制参数优化,,,实例,2,遗传算法实现发电厂经济调度,,,实例,3,混合遗传算法与神经网络在小电流接地系统 故障选线中的应用,,,,,,3.8.1 实例1 遗传算法实现PID控制参数优化,1 初始化参数,,对于控制系统初始化参数有Ki、Kd、Kp以及模型的参考输入ref;对于遗传算法控制有种群规模NIND、染色体长度PRECI、繁殖代数MAXGEN、交叉率、变异率。,,NIND = 40
61、; %种群规模,,MAXGEN =30; %繁殖代数,,NVAR = 3; % 参数个数,,PRECI =10; % 变量二进制编码的位数,,GGAP = 0.9; % 保留最好个体的代沟系数,如:设置GGAP=0.9就说适应度最好的10%个体直接进入下一代,其余90%的个体进行交叉和变异,,CO=0.85; %变异概率为0.85,,FieldD = [rep([PRECI],[1,NVAR])];%设置编码位数,种群规模,,FieldD(2:3,1)=[rep([0;10],[1,1]
62、)];%设置KP的取值范围,,FieldD(2:3,2)=[rep([0;10],[1,1])];%设置KI的取值范围,,FieldD(2:3,3)=[rep([0;10],[1,1])];%设置KD的取值范围,,FieldD(4:7,1:3)=rep([1;0;1;1],[1,NVAR]);%设置编码与交叉方式,,,3.8.1 实例1 遗传算法实现PID控制参数优化,2 初始化种群,,,,待优化参数采用二进制编码,根据精度要求,每个参数用N(N为任意正整数)位二进制表示,3个参数KP、KI、KD组成一个由3N位二进制编码的染色体。,,,种群初始化的程序如下:,,Chrom = crtbp(N
63、IND, NVAR*PRECI),,,3.8.1 实例1 遗传算法实现PID控制参数优化,3 解码,,,解码时,按每个参数对应的二进制位数均匀地把个体截开,根据每个参数的搜索范围进行解码。,,,,,,,解码代码如下:,,A=bs2rv(Chrom,FieldD),,,,3.8.1 实例1 遗传算法实现PID控制参数优化,4 适应度的选择,,,遗传算法在进化搜索中基本不利用外部信息,仅以适应度函数为依据,利用种群中每个个体的适应度值来进行搜索,因此适应度函数至关重要,直接影响到遗传算法的收敛速度以及能否达到最优解。适应度函数一般由目标函数变换而成。对于PID控制系统而言,PID控制的目的就是使系
64、统性能达到最优,系统性能的评价方法多样,在MATLAB中较易实现的是通过评价系统时域方面的各项动态性能指标来确定系统性能的好坏,即对系统给定参考输入量,观察输出的超调量mp,调节时间ts,峰值时间tp。mp越小,系统跟参考输入的偏差越少;tp、ts越小,系统快速性能越好。PID调节器的寻优,就是寻找合适的PID参数,使得各动态性能指标最小,以满足实际控制系统的性能要求,。,,,3.8.1 实例1 遗传算法实现PID控制参数优化,5 对适应度的几点说明,,适应度必须是正数且其值愈大表示性能愈好;,,w1,,,w2,,,w3,,,w4,是,mp,,,tp,,,ts,,,f,四个指标在适应度函数中的
65、权值,对各个性能指标的偏重会有所不同;,,T1,,,T2,,,T3,,,T4,分别是,mp,,,ts,,,tp,,,f,的性能期望值,对,mp,,,ts,,,tp,,,,f,起到约束的作用,加入,T1,,,T2,,,T3,,,T4,可以消除各个指标的物理量,把性能指标归一化;,,要计算,mp,,,ts,,,tp,,,f,,就必须先要将解码后的,Kp,、,Ki,、,Kd,代入仿真模型中,通过仿真得到输出的数据,然后对数据进行运算分析;,,仿真模型得到系统输出数据的程序是:,,,[,t,x,y,]=,sim('test,') %,对模型“,test”,仿真,将数据送入工作空间,仿真时间为,t
66、,,模型状态量为,x,,模型输出量为,y,,,3.8.1 实例1 遗传算法实现PID控制参数优化,6 复制,,,为了防止上一代中最好的结果丢失,本文把上一代种群中适应度最大的10%的染色体不参加交叉和变异,而直接进入下一代种群,其余的90%个体由交叉和变异两种遗传算子产生子代个体,复制的方法采用轮盘赌选择法。其对应程序如下:,,,SelCh = select('rws', Chrom, FitnV, GGAP),,,%“rws”是轮盘赌选择法,“select”是选择操作命令。根据适应度FitnV,代沟系数GGAP,对种群Chrom用轮盘赌选择法选择参加交叉和变异的个体。,,,3.8.1 实例1 遗传算法实现PID控制参数优化,7 交叉与变异,,,个体复制后进行交叉操作,交叉操作是随机选择个体编码的位数,以这个位数为交叉点,按照交叉概率在种群中选择进行交叉的个体,在个体之间两两进行编码互换,从而产生新的个体。一般而言,交叉概率应取得比较大,这样可以加快种群的更新量,经交叉操作后的个体按照变异概率进行变异操作,变异是按照变异概率选择进行变异操作的个体,随机确定个体编码的某一位码元,使该码元
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。