基于粒子群优化算法的分布式电源选址与定容【多目标优化】【IEEE33节点】(Matlab代码实现)

简介: 基于粒子群优化算法的分布式电源选址与定容【多目标优化】【IEEE33节点】(Matlab代码实现)

💥1 概述

分布式电源接入配电网,实现就地消纳,可以提高新能源的利用率、提高电能质量和降低系统网损。然而接入点位置和电源的容量的差异对配电网的影响不同,如果位置和容量不合适,可能会导致系统中某处的电压越限、总系统的网损增加。因此在电源规划阶段分析分布式电源接入点的位置和容量十分有必要。分布式电源接入点和接入容量的选择问题是一个非线性、多变量、多约束的问题。目前国内外关于这方面的研究主要集中在两个方面,一是数学模型的优化,二是模型求解和算法优化。已有的诸多研究取决与分布式电源的种类,即是否只向电网提供有功功率。而且很多算法


利用准确的损耗公式,计算时需要准确阻抗矩阵和雅可比矩阵,计算效率低。因此针对不同大小、复杂性,有待于找出一种适用于所有情况的方法。本文提出了一种确定分布式电源的最佳容量和位置的分析,该方法计算效率高,适用范围广。


1.1 目标函数

(1)以系统有功网损最小和电压偏差最小建立多目标优化数学模型,其目标函数为:

式中:N为支路总数;Pi和Qi分别为第i条支路的有功与无功功率;Ui为第i条支路的末端节点电压;Ri为第i条支路的电阻;ki为第i条支路的开关状态,0代表断开,1代表闭合;f1为总有功损耗。t为节点编号;k为节点总数;Uts、UtN分别表示第t个节点的实际电压与额定电压;f2表示电压偏移量。


(2)光伏消纳量增加通常也会引起网络损耗的增加,为真实体现系统中光伏的有效消纳,在此将光伏实际消纳量与系统网络损耗的差值定义为有效消纳量Ec如下:


式中:T 为重构周期时段数;H为接入分布式光伏电源的节点数;PC(i,t )为节点i在t时段实际消纳的分布式光伏有功功率;K为配电网中的闭合支路数;Ptk、Qtk和Utk分别为支路k 在t时段的有功功率、无功功率和电压;rk为支路k的电阻。

光伏设备出力PPV如下:


               


其中,E 为光伏电池板数;PS(t,e )为第e个光伏电池板在t时段实际可发功率的标幺值;htmax为在t时段光照强度的最大值;Ae、ηe分别为第e个光伏电池板的面积和光电转换效率。


为了表征有效消纳量与光伏设备出力的关系,并使优化模型更为简便,将光伏设备出力和光伏有效消纳量比值定义为函数f3。则f3越小证明消纳效果越好,最小化目标函数为:


优化调度模型的目标函数F由3部分组合而成,如下式所示:

2.2 约束条件

优化的目标是得到5个接入节点和对应接入的容量,平衡节点1不接光伏,那么可接入光伏节点的取值范围为2-33;容量范围为0-2MW,步长为0.1MW

📚2 运行结果

部分代码:

Ppv=sum(x(6:10))*0.1;%光伏消纳总量
f1=P1*SB;%总损耗
f2=sum(abs(U-1));%电压偏差
w1=100;w2=100;w3=1;
Ec=Ppv-f1;
f3=Ppv/Ec;
F=w1*f1+w2*f2+w3*f3+KU*SU+KI*SI;
disp('网损/kW')
f1*1000
disp('电压偏差/pu:')
f2
disp('出力消纳比为:')
f3
....
xlabel('迭代次数');
ylabel('目标函数值');
title('迭代收敛图')
hold on;
grid on;
disp('光伏接入点为:')
BestSol1.Position(1:5)
disp('对应接入容量为/MW:')
BestSol1.Position(6:10)*0.1

🎉3 参考文献

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

[1]孙博伟.配电网中分布式能源的选址与定容方法[J].电力勘测设计,2016(01):61-64.DOI:10.13500/j.cnki.11-4908/tk.2016.01.014.

[2]孙博伟.配电网中分布式能源的选址与定容方法[J].电力勘测设计,2016(01):61-64.DOI:10.13500/j.cnki.11-4908/tk.2016.01.014.

🌈4 Matlab代码实现


相关文章
|
3月前
|
算法 Go
[go 面试] 雪花算法与分布式ID生成
[go 面试] 雪花算法与分布式ID生成
|
10天前
|
算法 关系型数据库 MySQL
分布式唯一ID生成:深入理解Snowflake算法在Go中的实现
在分布式系统中,确保每个节点生成的 ID 唯一且高效至关重要。Snowflake 算法由 Twitter 开发,通过 64 位 long 型数字生成全局唯一 ID,包括 1 位标识位、41 位时间戳、10 位机器 ID 和 12 位序列号。该算法具备全局唯一性、递增性、高可用性和高性能,适用于高并发场景,如电商促销时的大量订单生成。本文介绍了使用 Go 语言的 `bwmarrin/snowflake` 和 `sony/sonyflake` 库实现 Snowflake 算法的方法。
23 1
分布式唯一ID生成:深入理解Snowflake算法在Go中的实现
|
22天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
1月前
|
算法
基于粒子群算法的分布式电源配电网重构优化matlab仿真
本研究利用粒子群算法(PSO)优化分布式电源配电网重构,通过Matlab仿真验证优化效果,对比重构前后的节点电压、网损、负荷均衡度、电压偏离及线路传输功率,并记录开关状态变化。PSO算法通过迭代更新粒子位置寻找最优解,旨在最小化网络损耗并提升供电可靠性。仿真结果显示优化后各项指标均有显著改善。
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
48 1
|
3月前
|
存储 调度 文件存储
分布式锁设计问题之当发生节点重启时发往该节点的请求会如何解决
分布式锁设计问题之当发生节点重启时发往该节点的请求会如何解决
|
3月前
|
算法
分布式锁设计问题之重建节点锁信息时要分为多个阶段如何解决
分布式锁设计问题之重建节点锁信息时要分为多个阶段如何解决
|
3月前
分布式锁设计问题之节点A向节点C发起对R1的加锁请求如何解决
分布式锁设计问题之节点A向节点C发起对R1的加锁请求如何解决
|
3月前
|
Oracle 关系型数据库
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
|
1月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
下一篇
无影云桌面