基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)

简介: 基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


📚2 运行结果


🎉3 参考文献


🌈4 Python代码实现


💥1 概述

随着化石能源逐渐枯竭、环境问题日益严峻,以光伏和风力发电为代表的清洁能源获得了长足


发展,形成了含高渗透率新能源的电力系统[1]。传统配电网在接入大量分布式电源以后成为了主动配电网,配电网的运行状态受到分布式电源的影响而频繁变化。调度人员通过操作分段开关和


联络开关来调整网络拓扑结构,在满足功率平衡、电压电流不越限和网络拓扑约束条件下,实现降


低系统网损、均衡线路负载和优化电压分布的目的[2 - 3]。目前国内外关于配网重构的研究方法主要可以分为三类: 数学规划方法[4 - 6]、启发式方法[7]和 人工智能算法[8]。其中,常见的数学规划方法主要思路为将潮流等式松弛为二阶锥规划,启发式算法主要是支路交换法,人工智能算法包括模拟退火算法、粒子群算法、遗传算法等等。通过比较发现,启发式方法局限于考虑部分信息,很少能够从整个配电网的全局角度进行优化重构,因此优化结果的精确度较低,但计算速度最快; 人工智能算法对模型有更好的适应性,可以建立复杂非凸的优化模型,但存在容易陷入局部最优、每次求解可能结果不同以及大规模优化中计算速度很慢的问题; 数学规划方法的数值稳定性强,在大规模配网重构问题中有稳定的求解速度。综上所述,基于数学规划方法的配网重构研究具有更广阔的前景,如文献[6]中提出的混合整数二阶锥模型,可以直接由成熟的商业化求解器进行求解,适用于大规模配电网实时重构的场合。但是,以文献[6]为代表的二阶锥规划方法直接对极坐标下的潮流等式进行变量代换,其等价性缺乏理论证明;此外,该模型中对于线路连接状态的约束过于繁琐,增加了大量的优化变量,如支路端电压变量等。


47b5788c86ff1ed3efa8e28d5c6ef297.png


📚2 运行结果

Coefficient statistics:
  Matrix range     [1e-12, 1e+00]
  QMatrix range    [1e+00, 1e+00]
  Objective range  [3e-01, 3e-01]
  QObjective range [2e-02, 2e-02]
  Bounds range     [9e-01, 3e+01]
  RHS range        [2e-02, 1e+03]
Presolve removed 175 rows and 11 columns
Presolve time: 0.00s
Presolved: 227 rows, 280 columns, 783 nonzeros
Presolved model has 47 second-order cone constraints
Ordering time: 0.00s
Barrier statistics:
 AA' NZ     : 1.705e+03
 Factor NZ  : 3.330e+03
 Factor Ops : 5.458e+04 (less than 1 second per iteration)
 Threads    : 1
                  Objective                Residual
Iter       Primal          Dual         Primal    Dual     Compl     Time
   0   2.07626953e+01  5.47569526e+00  1.47e+01 1.00e-01  1.05e+00     0s
   1   2.08500196e+01  2.19105000e+00  3.00e+00 4.49e-03  2.06e-01     0s
   2   2.16794514e+01  1.24286815e+01  1.63e+00 4.94e-09  9.03e-02     0s
   3   2.34915129e+01  1.77786509e+01  5.12e-01 1.84e-14  3.06e-02     0s
   4   2.46249216e+01  2.28055646e+01  3.97e-01 4.81e-14  1.44e-02     0s
   5   2.56174123e+01  2.51414326e+01  1.04e-01 1.10e-13  3.70e-03     0s
   6   2.60001933e+01  2.60209114e+01  3.48e-02 1.10e-12  7.34e-04     0s
   7   2.60896856e+01  2.61642623e+01  1.73e-02 1.10e-11  1.96e-04     0s
   8   2.61281523e+01  2.61876086e+01  1.09e-02 4.55e-11  9.85e-05     0s
   9   2.61822733e+01  2.61974189e+01  2.52e-03 1.12e-10  2.16e-05     0s
  10   2.61981821e+01  2.62008968e+01  4.10e-04 2.10e-10  3.13e-06     0s
  11   2.62013732e+01  2.62015286e+01  3.43e-05 2.72e-09  4.59e-07     0s
  12   2.62015959e+01  2.62016337e+01  7.24e-06 8.94e-08  8.55e-08     0s
  13   2.62016457e+01  2.62016528e+01  1.23e-06 5.71e-07  1.33e-08     0s
Barrier solved model in 13 iterations and 0.01 seconds (0.00 work units)
Optimal objective 2.62016457e+01
Process finished with exit code 0


0a2cefaf5c114640a5110450004cdf12.png


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1]姚艳,许家玉,崔勤越.基于DistFlow的含分布式电源配电网优化重构模型[J].能源工程,2020,No.204(01):12-16.DOI:10.16189/j.cnki.nygc.2020.01.004.


🌈4 Python代码实现


相关文章
|
2月前
|
存储 缓存 NoSQL
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
redis分布式锁、redisson、可重入、主从一致性、WatchDog、Redlock红锁、zookeeper;Redis集群、主从复制,全量同步、增量同步;哨兵,分片集群,Redis为什么这么快,I/O多路复用模型——用户空间和内核空间、阻塞IO、非阻塞IO、IO多路复用,Redis网络模型
Redis常见面试题(二):redis分布式锁、redisson、主从一致性、Redlock红锁;Redis集群、主从复制,哨兵模式,分片集群;Redis为什么这么快,I/O多路复用模型
|
18天前
|
消息中间件 JSON 自然语言处理
Python多进程日志以及分布式日志的实现方式
python日志模块logging支持多线程,但是在多进程下写入日志文件容易出现下面的问题: PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。 也就是日志文件被占用的情况,原因是多个进程的文件handler对日志文件进行操作产生的。
|
1月前
|
存储 NoSQL MongoDB
(四)成为分布式高手必经之路:理解那些工作在分布式系统底层的一致性模型
在分布式领域里,一致性成为了炙手可热的名词,缓存、数据库、消息中间件、文件系统、业务系统……,各类分布式场景中都有它的身影,因此,想要更好的理解分布式系统,必须要理解“一致性”这个概念。本文就展开聊聊 分布式系统里的一致性模型。
|
13天前
|
算法 异构计算
自研分布式训练框架EPL问题之帮助加速Bert Large模型的训练如何解决
自研分布式训练框架EPL问题之帮助加速Bert Large模型的训练如何解决
|
2月前
|
人工智能 PyTorch TensorFlow
分布式训练:大规模AI模型的实践与挑战
【7月更文第29天】随着人工智能的发展,深度学习模型变得越来越复杂,数据集也越来越大。为了应对这种规模的增长,分布式训练成为了训练大规模AI模型的关键技术。本文将介绍分布式训练的基本概念、常用框架(如TensorFlow和PyTorch)、最佳实践以及可能遇到的性能瓶颈和解决方案。
295 2
|
2月前
|
NoSQL Redis 数据库
|
2月前
|
分布式计算 API 对象存储
Ray是一个开源的分布式计算框架,用于构建和扩展分布式应用。它提供了简单的API,使得开发者可以轻松地编写并行和分布式代码,而无需担心底层的复杂性。
Ray是一个开源的分布式计算框架,用于构建和扩展分布式应用。它提供了简单的API,使得开发者可以轻松地编写并行和分布式代码,而无需担心底层的复杂性。
216 11
|
13天前
|
NoSQL Redis
基于Redis的高可用分布式锁——RedLock
这篇文章介绍了基于Redis的高可用分布式锁RedLock的概念、工作流程、获取和释放锁的方法,以及RedLock相比单机锁在高可用性上的优势,同时指出了其在某些特殊场景下的不足,并提到了ZooKeeper作为另一种实现分布式锁的方案。
35 2
基于Redis的高可用分布式锁——RedLock
|
21天前
|
缓存 NoSQL Java
SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】
这篇文章是关于如何在SpringBoot应用中整合Redis并处理分布式场景下的缓存问题,包括缓存穿透、缓存雪崩和缓存击穿。文章详细讨论了在分布式情况下如何添加分布式锁来解决缓存击穿问题,提供了加锁和解锁的实现过程,并展示了使用JMeter进行压力测试来验证锁机制有效性的方法。
SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】
|
2月前
|
NoSQL Java Redis
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决