• Tidak ada hasil yang ditemukan

PENGEMBANGAN ALGORITMA HILL CLIMBING UNTUK PERSOALAN LINTASAN TERPENDEK MULTI OBJEKTIF

N/A
N/A
Protected

Academic year: 2022

Membagikan "PENGEMBANGAN ALGORITMA HILL CLIMBING UNTUK PERSOALAN LINTASAN TERPENDEK MULTI OBJEKTIF"

Copied!
54
0
0

Teks penuh

(1)

PENGEMBANGAN ALGORITMA HILL CLIMBING UNTUK PERSOALAN LINTASAN TERPENDEK

MULTI OBJEKTIF

TESIS

Oleh

RAUDATUL HUSNA SIGALINGGING 137021016/MT

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2015

Universitas Sumatera Utara

(2)

PENGEMBANGAN ALGORITMA HILL CLIMBING UNTUK PERSOALAN LINTASAN TERPENDEK

MULTI OBJEKTIF

T E S I S

Diajukan Sebagai Salah Satu Syarat

untuk Memperoleh Gelar Magister Sains dalam Program Studi Magister Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Sumatera Utara

Oleh

RAUDATUL HUSNA SIGALINGGING 137021016/MT

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2015

Universitas Sumatera Utara

(3)

Judul Tesis : PENGEMBANGAN ALGORITMA HILL CLIMBING UNTUK PERSOALAN LINTASAN TERPENDEK MULTI OBJEKTIF

Nama Mahasiswa : Raudatul Husna Sigalingging Nomor Pokok : 137021016

Program Studi : Magister Matematika

Menyetujui, Komisi Pembimbing

(Prof. Dr. Opim Salim S, MSc) (Prof. Dr. Muhammad Zarlis)

Ketua Anggota

Ketua Program Studi Dekan

(Prof. Dr. Herman Mawengkang) (Dr. Sutarman, MSc)

Tanggal lulus : 1 Juni 2015

Universitas Sumatera Utara

(4)

Telah diuji pada tanggal 1 Juni 2015

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Opim Salim S, MSc Anggota : 1. Prof. Dr. Muhammad Zarlis

2. Dr. Marwan Ramli MSi 3. Prof. Dr. Saib Suwilo, MSc

Universitas Sumatera Utara

(5)

PERNYATAAN

PENGEMBANGAN ALGORITMA HILL CLIMBING UNTUK PERSOALAN LINTASAN TERPENDEK

MULTI OBJEKTIF

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing dituliskan sumbernya

Medan, 1 Juni 2015 Penulis,

Raudatul Husna Sigalingging

Universitas Sumatera Utara

(6)

ABSTRAK

Algoritma hill climbing merupakan salah satu teknik heuristik yang dapat digu- nakan untuk menyelesaikan persoalan lintasan terpendek. Algoritma hill climbing melakukan pencarian lokal secara acak dan biasanya hasil yang diperoleh tidak op- timal karena pertukaran yang dilakukan hanya sebanyak kombinasi yang diperoleh dari jumlah node yang ada. Dalam tesis ini diajukan pengembangan algoritma hill climbing. Langkah-langkah dalam pengembangan diawali dengan penentuan po- sisi awal. Proses hill climbing akan dilakukan pengembangan berupa modifikasi pada tahap pertukaran. Proses pertukaran dilakukan dengan hill climbing dan diperoleh individu-individu baru. Individu-individu yang merupakan hasil dari pertukaran selanjutnya dijadikan sebagai individu baru dalam proses pengem- bangan dengan menggunakan algoritma genetik. Individu-individu tersebut akan menjadi populasi awal untuk menyelesaikan fungsi fitness, crossover, dan mutasi.

Hasil yang diperoleh lebih baik dibandingkan dengan hasil yang menggunakan algoritma hill climbing.

Kata kunci : Hill climbing, Algoritma genetik, Lintasan terpendek

ii

Universitas Sumatera Utara

(7)

ABSTRACT

Hill climbing algorithm is one of the heuristic technique than can be used to solve the shortst path problem. Hill climbing algorithm is a local search at random and usually the result obtained cannot be optimal because the exchange performed only as many as combination of obtained from the nodes.In this thesis had been asked the development of hill climbing algorithm. The steps in the development of begins with the determination of initial position. Hill climbing process will be conducted development of modification at the exchange session. The exchange process does with hill climbing and will get the new individuals. The result of exchange as individuals next used as a new individual in development process by using genetic algorithm. The individuals would be early population to complete the fitness function crossover, and mutation. The result is better than with the result hill climbing algorithm.

Keyword: Hill climbing, Genetic algorithm, Shortest path

Universitas Sumatera Utara

(8)

KATA PENGANTAR

Puji syukur kepada Allah SWT yang selalu memberikan rahmat dan hi- dayat sehingga penulis dapat menyelesaikan tesis ini dengan judul: ”PENGEM- BANGAN ALGORITMA HILL CLIMBING UNTUK PERSOALAN LINTASAN TERPENDEK MULTI OBJEKTIF”. Tesis ini merupakan salah satu syarat un- tuk menyelesaikan studi pada Program Studi Magister Matematika Universitas Sumatera Utara.

Pada kesempatan ini, penulis menyampaikan terimakasih sebesar-besarnya kepada:

Prof. Subhilhar, Ph.D selaku Pejabat Rektor Universitas Sumatera Utara.

Dr. Sutarman, MSc selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Sumatera Utara.

Prof. Dr. Herman Mawengkang selaku Ketua Program Studi Magister Matema- tika FMIPA USU.

Prof. Dr. Saib Suwilo, MSc selaku Sekretaris Program Studi Magister Matematika FMIPA USU dan selaku Pembanding II yang telah memberikan arahan dalam penulisan tesis ini.

Prof. Dr. Opim Salim S, MSc selaku Pembimbing I yang telah meluangkan waktu untuk banyak memberikan bimbingan, arahan, ilmu serta motivasi kepada penulis dalam penulisan tesis ini.

Prof. Dr. Muhammad Zarlis selaku Pembimbing II yang juga telah banyak mem- berikan bimbingan kepada penulis dalam penulisan tesis ini.

Dr. Marwan Ramli, MSi selaku Pembanding I yang telah banyak memberikan bimbingan, arahan dan masukkan kepada penulis dalam penulisan tesis ini. Serta seluruh Staf Pengajar pada Program Studi Magister Matematika FMIPA USU yang telah banyak memberikan ilmu pengetahuan selama masa perkuliahan.

Kak Misiani, S.Si selaku Staf Administrasi Program Studi Magister Matematika FMIPA USU yang telah banyak memberikan pelayanan yang baik kepada penulis selama mengikuti perkuliahan.

Tak lupa penulis mengucapkan terimakasih sebesar-besarnya kepada orangtua tercinta, buya H. Awaluddin Sigalingging dan ummi Nur Kholidah Sihombing

iv

Universitas Sumatera Utara

(9)

yang telah mencurahkan kasih sayang dan dukungan berupa moril maupun materi kepada penulis, kakak-kakak tercinta Khairiyah S., Ruqiah S., Halimahnur S., Rahmaini S., Fathul Jannah S. dan Rizqi Safarul Hajji S., serta abang ipar yang telah memberikan semangat.

Terima kasih penulis ucapkan kepada Ifan Harahap yang tidak lelah memoti- vasi penulis untuk tetap semangat menyelesaikan tesis ini serta terimakasih atas fasilitas yang diberikan sehingga memudahkan penulis mencari referensi untuk menyelesaikan tesis ini.

Seluruh rekan-rekan Mahasiswa angkatan 2013/2014 Ganjil, Genap dan angkatan 2012/2013 Genap Program Studi Magister Matematika FMIPA Universitas Su- matera Utara, sahabat tersayang, sahabat PMII, teman seperjuangan di STAIN Padangsidimpuan dan kawan-kawan MAS Darur Rachmad. Mudah-mudahan tesis ini dapat memberi sumbangan yang berharga bagi perkembangan dunia Il- mu dan bermanfaat bagi orang banyak. Semoga Allah SWT senantiasa memberi rahmat dan hidayahNya kepada kita semua. Amin.

Penulis menyadari bahwa tesis ini masih jauh dari sempurna, untuk itu penulis mengharapkan kritik dan saran untuk penyempurnaan tesis ini. Semoga tesis ini dapat bermanfaat bagi pembaca dan pihak-pihak lain yang memerlukan- nya. Terimakasih.

Medan, 1 Juni 2015 Penulis,

Raudatul Husna Sigalingging

Universitas Sumatera Utara

(10)

RIWAYAT HIDUP

Raudatul Husna Sigalingging dilahirkan di Sibuluan I Pagaran, Kec. Pandan, Kab. Tapanuli Tengah pada tanggal 26 Oktober 1990 yang merupakan anak ke enam dari tujuh bersaudara dari pasangan Bapak H. Awaluddin Sigalingging dan Ibu Nur Kholidah Sihombing. Penulis menamatkan pendidikan Sekolah Dasar (SD) Negeri 152978 Pagaran, Sibuluan I, Kec. Pandan, Kab. Tapanuli Tengah tanggal 13 Mei 2002. Sekolah Menengah Pertama (SMP) Swasta Al-Muslimin Pandan tanggal 6 Mei 2005. Madrasah Aliyah (MA) Swasta PTh Darur Rach- mad Sibolga tanggal 14 Juni 2008. Pada tahun 2008 memasuki Sekolah Tinggi Agama Islam Negeri (STAIN) Padangsidimpuan jurusan Tarbiyah Program Stu- di Tadris Matematika pada Jenjang Strata Satu (S-1) dan lulus pada tanggal 7 Februari 2013. Pada pertengahan tahun 2013 mengikuti program studi Magister Matematika FMIPA Universitas Sumatera Utara dan lulus pada tanggal 1 Juni 2015.

vi

Universitas Sumatera Utara

(11)

DAFTAR ISI

Halaman

PERNYATAAN i

ABSTRAK ii

ABSTRACT iii

KATA PENGANTAR iv

RIWAYAT HIDUP vi

DAFTAR ISI vii

DAFTAR TABEL ix

DAFTAR GAMBAR x

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Perumusan Masalah 2

1.3 Tujuan Penelitian 3

1.4 Manfaat Penelitian 3

1.5 Metode Penelitian 3

BAB 2 TINJAUAN PUSTAKA 4

2.1 Lintasan Terpendek Multi Objektif 4

2.2 Optimisasi Multi Objektif 6

2.3 Hill Climbing 7

2.3.1 Simple hill climbing 8

2.3.2 Steepest ascent hill climbing 9

2.4 Algoritma Evolusioner 12

BAB 3 ALGORITMA GENETIK 20

3.1 Istilah dalam Algoritma Genetik 21

Universitas Sumatera Utara

(12)

3.2 Komponen-komponen Algoritma Genetik 22

BAB 4 PEMBAHASAN PENGEMBANGAN ALGORITMA 25

4.1 Algoritma Genetik 25

4.2 Ilustrasi Numerik 25

4.3 Pengembangan Algoritma Hill Climbing 30

BAB 5 KESIMPULAN DAN SARAN 36

5.1 Kesimpulan 36

5.2 Saran 36

DAFTAR PUSTAKA 37

viii

Universitas Sumatera Utara

(13)

DAFTAR TABEL

Nomor Judul Halaman

2.1 Perbandingan simple hill climbing dan steepest ascent hill climbing 11 4.1 Nilai fitness, probabilitas dan nilai fitness setelah pindah silang 33

Universitas Sumatera Utara

(14)

DAFTAR GAMBAR

Nomor Judul Halaman

2.1 Contoh grafik fungsi tujuan dengan 3 kendala 6

2.2 Contoh simple hill climbing 9

2.3 Contoh steepest ascent hill climbing 11

2.4 Proses-proses dalam EA 12

3.1 Ilustrasi representasi penyelesaian permasalahan dalam algorit-

ma genetik 22

4.1 Algoritma genetik 25

4.2 10 node dan 19 edge dengan 2 fungsi tujuan 26 4.3 Pencarian lintasan terpendek menggunakan steepest ascent hill

climbing 30

4.4 Langkah-langkah pengembangan algoritma 31

x

Universitas Sumatera Utara

(15)

ABSTRAK

Algoritma hill climbing merupakan salah satu teknik heuristik yang dapat digu- nakan untuk menyelesaikan persoalan lintasan terpendek. Algoritma hill climbing melakukan pencarian lokal secara acak dan biasanya hasil yang diperoleh tidak op- timal karena pertukaran yang dilakukan hanya sebanyak kombinasi yang diperoleh dari jumlah node yang ada. Dalam tesis ini diajukan pengembangan algoritma hill climbing. Langkah-langkah dalam pengembangan diawali dengan penentuan po- sisi awal. Proses hill climbing akan dilakukan pengembangan berupa modifikasi pada tahap pertukaran. Proses pertukaran dilakukan dengan hill climbing dan diperoleh individu-individu baru. Individu-individu yang merupakan hasil dari pertukaran selanjutnya dijadikan sebagai individu baru dalam proses pengem- bangan dengan menggunakan algoritma genetik. Individu-individu tersebut akan menjadi populasi awal untuk menyelesaikan fungsi fitness, crossover, dan mutasi.

Hasil yang diperoleh lebih baik dibandingkan dengan hasil yang menggunakan algoritma hill climbing.

Kata kunci : Hill climbing, Algoritma genetik, Lintasan terpendek

Universitas Sumatera Utara

(16)

ABSTRACT

Hill climbing algorithm is one of the heuristic technique than can be used to solve the shortst path problem. Hill climbing algorithm is a local search at random and usually the result obtained cannot be optimal because the exchange performed only as many as combination of obtained from the nodes.In this thesis had been asked the development of hill climbing algorithm. The steps in the development of begins with the determination of initial position. Hill climbing process will be conducted development of modification at the exchange session. The exchange process does with hill climbing and will get the new individuals. The result of exchange as individuals next used as a new individual in development process by using genetic algorithm. The individuals would be early population to complete the fitness function crossover, and mutation. The result is better than with the result hill climbing algorithm.

Keyword: Hill climbing, Genetic algorithm, Shortest path

iii

Universitas Sumatera Utara

(17)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Dalam kehidupan sehari-hari penulis sering berhadapan dengan masalah lin- tasan yang akan dilalui untuk menuju suatu tujuan. Ada beberapa kendala yang dapat dijadikan sebagai pertimbangan untuk menuju suatu tujuan, seperti pan- jang lintasan yang akan dilalui (jarak), waktu yang digunakan dan bahkan biaya yang akan dikeluarkan. Jika ingin mencapai tempat tujuan dengan melalui lin- tasan terpendek, waktu yang digunakan sedikit dengan biaya yang minimum. Lin- tasan terpendek merupakan suatu permasalahan optimasi yang sering dijadikan studi kasus bagi penelitian, seperti yang dilakukan oleh Chitra dan Subbaraj (2010), Danuri dan Prijodiprodjo (2013) dan Maria dan Janssens (2007). Lin- tasan terpendek merupakan alternatif yang sering digunakan untuk menuju suatu tujuan dengan jarak terpendek, waktu yang singkat dan biaya yang murah.

Persoalan lintasan terpendek multi objektif (LTMO) telah dipelajari oleh berbagai penelitian dibidang optimisasi, seperti perencanaan rute untuk lalu lintas dan transportasi, informasi dan desain jaringan komunikasi (Maria dan Janssens, 2007). Persoalan lintasan terpendek banyak dijumpai dikehidupan sehari-hari, seperti menentukan jalur komunikasi dua buah terminal, menentukan jalur pe- nerbangan yang efektif untuk dilakukan, serta mencari lintasan terpendek lokasi rumah sakit, hotel dan terminal. Persoalan lintasan terpendek multi objektif merupakan perluasan dari masalah lintasan terpendek tradisional dan berkaitan dengan satu jalur efisien terhadap dua atau lebih lokasi yang ingin dituju (Maria dan Janssens, 2007).

Banyak metode yang digunakan untuk mencari lintasan terpendek, seperti bee colony optimization algorithm (Danuri dan Prijodiprodjo, 2013). Akan tetapi, metode-metode tersebut hanya dapat menyelesaikan persoalan objek tunggal atau satu objek tujuan. Sedangkan dalam kehidupan sehari-hari kita sering dihadap- kan dengan kasus penentuan lintasan terpendek dengan objek satu tujuan dengan kendala yang lebih dari satu. Maka perlu dikembangkan suatu prosedur atau algo- ritma sedemikian sehingga dapat menyelesaikan persoalan secara efisien. Dalam hal ini peneliti menggunakan algoritma hill climbing untuk menyelesaikan per- soalan pencarian lintasan terpendek dengan kasus multi objektif. Analisis dalam

Universitas Sumatera Utara

(18)

2

menyelesaikan persoalan multi objektif proses pengujian yang dilakukan dengan menggunakan fungsi heuristik untuk menyelesaikan masalah optimasi.

Konsep optimisasi dipersoalan lintasan terpendek multi objektif atau da- lam masalah multi objektif pada umumnya berbeda dengan masalah optimisasi satu tujuan yang hanya menemukan solusi optimal dengan fungsi tujuan tung- gal. Masalah multi objektif tidak menemukan solusi optimal untuk setiap fungsi tujuan tetapi menemukan solusi optimal secara bersamaan mengoptimalkan se- mua tujuan (Guardado et al., 2014). Pada kasus membuat jalur distribusi tenaga listrik kerumah-rumah penduduk, tidak ditemukan solusi tunggal, tetapi hanya seperangkat solusi yang efisien atau solusi yang tidak mendominasi. Dikarenakan objeknya banyak (multi objektif) maka ada beberapa hal yang menjadi pertim- bangan. Ada persoalan yang dikenal dengan NP-complete, menunjukkan bahwa satu set masalah yang ada didalam jumlah solusi Pareto-optimal adalah ekspo- nensial yang menyiratkan bahwa setiap algoritma deterministik yang mencoba menyelesaikan persoalan eksponensial dengan kompleksitas waktu merupakan ka- sus terburuk.

Tesis ini bersumber pada jurnal-jurnal yang berhubungan dengan hill clim- bing dan lintasan terpendek multi objektif. Dalam tesis ini dikembangkan algo- ritma hill climbing untuk menentukan lintasan terpendek pada persoalan multi objektif.

1.2 Perumusan Masalah

Lintasan terpendek multi objektif merupakan persoalan yang memiliki satu fungsi tujuan dengan kendala yang lebih dari satu. Selain bobot atau nilai dari suatu lintasan yang akan dilalui, perlu juga diperhatikan komponen-komponen yang dapat mempengaruhi penentuan lintasan terpendek. Dikarenakan terdapat komponen-komponen yang dapat mempengaruhi penentuan lintasan terpendek tersebut dilakukanlah modifikasi untuk menyelesaikan persoalan multi objektif.

Universitas Sumatera Utara

(19)

3

1.3 Tujuan Penelitian

Adapun tujuan dalam penelitian ini adalah melakukan pengembangan al- goritma hill climbing. Algoritma yang dimodifikasi tersebut dapat menyelesaikan pencarian lintasan terpendek dengan mempertimbangkan komponen-komponen yang mempengaruhi persoalan multi objektif.

1.4 Manfaat Penelitian

Hasil yang diperoleh pada penelitian ini dapat membantu dalam penentu- an lintasan terpendek pada kasus multi objektif dan nantinya diharapkan akan berguna untuk menyelesaikan persoalan pencarian lintasan terpendek dengan ka- sus multi objektif.

1.5 Metode Penelitian

Penelitian ini membahas tentang pengembangan algoritma hill climbing un- tuk mencari lintasan terpendek dengan kasus multi objektif. Sebagai langkah awal, terlebih dahulu mengumpulkan informasi dari literatur-literatur mengenai persoalan lintasan terpendek multi objektif. Kemudian mempelajari teori-teori yang berkaitan dengan lintasan terpendek multi objektif. Dalam hal ini dimu- lai dengan teori persoalan multi objektif kemudian mempelajari algoritma yang berkaitan dengan persoalan tersebut. Pada bagian akhir dibahas tentang pe- ngembangan algoritma. Teori-teori yang berkaitan dengan algoritma hill climbing dipelajari kembali. Algoritma hill climbing akan dimodifikasi dengan menggu- nakan algoritma genetik.

Universitas Sumatera Utara

(20)

BAB 2

TINJAUAN PUSTAKA

2.1 Lintasan Terpendek Multi Objektif

Lintasan terpendek multi objektif (LTMO) merupakan perencanaan yang bertujuan untuk menemukan lintasan yang efisien dari titik awal ke titik tujuan dengan beberapa kendala dalam satu penyelesaian. Sebagian besar masalah dunia nyata melibatkan persoalan pencarian lintasan terpendek. Optimisasi multi ob- jektif memiliki fungsi tujuan yang bertentangan yang menimbulkan serangkai- an sosusi optimum, bukan satu solusi optimum (Chitra dan Subbaraj, 2010).

Solusi-solusi yang memenuhi semua kendala dikenal dengan solusi pareto opti- mal. Masalah optimisasi multi objektif terdiri dari beberapa set kendala dengan satu fungsi tujuan. Optimisasi multi objektif melibatkan meminimumkan atau memaksimumkan beberapa fungsi tujuan pada satu set kendala (Mo et al., 2014).

Persoalan multi objektif dalam menyelesaikan masalah lintasan terpendek yang memiliki lebih dari satu fungsi tujuan yang akan dioptimalkan secara bersamaan (Guardado et al., 2014).

Proses pencarian lintasan terpendek diawali dengan mengetahui posisi awal posisi tujuan yang akan dikunjungi. Posisi awal dan tujuan telah diketahui akan digunakan pada proses pencarian lintasan terpendek. Mengetahui posisi awal dan tujuan juga dapat mempermudah penyelesaian persoalan yang ingin diselesaikan.

Dalam persoalan pencarian lintasan terpendek, setiap lintasannya harus memiliki suatu nilai atau bobot. Bobot tersebut merupakan jarak dari satu posisi ke posisi lain. Metode multi objektif sederhana adalah yang membentuk fungsi objektif komposit sebagai jumlah pertimbangan tujuan, dimana berat untuk tujuan se- banding dengan faktor preferensi yang ditetapkan untuk tujuan tertentu (Chitra dan Subbaraj, 2010). Kebanyakan masalah optimisasi dunia nyata membutuhkan dua atau lebih tujuan yang biasanya masing-masing tujuan berada dalam keadaan kontradiksi antara tujuan yang satu dengan tujuan yang lain.

4

Universitas Sumatera Utara

(21)

5

Ada beberapa algoritma yang telah meneliti masalah multi objektif. Di- antaranya adalah sebagai berikut:

1. Membandingkan algoritma Martins dengan algoritma Brute. Hasil per- cobaan menunjukkan bahwa algoritma Martins menghasilkan satu set lebih lengkap dengan solusi efisien untuk semua konfigurasi jaringan. Sedangkan algoritma Brute hanya menghasilkan solusi untuk ukuran kecil dan jaringan density rendah (Janssens dan Maria, 2007).

2. Bee Colony Optimization Algorithm. Berdasarkan hasil penelitian dan pem- bahasan yang dilakukan maka diperoleh kesimpulan yaitu Pertama, penca- rian rute terpendek menggunakan konsep penelusuran multi tujuan mem- perbesar peluang ditemukannya rute perjalanan yang lebih pendek sehingga didapat solusi secara global. Kedua, Jumlah lebah yang dilepas mempenga- ruhi peluang untuk menemukan rute terpendek. Semakin banyak lebah yang dilepas akan memperbesar peluang ditemukannya rute terpendek dari po- sisi awal ke posisi tujuan. Ketiga, parameter tidak memberikan pengaruh yang signifikan untuk menemukan rute terpendek (Danuri dan Prijodipro- djo, 2013).

3. Biogeography Optimization Algorithm. Hasil yang diperoleh Biogeography Optimization Algorithm memiliki keragaman yang lebih baik, variansi terke- cil yang menunjukkan bahwa lebih handal dan kuat dalam memproduksi solusi yang lebih baik (Mo et al., 2014).

4. Algorithm Discrete Bacterial Colony Chemotaxis. Operator yang digunakan memudahkan bagi bakteri untuk melompat keluar dari konvergen lokal dan mempercepat kecepatan konvergensi algoritma sehingga memungkinkan un- tuk mendapatkan solusi yang lebih efektif denga iterasi yang dn meningkat- kan nilai indeks solusi proporsi efektif (Lu et al., 2014).

Universitas Sumatera Utara

(22)

6

2.2 Optimisasi Multi Objektif

Sebuah permasalahan optimisasi (optimization problem), yang dimodelkan secara matematis, umumnya terdiri dari fungsi-fungsi tujuan (objective functions) dan kendala-kendala (constraints). Fungsi tujuan mempresentasikan tujuan yang ingin dioptimalkan (Mahmudy dan Rahman, 2011). Sebagian besar masalah dunia nyata melibatkan beberapa fungsi objektif. Perencanaan beberapa fungsi objektif adalah untuk menentukan solusi yang lebih baik dari beberapa objek. Umum- nya, fungsi ini sering bersaingan dan tujuannya bertentangan. Optimisasi multi objektif memiliki fungsi tujuan yang bertentangan yang dapat menimbulkan se- rangkaian solusi optimal, bukan satu solusi optimal.

Gambar 2.1 Contoh grafik fungsi tujuan dengan 3 kendala

Masalah optimisasi multi objektif terdiri dari sejumlah tujuan dan beberapa kendala yang dapat dirumuskan sebagai berikut (Chitra dan Subbaraj, 2010):

M in/max fi(x) i = 1, 2, 3, . . . , Nobjectives (2.1)

Dengan kendala

gk(x) = 0, k = 1, 2, 3, . . . , K hi(x) ≤ 0, l = 1, 2, 3, . . . , L

dengan fi merupakan fungsi tujuan ke - i, x adalah vektor keputusan yang menggambarkan sebuah solusi, dan N merupakan jumlah tujuan yang ada. K dan L adalah jumlah kesetaraan dan ketidaksetaraan masing-masing kendala.

Universitas Sumatera Utara

(23)

7

Dalam kehidupan sehari-hari, terdapat pertimbangan-pertimbangan yang saling berlawanan antara satu dengan yang lainnya. Oleh karena itu, solusi multi objektif sempurna yang secara bersamaan mengoptimalkan setiap fungsi tujuan hampir mustahil dikarenakan tujuan yang satu seringkali berlawanan de- ngan tujuan-tujuan yang lain yang juga ingin dicapai. Sebuah solusi yang masuk akal untuk masalah multi objektif adalah untuk menyelidiki satu set solusi, yang masing-masing memenuhi tujuan pada tingkat yang dapat diterima tanpa dido- minasi oleh solusi lain (Chitra dan Subbaraj, 2010).

2.3 Hill Climbing

Teknik heuristik adalah teknik yang digunakan untuk mempercepat pencari- an solusi. Teknik heuristik digunakan untuk mengeliminasi beberapa kemungkin- an solusi tanpa harus mengeksplorasinya secara penuh. Selain itu, teknik heuristik juga membantu memutuskan kemungkinan solusi mana yang pertama kali per- lu dievaluasi. Ada beberapa metode pencarian heuristik salah satunya adalah metode hill climbing. Algoritma pencarian heuristik memiliki eksponensial waktu dan ruang kompleksitas karena mereka menyimpan informasi yang lengkap dari lintasan yang akan diselesaikan (Potdar dan Thool, 2014).

Ada banyak masalah yang memerlukan pencarian dari sejumlah besar solusi yang mungkin untuk menemukan satu yang memenuhi semua kendala. Sebagai contoh dasar mempertimbangkan masalah menyusun jadwal kelas yang diberi satu set kendala pada ketersediaan ruang kelas dan berbagai kendala waktu antara mahasiswa dan dosen.

Hill climbing adalah metode yang dikenal untuk pencarian lokal. Gagasan untuk metode hill climbing adalah mulai secara cak dari state yang ada, berge- rak ke tetangga dengan nilai evaluasi yang terbaik dan jika suatu minimum lokal telah dicapai lalu memulai lagi secara acak pada state yang berbeda. Pengu- langan prosedur ini dilakukan hingga solusi ditemukan. Algoritma ini mengatur suatu parameter yang disebut Max-Flips. Max-flips digunakan untuk membatasi jumlah maksimum langkah dalam setiap kali pengulangan dan membantu untuk meninggalkan minimum lokal yang tidak dibatasi. Faktanya, algoritma hill clim- bing menyelidiki semua tetangga dari state sekarang sebelum memilih gerak dan ini harus diperhitungkan karena ini dapat memakan banyak waktu (Thiang dan Ninaber, 2009).

Universitas Sumatera Utara

(24)

8

Algoritma hill climbing memperluas satu node pada suatu waktu dimulai dengan node awal. Setiap kali perluasan hanya node terbaik yang dicapai dari node saat ini. Metode ini tidak melibatkan perhitungan kompleks dan tidak dapat dipastikan kelengkapan dalam pencarian solusi (Potdar dan Thool, 2014).

Metode ini hampir sama dengan metode generate and test dan merupakan salah satu variasi dari metode tersebut. Yang membedakan kedua metode ini adalah umpan balik (feed back) yang berasal dari prosedur pengujian digunakan untuk memutuskan arah gerak dalam pencarian. Hill climbing adalah proses pengujian yang dilakukan dengan menggunakan fungsi heuristik. Pembangkitan keadaan berikutnya sangat tergantung pada f eedback dari proedur pengetesan.

Tes yang berupa fungsi heuristik ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin.

Ada dua macam metode hill climbing yaitu, simple hill climbing dan steepest ascent hill climbing.

2.3.1 Simple hill climbing

Simple hill climbing menentukan next state dengan membandingkan current state dengan satu seccessor dan successor pertama lebih baik dan akan dipilih menjadi next state (Thiang dan Ninaber, 2009). Gerakan pencarian next state dimulai dari posisi paling kiri atau posisi langkah pertama dari pertukaran yang dilakukan tanpa mempertimbangkan nilai dari tetangga-tetangga yang lain.

Algoritma simple hill climbing adalah sebagai berikut (Thiang dan Ninaber, 2009):

1. Evaluasi state awal, jika state awal sama dengan tujuan, maka proses berhen- ti. Jika tidak sama dengan tujuan maka lanjutkan proses dengan membuat state awal sebagai state sekarang.

2. Kerjakan langkah berikut sampai solusi ditemukan atau sampai tidak ada lagi operator baru yang dapat digunakan dalam state sekarang.

(a) Cari sebuah operator yang belum pernah digunakan dalam state sekarang dan gunakan operator tersebut untuk membentuk state baru.

(b) Evaluasi state baru.

i. Jika state baru adalah tujuan, maka proses berhenti.

Universitas Sumatera Utara

(25)

9

ii. Jika state baru tersebut bukan tujuan tetapi state baru lebih baik daripada state sekarang, maka state baru menjadi state sekarang.

iii. Jika state baru tidak lebih baik daripada state sekarang, maka lanjut ke langkah 2.

Berikut ini merupakan contoh tahapan proses simple hill climbing.

Gambar 2.2 Contoh simple hill climbing

Terdapat suatu lintasan dengan posisi awal ABCD. Tk merupakan tukar antara posisi yang satu dengan posisi yang lain. Misalkan saja pada gambar 2.2, Tk 1,2 adalah proses pertukaran yang pertama dilakukan dan posisinya paling kiri. Setelah dilakukan pertukaran, dihitunglah panjang lintasan atau bobot yang dimiliki oleh lintasan yang baru. Jika diperoleh hasil yang lebih kecil daripada hasil lintasan awal, maka langkah selanjutnya adalah lintasan yang baru dijadikan sebagai lintasan awal. Jika hasil yang diperoleh lebih besar daripada hasil lintasan awal, maka dilihat hasil dari tetangga yang pertama, yaitu hasil dari pertukaran yang kedua. Hal ini terus dilakukan sampai menghasilkan nilai yang ingin dicapai.

2.3.2 Steepest ascent hill climbing

Steepest ascent hill climbing hampir sama dengan simple hill climbing. Hanya saja gerakan pencarian tidak dimulai dari posisi kiri. Gerakan selanjutnya dicari berdasarkan nilai heuristik terbaik. Dalam hal ini urutan penggunaan opera- tor tidak menentukan solusi (Azizah, 2012). Steepest ascent hill climbing meru- pakan metode algoritma yang banyak digunakan untuk permasalahan optimasi salah satu penerapannya adalah untuk mencari rute yang terpendek dengan cara

Universitas Sumatera Utara

(26)

10

memaksimumkan atau meminimumkan nilai dari fungsi optimasi yang ada. Secara harfiah steepest berarti paling tinggi, sedangkan ascent berarti kenaikan. Dengan demikian steepest ascent berarti kenaikan yag tinggi. Jadi prinsip dasar metode ini adalah mencari kenaikan paling tinggi dari keadaan sekitar untuk mencapai nilai yang paling optimal (Thiang dan Ninaber, 2009).

Algoritma steepest ascent hill climbing sebagai berikut (Thiang dan Ninaber, 2009):

1. Evaluasi keadaan awal (initial state). Jika keadaan awal sama dengan tujuan (goal state) maka kembali pada initial state dan berhenti berproses. Jika tidak maka initial state tersebut jadikan sebagai current state.

2. Mulai dengan current state = initial state.

3. Dapatkan semua pewaris (successor) yang dapat dijadikan next state pada current successor tersebut dengan fungsi evaluasi dan beri nilai pada setiap successor tersebut. Jika salah satu dari successor tersebut mempunyai nilai yang lebih baik dari current state maka jadikan successor dengan nilai yang paling baik tersebut sebagai new current state. Lakukan operasi ini terus menerus hingga tercapai current state = goal state atau tidak ada perubahan pada current statenya.

Pada steepest ascent hill climbing ada 3 masalah yang mungkin terjadi, yaitu (Azizah, 2012):

1. Local optimum yaitu keadaan semua tetangga lebih buruk atau sama dengan keadaan awal.

2. P lateu merupakan keadaan semua tetangga dengan keadaan awal.

3. Ridge merupakan local optimum yang lebih disebabkan karena ketidakmam- puan untuk menggunakan 2 operator sekaligus.

Universitas Sumatera Utara

(27)

11

Berikut ini merupakan contoh tahapan proses steepest ascent hill climbing.

Gambar 2.3 Contoh steepest ascent hill climbing

Terdapat suatu lintasan dengan posisi awal ABCD. Misalkan saja pada gam- bar 2.3, Semua proses pertukaran dilakukan dan dihitung panjang lintasan dari masing-masing lintasan. Selanjutnya dilakukan permandingan antara tetangga yang satu dengan tetangga yang lain. Karena kasusnya adalah meminimumkan lintasan, maka dicarilah panjang lintasan yang paling minimum. Jika sudah di- peroleh, langkah selanjutnya adalah menjadikan lintasan tersebut sebagai posisi awal. Lalu dilakukan lagi pertukaran dan dihitung kembali panjang lintasannya.

Hal ini terus dilakukan sampai hasil yang diinginkan tercapai.

Dalam penerapannya, metode simple hill climbing dan steepest ascent hill climbing mempunyai beberapa kelebihan dan kekurangan. Tabel 2.1 merupakan perbandingan kelebihan dan kekurangan dari kedua metode tersebut (Thiang dan Ninaber, 2009):

Tabel 2.1 Perbandingan simple hill climbing dan steepest ascent hill climbing Simple Hill Climbing Steepest Ascent Hill Climbing Kelebihan Efisiensi dari segi memori Kemungkinan untuk mendapatkan

penyelesaian lebih besar Bisa digabungkan dengan Bisa digabungkan dengan

metode pencarian lain metode pencarian lain Kekurangan Tidak dijamin ditemukan Memori yang dipakai

jalan penyelesaian lebih banyak Tidak mungkin kembali Tidak mungkin kembali

ke state semula ke state semula

Universitas Sumatera Utara

(28)

12

Penelitian ini menggunakan steepest ascent hill climbing karena dalam proses pencarian hasil yang optimal, setiap langkahnya mempertimbangkan hasil dari tetangga. Hal ini memungkinkan tercapainya pencarian hasil yang optimal.

2.4 Algoritma Evolusioner

Algoritma evolusioner adalah algoritma pencarian heuristik yang berdasar- kan ide-ide evolusi seleksi alam dan genetika. Dengan demikian mereka mewakili eksploitasi cerdas pencarian acak yang digunakan untuk memecahkan masalah optimasi. Meskipun secara acak, algoritma evolusioner tidak berarti acak se- baliknya mereka memanfaatkan informasi historis untuk mengarahkan pencarian kewilayah kinerja yang lebih baik dalam ruang pencarian. Pada setiap generasi, satu set baru perkiraan yang dibuat oleh proses pemilihan individu sesuai dengan tingkat kebugaran dalam domain masalah dan peternakan mereka bersama-sama menggunakan operator dipinjam dari genetik alam. Proses ini menyebabkan evo- lusi populasi individu yang lebih sesuai dengan lingkungan mereka daripada nenek moyang mereka, seperti dalam adaptasi alami.

Proses dalam algoritma evolusioner ditunjukkan pada gambar 2 (Mahmudy, 2013):

Gambar 2.4 Proses-proses dalam EA

Individu-individu dalam populasi di EA mempresentasikan solusi dari masalah yang akan diselesaikan. Sebuah fungsi f itness digunakan untuk mengukur se- berapa baik suatu individu. Individu terbaik di akhir generasi bisa dikodekan sebagai solusi terbaik yang bisa diperoleh.

Algoritma evolusioner (EA) telah banyak dianalisis dalam masalah optimasi tujuan tunggal tetapi hanya beberapa peneliti telah menerapkan EA untuk masa- lah jalan terpendek multi objektif baik sebagai masalah utama ataupun sebagai sub masalah yang berkaitan dengan perencanaan rute, lalu lintas dan desain trans- portasi, sistem informasi dan desain jaringan komunikasi. Gen dan Lin (2004) menggunakan multiobjective hybrid genetic algorithm (GA) untuk meningkatkan

Universitas Sumatera Utara

(29)

13

solusi untuk masalah desain jaringan bicruteria (menentukan jalur terpendek) dengan dua tujuan yang saling bertentangan meminimalkan biaya dan memaksi- malkan aliran.

Sebuah diskusi lengkap algoritma evolusioner multi objektif multiobjective evolutionary algorithms (MOEA)seperti (Deb, 2011). Ada beberapa MOEA yang diteliti, Zitzler dan Thiele, Strenght Pareto Evolutionary Algorithm (SPEA) di- anggap sebagai salah satu algoritma evolusioner multi objektif yang lebih baik.

Ini memiliki tiga karakteristik yang menguntungkan.

1. SPEA memiliki kebugaran strategis tugas yang sangat baik yang menyum- bangkan kekuatan individu dalam hal individu yang mendominasi dan keku- atan yang dominan tersebut.

2. SPEA menggabungkan teknik estimasi kepadatan yang mendiskriminasikan individu secara efisien.

3. SPEA memiliki metode pemotongan arsip yang mencegah solusi batas dari eliminasi.

Ada beberapa tipe algoritma evolusioner yang telah dikembangkan menurut Mahmudy (2013) adalah sebagai berikut:

1. Algoritma genetik (Genetic Algorithms, GAs)

Merupakan tipe EA yang paling popular dan banyak diterapkan pada ma- salah - masalah kompleks. Pada awalnya banyak menggunakan represen- tasi string biner tetapi kemudian berkembang dengan menggunakan vektor bilangan integer dan pecahan (real). Pembangkitkan solusi baru banyak mengandalkan proses tukar silang (crossover). Mutasi biasanya dipakai se- bagai operator tambahan untuk menjaga keragaman populasi.

2. Evolution Strategies (ES)

Representasi solusi biasanya menggunakan vektor bilangan pecahan. Mu- tasi merupakan operator reproduksi utama. Mekanisme self-adaptation di- gunakan untuk mengontrol perubahan nilai parameter pencarian.

3. Genetic Programming (GP)

Digunakan untuk mengoptimalkan rangkaian program komputer yang di- representasikan dalam bentuk struktur data pohon (tree).

Universitas Sumatera Utara

(30)

14

4. Evolutionary Programming (EP)

Mempunyai tujuan seperti GP tetapi prinsip kerjanya seperti ES. Finite State Machines (FSM) digunakan untuk mempresentasikan program kom- puter.

Dalam tesis ini, penulis menggunakan algoritma genetik (Genetik Algorithm, GA), karena merupakan suatu teknik memecahkan masalah-masalah optimasi. Se- lain itu, berdasarkan penelitian-penelitian yang ada GA terbukti sesuai digunakan untuk menyelesaikan masalah multi objektif.

Genetik Algorithm (GA) disebut juga dengan algoritma genetik atau algo- ritma genetika merupakan salah satu model soft computing yang sering digunakan dalam menyelesaikan permasalahan optimisasi. Soft computing adalah suatu mo- del pendekatan untuk melakukan komputasi dengan meniru akal manusia dan memiliki kemampuan untuk menalar dan belajar pada lingkungan yang penuh dengan ketidakpastian (Muzid, 2014). Algoritma genetik diawali dengan sebuah penyelesaian dengan pembentukan populasi secara acak. Setiap individu dalam populasi disebut kromosom yang menggambarkan suatu penyelesaian. Sebuah kromosom biasanya digambarkan sebagai simbol string yang biasanya berbentuk biner, namun tidak selalu demikian (Al-Amin, 2009).

Kromosom (Chromosome) tersusun atas gen-gen yang merupakan represen- tasi nilai variabel dalam suatu fungsi yang ingin dicari solusinya dan setiap kromo- som diberi sebuah nilai fitness. Solusi dari sebuah populasi diambil dan dipergu- nakan untuk membentuk populasi yang baru dengan crossover dan mutasi. Hasil yang diharapkan adalah populasi baru yang terbentuk akan memiliki nilai fitness yang lebih tinggi dibandingkan dengan populasi sebelumnya. Aspek penting dari GA adalah inisialisasi populasi, representasi kromosom, persilangan, mutasi, se- leksi, terminasi dan fungsi evaluasi. GA telah membuktikan sebagai optimalisasi yang efektif yang dapat memberikan penyelesaian terbaik atau mendekati optimal.

Siklus pengembangan GA diawali dengan pembuatan himpunan solusi baru (initialization) yang terdiri atas sejumlah string kromosom dan ditempatkan pada penampungan populasi. Kemudian dilakukan proses reproduksi dengan memilih individu-individu yang akan dikembangbiakkan. Penggunaan operator-operator genetik seperti pemindahan silang (crossover) dan mutasi (mutation) terhadap individu-individu yang terpilih dalam penampungan individu akan menghasilkan keturunan atau generasi baru. Setelah proses evaluasi untuk perbaikan popula-

Universitas Sumatera Utara

(31)

15

si, maka generasi-generasi baru ini akan menggantikan himpunan populasi asal.

Siklus ini akan berlangsung berulang kali sampai tidak dihasilkan perbaikan ketu- runan, atau sampai kriteria optimum ditemukan (Widodo dan Mahmudy, 2010).

Setiap kromosom mempunyai nilai kebugaran (fitness) yang mempunyai peluangnya untuk bertahan hidup dalam generasi berikutnya (Mahmudy dan Rahman, 2011). Setelah individu-individu dalam populasi telah terbentuk, maka langkah selanjutnya adalah menghitung nilai fitness setiap individu. Fungsi fitness sendiri bertujuan untuk mengetahui baik tidaknya solusi yang ada pada suatu in- dividu dan setiap individu pada populasi harus memiliki nilai pembandingannya.

Selanjutnya, nilai fitness digunakan untuk solusi terbaik dengan cara pengurutan nilai fitness dari individu-individu (Widodo dan Mahmudy, 2010).

Ada 6 (enam) tahapan untuk menyelesaikan persoalan lintasan terpendek dengan kasus multi objektif, yaitu:

1. Initial population

Sebuah jalur atau kromosom dihasilkan secara acak dalam urutan dari node sumber ke node tujuan. ID dari node sumber s ditugaskan untuk lokus pertama (indeks array) dari kromosom. ID dari node visecara acak ditugaskan untuk lokus kedua sehingga vi memiliki set node terhubung ke sumber s. Prosedur ini terus iteratif untuk node berikutnya sampai jalan sederhana untuk wastafel simpul t dibuat.

Mengingat proses untuk membuat jalan layak, masalah ukuran populasi N tetap menjadi masalah. Hal ini diketahui bahwa ukuran populasi solusi meningkat secara eksponensial dengan jumlah sasaran dalam PMLT. Ada dua pilihan umum untuk menanggapi masalah ini. Gunakan populasi besar atau mengintegrasikan prosedur ukuran untuk populasi dinamis dalam GA (Maria dan Janssens, 2007).

Siklus perkembangan diawali dengan pembuatan himpunan solusi baru (ini- tialization) secara acak yang terdiri atas sejumlah string kromosom dan ditem- patkan pada penampungan populasi. Penentuan representasi kromosom yang sesuai memegang peranan penting dalam kesuksesan implementasi (Mahmudy dan Rahman, 2011). Pada penelitian ini digunakan representasi kromosom bi- langan bulat. Panjang string kromosom tergantung pada banyaknya variabel bebas/keputusan (x) yang digunakan.

Universitas Sumatera Utara

(32)

16

Strategi random initialization digunakan untuk menghasilkan populasi awal P0 dan membuat arsip kosong (set eksternal) Po = ∅. Set t = 0 (Maria dan Janssens, 2007). Set Pareto-optimal eksternal diperbaharui sebagai berikut (Potti dan Chinnasamy, 2011):

1. Populasi untuk individu non-dominated dan menyalinnya kehimpunan Pare- to eksternal.

2. Cari himpunan Pareto eksternal bagi individu non-dominated dan mengha- pus mereka semua dari himpunan.

3. Jika jumlah individu eksternal disimpan di set Pareto melebihi ukuran mak- simum yang sebelumnya telah ditentukan, kurangkan dari himpunan dengan cara pengelompokan (clustering).

2. Fitness function

SPEA2 pertama memberikan nilai kekuatan S(p) untuk setiap jalur p dari archive (N ) dan populasi (N ) yang merupakan jumlah solusi p mendominasi.

Menunjuk pada (l). Kemudian raw fitness R(p) dari setiap jalur (p) dihitung yang dapat mengukur kekuatan dominasi dari p. Raw fitness bertindak sebagai mekanisme niching dan mendapatkan hasil yang buruk ketika sebagian jalan di M = N + N merupakan non-dominated, yaitu populasi yang membentuk solusi baru hanya dalam beberapa cluster.

SPEA2 memperkenalkan estimator densitas (density estomator), mekanis- me fitness sharing untuk menghindari penyimpanan genetik. Kepadatan estima- tor didefinisikan sebagai kebalikan dari jarak individu dalam ruang tujuan untuk tetangga terdekat k − th. Nilai density kemudian ditambahkan ke nilai raw fitness untuk memberikan fungsi f itness akhir.

Ide dasar pendekatan ini adalah untuk menemukan satu set solusi dalam populasi yang non-dominated oleh seluruh populasi. Prosedur fitness assignment terdiri dari dua tahap proses. Pertama, individu dalam himpunan non-dominated eksternal P dirangking. Setelah itu, individu-individu dalam populasi P dieva- luasi. Langkah fitness assignment sebagai berikut:

Langkah 1: Setiap solusi i  P ditandai dengan nilai real Si [0, 1), disebut strenght. Dengan n adalah jumlah individu populasi P yang dilingkupi i dan N merupakan ukuran acak populasi yang diciptakan:

Universitas Sumatera Utara

(33)

17

si = ni

N + 1 (2.2)

fi = Si[0, 1) (2.3)

Langkah 2: F itness dari suatu individu j  P dikalkulasikan sebagai jumlah strength dari semua non-dominated eksternal i  P yang melingkupi j.

fj = 1 + X

iP ∧i≺j

{S(i)} (2.4)

Fitness score suatu individu tidak hanya ditentukan oleh individu-individu yang terdapat pada archive melainkan penentuan fitness score juga memperhi- tungkan jumlah individu lain yang didominasi dan mendominasi individu tersebut.

Setiap individu i didalam archive Atdan populasi Ptdiberikan nilai strenght S(i), yang mempresentasikan jumlah solusi yang mendominasinya (Maria dan Janssens, 2007).

S(i) = |{j|jPt+ Pt∧ i ≺ j}| (2.5) Berdasarkan nilai S(i), raw f itness R(i) dari individu i dihitung dengan

Raw fitnessR(i) = X

jPt+Pt,j≺i

{S(j)} (2.6)

Untuk membedakan nilai f itness individu yang tidak saling mendominasi digunakan nilai density D(i) yang merupakan perbedaan nilai fungsi objektif (σik) suatu individu terhadap individu lainnya (Maria dan Janssens, 2007).

D(i) = 1

σki + 2; k = p

N + N (2.7)

Dalam penyebutan nilai fungsi objektif ditambahkan 2 untuk memastikan bahwa nilainya lebih besar dari 0 dan D(i) < 1. Sehingga dapat dihitung nilai finess score untuk setiap individu (Maria dan Janssens, 2007).

F (i) = R(i) + D(i) (2.8)

Universitas Sumatera Utara

(34)

18 3. Selection

Seleksi memainkan peran penting dalam meningkatkan kualitas rata-rata populasi dengan melewati kromosom berkualitas tinggi untuk generasi berikut- nya (Chitra dan Subbaraj, 2010). Seleksi adalah operator yang memilih bebera- pa pasang kromosom, yang disebut Parents yang akan digunakan oleh operator crossover. P arents dipilih sesuai dengan nilai f itnessnya masing-masing. Se- makin baik kromosom, maka semakin banyak kesempatan mereka miliki untuk dipilih (Boussedrja, et al., 2010).

Dengan demikian, salin semua individu yang tidak dimoninasi di Pt dan Pt ke Pt+1. Jika ukuran Pt+1 melebihi N kemudian kurang dari Pt+1 atas perto- longan transaksi operator, sebaliknya jika ukuran Pt+1 kurang dari N kemudian memenuhi Pt+1 dengan individu mendominasi di Pt dan Pt (Maria dan Janssens, 2007).

Proses seleksi dimaksudkan sebagai proses pemilihan beberapa pasang kro- mosom sebagai objek yang nantinya akan disilangkan. Dalam proses seleksi, po- pulasi dan himpunan eksternal akan dikombinasikan dan setiap dua individu se- cara acak akan dipilih. Proses menyeleksi ini memegang peranan penting dalam menentukan kualitas rata-rata dari populasi dengan melewati/melampaui kuali- tas terbaik kromosom ke generasi berikutnya. Kromosom yang terbaik memiliki kesempatan lebih besar dari yang lainnya untuk terpilih karena seleksi yang paling proporsional diasosiasi dengan setiap kromosom dengan nilai fitness assignment yang terbaik.

SPEA2 menawarkan dua prosedur seleksi yaitu seleksi lingkungan dan ka- win. Pemilihan lingkungan dengan memilih individu yang harus pindah ke gene- rasi archive berikutnya Pt+1 dari archive saat ini Pt(Maria dan Janssens, 2007).

4. Recombination

Metode crossover digunakan oleh algoritma evolusioner untuk individu pa- sangan dari populasi untuk membentuk keturunan baru (Boussedjra et al., 2010).

Skema crossover merupakan adaptasi dari satu titik crossover. Untuk pasangan jalur lokus dipilih secara acak dari salah satu kromosom (jalur terpendek dalam hal jumlah node) dan simpul ID dari lokus yang cocok dengan gen dalam kromo- som lainnya. Selanjutnya dilalukan perkawinan agar menghasilkan generasi baru.

Dua kromosom dapat menyeberang jika mereka memiliki setidaknya satu pasang gen yang sama (node) kecuali untuk node awal (sumber) dan node tujuan. Jika

Universitas Sumatera Utara

(35)

19

ada lagi pasangan gen umum, satu pasang yang dipilih secara acak dan lokus setiap node menjadi ditus persimpangan dari setiap kromosom.

5. Mutation

Proses mutasi adalah suatu proses kemungkinan memodifikasi informasi gen- gen pada suatu kromosom. Perubahan ini dapat membuat solusi duplikasi men- jadi memiliki nilai f itness yang lebih rendah maupun lebih tinggi daripada solusi induknya. Tujuan dari mutasi adalah untuk menciptakan keragaman dalam po- pulasi. Populasi mengalami mutasi oleh perubahan aktual atau membalik dari salah satu gen dari kromosom calon, sehingga menjaga diri dari optimal lokal (Potti dan Chinnasamy, 2011).

Operator mutasi mengubah gen dengan probabilitan yang diberikan. Ini bermaksud untuk mencegah jatuhnya semua solusi dalam populasi ke lokal op- timum dari penyelesaian masalah. Ini menciptakan kromosom baru yang meru- pakan solusi potensial (Boussedjra et al., 2010).

Dalam melakukan mutasi, sebuah node yang disebut titik mutasi, dipilih secara acak dari lintasan yang dipilih. Kemudian, mulai dari node menggunakan pencarian pertama kedalam untuk menemukan node-node berikutnya sampai node terakhir ditemukan. Hal ini menunjukkan bahwa pengulangan dapat diproduksi dalam proses mutasi.

Universitas Sumatera Utara

(36)

BAB 3

ALGORITMA GENETIK

Algoritma genetik adalah suatu algoritma pencarian yang berbasis pada mekanisme seleksi alam dan genetika. Algoritma generika merupakan salah satu algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimisasi kompleks, yang sulit dilakukan oleh metode konvensional.

Adapun kelebihan algoritma genetik ebagai metode optimasi (Mahmudy, 2013), yaitu:

1. GAs merupakan algoritma yang berbasis populasi yang memungkinkan digu- nakan pada optimasi masalah dengan ruang pencarian (search space) yang sangat luas dan kompleks. Properti ini juga memungkinkan GAs untuk melompat keluar dari daerah optimum lokal.

2. Individu yang ada pada populasi bisa diletakkan pada beberapa sub-populasi yang diproses pada sejumlah komputer secara paralel. Hal ini bisa mengu- rangi waktu komputasi pada masalah yang sangat kompleks. Penggunaan sub-populasi juga bisa dilakukan pada hanya satu komputer untuk menjaga keragaman populasi dan meningkatkan kualitas hasil pencarian.

3. GAs menghasilkan himpunan solusi optimal yang sangat berguna pada penye- lesaian masalah dengan banyak obyektif.

4. GAs dapat digunakan untuk menyelesaikan masalah yang kompleks dengan banyak variabel. Variabel tersebut bisa kontinyu, diskrit atau campuran keduanya.

5. GAs menggunakan chromosome untuk mengkodean solusi sehingga bisa melakukan pencarian tanpa memperhatikan informasi derivatif yang spesifik dari masalah yang diselesaikan.

6. GAs bisa diimplementasikan pada berbagai macam data seperti data yang dibangkitkan secara numerik atau menggunakan dungsi analitis.

7. GAs bisa diimplementasikan pada berbagai macam data seperti data yang dibangkitkan secara numerik atau menggunakan fungsi analitis.

20

Universitas Sumatera Utara

(37)

21

8. GAs cukup fleksibel untuk dihibridisasi dengan algoritma lainnya. Beberapa penelitian membuktikan bahwa hybrid GAs (HGAS) sangat efektif untuk menghasilkan solusi yang lebih baik.

9. GAs bersifat ergodic, sembarang solusi bisa diperoleh dari solusi yang lain dengan hanya beberapa langkah. Hal ini memungkinkan eksplorasi pada daerah pencarian yang sangat luas dilakukan dengan lebih cepat dan mudah.

3.1 Istilah dalam Algoritma Genetik

Terdapat beberapa definisi penting dalam algoritma genetik yang perlu diperhatikan, yaitu:

1. Genotype (Gen) merupakan sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dina- makan kromosom. Dalam algoritma genetika, gen ini bisa berupa biner, float, integer maupun karakter atau kombinatorial.

2. Allele merupakan nilai dari gen.

3. Locus merupakan posisi dari gen.

4. Kromosom merupakan gabungan gen-gen yang membentuk nilai tertentu.

5. Individu merupakan satu nilai atau keadaan yang menyatakan salah satu solusi yang memungkinkan dari permasalahan yang diangkat. Individu bisa juga dikatakan sama dengan kromosom.

6. Populasi merupakan sekumpulan individu yang diproses bersama dalam satu siklus proses evaluasi.

7. Generasi menyatakan satu silkus proses evolusi atau satu iterasi di dalam algoritma genetika.

Universitas Sumatera Utara

(38)

22

Istilah-istilah tersebut dapat diilustrasikan pada gambar 3.1 sebagai berikut

Gambar 3.1 Ilustrasi representasi penyelesaian permasalahan dalam algoritma genetik

Alele merupaka bagian dari gen. Kumpulan-kumpulan gen merupakan kro- mosom. Kumpulan beberapa kromosom merupakan individu. Kumpulan individu- individu merupakan populasi.

3.2 Komponen-komponen Algoritma Genetik

Terdapat beberapa komponen dalam algoritma genetik, yaitu:

1. Skema pengkodean

Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom, gen merupakan bagian dari kromosom. Satu gen akan mewakili satu va- riabel. Masing-masing kromosom berisi sejumlah gen yang mengkodekan informasi yang disimpan didalam individu atau kromosom.

Gen dapat direpresentasikan dalam bentuk: bit, bilangan real, string, daf- tar aturan, gabungan dari beberapa kode, elemen permutasi, elemen prog- ram atau representasi lainnya yang dapat diimplementasikan untuk operator genetik.

Universitas Sumatera Utara

(39)

23

2. Membangkitkan populasi awal

Membangkitkan populasi awal adalah proses mebangkitkan sejumlah indi- vidu atau kromosom secara acak memalui prosedur tertentu. Ukuran untuk populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetik yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal.

Teknik dalam pembangkitan populasi awal pada penelitian ini menggunakan random search, pencarian solusi dimulai dari suatu titik uji tertentu secara acak. Titik uji tersebut dianggap ssebagai alternatif solusi yang disebut sebagai populasi.

3. Nilai f itness

Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performasinya. Fungsi f itness bertujuan untuk mengetahui baik tidaknya solusi yang ada pada suatu individu dan setiap individu pada populasi harus memiliki nilai perbandingannya. Selanjutnya, nilai f itness digunakan untuk solusi terbaik dengan cara pengurutan nilai fitness dari individu-individu.

Setelah kromosom terbentuk, maka selanjutnya dilakukan proses perhitung- an f itness.

f = 1

1 + (Cost)

Cost merupakan total jarak yang ditempuh yang dilewati dari titik awal sampai titik akhir. Nilai f itness akan berbanding terbalik dengan nilai cost.

F itness terbaik yaitu f itness terbesar yang dapat dicapai dengan nilai cost terkecil. (Widodo dan Mahmudy, 2010). Individu yang bernilai f itness besar akan bertahan hidup. Sedangkan individu yang bernilai f itness kecil akan mati.

4. Seleksi

Pembentukan susunan kromosom pada satu populasi baru biasanya dilakukan secara proporsional sesuai dengan nilai f itnessnya. Cara kerja metode ini adalah sebagai berikut:

(a) Hitung total f itness semua individu

(b) Hitung probabilitas seleksi masing-masing individu

Universitas Sumatera Utara

(40)

24

(c) Dari probabilitas tersebut, dihitung jatah interval masing-masing indi- vidu pada angka 0 sampai 1

(d) Bangkitkan bilangan random antara 0 sampai 1

(e) Dari bilangan random yang dihasilkan, tentukan urutan untuk populasi baru hasil proses seleksi

5. Pindah silang (Crossover)

Salah satu komponen yang paling penting dalam algoritma genetik adalah pindah silang atau crossover. Sebuah kromosom yang mengarah pada so- lusi yang baik dapat diperoleh dari proses memindah-silangkan dua buah kromosom. Pindah silang juga dapat berakibat buruk jika ukuran popu- lasinya sangat kecil. Dalam suatu populasi yang sangat kecil, suatu kromo- som dengan gen-gen yang mengarah pada solusi terbaik akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah ini digunakan suatu aturan bahwa pindah silang hanya bisa dilakukan dengan suatu probabilitas tertentu, artinya pindah silang bisa dilakukan hanya jika suatu bilangan random yang membangkitkan kurang dari probabilitas yang ditentukan tersebut.

Pada umumnya probabilitas tersebut diset mendekati 1. Pindah silang yang paling sederhana adalah pindah silang satu titik potong (one-point crossover). Suatu titik potong dipilih secara acak (random), kemudian bagian pertama dari orangtua 1 digabungkan dengan bagian kedua dari orangtua 2.

6. Mutasi

Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen da- lam suatu kromosom. Mutasi ini berperan untuk menggantikan gen yang hilang dari populasi akibat seleksi yang memungkinkan munculnya kem- bali gen yang tidak muncul pada inisialisasi populasi. Metode mutasi yang digunakan adalah mutasi dalam pengkodean nilai. Proses mutasi dalam pengkodean nilai dapat dilakukan dengan berbagai cara, salah satunya de- ngan memilih sembarang posisi gen pada kromosom, nilai yang ada tersebut kemudian dirubah dengan suatu nilai tertentu yang diambil secara acak.

Universitas Sumatera Utara

(41)

BAB 4

PEMBAHASAN PENGEMBANGAN ALGORITMA

4.1 Algoritma Genetik

Dengan menirukan proses genetik dan seleksi alam maka algoritma genetik akan menghasilkan chromosome ’terbaik’ setelah melewati sekian generasi. Kro- mosom terbaik ini harus diuraikan (decoding) menjadi sebuah solusi yang diha- rapkan menjadi optimum. Apabila P (t) dan C(t) merupakan poplasi (parents) dan of f spring pada generasi ke-t, maka struktur umum algoritma genetik dapat dideskripsikan sebagai berikut (Mahmudy, 2013):

Gambar 4.1 Algoritma genetik

4.2 Ilustrasi Numerik

Misalkan diketahui node S menuju T yang melalui kota (node) 1 sampai 8 dimana p adalah panjang lintasan dan w merupakan waktu tempuh dengan notasi (p,w).

Universitas Sumatera Utara

(42)

26

Gambar 4.2 10 node dan 19 edge dengan 2 fungsi tujuan

Pada contoh kasus gambar 4.2, terdapat 10 node dengan panjang lintasan (jarak) dan waktu tempuh yang telah diketahui. Adapun matriks adjacencynya adalah

0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0

Menyelesaikan ilustrasi numerik yang ada dengan menggunakan hill climbing sebagai berikut:

Terlebih dahulu ditentukan keadaan awal sebagai langkah awal untuk menye- lesaikan persoalan yang ada. Penentuan keadaan awal diambil secara acak (ran- dom). Adapun keadaan awalnya adalah sebagai berikut:

S → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → T

Operator digunakan untuk menukar posisi kota atau node yang bersebe- lahan. Fungsi heuristik yang digunakan adalah panjang lintasan yang terjadi.

Operator yang akan digunakan adalah menukar urutan 2 posisi kota (node) da- lam satu lintasan. Apabila ada n kota maka dicari kombinasi lintasan dengan menukar posisi urutan 2 node. Maka akan diperoleh sebanyak:

Universitas Sumatera Utara

(43)

27 n!

2!(n − 2)!

Terdapat 10 node yang terdiri dari 1 node asal, 1 node tujuan dan 8 node yang akan dilalui. Maka kombinasi yang diperoleh adalah

n!

2!(n − 2)! = 8!

2!(8 − 2)! = 28

Ada sebanyak 28 pertukaran antar 2 node yang akan dilakukan. Pertukaran node tersebut adalah:

1. Tukar 1 dan 2 (menukar urutan posisi node ke - 1 dengan node ke - 2) 2. Tukar 2 dan 3 (menukar urutan posisi node ke - 2 dengan node ke - 3) 3. Tukar 3 dan 4 (menukar urutan posisi node ke - 3 dengan node ke - 4) 4. Tukar 4 dan 5 (menukar urutan posisi node ke - 4 dengan node ke - 5) 5. Tukar 5 dan 6 (menukar urutan posisi node ke - 5 dengan node ke - 6) 6. Tukar 6 dan 7 (menukar urutan posisi node ke - 6 dengan node ke - 7) 7. Tukar 7 dan 8 (menukar urutan posisi node ke - 7 dengan node ke - 8) 8. Tukar 1 dan 8 (menukar urutan posisi node ke - 1 dengan node ke - 8) 9. Tukar 1 dan 3 (menukar urutan posisi node ke - 1 dengan node ke - 3) 10. Tukar 2 dan 4 (menukar urutan posisi node ke - 2 dengan node ke - 4) 11. Tukar 3 dan 5 (menukar urutan posisi node ke - 3 dengan node ke - 5) 12. Tukar 4 dan 6 (menukar urutan posisi node ke - 4 dengan node ke - 6) 13. Tukar 5 dan 7 (menukar urutan posisi node ke - 5 dengan node ke - 7) 14. Tukar 6 dan 8 (menukar urutan posisi node ke - 6 dengan node ke - 8) 15. Tukar 1 dan 7 (menukar urutan posisi node ke - 1 dengan node ke - 7) 16. Tukar 1 dan 4 (menukar urutan posisi node ke - 1 dengan node ke - 4) 17. Tukar 2 dan 5 (menukar urutan posisi node ke - 2 dengan node ke - 5)

Universitas Sumatera Utara

(44)

28

18. Tukar 3 dan 6 (menukar urutan posisi node ke - 3 dengan node ke - 6) 19. Tukar 4 dan 7 (menukar urutan posisi node ke - 4 dengan node ke - 7) 20. Tukar 5 dan 8 (menukar urutan posisi node ke - 5 dengan node ke - 8) 21. Tukar 1 dan 6 (menukar urutan posisi node ke - 1 dengan node ke - 6) 22. Tukar 2 dan 7 (menukar urutan posisi node ke - 2 dengan node ke - 7) 23. Tukar 3 dan 8 (menukar urutan posisi node ke - 3 dengan node ke - 8) 24. Tukar 1 dan 5 (menukar urutan posisi node ke - 1 dengan node ke - 5) 25. Tukar 2 dan 6 (menukar urutan posisi node ke - 2 dengan node ke - 6) 26. Tukar 3 dan 7 (menukar urutan posisi node ke - 3 dengan node ke - 7) 27. Tukar 4 dan 8 (menukar urutan posisi node ke - 4 dengan node ke - 8) 28. Tukar 2 dan 8 (menukar urutan posisi node ke - 2 dengan node ke - 8)

Jadi, ada 28 kali pertukaran yang akan dilakukan. Dari posisi saat ini, ruang pencarian tetangga terlebih dahulu diselidiki. Jika solusi kandidat lebih baik ditemukan, maka pencarian bergerak ke titik itu dan menggantikan posisi saat ini dengan solusi kandidat yang lebih baik.

Solusi awal = S → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → T dengan jarak : waktu = 29 : 20

Tukar 1 dan 2 = S → 2 → 1 → 3 → 4 → 5 → 6 → 7 → 8 → T = 29 : 20 Tukar 2 dan 3 = S → 1 → 3 → 2 → 4 → 5 → 6 → 7 → 8 → T

Tukar 3 dan 4 = S → 1 → 2 → 4 → 3 → 5 → 6 → 7 → 8 → T

Tukar 4 dan 5 = S → 1 → 2 → 3 → 5 → 4 → 6 → 7 → 8 → T = 29 : 20 Tukar 5 dan 6 = S → 1 → 2 → 3 → 4 → 6 → 5 → 7 → 8 → T

Tukar 6 dan 7 = S → 1 → 2 → 3 → 4 → 5 → 7 → 6 → 8 → T

Tukar 7 dan 8 = S → 1 → 2 → 3 → 4 → 5 → 6 → 8 → 7 → T = 29 : 20 Tukar 1 dan 8 = S → 8 → 2 → 3 → 4 → 5 → 6 → 7 → 1 → T

Tukar 1 dan 3 = S → 3 → 2 → 1 → 4 → 5 → 6 → 7 → 8 → T

Universitas Sumatera Utara

(45)

29

Tukar 2 dan 4 = S → 1 → 4 → 3 → 2 → 5 → 6 → 7 → 8 → T = 31 : 22 Tukar 3 dan 5 = S → 1 → 2 → 5 → 4 → 3 → 6 → 7 → 8 → T

Tukar 4 dan 6 = S → 1 → 2 → 3 → 6 → 5 → 4 → 7 → 8 → T

Tukar 5 dan 7 = S → 1 → 2 → 3 → 4 → 7 → 6 → 5 → 8 → T = 26 : 17 Tukar 6 dan 8 = S → 1 → 2 → 3 → 4 → 5 → 8 → 7 → 6 → T

Tukar 1 dan 7 = S → 7 → 2 → 3 → 4 → 5 → 6 → 1 → 8 → T Tukar 1 dan 4 = S → 4 → 2 → 3 → 1 → 5 → 6 → 7 → 8 → T Tukar 2 dan 5 = S → 1 → 5 → 3 → 4 → 2 → 6 → 7 → 8 → T Tukar 3 dan 6 = S → 1 → 2 → 6 → 4 → 5 → 3 → 7 → 8 → T Tukar 4 dan 7 = S → 1 → 2 → 3 → 7 → 5 → 6 → 4 → 8 → T Tukar 5 dan 8 = S → 1 → 2 → 3 → 4 → 8 → 6 → 7 → 5 → T Tukar 1 dan 6 = S → 6 → 2 → 3 → 4 → 5 → 1 → 7 → 8 → T Tukar 2 dan 7 = S → 1 → 7 → 3 → 4 → 5 → 6 → 2 → 8 → T Tukar 3 dan 8 = S → 1 → 2 → 8 → 4 → 5 → 6 → 7 → 3 → T Tukar 1 dan 5 = S → 5 → 2 → 3 → 4 → 1 → 6 → 7 → 8 → T Tukar 2 dan 6 = S → 1 → 6 → 3 → 4 → 5 → 2 → 7 → 8 → T Tukar 3 dan 7 = S → 1 → 2 → 7 → 4 → 5 → 6 → 3 → 8 → T Tukar 4 dan 8 = S → 1 → 2 → 3 → 8 → 5 → 6 → 7 → 4 → T Tukar 2 dan 8 = S → 1 → 8 → 3 → 4 → 5 → 6 → 7 → 2 → T

Proses pencarian lintasan terpendek dengan menggunakan algoritma steepest ascent hill climbing dapat digambarkan sebagai berikut:

Berdasarkan gambar 4.3, pada tahap pertama setelah dilakukan pertukaran sebanyak 28 pertukaran dan panjang lintasan dan waktu tempuh dari masing- masing lintasan setelah pertukaran diperoleh, selanjutnya dibandingkan panjang lintasan dan waktu tempuh dari masing-masing rute yang telah dipertukarkan.

Diperolehlah panjang lintasan dan waktu tempuh yang minimum dibandingkan Universitas Sumatera Utara

(46)

30

Gambar 4.3 Pencarian lintasan terpendek menggunakan steepest ascent hill clim- bing

dengan posisi awal, yaitu 26 dan 17. Selanjutnya posisi yang terpilih sebagai kandidat yang lebih baik daripada posisi awal, maka kandidat tersebut dijadikan sebagai posisi awal. Proses selanjutnya mempertukarkan kembali posisi-posisi yang telah ditentukan. Hasilnya tidak diperoleh kandidat yang lebih baik daripada kondisi awal maka proses pertukaran pun dihentikan. Hasil yang diperoleh yaitu panjang lintasan 26 dan waktu tempuh 17.

4.3 Pengembangan Algoritma Hill Climbing

Ada kemungkinan hasil yang diperoleh lebih minimum jika dilakukan per- tukaran kembali. Dikarenakan proses pencarian dengan menggunakan steepest ascept hill climbing selesai dan peluang diperolehnya hasil yang lebih maksimal masih ada, maka dilakukanlah pengembangan dengan menggunakan algoritma genetik. Adapun langkah-langkah pengembangannya sebagai berikut:

Universitas Sumatera Utara

(47)

31

Gambar 4.4 Langkah-langkah pengembangan algoritma

Langkah-langkah dalam pengembangan diawali dengan penentuan posisi awal. Posisi awal merupakan langkah awal dalam menyelesaikan persoalan yang ada. Adapun posisi awalnya adalah S → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → T . Proses hill climbing akan dilakukan pengembangan berupa modifikasi pada tahap pertukaran. Posisi awal tersebut dipertukarkan sebanyak kombinasi dari banyaknya node. Proses pertukaran dilakukan dengan menggunakan hill clim- bing dan diperolehlah individu-individu baru. Individu-individu yang merupakan hasil dari pertukaran selanjutnya dijadikan sebagai individu baru dalam proses pengembangan dengan menggunakan algoritma genetik. Individu-individu terse- but akan menjadi populasi awal untuk menyelesaikan fungsi f itness, crossover dan mutasi.

Langkah selanjutnya adalah fungsi f itness. Suatu individu dievaluasi ber- dasarkan suatu fungsi tertentu. Di dalam evolusi alam individu yang bernilai f itness tinggi akan bertahan hidup. Sedangkan individu yang bernilai f itness rendah akan mati. Nilai yang dihasilkan oleh fungsi f itness mempresentasikan seberapa banyak jumlah persyaratan yang dilanggar, sehingga dalam persoalan pencarian lintasan terpendek semakin kecil jumlah pelanggaran yang dihasilkan maka solusi yang dihasilkan semakin baik. Untuk setiap pelanggaran yang terja- di akan diberikan nilai 1. Agar tidak terjadi nilai f itness yang tidak terhingga, maka jumlah semua pelanggaran akan ditambahkan 1.

f = 1

1 + (Cost)

Universitas Sumatera Utara

(48)

32

Ada beberapa batasan yang digunakan dalam pencarian lintasan terpendek ini, yaitu:

1. Node yang dilalui/dikunjungi hanya 1 (satu) kali 2. Lintasan yang digunakan hanya 1 kali

Dari hasil pertukaran yang dilakukan, maka akan menghasilkan fungsi f itness sebagai berikut:

F itness kromosom 1 = 1

1 + (0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0) = 1

F itness kromosom 2 = 1

1 + (0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0) = 0, 5

F itness kromosom 3 = 1

1 + (0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0) = 0, 5

Langkah selanjutnya adalah tahap seleksi. Pada tahap seleksi terlebih dahu- lu akan dihitung nilai total f itness. Setelah ditotal, selanjutnya menghitung pro- babilitas setiap kromosom dengan cara membagi nilai f itness setiap kromosom dengan total f itness. Nilai f itness setiap kromosom dan total f itness serta probabilitas seluruh kromosom dapat dilihat pada tabel 4.1. Untuk menentukan susunan populasi baru hasil seleksi, maka dibangkitkan bilangan acak dengan uru- tan selang seling antara probabilitas yang tinggi dengan probabilitas yang rendah dan selanjutnya dilakukan pindah silang.

Pindah silang (crossover) digunakan sebagai metode pemotongan kromo- som secara acak dan merupakan penggabungan bagian pertama dari kromosom induk 1 dengan bagian kedua dari kromosom induk ke 2. Pindah silang akan dilakukan pada semua kromosom. Biasanya pindah silang dilakukan antara kro- mosom yang nilai f itness yang tinggi disilangkan dengan kromosom yang nilai f itnessnya rendah. Metode pindah silang paling umum digunakan adalah pindah silang satu titik potong (one-point crossover). Suatu titik potong dipilih secara acak kemudian bagian pertama dari induk 1 digabungkan dengan bagian kedua dari kromosom induk 2. Crossover bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-sting yang diperoleh dari sebelumnya.

Hasil crossover dari induk yang pertama dan induk yang kedua meng- hasilkan keturunan. Keturunan hasil dari crossover ada yang sama dengan induknya dan ada yang berbeda. Keturunan baru yang dihasilkan dari proses

Universitas Sumatera Utara

(49)

33

crossover telah diperoleh. Keturunan - keturunan baru tersebut selanjutnya di- hitung kembali nilai f itness dari masing-masing kromosom. Nilai f itness dari keturunan setelah dilakukan crossover dapat dilihat pada tabel 4.1.

Tabel 4.1 Nilai fitness, probabilitas dan nilai fitness setelah pindah silang Kromosom Nilai Fitness Probabilitas Fitness Pindah Silang

1 1 1/ 12,82=0,078 1

2 0,5 0,5/12,82=0,039 0,5

3 0,5 0,039 0,33

4 1 0,078 0,5

5 0,5 0,039 0,5

6 0,5 0,039 0,5

7 1 0,078 0,5

8 0,2 0,0156 0,25

9 0,5 0,039 0,25

10 1 0,078 0,33

11 0,5 0,039 1

12 0,5 0,039 0,5

13 1 0,078 0,33

14 0,5 0,039 0,25

15 0,25 0,0195 0,17

16 0,33 0,0257 0,25

17 0,25 0,0195 0,25

18 0,33 0,0257 0,33

19 0,25 0,0195 0,33

20 0,25 0,0195 0,17

21 0,2 0,0156 0,17

22 0,2 0,0156 0,2

23 0,2 0,0156 0,25

24 0,33 0,0257 0,2

25 0,25 0,0195 0,25

26 0,25 0,0195 0,33

27 0,33 0,0257 0,33

28 0,2 0,0156 0,2

Total 12,82 1 10,17

Langkah selanjutnya pada algoritma genetik adalah mutasi. Proses mutasi adalah suatu proses kemungkinan memodifikasi informasi gen-gen pada suatu kro-

Universitas Sumatera Utara

Gambar

Gambar 2.1 Contoh grafik fungsi tujuan dengan 3 kendala
Gambar 2.2 Contoh simple hill climbing
Tabel 2.1 Perbandingan simple hill climbing dan steepest ascent hill climbing Simple Hill Climbing Steepest Ascent Hill Climbing Kelebihan Efisiensi dari segi memori Kemungkinan untuk mendapatkan
Gambar 2.4 Proses-proses dalam EA
+6

Referensi

Dokumen terkait

Esimer- kiksi rentovihvilä ( Juncus bulbosus ) voi muodos- taa upoksiin hieman vastaavasti valekiehkuraisia kasvustoja, mutta se on kauttaaltaan näkinruohoja vahvempitekoinen,

Pengelolaan keuangan daerah pada dasarnya dimaksudkan untuk menghasilkan gambaran tentang kapasitas atau kemampuan keuangan daerah dalam mendanai penyelenggaraan

Section 1 gives related mathematical basics, including ma- jorizations of convex and concave functions, as well as the definitions of information diver- gences. Section 2 presents

Patient Monitor adalah alat yang digunakan untuk memantau kondisi berbagai kondisi sinyal tubuh pada pasien, di dalam Patient Monitor terdapat suatu parameter yaitu SPO2 dan BPM

Tabel 3.3 Matriks Pembobotan Hirarki untuk semua kriteria yang dinormalkan 19 Tabel 3.4 Matriks Faktor Evaluasi untuk Kriteria Air Bersih 21 Tabel 3.5 Matriks Faktor Evaluasi

Adapun hasil dari pendampingan ini adalah pemilik dan pekerja home industri memiliki tambahan informasi tentang paving dan batako setelah diberikan modul kerja dan

Publishing.Inc,1991), h.. tentu fungsi aljabar diajarkan pada kelas XII semester gasal. Pada jenjang kelas XII itu siswa sudah mendapatkan materi hukum waris, termasuk a’ul.

Adapun yang menjadi tujuan dalam penelitian ini adalah: (1) Mengetahui Pendapatan Asli Daerah, Dana Alokasi Umum dan Belanja Daerah Kota Bandung; (2) Membuktikan