Pendahuluan Riset-riset Terkait Pendahuluan Data

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 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 d ij . 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. Universitas Sumatera Utara 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 fn. Jadi fn fungsi waktu dari sebuah metode terhadap jumlah kota n. Untuk membandingkan dua buah metode, kita cukup Universitas Sumatera Utara membandingkan fungsi fn dari masing-masing metode. Hal ini tentu saja dapat menghasilkan perhitungan yang salah ketika ada metode yang baik tapi dianalisis dengan buruk sehingga menghasilkan fn 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 fn-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-12. 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 fn 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 fn= n22n ternyata tidak ditemukan fungsi fn yang lebih baik lagi. Hal ini tentu saja sangat mengecewakan karena dengan n=30 fungsi fn Held-Karp menghasilkan nilai yang sangat besar, dan untuk n=100 merupakan sesuatu yang mustahil untuk diselesaikan oleh kemampuan komputer saat ini. Perkembangan fungsi fn dalam TSP yang sangat lambat ini mungkin memang tidak dapat kita hindari; dengan komputer saat ini bisa jadi memang tidak ada metode yang menghasilkan fn 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 Universitas Sumatera Utara 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 y y x x 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 , .................................................................................... 2.2 Universitas Sumatera Utara

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 On, 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 Universitas Sumatera Utara 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 Universitas Sumatera Utara permasalahan. Bila Pt dan Ct 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 Pt; evaluate Pt; while not termination condition do recombine Pt to yield Ct; evaluate Ct; select Pt + from Pt and Ct; 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 Universitas Sumatera Utara 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 p c didefinisikan sebagai rasio jumlah offspring yang dihasillkan dalam tiap generasi atas ukuran populasi pop_size. Rasio ini mengendalikan jumlah p c 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 Universitas Sumatera Utara 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. Universitas Sumatera Utara

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. Universitas Sumatera Utara

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 Universitas Sumatera Utara 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 f i 2. Dihitung total fitness semua individu , dimana i adalah individu ke 1 sd ke-n 3. Dihitung fitness relatif masing-masing individu Universitas Sumatera Utara 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. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 = Σ a i 2 -i ; a i = 1 dengan probabilitas 1m, selain itu a i = 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 Universitas Sumatera Utara

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 Universitas Sumatera Utara 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. Universitas Sumatera Utara 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 2 30 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 y y x x d − + − = Universitas Sumatera Utara Untuk jarak 1 ke 2 : = 2 2 30 10 − + − = 2 20 − = 400 = 20 Untuk jarak 1 ke 3 : = 2 2 20 15 10 − + − = 20,6155 Untuk jarak 1 ke 4 : = 2 2 30 25 10 − + − = 25 Untuk jarak 1 ke 5 : = 2 2 30 10 10 − + − = 30 Untuk jarak 1 ke 6 : = 2 2 30 30 10 − + − = 36.0555 Untuk jarak 2 ke 3 : = 2 2 20 15 30 − + − = 25 Untuk jarak 2 ke 4 : = 2 2 20 25 30 − + − = 20.6155 Untuk jarak 2 ke 5 : = 2 2 30 10 30 − + − = 36.0555 Untuk jarak 2 ke 6 : = 2 2 30 30 30 − + − = 30 Untuk jarak 3 ke 4: = 2 2 20 20 25 15 − + − = 10 Untuk jarak 3 ke 5: = 2 2 30 20 10 15 − + − = 11.18 Untuk jarak 3 ke 6: = 2 2 30 20 30 15 − + − = 18.027756 Untuk jarak 4 ke 5: = 2 2 30 20 10 25 − + − = 18.027756 Untuk jarak 4 ke 6: = 2 2 30 20 30 25 − + − = 11. 18 Untuk jarak 5 ke 6: = 2 2 30 30 30 10 − + − = 20 Jarak antar kota seperti pada tabel 2: Tabel 3.2. Jarak antar kota 20.00 20.62 25.00 30.00 36.06 20.00 25.00 20.62 36.06 30.00 20.62 25.00 10.00 11.18 18.03 25.00 20.62 10.00 18.03 11.18 30.00 36.06 11.18 18.03 20.00 36.06 30.00 18.03 11.18 20.00 Universitas Sumatera Utara

3.3. Pelaksanaan Penelitian