Matlab|【分布鲁棒】数据驱动的多离散场景电热综合能源系统分布鲁棒优化算法

目录

主要内容

[1.1 主要难点-分布鲁棒优化](#1.1 主要难点-分布鲁棒优化)

[1.2 程序求解步骤-主子问题迭代](#1.2 程序求解步骤-主子问题迭代)

部分结果

下载链接


主要内容

本程序主要对《基于场景聚类的主动配电网分布鲁棒综合优化》-高海淑的方法复现,应用到综合能源电热微网方向,采用拉丁超立方抽样对不同场景进行处理,然后采用K-means聚类算法对场景聚类分析,应用该聚类分析数据采用分布鲁棒优化,场景分布的概率置信区间由1-范数和∞-范数约束,分两阶段对电热综合能源模型进行优化求解,得到不同场景下的优化结果。

下面对模型主要功能点进行分析。

1.1 主要难点- 分布鲁棒优化

该模型分布鲁棒模型目标的紧凑形式如下:

不同场景的概率分布满足如下集合(这里是经过推导得出来的,具体详见原文,这篇文章该部分分析还算分布鲁棒中比较清楚的,很多文献直接就不明不白得出结论,看的一头雾水):

但是该集合非线性,需要进行线性化处理,得到如下的线性化集合:

该部分对应的代码如下:

复制代码
%不确定约束
constraints=[constraints,sum(psp+psd)<=theta1];
constraints=[constraints,psp+psd<=thetaw];
constraints=[constraints,sigmap+sigmad<=1];
constraints=[constraints,0<=psp<=sigmap*theta1];
constraints=[constraints,0<=psd<=sigmad*theta1];
constraints=[constraints,ps==ps0'+psd+psp];

1.2 程序求解步骤-主子问题迭代

将模型分解为主问题与子问题,采用C&CG 算法分阶段迭代求解,具体迭代求解示意图如下:

主程序MAIN代码列示主子问题两部分循环迭代,具体代码如下:

复制代码
ps0=[22.7; 15.6; 38.05; 23.65]'./100;%场景概率
ps=ps0;
alfa1=0.99;alfaw=0.99;N=5000;
theta1=4/N/2*log(2*4/(1-alfa1));%公式46-47
thetaw=1/N/2*log(2*4/(1-alfaw));
tn=24;%时序性参数
Pgmax=300;ru=50;rd=50;%微燃机最大出力,爬坡约束 原pgmax=100
Sch=400;Pchmax=0.2*Sch;ee0=0.5*Sch;socmax=0.9;socmin=0.1;
eta=0.95;%储能充放电效率
cg=1.7;%MTG运行成本
cq=0.62;%弃风弃光成本
ccn=0.3*7/100;%储能老化成本 原/1000
cqt=0.25;%启停成本
d2h=1.2;%电热比
yitagl=0.9;%电锅炉
UB=inf;
LB=-inf;
for k=1:4
% while UB-LB>1
    MP427;%主问题求解
    LB=obj_mp;%得到LB
    LB1(k)=LB;
    SP427;%子问题求解
    UB=min([UB,UB1]);%更新UB
    UB2(k)=UB;
end

部分结果

下载链接

相关推荐
代码小小只2 分钟前
考虑不确定性的电动汽车优化问题
matlab
yong99903 小时前
基于小波分析与粒子群算法的电网潮流优化实现(MATLAB)
开发语言·算法·matlab
Dev7z3 小时前
基于MATLAB HSI颜色空间的图像美颜系统设计与实现
开发语言·matlab
ghie90904 小时前
MATLAB 高速公路裂缝检测
开发语言·matlab
天呐草莓7 小时前
热传导方程
算法·matlab
hoiii1878 小时前
基于MATLAB实现无监督数据建模
开发语言·matlab
kaikaile19959 小时前
使用纯MATLAB M函数实现的无刷直流电机控制系统仿真
开发语言·matlab
崇山峻岭之间9 小时前
Matlab学习记录09
开发语言·学习·matlab
Dargon28821 小时前
实例讲解Simulink的MATLAB Function模块
开发语言·matlab·simulink·mbd软件开发
崇山峻岭之间1 天前
Matlab学习记录05
开发语言·学习·matlab