之前的博客中介绍了配电网可靠性评估的三种方法、分别是解析法中的最小路法,以及序贯蒙特卡罗模拟法及非序贯蒙特卡洛模拟法,顺带提到了含有分布式电源的配电网可靠性评估方法。
2018年Gregorio Muñoz-Delgado和Javier Contreras等人在电气工程的顶刊IEEE TRANSACTIONS ON SMART GRID上发表了一篇论文《Reliability Assessment for Distribution Optimization Models: A Non-Simulation-Based Linear Programming Approach》,介绍了一种基于线性规划方法的配电网可靠性评估模型,首次将数学优化方法应用到配电网可靠性评估当中,这篇博客就是对该文献的详细解读及完整代码复现。这个模型创新性比较强,对模型稍做改动,就可以发很好的文章了。
1.研究背景
1.1摘要
智能电网和主动配电网络的出现促进了可靠性在配电系统运输和规划中的重要性。通常,通过几个标准指标对可靠性进行分析评估。不幸的是,分析可靠性评估依赖于模拟,因此需要使用不精确的启发式或元启发式基于解决方案方法来联合考虑经济和可靠性标准的操作和计划配电系统。为了克服这个缺点,本文提出了一种新的基于优化的方法来计算在可靠性约束下的配电网优化模型中广泛使用的标准网络相关可靠性指标。新方法相比于传统的基于模拟的方法具有显著的优点,可靠性指标同等地通过线性规划方法确定,其中网络拓扑结构由优化过程的决策变量明确表示。本文所提出的方法已经在包括一个1080节点系统在内的多项基准测试中得到验证。数值仿真表明,所提出的方法产生了与传统算法相同的结果。此外,适度的计算代价适合于接下来将等效公式整合到可靠性约束的配电操作和规划优化模型中。本文所述的成功数值经验表明提议的公式具有使用可靠性约束的操作和规划优化模型的完善技术的潜力。
1.2引言
"可靠性"是指电力系统在所需的电量和质量下,持续满足最终用户的电力需求的能力。配电系统中的可靠性至关重要,因为根据[2]的报道,超过80%的所有客户中断都是由于此级别的故障导致的。此外,智能电网进入游戏的新环境已经大大改变了配电网络的传统被动角色,引领了主动配电网络的范例。因此,适当考虑配电系统的可靠性在系统的运作和规划中非常重要。
根据[2]-[8]的说法,有几个指数可用于定量地测量系统的可靠性,例如客户中断频率(CIF)、客户中断持续时间(CID)、系统平均中断频率指数(SAIFI)、系统平均中断持续时间指数(SAIDI)、平均系统可用性指数(ASAI)和预期未提供能量(EENS)。一种计算这些指标的相关实用技术是分析预测法。对于给定的网络拓扑结构,分析法通过一个接一个地模拟组件故障来量化预先指定的一套事件对服务连续性的影响。为此,使用了两个信息来计算标准的可靠性指标,即故障率和中断时间。
分析可靠性评估的模拟本质和拓扑依赖性促使使用近似方法,以明确将可靠性指标计算与拓扑决策作为优化过程的结果的操作和规划模型相结合。广泛使用的方法依赖于元启发式算法迭代处理候选拓扑的群体[10],[11]。对于每个候选拓扑,运行传统的基于模拟的算法。因此,可靠性对拓扑决策的影响推动了对搜索空间的探索。不幸的是,元启发式算法无法确定是否已经达到全局最优解。最近在[8]中提出了一种替代方法,其中通过基于标准数学编程的迭代算法生成了一组候选拓扑,而不考虑可靠性。随后,通过后续计算可靠性以便做出知情的决策。此启发式方法将拓扑决策与可靠性分离,从而产生了一种不精确的方法。因此,尚需要探讨用于将可靠性纳入配电运营和规划中的新的非启发式方法。
鉴于缺乏精确的可靠性约束配电优化问题的方法和线性规划的吸引人的特点,本文的主要贡献是基于线性规划提出了一种新方法,以进行配电系统的分析可靠性评估。需要注意的是,线性规划提供了一个牢固的数学规划框架,具有收敛和解决方案质量的良好已知性质。此外,现成的软件可以轻松获得,有利于实际实现。据作者所知,这是文献中首次尝试使用优化过程等效地实现分析模拟可靠性评估。所提出的方法依赖于求解一组最优潮流问题,每个负荷节点对应一组最优潮流问题,表示拓扑相同的虚拟系统。每个最优潮流问题表示为与预先指定的操作条件相关联的线性规划问题。因此,通过优化的结果显式表征了网络拓扑结构。与传统的算法计算可靠性相比,有两个显著的优点:1)所提出的模型为处理可靠性约束的操作和规划模型铺平了道路,无需启发式或元启发式算法;2)采用线性规划技术为可靠性的纳入提供了有效的框架。
2.基本原理
PS:本节中除红色加粗字体是解释说明外,其余都是原文献的翻译。
2.1可靠性分析基本原理
对于配电系统的可靠性约束优化模型,标准可靠性指标的计算依赖于网络拓扑结构和负荷状况的知识。在这种基于优化的框架下,为了易于处理,通常采用以下实用假设:
1)只考虑由于单个支路故障而发生持续中断。支路故障由失效率和中断持续时间来表征。
2)假设配电系统是辐射状的,其中与变电站相连的每个支路都配备有断路器,且在变电站的出线处自动重合闸。此外,所有支路都配备有开关,以便在故障部分隔离后,满足系统其余部分的需求。因此,一旦发生持续的故障,故障所在支路上游的第一个断路器会跳闸,从而削减所有下游的负载需求。随后,为了减少停电负荷,通过操作开关和断路器进行网络重构。为此,首先打开故障上游的第一个开关以隔离故障。然后,闭合断路器,以恢复在断路器和开关之间的所有负载需求的供应。最后,一旦隔离的故障被清除,相应的开关会闭合,恢复完整的服务。
负荷节点因此受到两种类型的中断影响:1)修复和开关切换中断,直到故障修复负荷节点才会恢复;2)仅受限于开关动作,开关切换完成故障就会修复。
诚然,完整的可靠性评估应考虑瞬时故障、保护失效、瞬态扰动、线路过载以及进一步的故障后网络重构,以恢复故障下游的负载节点服务。然而,这种泛化会使得优化问题难以解决。尽管存在这些建模的局限性,但忽略这些实际方面可以处理可靠性约束的运行和规划模型,并提供决策者一个成本效益和可靠性的初步估计。
根据以上两种假设,故障对负荷节点的影响可以用频率和持续时间的期望值来表示。分别是因故障修复和开关动作影响节点s的故障率、仅有开关动作影响节点s的故障率、预期节点s修复和转换中断持续时间和预期节点s仅开关切换的中断持续时间。这些数值计算如下(相关参数的含义见第三节):
对于给定的径向运行拓扑结构进行所有可能的支路故障穷举模拟可以得到相关指标的说明,这为第III节中提出的新优化方法奠定了基础。
备注1:影响节点s的预期修复和转换中断率等于向节点s供电的上游支路故障之和。
节点s的上游支路就是指从主电源节点到该节点的供电支路,和最小路的概念相似,所以也很好理解,只要供电支路上的设备发生故障,那么该节点需要等到故障修复之后才可以恢复供电。
备注2:仅有开关动作影响节点s的故障率等于包含节点s的馈线中除上游支路外的所有支路故障率之和。
由上面的假设2可知,每条主馈线首端都会安装断路器,因此在节点s所处的馈线中,如果节点s的供电支路之外的其他支路发生故障,那么馈线首端的断路器会跳闸,直到完成故障隔离后,节点s的供电就会恢复正常。因此节点s会受到开关动作的影响而发生停电。
因此,可以表示为总故障率与的差。影响节点s的总故障率率等于包含节点s的馈线中所有支路的故障率之和,同时也是保护该馈线的断路器跳闸的概率,表示为。需要注意的是,对于支路ij,也等于由该断路器保护的所有节点的故障率之和,这里的故障率是向每个节点注入功率的支路故障率之和。
备注3:影响节点s的预期修复和转换中断持续时间等于上游支路故障率与相应的修复和转换时间的乘积的总和。
备注4:仅有开关切换时节点s的停电时间等于包含节点s的馈线中除上游支路外的支路故障率与相应的修复和转换时间的乘积的总和。
图1 测试系统
与类似,可以表示为两个参数之间的差值,即与之间的差值。等于包含节点s的馈线中所有支路的故障率和相应的开关切换时间乘积的总和。因此,对于支路ij上的断路器,该断路器所保护的所有馈线中的节点的DSW s是相同的。这样的针对断路器的预期持续时间称为。注意,还等于按节点计算的故障率和对应的开关动作时间的乘积的总和。另外,等于节点s上游支路的故障率以及相应的开关切换时间乘积的总和。
可靠性评估主要包括计算节点停电率和停电持续时间、、和。通常会使用解析法或模拟法进行计算(可以参考我之前的博客),通过图1所示的简单辐射状配电系统解释了上述指标的计算方法。该示例包括一个变电站节点,节点1,和五个负荷节点,节点2-6。该变电站有两个馈线,分别包括三个支路和两个支路。支路故障率λ12、λ15、λ23、λ24和λ56,分别为每年0.5、0.3、0.2、0.1和0.4次。每个支路的修复时间、、、和分别为1.0、1.5、2.0、4.0和3.0小时。最后,每个支路的开关切换时间、、、和分别为0.15、0.20、0.50、0.25和0.60小时。
表1显示了所有单个支路故障的节点中断类型,下面以两种支路故障为例进行详细分析。
首先,考虑连接支路2-4发生故障。此故障导致断路器B1自动跳闸,因此节点2-4的发生停电。接下来,开关S3被打开以进行维修,断路器B1被手动闭合。因此,在维修时间内,除了节点4的负载,所有其他负载恢复了供电。当故障被修复后,开关S3关闭,正常运行重新建立。因此,节点2和3的负载在开关切换的过程中受影响,节点4的负载在故障修复维修和开关切换期间均受到影响,而节点5和6的负载(即故障发生的馈线之外)不受此故障影响。这种影响在表1的第六列中反映出来。
类似地,如表1的第三列所示,如果支路1-2发生故障,节点2-4的负载在维修和转换期间会受到影响,因为此类负载处于故障下游。与之相反,节点5和6的负载不受此故障影响。
为了说明本文提出的线性规划方法,以节点4为例进行说明。如图1所示,节点4支路1-2和2-4供电。因此,根据备注1,影响节点4的预期修复和转换中断率等于这些支路的故障率之和,即0.5 + 0.1 = 0.6次/年。类似地,根据备注3,影响节点4的故障修复时间持续时间等于这些支路的故障率和故障修复时间乘积的总和,即0.5×1 + 0.1×4 = 0.9小时/年。
备注2与相关。节点4所在的馈线1中,除上游支路外只有支路2-3。因此根据备注2,=λ23=0.2次/年。此外,由于节点4属于包括支路1-2、2-3和2-4的馈线1,因此影响节点4的总中断率=λ12 + λ23 + λ24= 0.5 + 0.2 + 0.1 = 0.8次/年。因此,根据备注2,也可以通过− = 0.8-0.6 = 0.2次/年。
备注4与相关。如上所述,馈线1中除了节点4的上游支路外只有一条支路2-3。因此,根据备注4,。
同时
将此过程应用于其他负荷节点,可以得到列在表1的第8-11列中的结果。
2.2基于线性规划的可靠性评估方法
本文提出了一种两步骤优化方法,可以准确地计算可靠性指标,而不需要使用模拟。第一步涉及解决一组线性规划问题。一组二进制连续决策变量的最优值用于表示在备注1-4中规定的节点故障率、支路故障率和故障持续时间的关系。第二步依靠等效的代数表达式,用最优决策变量的值表示相关的可靠性指标。所提出的方法,虽然以图1的辐射状配电网为例,但不仅适用于辐射状配电网,而且适用于实际的网状配电网,为其纳入可靠性约束操作和规划模型铺平了道路。
步骤1:用于描述拓扑特征的线性规划模型。
根据备注1-4计算相关可靠性指标,所需的拓扑信息可以通过一组最优潮流的计算结果来建模,其中最优潮流模型对应于一个负荷节点,也就是针对具有相同径向拓扑的虚拟系统,并在整个网络中保持恒定的功率因数。每个最优潮流模拟了虚拟系统在相应的负荷水平下的运行结果,其中一个节点负荷设置为1 pu,其余节点负荷设置为0。对于每个负荷节点s∈ψLN,所提出的最优潮流模型可以表述如下:
图2 约束11-14的说明
3.编程思路分析
3.1参数和变量定义
表1 相关参数表2 决策变量
3.2编程思路与难点
根据第二节对文献内容的解读,可以设计下面的编程思路:
1)输入所需数据
图1的测试系统以及文章算例分析中用到的测试系统数据可以从该文献中获取,85节点、137节点、417节点以及1080节点测试系统的数据可以从下面的链接中获取:
https://drive.google.com/file/d/0B5Wja2Owv_j4cFdLUWxSTVU0Ylk/view?usp=sharing
为方便编程计算,可以参考matpower潮流计算的数据格式,设计可靠性计算的数据格式,以文中提到的6节点测试系统为例,数据格式是这样的:
function data = reliability_6nodes_test_system %% branch支路数据 data.branch_num = 5; %支路数量 %branch数据说明: %1-元件编号,2-首端节点,3-末端节点,4-故障率(次/年),5-修复时间(h),6-开关切换时间(h) data.branch = [ 1 1 2 0.5 1.0 0.15; 2 1 5 0.3 1.5 0.20; 3 2 3 0.2 2.0 0.50; 4 2 4 0.1 4.0 0.25; 5 5 6 0.4 3.0 0.60;]; %% node节点数据 data.node_num = 6; % 节点数量 data.N_B = 1; % 负荷等级数目 data.miu_b = 1; % 各个负荷等级的系数 data.d_b = 8760; % 各个负荷等级的持续时间 %node数据说明:1-负荷点编号,2-峰值有功负荷/MW,3-用户数,4-连接节点 data.node = [ 1 0 0 1; 2 1 1 2; 3 1 1 3; 4 1 1 4; 5 1 1 5; 6 1 1 6;]; %% power电源节点数据 data.power_num = 1; % 电源节点数量 data.power = 1; % 电源节点集合 end
使用data这一结构体变量存储系统的所有可靠性数据,其中主要包括data.branch、data.node、data.power等变量,分别表示支路、节点及电源的相关参数。这样将系统的可靠性数据设计为标准化的存储格式,便于程序的拓展:对于任意系统,只需要按相同的格式输入数据,就可以采用该程序计算可靠性,非常便捷。
2)求出每个负荷节点的供电路径
对于系统中每个节点,求解最优潮流模型(11)-(14),得到变量的取值。
这个环节是文献所提可靠性评估方法的核心,但编程的难度并不大,主要是需要理解两个决策变量的含义,以及所谓的“节点s对应的虚拟系统潮流”含义是什么(fictitious system under the operating condition corresponding to node s)。理解了这一点之后编程就不难了。
3)根据变量求出节点的故障率和故障持续时间
利用变量的取值以及公式(15)、(17)-(20)、(25)、(27)-(31)求出每个节点的故障率和故障持续时间。
这一步是从原理上理解比较简单,就是利用相关的公式以及第二步中求出的变量取值来计算节点的故障率及故障持续时间指标。但在具体编程实现上还是有一定的难度。因为涉及到复杂的数学公式,很多公式都包含复杂的求和公式,需要对变量和公式的含义理解地非常清楚,才能准确地编程求解。
4)计算可靠性指标
利用公式(5)-(10)求出每个节点和系统的可靠性指标。
这一步比较简单,就是统计负荷可靠性指标及系统平均可靠性指标。
5)输出计算结果
在命令行输出每个节点的故障率、停电时间、可靠性指标以及系统可靠性指标。
从原理上来看,这篇文章提出的用于可靠性评估的线性规划法和最小路法非常相似,都是从节点的角度进行考虑,求出电源点到每个负荷节点的供电路径,然后通过对供电路径上支路的故障以及非供电支路上支路的故障进行分析,得到可靠性评估结果。不同之处在于,最小路法是通过图论中的最短路径算法(如Dijkstra算法、Floyd算法)求出电源点到负荷节点的供电路径,而这篇文章提出的方法是通过求解最优潮流模型,来求出电源点到每个负荷节点的供电路径,并用变量取值来表示。这篇文章做法的好处是,当配电网有多个电源节点或存在分布式电源/储能时,最优潮流模型同样是适用的。但最小路法处理多个电源节点时相对来说要更麻烦一些。
5.运行结果分析
这份代码完美的复现了原文献中所有的结果:
5.1 6节点测试系统
原文献结果:
复现结果:
5.2 37节点测试系统
原文结果:
复现结果:
5.3 几个大规模测试系统
原文结果:
复现结果:
85节点:137节点:
417节点:1080节点:
复现结果和原文献计算结果一致,少许误差可能是因为读取数据时保留的位数不相同。