✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
🍎 往期回顾关注个人主页:Matlab科研工作室
👇 关注我领取海量matlab电子书和数学建模资料
🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。
🔥 内容介绍
一、背景
(一)微电网在能源领域的重要性
随着全球对清洁能源的需求不断增长以及对环境保护的日益重视,可再生能源的大规模接入成为电力系统发展的必然趋势。然而,可再生能源(如太阳能、风能)具有间歇性和波动性,这给电力系统的稳定运行带来了挑战。微电网作为一种将多种分布式电源、储能和负荷集成的小型发 - 配 - 用电系统,能够实现内部各单元的协调运行,有效应对可再生能源的不确定性。它不仅可以高度自治,在电网故障或停电时保障本地负荷的供电,还能友好接入配电网,为提高可再生能源在电力系统中的渗透率提供了有效手段。
(二)并网型微电网的复杂性与不确定性
并网型微电网包含多种不同特性的组件,如分布式电源(汽轮机)、可再生能源(光伏)、不同类型的负荷(需求响应负荷、固定负荷)、储能设施以及集群电动汽车等。其中,负荷与光伏的不确定性是影响微电网稳定运行和优化调度的关键因素。负荷需求会因用户行为、季节、天气等因素而随机变化,光伏输出功率则直接受光照强度、温度等气象条件的影响,具有很强的不确定性。这种不确定性增加了微电网调度的复杂性,传统的确定性调度方法难以满足微电网在复杂多变情况下的优化运行需求。
(三)优化调度的必要性与意义
为了实现微电网的经济、可靠运行,优化调度至关重要。在考虑负荷与光伏不确定性的情况下,合理安排分布式电源的发电计划、储能系统的充放电策略以及与配电网的交互功率,能够降低微电网的总运行成本,提高能源利用效率,增强系统的稳定性和可靠性。同时,在分时电价政策的引导下,通过优化调度可以充分利用电价的峰谷差,进一步降低运行成本,实现经济效益与社会效益的双赢。
二、代码原理
(一)不确定性处理:拉丁超立方抽样算法与场景生成削减
- 拉丁超立方抽样算法
:拉丁超立方抽样是一种用于生成随机样本的统计方法,它在样本空间内均匀地抽取样本点,相比于简单随机抽样,能更有效地覆盖整个样本空间,且所需样本数量相对较少。在处理微电网负荷与光伏的不确定性时,该算法根据负荷和光伏功率的概率分布函数(例如,负荷可能服从正态分布,光伏功率可能根据当地气象数据统计得到特定的分布),分别对负荷和光伏功率进行抽样。对于每个变量(负荷或光伏功率),将其取值范围划分为 n 个等概率的区间,然后从每个区间中随机抽取一个值,组合形成一组样本,即一个场景。通过多次抽样,可以生成大量反映负荷与光伏不确定性的场景。
- 场景削减
:生成的大量场景虽然能够全面反映不确定性,但会增加后续优化调度模型的计算复杂度。因此,需要对生成的场景进行削减。常见的场景削减方法有聚类分析、基于距离的削减等。例如,基于距离的削减方法通过计算每个场景与其他场景之间的距离(可以使用欧几里得距离、马氏距离等度量),将距离较近的场景合并,或者根据一定的准则删除对结果影响较小的场景。经过场景削减后,得到数量较少但仍能代表负荷与光伏不确定性特征的典型场景,为后续的优化调度模型提供输入。
(三)基于场景法的随机优化调度实现
在得到典型场景以及建立随机优化调度模型后,针对每个典型场景分别求解优化调度问题。通过优化算法(如混合整数线性规划算法、遗传算法等),在满足上述约束条件的情况下,寻找使总运行成本最低的分布式电源发电计划、储能充放电策略、集群电动汽车充放电策略以及与配网的交互功率策略等。然后,根据每个场景出现的概率(在拉丁超立方抽样生成场景时可以确定每个场景的概率),对各个场景下的优化结果进行加权平均,得到最终的优化调度方案。这种基于场景法的随机优化调度方法能够有效应对微电网中负荷与光伏的不确定性,实现微电网在分时电价引导下的经济、可靠运行
⛳️ 运行结果
📣 部分代码
% code by Gauri Jagatap (gauri@iastate.edu)
% based on algorithm described in
% G. Wang, G. B. Giannakis, J. Chen and M. Akçakaya,
% "SPARTA: Sparse phase retrieval via Truncated Amplitude flow",
% ICASSP 2017.
function [x,err_hist,p,x_init] = SparTAF(prob,opt)
%updated 5/31/2017
A = prob.A;
y_abs = prob.data;
s = opt.sk;
max_iter = opt.maxiter;
tol1 = opt.tol;
tol2 = opt.tol;
x = opt.x0;
%% initialize parameters
[m, n] = size(A);
%If ground truth is unknown
% if nargin < 3
% z = zeros(n,1);
% end
z = prob.x0;
error_hist(1,1) = 1;
error_hist(1,2) = 1;
Marg = zeros(1,n); %marginals
MShat = zeros(s); %truncated correlation matrix
AShat = zeros(m,s); %truncated sensing matrix
y_abs2 = y_abs.^2;
phi_sq = sum(y_abs2)/m;
phi = sqrt(phi_sq); %signal power
%SPARTA parameters
mu = 1;
gamma = 0.7;
x_init = x;
% %% s-Truncated sensing vectors
%
% %signal marginals
% Marg = ((y_abs2)'*(A.^2))'/m; % n x 1
% [Mg MgS] = sort(Marg,'descend');
% S0 = MgS(1:s); %pick top s-marginals
% Shat = sort(S0); %store indices in sorted order
% %supp(Shat) = 1; figure; plot(supp); %support indicator
% AShat = A(:,Shat); % m x s %sensing sub-matrix
%
% %% Truncated measurements
% card_Marg = ceil(m/6);
% %large measurements - amplitude flow
% for i=1:m
% M_eval(i) = y_abs(i)/norm(AShat(i,:));
% end
% [Mm MmS] = sort(M_eval,'descend');
% Io = MmS(1:card_Marg); %indices between 1 to m
%
% %% Initialize x
% %compute top singular vector according to thresholded sensing vectors and large measurements
% for i = 1:card_Marg
% ii = Io(i);
% MShat = MShat + (y_abs2(ii))*AShat(ii,:)'*AShat(ii,:); % (s x s)
% end
%
% svd_opt = 'svd'; %more accurate, but slower for larger dimensions
% svd_opt = 'power'; %approximate, faster
%
% switch svd_opt
% case 'svd'
% [u,sigma,v] = svd(MShat);
% v1 = u(:,1); %top singular vector of MShat, normalized - s x 1
% case 'power'
% v1 = svd_power(MShat);
% end
%
% v = zeros(n,1);
% v(Shat,1) = v1;
% x_init = phi*v; %ensures that the energy/norm of the initial estimate is close to actual
% x = x_init;
%% start descent
fprintf('\n#iter\t|y-Ax|\t\t|x-z|\n')
for t = 1:max_iter
It_act = A*x;
It_mag = abs(It_act);
It = find(It_mag > y_abs/(1+gamma));
sum_TAF = zeros(n,1);
for i=1:length(It)
ii = It(i);
sum_TAF = sum_TAF + (It_act(ii,1) - y_abs(ii)*(It_act(ii,1))/It_mag(ii,1))*A(ii,:)'; %(n x 1)
end
grad_x = (mu/m)*sum_TAF;
arg_TAF = x - grad_x;
x = truncated_AF(arg_TAF,s);
%store error history
err_hist(t+1,1) = norm(y_abs-abs(A*x))/norm(y_abs);
err_hist(t+1,2) = min(norm(x-z),norm(x+z))/norm(z);
fprintf('\n%d\t\t%2.8f\t\t%2.4f\n',t,err_hist(t+1,1),err_hist(t+1,2))
if (err_hist(t+1,1) < tol1) | (abs(err_hist(t,2)-err_hist(t+1,2))<tol2) | (err_hist(t+1,2)>5)
% if (err_hist(t+1,1) < tol1) | (abs(err_hist(t,2)-err_hist(t+1,2))<tol2) | (err_hist(t+1,2)>5)
break; %tends to diverge sometimes, hence third condition
end
end
p = sign(A*x);
end
🔗 参考文献
🍅更多创新智能优化算法模型和应用场景可扫描关注
🌟机器学习/深度学习类:BP、SVM、RVM、DBN、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、SAE、LSTM、BiLSTM、GRU、BiGRU、PNN、CNN、XGBoost、LightGBM、TCN、BiTCN、ESN、Transformer、模糊小波神经网络、宽度学习等等均可~
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
🌟组合预测类:CNN/TCN/BiTCN/DBN/Transformer/Adaboost结合SVM、RVM、ELM、LSTM、BiLSTM、GRU、BiGRU、Attention机制类等均可(可任意搭配非常新颖)~
🌟分解类:EMD、EEMD、VMD、REMD、FEEMD、TVFEMD、CEEMDAN、ICEEMDAN、SVMD、FMD、JMD等分解模型均可~
🌟路径规划类:旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻、公交车时间调度、水库调度优化、多式联运优化等等~
🌟小众优化类:生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位、冷链、时间窗、多车场等、选址优化、港口岸桥调度优化、交通阻抗、重分配、停机位分配、机场航班调度、通信上传下载分配优化、微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电、电/冷/热负荷预测、电力设备故障诊断、电池管理系统(BMS)SOC/SOH估算(粒子滤波/卡尔曼滤波)、 多目标优化在电力系统调度中的应用、光伏MPPT控制算法改进(扰动观察法/电导增量法)、电动汽车充放电优化、微电网日前日内优化、储能优化、家庭用电优化、供应链优化\智能电网分布式能源经济优化调度,虚拟电厂,能源消纳,风光出力,控制策略,多目标优化,博弈能源调度,鲁棒优化等等均可~
🌟 无人机应用方面:无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
🌟通信方面:传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
🌟信号处理方面:信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
🌟电力系统方面: 微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电、电/冷/热负荷预测、电力设备故障诊断、电池管理系统(BMS)SOC/SOH估算(粒子滤波/卡尔曼滤波)、 多目标优化在电力系统调度中的应用、光伏MPPT控制算法改进(扰动观察法/电导增量法)、电动汽车充放电优化、微电网日前日内优化、储能优化、家庭用电优化、供应链优化\智能电网分布式能源经济优化调度,虚拟电厂,能源消纳,风光出力,控制策略,多目标优化,博弈能源调度,鲁棒优化
🌟原创改进优化算法(适合需要创新的同学):原创改进2025年的波动光学优化算法WOO以及三国优化算法TKOA、白鲸优化算法BWO等任意优化算法均可,保证测试函数效果,一般可直接核心