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

部分结果

下载链接

相关推荐
机器学习之心24 分钟前
机器学习用于算法交易(Matlab实现)
算法·机器学习·matlab
曹勖之1 天前
UE 5 和simulink联合仿真,如果先在UE5这一端结束Play,过一段时间以后**Unreal Engine 5** 中会出现显存不足错误
matlab·ue5·机器人
曹勖之2 天前
simulink有无现成模块可以实现将三个分开的输入合并为一个[1*3]的行向量输出?
matlab
机器学习之心2 天前
Transformer-BiGRU多变量时序预测(Matlab完整源码和数据)
深度学习·matlab·transformer·bigru
slandarer2 天前
MATLAB | 绘图复刻(十九)| 轻松拿捏 Nature Communications 绘图
开发语言·matlab
【杨(_> <_)】3 天前
信号处理分析工具——时频分析(一)
算法·matlab·信号处理
曹勖之3 天前
在MATLAB中使用自定义的ROS2消息
开发语言·matlab·机器人·ros·simulink·ros2
我爱C编程3 天前
基于QPSK调制解调+Polar编译码(SCL译码)的matlab性能仿真,并对比BPSK
matlab·qpsk·polar编译码·scl译码
bubiyoushang8884 天前
matlab实现高斯烟羽模型算法
开发语言·算法·matlab
tyatyatya4 天前
MATLAB 中调整超参数的系统性方法
开发语言·matlab