問題一論文代碼鏈接:https://pan.baidu.com/s/1kDV0DgSK3E4dv8Y6x7LExA?
提取碼:sxjm?
--來自百度網盤超級會員V5的分享
園區微電網風光儲協調優化配置
摘要:園區微電網由風光發電和主電網聯合為負荷供電,為了盡量提高風光電量的負荷占比,需配置較高比例的風光發電裝機容量,但由于園區負荷與風光發電功率時序不匹配,可能導致棄電問題。配置儲能可緩解負荷與風光的時序不匹配問題,減少棄電。本研究主要對配置儲能需要考慮的投資及其收益進行分析。
對于第一問:本節先對附件2的數據進行歸一化還原處理,得到每個時段不同園區的風電光伏發電量,根據三個園區典型日負荷功率圖可以得出,每個小時最低負荷功率都大于200,因此,在進行歸一化還原時,以0作為發電的下限,園區負荷最大值作為上限。在對每個時刻的光伏發電產能確定出以后,以每個時刻所消耗的電量作為輸出,以機組最大功率作為約束條件,建立數學模型,確定出在不考慮配置儲能的條件下不同園區不同時刻購電量,各園區總的購電量以及總供電量成本以單位供電量成本,以及棄電量成本。對于第二小問,由于本節引進了配置儲能,因此,本節以一天總的用電成本價格最低為目標函數,配置該設施所需成本,以及配置電池所限制的功率以及購電盡可能的少作為約束條件,建立風,光,儲的聯合目標規劃模型,并分析出該方法的日均供電成本大于未配置時的日均供電成本,該方法并不能有效改善各園區經濟運行條件。對于第三小問:本節以前兩節作為已知條件,以總的花費最低為目標函數,討論最優儲能功率配置問題,發現增大風機以及光伏發電儲能能最大效益的增大經濟。
對于第二問:本節以總的園區不同時刻所需電量作為輸出,在對每個時刻的光伏發電產能確定出以后,以每個時刻所消耗的電量作為輸出,以機組最大功率作為約束條件,建立數學模型,確定出在不考慮配置儲能的條件下聯合園區不同時刻購電量,聯合園區總的購電量以及總供電量成本以單位供電量成本,以及棄電量成本。對于第二小問,由于本節引進了配置儲能,因此,本節以一天總的用電成本價格最低為目標函數,配置該設施所需成本以及購電盡可能的少作為約束條件,建立目標規劃模型,通過改進的遺傳算法進行求解,并分析出該方法不能有效改善聯合園區經濟運行條件。對于第三小問:本節以前兩節作為已知條件,以總的花費最低為目標函數,討論最優儲能功率配置問題,并分析出聯合園區與獨立園區運營之間的差異性,并綜合考慮各種因數對經濟所造成的影響。
由于本節三個園區的最大負荷增長50%,且負荷波動特性不變,風電、光伏電源的配置成本分別為 3000 元/kW、2500 元/kW,投資回報期按5年考慮,本節以投資總額最低為目標函數,配置成本以及主網供電盡可能的低作為約束條件,建立目標規劃模型,并通過遺傳算法進行求解,并分別給出各園區獨立運營、聯合運營制定風光儲協調配置方案。第二小節主要根據附件3給出的全年 12 個月典型日風光發電功率數據,通過k-mean聚類法將附件3中的原始數據分割成光伏發電以及風力發電兩類,選擇出一年12個月中最有代表性的一個月作為風力配置發電的參考月,并以日平均供電成本最低建立目標規劃模型,并給出三個園區的配置方案。
關鍵詞:配置儲能 ?改進的遺傳算法 ?k-mean聚類法??目標規劃模型
問題1的模型建立與求解
5.1問題1.1的模型建立與求解
對于問題1:本節先對附件2的數據進行反歸一化處理,得到每個時段不同園區的風電光伏發電量,根據三個園區典型日負荷功率圖可以得出,每個小時最低負荷功率都大于200,因此,在進行反歸一化時,以0作為發電的下限,園區裝機容量最大值作為上限,反歸一化之后的值如表1所示:
表1:反歸一化之后的值
時間 | A光伏發電 | B風電發電 | C光伏發電 | C風電發電 |
0:00 | 0 | 96.4119 | 0 | 75.5424 |
1:00 | 0 | 160.3932 | 0 | 112.23 |
2:00 | 0 | 124.3592 | 0 | 204.2844 |
3:00 | 0 | 186.2036 | 0 | 94.4796 |
4:00 | 0 | 210.7151 | 0 | 243.3456 |
5:00 | 0 | 151.2171 | 0 | 320.694 |
6:00 | 0 | 100.6438 | 0 | 152.0136 |
7:00 | 2.5926 | 19.8187 | 5.418 | 62.6424 |
8:00 | 135.2622 | 64.4422 | 169.248 | 12.9 |
9:00 | 269.094 | 44.7492 | 325.8024 | 155.9868 |
10:00 | 344.6817 | 21.7042 | 409.4976 | 10.1136 |
11:00 | 382.4085 | 90.8811 | 460.53 | 63.1584 |
12:00 | 381.3357 | 148.5774 | 464.3484 | 172.086 |
13:00 | 350.5374 | 91.9286 | 424.2036 | 136.8948 |
14:00 | 287.7339 | 46.509 | 344.0172 | 62.952 |
15:00 | 189.6174 | 91.5934 | 220.59 | 84.2628 |
16:00 | 27.6693 | 158.3401 | 11.1456 | 136.482 |
17:00 | 0 | 143.3399 | 0 | 175.8528 |
18:00 | 0 | 209.8352 | 0 | 164.2428 |
19:00 | 0 | 194.6674 | 0 | 170.2284 |
20:00 | 0 | 92.0543 | 0 | 87.8748 |
21:00 | 0 | 74.7077 | 0 | 85.398 |
22:00 | 0 | 64.3165 | 0 | 97.8852 |
23:00 | 0 | 0 | 0 | 119.8668 |
由于第一問不需要配置儲能,因此假設各光伏裝機在初始時刻都是滿載狀態,各光伏機組在滿載的狀態下,光伏發電所產生的電能為0,不會損耗設備以及對電網照成影響,既有:
MATLAB代碼
歸一化的還原處理
Load(附件2中的數據)
y=txx(,:1)%這里分別對應的不同的列,1,2,3,4
a = 200;
b = 447;%(這里分別是A,B,C的最大功率)
% 還原數據
original_data = y * (b - a) + a;
disp('原始數據:');
disp(original_data);
繪制不同電量的變化效率曲線
對于已經給出的txx文件,滿足矩陣大小相同,可以直接
x=0:1:23;
y=txx(:,1)
plot(x,y);
hold off
y=txx(:,2)
plot(x,y,’r-’)
判斷需要從主電網購電
需要編寫c語言進行實現,以消耗減去存儲在減去產生值是否大于0來判斷,大于則需要買,否則不需要。主函數如下
int x,y,z;
scanf(“%d %d %d”,&x,&y,&z);
int m=z-x-y;
if(m>0)
{
printf(“%d”,m);
}
Else
{
return1;
}
return 0;