基于天牛须(BAS)与NSGA-Ⅱ混合算法的交直流混合微电网多场景多目标优化调度(Matlab代码实现)

简介: 基于天牛须(BAS)与NSGA-Ⅱ混合算法的交直流混合微电网多场景多目标优化调度(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥



🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。



⛳ 座右铭:行百里者,半于九十。


📋 📋 📋 本文目录如下: 🎁 🎁 🎁

目录

💥1 概述

📚2 运行结果

🎉3 文献来源

🌈4 Matlab代码实现


💥1 概述

本文使用基于天牛须算法(BAS)改进的NSGA-Ⅱ算法对微电网多场景多目标优化调度问题进行求解。在多场景处理方面,采用拉丁超立方抽样(Latin hypercube sampling, LHS)生成大量风电、光伏的日前出力场景,然后使用K-means++聚类方法对大量风光场景进行快速削减与场景生成,得到几个典型的风光出力曲线作为本文的优化调度考虑场景。在微电网优化调度方面,首先构建需求响应负荷,然后以微网运行经济性、运行环保性、可再生能源消纳率为目标函数,已微电网交直流网络潮流等作为约束条件,构建三目标的多场景微电网优化调度问题,最后采用天牛须算法改进NSGA-Ⅱ算法进行优化调度,加快其收敛速度。代码运行结果表明,本文所提方法可以有效降低微电网运行成本、提升可再生能源消纳率。


交直流混合微电网概述:


一般的交直流混合微电网结构如图所示。交流母线接入风力发电机和交流负荷,同时与配电网连接。直流母线接入燃料电池、光伏发电板、锂电池和直流负荷。交流母线和直流母线之间通过双向AC/DC功率变换器连接,实现双向功率流动。在微网正常工作时,交流负荷与直流负荷首先依靠对应侧的分布式电源满足供电需求。当交流侧与直流侧出现功率不平衡的情况时,可通过连接交直流母线的双向AC/DC功率变换器实现功率互补。而位于直流侧的锂电池可以为整个交直流混合微网提供功率的峰谷调节。同时,微电网透过交流侧与配电网的连接,可以为两者提供实时的功率交互。因此,与传统交流微网或直流微网调度相比,交直流混合微网的优化调度除需要应对新能源发电不确定性外,还要综合考虑交直流源荷分区运行的特点,客观上构成了调度的多重不确定性。


天牛须搜索(Beetle Antennae Search-BAS),也叫甲壳虫须搜索,是2017年提出的一种高效的智能优化算法。类似于遗传算法、粒子群算法、模拟退火等智能优化算法,天牛须搜索不需要知道函数的具体形式,不需要梯度信息,就可以实现高效寻优。相比于粒子群算法,天牛须搜索只需要一个个体,即一只天牛,运算量大大降低。


仿生原理


天牛须搜索是受到天牛觅食原理启发而开发的算法。


天牛须搜索的生物原理:


当天牛觅食时,天牛并不知道实物在哪里,而是根据食物气味的强弱来觅食。天牛有两只长触角,如果左边触角收到的气味强度比右边大,那下一步天牛就往左飞,否则就往右飞。依据这一简单原理天牛就可以有效找到食物。


天牛须搜索对我们的启发:


食物的气味就相当于一个函数,这个函数在三维空间每个点值都不同,天牛两个须可以采集自身附近两点的气味值,天牛的目的是找到全局气味值最大的点。仿照天牛的行为,我们就可以高效的进行函数寻优。


NSGA-Ⅱ多目标算法:


NSGA-Ⅱ是最流行的多目标遗传算法之一,它降低了非劣排序遗传算法的复杂性,具有运行速度快,解集的收敛性好的优点,成为其他多目标优化算法性能的基准。


NSGA-Ⅱ算法是Srinivas和Deb于2000年在NSGA的基础上提出的,它比NSGA算法更加优越:它采用了快速非支配排序算法,计算复杂度比NSGA大大的降低;采用了拥挤度和拥挤度比较算子,代替了需要指定的共享半径shareQ,并在快速排序后的同级比较中作为胜出标准,使准Pareto域中的个体能扩展到整个Pareto域,并均匀分布,保持了种群的多样性;引入了精英策略,扩大了采样空间,防止最佳个体的丢失,提高了算法的运算速度和鲁棒性。


NSGA-Ⅱ就是在第一代非支配排序遗传算法的基础上改进而来,其改进主要是针对如上所述的三个方面:


①提出了快速非支配排序算法,一方面降低了计算的复杂度,另一方面它将父代种群跟子代种群进行合并,使得下一代的种群从双倍的空间中进行选取,从而保留了最为优秀的所有个体;


②引进精英策略,保证某些优良的种群个体在进化过程中不会被丢弃,从而提高了优化结果的精度;


③采用拥挤度和拥挤度比较算子,不但克服了NSGA中需要人为指定共享参数的缺陷,而且将其作为种群中个体间的比较标准,使得准Pareto域中的个体能均匀地扩展到整个Pareto域,保证了种群的多样性。


文献来源:


338a3699a610544a5b43286b02ac73c4.png


摘要:为了提高交直流混合微网经济效益,提出实时电价机制下的交直流混合微网优化运行方法。首先针对交直流混合微网的结构和电气特性建立其优化运行模型;其次针对微网中负荷构成建立了基于负荷分类的负荷水平对实时电价的响应模型。所提出的日前调度模型将交直流混合微网制定的网内实时电价作为控制变量,给出实时电价制定策略和交直流混合微网日前调度方案。对所建立的模型采用混沌粒子群算法求解。最后通过一个算例验证了所提出方法可以提高风光消纳率,增加交直流混合微网收益并且减小用户平均电费支出。


关键词:


交直流混合微网;优化运行;实时电价;需求侧响应;混沌粒子群算法;


4ace31efe042927b7906a6d9ba880795.png


📚2 运行结果


a7c3082e84f7e0ac1ccbb2104c3e6cda.png


574df85c8c095c87f671a26a3ac15ef1.png


1c11d4ed75360a0eb73211832552b976.png


69a342778e36f71e4457283e5756f23b.png


a9d608984623f63c9aef3375d4b13fa1.png


94bef4ceaf345d5ec306d15ab95a639c.png


f7a255e29111f8c7bb80bf35e110d91c.png


3a6a1542fda46f5b5683ab42f9f48934.png


部分代码“

function load=DR3(pload,detapr)
%pload=ones(1,24);
price=[0.4042,0.4042,0.4042,0.4042,0.4042,0.4042,0.4042,0.8084,0.8084,1.3339,1.3339,1.3339,1.3339,1.3339,1.3339,0.8084,0.8084,1.3339,1.3339,1.3339,1.3339,0.8084,0.4042,0.4042];
%detapr=[-0.1.*ones(1,12) 0.1.*ones(1,12)];
pl1=0.6.*pload;%刚性负荷
pl2=0.2.*pload;%Ⅰ类
pl3=0.2.*pload;%Ⅱ类
[row,colz]=find(detapr>0);%电价上升时段
[row,colf]=find(detapr<0);%电价下降时段
num_colz=size(colz,2);%电价上升时段数量
num_colf=size(colf,2);%%电价下降时段数量
T=24;
a=0.08;%死区阈值
%Ⅰ类负荷
linj=0;lini=0;
for i=1:num_colf
linj=linj+abs(detapr(colf(i)));%公式(2)
end
for i=1:num_colz
lini=lini+abs(detapr(colz(i)));
end
for t=1:T
if ismember(t,colz)==1
fdetap=fhzy(detapr(t),a);
linp=0;
for kj=1:num_colf
linp=linp+fdetap*abs(detapr(colf(kj)))*pl2(t)/linj;
end
lam_pl2(t)=pl2(t)-linp;%公式(5)
elseif ismember(t,colf)==1
fdetap=fhzy(detapr(t),a);
linp=0;
for ki=1:num_colz
linp=linp+fdetap*abs(detapr(colz(ki)))*pl2(t)/lini;
end
lam_pl2(t)=pl2(t)+linp;%公式(6)
end
end
%Ⅱ类负荷
e0=-1;e1=0.8;e2=0.6;
Est=zeros(T,T);
for i=1:T
for j=1:T
if i==j
Est(i,j)=-1;
elseif i==j+1
Est(i,j)=0.8;
elseif i+1==j
Est(i,j)=0.6;
else
Est(i,j)=0;
end
end
end
for t=1:T
lam_pl3(t)=pl3(t)+pl3(t)*(Est(t,:)*(detapr./price)');%公式(10)
end
load=pl1+lam_pl2+lam_pl3;


🎉3 文献来源

部分理论来源于网络,如有侵权请联系删除。

[1]陈安伟,华浩瑞,李鹏等.实时电价机制下交直流混合微网优化运行方法[J].电力系统保护与控制,2017,45(07):13-20.


🌈4 Matlab代码实现

相关文章
|
4天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。
|
7天前
|
机器学习/深度学习 算法 调度
基于ACO蚁群优化的VRPSD问题求解matlab仿真,输出规划路径结果和满载率
该程序基于ACO蚁群优化算法解决VRPSD问题,使用MATLAB2022a实现,输出优化收敛曲线及路径规划结果。ACO通过模拟蚂蚁寻找食物的行为,利用信息素和启发式信息指导搜索,有效求解带时间窗约束的车辆路径问题,最小化总行程成本。
|
6天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
162 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
116 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
84 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
6月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
6月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)