Analisis Pemilihan Partially Mapped Crossover Algoritma Genetika pada Penyelelesaian Travelling Salesman Problem

(1)

ANALISIS PEMILIHAN PARTIALLY MAPPED

CROSSOVER ALGORITMA GENETIKA

PADA PENYELESAIAN TRAVELLING

SALESMAN PROBLEM

TESIS

Oleh

KHAIRUDDIN NASUTION

097038025/TINF

PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA MEDAN


(2)

ANALISIS PEMILIHAN PARTIALLY MAPPED

CROSSOVER ALGORITMA GENETIKA

PADA PENYELESAIAN TRAVELLING

SALESMAN PROBLEM

TESIS

Diajukan sebagai salah satu syarat untuk memperoleh gelar

Magister Komputer dalam Program Studi Magister

Teknik Informatika pada Program Pascasarjana

Fakultas MIPA Universitas Sumatera Utara

Oleh

KHAIRUDDIN NASUTION 097038025/TINF

PROGRAM STUDI MAGISTER (S2) TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA MEDAN


(3)

PENGESAHAN TESIS

Judul Tesis : ANALISIS PEMILIHAN PARTIALLY

MAPPED CROSSOVER ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM Nama Mahasiswa : KHAIRUDDIN NASUTION

Nomor Induk Mahasiswa : 097038025

Program Studi : Magister Teknik Informatika

Fakultas : Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Menyetujui Komisi Pembimbing

Ade Candra, ST, M.Kom

Anggota Ketua

Prof. Dr. Muhammad Zarlis

Ketua Program Studi, Dekan,

Prof. Dr. Muhammad Zarlis

NIP : 195707011986011003 NIP : 196310261991031001 Dr. Sutarman, M.Sc. .


(4)

PERNYATAAN ORISINALITAS

ANALISIS PEMILIHAN PARTIALLY MAPPED

CROSSOVER ALGORITMA GENETIKA

PADA PENYELESAIAN TRAVELLING

SALESMAN PROBLEM

TESIS

Dengan ini saya nyatakan bahwa saya mengakui semua karya tesis ini adalah hasil kerja saya sendiri kecuali kutipan dan ringkasan yang tiap bagiannya telah di jelaskan sumbernya dengan benar.

Medan, Juli 2011

KHAIRUDDIN NASUTION NIM : 097038025


(5)

PERNYATAAN PERSETUJUAN PUBLIKASI

KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini:

Nama : KHAIRUDDIN NASUTION

Nim : 097038025

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 PEMILIHAN PARTIALLY MAPPED

CROSSOVER ALGORITMA GENETIKA

PADA PENYELESAIAN TRAVELLING

SALESMAN PROBLEM

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, Juli 2011

KHAIRUDDIN NASUTION NIM : 097038025


(6)

Telah diuji pada Tanggal : Juli 2011

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Muhammad Zarlis Anggota : 1. Ade Candra, ST, M.Kom

2. Prof.Dr. Herman Mawengkang 3. Dr. Erna Budhiarti Nababan 4. Dian Rachmawaty, S.Si.,M.Kom


(7)

RIWAYAT HIDUP

DATA PRIBADI

Nama lengkap berikut gelar : Khairuddin Nasution, ST Tempat dan Tanggal Lahir : T.Balai, 20 Oktober 1974 Alamat Rumah : Jl. Karya Jaya/Namorambe

Komp.Griya Mandiri C-14 D.Serdang Telepon / HP : 081265440201

Email : khairusty@yahoo.com

Instansi Tempat Bekerja : Fakultas Teknik UISU Medan

DATA PENDIDIKAN

SD : SD NEGERI No. 060820 Tamat : 1986 SMP : SMP NEGERI 7 Medan Tamat : 1989 SMU : SMU NEGERI 9 Medan Tamat : 1992 Strata-1 : STT Harapan Medan Tamat : 2002 Strata-2 : PSMTIF PPs FMIPA USU Tamat : 2011


(8)

ANALISIS PEMILIHAN PARTIALLY MAPPED

CROSSOVER ALGORITMA GENETIKA

PADA PENYELESAIAN TRAVELLING

SALESMAN PROBLEM

ABSTRAK

Travelling Salesman Problem (TSP) merupakan sebuah permasalahan optimasi yang dapat diterapkan pada berbagai kegiatan. Pokok dari permasalahan TSP adalah bagaimana salesman tersebut dapat mengatur rute perjalanannya sehingga jarak yang ditempuhnya merupakan rute yang optimum yaitu jarak minimum terbaik. Metode-metode yang sudah digunakan antara lain : Ant colony, simulated annealing, tabu search, algoritma genetika dan lain-lain. Penelitian ini dirumuskan dengan pengaruh penentuan crossover point khususnya probabilitas crossover dalam mencari rute optimal pada TSP. Tujuan dari penelitian ini adalah untuk mencari nilai probabilitas crossover yang baik dalam mencapai rute optimal. Metode crossover yang digunakan dalam penelitian ini adalah partially mapped crossover (PMX). Seleksi yang digunakan adalah seleksi Roulette wheel. Dari pengujian yang dilakukan dengan menggunakan 20%, 40%, 60%, 80% dan 99% dapat ditemukan bahwa probabilitas crossover yang baik adalah 99%, dengan penetapan mutasi bernilai 0.05%. Banyaknya generasi adalah 10000 generasi. Rute optimal yang diperoleh dari data att48.tsp adalah 43910 dan data bays29.tsp adalah 10463.


(9)

ELECTION ANALYSIS OF PARTIALLY MAPPED CROSSOVER GENETIC ALGORITHM CROSSOVER TO COMPLETION

TRAVELLING SALESMAN PROBLEM

ABSTRACT

Traveling Salesman Problem (TSP) is an optimization problem that can be applied to a variety of activities. Fundamental from problems of TSP is how the salesman can arrange travel routes so that the distance which he passes an optimum route is the best minimum distance. The methods used include: Ant colony, simulated annealing, taboo search, genetic algorithms and others. The research was formulated by the influence of the crossover point

determination of the probability of crossover, especially in finding the optimal route to the TSP. The purpose of this study was to find a good crossover probability value in achieving an optimal route.

Method crossover which applied in this research is partially mapped crossover (PMX). Selection is used roulette wheel selection. From the testing conducted by using 20%, 40%, 60%, 80% and 99% can be found that a good crossover

probability is 99%, with the determination of mutation is worth 0.05%. The number of generations is 10000 generations. The optimal route for data att48.tsp is 43910 and data bays29.tsp is 10463.


(10)

KATA PENGANTAR

Alhamdulillahi rabbil ‘alamin, puji dan syukur atas segala yang telah diberikan Allah SWT kepada penulis melalui Ridha dan Karunia-Nya sehingga tesis ini dapat diselesaikan, dengan judul “Analisis Pemilihan Partially Mapped Crossover Algoritma Genetika pada Penyelelesaian Travelling Salesman Problem”.

Tesis merupakan salah satu syarat yang harus dipenuhi oleh setiap

mahasiswa untuk mendapat gelar Magister Komputer pada Program Studi Teknik Informatika Sekolah Pascasarjana Universitas Sumatera Utara Medan.

Pada kesempatan ini pula penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada berbagai pihak yang telah banyak membantu peneliti baik secara moril maupun material, langsung dan tidak langsung sehingga penulisan tesis ini selesai tepat pada waktunya. Untuk itu semua saya ingin mengucapkan terima kasih kepada :

1. Bapak Prof.Dr.Muhammad Zarlis, selaku Ketua Komisi Pembimbing dan Ketua Program Studi Magister Teknik Informatika

2. Bapak Ade Candra, ST, M.Kom, selaku anggota Komisi Pembimbing 3. Bapak Andri Budiman, ST, M.Sc, selaku sekretaris Program studi

Magister Teknik Informatika

4. Yayasan, Rektorat, Fakultas Teknik UISU dan Jurusan Teknik Informatika FT-UISU.

5. Alm. Ayahanda Ahmad Djauhari Nasution dan Ibunda Saniah, yang telah mengasuh, mendidik dan membesarkan penulis.

6. Isteriku Flora Farida Sibuea dan anak-anakku tercinta, Muhammad Hashiby Nasution dan Nazwa Khaila Nasution atas segala keizinan dan keikhlasan serta dorongan moril kepada penulis.


(11)

7. Rekan-rekan sesama mahasiswa, terutama buat : Pak Husni, M.Ichwan, Amir Mahmud, Pak Riki, Fakhriza dan lainnya ..

8. Bapak/Ibu Pegawai administrasi Program studi Magister Teknik Informatika USU

9. Semua pihak yang telah memberikan bantuan dalam penyelesaian tesis ini.

Akhir kata, semoga tesis ini dapat bermanfaat bagi kita semua. Amiin. Wabillahi taufik walhidayah

Wassalamu’alaikum warahmatullahi wabarakatuh

Medan, Juli 2011 Penulis,

Khairuddin Nasution 097 038 025


(12)

DAFTAR ISI

Halaman

ABSTRAK i

KATA PENGANTAR iii

DAFTAR ISI v

DAFTAR TABEL vii

DAFTAR GAMBAR viii

DAFTAR LAMPIRAN ix

BAB I. PENDAHULUAN

1.1. Latar Balakang Masalah 1 1.2. Perumusan Masalah 3 1.3. Batasan Masalah 3 1.4. Tujuan Penelitian 3 1.5. Manfaat Penelitian 4 BAB II. TINJAUAN PUSTAKA

2.1. Pendahuluan 5

2.2. Travelling Salesman Problem 5 2.2.1. Sejarah Permasalahan TSP 5 2.2.2. Perkembangan Pemecahan TSP 6 2.3. Metode Penyelesaian TSP 9 2.3.1. Metode Aproksimasi (Greedy Heuristic) 9 2.3.2. Metode Heuristic 9 2.4. Algoritma Genetika 10 2.4.1. Encoding Kromosom 13 2.4.2. Encoding dan Decoding 13 2.4.3. Ukuran Populasi 14 2.4.4. Evaluasi Kromosom 14 2.4.5. Inisialisasi Populasi 14 2.4.6. Metode Seleksi Untuk Kepunahan dan Kelahiran 15

2.4.7. Crossover 17

2.4.8. Mutasi 19

2.4.8.1. Mutasi Bilangan Real 20 2.4.8.2. Mutasi Biner 20 2.4.9. Parameter Genetik 21 2.5. Riset-riset Terkait 21 BAB III. METODOLOGI PENELITIAN

3.1. Pendahuluan 23

3.2. Data 23

3.3. Pelaksanaan Penelitian 25 3.3.1. Pendefinisian Individu 26 3.3.2. Populasi Awal 26


(13)

3.3.3. Metode Seleksi 27

3.3.4. Crossover 29

3.3.5. Mutasi 32

3.4. Variabel yang diamati 34 BAB IV. HASIL DAN PEMBAHASAN

4.1. Pendahuluan 35

4.2. Hasil Percobaan Pertama (att48.tsp) 35 4.2.1.Pengujian untuk probabilitas crossover 20% 35 4.2.2.Pengujian untuk probabilitas crossover 40% 38 4.2.3.Pengujian untuk probabilitas crossover 60% 39 4.2.4.Pengujian untuk probabilitas crossover 80% 41 4.2.5.Pengujian untuk probabilitas crossover 99% 43 4.3. Hasil Percobaan Kedua (bays29.tsp) 45

4.3.1.Pengujian untuk probabilitas crossover 20% 45 4.3.2.Pengujian untuk probabilitas crossover 40% 48 4.3.3.Pengujian untuk probabilitas crossover 60% 49 4.3.4.Pengujian untuk probabilitas crossover 80% 51 4.3.5.Pengujian untuk probabilitas crossover 99% 53 4.4. Hubungan antara probabilitas crossover dengan best

fitness 55

4.5. Hubungan antara probabilitas crossover dengan rute

optimal 56

BAB V. KESIMPULAN DAN SARAN

5.1. Kesimpulan 58

5.2. Saran 58

DAFTAR PUSTAKA

LAMPIRAN

`


(14)

DAFTAR TABEL

Nomor Tabel

J u d u l Halaman

3.1 Koordinat Kota 23

3.2 Jarak antar kota 24

4.1 Spesifikasi Rute Pengujian pc = 20% 36 4.2. Hasil pengujian att48.tsp. pc=0.2 37 4.3 Spesifikasi Rute Pengujian pc = 40% 38 4.4 Spesifikasi Rute Pengujian pc = 60% 39 4.5 Spesifikasi Rute Pengujian pc = 80% 41 4.6 Spesifikasi Rute Pengujian pc = 99% 43 4.7 Spesifikasi Rute Pengujian pc = 20% 45 4.8 Hasil pengujian bays29.tsp, pc=0.2 47 4.9 Spesifikasi Rute Pengujian pc = 40% 48 4.10 Spesifikasi Rute Pengujian pc = 60% 49 4.11 Spesifikasi Rute Pengujian pc = 80% 51 4.12 Spesifikasi Rute Pengujian pc = 99% 53 4.13 Hubungan antara Probabilitas Crossover dengan best fitness 55 4.14 Hubungan antara probabilitas crossover dengan rute optimal 56


(15)

DAFTAR GAMBAR

Nomor Gambar

J u d u l Halaman

2.1 Posisi kota-kota yang akan dilewati 7

2.2 Rute optimal 8

2.3 Struktur Utama Algoritma Genetika 12

2.4 Pemetaan PMX 19

3.1 Diagram Alur Penelitian 25 4.1 Rute pengujian pc = 0.2 36 4.2 Grafik rute optimal pada pc=0.2 37 4.3 Rute pengujian pc = 0.4 38 4.4 Grafik rute optimal pada pc=0.4 39 4.5 Rute pengujian pc = 0.6 40 4.6 Grafik rute optimal pada pc=0.6 41 4.7 Rute pengujian pc = 0.8 42 4.8 Grafik rute optimal pada pc=0.8 43 4.9 Rute pengujian pc = 0.99 44 4.10 Grafik rute optimal pada pc=0.99 45 4.11 Rute pengujian pc = 0.2 46 4.12 Grafik rute optimal pada pc=0.2 47 4.13 Rute pengujian pc = 0.4 48 4.14 Grafik rute optimal pada pc=0.4 49 4.15 Rute pengujian pc = 0.6 50 4.16 Grafik rute optimal pada pc=0.6 51 4.17 Rute pengujian pc = 0.8 52 4.18 Grafik rute optimal pada pc=0.8 53 4.19 Rute pengujian pc = 0.99 54 4.20 Grafik rute optimal pada pc=0.99 55 4.21 Grafik hubungan antara probabilitas crossover dengan nilai

fitness

56 4.22 Grafik hubungan antara probabilitas crossover dengan rute

optimal


(16)

DAFTAR LAMPIRAN

Nomor J u d u l Halaman

1 Lampiran 1. Data Koordinat att48.tsp L-1 2 Lampiran 2. Data Koordinat bays29.tsp L-2


(17)

ANALISIS PEMILIHAN PARTIALLY MAPPED

CROSSOVER ALGORITMA GENETIKA

PADA PENYELESAIAN TRAVELLING

SALESMAN PROBLEM

ABSTRAK

Travelling Salesman Problem (TSP) merupakan sebuah permasalahan optimasi yang dapat diterapkan pada berbagai kegiatan. Pokok dari permasalahan TSP adalah bagaimana salesman tersebut dapat mengatur rute perjalanannya sehingga jarak yang ditempuhnya merupakan rute yang optimum yaitu jarak minimum terbaik. Metode-metode yang sudah digunakan antara lain : Ant colony, simulated annealing, tabu search, algoritma genetika dan lain-lain. Penelitian ini dirumuskan dengan pengaruh penentuan crossover point khususnya probabilitas crossover dalam mencari rute optimal pada TSP. Tujuan dari penelitian ini adalah untuk mencari nilai probabilitas crossover yang baik dalam mencapai rute optimal. Metode crossover yang digunakan dalam penelitian ini adalah partially mapped crossover (PMX). Seleksi yang digunakan adalah seleksi Roulette wheel. Dari pengujian yang dilakukan dengan menggunakan 20%, 40%, 60%, 80% dan 99% dapat ditemukan bahwa probabilitas crossover yang baik adalah 99%, dengan penetapan mutasi bernilai 0.05%. Banyaknya generasi adalah 10000 generasi. Rute optimal yang diperoleh dari data att48.tsp adalah 43910 dan data bays29.tsp adalah 10463.


(18)

ELECTION ANALYSIS OF PARTIALLY MAPPED CROSSOVER GENETIC ALGORITHM CROSSOVER TO COMPLETION

TRAVELLING SALESMAN PROBLEM

ABSTRACT

Traveling Salesman Problem (TSP) is an optimization problem that can be applied to a variety of activities. Fundamental from problems of TSP is how the salesman can arrange travel routes so that the distance which he passes an optimum route is the best minimum distance. The methods used include: Ant colony, simulated annealing, taboo search, genetic algorithms and others. The research was formulated by the influence of the crossover point

determination of the probability of crossover, especially in finding the optimal route to the TSP. The purpose of this study was to find a good crossover probability value in achieving an optimal route.

Method crossover which applied in this research is partially mapped crossover (PMX). Selection is used roulette wheel selection. From the testing conducted by using 20%, 40%, 60%, 80% and 99% can be found that a good crossover

probability is 99%, with the determination of mutation is worth 0.05%. The number of generations is 10000 generations. The optimal route for data att48.tsp is 43910 and data bays29.tsp is 10463.


(19)

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Travelling Salesman Problem (TSP) merupakan sebuah permasalahan optimasi yang dapat diterapkan pada berbagai kegiatan seperti routing. Masalah optimasi TSP terkenal dan telah menjadi standar untuk mencoba algoritma yang komputational. Pokok permasalahan dari TSP adalah seorang salesman harus mengunjungi sejumlah kota yang diketahui jaraknya satu dengan yang lainnya.

Semua kota yang ada harus dikunjungi oleh salesman tersebut dan kota tersebut hanya boleh dikunjungi tepat satu kali. Permasalahannya adalah bagaimana salesman tersebut dapat mengatur rute perjalanannya sehingga jarak yang ditempuhnya merupakan rute yang optimum yaitu jarak minimum terbaik. (Larranaga et.al 1999).

Banyak metode yang dapat dipakai untuk menyelesaikan TSP yaitu Hill Climbing Method, Ant Colony System dan Dynamic Programming, Simulated Annealing, Tabu Search. Metode lain yang dapat dipakai untuk menyelesaikan TSP adalah algoritma genetik. Algoritma genetik merupakan sebuah algoritma yang meniru cara kerja proses genetika pada makhluk hidup, dimana terdapat proses seleksi, rekombinasi dan mutasi untuk mendapatkan kromosom terbaik pada suatu generasi.

Salah satu aspek yang mempunyai peranan yang penting dalam menggunakan metode Algoritma Genetika adalah penentuan rekombinasi yang melibatkan crossover point dan mutasi. Biasanya dalam Algoritma Genetika, individu diwakili oleh sejumlah bit string dan rekombinasi diimplementasikan melalui operator crossover yang beroperasi pada pasangan individu (orangtua)


(20)

untuk menghasilkan string baru (anak) dengan persilangan segmen-segmen dari kedua orang tua tersebut. Secara tradisional, jumlah crossover point (yang menentukan berapa banyak segmen yang dipertukarkan) telah ditentukan pada one point atau two point. (Holland, 1975).

Dalam beberapa penelitian yang telah dilakukan oleh peneliti yang dituliskan dalam jurnal atau karya ilmiah tentang penggunaan

Walaupun telah banyak penelitian yang dilakukan dalam penyelesaian traveling salesman problem menggunakan partially mapped crossover algoritma genetika, namun penentuan crossover point dalam partially mapped crossover belum pernah diketahui pada berapa probabilitas crossover yang paling optimal. Oleh karenanya perlu dilakukan penelitian yang mendalam untuk mencari probabilitas crossover tersebut.

algoritma genetika yang telah dilakukan antara lain : Hannawati et.al (2002), memaparkan tentang pengunaan algoritma genetika dalam menyelesaikan masalah optimasi yang kompleks dalam mencari rute paling optimum dari titik asal ke titik tujuan. Ada dua jenis crossover yang dipergunakan yaitu one cut point crossover dan two cut point crossover. Sarwadi et.al (2004), penerapan algoritma genetika pada penyelesaian masalah vehicle routing problem. Proses crossover point yang dipergunakan adalah Order Crossover (OX). Samuel Lukas et.al (2005), penerapan Algoritma Genetika untuk travelling salesman problem dengan menggunakan metode order crossover dan insertion mutation, Buthainah Fahran Al-Dulaimi, et.al (2008), penyelesaian travelling salesman problem dengan membandingkan antara partially mapped crossover (PMX), Order Crossover (OX), Cycle Crossover (CX) dengan menggunakan 1%, 30%, 70% dan 100%. Naef Taher Al Rahedi, et.al (2009), penerapan algoritma genetika pada penyelesaian traveling salesman problem dengan menggunakan New Crossover Operator dan menggunakan kromosom Upper Triangle Matrix.


(21)

1.2. Perumusan Masalah

Beberapa proses crossover point yang sering dipergunakan pada penelitian-penelitian sebelumnya menunjukkan bahwa proses penentuan crossover point dilakukan dengan memilih salah satu atau dua proses crossover point. Pada penelitian ini, perumusan masalah adalah bagaimana pengaruh partially mapped crossover algoritma genetika dalam mencari rute optimal pada Travelling Salesman Problem.

1.3. Batasan Masalah

Agar permasalahan yang akan diteliti lebih terfokus kepada masalah penelitian yang akan diteliti, maka penulis membuat beberapa batasan masalah antara lain yaitu :

1. Data pengujian menggunakan dua sampel data yaitu att48.tsp dan bays29.tp yang diperoleh dari TSPLIB, http://www.iwr.uni-heidelberg.de/iwr/comopt/software/TSPLIB95/

2. Probabilitas crossover yang digunakan adalah 20%, 40%, 60%, 80%, dan 99%.

3. Probabilitas mutasi ditetapkan 5%

4. Jumlah Generasi ditetapkan sebesar 10000 generasi

1.4. Tujuan Penelitian

Berdasarkan uraian pada latar belakang masalah dan perumusan masalah, maka tujuan yang ingin dicapai dalam penelitian ini adalah :

1. Untuk membuktikan bahwa penentuan crossover point menggunakan Partially Mapped Crossover (PMX) dapat digunakan untuk menyelesaikan travelling salesman problem.


(22)

2. Untuk mendapatkan best fitness yang diselesaikan dengan menggunakan Partially Mapped Crossover pada travelling salesman problem.

3. Untuk mencari pengaruh nilai probabilitas crossover dalam mendapatkan jarak yang optimal pada penyelesaian travelling salesman problem.

1.5. Manfaat Penelitian

Dari penelitian ini diharapkan bermanfaat untuk digunakan sebagai berikut : 1. Dapat menjadi acuan dalam hal pencarian best fitness dalam

penyelesaian travelling salesman problem.

2. Sumbangan pemikiran bagi berbagai pihak yang berminat dan ingin melakukan penelitian yang lebih lanjut mengenai travelling sales problem.

3. Dapat memberikan informasi tentang penggunaan Partially Mapped Crossover (PMX) dalam penyelesaian travelling salesman problem.


(23)

BAB II

TINJAUAN PUSTAKA

2.1. Pendahuluan

Pada bab ini akan dibahas tentang travelling salesman problem (TSP), metode-metode yang digunakan dalam penyelesaian TSP. Khusus penggunaan metode-metode algoritma genetika akan dipaparkan secara teoritis mengenai tahap-tahap yang dilakukan dalam penggunaan metode algoritma mulai dari representasi kromosom, fungsi fitness, seleksi, crossover, mutasi.

2.2. Travelling Salesman Problem (TSP)

Travelling Salesman Problem (TSP) merupakan sebuah permasalahan optimasi yang dapat diterapkan pada berbagai kegiatan seperti routing. Masalah optimasi TSP terkenal dan telah menjadi standar untuk mencoba algoritma yang komputational. Pokok permasalahan dari TSP adalah seorang salesman harus mengunjungi sejumlah kota yang diketahui jaraknya satu dengan yang lainnya.

Menurut Arora (2000), pada traveling Salesman Problem (TSP) kita diberikan n buah simpul dan untuk setiap pair { i, j}, sebuah jarak dij. Kita

menginginkan sebuah path tertutup yang mengunjungi setiap simpul tepat sekali dan mencari biaya minimum, yang merupakan penjumlahan dari jarak-jarak yang ada pada path tersebut.

2.2.1. Sejarah Permasalahan TSP

Permasalahan matematika tentang Traveling Salesman Problem dikemukakan pada tahun 1800 oleh matematikawan Irlandia William Rowan Hamilton dan matematikawan Inggris Thomas Penyngton.


(24)

Bentuk umum dari TSP pertama dipelajari oleh para matematikawan mulai tahun 1930. Diawali oleh Karl Menger di Vienna dan Harvard. Setelah itu permasalahan TSP dipublikasikan oleh Hassler Whitney dan Merrill Flood di Princeton. Penelitian secara detail dari hubungan antara Menger dan Whitney, dan perkembangan TSP sebagai sebuah topik studi dapat ditemukan di makalah Alexander Schrijver’s “On the history of combinatorial optimization (till 1960)

2.2.2. Perkembangan Pemecahan TSP

Untuk menilai apakah kita melakukan perkembangan dalam menyelesaikan permasalahan TSP, kita pasti menilai dari jumlah waktu yang makin berkurang. Misal kita memiliki metode baru A yang lebih cepat menyelesaikan permasalahan TSP dibanding metode B, kita akan menilai bahwa kita telah menemukan solusi lebih baik. Tetapi masalah perangkingan untuk metode ini akan sangat sulit dilakukan, karena metode-metode yang sangat berkaitan erat satu sama lain tidak dapat dinilai hanya melalui perbandingan yang sederhana (permasalahan-permasalahan TSP yang ringan).

Oleh karena itu, untuk memutuskan apakah metode A lebih baik dibandingkan metode B, Kita harus mengesampingkan hasil dari contoh-contoh kasus yang sederhana dan dapat diselesaikan oleh hampir semua metode pemecahan permasalahan TSP. Saat ini kita seharusnya berkonsentrasi pada permasalahan-permasalahan yang benar-benar sulit yang sangat sulit terpecahkan sampai saat ini. Dari permasalahan-permasalahan yang sangat sulit ini, kita gunakan metode A dan metode B untuk menyelesaikannya. Setelah itu kita dapat memutuskan metode A lebih baik dari metode B jika untuk setiap permasalahan n-kota dengan n bilangan yang besar, metode A lebih cepat dalam menyelesaikan permasalahan dibanding metode B.

Agar perbandingan metode-metode TSP ini dapat diaplikasikan, kita dapat menganalisis solusi-solusi dari sebuah metode dan menjamin bahwa setiap n akan memakan sejumlah waktu f(n). Jadi f(n) fungsi waktu dari sebuah metode terhadap jumlah kota (n). Untuk membandingkan dua buah metode, kita cukup


(25)

membandingkan fungsi f(n) dari masing-masing metode. Hal ini tentu saja dapat menghasilkan perhitungan yang salah ketika ada metode yang baik tapi dianalisis dengan buruk sehingga menghasilkan f(n) yang buruk. Dalam banyak permasalahan komputasional, studi tentang algoritma+fungsi telah menghasilkan solusi matematika yang sangat bagus, yang penting dalam pengembangan untuk penyelesaian permasalahan praktis. Hal ini telah menjadi subjek studi yang utama dalam sains komputer.

Untuk setiap permasalahan TSP akan sangat mudah kita katakan bahwa fungsi f(n)-nya adalah (n-1)!=n-1 x n-2 x n-3 x ...x 3 x 2 x 1 dan jumlah jalur yang mungkin terjadi adalah (n-1)!/2. Hasil yang lebih baik ditemukan pada tahun 1962 oleh Michael Held dan Richard Karp, yang menemukan algoritma dan fungsi yang mempunyai proporsi n22n, yaitu n x n x2 x 2 x … x 2, dimana ada sebanyak n perkalian dua. Untuk setiap n bernilai besar, fungsi f(n) Held-Karp akan selalu lebih kecil dibandingkan (n-1)!.

Untuk setiap orang yang tertarik untuk menyelesaikan permasalahan TSP dalam jumlah besar, ada sebuah berita buruk bahwa selama 43 tahun sejak Held dan Karp menemukan fungsi f(n)= n22n ternyata tidak ditemukan fungsi f(n) yang lebih baik lagi. Hal ini tentu saja sangat mengecewakan karena dengan n=30 fungsi f(n) Held-Karp menghasilkan nilai yang sangat besar, dan untuk n=100 merupakan sesuatu yang mustahil untuk diselesaikan oleh kemampuan komputer saat ini.

Perkembangan fungsi f(n) dalam TSP yang sangat lambat ini mungkin memang tidak dapat kita hindari; dengan komputer saat ini bisa jadi memang tidak ada metode yang menghasilkan f(n) yang mempunyai performansi yang baik, misal nc dimana c adalah sebuah angka konstanta, oleh karena itu, n x n x n x … x n dimana n muncul sebanyak c kali.

TSP secara sederhana dapat didefinisikan sebagai proses pencarian lintasan terefisien dan terpendek dari beberapa kota yang dipresentasikan, melewati setiap kota tersebut dan kembali ke kota awal. Setiap kota hanya bisa sekali disinggahi. Persoalan yang dihadapi TSP ialah bagaimana merencanakan total jarak yang


(26)

minimum. Untuk menyelesaikan persoalan tersebut, tidak mudah dilakukan karena terdapat ruang pencarian dari sekumpulan permutasi sejumlah kota. Maka TSP kemudian dikenal dengan persoalan Non Polinomial. Gambaran sederhana dari pengertian TSP adalah sebagai berikut:

Gambar 2.1. Posisi kota-kota yang akan dilewati

Kota-kota pada gambar 1., masing-masing mempunyai koordinat (x,y), sehingga jarak antar kedua kota dapat dihitung dengan rumus:

(

) (

)

2

2 1 2 2 1

12

x

x

y

y

d

=

+

... (2.1) Setelah jarak-jarak yang menghubungkan tiap kota diketahui, maka dicari rute terpendek dari jalur yang akan dilewati untuk kembali ke kota awal.

Gambar 2.2. Rute optimal yang telah dicari

Pencarian Lintasan Terpendek dapat dinyatakan dengan persamaan:

∑∑

− −

n

k n

m m k

d

Min

1 1


(27)

2.3. Metode-metode Penyelesaian TSP

Banyak metode yang dapat dipakai untuk menyelesaikan TSP antara lain : Greedy Heuristic, Ant Colony System, Simulated Annealing, Tabu Search. Metode lain yang dapat dipakai untuk menyelesaikan TSP adalah algoritma genetik. Algoritma genetik merupakan sebuah algoritma yang meniru cara kerja proses genetika pada makhluk hidup, dimana terdapat proses seleksi, rekombinasi dan mutasi untuk mendapatkan kromosom terbaik pada suatu generasi

2.3.1. Metode Aproksimasi (Greedy Heuristic)

Pada algoritma ini, pemilihan lintasan akan dimulai pada lintasan yang memiliki nilai paling minimum, setiap mencapai suatu kota, algoritma ini akan memilih kota selanjutnya yang belum dikunjungi dan memiliki jarak yang paling minimum. Algoritma ini disebut juga Nearest Neighbour.

Kompleksitas algoritma ini memang sangat mengagumkan yaitu O(n), tetapi hasil yang kita dapat bisa sangat jauh dari hasil yang optimal, semakin banyak kota semakin besar pula perbedaan hasil yang dicapai. Misalnya untuk contoh kasus yang sama dengan algoritma Branch and Bound sebelumnya yang menghasilkan nilai 15, maka algoritma ini menghasilkan nilai 18 berbeda sebesar 20% dari hasil sebelumnya padahal jumlah kota hanya 5 buah.

2.3.2. Metode Heuristic

Teknik ini digunakan untuk mencari jawaban dari masalah kombinatorial dengan secepat mungkin. Algoritma tradisional akan gagal ketika menghadapi permasalahan yang sangat rumit, seperti permasalahan TSP dengan jumlah kota (n) yang sangat besar.

Metode Heuristic memberikan pendekatan untuk menyelesaikan permasalahan optimasi kombinatorial. Optimasi kombinatorial akan memberi kita hasil yang mungkin dan mencari yang hasil yang mendekati optimal dari hasil-hasil tersebut. Tetapi mungkin memang tidak ada metode Heuristik yang menghasilkan solusi yang merupakan solusi optimal. Metode Heuristik seperti


(28)

simulated annealing, algoritma genetika, tabu search, ant colony system mengusahakan suatu cara untuk mencari hasil yang baik tapi bukan yang terbaik.

2.4. Algoritma Genetik

Algoritma genetik pertama kali diperkenalkan oleh John Holland dalam bukunya yang berjudul “Adaption in natural and artificial systems”, dan oleh De Jong dalam bukunya “Adaption of the behavior of a class of genetic adaptive systems”, yang keduanya diterbitkan pada tahun 1975, yang merupakan dasar dari algoritma genetik (Davis, 1991).

Teori Holland menerangkan suatu metode untuk mengklasifikasikan obyek-obyek, kemudian secara selektif mengawinkan obyek-obyek tersebut satu sama lain untuk menghasilkan obyek baru untuk kemudian diklasifikasikan lagi. Hal ini didasarkan atas kreasi untuk tujuan memodelkan teori seleksi natural Darwin dari suatu bentuk makhluk hidup.

Algoritma genetik merupakan teknik pencarian yang didasarkan atas mekanisme seleksi dan genetik natural. Algoritma genetik berbeda dengan tehnik pencarian konvensional, dimana pada algoritma genetik kondisi diawali dengan setting awal solusi acak yang disebut populasi. Tiap individu dalam populasi disebut kromosom, yang merepresentasikan suatu solusi atas permasalahan. Kromosom adalah suatu string simbol, yang umumnya merupakan string bit biner. Kromosom berevolusi melalui iterasi berkelanjutan, yang disebut generasi. Pada setiap generasi, kromosom dievaluasi berdasarkan suatu fungsi evaluasi (Gen M. et.all, 1997). Untuk menghasilkan generasi berikutnya, kromosom baru yang disebut offspring, dibentuk baik melalui penyatuan dua kromosom dari generasi awal menggunakan operator perkawinan silang (crossover) atau memodifikasi kromosom menggunakan operator mutasi (mutation). Suatu generasi baru dibentuk melalui proses seleksi beberapa induk (parents) dan anak (offspring), sesuai dengan nilai fitness, dan melalui eliminasi kromosom lainnya agar ukuran populasi tetap konstan. Kromosom yang sesuai memiliki kemungkinan tertinggi untuk dipilih. Setelah beberapa generasi, algoritma menghasilkan kromosom-kromosom terbaik yang diharapkan mewakili solusi optimal atau suboptimal atas


(29)

permasalahan. Bila P(t) dan C(t) masing-masing merupakan parents dan offspring pada suatu generasi t, struktur umum algoritma genetik dapat dijelaskan sebagai berikut:

Procedure: Genetic Algorithm begin

t 0;

initialize P(t); evaluate P(t);

while (not termination condition) do

recombine P(t) to yield C(t); evaluate C(t);

select P(t + ) from P(t) and C(t); t t + 1;

end end

Struktur algoritma tersebut merupakan versi modifikasi dari Grefenstette dan Baker (1989). Umumnya, inisialisasi diasumsikan acak (random). Rekombinasi umumnya melibatkan crossover dan mutation untuk menghasilkan offspring. Sesungguhnya hanya ada dua macam operasi dalam algoritma genetik, yaitu:

1. Operasi genetik: crossover dan mutasi. 2. Operasi evolusi: selection.

Operasi genetik mencerminkan proses hereditas gen untuk menciptakan offspring baru pada tiap generasi. Operasi evolusi mencerminkan proses evolusi Darwin untuk menghasilkan populasi dari generasi ke generasi. Crossover merupakan operator genetik utama, yang dioperasikan pada dua kromosom pada suatu waktu dan menghasilkan offspring dengan mengkombinasikan pola-pola kedua kromosom. Cara termudah untuk melakukan crossover adalah dengan pemilihan cut-point secara acak dan membentuk offspring dengan mengkombinasikan segmen sebelah kiri dari cut-point salah satu parent dengan segmen sebelah kanan dari cut-point parent lainnya. Metode ini berjalan baik pada


(30)

representasi bit string. Kinerja algoritma genetik tergantung atas kinerja operator crossover yang digunakan.

Gambar 2.3. Struktur Utama Algoritma Genetik Sumber: (Gen M. et.all, 1997).

Probabilitas crossover (pc) didefinisikan sebagai rasio jumlah offspring

yang dihasillkan dalam tiap generasi atas ukuran populasi (pop_size). Rasio ini mengendalikan jumlah pc x pop_size yang diharapkan dari kromosom untuk

menjalankan operasi crossover. Tingkat crossover yang tinggi memperbolehkan 1100101010

1011101110 0011011001 1100110001

110010 1010 101110 1110

110010 1110 101110 1010

00110 1 1001

00110 0 1001

110010 1110 101110 1010 00110 01001 Fitness computation decoding solutions offspring evaluation crossover mutation selection Roulette wheel chromosome s encoding solutions New population


(31)

eksplorasi solusi lebih luas dan mengurangi kemungkinan menghasilkan kesalahan optimasi, tetapi apabila tingkat rasio terlalu tinggi, maka akan menghasilkan pemborosan waktu komputasi atas eksplorasi kondisi-kondisi ketidakpastian terhadap solusi permasalahan.

2.4.1. Encoding Kromosom

Langkah awal untuk mengimplementasikan suatu program komputer seringkali adalah pemilihan tipe data. Hal inilah yang merupakan variasi perbedaan awal antara teori asli Holland dan beberapa teori alternatif algoritma genetik lainnya yang kemudian muncul.

Holland meng-encoding kromosom ke dalam suatu string digit biner. Sejumlah operasi encoding biner digunakan untuk menghasilkan algoritma genetik yang sederhana, efektif dan sesuai. Akan tetapi ada banyak cara untuk merepresentasikan gen suatu obyek, yang masing-masing memiliki keuntungan implisit tersendiri (Davis, 1991).

Agar dapat merepresentasikan suatu problem ke dalam bentuk gen, substansi-substansi solusi harus direpresentasikan sebagai suatu kumpulan unit informasi (Davis, 1991).

2.4.2. Encoding dan Decoding

Pada aturan algoritma genetik, kumpulan gen yang diencoding disebut dengan genotype, sedangkan data aktual yang diencoding disebut dengan phenotype (Gen M. et.all, 1997). Apakah phenotype diencoding untuk membentuk suatu genotype atau genotype didecoding untuk membentuk suatu phenotype, hanyalah menyangkut perbedaan penafsiran dalam literatur (Heitkoetter, 1993). Pada banyak kasus, nilai aktual tiap gen disebut dengan allele (Gen M. et.all, 1997). Menurut realitasnya, gen dari makhluk hidup disimpan berpasangan dan tiap induk hanya memunculkan satu gen untuk tiap pasangan (Sherwod, 1993). Hal ini berbeda dengan algoritma genetik, dimana gen tidak disimpan berpasangan, tetapi baik pada algoritma genetik dan bentuk nyata biologis, hanya sebagian gen induk yang diwariskan pada anak (offspring) (Davis, 1991).


(32)

2.4.3. Ukuran Populasi

Langkah awal pada algoritma genetik adalah menginisialisasi keseluruhan populasi kromosom. Jumlah populasi ini harus ditentukan, tergantung pada teknik komputasi yang tersedia, perbedaan ukuran akan menghasilkan hasil optimal. Apabila ukuran populasi yang dipilih terlalu kecil, maka tingkat eksplorasi atas ruang pencarian global akan terbatas, walaupun arah menuju konvergensi lebih cepat. Apabila ukuran populasi terlalu besar, maka waktu akan banyak terbuang karena berkaitan dengan besarnya jumlah data yang dibutuhkan dan waktu ke arah konvergensi akan lebih lama (Goldberg, 1989).

2.4.4. Evaluasi Kromosom

Populasi yang acak hampir selalu tidak sesuai (Davis, 1991). Untuk dapat menentukan yang mana yang lebih tepat, tiap obyek harus dievaluasi. Untuk mengevaluasi obyek, beberapa pengetahuan tentang lingkungan kerjanya harus diketahui supaya dapat tetap survive. Lingkungan ini diencoding secara parsial (atau secara parsial didecoding) untuk menyesuaikan dengan deskripsi permasalahan (Gen M. et.all, 1997).

2.4.5. Insialisasi Populasi

Terdapat dua teknik umum untuk inisialisasi suatu populasi. Populasi obyek (keseluruhan informasi genetik tentang obyek dalam koloni) dapat diambil dari secondary storage. Data ini akan merupakan titik awal bagi evolusi yang terarah. Secara umum algoritma genetik dapat diawali dengan populasi acak. Hal ini merupakan ukuran penuh populasi obyek dimana operasi genetik ditentukan dengan proses acak (Davis, 1991).


(33)

2.4.6. Metode Seleksi Untuk Kepunahan atau Kelahiran

Seleksi bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. (Kusumadewi, 2005)

Apabila populasi awal obyek telah dibentuk, dimana masing-masing diukur oleh fitness (atau biaya), maka dapat ditemukan nilai fitness keseluruhan. Apabila nilai fitness keseluruhan tidak setinggi yang diharapkan, sebagian obyek dalam populasi dapat diseleksi untuk dieliminasi (punah). Hal ini berkaitan berkaitan operator seleksi natural elitist (elitist natural selection) (Davis, 1991).

Pada awal munculnya algoritma genetik, digunakan strategi penggantian untuk mempertahankan jumlah populasi tetap dengan menggantikan dua induk dengan dua offspring pada tiap generasi. Setelah itu strategi “crowding” dikembangkan dimana pada metode ini, satu offspring menggantikan induknya yang memiliki banyak kesamaan. Hal ini membutuhkan perbandingan gen per gen anak dengan tiap induknya, dan kondisi semacam ini membutuhkan perhitungan komputasi yang cukup rumit (Gen M. et.all, 1997).

Tournament selection merupakan teknik lain untuk menentukan obyek mana yang akan dieliminasi. Pada metode ini, dua obyek dipilih dan diadu, pemenangnya akan melakukan reproduksi dan yang kalah akan punah (Rich, 1995). Hal ini meniru perilaku yang terjadi pada populasi rusa dalam jumlah besar dan kadang-kadang juga terjadi di antara manusia.

Banyaknya obyek yang akan dieliminasi pada tiap generasi merupakan suatu hal yang harus benar-benar diperhatikan. Proporsi terminasi prematur dalam populasi menciptakan apa yang dinamakan dengan tekanan seleksi. Misalnya, pada kejadian nyata peristiwa seperti wabah, perang, banjir, jaman es merepresentasikan periode dimana tekanan seleksi cukup tinggi, yang tingkat tekanannya berbeda pada tiap kasus.

Pada perkembangan teori algoritma genetik, metode seleksi obyek untuk melahirkan diatur dengan cara yang berbeda. Model dasar dari Holland mengunakan metode dimana yang paling sehat yang akan dipilih untuk melahirkan. Metode lain melakukan pilihan pada dua obyek secara acak untuk melahirkan. Kelahiran yang selektif dapat digunakan secara terpadu dengan atau


(34)

tanpa operator elitist natural selection untuk melakukan evolusi (Gen M. et.all, 1997).

Pada populasi yang memiliki tingkat evolusi yang cukup tinggi, proses spesialisasi akan terjadi. Kondisi terjadinya intra-mating dari beberapa grup (spesies) menghasilkan offspring dengan nilai fitness tinggi dalam spesies, sedangkan perkawinan anggota spesies dengan anggota populasi yang bukan dalam spesies akan menghasilkan offspring dengan nilai fitness yang sangat rendah, yang disebut “lethals”. Lethal jarang bisa survive pada generasi selanjutnya (Heitkoetter, 1993).

Tujuan kelahiran selektif adalah menghasilkan kromosom dengan nilai fitness tinggi (Gen M. et.all, 1997) dan untuk menghindari kelebihan produksi lethal (Heitkoetter, 1993).

Beberapa metode seleksi dari induk, antara lain : 1. Rank Based Fitness Assignment

2. Roulette Wheel Selection 3. Stochastic Universal Sampling 4. Local Selection

5. Trunction Selection 6. Tournament Selection.

Roulettte Wheel Selection

Metode seleksi dengan mesin roulette ini merupakan metode yang paling sederhana. Seleksi ini sering dikenal dengan nama stochastic sampling with replacement Seleksi ini bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang memiliki fitness tinggi untuk melakukan reproduksi.

Algoritma dari seleksi roulette wheel :

1. Dihitung nilai fitness masing-masing individu (fi

2. Dihitung total fitness semua individu

, dimana i adalah individu ke 1 s/d ke-n


(35)

4. Dari fitness relatif tersebut, dihitung fitness kumulatifnya. 5. Dibangkitkan nilai random

6. Dari bilangan random yang dihasilkan, ditentukan individu mana yang terpilih dalam proses seleksi

2.4.7. Crossover

Apabila induk telah dipilih, maka kelahiran dapat terjadi. Bagi tiap gen dalam kromosom obyek baru dihasilkan dari seleksi allele baik dari ibu atau bapak. Proses mengkombinasikan gen dapat dilakukan dengan beberapa cara. Metode paling sederhana disebut dengan single point crossover (Gen M. et.all, 1997; Davis, 1991). Metode ini dapat didemonstrasikan dengan jelas menggunakan gen yang diencoding dalam biner, walaupun begitu nantinya dapat ditranslasikan ke bentuk representasi gen manapun (Davis, 1991).

Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya.

Beberapa jenis crossover tersebut adalah: 1. Crossover 1-titik

Pada crossover dilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama. Proses yang demikian dinamakan operator crossover satu titik.

Induk 1: 11001 | 010 Induk 2: 00100 | 111 Diperoleh :

Anak 1: 11001 | 111 Anak 2: 00100 | 010

2. Crossover 2-titik

Proses crossover ini dilakukan dengan memilih dua titik crossover.


(36)

sampai titik crossover pertama disalin dari orangtua pertama, bagian dari titik crossover pertama dan kedua disalin dari orangtua kedua, kemudian selebihnya disalin dari orangtua pertama lagi.

Induk 1: 110 | 010 | 10 Induk 2: 001 | 001 | 11 Diperoleh :

Anak 1 : 110 | 001 | 10 Anak 2 : 001 | 010 | 11

3. Crossover seragam (uniform)

Crossover seragam manghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orangtuanya.

Induk 1: 11001010

Induk 2: 00100111

Diperoleh : Anak 1: Anak 2:

4. Partial Mapped Crossover (PMX).

PMX diciptakan oleh Goldberg dan Lingle. PMX merupakan rumusan modifikasi dari pindah silang dua-poin. Hal yang penting dari PMX adalah pindah silang dua poin ditambah dengan beberapa prosedur tambahan.

Pilih posisi untuk menentukan substring secara acak Induk 1 : 1 2 3 | 4 5 6 | 7 8

Induk 2 : 3 7 5 | 1 6 8 | 2 4 Diperoleh :

Anak 1 : 4 2 3 | 1 6 8 | 7 5 Anak 2 : 3 7 8 | 4 5 6 | 2 1


(37)

Gambar 2.4. Pemetaan PMX Sumber (Larranaga P. et.all, 1999)

Proses crossover dapat dilakukan dengan lebih dari satu crossover point (Gen M. et.all, 1997). Sesungguhnya, tiap titik dapat dipilih bagi crossover apabila kondisi tersebut lebih baik (Heitkoetter, 1993). Salah satu metode crossover yang seringkali digunakan dalam sistem multi-objective, adalah unity based crossover (Heitkoetter, 1993). Pada metode ini, tiap gen memiliki probabilitas yang sama muncul dari induk manapun, mungkin ada crossover point yang diletakkan di belakang pada tiap gen atau gen manapun (Heitkoettr, 1993).

2.4.8. Mutasi

Setelah crossover dilakukan dan sebelum anak dilepaskan ke rimba belantara, ada kemungkinan terjadinya mutasi. Kemungkinan terjadinya mutasi ini diukur dengan tingkat mutasi. Nilainya biasanya cukup rendah (Davis, 1991). Tujuan adanya mutasi adalah menghasilkan noise, pada khususnya allele baru ke dalam populasi. Hal ini berguna untuk menghindari nilai minimum, juga membantu dalam eksplorasi wilayah baru pada ruang solusi multi dimensi (Gen M. et.all, 1997). Apabila tingkat mutasi yang terlalu tinggi, dapat menyebabkan gen yang dilahirkan dengan sempurna akan hilang dan oleh karena itu memperendah eksploitasi wilayah nilai fitness tinggi atas solusi. Beberapa sistem tidak menggunakan operator mutasi sama sekali (Heitkoetter, 1993). Sebaliknya, mereka mengandalkan populasi acak yang penuh perbedaan yang dihasilkan atas


(38)

inisialisasi untuk menyediakan gen yang cukup dimana rekombinasi itu sendiri akan menghasilkan pencarian yang efektif (Heitkoetter, 1993).

Saat gen telah dipilih untuk bermutasi, mutasi tersebut dapat mengambil berbagai macam bentuk (Davis, 1991), hal ini tergantung atas implementasi algoritma genetik.

2.4.8.1. Mutasi Bilangan Real

Pada mutasi bilangan real, ukuran langkah mutasi biasanya sangat sulit ditentukan. Ukuran yang kecil biasanya sering mengalami kesuksesan, namun adakalanya ukuran yang lebih besar akan berjalan lebih cepat.

Operator mutasi untuk bilangan real dapat ditetapkan sebagai :

1. Variabel yang dimutasi = variabel ± range * delta; (+ atau – memiliki probabilitas yang sama.

2. range = 0.5 * domain variabel; (interval pencarian)

3. delta = Σ ( ai * 2-i); ai = 1 dengan probabilitas 1/m, selain itu ai = 0 dengan

m = 20.

2.4.8.2. Mutasi Biner

Mutasi biner memiliki prosedur yang mirip dengan mutasi bilangan real. Cara sederhana untuk mendapatkan mutasi biner adalah dengan mengganti satu atau beberapa nilai gen dari kromosom. Langkah-langkah mutasi ini adalah :

1. Hitung jumlah gen pada populasi (panjang kromosom ini dikalikan dengan ukuran populasi.

2. Pilih secara random gen yang akan dimutasi

3. Tentukan kromosom dari gen yang terpilih untuk dimutasi

4. Ganti nilai gen (n ke m, atau m ke n) dari kromosom yang akan dimutasi tersebut.

Posisi mutasi : ke-2 dan ke-6 Kromosom terpilih : 1 2 3 4 5 6 Hasil Mutasi : 1 6 3 4 5 2


(39)

2.4.9. Parameter Genetik

Pengoperasian algoritma genetik dibutuhkan 4 parameter (Juniawati, 2003) yaitu: 1. Probabilitas Persilangan (Crossover Probability)

Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom orangtua, tetapi tidak berarti generasi yang baru akan sama persis dengan generasi yang lama. Jika probabilitas crossover 100% maka semua keturunannya dihasilkan dari crossover. Crossover dilakukan dengan harapan bahwa kromosom yang baru akan lebih baik.

2. Probabilitas Mutasi (Mutation Probability)

Menunjukkan kemungkinan mutasi terjadi pada gen-gen yag menyusun sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang dihasilkan setelah crossover tidak berubah. Jika terjadi mutasi bagian kromosom akan berubah. Jika probabilitas 100%, semua kromosom dimutasi. Jika probabilitasnya 0%, tidak ada yang mengalami mutasi.

3. Jumlah Individu

Menunjukkan jumlah kromosom yang terdapat dalam populasi (dalam satu generasi). Jika hanya sedikit kromosom dalam populasi maka algoritma genetik akan mempunyai sedikit variasi kemungkinan untuk melakukan crossover antara orangtua karena hanya sebagian kecil dari search space yang dipakai. Sebaliknya jika terlalu banyak maka algoritma genetik akan berjalan lambat.

4. Jumlah Populasi

Menentukan jumlah populasi atau banyaknya generasi yang dihasilkan, digunakan sebagai batas akhir proses seleksi, persilangan dan mutasi.

2.5. Riset-riset Terkait

Beberapa riset-riset terkait yang telah diteliti oleh peneliti sebelumnya yang berkaitan dengan penelitian ini adalah sebagai berikut :

Aulia Fitrah et.al (2006), dalam risetnya menjelaskan bahwa Persoalan pedagang keliling (TSP) dapat diselesaikan dengan menggunakan algoritma genetika. Walaupun solusi TSP yang dihasilkan oleh algoritma ini belum tentu


(40)

merupakan solusi paling optimal (misalnya apabila yang dilalui sangat banyak), namun algoritma genetika akan menghasilkan solusi yang lebih optimal pada setiap generasinya. Hal tersebut terlihat dari nilai fitness tiap generasi. Crossover yang digunakan adalah order crossover dengan probabilty crossover sebesar 50%.

Buthainah Fahran Al-Dulaimi, et.al (2008), penyelesaian traveling salesman problem dengan membandingkan antara partially mapped crossover (PMX), Order Crossover (OX), Cycle Crossover (CX) dengan menggunakan mutasi 1%, 30%, 70% dan 100%.

Samuel Lukas et.al (2005), penerapan algoritma genetika untuk travelling salesman problem dengan menggunakan metode order crossover dan insertion mutation.


(41)

BAB III

METODE PENELITIAN

3.1. Pendahuluan

Pada bab ini akan dibahas tentang data yang digunakan, rancangan penelitian, serta metode penelitian berupa langkah-langkah yang dilakukan dalam algoritma genetika dengan penerapan partially mapped crossover (PMX) dengan probabilitas point dengan menggunakan sampel data.

Penelitian ini bersifat literature dan waktu penelitian ini dilakukan mulai bulan Februari 2011.

3.2. Data

Data yang dipergunakan dalam tesis ini diambil dari TSPLIB. Data yang akan diujicoba adalah : att48.tsp, bays29.tsp.

Sebagai contoh ini dipergunakan 6 data kota dengan koordinat lokasi seperti pada tabel 3.1.

Tabel 3.1. Koordinat kota Kota ke- Koordinat

X

Koordinat y

1 10 0

2 30 0

3 15 20

4 25 20

5 10 30

6 30 30

Untuk menghitung jarak antar kota dipergunakan rumus Eucalidean yaitu :

(

) (

)

2

2 1 2 2 1

12

x

x

y

y


(42)

Untuk jarak 1 ke 2 : = (10−30)2 +(0−0)2 = (−20)2 = 400 = 20

Untuk jarak 1 ke 3 : = (10−15)2 +(0−20)2 = 20,6155 Untuk jarak 1 ke 4 : = (10−25)2 +(0−30)2 = 25

Untuk jarak 1 ke 5 : = (10−10)2 +(0−30)2 = 30

Untuk jarak 1 ke 6 : = (10−30)2 +(0−30)2 = 36.0555

Untuk jarak 2 ke 3 : = (30−15)2 +(0−20)2 = 25

Untuk jarak 2 ke 4 : = (30−25)2 +(0−20)2 = 20.6155

Untuk jarak 2 ke 5 : = (30−10)2 +(0−30)2 = 36.0555

Untuk jarak 2 ke 6 : = (30−30)2 +(0−30)2 = 30

Untuk jarak 3 ke 4: = (15−25)2 +(20−20)2 = 10

Untuk jarak 3 ke 5: = (15−10)2 +(20−30)2 = 11.18

Untuk jarak 3 ke 6: = (15−30)2 +(20−30)2 = 18.027756

Untuk jarak 4 ke 5: = (25−10)2 +(20−30)2 = 18.027756

Untuk jarak 4 ke 6: = (25−30)2 +(20−30)2 = 11. 18

Untuk jarak 5 ke 6: = (10−30)2 +(30−30)2 = 20

Jarak antar kota seperti pada tabel 2:

Tabel 3.2. Jarak antar kota

0 20.00 20.62 25.00 30.00 36.06 20.00 0 25.00 20.62 36.06 30.00 20.62 25.00 0 10.00 11.18 18.03 25.00 20.62 10.00 0 18.03 11.18 30.00 36.06 11.18 18.03 0 20.00 36.06 30.00 18.03 11.18 20.00 0


(43)

3.3. Pelaksanaan Penelitian

Secara garis besar alur penelitian ini akan dilaksanakan berurutan dan sistematis. Semua hasil pengujian akan diolah dan dapat dibuat kesimpulan yang berupa jawaban dari tujuan penelitian. Diagram alir penelitian dapat dilihat pada gambar 3.1. :

Gambar 3.1. Diagram Alir Penelitian

Mulai

Seleksi Individu

Selesai Menghitung Nilai Fitness

Proses Crossover

Proses Mutasi

Keturunan terbaik ? Pengkodean Kromosom Dan Pembentukan Populasi awal

Ya Tidak

Jadikan Sebagai Populasi Baru

A

A

Generasi = 10000

Ya Output Rute Optimal

B

B

Tidak Input data:att48.tsp,


(44)

Tahapan-tahapan yang dilakukan dalam tesis ini terdiri dari: mendefenisikan individu, mendefenisikan nilai fitness, menentukan proses pembangkitan populasi awal, menentukan seleksi dan menentukan crossover serta mutasi gen. Dimana tahapan yang akan dilakukan, yaitu:

1. Mendefinisikan individu, dimana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat.

2. Mendefinisikan nilai fitness, yang merupakan ukuran baik tidaknya sebuah individu atau baik tidaknya solusi yang didapatkan.

3. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random.

4. Menentukan proses seleksi yang akan digunakan

5. Menentukan proses perkawinan silang (crossover) dan mutasi gen yang akan digunakan

6. Melakukan evaluasi.

3.3.1. Pendefenisian Individu

Pada pendefenisian individu yang akan dilakukan adalah teknik penyandian gen dan kromosom. Gen merupakan bagian dari kromosom. Satu gen diwakili oleh satu variabel. Gen direpresentasikan dalam bentuk long integer. Sebagai sample untuk 6 kota P = {1,2,3,4,5,6}

3.3.2. Populasi Awal

Pembangkitan populasi awal pada random genetor ini digunakan rumus : IPOP = round {random (Nipop, Nbits

Dimana :

) ... (3.1)

IPOP adalah gen yang nantinya berisi pembulatan dari bilangan random yang dibangkitkan sebanyak Nipop (jumlah populasi) x Nbits (jumlah gen pada tiap


(45)

Pada contoh berikut ini : ukuran populasi adalah 10 Proses pembentukan populasi awal

Kromosom Panjang Jalur Fitness Individu ke 1 : 5 6 3 2 4 1 109 0,009

Individu ke 2 : 5 2 4 3 1 6 123,34 0,008

Individu ke 3 : 3 4 2 1 5 6 100,62 0,010

Individu ke 4 : 1 4 6 5 3 2 92,36 0,011

Individu ke 5 : 5 2 6 4 3 1 107,85 0,009

Individu ke 6 : 5 6 3 1 4 2 104,26 0,010

Individu ke 7 : 6 1 2 5 4 3 120,14 0,008

Individu ke 8 : 3 4 5 1 6 2 124,08 0,008

Individu ke 9 : 6 4 2 3 1 5 107,41 0,009

Individu ke 10 : 4 3 6 1 2 5 120,14 0,008

3.3.3. Metode Seleksi

Metode seleksi yang dipergunakan dalam tesis ini adalah metode Roda Rollete. Sebelum dilakukan seleksi harus dihitung terlebih dahulu nilai fitness dari masing-masing kromosom. Persamaan untuk menghitung nilai fitness adalah :

Fitness = 1/TotalJarak ………... (3.2) Algoritma seleksi roda roullete :

1. Hitung Total Fitness

Total Fitness dihitung dengan menggunakan persamaan :

TotalFitness = Σ Fk ………... (3.3)

dimana: k = 1, 2, 3 .... , ukuran populasi

Total fitness dihitung dari penjumlahan nilai-nilai fitnes dari tiap-tiap individu.

TotalFitness = 0,009+0,008+0,010+0,011+0,009+0,010+0,008+0,008+0,009+0,008 = 0,900

2. Hitung fitness relatif tiap individu


(46)

Pk = Fk / TotalFitness ………... (3.4)

dimana: Pk

F

= fitness relatif tiap-tiap kromosom

k

7. Hitung fitness kumulatif = fitnes tiap kromosom

• q1 = p

• q

1 k = qk-1 + pk

Probabilitas fitness dari contoh data adalah : ; k = 2,3, ....popsize

pk qk 1 0,100 0,100 2 0,089 0,189 3 0,111 0,300 4 0,122 0,422 5 0,100 0,522 6 0,111 0,633 7 0,089 0,722 8 0,089 0,811 9 0,100 0,911 10 0,089 1,000

SELEKSI  Bilangan random : 1 0,942

2 0,800 3 0,282 4 0,098 5 0,480 6 0,442 7 0,646 8 0,622 9 0,093 10 0,011

Hasil seleksi :

Kromosom Fitness Ke - Individu ke 1 : 4 3 6 1 2 5 0,008 10


(47)

Individu ke 3 : 3 4 2 1 5 6 0,009 3

Individu ke 4 : 5 6 3 2 4 1 0,009 1

Individu ke 5 : 5 2 6 4 3 1 0,009 5

Individu ke 6 : 5 2 6 4 3 1 0,009 5

Individu ke 7 : 6 1 2 5 4 3 0,008 7

Individu ke 8 : 5 6 3 1 4 2 0,009 6

Individu ke 9 : 5 6 3 2 4 1 0,009 1

Individu ke 10 : 5 6 3 2 4 1 0,009 1

4. Pilih induk yang akan menjadi kandidat untuk di crossover dengan cara : * Bangkitkan bilangan random r

* Jika qk £ r dan qk+1 > r, maka pilih kromosom ke (k+1) sebagai kandidat induk

// Algorithm The Selection Process

begin

for each organism compute:

Euclidean distance; determine maximum Euclidean distance; fitness function; fitness summation; roulette selection probability; deterministic sampling probability

endfor

sort population on fitness value in a descending order; duplicate each organism exactly as deterministic sampling probability in mating pool;

counter=number of organisms in a mating pool; parent1_index = random(counter – 1)

parent2_index = random(counter – 1)

/ on condition that not selected before / start crossover process;

end

3.3.4. Crossover

Crossover dilakukan atas 2 kromosom induk untuk menghasilkan kromosom anak. Kromosom amak yang terbentuk akan mewarisi sebagian sifat induknya. Prosedur untuk memilih parent mana yang akan mengalami proses crossover :


(48)

2. Bangkitkan bilangan random 0 sampai 1 sebanyak i (jumlah chromosome dalam satu populasi).

3. Bandingkan bilangan random itu dengan probabilitas crossover (Pc).

4. Induk terpilih bila bilangan r yang ke-i kurang atau sama dengan probabilitas crossover (Pc).

5. Bila induk yang terpilih jumlahnya hanya satu maka proses ini diulang sampai jumlah induk lebih dari satu.

// Algoritma pseudo code Crossover

procedure Crossover (input populasi: integer, ρc: real)

{melakukan pemilihan induk pada proses crossover}

Deklarasi

k : integer

R[] : array of integer

function random (input a-b :integer): integer

{menghasilkan bilangan random bilangan a hingga b}

Algoritma

k= 0

While k <= populasi do

R[k] random(0-1)

if R[k] < ρc then pilih Kromosom[k][] sebagai induk

endif

k k+1

endwhile

Pada tesis ini crossover yang digunakan adalah Partially Mapped Crossover (PMX) dengan kromosom berbentuk long integer.

Prosedur PMX

Langkah 1 : Menentukan dua posisi kromosom pada aturan acak. Substring yang berada dalam dua posisi ini dinamakan daerah pemetaan

Langkah 2 : Menukar dua substring antara induk untuk menghasilkan protochildren. Langkah 3 : Menentukan hubungan pemetaan diantara dua daerah pemetaan


(49)

// Algoritma Pseudocode pada crossover PMX

SET offspring1 to kromosom1 SET offspring2 to kromosom1

SET Awal to random value range 0 to length SET Akhir to random value range 0 to length WHILE Awal = Akhir

SET Awal to random value range 0 to length SET Akhirto random value range 0 to length ENDWHILE

If Awal > Akhir

SWAP Awal with Akhir ENDIF

FOR i = awal to (akhir+1)

SET gen1 to the next gen on kromosom1 SET gen2 to the next gen on kromosom2 FOR j = 0 to length

IF offspring1[j] = gen2

SET offspring1[j] to offspring1[i] SET offspring1[i] to gen2

ENDIF

IF offspring1[j] = gen1

SET offspring2[j] to offspring2[i] SET offspring2[i] to gen1

ENDIF ENDFOR

ENDFOR

RETURN offspring

Crossover  Bilangan random 1 0.158

2 0.765 3 0.373 4 0.078 5 0.628 6 0.073 7 0.877 8 0.623 9 0.212 10 0.388


(50)

Parent:

Kromosom Fitness Ke - Individu ke 1 : 4 3 6 1 2 5 0,008 1

Individu ke 2 : 3 4 2 1 5 6 0,009 3

Individu ke 3 : 5 6 3 2 4 1 0,009 4

Individu ke 4 : 5 2 6 4 3 1 0,009 6

Individu ke 5 : 5 6 3 2 4 1 0,009 9

Individu ke 6 : 5 6 3 2 4 1 0,009 10

Posisi crossover ke-1 : 4 5 Kromosom anak (o1 & o3) : 3 4 1 5 2 6

3 6 1 2 5 4

Posisi crossover ke-3 : 4 5 Kromosom anak (o4 & o6) : 2 6 4 3 1 5

5 2 4 1 3 6

Posisi crossover ke-5 : 2 3 Kromosom anak (o9 & o10) : 5 6 3 2 4 1

5 6 3 2 4 1


(51)

Mutasi yang digunakan pada tesis ini adalah mutasi biner. Mutasi biner adalah mutasi yang dilakukan dengan mengganti satu atau beberapa nilai gen dalam kromosom. Langkah-langkah dalam menentukan mutasi adalah :

1. Hitung jumlah gen pada populasi (panjang kromosom ini dikalikan dengan ukuran populasi.

2. Pilih secara acak gen yang akan dimutasi

3. Tentukan kromosom dari gen yang terpilih untuk dimutasi

4. Ganti nilai gen (0 ke 1, atau 1 ke 0) dari kromosom yang akan dimutasi tersebut.

Mutasi yang diperoleh :

Mutasi  Bilangan random : 1 0.259

2 0.481 3 0.917 4 0.780 5 0.244 6 0.825 7 0.298 8 0.024 9 0.324 10 0.565

Kromosom kena mutasi : Posisi mutasi ke-1 : 5 6

Posisi mutasi ke-1 : 6 1 2 5 3 4

Penggantian kromosom  bilangan random: 1 0.623

2 0.936 3 0.904 4 0.796 5 0.342 6 0.253 7 0.510 8 0.426


(52)

9 0.313 10 0.871

Kromosom diganti:- Kromosom pengganti :-

Hasil populasi akhir :

Kromosom Fitness Individu ke 1 : 3 4 1 5 2 6 0,008

Individu ke 2 : 6 4 2 3 1 5 0,008

Individu ke 3 : 3 6 1 2 5 4 0,009

Individu ke 4 : 2 6 4 3 1 5 0,009

Individu ke 5 : 5 2 6 4 3 1 0,009

Individu ke 6 : 5 2 4 1 3 6 0,009

Individu ke 7 : 6 1 2 5 4 3 0,008

Individu ke 8 : 6 1 2 5 3 4 0,009

Individu ke 9 : 5 6 3 2 4 1 0,009

Individu ke 10 : 5 6 3 2 4 1 0,009

3.4. Variabel yang diamati

Variabel yang diamati dalam penelitian ini adalah nilai fitness, kromosom anak hasil crossover PMX, nilai mutasi.

Secara keseluruhan variabel yang diamati pada tesis ini adalah :

1. Fungsi fitness (fungsi tujuan) yang dimiliki oleh masing-masing individu untuk menentukan tingkat kesesuaian individu tersebut dengan kriteria yang ingin dicapai.

2. Populasi jumlah individu yang dilibatkan pada setiap generasi. 3. Probabilitas terjadinya persilangan (crossover) pada suatu generasi. 4. Probabilitas terjadinya mutasi pada setiap individu.


(53)

(54)

BAB IV

HASIL DAN PEMBAHASAN

4.1. Pendahuluan

Bab ini menyajikan hasil percobaan yang dilakukan terhadap data yang diambil dari TSPLIB yaitu : att48.tsp dan bays29.tsp (TSPLIB,

Beberapa pengujian yang telah dilakukan menggunakan metode crossover Partially Mapped Crossover dari beberapa probabilitas crossover (Pc) sebesar 20%, 40%, 60%, 80% dan 99% akan ditampilkan rute pengujian dari masing-masing Pc. Penyajian hasil pengujian akan ditransformasikan kedalam excel dan selanjutanya akan di tampilkan dalam bentuk grafik.

4.2. Hasil Percobaan Pertama (att48.tsp)

Dalam percobaan perama ini penulis menguji beberapa probabilitas crossover mulai dari 20%, 40%, 60% , 80% dan 99%. Sebagai data pengujian penulis mempergunakan data yang diperoleh dari TSPLIB yaitu att48.tsp. Dari data yang diolah akan ditampilkan spesifikasi rute pengujian dalam bentuk tabel dan gambar rute pengujian. Adapun tabel dan gambar dapat dilihat mulai dari tabel 4.1 sampai dengan tabel 4.5. serta dari gambar 4.1. sampai dengan gambar 4.10

4.2.1 Pengujian untuk probilitas crossover 20 %

Dari pengujian untuk probabilitas crossover 20% dari data att48.tsp, dapat diperoleh hasil rute pengujian dengan seperti diilustrasikan pada gambar 4.1.


(55)

Tabel 4.1. Spesifikasi Rute Pengujian pc=20%

Populasi awal N = 48

Rute pengujian Gambar 4.1

Titik Awal Random

Titik Akhir Random

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 20% (0.2)

Kriteria penghentian (generasi) 10000 generasi


(56)

Dari pengujian untuk pc=0.2 diperoleh hasil yaitu rute optimal sebesar 70498 pada generasi ke 8557. Kromosom = 21 25 14 23 0 41 22 15 33 27 40 6 37 30 28 46 18 31 44 36 7 38 12 20 17 43 19 8 9 3 16 34 29 13 47 11 24 32 42 4 1 10 35 5 45 26 2 39. Fitness = 1.41847415339391E-05. Crossover yang terjadi sebanyak = 2037 dan munculnya random offsring sebanyak = 538.

Gambar 4.2. Grafik Rute Optimal pada pc=0.2

Tabel 4.2. Hasil pengujian att48.tsp, pc=0.2 Generas

i

RuteOptima l

1 139507.7 44 137619.2 144 134598.5 154 131777.1 194 126764 209 126055.9 258 121128.3 270 120914.1 323 115985.7 437 111441.5 438 111441.5

439 111441.5 440 111441.5 441 111441.5 442 111441.5 443 111441.5 444 111441.5 445 111441.5 446 111441.5 447 111441.5 448 111441.5 449 111441.5 450 111441.5 451 111441.5

452 111441.5 453 111441.5 454 111441.5 455 111441.5 456 111441.5 456 111441.5 457 111441.5 458 111441.5 459 111441.5 523 102951.2

. .

. .


(57)

10000 70498.29

4.2.2 Pengujian untuk probilitas crossover 40 %

Dari pengujian untuk probabilitas crossover 40% terhadap att48.tsp, diperoleh hasil rute pengujian seperti diilustrasikan pada gambar 4.3.

Tabel 4.3. Spesifikasi Rute Pengujian pc=40% Populasi awal N = 48

Rute pengujian Gambar 4.3.

Titik Awal Random

Titik Akhir Random

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 40% (0.4)


(58)

Gambar. 4.3. Rute Pengujian (pc=0.4)

Dari pengujian untuk pc=0.4 diperoleh hasil yaitu rute optimal sebesar = 63620 pada generasi ke 9032. Kromosom = 7 44 9 12 23 15 40 8 16 34 22 25 14 3 11 33 18 36 17 46 38 31 0 41 5 2 4 1 45 10 42 26 35 39 47 21 32 29 24 13 20 43 27 19 6 30 37 28. Fitness = 1.57182377152925E-05. Crossover yang terjadi sebanyak = 4030 dan munculnya random offsring sebanyak = 167

Gambar 4.4. Grafik Rute Optimal pada pc=0.4

4.2.3. Pengujian untuk probilitas crossover 60 %

Dari pengujian untuk probabilitas crossover 60% terhadap att48.tsp, diperoleh hasil rute pengujian seperti diilustrasikan pada gambar 4.5.

Tabel 4.4. Spesifikasi Rute Pengujian pc=60% Populasi awal N = 48

Rute pengujian Gambar 4.5

Titik Awal Random

Titik Akhir Random

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 60% (0.6)


(59)

Kriteria penghentian (generasi) 10000 generasi

Gambar. 4.5. Rute Pengujian (pc=0.6)

Dari pengujian untuk pc=0.6 diperoleh hasil yaitu rute optimal sebesar = 55462 pada generasi ke 9854. Kromosom = 27 17 30 6 33 43 28 44 36 7 37 19 31 38 9 40 11 47 20 12 23 14 39 25 32 13 21 29 42 45 35 10 24 1 4 26 5 2 34 16 0 41 22 8 3 15 46 18. Fitness = 1.8030302888643E-05. Crossover yang terjadi sebanyak = 5986 dan munculnya random offsring sebanyak = 28


(60)

Gambar 4.6. Grafik Rute Optimal pada pc=0.6

4.2.4 Pengujian untuk probilitas crossover 80 %

Dari pengujian untuk probabilitas crossover 80% terhadap att48.tsp, diperoleh hasil rute pengujian seperti diilustrasikan pada gambar 4.7.

Tabel 4.5. Spesifikasi Rute Pengujian pc=80% Populasi awal N = 48

Rute pengujian Gambar 4.7.

Titik Awal Random

Titik Akhir Random

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 80% (0.8)


(61)

Gambar. 4.7. Rute Pengujian (pc=0.8)

Dari pengujian untuk pc=0.8 diperoleh hasil yaitu rute optimal sebesar = 50924 pada generasi ke 9551. Kromosom = 28 36 44 9 8 38 31 46 33 20 12 40 23 11 21 22 16 41 0 3 34 14 29 42 5 1 35 45 10 24 26 4 2 13 25 32 39 47 15 43 17 27 19 37 30 6 7 18. Fitness =

1.96368689926554E-05. Crossover yang terjadi sebanyak = 8055 dan munculnya random offsring sebanyak = 35


(62)

Gambar 4.8. Grafik Rute Optimal pada pc=0.8

4.2.5. Pengujian untuk probilitas crossover 99 %

Dari pengujian untuk probabilitas crossover 99% terhadap att48.tsp, diperoleh hasil rute pengujian seperti diilustrasikan pada gambar 4.9.

Tabel 4.6. Spesifikasi Rute Pengujian pc=99% Populasi awal N = 48

Rute pengujian Gambar 4.9

Titik Awal Random

Titik Akhir Random

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 99% (0.99)


(63)

Gambar. 4.9. Rute Pengujian (pc=0.99)

Dari pengujian untuk pc=0.99 diperoleh hasil yaitu rute optimal sebesar = 43910 pada generasi ke 8888. Kromosom = 15 33 20 12 40 0 16 22 3 41 34 2 26 4 45 1 35 10 24 42 29 5 32 39 21 14 25 13 23 11 47 46 44 7 18 28 43 27 30 6 17 19 37 36 31 8 9 38. Fitness =

2.27738335353817E-05. Crossover yang terjadi sebanyak = 9900 dan munculnya random offsring sebanyak = 9


(64)

Gambar 4.10. Grafik Rute Optimal pada pc=0.99

4.3. Hasil Percobaan Kedua (bays29.tsp)

Dalam percobaan kedua ini penulis menguji beberapa probabilitas crossover mulai dari 20%, 40%, 60% , 80% dan 99%. Sebagai data pengujian penulis mempergunakan data yang diperoleh dari TSPLIB yaitu bays.tsp. Dari data yang diolah akan ditampilkan spesifikasi rute pengujian dalam bentuk tabel dan gambar rute pengujian. Adapun tabel dan gambar dapat dilihat mulai dari tabel 4.6 sampai dengan tabel 4.10 serta dari gambar 4.11 sampai dengan 4.20.

4.3.1 Pengujian untuk probilitas crossover 20 %

Dari pengujian untuk probabilitas crossover 20%, dapat diperoleh hasil rute pengujian dengan seperti diilustrasikan pada gambar 4.11.

Tabel 4.7. Spesifikasi Rute Pengujian pc=20% Populasi awal N = 28

Rute pengujian Gambar 4.11

Titik Awal No.1

Titik Akhir No.48

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 20% (0.2)


(65)

Gambar. 4.11. Rute Pengujian (pc=0.2)

Dari pengujian untuk pc=0.2 diperoleh hasil yaitu rute optimal sebesar 11008 pada generasi ke 9445. Kromosom = 10 20 2 21 9 12 6 5 26 3 1 4 15 18 22 17 14 11 0 7 25 19 23 16 24 8 27 13. Fitness = 9.08385464573276E-05. Crossover yang terjadi sebanyak = 1968 dan munculnya random offsring sebanyak = 616.


(66)

Gambar 4.12. Grafik Rute Optimal pada pc=0.2

Tabel 4.8. Hasil pengujian bays29.tsp, pc=0.2 Generas

i

Rute Optimal

0 0

1 22734.68 117 22734.68 118 22734.68 119 22734.68 120 22623.55 130 22623.55 131 21425.97 225 21425.97 226 21425.97 227 21355.54 260 21355.54 261 21355.54 262 21355.54 263 21117.71 264 21117.71 265 21117.71 266 19717.03 330 19717.03 331 19287.87 371 19287.87 372 19287.87 373 19022.67

374 19022.67 459 19022.67 460 19022.67 461 19022.67 462 19022.67 463 19022.67 464 19022.67 465 19022.67 466 19022.67 467 19022.67 468 19022.67 469 19022.67 470 19022.67 471 19022.67 472 19022.67 473 19022.67 474 19022.67 475 19022.67 476 19022.67 477 18967.23 478 18967.23 479 18967.23 480 18967.23 481 18967.23 482 18967.23

483 18967.23 484 18967.23 485 18967.23 486 18967.23 487 18967.23 488 18967.23 489 18967.23 490 18967.23 491 18967.23 492 18967.23 493 18967.23 494 18967.23 495 18965.88 496 18965.88 497 18965.88 498 18965.88 499 18965.88 500 18965.88

. .

. .

. .


(67)

4.3.2 Pengujian untuk probilitas crossover 40 %

Dari pengujian untuk probabilitas crossover 40%, dapat diperoleh hasil rute pengujian dengan seperti diilustrasikan pada gambar 4.13.

Tabel 4.9. Spesifikasi Rute Pengujian pc=40% Populasi awal N = 28

Rute pengujian Gambar 4.13

Titik Awal Random

Titik Akhir Random

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 40% (0.4)


(68)

Gambar. 4.13. Rute Pengujian (pc=0.4)

Dari pengujian untuk pc=0.4 diperoleh hasil yaitu rute optimal sebesar 12488 pada generasi ke 9445. Kromosom = 4 10 20 2 21 5 6 9 26 3 1 12 24 13 19 16 27 23 8 25 7 11 0 18 14 22 17 15. Fitness = 8.00742124544589E-05. Crossover yang terjadi sebanyak = 1968 dan munculnya random offsring sebanyak = 616.

Gambar 4.14. Grafik Rute Optimal pada pc=0.4

4.3.3 Pengujian untuk probilitas crossover 60 %

Dari pengujian untuk probabilitas crossover 60%, dapat diperoleh hasil rute pengujian dengan seperti diilustrasikan pada gambar 4.15.

Tabel 4.10. Spesifikasi Rute Pengujian pc=60% Populasi awal N = 28

Rute pengujian Gambar 4.15

Titik Awal Random

Titik Akhir Random

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)


(69)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 60% (0.6)

Kriteria penghentian (generasi) 10000 generasi

Gambar. 4.15. Rute Pengujian (pc=0.6)

Dari pengujian untuk pc=0.6 diperoleh hasil yaitu rute optimal sebesar 11131 pada generasi ke 9288. Kromosom = 17 22 11 0 7 19 16 25 23 27 8 24 13 2 1 3 26 9 5 12 6 21 20 10 4 18 15 14. Fitness = 8.98374881702383E-05. Crossover yang terjadi sebanyak = 6095 dan munculnya random offsring sebanyak = 73.


(70)

Gambar 4.16. Grafik Rute Optimal pada pc=0.6

4.3.4 Pengujian untuk probilitas crossover 80 %

Dari pengujian untuk probabilitas crossover 80%, dapat diperoleh hasil rute pengujian dengan seperti diilustrasikan pada gambar 4.17.

Tabel 4.11. Spesifikasi Rute Pengujian pc=80%

Populasi awal N = 28

Rute pengujian Gambar 4.17

Titik Awal Random

Titik Akhir Random

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 80% (0.8)


(71)

Gambar. 4.17. Rute Pengujian (pc=0.8)

Dari pengujian untuk pc=0.8 diperoleh hasil yaitu rute optimal sebesar 10548 pada generasi ke 9817. Kromosom = 22 0 25 7 23 27 8 24 21 2 5 6 12 9 26 3 1 20 10 13 16 19 4 15 11 14 18 17. Fitness = 9.48039486235302E-05. Crossover yang terjadi sebanyak =8071 dan munculnya random offsring sebanyak = 57.


(72)

Gambar 4.18. Grafik Rute Optimal pada pc=0.8

4.3.5 Pengujian untuk probilitas crossover 99 %

Dari pengujian untuk probabilitas crossover 99%, dapat diperoleh hasil rute pengujian dengan seperti diilustrasikan pada gambar 4.19.

Tabel 4.12. Spesifikasi Rute Pengujian pc=99%

Populasi awal N = 28

Rute pengujian Gambar 4.19

Titik Awal Random

Titik Akhir Random

Metode Seleksi yang digunakan Seleksi Roulette Wheel Nilai Mutasi 5% ( 0.05)

Jenis Crossover Partially Mapped Crossover (PMX) Crossover rate 99% (0.99)


(73)

Gambar. 4.19. Rute Pengujian (pc=0.99)

Dari pengujian untuk pc=0.99 diperoleh hasil yaitu rute optimal sebesar 10463 pada generasi ke 8085. Kromosom = 19 16 27 24 13 10 20 1 3 26 2 21 5 9 12 6 8 23 7 25 0 11 22 17 14 18 15 4. Fitness = 9.55669819112946E-05. Crossover yang terjadi sebanyak = 9907 dan munculnya random offsring sebanyak = 8.


(1)

Heitkoetter J (1993): FAQ for comp.ai.genetic Usenet newsgroup. Available from The Sante Fe Institute on the WWW at “http://alife.santafe.edu/~joke/encore/www/”

Rahman A., Ikhsan M, Wibisono L., Travelling Salesman Problem, Institut Teknologi Bandung, Bandung

Reeves, C.R. (ed.), 1995 “Modern Heuristic Techniques for Combinatorial Problems”, McGraw-Hill Int., Berkshire.

Samuel L., Toni A. dan Willi Y., 2005, Penerapan Algoritma Genetika Untuk Travelling Salesman Problem Dengan Menggunakan Metode Order Crossover dan Insertion Mutation, Prosiding Seminar Nasional Aplikasi Teknologi Informasi 2005 (SNATI 2005), Yogyakarta.

Sarwadi dan Anjar KSW, 2004, Algoritma Genetika Untuk Penyelesaian Masalah Vehicle Routing, Jurnal Matematika dan Komputer Vol.7 No.2, 1 – 10, Agustus 2004, ISSN : 1410-8518

Setemen , K. , Mauridhi Hery Purnomo, 2008, Kombinasi Algoritma Genetika dan Tabu Search dalam Pembuatan Tabel Jadwal Mata Kuliah, Seminar on Intelligent Technology and Its Applications, Surabaya

Spyros Kazarlis Vassilios Petridis and Pavlina Fragkou. Solving University Problems Using Advanced Genetic Algorithms. Technological Educational Institute of Serres, Serres 621 24 Greece dan Aristotle University of Thessaloniki,, Thessaloniki 540 06, Greece

Spears, William M. & De Jong, K. A., 1990, An Analysis of Multi-point Crossover, Proceedings of the Foundations of Genetic Algorithms Workshop, Indiana, July 1990

Syswerda, G., 1989, Uniform crossover in genetic algorithms. Proceedings of the Third International Conference on Genetic Algorithms, 2–9

Vitra I.P, 2004, Perbandingan Metode-Metode dalam Algoritma Genetika untuk Travelling Salesman Problem, Seminar Nasional Aplikasi Teknologi Informasi, Yogyakarta.


(2)

NAME : att48.tsp

LAMPIRAN 1. Data Koordinat Att48.tsp

COMMENT : 48 capitals of the US (Padberg/Rinaldi) TYPE : TSP

DIMENSION : 48

EDGE_WEIGHT_TYPE : ATT NODE_COORD_SECTION 1 6734 1453

2 2233 10 3 5530 1424 4 401 841 5 3082 1644 6 7608 4458 7 7573 3716 8 7265 1268 9 6898 1885 10 1112 2049 11 5468 2606 12 5989 2873 13 4706 2674 14 4612 2035 15 6347 2683 16 6107 669 17 7611 5184 18 7462 3590 19 7732 4723 20 5900 3561 21 4483 3369 22 6101 1110 23 5199 2182 24 1633 2809 25 4307 2322 26 675 1006 27 7555 4819 28 7541 3981 29 3177 756 30 7352 4506 31 7545 2801 32 3245 3305 33 6426 3173 34 4608 1198 35 23 2216 36 7248 3779 37 7762 4595 38 7392 2244 39 3484 2829


(3)

40 6271 2135 41 4985 140 42 1916 1569 43 7280 4899 44 7509 3239 45 10 2676 46 6807 2993 47 5185 3258 48 3023 1942 EOF


(4)

LAMPIRAN 2. Data Koordinat Bays29.tsp

NAME: bays29

TYPE: TSP

COMMENT: 29 cities in Bavaria (Street distances) DIMENSION: 29

EDGE_WEIGHT_TYPE: EXPLICIT

EDGE_WEIGHT_FORMAT: FULL_MATRIX DISPLAY_DATA_TYPE: TWOD_DISPLAY EDGE_WEIGHT_SECTION

0 107 241 190 124 80 316 76 152 157 283 133 113 297 228 129 348 276 188 150 65 341 184 67 221 169 108 45 167

107 0 148 137 88 127 336 183 134 95 254 180 101 234 175 176 265 199 182 67 42 278 271 146 251 105 191 139 79

241 148 0 374 171 259 509 317 217 232 491 312 280 391 412 349 422 356 355 204 182 435 417 292 424 116 337 273 77

190 137 374 0 202 234 222 192 248 42 117 287 79 107 38 121 152 86 68 70 137 151 239 135 137 242 165 228 205

124 88 171 202 0 61 392 202 46 160 319 112 163 322 240 232 314 287 238 155 65 366 300 175 307 57 220 121 97

80 127 259 234 61 0 386 141 72 167 351 55 157 331 272 226 362 296 232 164 85 375 249 147 301 118 188 60 185

316 336 509 222 392 386 0 233 438 254 202 439 235 254 210 187 313 266 154 282 321 298 168 249 95 437 190 314 435

76 183 317 192 202 141 233 0 213 188 272 193 131 302 233 98 344 289 177 216 141 346 108 57 190 245 43 81 243

152 134 217 248 46 72 438 213 0 206 365 89 209 368 286 278 360 333 284 201 111 412 321 221 353 72 266 132 111

157 95 232 42 160 167 254 188 206 0 159 220 57 149 80 132 193 127 100 28 95 193 241 131 169 200 161 189 163

283 254 491 117 319 351 202 272 365 159 0 404 176 106 79 161 165 141 95 187 254 103 279 215 117 359 216 308 322

133 180 312 287 112 55 439 193 89 220 404 0 210 384 325 279 415 349 285 217 138 428 310 200 354 169 241 112 238

113 101 280 79 163 157 235 131 209 57 176 210 0 186 117 75 231 165 81 85 92 230 184 74 150 208 104 158 206

297 234 391 107 322 331 254 302 368 149 106 384 186 0 69 191 59 35 125 167 255 44 309 245 169 327 246 335 288

228 175 412 38 240 272 210 233 286 80 79 325 117 69 0 122 122 56 56 108 175 113 240 176 125 280 177 266 243

129 176 349 121 232 226 187 98 278 132 161 279 75 191 122 0 244 178 66 160 161 235 118 62 92 277 55 155 275

348 265 422 152 314 362 313 344 360 193 165 415 231 59 122 244 0 66 178 198 286 77 362 287 228 358 299 380 319


(5)

276 199 356 86 287 296 266 289 333 127 141 349 165 35 56 178 66 0 112 132 220 79 296 232 181 292 233 314 253

188 182 355 68 238 232 154 177 284 100 95 285 81 125 56 66 178 112 0 128 167 169 179 120 69 283 121 213 281

150 67 204 70 155 164 282 216 201 28 187 217 85 167 108 160 198 132 128 0 88 211 269 159 197 172 189 182 135

65 42 182 137 65 85 321 141 111 95 254 138 92 255 175 161 286 220 167 88 0 299 229 104 236 110 149 97 108

341 278 435 151 366 375 298 346 412 193 103 428 230 44 113 235 77 79 169 211 299 0 353 289 213 371 290 379 332

184 271 417 239 300 249 168 108 321 241 279 310 184 309 240 118 362 296 179 269 229 353 0 121 162 345 80 189 342

67 146 292 135 175 147 249 57 221 131 215 200 74 245 176 62 287 232 120 159 104 289 121 0 154 220 41 93 218

221 251 424 137 307 301 95 190 353 169 117 354 150 169 125 92 228 181 69 197 236 213 162 154 0 352 147 247 350

169 105 116 242 57 118 437 245 72 200 359 169 208 327 280 277 358 292 283 172 110 371 345 220 352 0 265 178 39

108 191 337 165 220 188 190 43 266 161 216 241 104 246 177 55 299 233 121 189 149 290 80 41 147 265 0 124 263

45 139 273 228 121 60 314 81 132 189 308 112 158 335 266 155 380 314 213 182 97 379 189 93 247 178 124 0 199

167 79 77 205 97 185 435 243 111 163 322 238 206 288 243 275 319 253 281 135 108 332 342 218 350 39 263 199 0

DISPLAY_DATA_SECTION 1 1150.0 1760.0

2 630.0 1660.0 3 40.0 2090.0 4 750.0 1100.0 5 750.0 2030.0 6 1030.0 2070.0 7 1650.0 650.0 8 1490.0 1630.0 9 790.0 2260.0 10 710.0 1310.0 11 840.0 550.0 12 1170.0 2300.0 13 970.0 1340.0


(6)

15 750.0 900.0 16 1280.0 1200.0 17 230.0 590.0 18 460.0 860.0 19 1040.0 950.0 20 590.0 1390.0 21 830.0 1770.0 22 490.0 500.0 23 1840.0 1240.0 24 1260.0 1500.0 25 1280.0 790.0 26 490.0 2130.0 27 1460.0 1420.0 28 1260.0 1910.0 29 360.0 1980.0 EOF