1、华北电力大学本科毕业设计(论文)遗传算法改进及其在电力系统无功优化中的应用摘要安全、经济、可靠运行是对电力系统最基本也是最重要的要求。无功功率分布合理的话,不仅可以使电压质量得到提高,还能最大化电力设备的经济效益,减少网络损耗和线损率等。为了保证电力系统安全、经济运行,无功优化技术的重要性不言而喻。传统无功优化方法有很多不足之处,为此科学家们把人工智能算法引入无功优化计算中来。本文介绍了智能算法中的经典代表遗传算法在无功优化中的应用,对遗传算法的解题过程做了较深入的了解,并提出了应用于无功优化的改进遗传算法。本文的无功优化数学模型采用的是以最小网损为主,结合节点电压越限和发电机无功出力越限罚函
2、数的目标函数。简单遗传算法计算过程中存在收敛速度较慢和容易陷入局部最优解的问题,为此本文采用了实数编码,即十进制编码方式,运算过程中采用自适应的交叉算子和变异算子,对遗传种群采取精英策略,结合目标函数中的惩罚函数,力求又快又准地寻得全局最优解。本文应用MATLAB遗传算法工具箱编程,先用两个简单算例证明了遗传算法的优越性和简单遗传算法的缺点,然后对IEEE14、30节点系统进行了无功优化,对比简单遗传算法,证明了改进后的遗传算法在无功优化中的有效性和正确性。关键词无功优化;遗传算法;自适应;罚函数;MATLABI华北电力大学本科毕业设计(论文)IIIMPROVEDGENETICALGORITH
3、MAPPROACHFORREACTIVEPOWERPLANNINGABSTRACTSAFETYANDECONOMYARETWOIMPORTANTINDEXESOFPOWERSYSTEMTOIMPROVETHESYSTEMVOLTAGEQUALITY,GIVEFULLPLAYTOTHEECONOMICBENEFITSOFPOWEREQUIPMENT,REDUCETHERATEOFPOWERGRIDLOSSANDLINELOSS,REASONABLEREACTIVEPOWERDISTRIBUTIONISNECESSARYHENCE,REACTIVEPOWEROPTIMIZATIONTECHNOLO
4、GYISANEFFECTIVEANDIMPORTANTMETHODTOGUARANTEETHESAFETYANDECONOMICOPERATIONOFPOWERSYSTEMTHEREAREMANYDEFECTSINTHETRADITIONALREACTIVEPOWEROPTIMIZATIONMETHOD,TOSOLVETHISPROBLEM,SCIENTISTSHAVEINTRODUCEDARTIFICIALINTELLIGENCEALGORITHMTOTHEREACTIVEPOWEROPTIMIZATIONCALCULATIONTHISPAPERINTRODUCESTHECLASSICALR
5、EPRESENTATIONOFTHEINTELLIGENTALGORITHMTHEAPPLICATIONOFGENETICALGORITHMINREACTIVEPOWEROPTIMIZATION,MAKESABETTERUNDERSTANDINGOFTHEGASPROCESSOFSOLVINGPROBLEMS,ANDPROPOSESTHEIMPROVEDGENETICALGORITHMFORREACTIVEPOWEROPTIMIZATIONCOMBININGWITHTHEPENALTYFUNCTIONOFTHENODEVOLTAGEANDTHEREACTIVEPOWEROFGENERATOR,
6、THEOBJECTIVEFUNCTIONOFTHEREACTIVEPOWEROPTIMIZATIONISBASEDONTHEMINIMUMSYSTEMLOSSEXISTINGSLOWCONVERGENCEANDLOCALOPTIMALSOLUTIONINTHEPROCESSOFSIMPLEGENETICALGORITHMCALCULATION,THISPAPERUSESREALCODINGMETHOD,ADAPTIVECROSSOVERANDMUTATIONOPERATORS,ANDELITESTRATEGYFORGENETICPOPULATIONTOSEARCHTHEGLOBALOPTIMU
7、MRAPIDLYUSINGMATLABGENETICALGORITHMTOOLBOX,THISPAPERTESTSTWOSIMPLEEXAMPLESTOPROVETHEADVANTAGESOFGENETICALGORITHMANDTHEDISADVANTAGESOFSIMPLEGENETICALGORITHM,THENCALCULATESTHEREACTIVEPOWEROPTIMIZATIONOFTHEIEEE14ANDIEEE30NODESYSTEMTHECOMPARISONOFTHESIMPLEGENETICALGORITHMPROVESTHEVALIDITYANDCORRECTNESSO
8、FTHEIMPROVEDGENETICALGORITHMINTHEREACTIVEPOWEROPTIMIZATIONKEYWORDSREACTIVEPOWEROPTIMIZATION;GENETICALGORITHM;ADAPTIVE;PENALTYFUNCTION;MATLABII华北电力大学本科毕业设计(论文)III目录摘要IABSTRACTII1绪论111无功优化概述112本文研究内容22电力系统无功优化的数学模型321无功优化基本数学模型3211节点功率方程约束3212变量约束3213目标函数422潮流计算的数学模型5221牛顿拉夫逊法原理5222多变量非线性方程的解6223牛顿拉夫逊
9、法计算潮流7224牛顿拉夫逊法潮流计算的计算机求解过程93遗传算法基本理论1131遗传算法的背景1132遗传算法的特点1233遗传算法三个基本操作12331选择12332交叉13333变异1434遗传算法解题过程1435遗传算法的改进15351常用的改进方法15352应用于无功优化的改进方法174改进遗传算法在无功优化中的应用1941遗传算法工具箱1942简单算例20421一维变量实例20422二维变量实例2343IEEE14节点系统无功优化24华北电力大学本科毕业设计(论文)IV431IEEE14节点计算机输入初始矩阵数据25432计算结果26433结果分析2944IEEE30节点系统无功优
10、化计算29441IEEE30节点计算机输入初始矩阵数据29442计算结果31443分析与结论34总结35参考文献36附录AIEEE14、30节点标准测试系统原始数据38附录BMATLAB源代码46致谢错误未定义书签。华北电力大学本科毕业设计(论文)11绪论11无功优化概述随着市场经济进一步发展和能源意识的增强,对电力系统安全、经济、可靠运行的要求越来越高。衡量电力系统电能质量好坏的一个非常重要指标是电压,电力系统运行的一个基本任务就是保证用户的电压与额定值的偏移不超过规定的数值。由于电压和无功功率密切相关,当系统负荷无功功率大于供给的无功功率时,负荷端电压就被迫下降以满足系统的无功功率平衡要求
11、。如果电力系统有充足的无功功率电源,就可以既满足用户端电压要求又保证系统的无功功率平衡。保证电压质量的基本条件就是实现额定电压下的无功功率平衡。电力系统无功优化的目的是在合理的电压质量下,尽量降低网络损耗。衡量电能质量好坏的重要指标电压能否维持在合格的范围内,对电力系统稳定运行、降低网络损耗、保证用户生产和产品质量以及电器设备的使用寿命都有直接影响。同时,改善电压质量也可以节能,它也是防止电压崩渍和提高安全运行水平的重要条件。电力系统的无功优化是改善电压质量、减少网络损耗、提高系统电压稳定性的重要途径。电力系统无功优化的基本思路是,在电力系统有功负荷、有功电源及有功潮流分布已经给定的情况下,以
12、发电机端电压幅值、无功补偿电源容量和可调变压器分接头位置作为控制变量,而以发电机无功出力、负荷节点电压幅值和支路输送的功率作为状态变量,应用优化技术和人工智能技术,在满足电力系统无功负荷的需求下,谋求合理的无功补偿点和最佳补偿容量,使电力系统安全、经济地向电力用户供电。电力系统的无功优化问题是一个多变量、多约束的混合非线性规划问题,其操作变量既有连续变量,又有离散变量,优化过程十分复杂。现有的无功优化方法有线性规划法(包括普通线性规划模型、灰色线性规划模型、模糊线性规划模型、多目标线性规划),非线性规划法(包括牛顿法、内点法、广义简约梯度法、二次规划法),动态规划法,新型优化算法(包括BOX优
13、化算法、遗传算法、模拟退火算法和禁忌搜索算法等),实际应用研究中的算法(约束可变多面体算法、蚁群优化算法、模糊集理论、同伦优化算法、混沌优化算法等)。上述的无功优化模型,大多只考虑正常最大负荷方式下的无功补偿优化问题,而没有考虑系统最小负荷方式和事故情况下对无功补偿的要求,在时间上也没有考虑不同年份由于负荷变化有不同的补偿要求。而且,传统优化算法普遍存在对初始值的特殊要求以及不便于处理离散变量,而禁忌搜索算法、模拟退火算法也存在对初始值的特殊要求等缺陷,因此本文选用遗传算法求解电力系统无功优化问题。华北电力大学本科毕业设计(论文)212本文研究内容本文以电力系统无功优化为背景展开课题研究工作,
14、以无功优化问题作为研究目的,以遗传算法作为研究方法,以MATLAB作为研究平台,主要做了以下内容(1)创建了以最小网损为主,结合节点电压越限和发电机无功出力越限罚函数的目标函数,并确定了相应的节点功率等式约束和变量不等式约束。(2)阐述了无功优化中潮流计算方法牛顿拉夫逊法,介绍了牛拉法的基本原理及其如何运用到多变量非线性方程中取,最后罗列了本文的牛拉法MATLAB程序的思路。(3)介绍了遗传算法的基础理论和特点,详细阐明遗传算法中三个主要操作选择、交叉、变异的过程,并给出了一个完整的遗传算法解题思路。(4)通过查阅大量文献,总结了改进遗传算法的众多方法,并提出了能够应用于该课题无功优化的改进遗
15、传算法,并介绍了具体改进方法,将这些改进方法运用于MATLAB编程试验中,对比没有改进的遗传算法观察试验结果。(5)运用MATLAB遗传算法工具箱,对一个一维方程和一个二维方程进行寻优计算,验证遗传算法的正确性和存在的缺陷,最后应用简单遗传算法和改进遗传算法分别对IEEE14、30节点系统进行无功优化计算,分析对比结果后证明本文提出的改进遗传算法在无功优化中的可行性和正确性。华北电力大学本科毕业设计(论文)32电力系统无功优化的数学模型21无功优化基本数学模型电力系统无功优化问题的基本数学模型包括目标函数、功率方程约束和变量约束等。211节点功率方程约束在无功优化模型中,考虑各节点有功和无功平
16、衡约束,即(21)(22)上式中,N电网节点总数;、分别为节点I发电机有功出力和有功负荷;、分别为节点I发电机无功出力、容性无功补偿容量、无功负荷和感性无功补偿容量;、分别为电网中节点I和J之间的电导、电纳和节点电压相角差。212变量约束变量约束包括控制变量约束和状态变量约束。选取发电机端电压,感性和容性无功补偿容量、,可调变压器分接头位置为控制变量,而发电机无功出力、负荷节点电压和支路无功功率作为状态变量。控制变量约束有,(23),(24),(25),(26)状态变量约束有,(27),(28),(29)其中华北电力大学本科毕业设计(论文)4、分别为发电机节点I的端电压及其下限值和上限值;、分
17、别为节点I感性无功补偿容量及其下限值和上限值;、分别为节点J容性无功补偿容量及其下限值和上限值;、分别为可调变压器接头位置及其下限值和上限值;、分别为发单机节点I的无功出力及其下限值和上限值;、分别为负荷节点J电压及其下限值和上限值;、分别为支路L无功潮流及其下限值和上限值;、分别为电网中发电机节点数,感性无功补偿节点数,容性无功补偿节点数,可调分接头变压器台数,负荷节点数和网络支路数。213目标函数电力系统无功补偿优化的目标包括技术性能指标和经济性能指标,可以是(1)电网新增加的无功补偿容量最小;(2)全网有功网损最小;(3)电压质量最好;(4)系统总费用最少;(5)变压器分接头和电容器投切
18、次数最少等。考虑到以上情况,本文选择的电力系统无功补偿优化数学模型从经济性能出发,考虑到技术指标,最后决定以系统的网损最小为目标函数。在遗传算法中,控制变量的取值自动适应它的定义域范围,所以控制变量的约束即公式(2326)将自动得到满足,同时,由于使用牛顿拉夫逊法进行潮流计算,保证了潮流约束方程式(2122)能得到满足,因此,在无功优化中只需要考虑状态变量的不等式约束,本文对状态变量的约束条件的处理采用惩罚函数的方式。无功优化目标函数如下(210)(211),(212)华北电力大学本科毕业设计(论文)5,(213)(210)式中第一项是有功网损,第二项是节点电压越限惩罚项,第三项是发电机无功出
19、力越限惩罚项。系统有功网损;、分别为节点电压越限和发电机无功出力越限的罚因子;除平衡节点以外的所有节点;所有发电机节点;、节点I和节点J之间的电导和电纳;节点I和节点J之间的电压夹角。22潮流计算的数学模型221牛顿拉夫逊法原理牛拉法是目前求解非线性方程最好的一种方法,它把非线性方程的求解过程变为反复对相应的线性方程求解的过程,称为逐次线性化过程。设一维非线性方程(214)对于它的真解X,假设其初始值为,它与真解之间的误差为,则有(215)(216)把(216)式按泰勒级数在处展开(217)若所选的初始值很接近真解,即值很小,则上式中的二次及其以上项可以约等于0,由此可得(218)这是对于修正
20、量的线性方程又称为修正方程,该方程得出的是的近似值,即(219)华北电力大学本科毕业设计(论文)6可得非线性方程的解为(220)是迭代一次以后的解,它虽然是近似值,但是它已经向真解逼近了一步,再将作为一个新的初始值带入(218)式,可得(221)又一次重复上述过程后可以得到第二次迭代后的值(222)更接近真解,这样继续迭代下去,直到满足|(精度)时,所求得的()为真解,这就是牛拉法计算过程。222多变量非线性方程的解设有N维非线性方程组如下,(223)假设各个变量的初始值为(),(),(),并令(),(),()分别为各变量的修正量对以上N个方程式在初始值点按泰勒级数展开,并省略修正量的高次幂项
21、,将得到,|()()()(224)这叫做修正量(),(),()的线性方程组,因此叫做牛顿拉夫逊法的修正方程。由此方程可求出各修正量,从而求非线性方程组的解(225)再将式(225)得出的结果作为新的初始值进行迭代,反复利用式(223)、(224),假设进行到第K次迭代,此时修正方程为华北电力大学本科毕业设计(论文)7,|()()()(226)简写为(227)上式中,J称为雅克比矩阵。对应K次迭代后的结果也可写为(228)反复求解迭代式(227)、(228),直到|(精度),此时为真解。223牛顿拉夫逊法计算潮流运用牛拉法计算电力系统潮流时,首先要找到描述电力系统的非线性方程,即FX0。设电力系
22、统导纳矩阵已知,则系统中某节点I的电压方程为(229)简化后得(230)把所有量移到等号左边(231)上式中第一项为给定的节点注入功率,若I节点上既有电源功率,又有负荷功率,则节点注入功率为电源功率与负荷功率之和,且注入网络的电源功率为正。第二项为由节点电压求得的节点注入功率,两者之差即为节点功率的不平衡量。现在待求解的就是在各个节点的功率不平衡量都趋近于0的时候,各个节点的电压应取何值。将式(231)作为牛顿拉夫逊法中的非线性方程FX0,节点电压看做X,可仿照式(226)列出修正方程,并迭代求解。本文节点电压表示方式采用极坐标表示。将式(231)中的电压向量用极坐标表示,即则节点功率方程变为
23、(232)将上式的实部与虚部分开,可得(233)华北电力大学本科毕业设计(论文)8(234)对于PQ节点(I1,2,M1),给定了、,于是非线性方程为(235)对于PV节点(IM1,M2,N),给定了、,而未知,所以式(229)中的将失去作用,故PV节点仅保留方程,以求电压相角(236)对于平衡节点,由于、已知,不用参加迭代计算。将(235)、(236)式联立,按泰勒级数展开,略去高次项后得到矩阵式修正方程(237)雅克比矩阵中对PV节点仍然写出了两个方程的形式,但其中的元素用0代替,从而显示了雅克比矩阵的高度稀疏性。雅克比矩阵的各元素如下PQ节点PV节点2(M1)2(NM)2(M1)2(NM
24、)华北电力大学本科毕业设计(论文)9将式(237)写成缩写形式(238)以上得到了极坐标下的修正方程,这是牛顿拉夫逊法潮流计算中需要反复迭代求解的基本方程式。224牛顿拉夫逊法潮流计算的计算机求解过程(1)输入原始数据和信息。本文采用的牛拉法潮流计算所输入的初始数据矩阵节点数据矩阵BUS节点号电压幅值电压相角注入有功注入无功节点类型负荷无功无功上限无功下限;节点类型中,3表示平衡节点,2表示PV节点,1表示PQ节点。线路数据矩阵LINE节点I节点J线路电阻电抗电导电纳变压器变比;其中无变压器线路的变压器变比为0。发电机和无功补偿装置矩阵GENE节点号无功出力;GENE矩阵中节点号只包括发电机节
25、点和有无功补偿装置的节点,其无功出力初始时刻全为0,需要把遗传算法产生的随机初始种群中的每个个体值轮流赋给GENE。(2)对BUS、LINE矩阵按照PQ、PV、平衡节点的顺序进行重新排列;(3)计算节点导纳矩阵Y;(4)设定误差精度后,开始进行迭代计算,求取功率偏差和;(5)计算雅克比矩阵的各元素H,N,K,L;(6)计算电压修正量和相角修正量,并修正电压和相角;(7)计算线路的等效和,以便计算线路潮流;(8)计算线路潮流和节点数据;(9)计算线路损耗。华北电力大学本科毕业设计(论文)10是开始输入原始数据,形成导纳矩阵送电压初值、迭代次数K0求不平衡量、求、求平衡节点功率及各支路功率打印否求
26、雅克比矩阵J解修正方程求、求电压新值、迭代次数KK1图21牛顿拉夫逊法潮流计算流程图华北电力大学本科毕业设计(论文)113遗传算法基本理论31遗传算法的背景遗传算法(GENETICALGORITHM,简称GA)是20世纪70年代初由美国MICHIGAN大学的JOHNHOLLAND教授提出并逐步发展起来的一种自适应全局优化搜索算法。它是真实模拟自然界生物进化机制进行寻优的。与传统搜索算法不同,遗传算法从一组随机产生的初始解,称为群体,开始搜索过程。群体中的每个个体是问题的一个解,称为染色体。这些染色体在后续迭代中不断进化,称为遗传。遗传算法主要通过交叉,变异,选择运算实现。交叉或变异运算生成下一
27、代染色体,称为后代。染色体的好坏用适应度来衡量。根据适应度的大小从上一代和后代中选择一定数量的个体,作为下一代群体,再继续进化,这样经过若干代之后,算法收敛于最好的染色体,它很可能就是问题的最优解或次优解。遗传算法中使用适应度这个概念来度量群体中的各个个体的悠忽计算中有可能达到最优解的优良程度。度量个体适应度的函数称为适应度函数。适应度函数的定义一般与具体求解问题有关。表31遗传学和遗传算法中基本用语对照表自然遗传算法人工遗传算法染色体(CHROMOSOME)解的编码(数据、数组、位串)基因(GENE)解中每一分量的特征(特征、个性、探测器、位)等位基因(ALLELE)特性值基因座(LOCUS
28、)串中位置基因型(GENOTYPE)结构表现型(PHENOTYPE)参数集、解码结构、候选解遗传隐匿非线性个体(INDIVIDUAL)解适者生存在算法停止时,最优目标值的解有最大的可能被留住适应性(FITNESS)适应度函数值群体(POPULATION)选定的一组解(其中解的个数是群体的规模)复制(REPRODUCTION)根据适应函数值选取的一组解交配(CROSSOVER)通过交配原则产生一组新解的过程变异(MUTATION)编码的某一个分量产生变化的过程华北电力大学本科毕业设计(论文)1232遗传算法的特点遗传算法借鉴了生物界自然选择和自然遗传机制原理。它与传统的算法不同,遗传算法不依赖梯
29、度信息,而是通过模拟自然进化过程来搜索最优解,它利用某种编码技术,作用于称为染色体的数字串,模拟由这些串组成的群体的进化过程。遗传算法通过有组织的、随机的信息交换换来重新组合那些适应性好的串,生成新的串的群体。优点(1)对可行解表示的广泛性。(2)群体搜索特性。(3)内在启发式的在计算机内进行随机搜索。(4)遗传算法采用自然进化机制来表现复杂的现象,能够快速可靠度地解决求解非常困难的问题。在搜索过程中不易陷入局部最优即使在所定义的适应度函数是不连续的、非规则的或有噪音的情况下,也能以很大的概率找到全局最优解。(5)遗传算法具有可扩展性,易于同别的技术混合使用。值得注意的是遗传算法对给定问题给出
30、了大量可能的解答,并挑选最终的解答给用户。要是一个特定问题并没有单个的解,遗传算法将尽可能地用于识别可同时替换的解。缺点遗传算法作为一种优化算法,它存在自身的局限性(1)编码不规范及编码存在表示的不准确性。(2)单一的遗传算法编码不能全面地将优化问题的约束表示出来。考虑约束的一个方法就是对不可行解采用阀值,这样计算的时间必然增加。(3)遗传算法通常的效率比其他传统的优化方法低。(4)遗传算法容易出现过早收敛。(5)遗传算法对算法精度。可行度、计算复杂性等方面,还没有有效的定量分析方法。33遗传算法三个基本操作331选择选择的目的是为了从当前群体中选出适应于该环境的个体,使它们有机会作为父代繁殖
31、后代。根据各个个体的适应度大小,按一定的规则从上一代群体中选择出优良的个体遗传到下一代中。选择的方法根据不同的优化问题有多种方案,这里介绍4种典型方法。(1)适应度函数值比例法该是利用比例于各个个体适应度函数值的概率来决定其后代的遗传可能性。若某个个体,被选取的选择概率表示为,。式中,为个体I的适应度函数值,N为群体中的个体数目。华北电力大学本科毕业设计(论文)13(2)期望值法当个体数目较少时,由于随机变量的摆动可能不能正确反映适应度函数值,这是概率选择上存在的问题。然而在期望值法中可利用计算各个个体的遗传后代期望值,然后在被选择的个体期望值中减去05即为新的期望值的方法来避免这种问题。(3
32、)排位次法根据每个个体适应度函数值的大小从大到小排列顺序,然后利用各位次预先已被确定的概率,决定选择和遗传后代。(4)最优保存法这种方法使适应度函数值高的个体不受交叉和突然变异的影响,而是无条件地遗传给后代。这种方法的缺点在于,因为作为最优个体的遗传因子在群体中可能会急剧增多,导致陷入局部最优解。332交叉交叉操作是遗传算法中最主要的遗传操作。通过交叉操作可以组合父代个体特性,产生新一代个体。将群体内的个体随机搭配成对,对每个个体以一定概率交换他们之间的部分染色体,体现了信息交换的思想。交叉分为一点交叉,多点交叉,均匀交叉和算术交叉。一单点交叉ONEPOINTCROSSOVER具体是将两个相同
33、个体的二进制串码在相同的位设置一个点,然后在这个点前或后将这两个个体的二进制串码相互交换重新构成两个个体。举例如下A10011111001000新个体B00110000011111新个体二多点交叉(MULTIPOINTCROSSOVER)指在个体编码串中随机设置多个交叉点,然后进行基因交换。多点交叉又称为广义交叉。举例如下A1011010110100111新个体B0110011001110100新个体注意一般情况下不使用多点交叉,因为它有可能破坏一些好的个体模式。因为交叉点数越多,个体的结构越容易被破坏,这就很难保存较好的模式,从而影响遗传算法性能。三均匀交叉(也称为一致交叉,UNIFORMC
34、ROSSOVER)指两个配对个体的每个基因座上的基因都以相同的交叉概率进行交换,从而形成连个新的个体。均匀交叉属于多点交叉范围。举例如下A0101010100000000新个体B1010101011111111新个体四算术交叉(ARITHMETICCROSSOVER)指由两个个体的线性组合而产生出两个新的个体,为了能够进行线性组合运算,算术交叉的操作对象一般是由浮点编码所表示的个体。举例如下假设在两个个体、之间进行算术交叉,则交叉运算后的两个新个体为华北电力大学本科毕业设计(论文)14(31)其中可以是一个常数,也可以是一个由进化代数所决定的变量。333变异首先在群体中随机选择一个个体,对于选
35、中的个体以一定概率随机改变串结构数据中某个串的值。变异的目的是维持群体的多样性,防止早熟现象。表32变异算子序号名称特点适用编码1基本位突变标准遗传算法成员符号2有效基因突变避免有效基因缺失符号3自适应有效基因突变最低有效基因个数自适应变化符号4概率自调整突变由两个串的相似性确定突变概率符号5均匀突变每一个实数元素以相同的概率在域内变动实数6非均匀突变使整个矢量在解空间轻微变动实数7边界突变适用于最优点位于或接近于可行解的边界时的一类带约束条件问题实数8高斯近似突变提高对重点搜索区域的局部搜索性能力实数9零突变实数34遗传算法解题过程遗传算法的原理框图有多种描述形式,它们之间有一些差异,但在实
36、际运用中,不论求解问题本身如何复杂,总是通过执行选择、交叉和变异等操作,快速搜索未知空间并找到问题的最优解。华北电力大学本科毕业设计(论文)1535遗传算法的改进351常用的改进方法简单遗传算法使用二进制编码、轮盘赌、一点交叉和变异,它最严重的缺点是进化初期的未成熟收敛和进化中后期由于个体竞争减弱引起的随机搜索趋势。前者导致算法收敛到局部最优解,后者导致算法的收敛速度缓慢。可有以下方法改进开始输入原始数据,代数0染色体编码,产生初始群体计算个体潮流和适应度值选择交叉变异新一代群体终止判据输出结果结束代数1图31遗传算法解题流程图NOYES华北电力大学本科毕业设计(论文)16(1)优化编码遗传算
37、法通常采用二进制编码,交叉、变异等遗传操作直观而便于实现,适合于无功优化问题控制变量的离散性。但是当系统规模较大时染色体便非常的长,故需消耗较多的内存空间,而且遗传操作时所占时间也较长,还会产生无效解。许多学者探索了其他多种编码方式,如格雷编码、动态参数编码、浮点数编码、多值编码、DELTA编码、混合编码等,并证明了各自的优缺点。(2)采用变化的交叉率和变异率具有代表性的调节方法是根据整体的平均适应度和每代个体的适应度的差异来调节交叉率、变异率,促使较差个体的快速淘汰的同时保护了优秀个体。在遗传进化初期,个体差异较大,可以使用较大的交叉概率,使个体之间相互组合,增强了种群的多样性,同时较小的变
38、异率可以防止优秀基因被破坏;在进化后期,个体差异小,则要使用较小的交叉概率避免近亲交叉和对目标函数的重复计算,而使用较大的变异概率可促进新个体的产生,以便有机会跳出局部最优解,进入新的搜索空间。(3)与其他算法结合1免疫遗传算法指生命科学中的免疫原理与传统的遗传算法相结合形成的算法。以交叉和变异算子实现群体的搜索和个体之间信息相互的交换,而免疫遗传算法就是在遗传算法的框架中引入一个免疫算子。免疫算子由目标免疫和全免疫组成,它们分别对应于生命科学中特异性免疫和非特异性免疫。2退火选择遗传算法用退火选择作为个体替换策略,将模拟退火中的退火因子加入到遗传算法的选择操作中,允许父代参加竞争,成为整体退
39、火选择遗传算法。在它既可以克服遗传算法过早收敛的问题,,能够以概率1收敛到全局最优解,又继承了GA算法的优点,以用于搜索地形复杂的区域,并可直接而有效地应用到并行计算机上。3蚁群遗传算法遗传算法具有全局搜索能力,善于搜索复杂问题和非线性问题,且可扩展性强易于与其他优化技术结合。蚁群算法的原理是一种正反馈机制,使其具有很强的发现较好解的能力,具有很强的并行性,既可以用于单目标优化问题的求解,又能求解多目标的优化问题。在处理电力系统无功优化问题上,遗传算法的快速随机的全局搜索能力和蚁群算法的并行搜索能力相混合,从而弥补各自的缺点和优势互补的目的。4灾变遗传算法CGACATASTROPHICGENE
40、TICALGORITHM,灾变遗传算法是在SGA的基础上,当群体陷入早熟收敛,此时模仿生物中的极端灾变情况,对当前种群采取灾变手段。CGA的本质就是重复一定次数的产生初始群体和其他的常规异常操作,每一次产华北电力大学本科毕业设计(论文)17生的优秀个体进入下一次常规GA中替代部分个体。灾变的作用是群体产生若干分散解,如果群体在解空间越分散,则随机性越强,其牺牲局部搜索能力而增强整体寻优能力。(4)小生境遗传算法小生境技术就是将每一代个体划分为若干类,每个类中选出若干适应度较大的个体作为一个类的优秀代表组成一个群,再在种群中,以及不同种群中之间,杂交、变异产生新一代个体群,同时采用预选择机制和排
41、挤机制或分享机制完成任务。基于这种小生境的遗传算法,可以更好的保持解的多样性,同时具有很高的全局寻优能力和收敛速度,特别适合于复杂多峰函数的优化问题。(5)潮流改进由于GA的每一个解都需要调用一次潮流计算程序来衡量该解的适应度,而潮流计算本身需要耗费大量的内存空间和计算时间。因此,选择一种快速的潮流计算算法将对无功优化算法的时间代价起到非常关键的作用。从潮流计算算法的改进入手,将可以显著提高遗传算法搜索过程的速度。352应用于无功优化的改进方法(1)编码方式简单遗传算法采用二进制编码,但是对于规模大、变量多的优化问题,二进制编码需要很长的数字串,使得计算时间增多,计算内存增大。本文程序采用实数
42、编码,即十进制编码,该法表示解的数字比二进制编码的数字短很多,所以计算量会减少提高了运算效率。(2)适应度函数适应度函数是由目标函数转换而来的,也可以说是对目标函数的值域的一种映射变换。适应度函数的选取好坏,直接影响到遗传算法的收敛速度和能否找到全局最优解的能力。适应度函数的设计准则主要应满足连续,单值,合理和计算量尽可能小等条件,如果适应度函数设计合理,就可以减少很多计算时间和空间,降低算法的复杂性和计算成本。本文采用的适应度函数结合了第一章的目标函数,设计如下,(),()(32)上式中,为适应度函数,F为本文目标函数最小网损,故在实际计算中,适应度越高的个体越容易生存下来。华北电力大学本科
43、毕业设计(论文)18(3)精英策略新种群通过旧种群的选择,重组和变异产生,如果通过重组产生的新种群个体数目少于原始种群的大小,则新种群和旧种群大小的差异被称为代沟。在这种情况下,每一代产生的新个体数都在减少,这是遗传算法称为稳态或增量的。如果一个或多个最适合个体被连续代繁殖,则称为遗传算法的精英策略。为了保持原始种群的大小,一些新的个体不得不被重新插入到旧种群中去。当选择旧种群中哪些个体被取代时,最常用的策略是替换最小适应度成员。本文设置了每一代的代沟为08,即每一个子代种群的规模均为父代种群规模的80,为了保证种群的规模大小在遗传过程中不变,在每一次选择,交叉,变异之后增加重插入操作,且使用
44、基于适应度的重插入,即每次选择一定数量的子代(本文选择50),代替父代中适应度最小的个体,重新组成新的种群,既保证了种群规模不变,又淘汰了适应度低的个体。(4)自适应交叉、变异算子遗传算法中的交叉是配对的两个染色体将各自的部分基因以某种方式交换形成的新个体,是获取新优良个体的主要方法,同时也决定了全局搜索能力。而遗传算法中的变异是将染色体编码串中基因座的某些基因值用其他等位基因来替换进而形成新个体。本文采用新的交叉和变异方式,即交叉概率和变异概率的改变是随适应度自动变化的。当种群各个体适应度比较分散时,要用较大的交叉率和较小变异率;当群体适应度趋于局部最优或一致时,要减小交叉和增大变异率。(5
45、)罚函数罚函数的基本思想是对解空间中无对应可行解的个体计算其适应度时,加上一个罚函数,从而降低该个体的适应度,使该个体被遗传到下一代的几率减小。满足约束条件不满足约束条件(33)式中,是调整后的适应度,是原适应度,为罚函数。可以是一个比较大的常数,也可以是一个随着遗传代数增大而增大的变量。结合第一章的目标函数,本文的目标函数中有两个惩罚项,一个惩罚项为节点电压越限惩罚,另一个为发电机无功出力越限惩罚,两个惩罚项的罚系数均取1。华北电力大学本科毕业设计(论文)194改进遗传算法在无功优化中的应用41遗传算法工具箱本文遗传算法编程使用的是英国谢菲尔德大学开发的遗传算法工具箱函数。编程软件使用MAT
46、LAB。遗传算法工具箱使用MATLAB矩阵函数为实现广泛领域的遗传算法建立了一套通用工具,这个遗传算法工具使用M文件写成的命令行形式的函数,是完成遗传算法大部分重要功能的程序的集合。用户可通过这些命令行函数,根据实际分析的需要,编写出功能强大的MATLAB程序。下表为GA工具箱的主要函数分类表41遗传算法工具箱中的函数分类表类型函数功能创建种群CRTBASE创建基向量CRTBP创建任意离散随机种群CRTRP创建实值初始种群适应度计算RANKING常用的基于秩的适应度计算SCALING比率适应度计算选择算子REINS一致随机和基于适应度的重插入RWS轮盘选择SELECT高级选择例程SUS随机遍历
47、采样变异算子MUT离散变异MUTATE高级变异函数MUTBGA实值变异华北电力大学本科毕业设计(论文)20(续表41)类型函数功能交叉算子RECDIS离散重组RECINT中间重组RECLIN线性重组RECMUT具有变异特征的线性重组RECOMBIN高级重组算子XOVDP两点交叉算子XOVDPRS减少代理的两点交叉XOVMP通常多点交叉XOVSH洗牌交叉XOVSHRS减少代理的洗牌交叉XOVSP单点交叉XOVSPRS减少代理的单点交叉子种群的支持MIGRATE在子种群间交换个体实用函数BS2RV二进制串到实值的转换REP矩阵的复制42简单算例421一维变量实例例求,(1)传统的优化算法1FMIN
48、BND(单变量,黄金分割法和插值法)华北电力大学本科毕业设计(论文)21编程X115X22X,YFMINBNDXSIN10PIX2,X1,X2结果X18505,Y385032FMINUNC(单、多变量,梯度最优化算法)编程X115X22X,YFMINUNCXSIN10PIX2,X1,X2结果X12508,Y325043FMINSEARCH(多变量,NELDER算法)编程X115X22X,YFMINSEARCHXSIN10PIX2,X1,X2结果X14507,Y34503(2)遗传算法选择二进制编码,种群中个体数目为40,每个种群的长度为20,使用代沟09,最大遗传代数25。编程GA_1M结果Y
49、3850273723802942华北电力大学本科毕业设计(论文)22遗传代数图41函数图像图42解的变化图像华北电力大学本科毕业设计(论文)23结论由该函数图41可知,传统的MATLAB优化算法三种中,FMINUNC和FMINSEARCH算法都陷入了局部最优解,只有FMINBND算法寻得最优解,而遗传算法不仅没有陷入局部最优解,其所得结果的精度也比传统算法所得的要高,由图42可知,遗传算法在收敛后其种群依旧在变化,这是由于存在变异算子的原因,变异算子的作用下使遗传算法不断寻找新的搜索领域,避免陷入局部最优解。由此可知,遗传算法较普通算法而言具有优越性。422二维变量实例例求,(1)传统优化算法编程FUNCTIONFNFUNXF025X12X222X11X2X011A11B50AEQBEQLB00UB100100X,FVALFMINCONNFUN,X0,A,B,AEQ,BEQ,LB,UB结果X246000254000FVAL8879000(2)遗传算法编程GAMIN结果X2