Matlab|考虑不确定性的含集群电动汽车微电网随机优化调度

目录

主要内容

[1.1 集群电动汽车模型](#1.1 集群电动汽车模型)

[1.2 场景生成与缩减](#1.2 场景生成与缩减)

部分代码

结果一览

下载链接


主要内容

该模型研究的是一种并网型微电网,其中包括分布式电源(汽轮机)、需求响应负荷(可平移负荷)、可再生能源(光伏)、固定负荷、储能设施、集群电动汽车以及与配网交互功率部分。首先,模型考虑负荷和光伏的不确定性,利用拉丁超立方抽样算法生成和削减得到典型场景,方便下一步采用随机优化更好地求解各个主体最佳出力和系统最低成本。其次,在分时电价的引导下,以总运行成本最低为优化目标,建立了基于场景法的随机优化调度模型。这个模型可以帮助我们在不同场景下制定最优的运行策略,从而降低运行成本。程序采用matlab编写,采用了紧凑型约束表达方式,适合有经验的同学参考学习!

1.1 集群电动汽车模型

1.2 场景生成与缩减

部分代码

复制代码
%场景削减(快速后向削减)
%原理:确定初始场景集合的一个子集,并给其重新分配场景概率,使保留场景的概率分布Q与初始场景集合的概率P之间的某种概率距离最短(即,P与Q相近),
%从而削减概率小的概率,将其加到与其场景的概率距离最近的场景上。
%%
%计算各个场景之间的概率距离
k=zeros(1000,1000);
for i=1:1000
    for j=1:1000
        if i==j
            k(i,j)=0;%K距离
        else
            k(i,j)=sqrt(sum((m(:,i)-m(:,j)).^2));
        end
    end
end
p=ones(1000,1)*0.001;%各场景初始概率
%%
%%寻找最小概率距离场景
k1=k;b2=[];k1(k1==0)=inf;
for n=1:995%削减990次,保留10个概率最高场景
[mink,index]=min(k1,[],2);%index每行最小坐标列  %mink 每行最小数值   % min(k1,[],2) 求取每行的最小值;min(k1,[],1)求取每列的最小值
%%
%删去index2 行  %%min(mink.*p) 概率最低。。。被淘汰  
[mink11,index2]=min(mink.*p);
b=index2;
%减少一个场景
k1(b,:)=[];
k1(:,b)=[];
%%
b2=[b2;b];
%%
%新概率生成
a=index(index2);%与被削减场景的概率距离最近的场景a
%新场景概率a=原来对应场景概率a+概率重新分配系数*与此情景概率距离最近场景index2
p(a)=p(index2)+p(a);
%%
%一次循环后新的概率和场景
p(b)=[];
m(:,b)=[];
m1(:,b)=[];
m2(:,b)=[];
%%
end%%%%一轮循环结束,场景削减1个。
%%
%%削减后的场景
figure()
plot(-m1);
hold on
plot(m2);
​
%%%%%%%%%%%%%考虑不确定性的含集群电动汽车微电网随机优化调度%%%%%%%%%%%%
%%设参
pm_max=1500;%联络线功率上限
eta=0.95;%储能充放电效率
p_g_max=800;
p_g_min=80;
ps_max=500;
ES_max=1800;
ES_min=400;
ES0=1200;

结果一览

下载链接

相关推荐
studyer_domi8 小时前
matlab质子磁力仪传感器线圈参数绘图
人工智能·matlab
青橘MATLAB学习14 小时前
模糊综合评价法:原理、步骤与MATLAB实现
开发语言·算法·数学建模·matlab·分类
studyer_domi14 小时前
matlab 三维时频图绘制
开发语言·matlab
studyer_domi18 小时前
matlab飞行姿态pid控制
matlab
Matlab仿真实验室18 小时前
基于Matlab实现信道估计仿真(源码)
开发语言·matlab·信道估计仿真
studyer_domi20 小时前
matlab 汽车abs的pid控制仿真
开发语言·matlab·汽车
studyer_domi20 小时前
matlab 汽车abs的模糊pid和pid控制仿真
开发语言·matlab·汽车
freexyn1 天前
Matlab自学笔记四十七:如何把日期时间型数据作为横坐标进行绘图
开发语言·笔记·matlab
见你背影1 天前
matlab数据处理:创建网络数据
matlab
chinakq2 天前
C++学习计划(三周) 有matlab和python基础,如何快速入门C++(利用《C++ primer plus》)
c++·学习·matlab