BAB IV Solusi Numeri 4. Algoritma Genetia Algoritma Genetia (AG) [2] merupaan teni pencarian stoasti yang berdasaran pada meanisme selesi alam dan prinsip penurunan genetia. Algoritma genetia ditemuan oleh John Holland pada tahun 968 sebagai alat optimasi yang mengadaptapi proses evolusi yang terjadi di alam. Algoritma genetia berbeda dari teni pencarian onvensional arena dimulai dari himpunan solusi aca yang dinamaan populasi. Tiap inidividu dalam populasi ini dinamaan romosom. Kromosom ini aan melalui proses iterasi sehingga menghasilan beberapa generasi. Pada setiap iterasi masing-masing generasi aan dievaluasi menggunaan fungsi yang dinamaan fungsi fitness. Misalan aan dicari suatu titi optimum yang, maa langah awal yang dilauan AG adalah mengambil sejumlah titi dalam domain secara aca. Setiap titi tersebut emudian dipetaan satu-satu e dalam bentu string dengan basis tertentu (dalam tugas ahir ini digunaan string dengan dua basis nol dan satu). Setiap titi yang ada dalam domain disebut individu, sedangan pemetaannya e dalam bentu string dengan basis tertentu disebut dengan romosom. Setiap individu dalam populasi aan diuji dengan nilai elayaan tertentu yang disebut dengan fungsi fitness.
Bab IV. Solusi Numeri Pada umumnya terdapat empat hal yang membedaan Algoritma Genetia dengan teni pencarian onvensional, yaitu :. Algoritma Genetia beerja pada ode dari parameter, buan langsung pada parameter yang bersangutan. 2. Algoritma Genetia melauan pencarian solusi optimum dalam seumpulan titi calon solusi optimum, buan hanya pada satu titi. 3. Algoritma Genetia hanya membutuhan eberadaan dari fungsi objetif, tanpa memerluan informasi tambahan apa pun mengenai fungsi objetif tersebut. 4. Algoritma Genetia bersifat stoasti, buan deterministi. Dalam setiap generasi AG memilii empat operator yang selalu dijalanan, yaitu: evaluasi(evaluation), selesi(selection), awin silang(crossover), dan mutasi(mutation). Operator awin silang dan mutasi adalah operator yang memanipulasi romosom dalam populasi, sering pula disebut sebagai operator geneti. Pada prinsipnya operator awin silang memaduan romosom dari dua individu, sedangan operator mutasi pada prinsipnya adalah mengganti nilai suatu bagian dari romosom. Operator selesi dan evaluasi adalah operator yang memutusan laya tidanya suatu individu berlanjut e generasi selanjutnya. Algoritma genetia mengadaptasi proses selesi alam, yang pada dasarnya menyelesi individu-individu dari tiap generasi yang paling memenuhi fungsi fitnessnya yaitu uuran seberapa adaptif suatu individu terhadap lingungannya dan menjaga eberagaman populasi dengan proses-proses yang juga terjadi di alam yaitu awin silang dan mutasi. 2
Bab IV. Solusi Numeri Gambar 4. Diagram Alir Algoritma Genetia 4.. Membangun Populasi Awal Pada tahap awal, Algoritma Genetia perlu membangitan sebanya N individu, yang disebut sebagai uuran populasi, secara aca sebagai populasi awal. Setiap individu dinyataan oleh sejumlah bit, yang dalam tugas ahir ini digunaan representasi string biner. Namun, sebelum membangitan individu-individu tersebut, perlu ditentuan panjang dari string biner yang aan digunaan untu merepresentasi masing-masing individu dalam populasi. Misalan D= [a,b ],[a 2,b 2 ],...,[a n,b n ] adalah domain dari titi yang aan dioptimuman dengan etelian i di belaang oma (dalam tugas ahir ini digunaan bilangan disrit sehingga etelitiannya nol di belaang oma). Maa banyanya titi pada setiap selang [a i,b i ]adalah : 0 i bi a i. 22
Bab IV. Solusi Numeri Setiap subromosom e-i harus dapat dipetaan satu-satu dengan titi-titi yang ada di [a i,b i ] dengan riteria etelitian tertentu. Misalan banyanya titi yang dapat ditampung oleh suatu subromosom dengan panjang l i pada basis base adalah base l i.maa agar semua titi di domain dapat dipetaan satu-satu dengan string maa harus dipenuhi riteria sebagai beriut base b a 0 base li i li i i li i l log( base ) log{ bi ai 0 } log( base i ) i log{ bi ai 0 } li log( base) i log{ bi ai 0 } li log( base) Sehingga panjang romosom untu basis dua(biner) adalah l 2 log{ b 0 i i a i } (4.) log(2) Pembangunan populasi awal dilauan dengan membentu romosom sebanya jumlah populasi yang diehendai(pop_size). Kemudian dipilih secara aca string sepanjang l dengan elemen setiap romosom diambil secara aca dari basisnya(untu biner basisnya adalah nol dan satu). 4..2 Proses Evaluasi Proses evaluasi adalah proses mengubah bentu genotip romosom e bentu fenotipnya emudian dievaluasi menggunaan fungsi fitness. Pada proses selesi dibutuhan fitness suatu individu untu menentuan individu-indivu yang terbai 23
Bab IV. Solusi Numeri dan aan dilanjutan e generasi beriutnya. Fungsi fitness harus bernilai nonnegatif serta mempunyai nilai yang sebanding dengan ebaian suatu individu. Artinya semain besar nilai fitness suatu individu maa semain besar pula ecocoannya dengan riteria optimal yang diinginan, itu sebabnya dalam beberapa asus fungsi fitness tida selalu sama dengan fungsi optimasi. Untu menghitung nilai fitness string romosom perlu dionversi terlebih dahulu e dalam nilai sebenarnya. Misalan c adalah string individu x=(x,x 2,,x n ), maa : li j ( j) i xi base. ci.0 a i j0 dengan x [ a, b], i i i c = alel e-j dari subromosom e-i. ( j ) i Langah selanjutnya adalah menghitung nilai fungsi objetif f ( x i ) setiap individu dalam populasi. Untu asus tertentu seperti mencari nilai minimum fungsi objetif tida sama dengan fungsi fitness. Untu asus dimana fungsi objetif tida sama dengan fungsi fitness langah selanjutnya adalah mentransformasi nilai fungsi objetif f x ) e nilai fungsi fitness F x ) setiap individu dalam populasi. ( i ( i 4..3 Proses Selesi Proses selesi yang digunaan dalam Algoritma Genetia adalah reprodusi yang berdasaran meanisme roda rolet (roulette wheel). Semain tinggi nilai fitness suatu individu, semain besar proporsi areanya di roda rolet. Pemilihan individu dilauan dengan memutar roda rolet secara aca sebanya uuran populasi. Individu yang proporsi areanya ditunju oleh pin roda rolet berarti berha memasui tahap selanjutnya. Oleh arena itu, individu yang memilii proporsi 24
Bab IV. Solusi Numeri area yang lebih besar memilii peluang untu terpilih yang lebih besar pula. Sebalinya untu individu yang memilii nilai fitness ecil aan memilii proporsi area yang ecil sehingga memilii peluang terpilih yang ecil. Operator selesi memilih individu yang selamat e generasi selanjutnya berdasaran fitness tiap individu. Kriteria suatu individu dianggap laya atau tida untu diterusan e generasi selanjutnya bergantung pada proporsi fitnessnya. Misalan suatu populasi terdiri dari empat individu dengan nilai fitness masingmasing. Setiap individu memilii peluang selesi yang besarnya bergantung pada nilai fitness-nya. Selanjutnya, ilustrasi roda rolet dapat digambaran sebagai beriut. Gambar 4.2 Roda Rolet Langah erja dari operator regenerasi adalah sebagai beriut :. Hitung nilai fitness eval(v ) untu setiap romosom v : eval( v ) f ( x),,2,, pop _ size 2. Hitung nilai total fitness untu suatu populasi : pop _ size F eval( v ). 25
Bab IV. Solusi Numeri 3. Hitung peluang selesi p untu setiap romosom v : eval( v ) p,,2,, pop _ size. F 4. Hitung peluang umulatif q untu setiap romosom v : q p j,,2,, pop _ size. j 5. Langah selanjutnya diadaptasi dari memutar roulette wheel sebanya pop_size dan memilih romosom untu populasi yang baru. Bangitan bilangan secara aca r dengan range[0,] sebanya pop_size. Untu bilangan j yang memenuhi Q j r Qj, pilih romosom e-j sebagai individu yang bertahan e generasi selanjutnya. Sehingga didapat sebanya pop_size individu baru. 4..4 Proses Kawin Silang Kawin silang merupaan operator yang menuar romosom yang ada pada tiap individu. Metode yang digunaan pada tugas ahir ini adalah awin silang satu titi (one cut point crossover) artinya proses pemotongan hanya dilauan satu ali pada setiap pasangan individu yang bagian romosomnya aan dituar. Langah erja dari proses awin silang ini adalah sebagai beriut :. Bangitan bilangan secara aca r dengan range[0,] sebanya pop_size. 2. Jia r<peluang awin silang, maa individu tersebut terpilih untu diawin silang. 3. Jia jumlah individu yang aan diawin silangan tida genap, maa pilih satu individu secara aca dari individu yang belum terpilih. 4. Setelah urutan dari individu yang aan diawin silangan 26
Bab IV. Solusi Numeri 5. Bangitan bilangan aca R {,2,,l-}, emudian tuaran segmen string R hingga l dari setiap pasangan yang aan diawin silangan. 4..5 Proses Mutasi Mutasi memanipulasi string romosom pada individu denga cara mengganti nilai pada alel secara aca. Langah erja dari proses mutasi adalah sebagai beriut :. Bangitan bilangan r secara aca dimana r [0,]. 2. Jia r < peluang mutasi maa individu tersebut dipilih untu dimutasi, emudian secara aca pilih alel yang aan dimutasi. 3. Misalan alel e- dari suatu individu terpilih untu dimutasi maa gantilah nilai dari alel e- tersebut dengan nilai lainya yang ada di basis. 4..6 Konvergensi Untu menentuan apan suatu iterasi dalam AG berhenti, perlu dilauan ce onvergensi. Kriteria eonvergenan yang digunaan dalam tugas ahir ini adalah estabilan populasi. Suatu populasi diataan stabil jia elemen tiap individu pada satu generasi dapat didefinisian sama. Misalan suatu populasi pada setiap generasinya mempunyai n individu, dan setiap individunya mempunyai panjang string sebanya l. Misalan juga a i (j) adalah nilai alel e j dari individu e i. Maa suatu populasi diataan stabil jia dan hanya jia alel e j dari individu e i=,2,...,n memilii nilai yang sama lebih dari 90%. Jia eadaan ini sudah terpenuhi maa individu yang didapat sudah onvergen. Ada dua pengujian yang dilauan untu menentuan riteria penghentian iterasi, yani : 27
Bab IV. Solusi Numeri. Uji Keonvergenan Iterasi aan dihentian apabila populasi telah mengalami estabilan. Suatu populasi diataan stabil apabila populasi tersebut memenuhi definisi estabilan populasi sebagai beriut. Definisi Populasi Stabil: (Offersman, 995) Misalan: P suatu populasi yang terdiri dari n individu l banyanya gen dari setiap individu A i = A i ()A i (2) A i (l) romosom untu individu e-i pada P Gen A i (p) diataan stabil jia dan hanya jia terdapat lebih dari 90 % individu dalam populasi dengan A i (p)=c; i=,2,, n; c bernilai 0 atau untu suatu p (p=,2,..., l) Populasi diataan stabil apabila semua gen pada populasi P tersebut stabil. 2. Uji Iterasi Selain riteria eonvergenan di atas, suatu iterasi aan mengalami penghentian apabila telah mencapai iterasi masimum yang telah ditentuan sebelumnya. 4.2 Metode Runge Kutta Untu menyelesaian persamaan differensial perubahan teanan pada (2.6) digunaan metode Runge-Kutta [5]. Metoda Runge-Kutta disebut metode langah tunggal arena hanya menggunan informasi dari satu titi sebelumnya untu menghitung titi beriutnya,yani hanya titi awal (t 0,y 0 ) digunaan untu menghitung (t,y )dan secara umum y diperluan untu menghitung y +.Metode Runge-Kutta dapat menghindari endala-endala dari metode deret Taylor seperti omputasi turunan yang lebih tinggi. Metode Runge-Kutta menghindari 28
Bab IV. Solusi Numeri perhitungan turunan yang lebih tinggi, dengan cara melauan beberapa evaluasi fungsi pada tiap langah. Penggunaan metode Runge-Kutta yang paling populer adalah Runge-Kutta orde empat. Penggunaan metoda Runge-Kutta ini dapat mempermudah dalam menyelesaian model matematia yang berbentu persamaan differensial arena metoda Runge-Kutta bersifat stabil, aurat, dan mudah diprogram. 4.2. Metode Runge-Kutta Orde 4 4.2.2 Metode Runge-Kutta menghitung nilai y + dengan perhitungan sebagai beriut y y w w w w. (4.2) 2 2 3 3 4 4 Dimana, 2, 3,dan 4 mempunyai bentu sebagai beriut hf t y, hf t ah, y b 2 hf t a h, y b b 3 2 2 3 2 hf t a h, y b b b 4 3 4 5 2 6 3 Dengan mencocoan oefisien uraian deret Taylor orde 4 yaitu: dengan j j dh dh dh 2! 3! 4! 2 3 4 2 3 4. (4.3) y y d h d y t, untu j,...,4 pada tiap langah,..., M. Sehingga diperoleh sistem persamaan dan 3 variabel yang tida dietahui antara lain: b a b2b3 a 2 b4b5b6 a 3 ww2w3w4 29
Bab IV. Solusi Numeri wa wa wa 2 3 2 4 3 2 2 2 2 3 2 4 3 2 wa wa wa wa wa wa 3 3 3 2 3 2 4 3 3 3 4 5 2 6 3 4 wab w ab a b 3 2 3 4 3 5 2 6 6 waab wa ab a b 8 2 2 2 wa 3 b3 w4a b5 a2 b6 2 wabb 4 3 6. 24 Dalam menyelesaian persamaan diatas, dibutuhan 2 syarat awal yaitu b.dengan menentuan nilai dari 2 syarat awal tersebut yaitu: a dan a dan b2 0. 2 Melalui 2 syarat awal tersebut dapat diperoleh nilai dari variabel-variabel lainnya, antara lain: a2, a3, b, b3, b4 0, b5 0, b6. 2 2 2 Selanjutnya dengan mensubstitusian nilai variabel diatas e persamaan (4.2) dan (4.3) diperoleh: 6 w, 2 w, 3 3 w, dan 4 3 w. 6 Sehingga diperoleh formula iterasi untu metoda Runge-Kutta orde 4 yaitu: dengan y y w w w w 2 2 3 3 4 4 f t y, (4.4) 30
Bab IV. Solusi Numeri h h 2 f t, y 2 2 h h f t, y 2 2 3 2 f t h, y h 4 3 3