基于改进鲸鱼优化算法的微网系统能量优化管理matlab-源码

文摘   教育   2024-10-10 11:25   河北  

一、主要内容

该程序为《基于改进鲸鱼优化算法的微网系统能量优化管理》源码,主要内容如下:

针对包含多种可再生能源的冷热电联供型微网系统的能量优化问题,为了优化其运行过程的经济效益和环境效益,本文提出一种基于改进鲸鱼优化算法的多时间尺度下能量优化方法,首先根据长短期记忆网络(Long Short Term Memory,LSTM)预测得到的可再生能源出力和负荷需求预先制定调度规划,然后以此预测数据为基础,采用改进鲸鱼优化算法调整可控设备出力,优化微网系统的运行成本和固定成本。将该方法应用于某楼宇冷热电联供型微网,结果表明,在满足负荷需求的基础上使得经济成本平均降低4.03%且经济效益更优。

1 冷热电联供型微网系统

冷热电联供型微网系统主要提供冷、热、电三种形式的能量,可实现能源的综合利用和高效利用。本文所研究的CCHP系统主要包括光伏发电系统、风力发电系统、联供单元、储能系统、燃气轮机等设备,如图1所示。

2 长短期记忆网络(Long Short Term Memory, LSTM)

长短期记忆网络(Long Short Term Memory, LSTM作为一种特殊的循环神经网络(Recurrent neural network, RNN),主要用于解决长序列训练过程中的梯度消失和梯度爆炸问题。典型的LSTM结构如图2所示。

3 改进鲸鱼优化算法

鲸鱼优化算法(The Whale Optimization Algorithm,WOA)[13-14]是受到鲸鱼在海底运用气泡捕食法捕食的启发而发明的一种优化算法,主要包含两个阶段:围捕阶段和气泡捕食阶段。

二、部分代码

% 对训练数据和测试数据进行分区,序列的前%90用于训练,后10%用于测试
% numTimeSteosTrain = floor(0.9*numel(data(:,1)));
% 选取最后的24个数据作为测试数据,前面的数据均为训练数据
numTimeSteosTrain = 719;


dataTrain = data(1:numTimeSteosTrain,:);
dataTest = data(numTimeSteosTrain+1:end,:);


% 标准化数据
mu = mean(dataTrain,1);
sig = std(dataTrain,1);


dataTrainStandardized = (dataTrain - mu) ./ sig;


% 准备预测变量和响应
XTrain = dataTrainStandardized(1:end-1,:);
YTrain = dataTrainStandardized(2:end,:);


% 定义LSTM网络
numFeatures = 6;
numResponses = 6;
numHiddenUnits = 200;


layers = [ ...
    sequenceInputLayer(numFeatures)
    lstmLayer(numHiddenUnits)
    fullyConnectedLayer(numResponses)
    regressionLayer];


options = trainingOptions('adam', ...
    'MaxEpochs',500, ...
    'GradientThreshold',1, ...
    'InitialLearnRate',0.005, ...
    'LearnRateSchedule','piecewise', ...
    'LearnRateDropPeriod',125, ...
    'LearnRateDropFactor',0.2, ...
    'Verbose',0, ...
    'Plots','training-progress');
 
% 训练LSTM网络
net = trainNetwork(XTrain',YTrain',layers,options);


% 预测将来时间步
dataTestStandardized = (dataTest - mu) ./ sig;




三、运行结果

四、程序链接

                                        扫码放心下载~

欢迎扫码关注微信公众号:电力程序,海量高质量代码正在上传中。

电力程序
打造电力专业最新原创程序集散地,免费分享基础编程资料,在这里,带着希望而来,带着知识而归~
 最新文章