基于概率距离的场景快速削减法的风光场景生成与削减方法

MATLAB代码:基于概率距离的场景快速削减法的风光场景生成与削减方法
关键词:风光场景生成 场景削减 概率距离削减法 蒙特卡洛法
参考文档:《含风光水的虚拟电厂与配电公司协调调度模型》完全复现场景削减部分
仿真平台:MATLAB平台
优势:代码具有一定的深度和创新性,注释清晰,非烂大街的代码,非常精品!
主要内容:代码主要做的是风电、光伏以及电价场景不确定性模拟,首先由一组确定性的方案,通过蒙特卡洛算法,生成50种光伏场景,为了避免大规模光伏场景造成的计算困难问题,采用基于概率距离快速削减算法的场景削减法,将场景削减至5个,运行后直接给出削减后的场景以及生成的场景,并给出相应的概率,可移植以及可应用性非常强

基于概率距离的场景快速削减法的风光场景生成与削减方法_第1张图片

部分代码

%P=[31,30,27,12,23,29,38,43,53,57,59,62,58,55,48,46,48,45,43,41,44,45,42,40,35,26,14,7,19,27,36,40,48,50,55,66,56,55,48,47,48,45,42,39,42,45,47,44];
%取标准差为风电出力预测值E的5%-20%,这里x=E*10%
l=P*0.1;
Ps=[];
%生成一个风电场景,E+x*randn(1,24),其中randn(1,24)为生成随机数的标准正态分布
m=50; %生成m个场景
for i=1:m
s=P+l.*randn(1,24);
Ps=[Ps;s];
end
Ps_d=Ps; %定义削减后的电价场景

%场景削减
pi=1/m*ones(m,1); %蒙特卡罗生成的场景为等概率场景,建立每个场景的概率向量
%计算风电场景Ws中每对场景的几何距离x
x=zeros(m,m); 
for i=1:m
    for j=1:m
            x(i,j)=sum(abs(Ps(i,:)-Ps(j,:)));
    end
end

%计算每个场景与剩余场景的概率距离之和y
y=zeros(m,1);
for i=1:m
y(i)=1/m*sum(x(i,:));
end
k=length(y);

%不断削减场景,直到剩余5个场景

你可能感兴趣的:(matlab,算法,开发语言)