基于开源软件的配网重构遗传算法程序开发研究
2013-08-18杨建伟
杨建伟
(广东电网公司佛山供电局,广东 佛山 528200)
0 引言
配网重构一直是电力系统分析研究领域的热门话题。一般来说,配网重构指的是在保证配电网络树状结构及相关运行条件等前提下,通过改变分段开关、联络开关的位置来改变配电网络的拓扑结构,以实现对某预定目标的最优化[1]。最典型的配网重构问题的优化目标常为正常运行的配电网络所消耗网损最小,随着智能电网理念逐渐深入人心,人们越来越关注不同目标的配网重构策略,如改善供电质量、提高配网运行可靠性等。
由于配电网络中联络开关和分段开关的数目巨大,导致配网重构优化问题的可行解域巨大。同时,开关的动作是典型的离散行为,很难用解析表达式来进行描述。因此,常见的配网重构算法多为所谓启发式优化算法,如模拟退火算法[2]、粒子群优化算法[3]、蚁群算法[4]以及遗传算法[5]等。
事实上,相对成熟的启发式优化算法的实施框架已基本固定不变,通常针对不同的优化问题仅需设计和计算相应的目标函数即可,可以充分利用互联网上的现有资源,没有必要重复编写所有程序代码。具体到电力系统的优化问题(如配网重构)来说,所涉及的基本计算任务(如本文中的配网潮流计算)也可交由通用的电力系统分析程序来完成。程序开发者仅需对已有的程序资源进行整合,并针对具体的问题做少量的修改和开发工作即可。
本文仍以对配网运行的网损进行优化为例,介绍了如何利用互联网上已有的开放源代码程序库设计和开发配网重构的遗传算法程序。本文首先探讨了配网重构程序的通用框架,随后介绍了可供使用的相关开源软件,同时对不同开源软件的整合加以描述。最后以IEEE70节点算例系统的配网重构为例验证了本文所开发软件的有效性。
1 配网重构程序数学模型
1.1 配网重构问题描述
本文重在介绍利用开源软件进行配网重构遗传算法开发的策略,具有一定的通用性,因此仍以最典型的配网运行所消耗网损最小作为优化目标,其他优化目标仅需对本文所提框架中的目标函数部分进行修改。网损最小的数学描述为:
其中nb为配电网中所有支路数,ri为第i条支路的电阻,Ii为流过第i条支路的电流,ki为表征第i条支路运行状态的布尔量,0表示退出运行,1表示投入运行。
本文优化的目标即为寻找某种特殊的支路运行状态组合,使得由该组合决定的配网拓扑运行条件下所消耗的网损最小。
1.2 相关遗传算法编码策略
在典型的遗传算法实施过程中,最核心的问题包括适应度函数计算、染色体基因编码、译码、遗传、突变、自然选择、杂交等,其中遗传、突变、自然选择、杂交等操作具有相对的通用性,而适应度函数计算、编译码等操作则因不同的优化问题而异。本文的适应度函数计算即为前述配网的网损计算,此处主要介绍相关的编码策略。
由于配电网络在运行时常需保持树状结构,故应对遗传算法中所产生的不同个体进行校验。事实上,由图论的理论可知,对于一个连通的图,若支路数恰比节点数少一个,则此图必为树状结构。因此,判断树状网络的条件常为两个:
(1)判断图的连通性;
(2)判断节点与支路的个数关系是否符合。通常配电网络中回路的形成常为存在联络开关支路连接不同馈线所致,如图1所示[6]。
为保证图的连通性,同时图中不能出现环网,在对联络开关进行操作时,必须同时考虑与之相邻的分段开关的状态。例如,图1中的虚线框部分形成一个三开关组,如图2(a)所示。若图1中联络开关闭合,则其左端或右端分段开关之一必须断开,而另一分段开关必须闭合;若联络开关断开,则其左端及右端分段开关均须闭合。换言之,若网络中存在l个回路,则应对应有相同数目的三开关组参与动作,其中任一时刻每一三开关组必须有且只有一个开关断开,则可保证图的连通性及树状结构。
图1 联络开关示意图
对图2(a)所示的三开关组需进行三状态编码,即染色体基因的取值不是通常的布尔值(0/1或true/false),而应是有三种可能值。在本例中可规定基因值0对应联络开关断开,基因值1对应左分段开关断开,基因值2对应右分段开关断开,如图2(b)~(d)所示。
图2 某联络开关对应的三开关组及相应状态
按照这样的编码策略,最终形成的染色体长度应为联络开关的个数,而染色体中的基因将在0-1-2三值中取值。
2 相关开源软件及其应用
基于前述数学模型的分析,本文开发了相应的程序。在程序开发的时候试图使开发的工作量最小化,因此充分利用了互联网上已有的开源软件资源,主要为InterPSS和Jenetics,简述如下。
2.1 InterPSS[7]
InterPSS是一个基于互联网的、源代码公开的电力系统仿真软件,它主要基于现代的网络和计算机技术,例如Java,Xml、Eclipse平台和其他的一些开源软件系统,例如Spring Framework、JGraph和Apache Commons等,旨在为电力系统的设计、运行分析和仿真提供一个新的开源仿真软件平台。
InterPSS是一种柔性的、可扩展的、易于维护的软件系统,其最大特点是具有源代码公开、组成松散的结构,用户可以根据各自的需求,通过插件(plug-in)的形式增加相应的模块功能或替换相应的模块来实现。目前,InterPSS已经实现了交流、直流潮流计算、短路计算和暂态稳定计算的仿真功能,并且用户可以轻易地在此基础上将其功能拓展到协调保护、谐波分析、电力市场、可靠性分析等等领域。
本文中的配网潮流计算即是直接调用InterPSS提供的API函数来完成,其计算结果也可直接通过API来读取并用来进行全网的网损计算。事实上,本文所需的网损计算功能是通过面向对象编程的技术继承InterPSS的潮流计算类来生成自己的自定义类,在自定义类的扩展功能中实现的,如图3所示。
图3 有功网损计算类与InterPSS潮流计算类的继承关系
2.2 Jenetics[8]
Jenetics是用JAVA编写的通用遗传算法程序库。与InterPSS相同,Jenetics也可以直接从Inter⁃net上免费下载并不受限制使用。Jenetics中遗传算法的执行是基于一个相当完备的底层数据模型,如图4所示。
图4 Jenetics的底层数据模型
Jenetics已对2.2节所提到的遗传算法所有通用操作进行了封装,程序开发者可以不必关注其细节,仅需继承图4所示的FitnessFunction接口实现自己的特定适应度函数计算类,即可执行遗传算法。
例如,本文中即可将Jenetics遗传算法执行过程中生成的染色体三状态编码进行译码,以得到当前研究的配网中所有联络开关的开断状态,进而形成InterPSS电网对象,调用图3所示的有功网损计算类计算出当前的网损值,即为所需的适应度函数值。
2.3 各种开源软件的整合
图5示出了为实现配网重构计算而对本文涉及的各种开源软件进行整合的逻辑关系图。
3 算例分析
基于图5所示的程序逻辑关系图和JAVA语言编写了相应的配网重构遗传算法程序,利用IEEE70节点算例系统进行验证,相应配网拓扑结构见图6,图中节点1为电源点,实线为常规支路,虚线为联络开关支路。
假设配网重构优化前所有联络开关支路断开,则此时配网运行结构如图7所示,相应有功网损为21.83kW。
经过本文所开发程序的优化计算,得到最终优化解的染色体编码为[01202],对应图8所示的配网运行结构,此时的有功网损为13.57 kW,下降了38%。
完成前述优化计算在某单核CPU的PC机上共需368.05秒,已初步满足在线应用的要求。事实上,由于遗传算法具有内禀的并行性,即任一个体的适应度函数计算完全不依赖于其他任何个体的计算结果,若能利用最新版本的JAVA7中所推出的全新并行计算机制——Fork/Join机制,可轻易在多核多线程CPU上自动实
现近似线性的并行加速。例如,若在当前主流CPU——酷睿i5系列上执行这种遗传算法计算,由于该CPU为双核双线程,则可望在100秒之内完成遗传算法计算,完全符合配网重构在线应用的要求,具有很好的应用前景。
图5 程序逻辑关系图
4 结论
目前我国电力工业界和学术界都在大力研发智能电网的相关技术,其中配网重构优化技术不需新增一次设备,可充分利用现有的软硬件条件,具有独特的经济和技术优势。
配网重构优化技术的核心是优化算法的实现。配网重构是对配网的拓扑结构进行操作和选择,是典型的离散问题。同时,配网重构优化问题的可行解域随联络开关数目的增加呈指数性增长。这些特征决定了配网重构优化非常适用典型的启发式优化算法,本文采用的是经典的遗传算法。
本文配网重构优化算法涉及配网潮流计算和遗传算法的各种计算,二者均有成熟的JAVA开源程序库可资利用,即用于电力系统仿真的In⁃terPSS和用于遗传算法的Jenetics。通过对这两种开源程序库进行合理整合,可设计出完备的配网重构优化程序。若能对执行优化程序的硬件做合理升级,并充分利用最新JAVA版本的并行计算机制,还可进一步大大加速遗传算法计算的时间,甚至达到在线应用的要求。
图6 IEEE70节点算例系统
图7 初始配网结构
图8 优化后的配网结构
事实上,本文所提出的利用开源程序库执行遗传算法优化的技术具有一定的通用性,因此不仅适用于配网重构优化,而是具有更广阔的应用前景。直接利用开源程序库可大大降低软件开发的风险和成本,显著缩短开发周期,同时可使开发者把精力集中在所关心的优化问题本身,值得推广和借鉴。
[1]欧阳帆.网格计算环境下配电网网络重构算法的研究[D].上海:上海交通大学,2008.
[2]胡敏,陈元.配电系统最优网络重构的模拟退火算法[J].电力系统自动化,1994,18(2):24-28.
[3]许立雄,吕林,刘俊勇.基于改进粒子群优化算法的配电网络重构[J].电力系统自动化,2006,30(7):27-30.
[4]黄健,张尧.蚁群算法在配电网重构的应用[J].电力系统及其自动 化 学 报 , 2007, 19 (4):59-64.
[5]Mendoza J., Lopez R., Morales D.,etc.,Minimal loss reconfigura⁃tion using genetic algorithms with re⁃stricted population and addressed op⁃erations:real application [J].Pow⁃er Systems,IEEE Transactions on,2006,21(2):948-954.
[6]李海锋.配电网网络重构算法的研究[D].广州:华南理工大学,2000.
[7]Michael Zhou, Shizhao Zhou.Internet, Open-source and Power System Simulation[A].IEEE PES General Meeting[C].Tampa Florida USA:2007,June.
[8]Franz Wilhelmstötter.Jenetics-Java Genetic Algorithm[EB/OL].http://jenetics.sourceforge.net/.