船舶电力系统是船舶的主要能量供应源。船舶工业快速发展,需要船舶电力系统供应的电力的容量和质量也在不断提高,对电力系统的维护也提出了更高的要求[1]。电力系统一旦发生故障或者受到攻击后,若不能及时的恢复,则会对整个船舶造成不可估量的严重后果。由于水上航运的特殊性,船舶电力系统在诸多方面均与陆地电网有所区别,因而船舶电力系统的重构问题不能照搬陆地电网的重构策略,而要根据船舶电力系统的特点,研究其故障重构问题。
对于船舶电力系统故障重构这样一个典型的非线性组合优化问题,专业领域的许多学者对此做了深入的研究,比如运用启发式算法、遗传算法、神经网络算法、博弈算法分别对故障重构问题进行研究[1],并提出了相关的解决方案。但是这些方案最终并不能完全的解决问题。
本文总结各位学者在此问题研究的基础上,提出用一种改进的蚁群算法对船舶电力系统重构问题进行研究分析,并提出了相关的解决方案。通过理论上的分析和实验上的仿真验证,发现此种改进的蚁群算法能够很好地解决故障重构问题。
1 船舶电力系统模型的建立 1.1 船舶电力系统的模型船舶电力系统一般是由船舶电源与船舶电网构成的整体,它向船舶负载供电,承担着船舶上的电力供应。因而船舶电力系统主要由船舶上的电源系统、电网的配电装置、电网和负载构成。电力系统的简图如图 1所示[2]。
其中G代表主发电机,GE代表应急发电机,M1、M2为负载电动机,QF1~QF3代表发电机组断路器,QF11~QF33代表配电断路器,MSB代表主配电板,DSB代表分配电板,T为变压器,A为变流器,QFE为应急断路器,QS1、QS2为隔离开关。
1.2 船舶电力系统故障重构的数学模型船舶电力系统发生故障之后,要在一定时间内恢复供电,并且对重要的负载要进行优先供电,同时要求操作的开关尽量少。因而,船舶电力系统故障重构的目标函数是:
$ \max F(X)\!=\!\sum\limits_{i = 1}^{{n_1}} {{\lambda _1}{L_{g1i}}}\!+\!\sum\limits_{i = 1}^{{n_1}} {{\lambda _2}{L_{g2i}}}\!+\!\sum\limits_{i = 1}^{{n_1}} {{\lambda _3}{L_{g3i}}} - \zeta {S_x}, $ | (1) |
公式(1)中Lg1i,Lg2i,Lg3i分别表示船舶电力系统中的三级负载,n1,n2,n3则表示系统故障之后所需恢复的各级负载的总数。λ1,λ2,λ3指的是各级负载的重要性因子,也就是权因子,Sx是指恢复方案中所需手动操作的总数目,ζ是Sx的权因子。
在电力系统故障恢复时需同时满足下面2个条件:
1)故障重构系统要有连续性的约束和辐射状的限制。对于重要负载,要恢复电力的电路有且只有一条。
2)故障重构系统的容量要足够大。当需要恢复的负载恢复供电之后,连接到供电母线上时,不能引起发电机的过载。
2 蚁群优化算法与故障重构系统 2.1 蚁群算法基本原理蚁群算法是20世纪90年代由一位意大利学者提出的一种智能寻优算法。这是通过研究蚂蚁觅食过程中能够通过释放信息素来协作寻找到一条最短的路径这一自然现象而总结发展来的一套算法。在人工蚁群算法中,蚂蚁相互之间通过传递“信息素”来交换信息,使之能够在接收到相关“信息素”之后提高解的质量。该算法利用了全局的信息进行局部的优化,从而达到了对全局的优化。最初的时候蚁群算法用来求解TSP问题,但是经过这么多年的发展,现在蚁群算法经过多重“进化和变异”衍生出多种版本并应用于各个领域中,比如如今的人工智能、军事作战、无人机路径规划、车辆调度等方方面面[3]。
2.2 改进后的蚁群算法传统的蚁群算法比较适合于解决路径规划类的顺序问题。而本文面临的是电力系统的故障重构问题,因此需要对传统的蚁群算法进行改进,与传统蚁群算法从边上的信息素和局部启发信息从顶点i再通过一定路径转移到顶点j的概率不同的是,改善的蚁群算法将信息素留在顶点,而由顶点的信息素和局部启发信息确定选择顶点加入子集的概率。
概率选择改进:如果设
$ P_{{i_p}}^k\left( t \right) = \left\{ {\begin{array}{*{20}{c}} {\frac{{{{\left[ {{\tau _{{i_p}}}\left( t \right)} \right]}^\alpha }{{\left[ {{\eta _{{i_p}}}\left( t \right)} \right]}^\beta }}}{{\sum\limits_{s \in {A_k}\left( t \right)} {{{\left[ {{\tau _{{i_s}}}\left( t \right)} \right]}^\alpha }{{\left[ {{\eta _{{i_s}}}\left( t \right)} \right]}^\beta }} }}} & {{\rm{if}}:{i_p} \in {A_k}\left( t \right)},\\ 0 & {\rm{else}}。 \end{array}} \right. $ | (2) |
式中:
在搜索新的路径过程中,容易陷入局部的停滞。为了克服这一困难,将经验知识引入概率的判断,将上述概率修改如下:
$ {i_p} = \left\{ {\begin{array}{*{20}{c}} {\mathop {\max }\limits_{s \in {A_k}\left( t \right)} \left\{ {{{\left[ {{\tau _{{i_p}}}\left( t \right)} \right]}^\alpha }{{\left[ {{\eta _{{i_p}}}\left( t \right)} \right]}^\beta }} \right\}} & {{\rm{if}}:q \leqslant {q_0}},\\ {公式}2 & {else}。 \end{array}} \right. $ | (3) |
式中:q是随机产生的小于1的小数,是用来进行一个选择判断,q0是一个常数,是判断的基准。如果q≤q0,则选择用经验知识来搜索新的路径,否则,用式(2)的概率进行搜索。
3 蚁群优化算法的实现1)种群的初始化:在算法开始时,并不限定蚂蚁的起点,蚂蚁可以随机选择某一顶点为出发点。
2)顶点的选择:在后面的顶点的选择时,利用上述的改善的概率策略进行选择,利用传统蚁群算法的概率公式和经验知识。
3)更新信息素和局部启发信息:信息素的更新对蚁群算法起着关键作用,在每一次选择完顶点之后记录其选择并进行信息素的更新。
4)终止判断:选择终止判断条件,终止条件要根据实际情况和理论条件两者来选择,比如实际上的电动机的负载容量已满,则终止算法。理论上则要设定算法的迭代次数。
4 实例分析本文针对图 1典型电力系统的典型故障进行实验仿真验证。分别运用传统的蚁群算法和本文提出的优化蚁群算法进行仿真验证,对比其性能的优越性。
假定图 1中的G1,G2,G3故障,负载M1,M2失去电力供应无法正常工作。需要对故障进行重构,快速恢复电力。
应用传统的基本蚁群算法和优化改进的蚁群算法进行恢复重构仿真试验。算法参数设置:传统基本蚁群算法和优化蚁群算法设置蚂蚁数目n=40,考虑到信息素的挥发特性,参考文献[4-5]后设定其挥发系数ρ1=0.05,ρ2=0.08,其更新系数Q=0.5。优化蚁群算法中q0=0.5。目标函数中的参数设定:λ1=5,λ2=5,λ3=3,ζ=0.2,信息素的重要性比例系数α=0.6,β=0.4。算法的迭代次数其最大值均设置为Tmax=55。
运用Matlab 2014b对此2种蚁群算法进行仿真实验,分别进行20次,进行数据进行均值处理之后,得出如图 2所示的曲线图。其中虚线为传统基本蚁群算法迭代结果,实线为本文提出的优化改善蚁群算法的迭代结果。
本文针对传统蚁群算法在船舶电力系统重构中的不足,提出了一种优化改进的蚁群算法进行船舶电力系统故障重构方案,并通过实验仿真,对比了2种算法在电力系统重构方案中性能的优劣,得出了优化改进的蚁群算法在故障重构系统中具有更快的收敛速度和更高的收敛精度,故而能够更快而准的对船舶重要负载进行恢复重构。
[1] | 王冠群, 张雪敏, 刘锋, 等. 船舶电力系统重构的博弈算法[J]. 中国电机工程学报, 2012 (13): 69–76+193. |
[2] | 陈雁, 孙海顺, 文劲宇, 等. 改进粒子群算法在船舶电力系统网络重构中的应用[J]. 电力自动化设备, 2011 (3): 29–34+39. |
[3] | 王家林, 夏立, 吴正国, 等. 基于快速非支配排序遗传算法的船舶电力系统多目标故障重构[J]. 电网技术, 2012 (11): 58–64. |
[4] | 王征, 王永骥, 李哲. 基于改进蚁群算法的船舶电力系统故障重构研究[J]. 计算技术与自动化, 2010 (1): 1–4. |
[5] | 刘大宝, 夏立. 多智能体遗传算法在船舶电力网络重构中的应用[J]. 中国航海, 2011 (4): 39–44, 66. |