基于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代码实现


相关文章
|
22天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
26天前
|
存储 分布式计算 负载均衡
分布式计算模型和集群计算模型的区别
【10月更文挑战第18天】分布式计算模型和集群计算模型各有特点和优势,在实际应用中需要根据具体的需求和条件选择合适的计算架构模式,以达到最佳的计算效果和性能。
54 2
|
1月前
|
算法
基于粒子群算法的分布式电源配电网重构优化matlab仿真
本研究利用粒子群算法(PSO)优化分布式电源配电网重构,通过Matlab仿真验证优化效果,对比重构前后的节点电压、网损、负荷均衡度、电压偏离及线路传输功率,并记录开关状态变化。PSO算法通过迭代更新粒子位置寻找最优解,旨在最小化网络损耗并提升供电可靠性。仿真结果显示优化后各项指标均有显著改善。
|
1月前
|
存储 分布式计算 负载均衡
|
3月前
|
算法 异构计算
自研分布式训练框架EPL问题之帮助加速Bert Large模型的训练如何解决
自研分布式训练框架EPL问题之帮助加速Bert Large模型的训练如何解决
|
3月前
|
Python
在线问诊 Python、FastAPI、Neo4j — 创建 节点关系
在线问诊 Python、FastAPI、Neo4j — 创建 节点关系
29 0
|
3月前
|
Python
在线问诊 Python、FastAPI、Neo4j — 创建 饮食节点
在线问诊 Python、FastAPI、Neo4j — 创建 饮食节点
29 0
|
1月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
|
3月前
|
NoSQL Redis
基于Redis的高可用分布式锁——RedLock
这篇文章介绍了基于Redis的高可用分布式锁RedLock的概念、工作流程、获取和释放锁的方法,以及RedLock相比单机锁在高可用性上的优势,同时指出了其在某些特殊场景下的不足,并提到了ZooKeeper作为另一种实现分布式锁的方案。
113 2
基于Redis的高可用分布式锁——RedLock
|
13天前
|
NoSQL Redis
Redis分布式锁如何实现 ?
Redis分布式锁通过SETNX指令实现,确保仅在键不存在时设置值。此机制用于控制多个线程对共享资源的访问,避免并发冲突。然而,实际应用中需解决死锁、锁超时、归一化、可重入及阻塞等问题,以确保系统的稳定性和可靠性。解决方案包括设置锁超时、引入Watch Dog机制、使用ThreadLocal绑定加解锁操作、实现计数器支持可重入锁以及采用自旋锁思想处理阻塞请求。
49 16
下一篇
无影云桌面