48
4.3 Optimasi Pemasangan Lokasi SVC dengan metode Genetic Algorithm
Teknik Penyandian disini meliputi penyandian meliputi gen dan kromosom. Gen merupakan bagian dari kromosom. Satu gen biasanya akan
mewakili 1 variabel. Algoritma Genetik khususnya diterapkan sebagai simulasi komputer
dimana sebuah populasi representasi abstrak disebut kromosom dari solusi- solusi calon disebut individual pada sebuah masalah optimisasi akan
berkembang menjadi solusi-solusi yang lebih baik. Secara tradisional, solusi- solusi dilambangkan dalam biner sebagai string 0 dan 1, walaupun
dimungkinkan juga penggunaan penyandian encoding yang berbeda. Evolusi dimulai dari sebuah populasi individual acak yang lengkap dan terjadi dalam
generasi-generasi. Dalam tiap generasi, kemampuan keseluruhan populasi dievaluasi, kemudian multiple individuals dipilih dari populasi sekarang current
tersebut secara stochastic berdasarkan kemampuan mereka, lalu dimodifikasi melalui mutasi atau rekombinasi menjadi bentuk populasi baru yang menjadi
populasi sekarang current pada iterasi berikutnya dari algoritma. Pengerjaan program coding optimasi GA pada matlab dijalankan dengan
bahasa pemrograman bahasa C yang diadaptasi ke dalam program matlab. Jadi inputan program coding nya menggunakan sistem program yang sama juga seperti
halnya yang terdapat pada masukan perintah dalam bahasa pemrograman Bahasa C.
Coding Simulasi :
JumKrom=20; 20
JumGen=45; 19
pcross=0.9; pmut=0.1;
Fit=zerosJumKrom,1; Induk=zerosJumKrom,JumGen,2;
jfot=0; MaxIterasi=100;
best=zeros1,MaxIterasi; ulang=0;
bestMaxIterasi=180; Iterasi
while ulang160;
ulang=ulang+1; if
ulang==2
Universitas Sumatera Utara
49
break end
Kromosom Krom=randJumKrom,JumGen,2;
for I=1:JumKrom,
for J=1:JumGen
if KromI,J,10.5
KromI,J,1=0; KromI,J,2=0;
else KromIJ,1=1;
a=rand140; b=rounda;
KromI,J,2=b10; end
end end
Iterasi Iterasi=0;
c=0; while
IterasiMaxIterasi; Iterasi=Iterasi+1;
z=0; JFit=0;
for l=1:JumKrom,
DATA SYSTEM 45 BUS MVAdasar=maxxlsread
data2.xlsx ,
Sheet1 ,
N4:N48 ;
2800 accuracy=0.001;
0.001 maxiter=100;
accel=1.2; No Kode Teg Sudut Pembebanan
Pembangkitan Injeksi Bus Bus Mag. Deg. MW MVar MW MVar Qmin
Qmax MVar databus=xlsread
data2.xlsx ,
Sheet1 ,
E4:O48 ;
datasaluran=xlsread data2.xlsx
, Sheet2
, D3:I85
; Analisis Aliran Daya Menggunakan Metode Newton-
Rhapson j=sqrt-1;i=sqrt-1;
nl=datasaluran:,1; nr=datasaluran:,2;
R=datasaluran:,3; X=datasaluran:,4;
Bc=jdatasaluran:,5; a=datasaluran:,6;
nbr=lengthdatasaluran:,1; nbus=maxmaxnl,maxnr;
Z=R+jX; y=onesnbr,1.Z;
Perulangan for
n=1:nbr if
an=0 an=1;
else
Universitas Sumatera Utara
50
end Ybus=zerosnbus,nbus;
initialisasi Ybus pembentukan elemen off diagonal
for k=1:nbr;
Ybusnlk,nrk=Ybusnlk-ykak; Ybusnrk,nlk=Ybusnlk,nrk;
end end
Pembentukan elemen diagonal for
n=1:nbus for
k=1:nbr if
nlk==n Ybusn,n=Ybusn,n+ykak2+Bck;
elseif nrk==n
Ybusn,n=Ybusn,n+yk+Bck; else
, end
end end
Clear Pgg clear
Pgg ns=0;ng=0;Vm=0;delta=0;yload=0;deltad=0;
nbus=lengthdatabus:,1; for
k=1:nbus n=databusk,1;
kbn=databusk,2; Vmn=databusk,3;
deltan=databusk,4; Pdn=databusk,5;
Qdn=databusk,6; Pgn=databusk,7;
Qgn=databusk,8; Qminn=databusk,9;
Qmaxn=databusk,10; Qshn=Kroml,k,2;
if Vmn=0
Vmn=1.0;Vn=1+j0; else
deltan=pi180deltan; Vn=Vmncosdeltan+jsindeltan;
Pn=Pgn-PdnMVAdasar; Qn=Qgn-Qdn+QshnMVAdasar;
Sn=Pn+jQn; end
end Perulangan
for k=1:nbus
if kbk==1,
ns=ns+1; else
, end
if kbk==2,
ng=ng+1; else
, end
ngsk=ng;
Universitas Sumatera Utara
51
nssk=ns; end
Ym=absYbus; t=angleYbus;
m=2nbus-ng-2ns; maxerror=1;converge=1;
iter=0; Clear
clear A
DC J
DX while
maxerror=accuracy iter=maxiter for
i=1:m for
k=1:m Ai,k=0;
Initialisasi matriks Jacobian end
end iter =iter+1;
for n=1:nbus
nn=n-nssn; lm=nbus+n-ngsn-nssn-ns;
J11=0;J22=0;J33=0;J44=0; for
i=1:nbr if
nli==n | nri==n if
nli==n, l=nri;
end if
nri==n, l=nli;
end J11=J11+VmnVmlYmn,lsintn,l-deltan+deltal;
J33=J33+VmnVmlYmn,lcostn,l-deltan+deltal;
if kbn~=1
J22=J22+VmlYmn,lcostn,l- deltan+deltal;
J33=J33+VmlYmn,lsintn,l- deltan+deltal;
else end
if kbn~=1 kbl~=1
lk=nbus+l-ngsl-nssl-ns; ll=l-nssl;
elemen off diagonal untuk J1 Ann,ll=-
VmnVmlYmn,lsintn,l-deltan+deltal; if
kbl==0 elemen off diagonal untuk J2
Ann,lk=VmnYmncostn,l-deltan+deltal; end
if kbn==0
elemen off diagonal untuk J3
Universitas Sumatera Utara
52
Alm,ll=- VmnVmlYmn,lcostn,l-deltan+deltal;
end if
kbn==0kbl==0 element off diagonal untuk J4
Alm,lk=- VmnYmn,lsintn,l-deltan+deltal;
end else
, end
else ,
end end
Pk=Vmn2Ymn,ncostn,n+J33; Qk=-Vmn2Ymn,nsintn,n-J11;
if kbn==1
Pn=Pk;Qn=Qk; end
Swing bus P if
kbn==2 Qn=Qk;
if Qmaxn~=0
Qgc=QnMVAdasar+Qdn-Qshn; if
iter=100 if
iter2 if
QgcQminn, Vmn=Vmn+0.01;
elseif QgcQmaxn,
Vmn=Vmn-0.01; end
else ,
end else
, end
else ,
end end
if kbn~=1
Ann,nn=J11; elemen diagonal untuk J1
DCnn=Pn-Pk; end
if kbn==0
Ann,lm=2VmnYmn,ncostn,n+J22; elemen diag J2
Alm,nn=J33; elemen diagonal untuk J3
Alm,lm=-2VmnYmn,nsintn,n-J44; elemen diag J4
DClm=Qn-Qk; end
end DX=A\DC;
for n=1:nbus
nn=n-nssn; lm=nbus+n-ngsn-nssn-ns;
if kbn~=1
deltan=deltan+DXnn; end
if kbn==0
Vmn=Vmn+DXlm; end
Universitas Sumatera Utara
53
end maxerror=maxabsDC;
if iter==maxiter maxerroraccuracy
fprintf \nSolusi tidak konvergen setelah
iterasi fprintf
g ,iter,fprintf
iterasi.\n\n fprintf
Tekan enter dan cetak hasil\n converge=0;pause,
else ,
end end
if converge~=1
tech= SOLUSI TIDAK KONVERGEN
; else
, tech=
Aliran Daya menggunakan metode Newton- Rhapson
; end
V=Vm.cosdelta+jVm.sindelta; deltad=180pidelta;
i=sqrt-1; k=0;
for n=1:nbus
if kbn==1
k=k+1; Sn=Pn+jQn;
Pgn=PnMVAdasar+Pdn; Qgn=QnMVAdasar+Qdn-Qshn;
Pggk=Pgn; Qggk=Qgn;
elseif kbn==2
k=k+1; Sn=Pn+jQn;
Qgn=QnMVAdasar+Qdn-Qshn; Pggk=Pgn;
Qggk=Qgn; end
yloadn=Pdn- jQdn+jQshnMVAdasarVmn2;
end databus:,3=Vm;databus:,4=deltad;
Pgt=sumPg;Qgt=sumQg;Pdt=sumPd; Qdt=sumQd;Qsht=sumQsh;
disptech Cetak Max Power Mismatch
fprintf Maximum Power Mismatch=.2g\n
,maxerror fprintf
No Iterasi=g\n\n ,iter
Cetak Hasil head=strvcat
Bus Tegangan Pembebanan Pembangkitan Injeksi
, No. Mag. MW Mvar MW
Mvar Mvar ;
disphead for
n=1:nbus fprintf
2d ,n,
fprintf \t6.2f
,Vmn, fprintf\t9.1f,deltadn,
fprintf \t6.1f
,Pdn, fprintf
9.1f ,Qdn,
fprintf 9.1f
,Pgn, fprintf
9.1f ,Qgn,
Universitas Sumatera Utara
54
fprintf 10.1f
,Qshn, fprintf
\n end
Tampilkan fprintf
\n ,
fprintf Total\t
fprintf \t.1f
,Pdt, fprintf
\t.1f ,Qdt,
fprintf \t.1f
,Pgt, fprintf
\t.1f ,Qgt,
fprintf \t.1f\n\n
,Qsht Perhitungan Rugi-Rugi Saluran
SLT=0; Tampilkan
fprintf \n
fprintf \t\t\t\tAliran Daya dan Rugi-Rugi\n\n
fprintfSaluran Daya pada bus aliran daya Rugi Saluran Transformer\n
fprintf dari ke MW Mvar MVA MW Mvar tap\n
head2=strvcat Saluran Daya pada bus aliran daya
Rugi Saluran Transformer ,
dari ke MW Mvar MVA MW Mvar tap
; disphead2
for n=1:nbus
busprt=0; for
L=1:nbr; if
busprt==0 awal
Tampilkan fprintf
\n ,
fprintf 2d
,n, dari
fprintf \t10.2f
,PnMVAdasar, PnMVAdasar
fprintf \t10.2f
,QnMVAdasar, fprintf
\t10.2f\n ,absSnMVAdasar,
fprintf\n; busprt=1;
else ,
end if
nlL==n k=nrL;
ln=Vn- aLVkyLaL2+BcLaL2Vn;
lk=Vk-VnaLyL+BcLVk; Snk=VnconjlnMVAdasar;
Skn=VnconjlkMVAdasar; SL=Snk+Skn;
SLT=SLT+SL; elseif
nrL==n k=nlL;
ln=Vn-VkaLyL+BcLVn; lk=Vk-
aLVnyLaL2+BcLaL2Vk; Snk=VnconjlnMVAdasar;
Skn=VkconjlkMVAdasar; SL=Snk+Skn;
SLT=SLT+SL; else
, end
if nlL==n | nrL==n
Universitas Sumatera Utara
55
fprintf \t2g
,k, fprintf
\t9.2f ,realSnk,
fprintf \t9.2f
,imagSnk fprintf
\t9.2f ,absSnk,
fprintf \t9.2f
,realSL, if
nlL==n aL~=1 fprintf
\t9.2f ,imagSL,
fprintf \t9.2f\n
,aL, else
,fprintf \t9.2f\n
,imagSL end
else ,
end end
end SLT=SLT2;
Tampilkan fprintf
\n , fprintf
Total Rugi-Rugi fprintf
9.2f ,realSLT,fprintf
\t9.2f j\n
,imagSLT c=c+1;
z=z+1; if
SLT160 Fitl=0;
else Fitl=10000SLT;
end JFit=JFit+Fitl;
totlossz=SLT; totc=SLT;
clear lk
ln SL
SLT Skn
Snk end
if JFit==0
break end
urut=sorttotloss; bestIterasi=urut1;
k=0; for
i=1:JumKrom, prosen=round100FitiJFit;
for j=1:prosen,
k=k+1; roulettek=i;
end end
seleksi for
i=1:JumKrom r=roundkrand;
if r==0
r=1; end
pilih=rouletter; for
j=1:JumGen Induki,j,1=Krompilih,j,1;
Induki,j,2=Krompilih,j,2; end
end sthj=JumKrom2;
anak=Induk; Kawin Silang
for i=1:sthj
Universitas Sumatera Utara
56
p=rand; if
ppcross r1=roundJumGenrand;
if r1==0
r1=1; end
r2=roundJumGen-r1rand+r1; for
j=r1:r2 j merupakan batasan titik kawin
silang anak2i-1,j,1=Induk2i,j,1;
anak2i-1,j,2=Induk2i,j,2; anak2i,j,1=Induk2i-1,j,1;
anak2i,j,2=Induk2i-1,j,2; end
else for
j=1:JumGen anak2i-1,j,1=Induk2i,j,1;
anak2i-1,j,2=Induk2i,j,2; anak2i,j,1=Induk2i-1,j,1;
anak2i,j,2=Induk2i-1,j,2; end
end end
Mutasi for
i=1 JumKrom; p=rand;
if ppmut
r=roundJumGenrand; if
r==0 r=1;
end anaki,r,1=1-anaki,r,1;
if anaki,r,1==0
anaki,r,2=0; else
a=0; a=rand140;
b=rounda; anaki,r,2=b10;
end end
end end
for a=1:JumGen
if Vma0.95||Vma1.05
bestMaxIterasi=165; end
end end
Universitas Sumatera Utara
57
4.4 Aliran daya setelah pemasangan SVC