✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

⛄ 内容介绍

虚拟电厂(VPP)在调度过程中面临多种不确定因素,给决策和系统安全运行带来一定的困难.提出了基于混合随机规划/信息间隙决策理论(IGDT)的VPP调度优化模型,该模型针对电价概率分布描述较为准确,预测精度较高的特点,采用随机规划处理电价的不确定性;针对风光出力概率分布难以精确刻画,预测精度较低的特点,采用IGDT处理风光出力的不确定性,通过赋予风光出力偏差系数不同的权重,解决了IGDT同时处理风光出力不确定性的问题.然后,以系统运行成本最小化为目标,构建了虚拟电厂确定型调度模型;为进一步考虑可再生能源出力的区间不确定性,基于信息间隙决策理论构建了风险规避和机会寻求2种策略下的调度优化模型.通过算例分析得到持有不同风险态度下的电厂与碳捕集装置的调度方案,验证了模型的可靠性和有效性.

⛄ 部分代码

%% Calculation of Power System

clc

clear 

close all  

%% NR load flow analysis

nbus = 30; 

busdata = busdatas(nbus);

linedata = linedatas(nbus);

resultWithoutDG = nrloadflow(nbus,busdata,linedata);

dim = 10;

Pmin=3; %minimum  power of solar DG unit

if nbus==30

    Pmax=30; %maximum power of solar DG unit in MW

else

    Pmax=100;

end

%% potential bus selection

R=linedata(:,3);

sourcbus=linedata(:,1);

destintnbus=linedata(:,2);

% del=180/pi*del;

 for ii=1:size(linedata,1)

         alpha(ii)=(R(ii)/(abs(resultWithoutDG.V(sourcbus(ii)))...

                        *abs(resultWithoutDG.V(sourcbus(ii)))))...

                         *cos(resultWithoutDG.del(sourcbus(ii))...

                            -resultWithoutDG.del(destintnbus(ii)));

         beta(ii)=(R(ii)/(abs(resultWithoutDG.V(sourcbus(ii)))...

                       *abs(resultWithoutDG.V(sourcbus(ii)))))...

                        *sin(resultWithoutDG.del(sourcbus(ii))...

                          -resultWithoutDG.del(destintnbus(ii)));

         SV(ii)=alpha(ii).*resultWithoutDG.Pi(destintnbus(ii))...

                     -beta(ii).*resultWithoutDG.Qi(destintnbus(ii));

 end

[sv,ind]=sort(SV,'descend');

po=destintnbus(ind);

[poo,ia,ic]=unique(po);

temp=po(sort(ia));

loadBusLocation = temp(1:dim);

%% GA optimisation

fitness=  @(x) objf(x,loadBusLocation,resultWithoutDG,nbus);

options = gaoptimset('MutationFcn',@mutationadaptfeasible,'PopulationSize',20);

options = gaoptimset(options,'PlotFcns',{@gaplotbestf}, ...

    'Display','iter','Generations',80);

[GAx,fval] = ga(fitness,dim,[],[],[],[],Pmin.*ones(1,dim)...

                                ,Pmax.*ones(1,dim),[],options);

finalGAresults= resultcalc(GAx,loadBusLocation,resultWithoutDG,nbus);

%% PSO optimisation

[PSOx,objval]=PSO(loadBusLocation,resultWithoutDG,nbus,dim,Pmax,Pmin);

finalPSOresults= resultcalc(PSOx',loadBusLocation,resultWithoutDG,nbus);

FIG1 = figure('Name', 'PSO Optimization','NumberTitle','off');

figure(FIG1)

plot(1./objval)

grid on;

ylabel('VL (pu)');

xlabel('time (sec)');

title('PSO optimisation')

%% Result plotting

% volatge magnitude plot

FIG2 = figure('Name', 'BUS VOLTAGE','NumberTitle','off');

figure(FIG2)

bar([finalPSOresults.V,finalGAresults.V,resultWithoutDG.V],'group')

xlim([0 nbus+1])

ylim([0.95,1.1])

grid on;

legend('PSO optimised','GA optimised','Without DG')

xlabel('Bus number')

ylabel('Volatge Magnitude in p.u.')

title('Bus Voltage')

% power loss comparison

FIG3 = figure('Name', 'Total Active Power loss','NumberTitle','off');

figure(FIG3)

bar([sum(finalPSOresults.Lpij);sum(finalGAresults.Lpij);sum(resultWithoutDG.Lpij)])

grid on;

title('Total Active Power loss in MW')

ylabel('Active Power loss(MW)')

set(gca,'Xtick',0)

text(0.8,-0.2,'PSO tuned')

text(1.8,-0.2,'GA tuned')

text(2.8,-0.2,'Without Optimisation')

% printresult

⛄ 运行结果

基于信息间隙决策理论的碳捕集电厂调度附Matlab代码_sed

基于信息间隙决策理论的碳捕集电厂调度附Matlab代码_概率分布_02

基于信息间隙决策理论的碳捕集电厂调度附Matlab代码_Power_03

⛄ 参考文献

[1]于雪菲, 张帅, 刘琳琳,等. 基于信息间隙决策理论的碳捕集电厂调度[J]. 清华大学学报:自然科学版, 2022, 62(9):7.

[2]艾星贝, 闫庆友. 基于信息间隙决策的含碳捕集虚拟电厂经济调度优化模型[J]. 电力科学与工程, 2022, 38(5):11.

[3]赵开联, 唐岚, 刘乾晖,等. 一种基于信息间隙决策理论的高比例可再生能源电网调度方法:, CN113887880A[P]. 2022.

基于信息间隙决策理论的碳捕集电厂调度附Matlab代码_概率分布_04

⛳️ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料