(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

这篇具有很好参考价值的文章主要介绍了(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考文献:

[1]王月汉,刘文霞,姚齐,万海洋,何剑,熊雪君.面向配电网韧性提升的移动储能预布局与动态调度策略[J].电力系统自动化,2022,46(15):37-45.

1.基本原理

        灾后调度阶段以故障持续时间内负荷削减功率加权值最小为目标,建立了多源协同的灾后恢复优化模型,通过动态调度移动储能、电动汽车与柴油发电机,最大限度提升配电网韧性。其中移动储能的调度考虑到了配电网和交通路网的耦合关系,并对冰雪灾害等气候情况对移动储能移动状态的影响进行了数学建模,此外,在灾后恢复阶段,各时刻的负荷削减功率、分布式电源出力与配电网运行仍需要满足相应约束,约束条件形式与灾前预布局阶段相同。具体的原理这里不再赘述,可以自行下载文献进行查看。

2 模型求解

        灾后恢复优化模型为混合整数二阶锥规划问题,可利用商业求解器 Gurobi 求解。

3.编程思路分析

3.1参数和变量定义

表1 相关参数

(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

 表2 决策变量

 (文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

3.2编程思路

        根据对文献内容的解读,可以设计下面的编程思路:

步骤1输入所需数据

        部分数据和灾前移动储能预配置阶段的相同,继续用就行其他的数据可在原文提供的附录中获取,这部分主要的问题和难点如下:

        获取各节点的距离矩阵。原文中给出的假设是交通网拓扑与电网相同,相邻电气节点间的道路距离为 2 km。但是,在文章的背景中,由于考虑了配电网重构,配电网拓扑结构可能会不断变化,交通网不可能随着电网拓扑变化。所以假设交通网和初始配电网拓扑相同。另外,需要用到的距离矩阵是所有节点两两之间的距离,目前已知的是相邻节点的距离,需要采用图论算法进行求解。

        步骤2:定义决策变量

        这一步比较简单,按照表2,初始化决策变量即可。要注意的是每个决策变量的维度以及类型(sdpvar还是binvar)不要出错。

        需要注意一点,由于文中共有两个移动储能车,33个节点,11个时段,如果采用常规变量定义方式,alpha_ME将是一个2×33×11的三维变量,这么处理会大大降低程序运行速率。为了方便起见,将定义两个33×11的二维变量,alpha_ME1alpha_ME2,就可以避免使用三维决策变量。

        步骤3:定义目标函数和约束条件,尝试求解确定性优化问题

        按照原文中给定的公式,写出相应的目标函数与约束条件即可。但文中涉及的优化问题是一个多时段的混合整数二阶锥优化,如果采用常规的思维,在写约束条件时经常会用到三层以上的循环,大大拖慢程序运行速度,可以采用一些小技巧避免多层循环的使用,提高程序效率。

        1.以约束条件(26)为例说明如何避免多重循环的使用。式(26)只写了t的取值范围,如果把其他下标的取值范围都标上,式(26)就变成了下面这样:

(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码        按常规思维来看,需要写成5层循环的形式,matlab代码如下:

for t = 1:NT
    for i = 1:NME
        for j = 1:NB
            for k = 1:NB
                for dt = 1:min([floor(T_ME(j,k,t)),NT-t])
                    Constraints = [Constraints , alpha_ME(i,j,t) + alpha_ME(i,k,t+dt) <= 1];
                end
            end
        end
    end
end

        首先,在定义决策变量时,就已经把两个移动储能的决策变量分开表示,可以减小一层循环,另外,可以将j,k两层循环写成一组数对,方法如下:

j_index = zeros(1,33*33);
k_index = zeros(1,33*33);
it = 1;
for j = 1:33
    for k = 1:33
        j_index(it) = j;
        k_index(it) = k;
        it = it + 1;
    end
end

        其中j_indexk_index都是1089(33×33)维的数据,把这两个变量提前存在工作区,使用时读取出来,就可以把5层循环减小到2层循环,如下所示:

for t = 1:NT
    for dt = 1:min([floor(T_ME(j_index(k),k_index(k),t)),NT-t])
        % 式26
        Constraints = [Constraints , alpha_ME1(j_index,t) + alpha_ME1(k_index,t+dt) <= 1 , alpha_ME2(j_index,t) + alpha_ME2(k_index,t+dt) <= 1];
    end
end

        经过这样处理,运行时间从原本的0.383611秒减小到0.001126秒,提升的效率达到了99.71%。我只是以约束条件(26)为例进行说明,当优化问题非常复杂时,减少循环语句的使用对程序运行效率的提升是非常惊人的。

(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

        2.另外再强调一点,配电网最优潮流最容易踩坑的地方就是标幺值转换上。之前有朋友拿自己写的代码问我,说感觉公式模型都是按照参考文献打的,但一用求解器就是“Infeasible problem”,拿给我一看,参数中有的数值用的是实际值,有的数值用的是标幺值,非常混乱,我把参数统一修改为标幺值就可以正常运行了。建议在编程时都转换为标幺值求解。

        这一步是最难的部分,需要有耐心,反复调试。为了避免在大段约束条件中寻找错误,建议是每加上一条约束条件,便调试一下模型是否可解,如果可解,再加入下一个约束条件,否则需要反复调试,找到问题所在。

        步骤4:输出计算结果

        原文中将移动储能的预布局和优化调度拆成两阶段优化策略,第二阶段为多源协同的灾后恢复优化模型,是一个混合整数二阶锥规划模型(MISOCP)。这份代码复现了第二阶段多源协同的灾后恢复优化模型的结果,第一阶段的结果可以查看我之前的博客。

4.完整Matlab代码

        灾后恢复的完整matlab代码可以从这个链接获取:

面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码
        包含灾前预配置和灾后恢复的完整matlab代码可以从这个链接获取:
面向配电网韧性提升的移动储能预布局与动态调度策略-全文复现matlab代码

5.运行结果分析

5.1表2 移动储能的动态调度结果

 (文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

5.2 图B3 灾害发生后光伏机组的预测出力 

(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

5.3 图4 各时段负荷功率和恢复比例 

(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

5.4 图B4 移动储能有功功率输出与接入位置的关系

(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

5.5 图B5 移动储能荷电状态与接入位置的关系 

(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码

5.6 图B6 灾后恢复阶段柴油发电机有功功率输出

 (文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码文章来源地址https://www.toymoban.com/news/detail-481044.html

到了这里,关于(文章复现)面向配电网韧性提升的移动储能预布局与动态调度策略(2)-灾后调度matlab代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 储能pcb的布局注意事项与制造难点

    随着新能源需求的不断增长和能源结构的转型,储能技术的市场规模不断扩大。储能PCB作为储能系统中电池模块的重要组成部分,对整个系统的安全性和性能起到关键作用。今天我们就来聊聊,储能pcb有什么特征。 什么是储能:储能是指能量的存储,是指通过介质或设备把能

    2024年02月13日
    浏览(35)
  • 【方法复现】主动配电网故障定位方法研究

    目录 1 主要内容 算例模型 期望故障电流状态函数 评价函数(膨胀率函数) 算例验证方法 详实的文档说明 2 部分程序 3 程序结果 4 下载链接 该程序方法复现了《基于改进多元宇宙算法的主动配电网故障定位方法研究》_郑聪,建立了含分布式电源的主动配电网故障定位方法

    2023年04月09日
    浏览(31)
  • 配电网可靠性评估(4)—(顶刊复现)基于线性规划的配电网可靠性评估

            之前的博客中介绍了配电网可靠性评估的三种方法、分别是解析法中的最小路法,以及序贯蒙特卡罗模拟法及非序贯蒙特卡洛模拟法,顺带提到了含有分布式电源的配电网可靠性评估方法。 配电网可靠性评估(一)最小路法和非序贯蒙特卡洛模拟法 配电网可靠性评

    2024年02月08日
    浏览(35)
  • C类期刊论文复现:基于共享储能电站的工业用户日前优化经济调度程序代码!

    适用平台: Matlab+Yalmip+Cplex/Gurobi; 程序在用户群间引入共享储能电站,建立以用户群日运行成本最优为目标的优化调度模型,分析用户群接入共享储能电站后的充放电行为和经济效益,并对共享储能电站的投资回收年限等经济性指标与服务费定价关系做进一步的研究。程序中

    2024年01月17日
    浏览(34)
  • 改进二进制粒子群算法在配电网重构中的应用(Matlab实现)【论文复现】

    目录  ​ 0 概述 1 配电网重构的目标函数 2 算例 3 matlab代码实现 配电系统中存在大量的分段开关和联络开关,配电网重构正是通过调整分段开关和联络升大的组合状态来变换网络结构,用于优化配电网某些指标,使其达到最优状态。正常运行时,则通过两类开关的不同组合状态

    2024年02月15日
    浏览(35)
  • 【多微电网】基于粒子群优化算法的面向配电网的多微电网协调运行与优化(Matlab代码实现)

      💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 大量的

    2024年02月05日
    浏览(30)
  • 008文章解读与程序——《含分布式电源接入的配电网可靠性评估》已提供下载资源

    👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆下载资源链接👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆 摘要:分布式电源的接入使得配电系统从放射状无源网络变为分布有中小型电源的有源网络。带来了使单向流动的电流方向具有了不确定

    2024年02月03日
    浏览(28)
  • 移动端布局之流式布局1(百分比布局):流式布局基础、案例:京东移动端首页1

    流式布局,就是百分比布局,也称非固定像素布局 通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受固定像素的限制,内容向两侧填充 流式布局方式是移动web开发使用的比较常见的布局方式 max-width 最大宽度(max-height 最大高度) min-width 最小宽度(min-height

    2024年02月07日
    浏览(37)
  • 【移动端网页布局】移动端网页布局基础概念 ① ( 移动端浏览器 | 移动端屏幕分辨率 | 移动端网页调试方法 )

    移动端浏览器 比 PC 端浏览器发展要晚 , 使用的技术比较新 , 对 HTML5 + CSS3 支持较好 , 常见的浏览器如下 : UC / QQ / Opera / Chrom / 360 / 百度 / 搜狗 / 猎豹 国内的浏览器 基本都是 根据 Webkit 内核进行修改而来的 , 目前没有自主研发的内核 , 因此 移动端开发适配比较简单 , 兼容主流

    2023年04月22日
    浏览(45)
  • 【前端布局篇】响应式布局 Bootstrap 移动端布局

    1. 布局介绍 布局:layout 对事物的全面规划和安排 页面布局:对页面的文字、图形或表格进行格式设置。包括字体、字号、颜色纸张大小和方向以及页边距等。 网页布局:利用html搭建结构与内容,使用CSS添加装饰 HTML5+CSS3系列课程 携程网首页-移动端 响应式布局实战之微加建

    2024年02月10日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包