(文章复现)微电网两阶段鲁棒优化经济调度方法

简介: 完美地复现了中国电机工程学报的文献《微电网两阶段鲁棒优化经济调度方法_刘一欣》。代码基于matlab+yalmip+cplex实现,代码是个人原创,注释详细,结构清晰有条理,运行的图形效果很好。对于任意随机生成的初始化光伏和负荷场景都可实现有效的收敛。针对文献中存在的少量笔误,我通过发邮件向通讯作者确认,将模型修改成为正确的形式。所提出的模型考虑了分布式电源和负荷的不确定性,通过对两阶段鲁棒优化模型的求解,微电网能够得到“最恶劣”场景下系统运行成本最小的调度方案。代码构建了基于两阶段鲁棒优化的微电网经济..

一、文献中存在的笔误

文献中两阶段鲁棒优化的模型的构建是基于下面这个确定性优化:

image.gif

但是我复现的时候发现,这个模型其实是有点小问题的,第三行约束条件写的是Ky=0,但是对应的约束条件中等式右边并不全为零,所以按照常理,这一个约束应该写成Ky=k。但不确定这个文章是做了线性变换还是笔误。我也在这里纠结了好久。

后面不知怎么的,我想着给文章通信作者发邮件询问一下,没想到真的收到回复了。刘一欣老师说这里确实是个笔误,等式右边应还有一个列向量。特别感谢刘老师可以回复我这个小菜鸡,不然我要在这上面纠结很久。

我询问的邮件:

image.gif

刘一欣老师的回复:

image.gif编辑我邮件中提到的另一个问题,是关于这个对偶问题的:

image.gif

因为根据强对偶定理,对偶变量对应的约束为等式约束,所以化为对偶形式时,对偶变量不应该含有符号约束,也就是≥0这个约束要删去。

同时因为约束Ky=0这一项要改成Ky=k,所以子问题的目标函数也要加上这一项。

解决了上面这些问题,后面的建模就相对没有那么困难了。

二、决策变量和约束矩阵

决策变量x是一个48维的列向量:


决策变量y是一个240维的列向量:


c和y一样都是一个240维的列向量:


D是一个144行240列的矩阵,d是一个144维的列向量,Dy≥0可以写成矩阵形式:image.gif

表示24阶的单位矩阵,表示下三角和对角线全为1的矩阵,上三角全为0的矩阵。

K是一个50行240列的矩阵,k是一个50维的列向量,Ky=k可以写成矩阵形式:

image.gif

式中,表示元素全为1的24维行向量。

F是一个96行48列的矩阵,G是一个96行240列的矩阵,h为96维的列向量,Fx+Gy≥h可以写成矩阵形式:

image.gif

image.gif

这样就实现了完成了所有系数矩阵的输入。

其他没有在矩阵中涉及的约束条件,用y>0表示即可。

三、matlab代码

%% 清理内存空间
clc
clear
close all
%% 随机生成初始的光伏出力和负荷大小
u_sharp=creat_situation;
%% 迭代求解两阶段鲁棒优化问题
it_max=10;%最大迭代次数
LB=zeros(1,it_max);
UB=zeros(1,it_max);
e=zeros(1,it_max);
for it=1:it_max
    [x,LB(it),~]=master_problem(u_sharp);
    [u_sharp,UB(it)]=sub_problem(x);
    e(it)=UB(it)-LB(it);
    if abs(e(it))<0.01
        break
    end
end
%% 画图
index=[1 1 1 1 1 1 1];
%共有七个图,1-算法迭代情况,2-光伏出力,3-负荷大小,4-微型燃气轮机出力,5-微网购售电,6-储能充放电,7-需求响应负荷
%index对应位置为1表示画图,为0表示跳过
plot_figure(index,u_sharp,e,it_max);

image.gif  

四、运行结果

运行结果一共有七个图,效果如下:

image.gif

image.gif

image.gif

image.gif

image.gifimage.gif

image.gif

因为没法获取原文献的数据,所以具体结果和文献不会完全一致,但是原理都是一样的。

相关文章
|
6月前
|
算法 调度
电网两阶段鲁棒优化调度模型(含matlab程序)
电网两阶段鲁棒优化调度模型(含matlab程序)
|
5月前
|
算法 调度
【完全复现】基于改进粒子群算法的微电网多目标优化调度
该文档描述了一个使用改进粒子群算法实现的微电网多目标优化调度的Matlab程序。该模型旨在最小化运行成本和环境保护成本,将多目标问题通过权值转换为单目标问题解决。程序中定义了决策变量,如柴油发电机、微型燃气轮机、联络线和储能的输出,并使用全局变量处理电负荷、风力和光伏功率等数据。算法参数包括最大迭代次数和种群大小。代码调用了`PSOFUN`函数来执行优化计算,并展示了优化结果的图表。
|
6月前
|
调度
【重磅】IEEE33配电网两阶段鲁棒优化调度CCG
【重磅】IEEE33配电网两阶段鲁棒优化调度CCG
|
6月前
|
调度
【核心完整复现】基于目标级联法的微网群多主体分布式优化调度
【核心完整复现】基于目标级联法的微网群多主体分布式优化调度
|
6月前
|
安全 新能源 调度
【两阶段鲁棒】计及需求响应的多能互补微网两阶段鲁棒优化matlab
【两阶段鲁棒】计及需求响应的多能互补微网两阶段鲁棒优化matlab
|
移动开发 安全 数据挖掘
(文章复现)梯级水光互补系统最大化可消纳电量期望短期优化调度模型matlab代码
参考文献: [1]罗彬,陈永灿,刘昭伟等.梯级水光互补系统最大化可消纳电量期望短期优化调度模型[J].电力系统自动化,2023,47(10):66-75.
|
算法 调度
基于目标级联法的微网群多主体分布式优化调度(Matlab代码实现)
基于目标级联法的微网群多主体分布式优化调度(Matlab代码实现)
185 0
微电网两阶段鲁棒优化(Matlab代码实现)
微电网两阶段鲁棒优化(Matlab代码实现)
微电网两阶段鲁棒优化(Matlab代码实现)
|
算法 数据挖掘 新能源
计及源荷不确定性的综合能源生产单元运行调度与容量配置优化研究(Matlab代码实现)
计及源荷不确定性的综合能源生产单元运行调度与容量配置优化研究(Matlab代码实现)
127 0
|
算法 调度
微电网两阶段鲁棒优化经济调度方法[3]【升级优化版本】(Matlab代码实现)
微电网两阶段鲁棒优化经济调度方法[3]【升级优化版本】(Matlab代码实现)
117 0
下一篇
无影云桌面