目 录
蚁群算法在配电网重构中的应用 1
摘要 1
1 引言 2
2 蚁群算法 2
2.1 蚁群算法的起源 2
2.2 蚁群算法的基本思路 3
2.3 蚁群算法的特点 3
3 蚁群算法和配电网重构的结合 4
3.1 配电网重构 4
3.2 用蚁群算法的应用 4
3.3 对蚁群算法的改进 7
3.4 仿真 9
3.5 算例 10
4 配电网重构的意义 15
结论 17
引用 18
1 引言
近几年科技迅速发展,使用智能算法在配电网中得到了极大的应用,例如粒子群算法、遗传算法、禁忌搜索算法、蚁群算法等都可以很好的解决问题,但是由于传统意义上的蚁群算法应用实例比较少,为了得到最佳解决方案需要花费大量的时间,并且计算过程复杂,现在多位学者对传统意义上的蚁群算法进行优化,让蚁群算法大范围的应用,改善当前的状况。
2 蚁群算法
2.1 蚁群算法的起源
在上世纪九十年代初期,一篇论文出现了一种特殊的计算方法,它是Marco Dorig 再观察了蚂蚁的各种行为,尤其是在寻找食物的时候的行为之后想出了的类似优化蚂蚁进食顺序那样的一种计算方法,被命名为蚁群算法。
蚁群算法可以说是一种在整体算法中不断优化的进化算法,它具有很多优点,如启发式搜索,信息的正负反馈,分布式计算等特性。
Ant系统或蚁群系统最初由意大利学者Marco Dorig和其他人在20世纪90年代提出。他们观察了蚂蚁的生命状态。在研究蚂蚁喂食的过程中,他们发现蚂蚁的行为相对单一,可是纵观整个蚁群系统,可以很清晰的看出他们的行为都是十分有秩序,十分明确。一个简单的例子:蚂蚁无论在什么样的环境之下总是能够快输准确的确定最便捷的寻食途径。这其中的原因很简单,就是它们可以利用自身头顶上的两根触须进行两者之间的信息交流与传递,这大大提高了办事效率。而经过进一步的研究分析,蚂蚁们是通过分泌一种信息素来进行信息共享。在这条路径上行走的每只蚂蚁都会留下一种新的信息素,形成一种类似于正反馈的操作。这样经过短时间的寻找,就可以找到最短的获得食物的途径。
2.2 蚁群算法的基本思路
在蚂蚁寻找食物的过程中的种种途径就可以看做对于一个问题的处理方法。整个蚁群的所有路径构成了要优化的问题的解决方案。蚂蚁寻找食物时分泌的信息素越多,那么它们在确定最终的觅食路线时的距离就越短,伴随着觅食的时间越来越长,该条路径上信息素的密度也就越来越大。最后,所有蚂蚁将根据信息素密度使用最短路径进行觅食。因此,选择最佳路径,这也是要优化的问题的最佳解决方案。
2.3 蚁群算法的特点
(1)利用正反馈的方法,在试验阶段不断的优化,最终得到最优解决方案。
(2)每一个实验体在运动的过程中都会留下信息素来影响附近的环境,并且每一个实验体都能够接收上一个实验体留下的信息素,实验体之间通过信息素之间传递信息。
(3)蚁群算法可以同时多实验体同时进行计算,无不干扰,有效的提高了计算能力和实际运行的时间。
(4)在实验中遇到瓶颈时,可以快速的找到最佳解决方案。
因而将蚁群算法应用到配电网中可以使一些复杂问题得到有效的解决。
利用蚁群算法来针对一些重构配电网的问题进行求解,并且在其中改进了方向信息素的确定方式。在这个算法中出现了一种新的策略,即新的信息素的更新与路径选择策略。进而加速蚁群算法的收敛速度和精度控制,以确保全面的最优性。除此以外,还有一系列的仿真实验也对其进行了证明,并且在重构配电网的问题当中发挥了很好的效用。而且还提高了找到解决方案和优化方案的速度,比较最终确定最有效的方案。
3 蚁群算法和配电网重构的综合使用
3.1 配电网重构
在当下科技飞速发展的情况下,各种各样的算法也纷纷出现,当时对于重构配电网的问题最有效的解决方法还是近几年互联网兴起之后出现的人工智能算法。它主要包括GA(遗传算法)、ACA(蚁群算法)、TSA(紧急搜索算法)以及PSO(粒子群优化算法)等等。但是这些算法在现实中应用的例子却少之又少,主要原因是求解的过程十分复杂,最优解的构造耗时较长,计算效率较低。为此,许多学者开始对传统的蚁群算法进行改进。
近几年科技迅速发展,使用智能算法在配电网中得到了极大的应用,例如粒子群算法、遗传算法、禁忌搜索算法、蚁群算法等都可以很好的解决问题,但是由于传统意义上的蚁群算法应用实例比较少,为了得到最佳解决方案需要花费大量的时间,并且计算过程复杂,现在多位学者对传统意义上的蚁群算法进行优化,从而改变现状,使蚁群算法得到应用。
在以前的蚁群算法的基础上,提出了对重构配电网的问题当中停止滞留下定向改进信息素的方法,这个方法结合了信息素的全部更新以及局部更新之后才提出来的。
作为一个相对之下较为复杂的非线性的问题,重构配电网在现如今的研究分析中,应当在平衡负载,减少网络方面的损失,降低在故障产生后的安全隐患等方面加大研究力度。虽然它不是一个多目标的问题,但是由于它的复杂性以及高维度特性使得这个问题一直没有一个很好的解决方案。这其中最主要的原因就是缺乏一套理论作为基础。
3.2 用蚁群算法的应用
利用蚁群算法经过计算,能够很好的解决著名的旅行商问题中的优化组合问题。然后对蚁群算法进行了改进和扩展,得到了电力系统的最优解。
下面简要介绍了Traveler问题,介绍了蚁群算法的几个重要步骤:
1初始化算法参数。使路径(i,j)上信息素的初始值τ_i j(0)=c以及循环数的初始值nc=0。
2假如循环数的值小于设置的最大的值时,与此同时没有降级的操作,就令K=0以及循环数+1,之后进行下一个步骤;否则,输出当前的值。(即找到最佳方案)
3令一只蚂蚁随机的完成一条路径(即一个解决方案),同时也让k值加一。
4使用评估功能评估蚂蚁的旅程,并记录当前的最佳解决方案。
5如果k<m(m是每个周期发送的蚂蚁总数),转到步骤3;否则,转到步骤6。
6.利用评价函数值(m ants)对每一条路径上的信息数量进行改正以及确定,之后进行第二步操作。
在这整个的操作步骤中,每一条路径的选择都是随机的。每次蚂蚁都是根据两个位置之间的转移概率来从i中选择下一个位置j的。并且信息素和路径的长度直接影响转移概率。
变压器的材料损失以及导线的损耗都是被包含在配电网的总体损失当中的。一般来说,改造配电网只影响导线的损耗数量,所以最终的最小网损的目标函数为:
在上述的公式中:分支电阻用R_i来表示;端电压U_i来表示;分支总数用N_b来表示;有功功率用P_i来表示;无功功率用Q_i来表示。
限制是:
(1)电压幅度:V_min(| V_i(= V_max); i,I(= N_R)
(2)当前偏移:| I_j | <I_(j,max); j,J <N_b
(3)电源约束:配电网必须在单个节点(即“岛”)的基础上满足负载。
(4)网络拓扑约束:配电网在改造过后无法使单节点的要求得到实现,必须要进行电网的辐射,这都是改造大多利用开环运行以及闭环设计导致的。
其中,| V_i |总线i上的电压,V_min和V_max分别是总线电压的最大值和最小值; | I_j |是分支J电流的大小,I_(j,max)是分支j允许的最大电流; N_b和N_R分别是分支和节点的集合。
在蚁群算法开始之前,已经确定了节点之间的分支和加载数据。将蚂蚁的巢穴假定位动力点。每个蚂蚁的任务是根据不同节点上的规则从巢中获取食物,但是这个的前提是每个蚂蚁需要在寻找食物的过程中将食物放在各个节点上。它们的旅程被定义为从巢穴出发寻找食物的整个过程。它们在这其中走过的路径与节点就构成了整个网络结构。
每一个蚁群都是有很多蚂蚁构成的。每只蚂蚁都会计算它整个旅程的网络方向。如果计算结果显示不能够满足约束条件,这让其他的蚂蚁重新开始新一个旅程,反之,如果约束条件得到满足,只有完成该旅程的蚂蚁进行网络损失值的记录,同时也开始派遣下一个蚂蚁进行新的旅程,并且利用这个方法得到大量的有效的损失值,并且通过分析比较所有路径得到一个最佳路径。
Ant K完成巡视并计算满足约束时的路径长度。如果路径长度的值小于当前最优解,则将当前最优解替换为路径长度的值,并且将由ant K形成的路径记为当前最优路径。当所有的蚂蚁完成上述过程后,蚁群完成一个循环。满足约束并具有最小路径长度的运行是由该循环生成的最佳解决方案,并且相应的路径是由该循环生成的最佳路径。
假定在整个的网络系统之中,所有蚂蚁选择的路径完成之后的集合为S。在整个周期完成过后,传递信息的蚂蚁K对集合中的所有的信息素进行更新。然后在进行下一个循环,依旧采用上述的过程步骤,然后分析比较每个循环得出的方案,直到所有循环结束。
3.3 对蚁群算法的改进
蚁群算法本质上是一种多算法,它可以通过简单计算单个个体和多个叠加来形成这种复杂的蚁群算法。其主要特点是多线并行计算,还有两个主要方法是启发式搜索和正反馈机制。
在人工智能算法中的蚁群算法的正反馈机制,是通过大量的信息素这一类的参数来提高找到最佳方案的概率,并且能够有效减少迭代次数。而蚁群算法中的局部搜索方式则是通过利用公式大量计算来得到最优的解决方案。这两种方式的差别很大。而分布式计算可以避免迭代过程中的过早现象,但是上述的启发式搜索则可以解决局部搜索所产生的这种问题,最终得到一个能够接受的方案。
蚁群算法与其他诸多的算法相比较,不用初始的解决方案是他最大的优点。在其他算法当中,对于初始解决方案的制定,会加大不必要的工作量,并且还会对最终的解决方案造成一些不必要的影响。除此之外,面对一些规模较大的网络结构时,蚁群算法的优势更加明显。虽然蚁群算法在寻找全局最佳方案的能力十分强大,但是蚁群算法也并不是没有缺点。考虑到配电网络重构的具体问题,主要有两点:
(1)首先是蚁群算法的整个实验的过程时间比其他算法长。简单的来说就是算法过程太过于复杂,整个的计算过程中有很大一部分时间都用于算前的施工。考虑到配电网络重构的实际情况,对解构提出了更高的要求。当构造的解决方案显然是不可行的(即它不满足树形网络或存在电源岛)时,有两种选择:一种是设置网络拓扑的约束以区分和丢弃这种不可行的解决方案,大量的搜索时间和一些结果被丢弃,算法的速度将降低,直到达到优化;当设置网络拓扑约束时,后续的潮流计算过程变得复杂但没有意义,这使得算法的计算速度再次降低。因此,在重构配电网的过程中最重要的问题就是如何利用蚁群算法快速的获得最佳的解决方案。
(2)在使用蚁群算法的时候,会经常出现一个就是暂停滞后的问题,这会使我们容易掉入局部停滞的困局当中。具体原因是由于在一定的基础上进行搜索过后,会出现所有蚂蚁都得到了同一个解决方案,这个时候如果换成随机搜索的方法,也不能在所有答案当中进行下一步的搜索,这对于寻找更好解决办法来说是不利的。造成这种现象是因为信息素轨迹的选择弧在已选与未选之间的差异会变得越来越大,而且蚂蚁在选择信息素轨迹的时候,始终会选择高弧继续前进,这就会导致之前未被选择的弧被选中的概率会变得越来越小。在选择的时候会就会出现在附近徘徊的现象,造成算法停滞。为了消除或者削弱这种现象,有一种方法就是作出妥协,在蚂蚁的反馈学习和扩展搜索空间时机选择合适的信息素,折中选择放弃追逐极端,解除局部最优状态的困境。
3.4 仿真
在对蚁群算法进行分解实验的时候,为了对其进行改进,我们可以采用IEEE33节点分布网络进行实验。
图2是我们对重新对配电网络进行配置之前的节点结构进行的假设,我们可以在图中看到33个节点,其中的接触开关有七个,还有37个分支。12.66KV是配电网的最高电压,其网络当中所有的负荷是3715 kW + j 2300 kV.A,功率参考电压为10 MV.A.
选择M = 40蚂蚁,假设分布网络中每个分支的初始信息素alpha(0)= 0.3,P = 0.5,e = 50,N = 4,N’= 20,并使用改进的蚁群算法模拟,表1是我们将改进后的算法与传统的进行比较过后的结果。
根据表中的对比内容我们可以得到,和预想的重建网络进行比较,使用改进的蚁群算法将网络损耗值显着降低了30%。 与传统的蚁群算法相比,使用该算法重构网络时网络损耗值较小。 传统蚁群算法和改进蚁群算法在网络重建中的收敛性如图3所示。从图中可以看出,后者的收敛速度更快,收敛的损失值更小。
在实际应用中重构配电网的研究基础上,由于传统蚁群算法在配电网改造过程中会产生暂停滞后效应,计算需要多长时间,因此本文对这两个问题进行了比较, 然后再根据比较的内容进行模拟实验。
我们在仿真实验和分析的过程当中,将改进后与传统的蚁群算法之间进行比较,改进算法在最佳解决方案中的效率得到提高,原有问题得以改善,最佳解决方案可以快速找到,实际应用强, 并且可以有效地提供电力水平。
3.5 算例
该系统是国外实用的分销网络。 它有4个馈线,68个线路,11个分支开关分支和11kV的参考电压。 示例中每个分支和节点的具体参数如附录2所示。所有程序都在Matlab平台上进行模拟和运行。 网络结构如图3-7所示。
蚁群算法的参数如下:蚂蚁数M = 20,a表示的含义是启发式信息因子,它的值为1,β表示的是能见度因子,它的数值也为1,1 / ij ij_表示的是能见度,我们令它等于R,参数_(0)代表的是信息素,其具体值为0.2,我们用P表示信息素的挥发系数,其具体数值为0.6,用Q表示信息素的更新参数,Q的值为0.008,另外还有附加信息素,它的更新参数我们用’Q 表示,其具体值为0.02,maxNC的含义是迭代次数,它的数值为50。在进行重新配置之前,断开分支6974是原始状态下的7579接触开关。网络当中的能量损失是227.5KW。在使用改进后的蚁群算法后,我们得到了最优网络是断开分支14,30,45,51,66,70,75,76,77,78和79上的接触开关。在这种情况下,网络丢失是201.5千瓦。在图3-8至3-11中,我们对改进过后蚁群算法进行了统计分析,得到了一次迭代当中最小有功功率损失和最小有功功率损失的曲线,具体如下。
我们可以在单次迭代最小损耗变化图线当中可以得到,在进行蚁群算法的时候,它的搜索过程还是属于随机搜索范围。在增加网络选择次数的过程当中,这个最小损耗值还是在范围内有较大的波动,并且其幅度比较大,很难从中看出其正反馈的特性。我们在初始搜索的阶段可以得出,单次迭代的特性会在改进后的蚁群算法当中出现。明显减少了最小损失,并逐渐下降到最低点,反映出更好的正反馈特性。最小损失变化曲线也反映了类似的情况:在收敛速度这一方面,蚁群算法表现比较慢,得到的最优解是其参照物的60至70倍上下;而改进后的蚁群算法,在收敛速度这一方面就有了明显的改进,速度比较快,但是最优解只有25至30倍。在举出的五个例子对改进后蚁群算法测试结果当中,我们可以得出,例如2,分支节点数量多,结构复杂,网络有很多重构方案,改进蚁群算法的优点是更加明显,可以快速找到最佳解决方案。测试结果收敛到近似最优解。蚁群算法此时很难获得最优网络,并且获得最优解的概率非常低。