Optimasi Pemasangan Lokasi SVC dengan metode Genetic Algorithm

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