开源代码分享(5)—配电网重构的启发式算法(附matlab代码)

简介: 本文提出了一种两阶段的启发式计算方法,可以在最小的计算时间内重新配置一个径向分布网络。所有的网络交换机在操作的初始阶段都是关闭的,并提出了一个顺序的开关开闸策略,以获得一个接近最优的径向配置。在随后的阶段中,从径向网络中选择一对开关来交换其开/关状态。提出了一种利用总线注入分支电流矩阵的数学模型,选择一对交换机,目的是减少每次交换操作后网络的功率损耗。该方法在33总线、69总线、84总线、136总线和417总线的配电网上进行了测试,结果表明,所提的方法有助于在明显较低的运行时间下实现径向配电网的最佳配置。

         来源于文献IEEE TRANSACTIONS ON POWER SYSTEMS期刊文献的开源代码。

       摘要:本文提出了一种两阶段的启发式计算方法,可以在最小的计算时间内重新配置一个径向分布网络。所有的网络交换机在操作的初始阶段都是关闭的,并提出了一个顺序的开关开闸策略,以获得一个接近最优的径向配置。在随后的阶段中,从径向网络中选择一对开关来交换其开/关状态。提出了一种利用总线注入分支电流矩阵的数学模型,选择一对交换机,目的是减少每次交换操作后网络的功率损耗。该方法在33总线、69总线、84总线、136总线和417总线的配电网上进行了测试,结果表明,所提的方法有助于在明显较低的运行时间下实现径向配电网的最佳配置。

1.引言

       配电网在向电力系统的终端能源消费者提供电力方面起着至关重要的作用。然而,低电抗和电阻的比值和配网的径向性质导致了热能形式的高有源功率损失。配网重构(DNR)是在保证系统可靠运行的同时,尽量减少网络有功功率损耗的可能解决方案之一。配电网中有两种类型:常闭分段开关和常开连接开关。DNR通过修改网络中交换机的开/关状态,提出了一种新的配电网拓扑结构。

       文献中用于解决DNR问题的方法可以大致分为三种类型:进化算法、数学规划和启发式方法[1]、[2]、[3]。然而,由于进化算法和数学规划的高计算要求,研究人员更倾向于DNR的启发式方法。对于快速重构,启发式算法考虑了两种策略:分支交换策略和顺序开开关策略。[4]首先提出了分支交换策略,通过交换开关对的开/关状态来重新配置最初的径向网络。然而,由于作者在分析中忽略了分支电流的反应性分量,因此所提出的方法的准确性较低。作为一种解决方案,在[5]中引入了初始网格网络的顺序开关打开策略,其中环路中的开关被策略性地打开,直到获得最优的径向配置。但该方法未能达到对大型系统的最优配置。此后,在文献中引入了几种DNR的启发式方法。在[6]中引入了一种最小电流循环更新机制,该机制旨在绕过局部最优点,实现全局最优结果。在[7]中,提出了一种结合分支交换和开开关策略的启发式方法。

       虽然文献中可用的技术是非常精确的,但它需要大量的计算时间来实现最佳配置。本文提出了一种新的两阶段启发式算法,可以在更短的时间内解决一个DNR问题。与其他启发式方法相比,该方法减少了在操作过程中进行负载流分析(LFA)的需要,从而减少了计算时间。

2.配电网重构问题的数学模型

       DNR问题是一个混合整数非线性优化问题,其目标是最小化配电网中的总有源功率损失。假设网络中的所有分支都配备有一个交换机,网络中总有功功率损失(Ploss)的最小化可以用数学表示为:

image.gif

image.gif

image.gif

3.提出的方法

image.gif

       该方法旨在通过确定所有支路的开/关状态,来减少径向连接配电网中的功率损耗。然而,网络中大量的交换机增加了该方法的计算负担。因此,为了减少计算负担,将1型、2型和3型开关[7]排除在操作中涉及的开关列表之外。所提出的DNR方法分两个阶段进行,详见以下两个小节。

3.1.阶段1:

       执行阶段1的执行首先是打开最初配置的网络中的所有交换机,从而形成网络循环。采用传统的牛顿拉夫逊LFA来计算流过每个网络交换机的电流。然后,选择每个网络回路中携带最小电流的交换机,将其状态从ON更改为OFF。在算法1中给出了顺序开关开启策略的分步过程。

3.2.阶段2:

       分支交换策略从阶段1操作中获得的径向网络配置作为阶段2操作的输入配置。分支交换策略旨在通过成对地在交换机之间交换开关状态,从而进一步减少网络中的总损耗。

       在一个径向网络中,拉杆开关的闭合操作导致了一个网络回路的形成。假设从初始网络中选择一个捆绑开关(k1)进行闭合操作,并关闭网络环路中的一个分段开关(k2),以恢复配电网的辐射性。因此,在交换操作后,得到了一个新的径向网络。网络回路中的一组交换机可以用数学方法建模为,

image.gif

式中,BIBC为交换操作前,向径向网络分支电流矩阵的总线注入;m1和n1为连接开关k1连接的母线。设一个集合Ω2被定义为Ω1的子集。Ω2的元素是新网络的分段交换机,它们不出现在连接总线m1和n1与变电站的最短路径上。在数学上,它可以用初始网络的BIBC矩阵表示为,

image.gif

       假设每个总线上的电流注入在交换操作后不变,在新径向网络的分支电流上的以下点可以使用基尔霍夫电流定律:

       1.在新网络中流过开关k1的电流将等于在初始网络中流过开关k2的电流,即。

image.gif

       2.如果交换机k在网络环路内,则新网络的第k个分支电流可以表示为:

image.gif

       3.如果交换机k在网络环路之外,则新网络的第k个分支电流没有变化,即:

image.gif

       由公式(13)-(15)可知,新的径向网络的分支电流可以用一种简单的形式写成,

image.gif

       在第2阶段的操作中,使用(17)计算网络中每个交换机对的功率损耗的近似变化,并选择导致功率损耗变化最大的一对来交换其开/关状态。

image.gif

       在交换所选开关对的开/关状态后,执行LFA,以检查操作约束中的违规情况。该过程继续进行,直到功率损耗减少,并满足所有的操作约束。算法2给出了开关间开关状态交换的详细策略。

4.算例分析

       利用33总线、69总线、84总线、136总线和417总线五种测试系统,验证了所提出的径向配电网的重构方法。所提出的方法的模拟是在MATLAB(版本R2021b)软件上进行的,该软件安装在英特尔酷睿i5-8500、3.0 GHz CPU、8gbRAM和64位系统上。表一显示了根据所提出的方法重新配置测试系统后获得的连接开关列表。

image.gif

image.gif

       此外,为了对其他启发式方法的工作进行比较分析,我们还在相同的操作环境下模拟了[6]和[7]中提出的DNR方法。比较分析的结果列于表二。最优配置测试系统的损失从文献[1],[2]中获得,并作为分析的基准。表二确认了对于33总线、69总线、84总线和136总线测试系统,所提出的DNR方法实现最小有损网络的精度为100%。此外,该方法在较大的系统中,如417总线测试系统中,提出的精度仅降低了0.29%。

       对比分析也证实了所提出的方法是文献中重构径向分布网络最快的启发式方法。计算时间的改进是通过减少在操作过程中需要执行的LFA的数量来实现的。在提出的顺序开关开启策略中,没有考虑最优电流,因此要求执行LFA,从而减少计算时间。所提出的分支交换策略进一步保证了配电网的最小有损配置。每个测试系统的方法在每个阶段的损失列于表三。

image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

请选择测试系统:1-33节点 2-69节点 3-84节点 4-136节点 5-417节点:  5

初始断开的支路为: 415  416  417  418  419  420  421  422  423  424  425  426  427  428  429  430  431  432  433  434  435  436  437  438  439  440  441  442  443  444  445  446  447  448  449  450  451  452  453  454  455  456  457  458  459  460  461  462  463  464  465  466  467  468  469  470  471  472  473

415节点节点系统重构后的有功网损为 708.941430 kW.

重构后断开的支路: 1   11   25   34   35   44   50   64   95   99  123  131  136  141  153  162  165  179  197  220  234  277  281  284  342  345  354  381  383  407  415  417  418  420  424  425  426  427  428  432  435  436  437  438  440  442  446  449  451  458  460  462  464  466  467  468  470  472  473

415节点系统重构后的有功网损为 583.244228 kW.

计算时间为 7.574773 秒

image.gif

5.结论

       在过去50年的文献中,已经提出了几种DNR方法。大多数方法都能获得最优的结果,但计算时间非常大。在这项工作中,提出了一种两阶段的重构方法,以在明显更短的时间内找到配电网络的最小损耗配置。由于其速度和准确性,所提出的方法是配电系统操作员在在线模式下可以使用的理想的重构技术。

6.完整代码获取方式

【免费】配电网重构的启发式算法(matlab代码)


相关文章
|
6天前
|
算法 BI Serverless
基于鱼群算法的散热片形状优化matlab仿真
本研究利用浴盆曲线模拟空隙外形,并通过鱼群算法(FSA)优化浴盆曲线参数,以获得最佳孔隙度值及对应的R值。FSA通过模拟鱼群的聚群、避障和觅食行为,实现高效全局搜索。具体步骤包括初始化鱼群、计算适应度值、更新位置及判断终止条件。最终确定散热片的最佳形状参数。仿真结果显示该方法能显著提高优化效率。相关代码使用MATLAB 2022a实现。
|
6天前
|
算法 数据可视化
基于SSA奇异谱分析算法的时间序列趋势线提取matlab仿真
奇异谱分析(SSA)是一种基于奇异值分解(SVD)和轨迹矩阵的非线性、非参数时间序列分析方法,适用于提取趋势、周期性和噪声成分。本项目使用MATLAB 2022a版本实现从强干扰序列中提取趋势线,并通过可视化展示了原时间序列与提取的趋势分量。代码实现了滑动窗口下的奇异值分解和分组重构,适用于非线性和非平稳时间序列分析。此方法在气候变化、金融市场和生物医学信号处理等领域有广泛应用。
|
7天前
|
资源调度 算法
基于迭代扩展卡尔曼滤波算法的倒立摆控制系统matlab仿真
本课题研究基于迭代扩展卡尔曼滤波算法的倒立摆控制系统,并对比UKF、EKF、迭代UKF和迭代EKF的控制效果。倒立摆作为典型的非线性系统,适用于评估不同滤波方法的性能。UKF采用无迹变换逼近非线性函数,避免了EKF中的截断误差;EKF则通过泰勒级数展开近似非线性函数;迭代EKF和迭代UKF通过多次迭代提高状态估计精度。系统使用MATLAB 2022a进行仿真和分析,结果显示UKF和迭代UKF在非线性强的系统中表现更佳,但计算复杂度较高;EKF和迭代EKF则更适合维数较高或计算受限的场景。
|
9天前
|
算法
基于SIR模型的疫情发展趋势预测算法matlab仿真
该程序基于SIR模型预测疫情发展趋势,通过MATLAB 2022a版实现病例增长拟合分析,比较疫情防控力度。使用SIR微分方程模型拟合疫情发展过程,优化参数并求解微分方程组以预测易感者(S)、感染者(I)和移除者(R)的数量变化。![]该模型将总人群分为S、I、R三部分,通过解析或数值求解微分方程组预测疫情趋势。
|
1月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
102 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
1月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
73 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
1月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
57 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
4月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
4月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)