J. of Math. and Its Appl. ISSN: 1829-605X Vol. 1, No. 1 (2004), 21–29

## Studi Komparatif antara Jaringan Syaraf Tiruan Boltzman Machine dan Algoritma Genetika untuk Optimasi Traveling Salesman Problem

## M Isa Irawan
Jurusan Matematika Institut Teknologi Sepuluh Nopember, Surabaya

## Abstrak
Traveling Salesman Problem (TSP) dikenal sebagai suatu permasalahan optimasi klasik dan Non Deterministic Polynomial-time Complete (NPC). Permasalahan ini melibatkan se- orang salesman yang harus melakukan kunjungan sekali pada semua kota sebelum kembali ke kota awalnya, sampai akhirnya perjalanan itu disebut sempurna. Penyelesaian dari ma- salah ini adalah mencari nilai optimum yang paling murah, misalkan perjalanan dengan jarak terpendek atau yang mempunyai total harga yang termurah.
Dalam paper ini akan dianalisis penyelesaian TSP dengan JST Boltzman Machine dan Algoritma Genetika. Dari hasil komparasi tersebut ternyata JST Boltzman Machine mem- berikan hasil lebih baik untuk menyelesaikan masalah TSP. Kata kunci : Jaringan Syaraf Tiruan, Boltzman Machine , Algoritma Genetika, TSP.
Kata kunci : Jaringan Syaraf Tiruan, Boltzman Machine, Algoritma Genetika, TSP

## 1 Pendahuluan
Sejak ditemukannya komputer, perkembangan ilmu dan teknologi yang mendapat dukungan komputer mengalami perkembangan yang luar biasa. Komputer sendiri mengalami evolusi dalam hal kecepatan dan kapasitas penyim- panan sementara, sehingga dapat memproses data yang sangat besar dalam waktu yang re- latif singkat. Dengan alasan komputer akan dimanfaatkan untuk suatu komputasi menye- lesaikan masalah TSP. TSP adalah suatu ma- salah optimasi klasik yang bersifat NPC, di- mana tidak ada penyelesaian yang paling op- timal selain harus mencoba seluruh kemungk- inan penyelesaian yang ada. Permasalahan ini melibatkan seorang salesman yang harus melakukan perjalanan antar kota dan setiap kota tidak boleh dikunjungi lebih dari sekali,
sehingga perjalanannya dikatakan sempurna.
Berawal dari sinilah dikembangkan metode- metode pemecahan masalah optimasi perjal- nan tersebut. Disamping metode-metode optimasi yang sudah demikian berkembang, ditawarkan pula pendekatan alternatif yaitu dengan JST Boltzman Machine dan Algo- ritmna Genetika.

## 2 Dasar Teori
Masalah optimasi adalah salah satu masalah yang sering ditemui, dimana sampai saat ini belum ditemukan suatu metode yang dapat menyelesaikannya dengan cepat dan tepat. Untuk permasalahan yang demikian, algoritma probabilistik dapat menjadi alternatif untuk mencari penyelesaian yang optimal. Banyak masalah optimasi yang penyelesaiaannya se-
cara probabilistik. Contoh algoritma proba- bilistik yang ada adalah Algoritma Genetika dan JST Boltzman Machine, yang mana ke- duanya termasuk metode derivative-free opti- mization (DFO).
Karakteristik umum dari metode DFO adalah sebagai berikut:
a. Derivative Freeness. Metode ini tidak mem- butuhkan informasi secara derivative fung- sional untuk melakukan proses pencarian atau penelusuran terhadap parameter- parameter yang akan meminimumkan atau memaksimumkan suatu fungsi objek- tif, akan tetapi melakukan evaluasi yang dilakukan secara berulang pada fungsi ob- jektif dan arah pencarian atau penelusuran pada titik berikutnya.
b. Intuitive Guidelines. Pedoman yang harus diikuti pada proses pencarian yang ber- dasarkan pada perkiraan saja. Beberapa teori berdasarkan pada evolusi dan termod- inamika.
c. Slowness. Walaupun tidak menggunakan derivasi pada komputasinya, pada umumnya metode-metode derivative-free optimization lebih lambat dibandingkan dengan metode derivative based optimization untuk per- masalahan dalam bentuk kontinu.
d. Flexibility. Derivative Freeness juga berlaku pada fungsi objektifnya. Jadi dimungkinkan penggunaan fungsi objektif yang kompleks sehingga dapat disesuaikan dengan spesifikasi-spesifikasi yang dibu- tuhkan untuk suatu aplikasi tanpa meng- gunakan terlalu banyak fungsi pengkodean serta waktu komputasi.
e. Randomness . Semua metode yang ter- masuk derivative free optimization adalah stokastik, artinya metode-metode ini menggunakan pembangkit bilangan acak untuk menentukan arah pencarian atau penelusuran pada titik berikutnya. Dikare- nakan salah satu karakteristiknya adalah randomness, maka metode derivative free optimization merupakan global optimiza- tion. Karakteristik randomness ini meru- pakan probabilitas untuk menemukan suatu penyelesaian yang optimal (tidak nol) pada waktu komputasi yang tepat. Hal ini ten- tunya membutuhkan waktu komputasi yang cukup banyak.
f. Anality Opacity . Penyajian secara analitik agak sulit dilakukan pada metode derivative free optimization. Hal ini disebabkan oleh sifat karakteristik yang dimiliki yaitu ran- domness serta gejala alam yang ikut berpen- garuh di dalamnya seperti evolusi dan ter- modinamika.

## 2.1 Algoritma Genetika

## Teori Algoritma Genetika
Algoritma genetika adalah sebuah algoritma probabilistik dengan intelegensi tinggi yang dapat diaplikasikan pada berbagai permasala- han optimasi [2]. Peletak prinsip dasar sekali- gus pencipta algoritma genetika adalah John Holland. Algoritma genetika didasarkan pada proses evolusi makhluk hidup, dimana dalam evolusi tersebut makhluk hidup mengalami seleksi alam untuk bertahan hidup. Bagi yang mampu beradaptasi dengan lingkungan- nya maka ia akan memiliki peluang hidup yang lebih besar dan melakukan reproduksi. Sedangkan yang tidak mampu akan terelimi- nasi. Artinya gen dari individu yang paling sesuailah yang mampu berkembang menjadi individu-individu yang lebih banyak untuk gen- erasi berikutnya.
Algoritma genetika banyak mengguna- kan istilah yang terdapat pada bidang ilmu genetika (biologi). Istilah Biologi yang digu- nakan dalam algoritma genetika adalah:
Tabel 1: Istilah dalam Algoritma Genetika
Istilah Biologi Keterangan Kromosom Individu yang berupa seg- men string yang sudah di- tentukan Gen Bagian dari string Loci Posisi dari gen Allele Nilai yang dimasukkan dalam Gen Phenotype String yang merupakan solusi akhir Genotype Sejumlah string hasil perkawinan yang berpotensi sebagai so- lusi Secara umum penerapan Algoritma Genetika akan melalui siklus sederhana yang terdiri dari 4 state, yaitu:
i. Membangun sebuah populasi yang terdiri dari beberapa string.
Limits Journal of Mathematics and Its Applications, Volume 1, Number 1, May 2004
ii. Mengevaluasi masing-masing string.
iii. Proses seleksi agar didapat string yang pa- ling baik.
iv. Manipulasi genetika untuk menciptakan populasi baru dari string.

## Karakteristik Algoritma Genetika.
Ada dua hal yang menunjukkan karakteris- tik algoritma genetika dalam proses pencarian solusi yang optimal, yaitu eksplorasi dan ek- sploitasi. Eksplorasi berarti algoritma genetika melakukan proses pencarian solusi poten- sial dalam suatu ruang pencarian, sedang- kan eksploitasi dimaksudkan behwa algoritma genetika menggunakan sifat atau informasi yang ada pada individu-individu dalam pop- ulasi untuk mendapatkan solusi yang optimal. Michalewicz [2] memberikan perbandingan an- tara metode hill climbing , pencarian acak, dan algoritma genetika. Pencarian hill climb- ing adalah contoh pencarian yang mengek- sploitasi solusi terbaik tetapi mengabaikan ek- splorasi daerah. Pencarian acak adalah contoh pencarian yang mengeksplorasi daerah tetapi mengabaikan eksploitasi. Sedangkan algoritma genetika mencari solusi optimal dengan menye- imbangkan eksplorasi daerah pencarian dan ek- sploitasi solusi terbaik.

## Pembangkitan Populasi.
Algoritma genetika dalam melakukan pen- carian dengan membangkitkan suatu polu- lasi yang merupakan sekumpulan nilai awal. Ukuran populasi ( pop size ) mempengaruhi un- juk kerja yang baik dan keefektifan algoritma genetika. Algoritma genetika dengan popu- lasi yang kecil biasanya unjuk kerjanya buruk karena populasi tidak menyediakan cukup ma- teri untuk mencakup ruang persoalan. Popu- lasi yang lebih besar dibutuhkan untuk merep- resentasikan keseluruhan ruang persoalan.
Daerah Pengkodean dan Daerah So- lusi. Algoritma genetika bekerja pada daerah pengkodean dan daerah solusi. Operasi genetika (tukar silang dan mutasi) bek- erja pada daerah pengkodean (kromosom) sedangkan proses evaluasi bekerja pada daerah solusi atau populasi. Langkah per- tama kali yang dilakukan dalam penggu- naan algoritma genetika adalah melakukan
pengkodean terhadap permasalahan yang dis- elesaikan. Pada algoritma ini dalam menga- sumsikan sebuah solusi untuk sebuah persoalan dimungkinkan dengan diwakili satu set param- eter. Parameter-parameter ini dinamakan gen yang berisi nilai-nilai. Allele (representasi) yang bersatu membentuk string (kromosom). Selanjutnya beberapa kromosom berkumpul membentuk populasi. Dari sebuah popu- lasi inilah algoritma genetika memulai untuk melakukan pencarian.
Fungsi Evaluasi ( fitness function ) Dalam algoritma genetika sebuah fungsi evaluasi ( fitness function ) harus dirancang untuk masing-masing masalah yang disele- saikan. Dengan memberikan kromosom ter- tentu, fungsi fitness menjadikannya salah satu calon fitness atau hasil. Kondisi fitness dari sebuah individu ditentukan oleh penampilan dari phenotype atau dapat dikatakan bahwa phenotype nmerupakan kromosom yang me- nunjukkan hasil. Dari sini dapat disimpulkan bahwa dari genotype yang berupa kromosom dapat dibentuk phenotype dengan mengguna- kan fungsi fitness.

## Seleksi
Pada tahap ini akan ditentukan individu- individu mana yang akan dipilih untuk mem- bentuk populasi baru. Ada tiga hal penting pada tahap seleksi:
a. Daerah Sampling. Prosedur seleksi dilakukan untuk membuat generasi baru dari induk pada suatu populasi yang terda- pat pada daerah sampling. Daerah sampling dipengaruhi oleh dua faktor yaitu ukuran dan isi.
b. Mekanisme Sampling . Mekanisme sampling menyelesaikan masalah bagaimana memilih kromosom dari daerah sampling.
c. Probabilitas Seleksi . Pencarian oleh algo- ritma genetika yang dilakukan pada tahap selksi sering mengarah pada kekonvergenan dini yaitu kecenderungan sebagian kromo- som untuk mendominasi pada proses seleksi awal generasi sehingga kompetisi antar kro- mosom menjadi kecil pada generasi berikut- nya. Alternatif untuk mengatasi masalah di atas adalah dengan penskalaan ( scaling ) yaitu dengan memetakan nilai evaluasi ( fit- ness value ) pada suatu nilai riil positif kemu-
Limits Journal of Mathematics and Its Applications, Volume 1, Number 1, May 2004

## M Isa Irawan
dian menentukan kromosom terpilih dengan probabilitas ini dan mekanisme rangking ( ranking mechanism ) yaitu dengan meng- gunakan rangking untuk menentukan prob- abilitas terpilih.

## Operator Genetika.
Operator genetika memegang fungsi eksploitasi dari kromosom-kromosom dalam populasi dengan menghasilkan keturunan dari induk. Keturunan dihasilkan dengan cara melakukan pertukaran informasi atau gen-gen dari tiap kromosom terpilih, dengan harapan akan menghasilkan kromosom baru yang mempun- yai nilai lebih baik dari induknya. Ada dua jenis operator yang digunakan yaitu crossover (tukar silang) dan mutasi.
Operator tukar silang mengambil dua in- dividu baru atau keturunan dari pertukaran gen kedua induk. Dari kedua offspring (anak), masing-masing mewarisi gen tertentu pada ke- dua induknya. Mutasi diterapkan pada tiap- tiap offspring secara individual setelah tukar silang. Mutasi memodifikasi kromosom dengan memindahkan gen-gen dari posisi semula.

## 2.2 Boltzman Machine

## Definisi Boltzman Machine.
Boltzman Machine adalah salah satu metode derivative-free optimization yang dapat digu- nakan pada permasalahan optimasi [1]. Boltz- man Machine banyak digunakan karena keefek- tifannya dalam menemukan penyelesaian yang optimal untuk permasalahan optimasi kombi- natorik seperti Travelling Salesman Problem (TSP).
Prinsip yang melatar belakangi Boltzman Machine dapat dianalogikan dengan proses pendinginan logam pada temperatur yang terkontrol. Temperatur yang berangsur-angsur turun menyebabkan struktur atom dalam logam mengkristal dengan kepadatan tinggi serta memiliki energi yang relatif rendah, ser- ingkali proses ini disebut Simulated Annealling . Tetapi jika terjadi sebaliknya, temperatur tu- run secara cepat, atom-atom dalam logam tidak memiliki cukup waktu untuk menye- suaikan strukturnya. Akibat yang ditimbulkan dari keadaan ini adalah hasilnya berupa ma- terial tanpa bentuk dengan kandungan energi yang tinggi.
Pada Boltzman Machine, fungsi objek- tif yang akan diminimasi dapat dianalogkan
dengan energi pada sistem termodinamika. Dengan temperatur yang tinggi, Boltzman Ma- chine mempunyai kecenderungan untuk mener- ima titik/solusi baru dengan energi yang lebih tinggi. Hal ini dapat disamakan dengan keadaan dimana suatu atom dengan mobili- tas tinggi mencoba untuk menyesuaikan struk- turnya dengan atom-atom lain yang berasal dari luar dan energi yang dapat secara tiba- tiba berubah dalam waktu yang relatif cepat.
Bagian yang paling penting dari Boltz- man Machine adalah machine schedule / cooling schedule , yang menentukan kecepatan penu- runan temperatur dari keadaan temperatur tinggi ke rendah. Yang perlu diperhatikan pada proses cooling schedule adalah jika penurunan temperatur terlalu lambat, waktu CPU akan terbuang sia-sia. Sebaliknya jika penurunan temperatur dilakukan terlalu cepat maka ter- dapat kemungkinan akan terjebak pada proses pencarian pada satu daerah saja. Proses Boltz- man Machine digunakan untuk mencari en- ergi global yang minimum. Penurunan tem- peratur dilakukan secara bertahap ( gradual ), hal ini dilakukan agar jaringan dapat mengatur susunannya pada konfigurasi yang tepat. Penu- runan temperatur secara gradual merupakan cara terbaik untuk menghindari lokal minimal tanpa membutuhkan waktu tunggu yang lama.

## Algoritma Bolzman Machine
SA Alg(ncity,T 0 , α ) { x ← x 0 T ← T 0 do { frozen=1 for (loop=1;loop<ncity;loop++) { x’ ← mutasi(x); ∆ f ← f(x’)-f(x); r ← bilangan acak 0 − 1; if( ∆ f<0 or r<exp(- ∆ f/T)) { x ← x’; frozen=0; } T ← T* α ; } } while (not frozen) return x }
Limits Journal of Mathematics and Its Applications, Volume 1, Number 1, May 2004

## 3 Traveling Salesman Problem

## 3.1 Sejarah
Traveling Salesman Problem (TSP) adalah per- soalan optimasi yang relatif lama, didokumen- tasikan pertama kali pada awal 1759 oleh Euler, yang mempunyai ketertarikan untuk menyele- saikan problem perjalanan pion perwira dalam permainan catur itu mendatangi hanya sekali dari masing-masing 64 kotak kecil yang ada dalam papan catur.
Istilah TSP pertama kali digunakan dalam sebuah buku yang dikeluarkan oleh negara Jer- man The Traveling Salesman How and What He Should Do to Get Commissions and Be suc- cesfull in His Bussiness pada tahun 1932, yang ditulis oleh seorang veteran traveling salesman.
Definisi. Definisi dari Traveling Salesman Problem (TSP) yaitu diberikan n buah kota dan d ij yang merupakan jarak anatara kota c i dan kota c j , seorang sales ingin membuat suatu lintasan tertutup dengan mengunjungi setiap kota. Tujuannya adalah memilih lintasan ter- tutup yang total jaraknya minimum diantara pilihan dari semua kemungkinan lintasan.
Traveling Salesman Problem memiliki batasan masalah dalam dua kondisi, yaitu batasan lemah dan batasan kuat. Batasan yang lemah adalah batasan masalah yang jika tidak terpenuhi maka tidak membuat penyelesaian yang didapatkan menjadi salah. Meskipun begitu, sedapat mungkin batasan- batasan masalah tersebut harus dipenuhi. Contoh dari batasan lemah adalah lintasan dengan jarak tempuh minimum, karena kadang-kadang lintasan yang dapat ditemukan yang menghubungkan semua kota yang ada dengan setiap kota yang hanya dikunjungi sekali, bukan merupakan lintasan dengan jarak tempuh paling minimum. Sedangkan batasan masalah yang kuat adalah batasan masalah yang harus dipenuhi. Jika batasan masalah tersebut tidak dipenuhi maka akan membuat penyelesaian yang didapatkan menjadi salah. Misalnya adalah bahwa setiap kota yang ter- dapat dalam daftar rencana perjalanan harus dikunjungi tepat sekali, tidak akan melakukan kunjungan dua kali atau lebih dalam waktu yang bersamaan dan dalam perjalanan diawali dan diakhiri pada kota yang sama.

## 3.2 Penyelesaian dengan Algoritma Genetika

## Pengkodean.
Pengkodean sebagai langkah awal dalam peng- gunaan algoritma genetika, dalam penyelesaian TSP ini juga harus dilakukan dahulu. Selama ini telah ditemukan beberapa skema represen- tasi yang sesuai untuk permasalahan kombina- torial, diantaranya adalah representasi permu- tasi dan representasi kunci-kunci random.

## Representasi Permutasi
Representasi permutasi merupakan represen- tasi yang paling alami untuk lintasan dalam TSP, dimana kota-kota merupakan bagian yang harus dilalui oleh seorang traveling sales- man. Wilayah pencarian untuk representasi ini adalah himpunan permutasi dari kota-kota berupa simbol abjad. Sebagai contoh dari 9 kota dalam TSP:
3 - 2 - 5 - 4 - 7 - 1 - 6 - 9 - 8 dari representasi di atas dapat diuraikan bahwa lintasan berangkat dari kota 3 menuju kota 2, 5, 4 dan seterusnya. Representasi ini sering juga disebut representasi path atau represen- tasi order .

## Representasi kunci-kunci random
Representasi ini menghasilkan sebuah geno- type dengan bilangan acak antara 0 - 1. Nilai ini digunakan sebagai kunci-kunci untuk mengkodekan penyelesaian. Sebagai contoh, 1 kromosom untuk 9 kota bisa direpresen- tasikan [0.23 0.82 0.45 0.74 0.87 0.11 0.56 0.69 0.78] dimana posisi i dalam list menun- jukkan kota i . Nilai acak dalam posisi i me- mentukan urutan didatanginya kota i dalam lintasan TSP. Dengan kunci-kunci random di atas, kita dapat menentukan bahwa nilai 0.11 nilai yang paling kecil sehingga kota ke-6 menempati urutan pertama, 0.23 nilai terke- cil kedua sehingga kota ke-1 menempati uru- tan kedua dan seterusnya, sehingga dari kunci- kunci random di atas kita dapatkan lintasan 6 - 1 - 3 - 7 - 8 - 4 - 9 - 2 - 5 kunci-kunci random dapat memperkecil ketu- runan yang tidak mungkin dengan merepresen- tasikan dengan cara sederhana.

## Populasi Awal
Populasi awal sangat berpengaruh terhadap kinerja algoritma genetika. Cara inisialisasi awal untuk menghasilkan seluruh kromosom
Limits Journal of Mathematics and Its Applications, Volume 1, Number 1, May 2004

## M Isa Irawan
untuk permasalahan kombinatorial ini adalah pembangkitan bilangan secara acak.
Salah satu cara untuk menghasilkan pop- ulasi awal acak adalah dengan permutasi Josephus. Misal ada kota dari 1 - 9. Per- mutasi dari lintasan dapat dilakukan dengan menentukan titik awal dan selang. Misal titik awal adalah 6 dan selang 5, maka lintasan be- rangkat dari kota 6, selang 5 dari 6 adalah 2 (dengan asumsi kota 1 - 9 membentuk circular list ). Kota 2 dihapus dari list, kemudian se- lang 5 adalah 7. Proses ini diulang hingga ada satu lintasan dalam list. Hasil dari permutasi ini adalah 2 - 7 - 3 - 8 - 4 - 9 - 5 - 1 - 6

## Fungsi Evaluasi
Untuk mengevaluasi kromosom-kromosom, maka digunakan fungsi penilaian eval( V k ) = city size X i =1 dist( c i − c i +1 ) + dist( c city size − c 1 ) dimana: city size = banyaknya kota dalam lin- tasan dan dist( c i − c i +1 ) = jarak antara kota c i dengan kota c i +1 yang ada dalam lintasan.

## Seleksi
Seleksi yang digunakan adalah sampling sto- kastik dengan wilayah yang tetap. Sampling stokastik diimplementasikan dengan piringan Roulette. Berikut ini langkah-langkah proses seleksi.
Prosedur pra-seleksi yaitu dengan piringan Roulette:
i. Hitung nilai fitness bagi tiap kromosom
eval( V i ) = f ( x ) i = 1 , 2 , 3 , . . . , pop size ii. Hitung total nilai fitness
F = pop size X i =1 eval( V i )
iii. Hitung probabilitas seleksi P i untuk tiap kromosom
P i = eval( V i ) F
i = 1 , 2 , 3 , . . . , pop size
iv. Hitung probabilitas komulatif q i untuk tiap kromosom
q i = i X j =1 P j i = 1 , 2 , 3 , . . . , pop size
Prosedur Seleksi:
i. Bangkitkan bilangan acak r antara 0 dan 1.
ii. Jika r ≤ q 1 maka pilih kromosom pertama ( V 1 ). Jika tidak, maka pilih kromosom V i (2 ≤ i ≤ pop size) sedemikian rupa se- hingga q i − 1 < r ≤ q i .

## Operator - operator Algoritma
Dua jenis operator yang biasa digunakan adalah tukar silang dan mutasi.
a. Tukar Silang. Tukar silang merupakan teknik dimana sepasang kromosom dipro- duksi dengan mengkopi komplemen induk pada keturunan. Beberapa metode oper- ator tukar silang diciptakan untuk repre- sentasi permutasi seperti partial mapped crossover (PMX), order crossover (OX), cy- cle crossover (CX), position based crossover , order based crossover , heuristic crossover , dan lain-lain.
b. Mutasi. Mutasi digunakan untuk memo- difikasi suatu kromosom agar menghasilkan perubahan kromosom yang random. Bebe- rapa operator mutasi telah diciptakan untuk representasi permutasi seperti metode inver- sion, insertion, displacement.
Inversion mutation, yaitu memilih dua po- sisi dari kromosom kemudian menukar posisi dari substring.
Insertion mutation, yaitu memilih kota se- cara random dan disisipkan pada posisi yang acak pada suatu kromosom.
Displacement mutation, yaitu memilih se- buah kota secara acak dan menukar pada posisi yang acak pula.

## 3.3 Penyelesaian dengan Boltzman Machine
Dari algoritma Boltzman Machine yang
telah dijelaskan sebelumnya dapat dilakukan langkah-langkah untuk menyelesaikan TSP.
Limits Journal of Mathematics and Its Applications, Volume 1, Number 1, May 2004

## Boltzman Machine
i. Inisialisasi/bangkitkan solusi awal ( X 0 ). Solusi pertama (2 3 5 4 1) ditempatkan secara acak, menentukan T 0 = maxint = 217483647, mementukan cooling rate α = 0 . 95 ii. Evaluasi fungsi objektif (fitness). Cara ker- janya adalah membaca pada matrik yang berisi data jarak untuk tiap simpul SQRT(SQR( X 2 − X 1 ) + SQR( Y 2 − Y 1 ))
Misal solusi pertama yang terbentuk: Fitness(2,3) = 375,76 Fitness(3,5) = 132,77 Fitness(5,4) = 134,73 Fitness(4,1) = 171,77 Fitness(1,2) = 438,52 Σ Fitness solusi pertama=815,03 selama system belum frozen maka akan dilakukan proses mutasi sampai batas mu- tasi yang diperbolehkan.
iii. Operasi mutasi. Jumlah mutasi=5 atau sesuai dengan inputan, mutasi akan dilakukan terus (diulang) sampai system frozen (=tidak dapat menemukan solusi baru yang memiliki energi yang lebih ren- dah) atau telah menemukan solusi baru dengan fungsi fitness lebih kecil dari so- lusi yang lama (Xnew < Xold). Jika belum memenuhi kondisi tersebut maka mutasi diulang sebanyak 5 kali.
a. Mutasi pertama masih tetap. ( X 1 ≤ X 0 ) (2 3 4 5 1) dengan fitness=815,03 b. Mutasi kedua Dihasilkan X 1 = (2 5 4 3 1) dengan fitness=827,2. Karena ( X 1 > X 0 ) maka mutasi diulang
c. Mutasi ketiga X 1 =(1 4 5 3 2) dengan fitness = 826,4. Karena X 1 > X 0 maka mutasi diulang
d. Mutasi keempat X 1 =(1 4 5 3 2) dengan fitness =826,4. Karena X 1 > X 0 maka mutasi diulang
e. Mutasi kelima X 1 =(2 3 5 1 4) dengan fitness=813,05 Karena ( X 1 < X 0 ) maka mutasi dihentikan.
iv. Keluar dari loop mutasi ∆ F = X 0 − X 1 = misal diperoleh − 11 , 37
v. Jika (∆ F < 0) atau random (0 , 1) < exp( − ∆ F/T ) maka:
a. Hitung nilai fitness X 0 · Fitness= X 1 · Fitness
b. Memperbarui solusi terakhir: solusi (fitness) = 813,05
c. Frozen=0
vi. Jika system sudah frozen maka dilakukan penurunan temperatur
vii. Solusi (lintasan): 2–3–5–1–4

## 4 Pembahasan Hasil
Dalam analisis ini akan dibandingkan efisiensi dari kedua metode yang digunakan untuk menyelesaikan traveling salesman problem ini, maka dilakukan analisis dengan memband- ingkan faktor-faktor sebagai berikut:

## 4.1 Algoritma Genetika
Dalam pembahasan ini yang akan diukur adalah banyaknya operasi utama. Dengan menghitung banyaknya operasi utama akan dibahas tentang banyak kerja rata-rata ( aver- age case atau average complexity ) dan banyak kerja terburuk ( worst case atau complexityi ). Himpunan macam-macam input yang berukuran n dinamakan domain input dan dis- imbolkan D n . Misalkan i adalah elemen D n , probabilitas bahwa input i akan dipakai adalah P ( i ) dan banyaknya operasi yang dilakukan oleh algoritma bila diberi input i adalah t ( i ).
a. Banyak kerja rata-rata ( average case ).
Banyaknya kerja yang dilakukan untuk macam inputannya yang menyebabkan perbedaan banyaknya kerja t ( i ) adalah sejumlah kombinasi dari banyaknya gen- erasi (iterasi maksimum), ukuran popu- lasi, probabilitas mutasi dan probabilitas tukar silang. Pada operasi perkalian ini yang akan dihitung operasi dasar untuk perkalian, dimana t ( i ) yang dimaksud dalam rumus berikut adalah banyaknya operasi dasar perkalian dan p ( i ) adalah probabilitas untuk input( i ).
A ( g, m, n, j, p ) = X i ∈ D p ( i ) t ( i ) = 1 ∗ ( g (17 m + jmn + 2 jn + pm + 3))
= 17 gm + gjmn + 2 gjn + gpm + 3 g dimana g = parameter generasi
Limits Journal of Mathematics and Its Applications, Volume 1, Number 1, May 2004
m = parameter ukuran populasi n = parameter jumlah kota p = parameter probabilitas tukar silang j = parameter probabilitas mutasi
b. Banyaknya kerja terburuk (worst case). Banyaknya kerja terburuk dapat dihitung dengan menentukan kondisi yang menye- babkan kerja dasar terbesar.
W ( g, n, m, p, j ) = max i ∈ D
( i ) = 17 gm
c. Banyaknya memori yang dipakai. Algoritma penyelesaian TSP yang meru- pakan modifikasi algoritma dasar metode Boltzman Machine , memerlukan tempat penyimpanan di dalam memori, yaitu tem- pat untuk menyimpan instruksi, konstanta dan variabel yang digunakan oleh program tersebut. Besarnya memori utnuk meny- impan variabel ekstranya ini, yang biasa disebut dengan extra space, besarnya ter- gantung dari besarnya input. Karena be- sarnya ekstra space bergantung pada be- sarnya input, maka algoritma ini dikatakan tidak kerja ditempat ( no works in place )
d. Hasil running time dari algoritma genetika Uji coba dilakukan dengan cara mema- sukkan beberapa n kota yang berbeda, selanjutnya dicari jarak, lintasan, pene- muan solusi baru dan waktu yang dibu- tuhkan untuk menyelesaikan traveling sales- man problem.
Gambar 1: Hasil Uji-coba dengan Algoritma Genetika

## 4.2 Boltzman Machine
Dalam pembahasan ini yang akan diukur adalah banyaknya operasi utama. Dengan
menghitung banyaknya operasi utama akan dibahas tentang banyak kerja rata-rata ( aver- age case atau average complexity ) dan banyak kerja terburuk ( worst case atau complexity ). Himpunan macam-macam input yang beruku- ran n dinamakan domain input dan disim- bolkan D n . Probabilitas bahwa input i akan di- pakai adalah P ( i ) dan banyaknya operasi yang dilakukan oleh algoritma bila diberi input i adalah t ( i ).
a. Banyak kerja rata-rata ( average case ).
Banyaknya kerja yang dilakukan untuk macam inputannya yang menyebabkan perbedaan banyaknya kerja t ( I ) adalah se- jumlah kombinasi dari banyaknya iterasi maksimum ( T max ) yang diperbolehkan, suhu awal ( T 0 ) dan cooling rate α adalah se- bagai berikut: Pada operasi eksponensial ini yang akan dihitung operasi dasar untuk eksponensial, dimana t ( I ) yang dimaksud dalam rumus berikut adalah banyaknya op- erasi dasar eksponensial dan P ( I ) adalah probabilitas untuk input I
A ( n ) = X I ∈ D P ( I ) t ( I ) = 1 2 ∗ (iterasi max + 1)
b. Banyaknya kerja terburuk ( worst case ).
Banyaknya kerja terburuk dapat dihitung dengan menentukan kondisi yang menye- babkan kerja dasar terbesar, untuk per- masalahan ini kondisi tersebut tidak pernah ditemukan karena macam inputnya hanya satu, maka untuk semua kondisi mempunyai banyak kerja dasar yang sama. Dan karena dari ketiga operasi dasar di atas operasi ek- sponensial yang paling tinggi nilainya, maka banyaknya kerja terburuk sama dengan kerja rata-rata dari operasi eksponensial, yaitu:
W ( n ) = max I ∈ D t ( I ) = 2 ∗ (iterasi max)
c. Banyaknya memori yang dipakai.
Algoritma penyelesaian TSP yang meru- pakan modifikasi algoritma dasar metode Boltzman Machine, memerlukan tempat penyimpanan di dalam memori, yaitu tem- pat untuk menyimpan instruksi, konstanta dan variabel yang digunakan oleh program
Limits Journal of Mathematics and Its Applications, Volume 1, Number 1, May 2004
tersebut. Besarnya memori utnuk menyim- pan variabel ekstranya ini, yang biasa dise- but dengan extra space , dan besarnya ter- gantung dari besarnya input. Karena be- sarnya ekstra space bergantung pada be- sarnya input, maka algoritma ini dikatakan tidak kerja di tempat ( no works in place )
d. Hasil uji coba dengan metode Boltzman Ma- chine.
Uji coba dilakukan dengan cara mema- sukkan n kota yang berbeda, selanjutnya di- cari jarak, lintasan, penemuan solusi baru dan waktu yang dibutuhkan untuk menyele- saikan traveling salesman problem.
Gambar 2: Hasil Uji-coba dengan Botzman Machine

## 5 Kesimpulan
Dari algoritma dan penyelesaian traveling salesman problem dengan metode Algoritma genetika dan metode Boltzman Machine di atas, dapat diambil beberapa kesimpulan, yaitu:
a. Algoritma Genetika Setelah dilakukan uji coba penyelesaian traveling salesman problem dengan algo- ritma genetika, metode dengan mengguna- kan algoritma genetika sebenarnya menun- jukkan bahwa algoritma ini dapat.
Ukuran populasi (pop size) mempengaruhi unjuk kerja yang baik dan keefektifan algo- ritma genetika. Algoritma genetika dengan populasi yang kecil biasanya unjuk kerjanya
buruk karena populasi tidak menyediakan cukup materi untuk mencakup ruang per- soalan. Populasi yang lebih besar dibu- tuhkan untuk merepresentasikan keselu- ruhan ruang persoalan. Di samping itu input pada parameter probabilitas mutasi dan probabilitas tukar silang juga mempe- ngaruhi unjuk kerja sistem.
b. Boltzman Machine Dengan percobaan penyelesaian traveling salesman problem yang dibahas, metode Boltzman Machine menunjukkan bahwa algoritma ini dapat menemukan penyele- saian yang lebih baik daripada Algoritma Genetika dari segi efisiensi waktu. Kejadian untuk permasalahan 100 kota, waktu (dura- tion) yang diambil sangat singkat.
Batasan titik beku (frozen), dimana se- makin banyak kesempatan yang diberikan pada Boltzman Machine sebelum dinya- takan frozen, maka akan memberikan keleluasaan bagi Boltzman Machine untuk menelusuri penyelesaian yang berikutnya. Hanya saja, hal ini membutuhkan waktu yang lama. Sebaliknya bila faktor frozen diberikan terlalu sedikit maka operasi pen- carian terlalu cepat dinyatakan frozen, se- hingga kesempatannya menjadi hilang.

## Daftar Pustaka
[1] Faucet, L, Fundamentals of Neural Net- works: Architectures, Algorithms, and Ap- plications , Prentice Hall, 1994.
[2] Michalewicz, Z, Genetics Algoritms + Data Structures = Evolution Program , Third, Revised, and Extended Edition, Springer- Verlag, 1992.
[3] Mitsuo Gen dan Runwei Cheng, Genetic Algoritms and Engineering Design , John Wiley & Sons, Inc., 1997.
[4] Marek Obitko,
Genetic Algoritms , http:cs.felk.cvut.cz / ˜obitko/ga/main.html.
[5] Shaffer, C.A., A Partical Introduction to Data Structures and Algoritms Analysis ,
Prentice Hall International, Inc., 1997.
Limits Journal of Mathematics and Its Applications, Volume 1, Number 1, May 2004