ALGORITMA GENETIKA KLASIK
TESIS DIAN KURNIA
127038049
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2016
PERSETUJUAN
Judul Tesis : Analisis Jumlah Populasi Berdasarkan Nilai Fitness pada PRoFIGA dan Perbandingannya dengan Jumlah Populasi Tetap pada Algoritma Genetika Klasik
Kategori : Tesis
Nama Mahasiswa : DIAN KURNIA Nomor Induk Mahasiswa : 127038049
Program Studi : Magister (S2) Teknik Informatika Fakultas : Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara Komisi Pembimbing :
Pembimbing 2, Pembimbing 1,
Dr. Mahyuddin, M.I.T. Prof. Dr. Opim Salim Sitompul, M.Sc
Diketahui/disetujui oleh
Program Studi S2 Teknik Informatika Ketua,
Prof. Dr. Muhammad Zarlis, M.Sc NIP: 19570701 198601 1 003
PERNYATAAN
ANALISIS JUMLAH POPULASI BERDASARKAN NILAI FITNESS PADA PROFIGA DAN PERBANDINGANNYA DENGAN JUMLAH POPULASI
TETAP PADA ALGORITMA GENETIKA KLASIK
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Februari 2016
Dian Kurnia 127038049
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini
Nama : DIAN KURNIA
NIM : 127038049
Program Studi : Magister S2 Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right)atas tesis saya yang berjudul:
ANALISIS JUMLAH POPULASI BERDASARKAN NILAI FITNESS PADA PROFIGA DAN PERBANDINGANNYA DENGAN JUMLAH POPULASI TETAP
PADA ALGORITMA GENETIKA KLASIK
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat, dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, Februari 2016
Dian Kurnia 127038049
Telah diuji pada
Tanggal : 10 Februari 2016
PANITIA PENGUJI TESIS
Ketua : Prof. Dr. Opim Salim Sitompul, M.Sc.
Anggota : 1. Dr. Mahyudin, M.IT
2. Prof. Dr. Herman Mawengkang 3. Prof. Dr. Muhammad Zarlis, M.Sc.
4. Dr. Rahmat W. Sembiring, M.Sc.IT
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap : DIAN KURNIA
Tempat dan Tanggal Lahir : Sawit Seberang, 19 November 1989
Alamat : Jl. Perunggu Veteran X Gg. Setia Ujung No.2 Kotamadya Medan
Telepon/ HP : 082363333031
e-Mail : [email protected]
Instansi Tempat Bekerja : SMK S Dwiwarna Medan Alamat Instansi : Jl. Gedung Arca No.26 Medan
DATA PENDIDIKAN
TK : PTPN 2 Keb. Sawit Seberang TAMAT: Tahun 1995 SD : Negeri Kebun Sayur 086625 TAMAT: Tahun 2001
SMP : MTs TPI Sawit Seberang TAMAT: Tahun 2004
SMA : Negeri Padang Tualang TAMAT: Tahun 2007
D-3 : Pendidikan Teknologi Kimia TAMAT: Tahun 2011 Industi (PTKI) Medan
S-1 : STMIK Budidarma Medan TAMAT: Tahun 2012
S-2 : Teknik Informatika USU TAMAT: Tahun 2016
KATA PENGANTAR
Puji syukur saya panjatkan kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya serta segala sesuatunya dalam hidup, sehingga penulis dapat menyelesaikan penyusunan Tesis ini sebagai syarat untuk memperoleh ijazah Magister Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Dalam pengerjaan Tesis ini penulis banyak sekali mendapatkan dukungan, saran, dan nasehat dari berbagai pihak.
Dalam menyelesaikan Tesis ini, penulis telah mendapat banyak bantuan serta masukan dari berbagai pihak. Oleh karena itu, melalui kesempatan yang berbahagia, penulis ingin berterima kasih kepada:
1. Bapak Prof. Dr. Runtung Sitepu S.H., M.Hum. selaku Rektor Universitas Sumatera Utara atas kesempatan yang telah diberikan kepada penulis sehingga bisa mengikuti dan menyelesaikan pendidikan program Magister (S2)Teknik Informatika.
2. Bapak Prof. Dr. Muhammad Zarlis, M.Sc selaku Dekan Fasilkom TI dan sekaligus Ketua Program Studi Magister (S2) Teknik Informatika.
3. Bapak M. Andri Budiman, S.T., M.CompSc, M.EM selaku Sekretaris Program Studi Magister (S2) Teknik Informatika.
4. Terima kasih yang terhingga serta penghargaan setinggi-tingginya kepada Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Pembimbing Utama, dan Bapak Dr. Mahyuddin M.I.T, selaku Pembimbing Anggota, yang telah bersedia meluangkan waktu dan pikirannya dalam membimbing penulismenyelesaikan Tesis ini.
5. Terima kasih yang terhingga serta penghargaan setinggi-tingginya kepada Bapak Prof. Dr. Herman Mawengkang, Bapak Prof. Dr. Muhammad Zarlis, dan Bapak Dr. Rahmat W. Sembiring, selaku pembanding yang telah memberikan masukan dan arahan yang baik demi selesainya tesis ini.
6. Segala hormat dan terima kasih secara khusus penulis ucapkan kepada ayahanda Hanafi dan Ibunda Sukarsih atas motivasi, kasih sayang, dan dukungan baik secara materi maupun do’a yang tak pernah putus yang diberikan kepada penulis.
7. Kepada istri tercinta Ruwaida Tanjung yang telah memberi motivasi, kasih sayang, dan dukungan baik secara materi maupun do’a kepada penulis.
8. Kepada putra tercinta Muhammad Husein Mubarakh yang telah memberikan senyuman peneduh serta pelepas lelah yang tiada terkira yang telah memotivasi penulis menyelesaikan Tesis ini.
9. Seluruh pegawai dan staf administrasi pada Program Studi Magister (S2) Teknik Informatika pada Fasilkom TI USU Medan yang telah memberikan bantuan dan pelayanan terbaik kepada penulis selama mengikuti perkuliahan hingga selesai.
10. Kepada seluruh rekan penulis, Mahasiswa/I KOM C angkatan tahun 2012, terima kasih atas suasana perkuliahan yang baik selama ini dan semoga kita dapat menjalin kerja sama yang baik di masa mendatang.
11. Semua pihak yang tidak dapat penulis sebutkan namanya satu persatu, terima kasih atas bantuan yang telah diberikan kepada penulis selama ini.
Dengan segala kekurangan dan kerendahan hati, sekali lagi penulis mengucapkan terima kasih.Semoga segala kebaikan diberikan balasan yang setimpal oleh Allah SWT.
Medan, Februari 2016 Penulis
Dian Kurnia NIM: 127038049
ABSTRAK
Ukuran populasi berpengaruh terhadap kemampuan algoritma genetika untuk menghasilkan solusi yang terbaik. Pada beberapa penelitian telah dikemukakan metode-metode untuk menentukan jumlah populasi yang dapat menyesuaikan diri dengan kondisi tertentu sehingga dalam penyesuaian jumlah populasi berdasarkan nilai fitness. Hal ini masih memerlukan analisis yang lebih mendalam. Dalam penelitian ini dilakukan analisis pengaruh jumlah populasi berdasarkan nilai fitness yang dihasilkan oleh metode Population Resizing on Fitness Improvement Genetic Algorithm (PRoFIGA) dan perbandingannya dengan jumlah populasi yang tetap pada Algoritma genetika klasik untuk mengetahui peningkatan performance dalam bentuk nilai best fitness dan rata-rata fitness yang dihasilkan. Tujuan dari penelitian ini adalah menganalisi pengaruh dari jumlah populasi tetap yang dihasilkan oleh algoritma genetika klasik dan pengaruh penyesuaian jumlah populasi berdasarkan nilai fitness yang dihasilkan algoritma genetika metode PRoFIGA sehingga diketahui peningkatan performance dengan membandingkan dalam bentuk nilai best fitness dan rata-rata fitness yang dihasilkan.
Kata Kunci: algoritma genetika, fitness, population resizing
ANALYSIS OF POPULATION SIZE BASED ON FITNESS OF PROFIGA COMPARISON WITH TOTAL POPULATION
REMAIN IN CLASSICAL GENETIC ALGORITHM ABSTRACT
Population’s size gives impact on the ability of genetic algorithm to generate the best solution. Some studies have proposed that methods for determining the size of the population that can adapt to certain conditions so that population size will be adjusted based on the value of fitness. In-depth analysis is needed here. In this studythe effect of population size based on the fitness value generated by methods Population Resizing on Fitness Improvement Genetic Algorithm (PRoFIGA) and its comparison with the total population remains in Algorithm classical genetics to determine the increase in performance in the form of value best fitness and average fitness resulting from will be analyzed. Aim of this study is analyzing the influence of fix-sized population in classical genetic algorithm and the effect of population adjusted size based on the value of fitness resulting in PRoFIGA method that is known by comparing the increase in performance in the form of best value fitness and average fitness generated.
Keywords: fitness value PRoFIGA, genetic algorithm, population resizing
DAFTAR ISI
Hal.
HALAMAN JUDUL i
PERSETUJUAN ii
PERNYATAAN ORISINALITAS iii
PERSETUJUAN PUBLIKASI iv
PANITIA PENGUJI v
RIWAYAT HIDUP vi
KATA PENGANTAR vii
ABSTRAK ix
ABSTRACT x
DAFTAR ISI xi
DAFTAR GAMBAR xiv
DAFTAR TABEL xvi
BAB I PENDAHULUAN 1
1.1 LatarBelakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Sistematika Penulisan 3
BAB II PENDAHULUAN 5
2.1 Algoritma Genetika 5
2.2 Metode Population Resizing on Fitness Improvement (PRoFIGA) 7
2.3 Travelling Salesman Problem (TSP) 8
2.4 Penelitian-Penelitian Terkait 9
2.4.1 Penelitian Terdahulu 9
2.4.2 Perbedaan Penelitian 10
BAB III METODOLOGI PENELITIAN 12
3.1 Pendahuluan 12
3.2 Data yang Digunakan 13
3.3 Analisis Data 14
3.3.1 Dasar dari Metode PRoFIGA 14
3.3.2 Pseudocode PRoFIGA 16
3.4 Proses pada Algoritma Genetika dengan Metode PRoFIGA 17 3.4.1 Inisialisasi Populasi dengan Individu Random 17
3.4.2 Seleksi 19
3.4.3 Crossover 20
3.4.4 Mutasi 20
3.4.5 Proses PRoFIGA 22
3.5 Analisis Kinerja 23
BAB IV HASIL DAN PEMBAHASAN 24
4.1 Pendahuluan 24
4.2 Hasil Pengujian Pada Berlin52.tsp 24
4.2.1 Pengujian dengan Menggunakan 100 Populasi pada
Berlin52.tsp 25
4.2.2 Pengujian dengan Menggunakan 200 Populasi pada
Berlin52.tsp 30
4.2.3 Pengujian dengan Menggunakan 300 Populasi pada
Berlin52.tsp 35
4.3 Hasil Pengujian Pada Burma14.tsp 41
4.3.1 Pengujian dengan Menggunakan 100 Populasi pada
Burma14.tsp 41
4.3.2 Pengujian dengan Menggunakan 200 Populasi pada
Burma14.tsp 47
4.3.3 Pengujian dengan Menggunakan 300 Populasi pada
Burma14.tsp 52
4.4 Pembahasan 57
BAB V KESIMPULAN DAN SARAN 60
4.1 Kesimpulan 60
4.2 Saran 61
DAFTAR PUSTAKA 62
LAMPIRAN 1: BERLIN52.tsp 64
LAMPIRAN 2: BURMA14.tsp 65
LAMPIRAN 3: DAFTAR PUBLIKASI ILMIAH PENELITI 66
DAFTAR GAMBAR
Hal.
Gambar 2.1. Diagram Alir dari Algoritma Genetika 6
Gambar 3.1. Metode Penelitian 14
Gambar 3.2. Proses PRoFIGA Pada Algoritma Genetika 15
Gambar 3.3. Contoh Ilustrasi Permasalahan TSP 18
Gambar 3.4. Proses Analisis Kinerja Metode PRoFIGA 23 Gambar 4.1. Perbandingan Best Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 100 pada Berlin52.Tsp 29 Gambar 4.2. Perbandingan Average Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 100 pada Berlin52.Tsp 30 Gambar 4.3. Perbandingan Best Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 200 pada Berlin52.Tsp 34 Gambar 4.4. Perbandingan Average Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 200 pada Berlin52.Tsp 35 Gambar 4.5. Perbandingan Best Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 300 pada Berlin52.Tsp 39 Gambar 4.6. Perbandingan Average Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 300 pada Berlin52.Tsp 40 Gambar 4.7. Perbandingan Best Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 100 pada Burma14.Tsp 45 Gambar 4.8. Perbandingan Average Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 100 pada Burma14.Tsp 46 Gambar 4.9. Perbandingan Best Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 200 pada Burma14.Tsp 50 Gambar 4.10. Perbandingan Average Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 200 pada Burma14.Tsp 51 Gambar 4.11. Perbandingan Best Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 300 pada Burma14.Tsp 55 Gambar 4.12. Perbandingan Average Fitness Algoritma Genetika Klasik
dengan Algoritma Genetika menggunakan metode PRoFIGA
dengan Ukuran Populasi 300 pada Burma14.Tsp 56
DAFTAR TABEL
Hal.
Tabel 2.1. Perbedaan Penelitian 10
Tabel 3.1. Pembentukan Populasi Awal 19 Tabel 4.1. Hasil Pengujian untuk 100 Populasi pada Berlin52.Tsp
dengan Menggunakan Algoritma Genetika Klasik. 25 Tabel 4.2. Hasil Pengujian untuk 100 Populasi pada Berlin52.Tsp
dengan Menggunakan Algoritma Genetika Metode PRoFIGA 27 Tabel 4.3. Hasil Pengujian dengan Menggunakan Ukuran Populasi
Sebesar 100 pada Berlin52.Tsp 28
Tabel 4.4. Hasil Pengujian untuk 200 Populasi pada Berlin52.Tsp
dengan Menggunakan Algoritma Genetika Klasik. 29 Tabel 4.5. Hasil Pengujian untuk 200 Populasi pada Berlin52.Tsp
dengan Menggunakan Algoritma Genetika Metode PRoFIGA. 30 Tabel 4.6. Hasil Pengujian dengan Menggunakan Ukuran Populasi
Sebesar 200 pada Berlin52.Tsp 31
Tabel 4.7. Hasil Pengujian untuk 300 Populasi pada Berlin52.Tsp
dengan Menggunakan Algoritma Genetika Klasik. 36 Tabel 4.8. Hasil Pengujian untuk 300 Populasi pada Berlin52.Tsp
dengan Menggunakan Algoritma Genetika Metode PRoFIGA. 37 Tabel 4.9. Hasil Pengujian dengan Menggunakan Ukuran Populasi
Sebesar 300 pada Berlin52.Tsp 38
Tabel 4.10. Hasil Pengujian untuk 100 Populasi pada Burma14.Tsp
dengan Menggunakan Algoritma Genetika Klasik. 42 Tabel 4.11. Hasil Pengujian untuk 100 Populasi pada Burma14.Tsp
dengan Menggunakan Algoritma Genetika Metode PRoFIGA. 43 Tabel 4.12. Hasil Pengujian dengan Menggunakan Ukuran Populasi
Sebesar 100 44
Tabel 4.13. Hasil Pengujian untuk 200 Populasi pada Burma14.Tsp
dengan Menggunakan Algoritma Genetika Klasik. 47 Tabel 4.14. Hasil Pengujian untuk 200 Populasi pada Burma14.Tsp
dengan Menggunakan Algoritma Genetika Metode PRoFIGA 48 Tabel 4.15. Hasil Pengujian dengan Menggunakan Ukuran Populasi
Sebesar 200 49
Tabel 4.16. Hasil Pengujian untuk 300 Populasi pada Burma14.Tsp
dengan Menggunakan Algoritma Genetika Klasik. 52 Tabel 4.17. Hasil Pengujian untuk 300 Populasi pada Burma14.Tsp
dengan Menggunakan Algoritma Genetika Metode PRoFIGA 53 Tabel 4.18. Hasil Pengujian dengan Menggunakan Ukuran Populasi
Sebesar 300 54
BAB I PENDAHULUAN
1.1. Latar Belakang
Algoritma genetika adalah algoritma pencarian heuristik yang didasari pada pemikiran mengenai seleksi alam yang terjadi pada proses evolusi dan operasi genetika (Picek et al. 2013). Algoritma genetika merupakan salah satu model soft computing yang sering digunakan dalam menyelesaikan permasalahan optimasi. Dalam algoritma genetika terdapat tiga parameter penting yang harus didefinisikan yaitu ukuran populasi, probabilitas pindah silang dan probabilitas mutasi. Ketiga parameter ini harus didefinisikan secara hati-hati agar tidak terjadi konvergensi dini atau lokal optimum yaitu dimana individu-individu dalam populasi konvergen pada suatu solusi optimum lokal sehingga hasil paling optimum tidak dapat ditemukan (Muzid, 2014).
Banyak penelitian yang membahas tentang parameter-parameter algoritma genetika klasik salah satu parameter yang di bahas yaitu mengukur jumlah populasi yang tetap dari generasi ke generasi. Eibenet al. (2004) mengemukakan sebuah metode adapative population yang dinamakan dengan Population Resizing on Fitness Improvement Genetic Algorithm (PRoFIGA), yang dapat menyesuaikan jumlah populasi dengan nilai fitness terbaik yang diperoleh pada setiap generasi. Penelitian mereka didasari dengan adanya kelemahan yang ditemukan pada metode adapative population yang lain seperti metode Genetic Algorithm with Adapative Population Size (APGA) dan Parameter Less Genetic Algorithm. Penelitian Muzid (2014) telah menggabungkan pemakaian algoritma genetika dengan fuzzy logic dengan metode PRoFIGA sebagai dasar penentuan jumlah populasi.
Penelitian yang dikemukakan oleh peneliti-peneliti sebelumnya telah menaruh perhatian yang besar terhadap pengaruh jumlah populasi terhadap kinerja dari suatu algoritma genetika. Namun, belum terdapat penelitian yang membahas mengenai kinerja dari metode PRoFIGA tersebut khususnya yang dikaitkan dengan algoritma genetika klasik. Analisis mengenai kinerja ini diharapkan dapat memberikan jawaban mengenai keterkaitan antara jumlah populasi terhadap kinerja dari algoritma genetika dan juga dapat mengetahui apakah benar terdapat peningkatan kinerja dengan menggunakan metode PRoFIGA dibandingkan dengan algoritma genetika klasik dan bila terjadi peningkatan kinerja sejauh mana peningkatan kinerja yang terjadi.
Laranaga et al. (1999), mengemukakan bahwa algoritma genetika dapat digunakan pada permasalahan Travelling Salesman Problem (TSP) untuk menemukan rute terpendek yang dimulai dari kota asal dan harus mengunjungi kota pada daftar yang diberikan serta kemudian kembali lagi ke kota asal.
Penelitian yang dilakukan oleh penulis adalah mengamati pengaruh dari algoritma genetika dengan metode PRoFIGA yang dapat menyesuaikan jumlah populasi pada setiap generasi terhadap performance yang diperoleh dalam bentuk nilai rata-rata fitness dibandingkan dengan jumlah populasi tetap pada algoritma genetika klasik.
1.2. Rumusan Masalah
Jumlah populasi berpengaruh terhadap solusi yang dihasilkan oleh algoritma genetika.
Jumlah populasi yang terlalu kecil maupun terlalu besar berpengaruh terhadap kemampuan algoritma genetika untuk menghasilkan solusi yang terbaik. Pada beberapa penelitian telah dikemukakan metode-metode untuk menentukan jumlah populasi yang dapat menyesuaikan diri dengan kondisi tertentu. Penyesuaian jumlah populasi berdasarkan nilai fitness pada setiap generasi dapat memberikan hasil performance yang terbaik, masih perlu mendapatkan analisis yang lebih mendalam dengan keterkaitan jumlah gen yang terlibat, jumlah populasi yang meningkat dan populasi yang kecil melalui pengamatan terhadap nilai average fitness dan nilai best fitness yang diperoleh.
1.3. Batasan Masalah
Sehubungan dengan luasnya permasalahan dan adanya keterbatasan waktu dan pengetahuan peneliti, maka peneliti membatasi masalah yang akan dibahas di dalam penelitian ini sebagai berikut.
1. Penelitian ini akan membahas pengaruh dari jumlah populasi terhadap kinerja dari algoritma genetika dengan melakukan perbandingan antara metode Population Resizing on Fitness Improvement Genetic Algorithm (PRoFIGA) dengan metode algoritma genetika klasik.
2. Perbandingan kinerja di dalam penelitian ini didasarkan pada nilai best fitness dan nilai rata-rata fitness yang diperoleh pada setiap generasi.
1.4. Tujuan Penelitian
Menganalisis pengaruh dari jumlah populasi tetapyang dihasilkan oleh algoritma genetika klasik dan pengaruh penyesuaian jumlah populasi berdasarkan nilai fitness yang dihasilkan algoritma genetika metode ProFIGA sehingga diketahui peningkatan performance dengan membandingkan dalam bentuk nilai best fitness dan rata-rata fitness yang dihasilkan.
1.5. Manfaat Penelitian
Adapun manfaat dari penelitian adalah sebagai berikut.
1. Melalui penelitian ini peneliti akan memperoleh hasil analisis mengenai keterkaitan antara jumlah populasi dengan kinerja dari algoritma genetika.
2. Mengetahui pencapaian kinerja yang diperoleh dengan menggunakan metode Population Resizing on Fitness Improvement Genetic Algorithm (PRoFIGA) dibandingkan dengan menggunakan algoritma genetika klasik.
1.6. Sistematika Penulisan
Penyusunan tesis ini menggunakan kerangka pembahasan yang terbentuk dalam susunan bab yang dapat dijelaskan sebagai berikut.
BAB I : PENDAHULUAN
Bab ini berisikan tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan dan manfaat penelitian serta sistematika penulisan.
BAB II : TINJAUAN PUSTAKA
Bab ini berisikan tentang landasan teori yang mendukung penelitian yang akan dilakukan.
BAB III : METODOLOGI PENELITIAN
Bab ini berisikan tentang data yang digunakan dan metode yang digunakan di dalam pelaksanaan penelitian.
BAB IV : HASIL DAN PEMBAHASAN
Bab ini berisi tentang pemaparan mengenai hasil penelitian dan pembahasan mengenai hasil yang diperoleh.
BAB V : KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan yang diperoleh dari hasil penelitian dan saran yang dapat diberikan kepada pembaca maupun peneliti yang akan melanjutkan penelitian sejenis.
BAB 2
TINJAUAN PUSTAKA
2.1. Algoritma Genetika
Pada tahun 1975, John Holland, di dalam bukunya yang berjudul “Adaption in Natural and Artificial Systems”, mengemukakan komputasi berbasis evolusi. Tujuannya adalah untuk membuat komputer dapat melakukan apa yang terdapat di alam. Sebagai seorang pakar komputer, Holland memfokuskan diri pada manipulasi dari string dalam bentuk binary bit. Holland mengemukakan algoritma tersebut sebagai suatu konsep abstrak dari evolusi alam. Tahapan Algoritma Genetika yang dikemukakan oleh Holland dapat direpresentasikan sebagai suatu tahapan berurutan sebagai suatu bentuk populasi dari kromosom buatan menjadi sebuah populasi baru (Negnevitsky, 2005).
Algoritma Genetika adalah suatu algoritma pencarian yang meniru mekanisme dari genetika alam. Algoritma Genetika ini banyak dipakai pada aplikasi bisnis, teknik maupun pada bidang keilmuan. Algoritma ini dapat dipakai untuk mendapatkan solusi yang tepat untuk masalah optimal dari satu variabel atau multi variabel (Mitchel, 1999).
Algoritma genetika adalah suatu algoritma stokastik yang memodelkan proses evolusi dari spesies biologi melalui seleksi alam (Konar, 2005). Secara umum, populasi ini dibangkitkan secara random dan solusi yang adalah dibangkitkan sesudah tahapan konsekutif dari proses crossover dan mutasi. Setiap individu dari populasi memiliki nilai yang diasosiasikan kedalam suatu nilai fitness, di dalam kaitannya untuk menyelesaikan suatu permasalahan (Rabunal, 2006). Adapun diagram alir dari algoritma genetika klasik dapat dilihat pada Gambar 2.1.
Gambar 2.1. Diagram Alir dari Algoritma Genetika (Negnevitsky, 2005)
Adapun langkah-langkah di dalam proses algoritma genetika adalah sebagai berikut (Mitchel, 1999).
1. Langkah 1 : Representasikan domain variabel masalah menjadi sebuah kromosom dengan panjang tertentu, tentukan jumlah kromosom dalam sebuah populasi (N), tentukan Probabilitas crossover (Pc) dan Probabilitas mutasi (Pm).
2. Langkah 2 : Definisikan fungsi fitness dengan mengukur performa, atau fitness, sebuah individu kromosom pada domain masalah. Fungsi fitness akan membangun dasar dari pemilihan kromosom yang akan dikawinkan selama proses reproduksi.
3. Langkah 3: Secara acak bangkitkan sebuah populasi kromosom awal yang berjumlah N…x1, x2, x3 ……xN.
4. Langkah 4 : Hitung nilai fitness dari masing-masing kromosom f(x1), f(x2), f(x3) ……f(xN).
5. Langkah 5 : Pilih sepasang kromosom untuk proses perkawinan pada populasi yang ada. Sepasang kromosom akan ditentukan dengan menghubungkan antara probabilitas dengan nilai fitnessnya. Kromosom yang paling tepat memiliki probabilitas yang paling tinggi menjadi terpilih untuk proses perkawinan daripada kromosom yang kurang tepat.
6. Langkah 6 : Terbentuk sepasang keturunan kromosom dengan memanfaatkan operator genetika crossover dan mutasi.
7. Langkah 7 : Tempatkan keturunan kromosom yang terbentuk pada sebuah populasi yang baru.
8. Langkah 8 : Ulangi langkah 5 sampai jumlah populasi kromosom yang baru menjadi sama dengan jumlah populasi awal N.
9. Langkah 9 : Gantikan populasi kromosom awal (orang tua) dengan populasi yang baru ( keturunan).
10. Langkah 10 : Kembali ke langkah 4 dan ulangi proses sampai kriteria terpenuhi.
2.2. Metode Population Resizing on Fitness Improvement (PRoFIGA)
Metode PRoFIGA merupakan metode adaptive population, yang dikemukakan oleh Eibenet al. (2004). Metode ini dikemukakan dalam penelitian mereka mengenai
"Evolutionary Algorithm with on the fly population size adjustment". Metode ini merupakan alternatif di dalam penyelesaian permasalahan untuk penentuan ukuran (jumlah) populasi.
Pada Metode PRoFIGA, mekanisme penyesuaian jumlah populasi didasarkan pada perbaikan nilai fitness terbaik di dalam populasi. Jika terjadi perbaikan nilai fitness terbaik maka akan meningkatkan jumlah populasi untuk generasi berikutnya, dan jika terjadi penurunan nilai fitness terbaik maka jumlah populasi untuk generasi berikutnya akan menurun, tetapi jika terjadi stagnasi kinerja maka jumlah populasi akan kembali meningkat (Eiben et al. 2004).
Cara kerja dari metode PRoFIGA adalah sama seperti pada algoritma genetika klasik. Perbedaannya adalah pada akhir tahapan, terdapat proses untuk penyesuaian jumlah populasi. Pada metode PRoFIGA, jumlah populasi akan meningkat jika terjadi perbaikan nilai fitness terbaik ataupun jika tidak terdapat perbaikan nilai fitness terbaik untuk jangka waktu yang lama. Faktor pengali pada metode PRoFIGA
biasanya berukuran kecil (1-5%). Ide dasar dari metode PRoFIGA adalah menggunakan jumlah populasi yang besar untuk kebutuhan eksplorasi dan jumlah populasi yang kecil untuk kebutuhan eksploitasi (Lobo dan Lima, 2013).
Adapun persamaan untuk menghitung jumlah populasi baru pada metode PRoFIGA dapat dilihat pada Persamaan 2.1 (Muzid, 2014).
newPopSize = oldPopSize + (oldPopSize*(IncFac*(maxG-curG)*( ))) (2.1)
Keterangan:
- newPopSize adalah ukuran populasi baru - oldPopSize adalah ukuran populasi lama - IncFac adalah persentase faktor penambahan - maxG adalah jumlah maksimum generasi - curG adalah generasi saat ini
- newMaxF adalah nilai fitness maksimum pada generasi saat ini - oldMaxF adalah nilai fitness maksimum pada generasi sebelumnya - initMaxF adalah nilai fitness maksimum yang diharapkan
Eiben et al. 2004, menggunakan ukuran populasi yang besar untuk mengeksplorasi ukuran dan ukuran populasi kecil untuk mengeksploitasi ruang pencarian. Studi eksperimental tersebut menunjukkan bahwa mengadaptasi ukuran populasi bermanfaat bagi kinerja algoritma. Namun demikian, secara umum ada kesulitan untuk menyesuaikan ukuran populasi, karena berinteraksi secara kompleks dengan parameter lain dariEA, seperti seleksi dan penggantian prosedur.
2.3. Travelling Salesman Problem (TSP)
Ide dasar dari permasalahan TSP adalah melakukan perjalanan untuk mengunjungi sejumlah kota yang diberikan, dimana tiap kota hanya dikunjungi sekali saja dan kembali ke kota asal dengan jarak seminimal mungkin (Zbigniew, 1994).
Permasalahan pertama yang berkaitan dengan TSP, pertama sekali dikemukakan oleh Euler pada tahun 1759 mengenai bagaimana untuk menggerakkan kuda dalam permainan catur pada tiap posisi dalam papan catur. Travelling Salesman Problem pertama kali dijadikan dalam bentuk buku oleh seorang salesman berkebangsaan Jerman yang bernama BF Voigt pada tahun 1832 mengenai bagaimana
cara sukses untuk menjadi seorang salesman yang melakukan perjalanan (Zbigniew, 1994).
2.4. Penelitian-Penelitian Terkait 2.4.1. Penelitian Terdahulu
Jumlah populasi merupakan parameter yang menentukan di dalam algoritma genetika karena jumlah populasi yang terlalu besar maupun terlalu kecil dapat menghasilkan solusi yang tidak optimal (Lobo dan Lima, 2013). Roeva et al. (2013), penelitian yang dilakukan menggunakan jumlah populasi di antara 5-200 kromosom untuk mengetahui pengaruh jumlah populasi pada algoritma genetika. Penelitian tersebut mengukur kinerja berdasarkan pada waktu komputasi untuk mencapai solusi yang optimal. Hasil penelitian menunjukkan bahwa jumlah populasi yang ideal adalah 100 kromosom untuk 200 generasi.
Raja dan Bhaskaran (2013), melakukan penelitian untuk meminimalisir jumlah populasi di dalam algoritma genetika dengan menggunakan metode Population Reduction (PR) dan memberikan kinerja yang lebih baik dibandingkan dengan menggunakan algoritma genetika klasik. Penelitian yang dilakukan oleh Gomez dan Hougen (2014), menggunakan algoritma genetika untuk permasalahan population diversity dan memberikan hasil bahwa jumlah populasi yang terbaik adalah 100 dan jumlah populasi yang lebih kecil ataupun lebih besar akan membutuhkan jumlah generasi yang lebih banyak untuk mencapai hasil yang optimal.
Eiben et al. (2004), mengemukakan sebuah metode adapative population yang dinamakan dengan Population Resizing on Fitness Improvement Genetic Algorithm (PRoFIGA), yang dapat menyesuaikan jumlah populasi dengan nilai fitness terbaik yang diperoleh pada setiap generasi. Penelitian mereka didasari dengan adanya kelemahan yang ditemukan pada metode adapative population yang lain seperti metode Genetic Algrithm with Adapative Population Size (APGA) dan Parameter Less Genetic Algorithm.
Penelitian yang dilakukan oleh peneliti-peneliti sebelumnya telah menaruh perhatian yang besar terhadap pengaruh jumlah populasi terhadap kinerja dari suatu algoritma genetika. Sebagian peneliti yang dibahas menggunakan algoritma genetika klasik dengan jumlah populasi yang tetap dari generasi ke generasi. Penelitian yang
dilakukan oleh Eiben et al. (2004), cukup menarik karena mereka mengemukakan metode Adapative Population yang baru yaitu Population Resizing on Fitness Improvement (PRoFIGA) yang dinyatakan merupakan metode adapative solution yang terbaik.
Beberapa peneliti telah membahas metode ini, seperti Lobo dan Lima (2013) yang menyampaikan ulasan mengenai metode adapative population dimana salah satunya adalah terdapat PRoFIGA. Penelitian Muzid (2014) telah menggabungkan pemakaian algoritma genetika dengan fuzzy logic dengan metode PRoFIGA sebagai dasar penentuan jumlah populasi.
2.4.2. Perbedaan Penelitian
Adapun perbedaan penelitian yang pernah dilakukan dengan penelitian yang dilakukan oleh peneliti dapat dilihat pada Tabel 2.1.
No Peneliti Judul Peneliti Persamaan Perbedaan
1. Raja dan Bhaskaran (2013)
Improving The Performance of Genetic Algorithm by Reducing The Population Size
Substansi penelitian memiliki kesamaan dalam hal menganalisa pengaruh dari jumlah populasi untuk mendapatkan kinerja algoritma genetika yang ideal
Penelitian memiliki perbedaan di mana penelitian yang dilakukan fokus pada upaya mereduksi jumlah populasi dengan menggunakan metode Population Reduction (PR).
Metode Population Reduction (PR) dilakukan dengan menyeleksi individu dengan fitness terbaik dari sekumpulan individu yang ada dan menghilangkan individu dengan nilai fitness kurang baik.
2. Gomez dan Hougen (2014)
Empirical Study: Initial Population Diversity and Genetic Algorithm Performance
Penelitian pada dasarnya membahas mengenai population diversity, tetapi di dalam penelitian juga membahas mengenai jumlah populasi yang ideal dan memperoleh hasil bahwa bahwa jumlah populasi yang terbaik adalah 100 dan jumlah populasi yang lebih kecil ataupun lebih besar akan membutuhkan jumlah generasi yang lebih banyak untuk mencapai hasil yang optimal
Hal yang paling mendasar adalah pada upaya untuk mendapatkan jumlah populasi yang terbaik menggunakan teknik population diversity. Teknik ini menggunakan
keanekaragaman populasi (population diversity) sebagai dasar di dalam menentukan jumlah (ukuran) populasi.
No Peneliti Judul Peneliti Persamaan Perbedaan 3. Eibenet al
(2004) Evolutionary algorithms with on-the-fly population sizeadjustment
Penelitian yang dilakukan menghasilkan metode Population Resizing on Fitness Improvement (PRoFIGA) yang
digunakan oleh peneliti di dalam penelitian ini
Inti dari penelitian adalah menghasilkan metode adaptive population yang baru. Penelitian belum mengkaji lebih jauh mengenai perbandingan performance dalam bentuk nilai rata-rata fitnessdari metode PRoFIGA dibandingkan dengan algoritma genetika klasik.
4. Lobo dan Lima(2013)
A Review of Adaptive Population Sizing Schemes in Genetic Algorithms
Penelitian ini merupakan literatur review yang mengkaji mengenai beberapa metode adaptive population yang pada saat itu tengah populer, termasuk diantaranya adalah metode PRoFIGA yang digunakan oleh peneliti di dalam penelitian ini
Penelitian ini belum membahas lebih jauh mengenai perbandingan performance dalam bentuk nilai rata-rata fitnessdari metode PRoFIGA khususnya bila dikaitkan dengan algoritma genetika klasik.
5. Muzid
(2014) Dinamisasi Parameter Algoritma Genetika Menggunakan Population Resizing on Fitness Improvement Fuzzy Evalutionary Algorithm (PRoFIFEA)
Di dalam penelitian yang dilakukan juga
menggunakan metode PRoFIGA yang digabungkan dengan menggunakan fuzzy logic
Analisa dilakukan terhadap metode PRoFIGA yang diintegrasikan dengan fuzzy logic sehingga memiliki perbedaan yang cukup mendasar dengan penelitian yang dilakukan oleh peneliti
BAB III
METODOLOGI PENELITIAN
3.1. Pendahuluan
Travelling Salesman Problem termasuk ke dalam kelas permasalahan NP (Non Deterministic Polynomial) kategori sulit karena memiliki kompleksitas O (n!).
Permasalahan utama dari TSP adalah bagaimana seorang salesman dapat mengatur rute perjalanannya untuk mengunjungi sejumlah kota yang diketahui jarak satu kota dengan kota lainnya sehingga jarak yang ditempuh merupakan jarak minimum di mana seorang salesman hanya dapat mengunjungi kota tersebut tepat satu kali. Salah satu metode yang dapat digunakan di dalam menyelesaikan permasalahan TSP yaitu algoritma genetika.
TSP LIB adalah sebuah koleksi database, domain teori, dan data generator yang digunakan oleh komunitas yang mempelajari Travelling Salesman Problem, untuk keperluan analisis empiris dari algoritma machine learning. Data yang tersedia pada TSP LIB digunakan oleh pelajar, pendidik, dan peneliti diseluruh dunia sebagai sumber utama dari dataset pada machine learning.
Jumlah populasi merupakan parameter yang menentukan di dalam algoritma genetika karena jumlah populasi yang terlalu besar maupun terlalu kecil dapat menghasilkan solusi yang tidak optimal. Metode adaptive population dikemukakan untuk suatu proses penyesuaian populasi secara adaptif sepanjang bertambahnya jumlah generasi.
Metode adaptive population yang digunakan di dalam penelitian ini adalah metode Population Resizing on Fitness Improvement (PRoFIGA), yang merupakan suatu metode yang melakukan penyesuaian jumlah populasi berdasarkan pada naik turunnya nilai fitness terbaik pada suatu generasi.
Pada penelitian ini akan dilakukan pengukuran performance dengan menggunakan nilai rata-rata fitness sehingga diperoleh gambaran mengenai perbandingan antara algoritma genetika dengan menggunakan metode PRoFIGA dibandingkan dengan algoritma genetika klasik.
3.2. Data yang Digunakan
Data yang digunakan merupakan data benchmark yang diambil dari TSP LIB. TSP LIB merupakan dataset yang disediakan oleh Geihard Reinelt semenjak tahun 1991.
Dataset yang digunakan adalah Burma14.tsp dan Berlin52.tsp. Pada Burma14.tsp terdapat 14 kota yang harus dikunjungi dan Pada Berlin52.tsp terdapat 52 kota yang harus dikunjungi. Tujuan dari permasalahan ini adalah untuk mencari jarak terpendek yang mungkin untuk mengunjungi 14 kota di Zaw Win (Burma) dan 52 kota di Berlin.
Berlin52.tsp merupakan TSP Library yang cukup sering digunakan di dalam penelitian mengenai permasalahan TSP karena mewakili permasalahan TSP untuk jumlah penyelesaian yang cukup besar. Untuk berlin52.tsp mempunyai jumlah penyelesaian sebesar 51!= 1.55 x 1066 kemungkinan. Dengan mengganggap bahwa komputer dapat menyelesaikan 1 Giga (109) proses per detik, maka diperlukan waktu 1.55 x 1057detik, yang sama dengan 1.79 x 1052hari. Adapun Burma14.Tsp mewakili permasalahan TSP dengan jumlah penyelesaian yang relatif kecil sebesar 13! = 6.22 x 109. Dengan menganggap bahwa komputer dapat menyelesaikan 1 Giga (109) proses per detik, maka diperlukan waktu 6.22 detik untuk menyelesaikan permasalahan tersebut. Penelitian ini akan menggunakan kedua dataset tersebut untuk memperoleh gambaran pengaruh dari metode PRoFIGA terhadap performance dari algoritma genetika untuk permasalahan dengan banyak kemungkinan penyelesaian dan permasalahan dengan jumlah kemungkinan penyelesaian yang lebih sedikit.
Adapun jarak dari tiap kota dapat dihitung dengan menggunakan persamaan euclidean distance sebagaimana yang dapat dilihat pada persamaan 3.1.
) 2 ,
(ij (xi xj) (yi yj)
d ...(3.1) Keterangan:
xi = Koordinat x kota i xj = Koordinat x kota j yi = Koordinat y kota i yj = Koordinat y kota j
Input:DataB enchmark
Proses Algoritma Genetik:
Pendefinisian kromosom
Pembentukan populasi awal
Perhitungan nilai fitness tiap kromosom
Seleksi kromosom
Pindah silang (crossover)
Mutasi
Penentuan jumlah populasi baru dengan metode PRoFIGA
Output
Kinerja dari metode PRoFIGA
Kaitan antara jumlah populasi terhadap kinerja dari algoritma genetika
3.3. Analisis Data
Adapun prosedur kerja yang dilakukan oleh penulis dari penelitian ini dapat dilihat secara keseluruhan pada Gambar 3.1:
Gambar 3.1. Metode Penelitian
3.3.1. Dasar dari metode PRoFIGA
Dalam Population Resizing on Fitness Improvement Genetic Algorithm (PRoFIGA) terdapat beberapa proses atau tahapan yang harus dilakukan. Pada Gambar 3.2.
diperlihatkan proses PRoFIGA yang terdapat pada algoritma genetika.
Gambar 3.2 Proses PRoFIGA pada algoritma Genetika
Pada Gambar 3.2. dapat dilihat bahwa proses PRoFIGA pada algoritma genetika dimulai dengan penentuan jumlah populasi dan pembangkitan populasi awal dengan jumlah kota sebagai panjang kromosom dan membangkitkan bilangan acak dari 1-jumlah kota. Selanjutnya akan dilakukan proses perhitungan nilai fitness yang diperoleh oleh setiap kromosom, kemudian selanjutnya proses akan berlangsung ke tahapan seleksi, perkawinan silang (crossover) dan kemudian ke tahapan mutasi.
Setelah melalui tahapan mutasi maka akan diperoleh generasi baru (offspring).
Selanjutnya proses akan memasuki tahapan PRoFIGA. Pada tahapan PRoFIGA, proses dimulai dengan membandingkan nilai best fitness dari offspring dibandingkan dengan nilai best fitness dari generasi sebelumnya. Bila nilai best fitness mengalami perbaikan maka jumlah (ukuran) populasi bertambah, selain itu pertambahan jumlah
populasi juga akan terjadi jika tidak terjadi perbaikan pada nilai best fitness offspring untuk jangka waktu yang lama. Jika yang terjadi adalah nilai best fitness offspring malah mengalami penurunan maka jumlah (ukuran) populasi berkurang.
3.3.2. Pseudocode PRoFIGA
Secara sederhana cara kerja dari metode PRoFIGA dapat dilihat pada pseudocode di bawah ini (Eiben et al., 2004):
Procedure PRoFIGA Begin
INISIALISASI populasi dengan individu random EVALUASI setiap individu
While not stop condition do
SELECT parent dari populasi CROSSOVER pasangan PARENT MUTASI hasil dari OFFSPRING EVALUASI tiap OFFSPRING
IF BEST_FITNESS_MENINGKAT then TINGKATKAN_JUMLAH_POPULASI_1
Elseif TIDAK_ADA_PERBAIKAN_DALAM _WAKTU_LAMA then TINGKATKAN_JUMLAH_POPULASI_2
Else
TURUNKAN_JUMLAH_POPULASI END IF
Evaluasi Individu baru END WHILE
END
Pada pseudocode di atas dapat dilihat bahwa algoritma genetika dengan metode PRoFIGA dibandingkan dengan algoritma genetika klasik adalah terdapatnya penyesuaian jumlah populasi didasarkan pada perbaikan nilai fitness terbaik di dalam populasi. Jika terjadi perbaikan nilai fitness terbaik maka akan meningkatkan jumlah populasi untuk generasi berikutnya, dan jika terjadi penurunan nilai fitness terbaik maka jumlah populasi untuk generasi berikutnya akan menurun, tetapi jika terjadi stagnasi kinerja maka jumlah populasi akan kembali meningkat. Bila terjadi peningkatan best fitness ataupun bila tidak ada perbaikan best fitness dalam waktu
lama maka jumlah populasi akan ditingkatkan, tetapi bila best fitness yang diperoleh semakin buruk maka jumlah populasi akan diturunkan.
Adapun prosedur untuk menambah dan mengurangi jumlah (ukuran) populasi dapat dilihat pada pseudocode berikut ini (Eiben et al.,2004).
Procedure TINGKATKAN_JUMLAH_POPULASI_1 Begin
If BestFitness_OffSpring[i] > BestFitness_Offspring[i-1]
newPopSize = oldPopSize + (oldPopSize*(IncFac*(maxG-curG)*( ))) End If
END
Procedure TINGKATKAN_JUMLAH_POPULASI_2 Begin
Define Const MaxNumberOfNoImprovement
While BestFitness_Offspring[i]=BestFitnessOffspring[i-1] do NumberOfNoImprovement=NumberOfNoImprovement+1
END WHILE
If NumberOfNoImprovement=MaxNumberOfNoImprovement+1
newPopSize = oldPopSize + (oldPopSize*(IncFac*(maxG-curG)*( ))) END IF
END
Procedure TURUNKAN_JUMLAH_POPULASI Begin
If BestFitness_OffSpring[i] < BestFitness_Offspring[i-1]
newPopSize = oldPopSize - (oldPopSize*(DecFac*(maxG-curG)*( ))) End If
END IF END
Berdasarkan pada pseudocode untuk menambahkan dan menurunkan jumlah populasi pada algoritma PRoFIGA dapat dilihat bahwa penambahan jumlah (ukuran) populasi akan terjadi bila nilai best fitness offspring mengalami perbaikan dibandingkan dengan nilai best fitness dari offspring pada generasi sebelumnya.
Penambahan jumlah (ukuran) populasi juga akan terjadi bila nilai best fitness offspring tidak berubah untuk jangka waktu yang lama. Sedangkan jika terjadi penurunan nilai best fitness offspring dibandingkan dengan best fitness offspring pada generasi sebelumnya maka jumlah (ukuran) populasi akan berkurang. Baik proses penambahan
ataupun penurunan jumlah (ukuran) populasi menggunakan increment factor dan decrement factor yang memiliki nilai yang sama.
3.4. Proses pada Algoritma Genetika dengan Metode PRoFIGA 3.4.1. Inisialisasi Populasi dengan Individu Random
Pada pendefinisian individu yang akan dilakukan adalah teknik penyandian gen dan kromosom. Gen merupakan bagian dari kromosom. Satu gen diwakili dengan satu variabel. Kromosom-kromosom / individu-individu adalah kumpulan angka yang mewakili posisi kota dalam sebuah rangkaian (urutan). Dengan kata lain, sebuah kromosom/individu itu mewakili sebuah urutan kota yang dikunjungi salesman. Jadi apabila satu kromosom berbentuk: K1= (X1, X2, X3,..., Xn) artinya salesman bergerak dari kota 1, 2, 3, dan seterusnya hingga kota ke n.
Misalkan terdapat 4 kota yang akan dikunjungi, dengan ilustrasi jarak dari tiap kota adalah dapat dilihat pada Gambar 3.3.
Gambar 3.3. Contoh Ilustrasi Permasalahan TSP Adapun keterangan dari Gambar 3.3. adalah sebagai berikut.
Jarak dari kota A ke B = 15 Jarak dari kota A ke C = 10 Jarak dari kota A ke D = 12 Jarak dari kota B ke C = 13 Jarak dari kota B ke D = 9 Jarak dari kota C ke D = 14
A B
C D
15
10 12 13 9
14
Misalkan kita tentukan jumlah populasi adalah 5 di mana dalam 1 kromosom terdapat 3 gen yang mewakili urutan kota yang akan dikunjungi oleh seorang salesman. Misalkan pembentukan populasi awal dengan menggunakan bilangan random adalah seperti yang dapat dilihat pada Tabel 3.1.
Tabel 3.1 Pembentukan Populasi Awal
Kromosom Gen Total Jarak Fitness
Kromosom[1] [B;D;C] A-B-D-C = 38 0.026
Kromosom[2] [C;B;D] A-C-B-D = 32 0.031
Kromosom[3] [B;C;D] A-B-C-D = 42 0.024
Kromosom[4] [D;C;B] A-D-C-B = 39 0.026
Kromosom[5] [D;B;C] A-D-B-C = 34 0.029
3.4.2. Seleksi
Proses seleksi dilakukan dengan cara membuat kromosom yang mempunyai fungsi objektif kecil mempunyai kemungkinan terpilih yang besar atau mempunyai nilai probabilitas yang tinggi. Metode seleksi yang digunakan adalah roulette wheel selection. Persamaan untuk menghitung nilai fitness dapat dilihat pada Persamaan 3.2.
Fitness = ...(3.2)
Semakin besar jarak maka semakin kecil nilai fitness dan sebaliknya jika semakin kecil jarak maka semakin besar nilai fitness.
Seleksi Roulette Wheel 1. Hitung Total Fitness
Total fitness dihitung dengan menggunakan persamaan 3.3.
Total Fitness= ∑ Fk ...(3.3)
Dimana: k = 1, 2, 3, ...., ukuran populasi
Total Fitness = 0.026+0.031+0.024+0.026+0.029
= 0.136
2. Hitung fitness relatif tiap individu
Untuk menghitung fitness tiap individu digunakan persamaan 3.4
Pk = ...(3.4)
Dimana:
Pk = Fitness relatif tiap-tiap kromosom Fk = Fitness tiap kromosom
Individu ke-1 = 0.026/ 0.136 = 0.191 Individu ke-2 = 0.031/ 0.136 = 0.23 Individu ke-3 = 0.024/ 0.136 = 0.18 Individu ke-4 = 0.026/ 0.136 = 0.19 Individu ke-5 = 0.029/ 0.136 = 0.21 3. Hitung fitness kumulatif
q1 = 0.191
q2 = 0.191 + 0.23 = 0.352 q3 = 0.191 + 0.23 + 0.18 = 0.532
q4 = 0.191 + 0.23 + 0.18 + 0.19 = 0.722 q5 = 0.191 + 0.23 + 0.18 + 0.19 + 0.21 = 0.99
3.4.3. Crossover
Setelah proses seleksi maka proses selanjutnya adalah proses crossover. Adapun metode crossover yang akan digunakan di dalam penelitian ini sebagai dasar perbandingan performance adalah metode Whole arithmetic crossover.
Proses whole arithmetic crossover yang dilakukan adalah berupa perkalian α (faktor pengali) dengan gen pada kromosom parent 1 dijumlahkan dengan perkalian perkalian α (faktor pengali) dengan gen pada kromosom parent 1 sehingga menghasilkan kromosom anak (offspring).
3.4.4. Mutasi
Mutasi yang akan dilakukan pada penelitian ini adalah swapping mutation. Swapping mutation adalah mutasi yang dilakukan dengan menukar satu atau beberapa nilai gen dalam kromosom.
Jumlah chromosome yang mengalami mutasi dalam satu populasi ditentukan oleh parameter mutation rate. Proses mutasi dilakukan dengan cara mengganti satu gen yang terpilih secara acak dengan suatu nilai baru yang didapat secara acak.
Prosesnya adalah sebagai berikut.
Pertama kita hitung dahulu panjang total gen yang ada dalam satu populasi.
Panjang total gen = jumlah total gen dalam kromosom * jumlah populasi...(3.5) Panjang total gen = 4 * 6 = 24
Untuk memilih posisi gen yang mengalami mutasi dilakukan dengan cara membangkitkanbilangan integer acak antara 1 sampai total gen, yaitu 1 sampai 24.
Jika bilangan acak yangkita bangkitkan lebih kecil daripada variabel mutation rate (ρm) maka pilih posisi tersebut sebagai sub-kromosom yang mengalami mutasi. Misal ρm kita tentukan 10% maka diharapkan ada 10% dari total gen yang mengalami populasi:
Jumlah mutasi = 0.1 * 24
= 2.4
= 2
Misalkan setelah kita bangkitkan bilangan acak terpilih posisi gen 12 dan 18 yang mengalamimutasi. Dengan demikian yang akan mengalami mutasi adalah kromosomke-3 gen nomor 4 dan kromosomke-5 gen nomor 2. Maka nilai gen pada posisi tersebut kita ganti dengan bilangan acak 0-30.
Misalkan bilangan acak yang terbangkitkan adalah 2 dan 5. Maka populasi kromosom setelah mengalami proses mutasi adalah:
Misalkan Kromosom Awal Kromosom[1] = [12;05;03;08]
Kromosom[2] = [02;01;08;03]
Kromosom[3] = [10;04;03;04]
Kromosom[4] = [20;01;10;06]
Kromosom[5] = [01;04;03;09
Maka kromosom hasil mutasi adalah sebagai berikut.
Kromosom[1] = [12;05;03;08]
Kromosom[2] = [02;01;08;03]
Kromosom[3] = [10;04;03;02]
Kromosom[4] = [20;01;10;06]
Kromosom[5] = [01;05;03;09]
3.4.5. Proses PRoFIGA
Pada metode PRoFIGA, jumlah populasi akan meningkat jika terjadi perbaikan nilai fitness terbaik ataupun jika tidak terdapat perbaikan nilai fitness terbaik untuk jangka waktu yang lama. Faktor pengali pada metode PRoFIGA biasanya berukuran kecil (1- 5%). Ide dasar dari metode PRoFIGA adalah menggunakan jumlah populasi yang besar untuk kebutuhan eksplorasi dan jumlah populasi yang kecil untuk kebutuhan eksploitasi. Adapun persamaan pada metode PRoFIGA dapat dilihat pada Persamaan 3.6.
newPopSize = oldPopSize + (oldPopSize*(IncFac*(maxG-curG)*( ))) ...(3.6)
Keterangan:
- newPopSize adalah ukuran populasi baru - oldPopSize adalah ukuran populasi lama - IncFac adalah persentase faktor penambahan - maxG adalah jumlah maksimum generasi - curG adalah generasi saat ini
- newMaxF adalah nilai fitness maksimum pada generasi saat ini - oldMaxF adalah nilai fitness maksimum pada generasi sebelumnya - initMaxF adalah nilai fitness maksimum yang diharapkan
Misalkan pada saat ini algoritma genetika telah berada pada generasi ke – 70 dengan nilai fitness terbaik adalah sebesar 0.6 dan nilai fitness terbaik generasi sebelumnya adalah sebesar 0.5. Jumlah populasi pada saat ini adalah sebesar 45 dan jumlah maksimum populasi yang diperkenankan adalah sebesar 100. Dengan nilai fitness maksimum yang diharapkan adalah sebesar 0.7. Berapakah jumlah populasi yang harus digunakan pada generasi berikutnya dengan menggunakan metode PROFIGA dengan menggunakan bilangan pengali sebesar 0.03.
Maka Jumlah Populasi baru adalah:
Jumlah populasi baru = 45 + (45 * (0.03 * (100-45) * ( 7 . 0
5 . 0 6 . 0
)))
= 45 + (45* (0.03 * (55) * (0.14286)))
= 45 + (45* (0.236))
= 45 + (11) = 56
3.7 Analisis Kinerja
Di dalam penelitian ini, penulis membutuhkan prosedur proses analisis dalam mengetahui pengaruh jumlah populasi terhadap kinerja metode PRoFIGA sehingga memudahkan penulis dalam menganalisis pengaruh jumlah populasi berdasarkan nilai fitness yang dihasilkan oleh metode PRoFIGA diperbandingkan dengan populasi yang tetap pada algoritma genetika kalasik. Analisis kinerja dari metode dan algoritma tersebut yang di pengaruhi jumlah populasi, dilakukan pengukuran peningkatan kinerjanya dalam bentuk nilai best fitness dan rata-rata fitness yang dihasilkan.
Pendefinisian kromosom dan pembentukan populasi awal, masing-masing dilakukan percobaan a. 100 populasi dengan
10 generasi di mana tiap generasi memiliki ukuran populasi sebesar 10
b. 200 populasi dengan 20 generasi di mana tiap generasi memiliki ukuran populasi sebesar 10
c. 300 populasi dengan 30 generasi di mana tiap generasi memiliki ukuran populasi sebesar 10 Data Set
Berlin 52.tsp Burma 14.tsp
Perhitungan nilai fitness tiap kromosom
Seleksi kromosom
Mutasi
Metode PRoFIGA Penentuan jumlah
populasi baru berdasarkan nilai
fitness terbaik
Algoritma Genetika Klasik Penentuan jumlah
populasi tetap atau sama dengan
populasi awal
Membandingkan nilai best fitness dan rata-rata fitness yang dihasilkan pengaruh jumlah populasi yang tetap oleh Algoritma Klasik dengan nilai best fitness dan rata-rata fitness yang dihasilkan oleh Algoritma genetika menggunakan Metode PRoFIGA dalam penentuan jumlah populasi secara adaptip berdasarkan
nilai fitness sehingga diketahui peningkatan kinerja dari masing-masing metode tersebut.
Keterkaitan lain hasil kinerja tersebut dengan
Jumlah gen yang terlibat, Jumlah populasi yang meningkat, Jumlah populasi yang kecil
Gambar 3.4. Proses Analisis Kinerja Metode PRoFIGA
BAB 4
HASIL DAN PEMBAHASAN
4.1. Pendahuluan
Pada penelitian ini akan ditampilkan hasil penilaian performansi untuk tiap metode penentuan jumlah populasi dengan menggunakan algoritma klasik dan menggunakan metode PRoFIGA di dalam menyelesaikan permasalahan TSP. Pengukuran performansi akan dilakukan terhadap data library Berlin52.tsp dan Burma14.tsp. Nilai performansi akan dinyatakan di dalam bentuk nilai average best distance yang merupakan nilai rata-rata untuk jarak terpendek untuk tiap pengujian dan juga average best fitness yang merupakan nilai rata-rata untuk best fitness untuk tiap pengujian.
Nilai best fitness diperoleh dari hasil pembagian 1 dengan nilai best distance sehingga semakin kecil nilai best distance akan semakin besar pula nilai best fitness, dengan demikian semakin besar nilai average best fitness berarti semakin baik pula performansi dari suatu metode algoritma genetika. Hasil pengujian yang dilakukan oleh peneliti akan disampaikan dalam bentuk tabel.Pada tiap parameter dan proses pengujian, akan menggunakan jumlah pengujian sebesar 10, hal ini dilakukan untuk mendapatkan kemungkinan hasil pengujian yang lebih bervariasi sehingga lebih menggambarkan keadaan yang sesungguhnya.
4.2. Hasil Pengujian pada Berlin52.tsp
Pada Berlin52.tsp terdapat 52 kota yang harus dikunjungi. Pengujian akan dilakukan terhadap performansi dari tiap metode penentuan jumlah populasi yaitu pada algoritma genetika klasik dan pada penentuan jumlah populasi dengan menggunakan metode PRoFIGA. Pengujian akan dilakukan dengan beberapa tahapan yaitu:
pengujian dengan menggunakan 100 populasi, pengujian dengan menggunakan 200 populasi, dan pengujian dengan menggunakan 300 populasi.
4.2.1. Pengujian dengan Menggunakan 100 populasi pada Berlin52.tsp
Pengujian ini untuk algoritma genetika klasik dilakukan pada 10 generasi di mana tiap generasi memiliki ukuran populasi sebesar 10, sedangkan pada algoritma genetika dengan metode PRoFIGA dilakukan dengan menggunakan 10 generasi, di mana ukuran populasi pada tiap generasi memiliki ukuran populasi yang bervariasi sesuai dengan nilai best fitnessyang diperoleh. Pengujian untuk 100 populasi dilakukan dengan 10 kali pengujian, baik untuk algoritma genetika klasik maupun algoritma genetika dengan metode PRoFIGA. Hasil pengujian ditunjukkan dalam bentuk jumlah ukuran populasi dengan nilai Average fitness dan Average Best Fitness yang diperoleh pada tiap percobaan. Hasil pengujian dapat dilihat pada Tabel 4.1 dan Tabel 4.2.
Tabel 4.1. Hasil Pengujian untuk 100 Populasi pada Berlin52.Tsp dengan Menggunakan Algoritma Genetika Klasik.
No. Best Fitness Jumlah Populasi Average Fitness
1 0.00004334 100 0.00003435
2 0.00004191 100 0.00003409
3 0.00004298 100 0.00003390
4 0.00004298 100 0.00003497
5 0.00004740 100 0.00003458
6 0.00004580 100 0.00003422
7 0.00004347 100 0.00003371
8 0.00004655 100 0.00003489
9 0.00004415 100 0.00003415
10 0.00004163 100 0.00003357
Rata-rata Best Fitness = 0.000044021 Rata-rata Average Fitness = 0.000034243
Pengujian pada Tabel 4.1. dilakukan dengan menggunakan 10 kromosom yang mewakili populasi dan tiap kromosom memiliki 51 gen yang mewakili kota yang akan dikunjungi. Pada setiap tahapan selalu dimulai dengan menghitung nilai fitness tiap kromosom yang diperoleh dari hasil pembagian 1 dengan total jarak dari tiap kota.
Berdasarkan hasil dari fitness yang diperoleh maka proses akan masuk ke dalam bagian seleksi dengan menggunakan roulette wheel selection, di mana kromosom dengan nilai fitness yang besar akan memiliki peluang terpilih yang semakin besar.
Kemudian selanjutnya proses akan masuk ke dalam tahapan crossover dengan menggunakan metode whole arithmetic crossover dan selanjutnya akan masuk ke tahapan mutasi. Bila sudah selesai tahapan ini maka akan dicatat nilai best fitness dan nilai average fitness yang diperoleh, kemudian proses akan berlangsung ke generasi berikutnya dengan jumlah populasi yang sama. Bila sudah sampai kepada 10 generasi maka akan dapat diperoleh nilai best fitness yang terbaik dari nilai best fitness yang telah diperoleh selama proses di dalam 10 generasi tersebut, demikian juga halnya juga dapat diperoleh nilai average fitness terbaik di dalam 10 generasi tersebut.
Berdasarkan hasil pengujian yang diperoleh pada Tabel 4.1, dapat dilihat bahwa untuk tiap tahapan pengujian memberikan nilai best fitness dan average fitness yang bervariasi. best fitness adalah nilai fitness terbaik yang diperoleh selama 100 generasi, sedangkan average fitness adalah nilai rata-rata fitness yang diperoleh selama 100 generasi. Semakin tinggi nilai best fitness maupun average fitness berarti hasil yang diperoleh adalah semakin baik. Berdasarkan hasil pengujian yang dapat dilihat pada Tabel 4.1. maka untuk permasalahan Berlin52.Tsp pada pengujian dengan 100 generasi dengan menggunakan algoritma genetika klasik, nilai average fitness yang terbaik diperoleh pada pengujian ke-4 dengan nilai average fitness sebesar 0.00003497 dan nilaibest fitness yang terbaik diperoleh pada pengujian ke-5 dengan nilai best fitness sebesar 0.00004740. Sehingga, dapat disimpulkan bahwa perolehan nilai average fitness terbaik yang merupakan nilai rata-rata terbaik pada setiap pengujian dapat berbeda dengan nilai best fitnessterbaik, yang dapat dilihat pada pengujian, di mana average fitness terbaik diperoleh pada pengujian ke-4 dan average best fitness terbaik yang diperoleh pada pengujian ke-5. Pada pengujian berdasarkan table 4.1 diperoleh bahwa rata-rata average fitness yang diperoleh adalah sebesar 0.000034243 dan rata-rata best fitness yang diperoleh adalah sebesar 0.000044021.
Tabel 4.2. Hasil Pengujian untuk 100 Populasi pada Berlin52.Tsp dengan Menggunakan Algoritma Genetika Metode PRoFIGA.
No. Best Fitness Jumlah Populasi Average Fitness
1 0.00004658 48 0.00003551
2 0.00004224 53 0.00003385
3 0.00004469 61 0.00003502
4 0.00004594 52 0.00003485
5 0.00004283 50 0.00003459
6 0.00004305 57 0.00003452
7 0.00004449 49 0.00003460
8 0.00004603 57 0.00003500
9 0.00004464 50 0.00003423
10 0.00004568 56 0.00003390
Rata-rata Best Fitness = 0.000044617 Rata-rata Average Fitness = 0.000034607
Berdasarkan pada Tabel 4.2, dapat dilihat bahwa pengujian pada algoritma genetika dengan metode PRoFIGA juga dilakukan dengan menggunakan proses pengujian yang berjumlah 10 kali. Pada tiap proses pengujian, jumlah generasi yang digunakan adalah sebanyak 10. Jumlah populasi awal adalah sebanyak 10 dan Jumlah populasi pada tiap proses pengujian dapat bervariasi, bisa bertambah maupun mengalami pengurangan sesuai dengan nilai fitness yang diperoleh selama proses pengujian. Dapat dilihat bahwa secara umum jumlah populasi keseluruhan dari generasi ke-1 sampai dengan generasi ke-10 pada tiap proses pengujian, secara umum tidak mencapai 100 populasi. Berdasarkan hasil pengujian dapat dilihat bahwa nilai average fitness untuk tiap proses pengujian adalah berbeda-beda bisa mengalami perbaikan maupun penurunan, demikian juga halnya dengan nilai best fitness untuk tiap proses pengujian yang juga cukup bervariasi. Berdasarkan hasil pengujian dapat diperoleh bahwa nilai average fitness terbaik adalah diperoleh pada proses pengujian ke-1 dengan nilai average fitness sebesar 0.00003551 dan nilai best fitness terbaik adalah diperoleh pada proses pengujian ke-1 dengan nilai best finess sebesar 0.00004658. Hasil pengujian berdasarkan pada Tabel 4.2 memberikan nilai rata-rata average fitness sebesar 0.000034607 dan nilai rata-rata best fitness sebesar
0.000044617. Jumlah populasi rata-rata yang terlibat di dalam proses pengujian adalah sebesar 53.3.
Berdasarkan pada Tabel 4.1 dan 4.2 dapat diperoleh bahwa secara umum pengujian pada permasalahan Berlin52.Tsp untuk ukuran populasi sebesar 100, diperoleh hasil bahwa algoritma genetika dengan menggunakan metode PRoFIGA akan memberikan nilai rata-rata average fitness dan nilai rata-rata best fitness yang lebih baik dibandingkan dengan algoritma genetika klasik. Hal ini dapat dilihat pada Tabel 4.3.
Tabel 4.3. Hasil Pengujian dengan Menggunakan Ukuran Populasi Sebesar 100 pada Berlin52.Tsp
Algoritma Genetika Rata-rataBest Fitness Rata-rata Average Fitness
Klasik 0.000044021 0.000034243
Metode PRoFIGA 0.000044617 0.000034607
Pada Tabel 4.3 dapat dilihat bahwa terdapat perbedaan yang cukup tipis antara nilai rata-rata best fitness yang diperoleh pada metode algoritma genetika klasik maupun algoritma genetika dengan metode PRoFIGA, dimana algoritma genetika dengan metode PRoFIGA memiliki sedikit keunggulan. Hal ini juga terjadi pada nilai rata-rata average fitness dimana metode PRoFIGA juga memiliki sedikit keunggulan dibandingkan dengan algoritma genetika klasik. Ditinjau dari jumlah populasi yang terlibat, pada metode PRoFIGA melibatkan jumlah rata-rata populasi sebesar 53.3 sedangkan algoritma genetika klasik melibatkan jumlah populasi sebesar 100.
Algoritma genetika dengan metode PRoFIGA lebih menguntungkan jika ditinjau dari segi jumlah populasi yang terlibat.
Adapun hasil pengujian dengan menggunakan ukuran populasi pada permasalahan Berlin52.Tsp pada permasalahan dengan menggunakan algoritma genetika klasik dan algoritma genetika menggunakan metode PRoFIGA dapat dilihat pada Gambar 4.1 dan 4.2.