目錄
1.課題概述
2.系統仿真結果
3.核心程序與模型
4.系統原理簡介
4.1 原理概述
4.2 CVX工具箱概述
5.完整工程文件
1.課題概述
? ? ? ?基于CVX優化器的儲能電池調峰調頻算法matlab仿真。CVX 是一種用于求解凸優化問題的強大工具。凸優化問題具有良好的數學性質,能夠保證找到全局最優解。基于 CVX 優化器的儲能電池調峰調頻算法通過構建合適的優化模型,利用 CVX 求解器來確定儲能電池的充放電策略,以實現電力系統的穩定運行和高效調度。
2.系統仿真結果
3.核心程序與模型
版本:Matlab2024b
..........................................................................%提取調節信號段Dats0 = Dats((i-1)*T+1:i*T);%歸一化Dats1 = loade((i-1)*T+1:6:i*T*6);Dats1 = Dats1/max(Dats1);1%不使用電池[y_ref,elec_ref,peak_ref,batterys_ref,Reg1_ref,Reg2_ref,Reg3_ref] = func_reference(lambda,T,ts,Dats1);2%電池僅頻率調節[y_reg,elec_reg,peak_reg,batterys_reg,Reg1_reg,Reg2_reg,Reg3_reg] = func_opt_capC(lambda,battery,T,ts,tt,Dats1,Dats0);3%電池僅削峰方案[y_peak,elec_peak,peak_peak,batterys_peak,Reg1_peak,Reg2_peak,Reg3_peak] = func_peak_shaving(lambda,battery,T,ts,tt,Dats1);4%電池同時進行削峰和頻率調節[y_both,elec_both,peak_both,batterys_both,Reg1_both,Reg2_both,Reg3_both] = func_peak_shaving_Fregulation(lambda,battery,T, ts,tt,Dats1,Dats0);%歸一化各方案的總費用
y = [y_ref, y_reg,y_peak, y_both];%總費用elec = [elec_ref, elec_reg,elec_peak, elec_both];%電力費用peak = [peak_ref, peak_reg,peak_peak, peak_both];%峰值費用batt = [batterys_ref,batterys_reg,batterys_peak, batterys_both];%電池費用figure;
bar([y;elec;peak;batt]',0.8)
grid on
hold off
ylabel('歸一化總費用');
xlabel('1:不使用電池, 2:頻率調節, 3:削峰, 4:削峰+頻率調節');
legend('總費用','電力費用','峰值費用','電池費用');
107
4.系統原理簡介
? ? ? ? 電池儲能系統在電力系統中愈發重要,針對用戶,研究電池同時用于削峰和調頻的聯合優化。戶電費由能源費用和峰值需求費用構成。削峰可降低峰值需求費用,調頻則可通過參與電網服務盈利,同時考慮電池的充放電效率、荷電狀態限制及電池退化成本。
4.1 原理概述
? ? ? ?CVX是一種用于求解凸優化問題的強大工具。凸優化問題具有良好的數學性質,能夠保證找到全局最優解。基于CVX優化器的儲能電池調峰調頻算法通過構建合適的優化模型,利用CVX求解器來確定儲能電池的充放電策略,以實現電力系統的穩定運行和高效調度。儲能電池參與調峰的主要目標是平抑電力系統的負荷峰谷差,降低系統的最大負荷需求,提高電力系統的運行經濟性。
? ? ? ?提出的聯合優化框架可降低商業用戶電費,存在超線性收益,即聯合優化節省的費用大于單獨應用節省費用之和;開發的在線控制算法能實現超線性收益;未來可將更通用準確的電池退化模型融入聯合優化框架 。
4.2 CVX工具箱概述
? ? ? CVX會對用戶輸入的表達式進行解析和轉換。當用戶定義一個目標函數和一系列約束條件后,CVX會檢查這些表達式是否符合凸優化的規則。CVX集成了多種高效的凸優化求解器,如 SDPT3、MOSEK等。一旦問題被轉化為標準凸優化形式,CVX會根據問題的類型和規模,自動選擇最合適的求解器。例如,對于一個二階錐規劃問題,CVX可能會選擇適合此類問題求解的 MOSEK求解器。求解器通過迭代算法,在滿足約束條件的情況下,不斷逼近目標函數的最優解。
? ? ? ?在MATLAB腳本中,使用cvx_begin和cvx_end語句塊來界定CVX優化問題的范圍。在cvx_begin之后,可以定義優化變量。例如,定義一個實數向量變量x,維度為n,可以使用cvx_variable x(n);若要定義一個對稱半正定矩陣變量X,大小為m×m,則使用cvx_semidefinite X(m)。
5.完整工程文件
v