目錄
一、主要內容
二、部分代碼
三、運行結果
四、下載鏈接
一、主要內容
該程序為《基于改進鯨魚優化算法的微網系統能量優化管理》源碼,主要內容如下:
針對包含多種可再生能源的冷熱電聯供型微網系統的能量優化問題,為了優化其運行過程的經濟效益和環境效益,本文提出一種基于改進鯨魚優化算法的多時間尺度下能量優化方法,首先根據長短期記憶網絡(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;