【優(yōu)化規(guī)劃】基于禁忌搜索算法求解配電網(wǎng)無功補償優(yōu)化規(guī)劃問題含Matlab源碼
1 簡介
配電網(wǎng)無功補償優(yōu)化規(guī)劃是近年來熱點研究的問題之一,本文探討了基于改進的禁忌搜索算法對配電網(wǎng)并聯(lián)電容器進行無功優(yōu)化規(guī)劃的方法,主要工作包括:針對目前配電網(wǎng)無功補償優(yōu)化規(guī)劃采用的智能算法,提出了一種改進的禁忌搜索算法,即擴大鄰域搜索范圍,建立了以固定和可投切電容器的補償容量,安裝位置及投切時刻為變量的解空間.由于禁忌搜索的局限性,在搜索過程中,會出現(xiàn)不滿足電壓約束的不可行解區(qū)域,文中給出了擴大安裝位置鄰域搜索范圍的策略,從而跳出不可行解區(qū)域,使得優(yōu)化規(guī)劃繼續(xù)在可行解區(qū)域尋優(yōu).配電網(wǎng)無功補償?shù)男Ч歉鶕?jù)負荷對無功的需求進行的,在理論分析中,負荷預測曲線是分析無功補償優(yōu)化規(guī)劃的重要依據(jù),本文對負荷預測曲線進行了分段處理,在各個時段內,對可投切電容器的各種組合方式進行禁忌搜索,選擇各個時段滿足電壓約束且適配值最大的組合方式作為可投切電容器優(yōu)化規(guī)劃的投切狀態(tài).這種投切策略會不可避免的造成可投切電容器的頻繁操作,針對此類問題,提出了一種擴展搜索時段的策略進行搜索,對時段進行遞推分段搜索,從而有效的確保了電網(wǎng)運行的可靠性.本文根據(jù)系統(tǒng)補償后的投入產(chǎn)出比來確定并聯(lián)電容器的安裝點個數(shù),從而使得禁忌搜索算法在整個無功補償優(yōu)化規(guī)劃中進行有效搜索
2 部分代碼
clc
%%%%%%禁忌搜索算法%%%%%%%%%%%%%%%
%%%%%%%%只考慮節(jié)點和容量分別單獨變化的鄰域搜索%%%%%%%%%%%
%function []=TS
Vb=11; ? ? ? ? ? ? ? ? %Vb=11kV
Sb=100000; ? ? ? ? ? ? %Sb=100MVA=100000kVA
Zb=(Vb^2/Sb)*1000; ? ? %Zb單位為Ω ? ?電流單位為A
Z=[1 ?0 ?1 ?3 ?0.195/Zb+j*0.080/Zb 0.60 230/Sb 142.5/Sb;
? 2 ?1 ?2 ?2 ?0.195/Zb+j*0.080/Zb 0.55 0.00 0.00;
? 3 ?2 ?3 ?3 ?0.299/Zb+j*0.083/Zb 0.55 230/Sb 142.5/Sb;
? 4 ?3 ?4 ?3 ?0.299/Zb+j*0.083/Zb 0.50 230/Sb 142.5/Sb;
? 5 ?4 ?5 ?2 ?0.299/Zb+j*0.083/Zb 0.50 0.00 0.00;
? 6 ?5 ?6 ?2 ?0.524/Zb+j*0.090/Zb 0.60 0.00 0.00;
? 7 ?6 ?7 ?3 ?0.524/Zb+j*0.090/Zb 0.40 230/Sb 142.5/Sb;
? 8 ?7 ?8 ?3 ?0.524/Zb+j*0.090/Zb 0.60 230/Sb 142.5/Sb;
? 9 ?8 ?9 ?2 ?0.524/Zb+j*0.090/Zb 0.40 0.00 0.00;
? 10 9 10 ?3 0.524/Zb+j*0.090/Zb 0.25 230/Sb 142.5/Sb;
? 11 10 11 1 0.524/Zb+j*0.090/Zb 0.20 137/Sb 84/Sb;
? 12 2 12 ?3 0.524/Zb+j*0.090/Zb 0.30 72/Sb 45/Sb;
? 13 12 13 3 0.524/Zb+j*0.090/Zb 0.40 72/Sb 45/Sb;
? 14 13 14 3 0.524/Zb+j*0.090/Zb 0.20 72/Sb 45/Sb;
? 15 14 15 1 0.524/Zb+j*0.090/Zb 0.10 13.5/Sb 7.5/Sb;
? 16 5 ?16 3 0.299/Zb+j*0.083/Zb 0.60 230/Sb 142.5/Sb;
? 17 16 17 3 0.299/Zb+j*0.083/Zb 0.55 230/Sb 142.5/Sb;
? 18 17 18 3 0.378/Zb+j*0.086/Zb 0.55 230/Sb 142.5/Sb;
? 19 18 19 3 0.378/Zb+j*0.086/Zb 0.50 230/Sb 142.5/Sb;
? 20 19 20 3 0.378/Zb+j*0.086/Zb 0.50 230/Sb 142.5/Sb;
? 21 20 21 3 0.524/Zb+j*0.090/Zb 0.50 230/Sb 142.5/Sb;
? 22 21 22 3 0.524/Zb+j*0.090/Zb 0.50 230/Sb 142.5/Sb;
? 23 22 23 3 0.524/Zb+j*0.090/Zb 0.60 230/Sb 142.5/Sb;
? 24 23 24 3 0.524/Zb+j*0.090/Zb 0.40 230/Sb 142.5/Sb;
? 25 24 25 3 0.524/Zb+j*0.090/Zb 0.25 230/Sb 142.5/Sb;
? 26 25 26 1 0.524/Zb+j*0.090/Zb 0.20 137/Sb 85/Sb;
? 27 6 ?27 3 0.524/Zb+j*0.090/Zb 0.30 75/Sb 48/Sb;
? 28 27 28 3 0.524/Zb+j*0.090/Zb 0.30 75/Sb 48/Sb;
? 29 28 29 1 0.524/Zb+j*0.090/Zb 0.30 75/Sb 48/Sb;
? 30 9 ?30 3 0.524/Zb+j*0.090/Zb 0.30 57/Sb 34.5/Sb;
? 31 30 31 3 0.524/Zb+j*0.090/Zb 0.40 57/Sb 34.5/Sb;
? 32 31 32 3 0.524/Zb+j*0.090/Zb 0.30 57/Sb 34.5/Sb;
? 33 32 33 1 0.524/Zb+j*0.090/Zb 0.20 57/Sb 34.5/Sb]; ? ? ?
%Z=[支路數(shù) 首節(jié)點 尾節(jié)點 尾節(jié)點類型 支路阻抗 支路長度 尾節(jié)點的有功功率 尾節(jié)點的無功功率] ? 電源點:0 ?末梢點:1 ?T接點:2 ? 負荷點:3
[h,l]=size(Z);
b=h; ? ? ? ? ? ? ? ? ? ? ?%支路數(shù)
n=h+1; ? ? ? ? ? ? ? ? ? ?%節(jié)點數(shù)
Vb=11; ? ? ? ? ? ? ? ? ? %Vb=11kV
Sb=100000; ? ? ? ? ? ? ? %Sb=100MVA=100000kVA
Zb=(Vb^2/Sb)*1000; ? ? ? %Zb單位為Ω ? ?電流單位為A
[PlossTotal0,Vm]=TideCal(Z); ?%初始潮流計算得到初始系統(tǒng)有功損耗為202.292471kW
Vm; ? ? ? ? ? ? ? ? ? ? ?%補償前各節(jié)點電壓
Ptotal=0;
for i=1:b
? ?Ptotal=Ptotal+Z(i,7)*Sb; ? ?%系統(tǒng)總有功功率
end
ddP0=(PlossTotal0/Ptotal)*100; ? ? %系統(tǒng)原始網(wǎng)絡線損率
dP=0; ? ? ? ? ? ? ? ? ? ?%dP適配值函數(shù)
TSMAX=4; ? ? ? ? ? ? ? ? %禁忌步長
XT=zeros(TSMAX+1,4); ? ? %候選解集合
Z(XC(1,1),8)=(Z(XC(1,1),8)*Sb-XC(1,3))/Sb;
Z(XC(1,2),8)=(Z(XC(1,2),8)*Sb-XC(1,4))/Sb;
QC(XC(1,1),1)=XC(1,3);
QC(XC(1,2),2)=XC(1,4);
[PlossTotal,U]=TideCal(Z); %調用潮流程序,計算有功損耗和各節(jié)點電壓幅值 ,電壓幅值的輸出???????????
ddP=((PlossTotal-dPmaxall)/Ptotal)*100; ? ? %補償后網(wǎng)絡線損率
U; ? ? ? ? ? ? ? ? ? ? ? ? %輸出當前解的各節(jié)點電壓
Z(XC(1,1),8)=(Z(XC(1,1),8)*Sb+XC(1,3))/Sb; ?%恢復原始節(jié)點矩陣
Z(XC(1,2),8)=(Z(XC(1,2),8)*Sb+XC(1,4))/Sb;
QC(XC(1,1),1)=0;
QC(XC(1,2),2)=0;
disp('輸出原始潮流總損耗PlossTotal0')
PlossTotal0
disp('輸出原始網(wǎng)絡線損率ddP0')
ddP0
disp('輸出補償前各節(jié)點電壓幅值Vm')
Vm
disp('輸出迭代次數(shù)mm')
mm
disp('輸出最優(yōu)解連續(xù)不變的最大迭代步數(shù)mn')
mn
disp('輸出補償后各節(jié)點電壓幅值U')
U
disp('輸出最大適配函數(shù)值MAXdP')
MAXdP=dPmaxall
disp('輸出最大適配值所對應的最優(yōu)解空間Xbest')
Xbest
disp('補償后網(wǎng)絡線損率ddP')
ddP
disp('輸出運行所需時間t')
t=toc
3 仿真結果

4 參考文獻
[1]高迪. 基于改進禁忌搜索算法的配電網(wǎng)無功補償優(yōu)化規(guī)劃[D]. 西安理工大學, 2011.
博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。
部分理論引用網(wǎng)絡文獻,若有侵權聯(lián)系博主刪除。
