HYBRID ALGORITMA PARTICLE SWARM OPTIMIZATION (PSO) DENGAN SIMULATED ANNEALING (SA) PADA TRAVELING SALESMAN PROBLEM (TSP) SKRIPSI

  

ADLN Perpustakaan Universitas Airlangga

HYBRID

ALGORITMA PARTICLE SWARM OPTIMIZATION (PSO) DENGAN

  

PADA TRAVELING SALESMAN PROBLEM (TSP)

SKRIPSI

ANIS ATUL FUAIDAH

  HYBRID

ALGORITMA PARTICLE SWARM OPTIMIZATION (PSO) DENGAN

  PADA TRAVELING SALESMAN PROBLEM (TSP) SKRIPSI Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Sains Bidang Matematika Pada Fakultas Sains Dan Teknologi Universitas Airlangga Oleh : ANISATUL FUAIDAH 080810129 Tanggal Lulus: 17 Juli 2012 Disetujui Oleh : Pembimbing I Pembimbing II

ADLN Perpustakaan Universitas Airlangga

  

ADLN Perpustakaan Universitas Airlangga

LEMBAR PENGESAHAN NASKAH SKRIPSI Judul : Hybrid Algoritma Particle Swarm Optimization (PSO) dengan Simulated Annealing (SA) Pada Traveling

  Salesman Problem (TSP) Penyusun : Anisatul Fuaidah NIM : 080810129 Tanggal Ujian : 17 Juli 2012 Disetujui Oleh : Pembimbing I Pembimbing II Dr. Herry Suprajitno Dr. Miswanto NIP. 19680404 199403 1 020 NIP. 19680204 199303 1 002

  

ADLN Perpustakaan Universitas Airlangga

PEDOMAN PENGGUNAAN SKRIPSI

  Skripsi ini tidak dipublikasikan, namun tersedia di perpustakaan dalam lingkungan Universitas Airlangga, diperkenankan untuk dipakai sebagai referensi kepustakaan, tetapi pengutipan harus seizin penyusun dan harus menyebutkan sumbernya sesuai kebiasaan ilmiah. Dokumen skripsi ini merupakan hak milik Universitas Airlangga.

  

ADLN Perpustakaan Universitas Airlangga

KATA PENGANTAR

  Alhamdulillah, puji syukur penyusun panjatkan kehadirat Allah SWT karena atas limpahan rahmat dan hidayah-Nya skripsi yang berjudul “Hybrid Algoritma Particle Swarm Optimization (PSO) dengan Simulated Annealing (SA)

pada Traveling Salesman Problem (TSP)” ini bisa terselesaikan dengan baik.

  Dalam kesempatan ini, penyusun ingin mengucapkan terima kasih yang sebanyak-banyaknya kepada:

  1. Ayah Robbah, Ibu Is, adik Nafa, dan Mas Lutfi tersayang serta saudara- saudara yang senantiasa memberikan doa, kasih sayang, semangat, perhatian, kesabaran dan pengorbanan yang tak ternilai dan tidak dapat tergantikan oleh apapun.

  2. Kementrian agama RI, khususnya Direktorat Pendidikan Diniyah dan Pondok Pesantren RI, Pak khoironi, Pak Ruchman, Bu Lilik, Pak imam, Bu Nyoman, serta pihak-pihak lain sebagai wakil KEMENAG yang telah

  

ADLN Perpustakaan Universitas Airlangga

  4. Dra. Inna Kuswandari, M. Si selaku dosen wali selama menjadi mahasiswa Universtas Airlangga.

  5. Sahabat-sahabat Matematika’08 terutama Lail, Yusi, Meta, Citra, Au’, dan sahabat-sahabat Griya Annisa terutama Fika dan Tika yang telah memberikan banyak semangat kepada penyusun.

  6. Semua pihak yang tidak dapat disebutkan satu persatu yang turut memberi

bantuan, semangat dan masukan dalam penyusunan skripsi ini.

  Penyusun menyadari bahwa penyusunan skripsi ini masih belum sempurna. Untuk itu penyusun mengharapkan adanya kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Semoga skripsi ini dapat bermanfaat dan menambah wawasan bagi pembaca.

  Surabaya, Juli 2012 Anisatul Fuaidah

  

ADLN Perpustakaan Universitas Airlangga

Anisatul Fuaidah, 2012, Hybrid Algoritma Particle Swarm Optimization (PSO) dengan Simulated Annealing (SA) pada Traveling Salesman Problem (TSP),

  Skripsi ini dibawah bimbingan Dr. Herry Suprajitno dan Dr. Miswanto, Departemen Matematika, Fakultas Sains dan Teknologi, Universitas Airlangga

  ABSTRAK Traveling Salesman Problem

  (TSP) dapat digambarkan dengan perjalanan seorang salesman yang mengunjungi kota, dengan rute perjalanannya dimulai dari satu kota lalu mengunjungi kota yang lain masing-masing kota tepat satu kali dan diakhiri di kota asal tempat memulai perjalanan. Tujuan dari TSP adalah mencari urutan rute kota dengan jarak yang minimal. Skripsi ini bertujuan untuk menyelesaikan permasalahan TSP dengan menggunakan hybrid algoritma PSO- SA.

  Hybrid algoritma PSO-SA merupakan algoritma yang menggabungkan antara algoritma PSO dan SA. Secara umum proses PSO adalah membangkitkan

  , update kecepatan dan posisi. partikel-partikel, menentukan dan Hybrid algoritma PSO-SA merupakan suatu proses PSO dimana pencarian dilakukan berdasarkan aturan SA. Algoritma berhenti ketika suhu yang dan dikehendaki sudah tercapai.

  TSP dengan 10 kota dan 100 kota diselesaikan dengan hybrid algoritma PSO-SA menggunakan bahasa pemrograman Borland C++. Solusi terbaik dari TSP 10 kota adalah 582 km dengan parameter dan Sedangkan solusi terbaik dari TSP 100 kota adalah 6239 km dengan parameter dan Berdasarkan hasil yang diperoleh dari jarak 100 kota menunjukkan bahwa semakin besar jumlah modifikasi partikel maka jarak minimal kota yang didapatkan

  

ADLN Perpustakaan Universitas Airlangga

Anisatul Fuaidah, 2012, Hybrid Algorithm Particle Swarm Optimization (PSO) with Simulated Annealing (SA) for Traveling Salesman Problem (TSP), This skripsi was supervised by Dr. Herry Suprajitno and Dr. Miswanto, Mathematics Department, Faculty of Sciences and Technology,

  Airlangga University.

  ABSTRACT Traveling Salesman Problem (TSP) could be represented by a salesman who travels to visit cities, the tour started from one city then visited another city exactly once and finished up where he started. The purpose of TSP is to find the permutation of tour by calculating the minimum total distances have been traveled. This skripsi purposeful for solved TSP by using hybrid algorithm PSO- SA.

  Hybrid algorithm PSO-SA was an algorithm that combines algorithm PSO and algorithm SA. and Generally, PSO process generated particles, than found

  , than updated velocity and position. Hybrid algorithm PSO-SA was PSO was using rule of SA algorithm. process which process of finding and Algorithm stopped when refrigerated temperature has been reached.

  TSP with 10 cities and 100 cities was solved by hybrid algorithm PSO-SA by software Borland C++. The best solution for TSP 10 cities was 582 km with using the parameter of m and And the best solution for TSP 100 cities was 6239 km with using the parameter of and Based on the result of calculating distances of 100 cities, the conclusion could be drawn is more number

of particles modifications (L), then minimum distances of cities was better.

  

ADLN Perpustakaan Universitas Airlangga

DAFTAR ISI Halaman

  

LEMBAR JUDUL .................................................................................. i

LEMBAR PERNYATAAN .................................................................... ii LEMBAR PENGESAHAN .................................................................... iii LEMBAR PEDOMAN PENGGUNAAN SKRIPSI ............................... iv KATA PENGANTAR ............................................................................ v ABSTRAK .............................................................................................. vii ABSTRACT ............................................................................................ viii DAFTAR ISI ........................................................................................... ix DAFTAR TABEL .................................................................................. xi DAFTAR LAMPIRAN ........................................................................... xii BAB I PENDAHULUAN .......................................................................

  1

1.1 Latar Belakang ..........................................................................

  1

1.2 Rumusan Masalah .....................................................................

  2

1.3 Tujuan .......................................................................................

  3

1.4 Manfaat .....................................................................................

  3 BAB II TINJAUAN PUSTAKA .............................................................

  4

2.1 Travelling Salesman Problem (TSP) ........................................

  4

2.2 Algoritma ..................................................................................

  8

2.3 Algoritma Particle swarm Optimization (PSO) ........................

  8

2.4 Algoritma Simulated Annealing (SA) .......................................

  12

  2.5 Hybrid Algoritma Particle Swarm Optimization dengan Simulated Annealing (PSO-SA) ...................................

  15

2.6 Borland C++ .............................................................................

  16 BAB III METODE PENELITIAN..........................................................

  22

  

ADLN Perpustakaan Universitas Airlangga

BAB V PENUTUP ..................................................................................

  45

5.1 Kesimpulan ...............................................................................

  45

5.2 Saran .........................................................................................

  46 DAFTAR PUSTAKA .............................................................................

  48 LAMPIRAN

  

ADLN Perpustakaan Universitas Airlangga

DAFTAR TABEL

  

Nomor Judul Halaman

4.1. Fungsi Tujuan Partikel-partikel ...........................................

  35 4.2. Hasil Perbandingan Output TSP 100 Kota ..........................

  44

  DAFTAR LAMPIRAN Nomor Judul Lampiran

  

1. Data Jarak 10 Kota dari Workshop Integer Programming, 2004

  

2. Data Jarak 100 Kota dari Workshop Integer Programming, 2004

  3. Program Hybrid Algoritma PSO-SA dengan Software Borland C++ 4.

  Output TSP 10 Kota 5.

  Output TSP 100 Kota dengan Berbagai Parameter yang Berbeda

  

ADLN Perpustakaan Universitas Airlangga

  

ADLN Perpustakaan Universitas Airlangga

BAB I PENDAHULUAN

1.1 Latar Belakang

  Dewasa ini, perkembangan jasa pengiriman semakin cepat, hal ini berdampak pada persaingan perusahaan yang cukup berat. Dalam menghadapi persaingan tersebut diperlukan adanya strategi yang tepat dalam mengatasi permasalahan. Dalam jasa pengiriman permasalahan yang timbul adalah bagaimana menentukan rute yang akan ditempuh sehingga semua kota dapat dilewati satu kali dengan jarak atau biaya minimal.

  Menurut Puspitorini (2008) Traveling Salesman Problem (TSP) merupakan sebuah permasalahan yang telah dipelajari secara ekstensif selama beberapa dekade terakhir. TSP melibatkan traveling salesman yang harus melakukan kunjungan ke kota dalam menjajakan produknya.

  Rangkaian kota yang dikunjungi harus membentuk suatu jalur (rute)

  

ADLN Perpustakaan Universitas Airlangga

  2 PSO merupakan algoritma yang pertama kali diperkenalkan oleh Kennedy dan Eberhart pada tahun 1995. PSO memiliki kinerja yang baik dalam memecahkan beberapa masalah optimasi. Namun algoritma dasar PSO mempunyai masalah serius, yaitu semua partikel cenderung terjebak dalam minimum lokal pada fase konvergensi selanjutnya, sehingga PSO sering menemukan sebuah solusi minimum lokal bukan minimum global (Fang dkk, 2007). Karena itu, untuk mengatasi masalah tersebut algoritma PSO akan digabungkan dengan Simulated Annealing (SA). Kelebihan algoritma SA adalah algoritma dengan metode stokastik yang fitur- fiturnya efektif dalam menghindari perangkap minimum lokal (Chibante, 2010) .

  Oleh karena itu, skripsi ini menggunakan hybrid algoritma PSO- SA untuk menyelesaikan TSP. Hybrid algoritma PSO-SA adalah algoritma yang tidak hanya dapat menghindari perangkap minimum lokal dalam tahap konvergensi selanjutnya tetapi juga menyederhanakan implementasi algoritma (Fang dkk, 2007).

  

ADLN Perpustakaan Universitas Airlangga

  3

3. Bagaimana mengimplementasikan program pada contoh kasus?

1.3 Tujuan

  Adapun tujuan dari skripsi ini adalah:

  1. Menyelesaikan permasalahan TSP dengan hybrid algoritma PSO- SA.

  2. Membuat program penyelesaian TSP dengan hybrid algortima PSO-SA dengan software Borland C++.

  

3. Mengimplementasikan program pada contoh kasus.

1.4 Manfaat

  

Beberapa manfaat yang bisa diambil dari skripsi ini adalah :

  1. Menambah pemahaman tentang permasalahan Traveling Salesman Problem (TSP) dan penyelesaian permasalahannya.

  2. Menambah pemahaman tentang hybrid algoritma PSO-SA.

  3. Mengetahui program penyelesaian permasalahan TSP dengan hybrid algoritma PSO-SA dengan software Borland C++.

  

ADLN Perpustakaan Universitas Airlangga

BAB II TINJAUAN PUSTAKA Pada bab ini akan diuraikan beberapa definisi yang digunakan pada

  pembahasan hybrid algoritma Particle Swarm Optimization (PSO) dengan Simulated Annealing (SA) pada Traveling Salesman Problem (TSP).

2.1 Traveling Salesman Problem (TSP)

  Traveling Salesman Problem (TSP) dikenal sebagai salah satu permasalahan optimasi yang sulit untuk dipecahkan secara konvensional.

  Penyelesaian eksak terhadap persoalan ini akan melibatkan algoritma yang mengharuskan untuk mencari kemungkinan semua solusi yang ada. TSP melibatkan traveling salesman yang harus melakukan kunjungan ke kota dalam menjajakan produknya. Rangkaian kota yang dikunjungi harus membentuk suatu jalur sedemikian sehingga kota-kota tersebut hanya boleh dilewati tepat satu kali dan kemudian kembali lagi ke kota awal.

  Penyelesaian terhadap permasalahan TSP ini adalah untuk memperoleh jalur terpendek. Penyelesaian eksak terhadap masalah TSP mengharuskan

  

ADLN Perpustakaan Universitas Airlangga

  5 Berikut ini diberikan beberapa definisi yang terkait dengan TSP, Definisi 2.1

  Graph G didefinisikan sebagai himpunan berhingga V(G) yang tak kosong dengan elemen-elemennya disebut titik (vertice) dan himpunan E(G) (mungkin kosong) yang elemen-elemennya merupakan pasangan tak terurut 2 elemen berbeda dari V(G) dan disebut garis (edge).

  (Chartrand and Oellermann, 1993) Definisi 2.2 Perjalanan (walk) pada graph G adalah urutan secara bergantian titik-titik elemen dan edge elemen yang berbentuk : yang dimulai dan diakhiri titik sedemikian sehingga untuk .

  (Chartrand and Oellermann, 1993) Definisi 2.3 Path adalah walk yang titik-titiknya tidak boleh berulang.

  Graph G dikatakan terhubung, jika setiap dua titiknya

  ADLN Perpustakaan Universitas Airlangga 6 himpunan (yang kemungkinan himpunan kosong) dari pasangan garis titik terurut. Arc (garis berarah) adalah elemen-elemen dari

  (Chartrand and Oellermann, 1993) Definisi 2.6 GraphG disebut graph lengkap (complete graph) jika setiap dua titiknya terhubung.

  (Chartrand and Oellermann, 1993) Definisi 2.7 Graph berbobot adalah graph yang setiap garisnya mempunyai bobot.

  (Chartrand and Oellermann, 1993) Untuk materi yang dibahas selanjutnya bersumber dari buku yang ditulis oleh Garfinkel dan Nemhauser (1972). Permasalahan dari TSP yaitu membuat tour dari kota dimulai dan diakhiri pada kota yang sama, dengan jarak tour-nya minimal. Tour adalah sebuah cycle dalam yang memuat setiap titik tepat satu kali. Dalam istilah graph, permasalahan ini dapat digambarkan dalam digraph . Misal

  

ADLN Perpustakaan Universitas Airlangga

  7 Garis dari tour pada persamaan (2.1) dapat dinyatakan sebagai berikut: ti i i i i i i i

  {( , ), ( , ),..., ( n , n ), ( n , n )}

  1

  2

  2 3  2  1 

  1 (2.2) x

  Variabel ij didefinisikan sebagai berikut: jika ada garis i j dalam tour

   1 , ( , ) xij

  (2.3)  yang lain

  ,  Untuk setiap titik , tepat satu garis harus ada pada setiap tour, jadi: n x

  (2.4) ij 1,

   j

  

1 Sedangkan untuk setiap titik , tepat satu garis harus ada pada setiap

  tour , sehingga memenuhi n xij

  1 (2.5) ,

   i

  

  1 menghasilkan sebuah subtour jika dan hanya Secara matematis, jika untuk beberapa subset tak kosong , zxij

  (2.6) 

i Q

   jQ

  

ADLN Perpustakaan Universitas Airlangga

  8 n n zc x

  Meminimalkan ij ij (2.8)  i j

   1 

1 Dengan batasan :

  n xij

  1,  j

  

  1 n xij 1,

   i

  

  1 xij

  1 dengan dan ̅ 

i Q

   jQ x

    ,

  1 ij ,

  2.2 Algoritma Algoritma adalah merupakan suatu himpunan langkah-langkah atau instruksi yang telah dirumuskan dengan baik (well-defined) untuk memperoleh suatu keluaran khusus (specific output) dari suatu masukan khusus (specific input) dalam langkah yang jumlahnya berhingga.

  (Chartrand dan Oellermann, 1993)

  2.3 Algoritma Particle swarm Optimization (PSO)

  

ADLN Perpustakaan Universitas Airlangga

9 dikomunikasikan ke bagian atau seluruh populasi dan diteruskan dengan membentuk gerakan ke arah daerah yang telah dikunjungi dan terbaik sejauh ini. PSO mensimulasikan perilaku sosial seperti kawanan burung dan ikan didasarkan pada konsep kerjasama antar individu sehingga populasi tersebut dapat mencapai tujuan secara efisien dan efektif untuk memecahkan beberapa masalah optimasi. sebagai ruang pencarian dan Secara matematis, diberikan adalah fungsi tujuan. Seperti dijelaskan sebelumnya, PSO merupakan algoritma berbasis populasi, yaitu dengan mengeksploitasi populasi solusi untuk menyelidiki ruang pencarian secara bersamaan.

  Dalam PSO, populasi disebut swarm dan individu-individunya disebut partikel, Swarm didefinisikan sebagai himpunan: { } (2.9) dari partikel (calon solusi), yang didefinisikan sebagai berikut:

  (2.10)

  

ADLN Perpustakaan Universitas Airlangga

10 menunjukkan jumlah iterasi, maka posisi saat ini dari partikel ke- dan kecepatannya masing-masing dinotasikan sebagai dan Kecepatan diperbarui berdasarkan informasi yang diperoleh dari langkah algoritma sebelumnya. Hal ini di implementasikan dalam sebuah memori, di mana masing-masing partikel dapat menyimpan posisi terbaik yang pernah dikunjungi selama pencarian, sehingga berisi posisi partikel saat ini. Memori yang dipertahankan oleh PSO adalah :

  (2.12) { } yang mengandung best positions (2.13) dan pernah dikunjungi oleh masing-masing partikel. Sehingga posisi- posisi ini didefinisikan sebagai berikut:

  (2.14) , adalah partikel dengan yang minimal. Dengan PSO didasarkan pada model simulasi perilaku sosial, sehingga mekanisme pertukaran informasi harus ada untuk memungkinkan partikel-

  

ADLN Perpustakaan Universitas Airlangga

  11 Masing-masing partikel memperbarui kecepatan dan posisinya dengan persamaan sebagai berikut: (2.16) (2.17) adalah

dengan adalah koefisien inersia pada interval [ ],

adalah bilangan koefisien akselerasi yang berupa konstanta positif,

acak pada interval [ ]. Berikut adalah algoritma dasar PSO:

  1. Inisialisasi posisi awal partikel dan kecepatan awal partikel , dengan dan adalah ukuran swarm.

  2. Evaluasi nilai fungsi tujuan untuk setiap partikel . awal.

  3. Tentukan awal dan 4. Update kecepatan dengan persamaan (2.16).

  5. Update posisi partikel baru dengan persamaan (2.17).

  ,

  6. Evaluasi kembali , jika maka baru. setelah mendapatkan baru, maka didapatkan

{

  

ADLN Perpustakaan Universitas Airlangga

12 yaitu dengan membiarkan algoritma tersebut tidak hanya menerima solusi yang lebih baik tetapi juga menerima solusi buruk dengan probabilitas tertentu. Masalah yang membutuhkan pendekatan SA adalah masalah- masalah optimisasi kombinatorial, dengan ruang pencarian solusi yang ada terlalu besar, sehingga hampir tidak mungkin ditemukan solusi eksak terhadap permasalahan itu. Publikasi tentang pendekatan ini pertama kali dilakukan oleh Kirkpatrick, Gelatt dan Vecchi pada tahun 1983, yang diaplikasikan pada desain optimal hardware komputer, dan juga pada salah satu masalah klasik ilmu komputer yaitu Traveling Salesman Problem (TSP).

  Annealing adalah satu teknik yang dikenal dalam bidang metalurgi yang digunakan dalam mempelajari proses pembentukan kristal dalam suatu materi. Atom-atom dari materi ini memiliki energi yang tinggi pada suhu yang sangat tinggi. Hal ini memberikan atom banyak kebebasan dalam kemampuan mereka untuk merestrukturisasi diri mereka sendiri.

  Seperti pada saat suhu berkurang, energi dari atom-atom tersebut menjadi

  

ADLN Perpustakaan Universitas Airlangga

13 modifikasi terhadap solusi awal/solusi sementara. Pada awal proses SA, saat parameter suhu diatur tinggi, solusi sementara yang sudah ada diperbolehkan untuk mengalami modifikasi secara bebas.

  Kebebasan ini secara relatif diukur berdasarkan nilai fungsi tertentu yang mengevaluasi seberapa optimal solusi sementara yang telah diperoleh. Bila nilai fungsi evaluasi hasil modifikasi ini membaik (dalam masalah optimisasi yang berusaha mencari minimum berarti nilainya lebih kecil/downhill) solusi hasil modifikasi ini akan digunakan sebagai solusi selanjutnya. Bila nilai fungsi evaluasi hasil modifikasi ini memburuk, pada saat temperatur annealing masih tinggi, solusi yang lebih buruk (uphill) ini masih mungkin diterima. Dalam tahapan selanjutnya saat temperatur sedikit demi sedikit dikurangi, maka kemungkinan untuk menerima langkah modifikasi yang tidak memperbaiki nilai fungsi evaluasi semakin berkurang. Sehingga kebebasan untuk memodifikasi solusi semakin menyempit, sampai akhirnya diharapkan diperoleh solusi yang mendekati solusi optimal. Berikut algortima dari SA:

  

ADLN Perpustakaan Universitas Airlangga

14 [ ]. Hitung probabilitas ( ), jika maka solusi

baru tetap diterima sebagai solusi sementara.

  , maka algoritma berhenti. Jika tidak, hitung perubahan

  6. Jika temperatur pada iterasi ke- dengan , kemudian kembali ke langkah 4.

  Keterangan: Modifikasi :

  Mekanisme sederhana untuk mengubah solusi yang sudah ada, untuk menghasilkan solusi baru yang berbeda tidak terlalu jauh dengan solusi yg sudah ada. Biasanya disebut neighbour solution

  . Contoh dalam TSP bila solusi sementara dari TSP dengan 3 kota adalah : A B C. Hasil fungsi modifikasi adalah solusi baru dengan urutan A C B.

   ( ) lebih baik, akan diterima sebagai solusi sementara. bernilai positif, yang berarti solusi baru pada tahap ini lebih buruk dari pada solusi sementara yang sudah ada. Ekspresi ini menyatakan

  : Probabilitas bahwa langkah/solusi baru yang tidak

  

ADLN Perpustakaan Universitas Airlangga

  15 Biasanya juga dalam implementasi SA, diadakan perulangan proses modifikasi dan update solusi sementara untuk suhu tertentu.

2.5 Hybrid Algoritma Particle Swarm Optimization dengan Simulated

  Annealing (PSO-SA) Hybrid menurut bahasa berarti campuran atau gabungan. Jadi

  Hybrid Algoritma merupakan suatu gabungan dua algoritma atau lebih yang digunakan untuk menyelesaikan suatu permasalahan. Hybrid algoritma PSO-SA artinya menggabungkan antara algoritma PSO dan SA menjadi satu algoritma untuk menyelesaikan permasalahan.

  Dengan algoritma PSO-SA diharapkan menjadi algoritma yang mampu mencapai optimal global. Adapun algoritma dasar dari PSO-SA adalah sebagai berikut: dan kecepatan awal setiap

  1. Inisialisasi posisiawal partikel partikel , dengan dan adalah ukuran swarm.

  2. Evaluasi nilai fungsi tujuan untuk setiap partikel . awal.

  3. Tentukan awal dan

  

ADLN Perpustakaan Universitas Airlangga

  16

6. Setelah mendapatkan baru, maka akan didapatkan pula baru.

  

{

  7. Hitung perubahan suhu , dengan adalah temperatur awal, adalah temperatur akhir, adalah koefisien cooling yang berupa bilangan acak pada interval [ ], dan maka adalah jumlah iterasi terakhir yang dioperasikan.Jika , jika tidak iterasi akan dihentikan dan algoritma menemukan maka akan kembali ke langkah 4.

  (Fang dkk, 2007)

2.6 Borland C++

  Materi yang dibahas pada bagian ini bersumber dari buku yang ditulis oleh Kadir (2003). Berbicara tentang C++ biasanya tidak lepas dari bahasa C, sebagai bahasa pendahulunya. Bahasa C pertama kali dikenalkan oleh Brian W. Kerninghan dan Dennis M. Ritchie sekitar tahun

  

ADLN Perpustakaan Universitas Airlangga

  17 Programming ). Bahasa program C++ mempunyai bentuk umum seperti di bawah, yaitu: a.

   Struktur bahasa C++ Program C maupun C++ selalu tersusun dari 4 (empat) bagian utama, yaitu :

  1. Bagian komentar.

  2. Bagian pengarah compiler.

  3. Bagian deklarasi.

  4. Bagian definisi.

b. Bagian komentar

  Program yang baik pada umumnya diberi komentar yang akan membantu orang lain maupun pembuat program itu untuk memahami program yang dibuat. Dalam C atau C++ setiap

  

ADLN Perpustakaan Universitas Airlangga

18 c.

   Bagian pengarah kompiler Include adalah salah satu pengarah prepocessor directive yang tersedia pada C++. Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya : # include <nama_file> tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk pernyataan, tetapi merupakan prepocessor directive

  . Baris tersebut menginstrusikan kepada compiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h(fileheader) yaitu file yang berisi sebagai deklarasi contohnya: #include <iostream.h>: diperlukan pada program yang

   melibatkan objekcout. #include <conio.h>: diperlukan bila melibatkan clrscr(),

   yaitu perintah untuk membersihkan layar. #include <iomanip.h>: diperlukan bila melibatkan setw()

   yang bermanfaat untuk mengatur lebar dari suatu tampilan

  

ADLN Perpustakaan Universitas Airlangga

19 kita ambil kesimpulan bahwa batang tubuh program utama berada didalam fungsi main( ).

  e.

  

Pengarah kompiler # if, # else, # elif, # endif

Digunakan untuk memilih bagian program yang akan dikompilasi. Kompilasi cara ini disebut kompilasi bersyarat dan program yang baik biasanya memanfaatkan teknik ini.

  f. Pengarah kompiler # ifdef, # ifndef Digunakan juga dalam kompilasi bersyarat. #Ifdef dapat dibaca: „jika didefinisikan‟ dan #ifndef dapat dibaca: „jika tidak didefinisikan

  ‟. Pengarah compiler ini sering digunakan untuk menandai bahwa suatu file sudah diikutsertakan dalam kompilasi.

  g. Bagian deklarasi dan definisi Semua program C pada dasarnya tersusun dari rangkaian pemanggilan fungsi yang bekerja atas sekelompok data. Selain pemanggilan fungsi, program C mengandung komponen lain yang disebut statement. Statement C ada dua, yaitu: statement yang tidak

  

ADLN Perpustakaan Universitas Airlangga

20 menginstruksikan agar suatu fungsi mengembalikan nilai balik tertentu. Contoh statement non executable adalah : if, else, dan while.

h. Input dan output

  Dalam C++ input berarti menulis dari stream dan output berarti membaca ke stream.

  Bentuk umum Output operator : cout << ekspresi ; Bentuk umum Input operator : cin >> variable ; i. Tanda semicolon

  Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon. j. Variabel

  Variabel adalah suatu pengenal (identifier) yang digunakan

  21 k.

   Deklarasi variable Bentuk umumnya : l.

   Tipe dasar

ADLN Perpustakaan Universitas Airlangga

  

ADLN Perpustakaan Universitas Airlangga

BAB III METODE PENELITIAN Metode penelitian yang digunakan dalam skripsi ini adalah sebagai

  berikut:

1. Mengkaji materi tentang TSP, algoritma PSO, algoritma SA, dan

  hybrid algoritma PSO-SA.

  2. Menerapkan hybrid algoritma PSO-SA dengan langkah-langkah berikut ini: Inisialisasi.

   Tetapkan sebagai ukuran swarm dan semua partikel- dapat ditunjukkan sebagai berikut : partikel .

  { [ ] [ ] [ ]} dengan adalah jumlah kota, dimana [ ] yang berarti kota dikunjungi setelah dan [ ] [ ].

  Tetapkan dan , dengan adalah temperatur

  

ADLN Perpustakaan Universitas Airlangga

23 berdasarkan aturan penerimaan SA dapat diketahui apakah rute tersebut diterima atau tidak, sehingga setelah iterasi, ). Metode setiap partikel menemukan local best route ) adalah sebagai berikut: untuk membangkitkan rute baru Misalkan terdapat kota, diasumsikan [ ] adalah kota ke- yang dikunjungi oleh salesman. Dua kota [ ] [ ] dan selanjutnya urutan

dipilih secara acak pada rute

kunjungan kota ke- dan kota ke- ditukar, sedangkan urutan kunjungan ke kota-kota lainnya tetap sama. Setelah ditukar, maka rute baru ) telah berhasil dibangkitkan.

   ). yang telah didapat oleh setiap partikel dari . masing-masing lokal areanya akan digunakan sebagai Dan setelah mengupdate nilai personal best dari setiap partikel, sebagai berikut:

akan dibandingkan dengan

  ) dan global best route Update personal best route

  

ADLN Perpustakaan Universitas Airlangga

24 ) disilangkan dengan secara

  Partikel dan terpisah untuk memperbarui dirinya. Salah satu metode persilangan yang akan dipakai pada iterasi ini adalah sebagai berikut:

  , pertama yang dilakukan Misalkan terdapat dua rute dan kemudian adalah memilih secara acak daerah crossing pada menggantikan nomor-nomor kota tersebut pada daerah crossing . dengan posisi yang sama sebagaimana Hitung temperature baru , dengan persamaan

   ) dan ) . Jika , algoritma menemukan

  ) proses berhenti. Jika tidak, maka kembali ke langkah mencari local best route ).

  3. Membuat program dengan software Borland C++.

  4. Mengimplementasikan program pada contoh kasus.

  

ADLN Perpustakaan Universitas Airlangga

BAB IV PEMBAHASAN Pada bab ini akan dijelaskan mengenai penggunaan hybrid

  algoritma PSO-SA untuk menyelesaikan TSP, yaitu permasalahan untuk mencari rute dari kota dengan jarak atau biaya perjalanan yang minimal.

4.1 Prosedur Hybrid Algoritma PSO-SA

  Prosedur hybrid algoritma PSO-SA dalam menyelesaikan TSP adalah sebagai berikut: Prosedur hybrid algoritma PSO-SA secara ringkas adalah:

  Prosedur Hybrid Algoritma PSO-SA Begin

  Inisialisasi parameter;

  Generate partikel awal; While

  do Evaluasi partikel; Tetapkan dan ;

  Update partikel;

  Hitung Temperatur ;

  End Dan untuk prosedur inisialisai parameter dapat dilihat pada

  26 akhir, adalah koefisien cooling yang berupa bilangan acak pada interval [ ], dan adalah jumlah modifikasi partikel pada suhu tertentu.

  Prosedur Inisialisai Parameter Begin

  Banyak kota ;

  Ukuran swarm ;

  Temperatur awal ;

  Temperatur akhir ;

  Koefisien cooling ;

  Jumlah modifikasi partikel pada suhu tertentu ;

  End Langkah 1 : Generate Partikel-partikel Awal Pada langkah ini adalah membangkitkan sejumlah partikel (rute pada TSP) secara acak di ruang pencarian, yang merupakan himpunan solusi yang fisibel. Banyaknya partikel-partikel yang dibangkitkan adalah sesuai dengan ukuran swarm yang ditentukan. Setiap partikel tersebut dimodifikasi menjadi rute yang baru pada lokal areanya sebanyak jumlah modifikasi partikel pencarian personal best route

  , yaitu dengan memilih dua posisi secara acak kemudian

ADLN Perpustakaan Universitas Airlangga

  27 Prosedur Generate Partikel Awal Begin For

  1 to generate partikel-partikel awal;

  For

  to modifikasi partikel baru dari ;

  End End End Langkah 2

: Evaluasi Partikel Awal

Proses evaluasi merupakan proses menghitung fungsi tujuan atau bobot masing-masing partikel dalam suatu populasi. Bobot tersebut untuk mengetahui partikel terbaik dengan cara mencari nilai bobot terkecil suatu partikel dalam populasi. Semua partikel yang sudah dibangkitkan dievaluasi. Prosedur dari langkah ini sebagai berikut:

  Prosedur Evaluasi Partikel Begin For

  1 to

  For

  to SUM(jarak_kota[1,n]);

  End End

ADLN Perpustakaan Universitas Airlangga

  28 Dalam hybrid algoritma PSO-SA untuk TSP, pencarian local best route dilakukan sebelum penetapan , dimana aturan- aturan yang digunakan dalam pencarian adalah aturan SA yang tujuannya adalah untuk menghindari minimum lokal selama proses pencarian. Dengan demikian, proses setelah pencarian adalah pencarian yaitu posisi terbaik dari semua posisi yang telah dikunjungi oleh partikel-partikel dengan nilai fungsi tujuan terkecil.

  Else

  ;

  Else

  then ;

  If

  ( ) ;

  bilangan acak [0,1]; Hitung

  ( ) then ;

  Adapun prosedurnya sebagai berikut: Prosedur Penetapan dan Begin For

  Else If

  then ;

  If

  1 to

  For

  1 to

  

ADLN Perpustakaan Universitas Airlangga

  29 Langkah 4

: Update Partikel-partikel

Proses update pada dilakukan dengan menggunakan operasi crossing, yaitu menyilangkan partikel dengan dan secara terpisah .

  Misalkan terdapat dua partikel, dan atau dan , pertama yang dilakukan adalah memilih secara acak daerah persilangan pada partikel kedua, missal atau , kemudian menggantikan kode-kode kota (rutekota) tersebut pada daerah persilangan dengan posisi yang sama sebagaimana daerah persilangan partikel kedua yang terpilih.

  Operasi crossing ini dilakukan untuk mengganti proses update kecepatan (velocity) dan update posisi partikel dalam hybrid algoritma PSO-SA pada umumnya. Adapun prosedurnya sebagai berikut:

  Prosedur Update Partikel-partikel Begin For

  1 to random( ); random( );

  For

  to ;

  End

ADLN Perpustakaan Universitas Airlangga

  

ADLN Perpustakaan Universitas Airlangga

  30 Langkah 5 : Hitung Temperatur Baru Pada awal proses algoritma, parameter temperatur diatur tinggi, solusi sementara yang sudah ada diperbolehkan untuk modifikasi secara bebas.

  Kebebasan ini diukur berdasarkan nilai fungsi yang mengevaluasi seberapa optimal solusi sementara yang telah diperoleh. Bila nilai fungsi evaluasi semakin membaik maka solusi hasil modifikasi ini akan digunakan sebagai solusi selanjutnya.

  Sehingga penghitungan temperature baru digunakan untuk membuat modifikasi solusi semakin menyempit, sampai akhirnya diharapkan diperoleh solusi yang optimal. Prosedur untuk proses ini sebagai berikut: Prosedur Hitung Temperatur Baru Begin

  ;

   While

   do ;

  ;

  End

  

ADLN Perpustakaan Universitas Airlangga

31 mencari rute kota dengan jarak tempuh sependek mungkin, terutama jika jumlah kota sangat besar.

4.3 Contoh Kasus TSP dengan 10 Kota yang Diselesaikan Secara Manual

  Berikut contoh kasus TSP dengan 10 kota yang diselesaikan dengan hybrid algoritma PSO-SA dengan menggunakan data yang bersumber dari workshop integer programming (2004) seperti pada Lampiran 1.

  Dari contoh TSP ini akan ditentukan sebuah jalur distribusi produk yang jarak tempuhnya minimal.

  Penyelesaian: Dalam menyelesaikan TSP tersebut, akan digunakan hybrid algoritma PSO-SA untuk mencari jalur yang jaraknya minimal.

  Parameter-parameter yang digunakan dalam menyelesaikan Berikut kasus ini adalah: adalah proses penyelesaian secara manual:

  

ADLN Perpustakaan Universitas Airlangga

32 { }

  { } { } { } { } { } { }

  { } Kemudian setiap partikel tersebut dimodifikasi untuk mendapatkan partikel baru pada lokal areanya dengan memilih dua daerah secara acak kemudian menukarnya. Contoh:

  : 1 0 4 7 8 6 3 5 2 9 Setelah dimodifikasi, kemudian menjadi :

  1 0 2 7 8 6 3 5 4 9

  

ADLN Perpustakaan Universitas Airlangga

33 { }

   Untuk { }, dimodifikasi menjadi

   }

   { }

   { }

   { }

   { }

   Untuk  { }, dimodifikasi menjadi { }

   { }

   { }

   { }

   { }

   Untuk { }, dimodifikasi menjadi

   {9,6,0,4,7,5,1,2,3,8} 

  34

   { }

   { }

   { }

   Untuk { }, dimodifikasi menjadi

   { }

   { }

   { }

   { }

   { }

   Untuk { }, dimodifikasi menjadi

   { }

   { }

   { }

   { }

   { }

ADLN Perpustakaan Universitas Airlangga

  

ADLN Perpustakaan Universitas Airlangga

35 { }

   { }

   { }

   { }

   { }

   Untuk { }, dimodifikasi menjadi

   { }

   { }

   { }

   { }

   { }

   Langkah 2 : Evaluasi Partikel-partikel Awal Mengevaluasi masing-masing partikel yang sudah dimodifikasi dengan menghitung jarak dari masing-masing partikel (rute), yang disimbolkan dengan

  . Hasilnya disajikan dalam

  

ADLN Perpustakaan Universitas Airlangga

36 906

  1152 748 950 666 950 1130

  1108 1240 1194 1154 1166 908 1082 868

  37 1280 1196 1066 1324 862 1442 988

  988 942 826 1072

  1042 754 800 800

  

ADLN Perpustakaan Universitas Airlangga

  38 1194 1268 1240 1240 1110 1194

  Langkah 3

: Tetapkan dan

Langkah selanjutnya adalah mencari dan