資源簡介
基于粒子群算法的配電網無功優化程序,利用了IEEE30節點進行MATLAB編程

代碼片段和文件信息
function?[?V?]?=?act()
digits(6);
%初始化,系統數據錄入
clear?ObjV;
clear?objv;
[YnmPpvPpqQpqVpvVpqcita]=initial();
%定義遺傳算法參數
NIND=40;???????????%個體數目
global?MAXGEN;????????%最大遺傳代數
NVAR=6;????????????%變量維數
PRECI=30;??????????%變量的二進制位數
GGAP=0.5;??????????%代溝
global?trace;
trace=zeros(MAXGEN2);
%建立區域描述器
FieldD=[rep([PRECI][1NVAR]);rep([0.9700;1.0300][1NVAR]);rep([1;0;1;1][1NVAR])];
Chrom=crtbp(NINDNVAR*PRECI);?????????????%創建初始種群
gen=0;????????????????????????????????????%代計數器
%計算初始種群的目標函數值
%-------------------------------------------------------
%潮流計算
%n--節點總數,n-m--PV節點數量,m-1--PQ節點數量
%[PcitaV]=pf();
global?V;
global?cita;
global?P;
detaP=zeros(n-11);
detaQ=zeros(m-11);
%P=[Ppq;Ppv];
%V=[Vpq;Vpv;1];
Q=Qpq;
G=real(Y);
B=imag(Y);
cita1=[cita];
n=30;ObjV=0;
Vpv0=bs2rv(ChromFieldD);?????????????%控制變量轉為十進制
for?k=1:NIND;
????V(n-6)=Vpv0(k1);
????V(n-5)=Vpv0(k2);
????V(n-4)=Vpv0(k3);
????V(n-3)=Vpv0(k4);
????V(n-2)=Vpv0(k5);
????V(n-1)=Vpv0(k6);
%求detaP
for?i=1:n-1;
????s=0;
????for?j=1:n;
????????s=s+V(j)*(G(ij)*cos(cita1(i)-cita1(j))+B(ij)*sin(cita1(i)-cita1(j)));
????end
????detaP(i)=P(i)-V(i)*s;?
end
ObjV(k)=0;
ObjV(k)=ObjV(k)+detaP(i);
ObjV(k)=abs(ObjV(k));???????????????????%得到初始種群目標函數值
end
global?ObjV;
ObjV=reshape(ObjVNIND1);
global?objv;
objv?=?ObjV;
while?gen ????FitnV=ranking(ObjV);??????????????????%分配適應度值
????SelCh=select(‘sus‘ChromFitnVGGAP);?%選擇
????SelCh=recombin(‘xovsp‘SelCh0.7);????%重組
????SelCh=mut(SelCh);?????????????????????%變異
????Vpv0=bs2rv(SelChFieldD);?????????????%控制變量轉為十進制
???%?disp(Vpv0);
%計算子代目標函數值
????for?m=1:NIND*GGAP;
????V(n-6)=Vpv0(m1);
????V(n-5)=Vpv0(m2);
????V(n-4)=Vpv0(m3);
????V(n-3)=Vpv0(m4);
????V(n-2)=Vpv0(m5);
????V(n-1)=Vpv0(m6);
%求detaP
for?i=1:n-1;
????s=0;
????for?j=1:n;
????????s=s+V(j)*(G(ij)*cos(cita1(i)-cita1(j))+B(ij)*sin(cita1(i)-cita1(j)));
????end
????detaP(i)=P(i)-V(i)*s;
end
????ObjVSel(m)=0;
????ObjVSel(m)=ObjVSel(m)+detaP(i);
????ObjVSel(m)=abs(ObjVSel(m));
end
????ObjVSel=reshape(ObjVSelNIND*GGAP1);
????[Chrom?ObjV]=reins(ChromSelCh11ObjVObjVSel);
????%disp(ObjVSel);
????gen=gen+1;
????%輸出最優解及其對應的30個自變量的十進制值,Y為最優解,I為種群的序號
????trace(gen1)=min(ObjV);???????????????%遺傳算法性能跟蹤
????trace(gen2)=sum(ObjV)/length(ObjV);
end
????%?plot(ObjV);hold?on;
????%?plot(ObjV‘b*‘);grid;
???%?plot(trace(:1));?hold?on;
???
???%?plot(trace(:2)‘-.‘);grid;
???%?
%legend(‘種群均值的變化‘‘解的變化‘)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-05-17?20:04??程序\
?????文件????????2751??2014-05-17?10:12??程序\act.asv
?????文件????????2737??2014-05-17?10:22??程序\act.m
?????文件????????1231??2014-05-08?21:01??程序\B1.txt
?????文件????????1906??2014-05-09?11:07??程序\B2.txt
?????文件?????????160??2013-12-11?14:36??程序\detacitaV.m
?????文件?????????626??2013-12-16?09:10??程序\detaPQ.m
?????文件????????1156??2014-05-15?21:32??程序\initial.asv
?????文件????????1153??2014-05-10?22:23??程序\initial.m
?????文件????????2183??2014-05-10?10:15??程序\jacobi.asv
?????文件????????2183??2014-05-10?10:18??程序\jacobi.m
?????文件???????12071??2014-05-17?10:17??程序\mai.asv
?????文件????????9984??2014-05-17?21:02??程序\mai.fig
?????文件???????12071??2014-05-17?10:21??程序\mai.m
?????文件????????1091??2014-05-10?22:47??程序\pf.asv
?????文件????????1106??2014-05-10?23:36??程序\pf.m
?????文件?????????317??2014-05-15?21:32??程序\read_B1.asv
?????文件?????????314??2014-05-09?16:50??程序\read_B1.m
?????文件?????????314??2014-05-09?16:58??程序\read_B2.m
?????文件??????????88??2013-12-10?09:45??程序\update.m
- 上一篇:模糊控制開關磁阻電機模糊編輯器
- 下一篇:在matlab中連續區間 交集 和 并集
評論
共有 條評論