• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
124
0
0

Teks penuh

(1)

SIMULATED ANNEALING (SA)

PADA TRAVELING SALESMAN PROBLEM (TSP)

SKRIPSI

ANIS ATUL FUAIDAH

PRO GRAM ST UDI S -1 MATEMATI KA

DE PARTE ME N MATEMAT I KA

FAKULTAS SAINS DAN TE KNOLO GI

UNI VE RSITAS AIRLANGGA

2012

(2)

ii

HYBRID

ALGORITMA PARTICLE SWARM OPTIMIZATION (PSO) DENGAN

SIMULATED ANNEALING (SA)

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

Dr. Herry Suprajitno

NIP. 19680404 199403 1 020

Pembimbing II

Dr. Miswanto

NIP. 19680204 199303 1 002

(3)

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

Dr. Herry Suprajitno

NIP. 19680404 199403 1 020

Pembimbing II

Dr. Miswanto

NIP. 19680204 199303 1 002

Mengetahui :

Ketua Program Studi S-1 Matematika

DepartemenMatematika

FakultasSains dan Teknologi

UniversitasAirlangga

Dr. Miswanto

NIP. 19680204 199303 1 002

(4)

iv

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.

(5)

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

memberikan dukungan material maupun non-material pada penyusun

sehingga dapat menyelesaikan skripsi ini.

3. Dr. Herry Suprajitno selaku pembimbing I, Dr. Miswanto selaku

pembimbing II, serta Dr. Fatmawati dan Toha Saifudin, S.Si., M.Si.

selaku dosen penguji yang telah memberikan bimbingan dan arahan

sehingga penyusun dapat menyelesaikan skripsi ini.

(6)

vi

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

(7)

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

partikel-partikel, menentukan

dan

, update kecepatan dan posisi.

Hybrid

algoritma PSO-SA merupakan suatu proses PSO dimana pencarian

dan

dilakukan berdasarkan aturan SA. Algoritma berhenti ketika suhu yang

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

cenderung lebih baik.

Kata kunci: Traveling Salesman Problem (TSP), Particle Swarm Optimization

(PSO), Simulated Annealing (SA), dan Hybrid.

(8)

viii

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.

Generally, PSO process generated particles, than found

and

, than updated velocity and position.

Hybrid algorithm PSO-SA was PSO

process which process of finding

and

was using rule of SA algorithm.

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.

Keyword: Traveling Salesman Problem (TSP), Particle Swarm Optimization

(PSO), Simulated Annealing (SA), and Hybrid.

(9)

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

BAB IV PEMBAHASAN ...

25

4.1.Prosedur Hybrid Algoritma PSO-SA ...

25

4.2.Program ...

31

4.3.Contoh Kasus TSP dengan 10 Kota yang

Diselesaikan Secara Manual

31

4.4.Implementasi Program pada Contoh Kasus TSP ...

42

4.4.1 Menggunakan Data 10 Kota ...

42

4.4.2 Menggunakan Data 100 Kota ...

43

4.5.Perbandingan Hasil Perhitungan dengan Parameter yang

Berbeda pada Hybrid Algoritma PSO-SA ...

43

(10)

x

BAB V PENUTUP ...

45

5.1 Kesimpulan ...

45

5.2 Saran ...

46

DAFTAR PUSTAKA ...

48

LAMPIRAN

(11)

DAFTAR TABEL

Nomor

Judul

Halaman

4.1. Fungsi Tujuan Partikel-partikel ...

35

4.2. Hasil Perbandingan Output TSP 100 Kota ...

44

(12)

xii

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

(13)

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)

sedemikian sehingga kota-kota tersebut hanya boleh dilewati tepat satu

kali dan kemudian kembali lagi ke kota awal. Tujuan dari permasalahan

TSP ini adalah untuk memperoleh jalur terpendek. Beberapa metode telah

banyak dikembangkan untuk menyelesaikan TSP ini. Berbagai pendekatan

dan algoritma telah ditawarkan untuk mendapatkan solusi optimal. Salah

satu algoritma yang dapat digunakan untuk menyelesaikan TSP adalah

algoritma Particle Swarm Optimization (PSO).

(14)

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-PSO-SA adalah algoritma

yang tidak hanya dapat menghindari perangkap minimum lokal dalam

tahap konvergensi selanjutnya tetapi juga menyederhanakan implementasi

algoritma (Fang dkk, 2007).

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah, ada beberapa masalah yang

dibahas dalam skripsi ini, yaitu:

1. Bagaimana menyelesaikan permasalahan TSP dengan hybrid

algoritma PSO-SA?

2. Bagaimana membuat program penyelesaian TSP dengan hybrid

algortima PSO-SA dengan software Borland C++?

(15)

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

(16)

4

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

untuk melakukan perhitungan terhadap semua kemungkinan rute yang

dapat diperoleh, kemudian memilih salah satu rute yang terpendek.

Dengan cara ini waktu perhitungan yang diperlukan akan jauh meningkat

seiring dengan bertambahnya jumlah kota yang harus dikunjungi.

Penjelasan ini menunjukkan bahwa solusi eksak terhadap masalah TSP

sangat sulit dilakukan.

(Puspitorini, 2008)

(17)

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

dihubungkan oleh suatu path.

(Chartrand and Oellermann, 1993)

Definisi 2.4

Cycle

adalah walk dengan

n

3

,

v

0

v

n

dan titik-titik v

0

,

v

1

, v

2

, ..., v

n-1

, v

n

berbeda satu dengan yang lain

(Chartrand and Oellermann, 1993)

Definisi 2.5 Digraph (directed graph)

adalah himpunan berhingga

yang tak kosong yang anggotanya disebut titik dan

(18)

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

adalah himpunan dari kota dan misal ada garis , jika ada hubungan

antara kota dan kota .

Titik dari tour sebagai berikut:

)

,

,...,

,

(

i

1

i

2

i

n 1

i

n

t

(2.1)

Dengan

(

i

1

,

i

2

,...,

i

n1

,

i

n

)

adalah permutasi (urutan angka-angka) dari bilangan bulat

dan paling banyak kemungkinan jumlah total dari tournya

adalah

(19)

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

)}

,

(

),

,

(

),...,

,

(

),

,

{(

i

1

i

2

i

2

i

3

i

n 2

i

n1

i

n1

i

n

t

(2.2)

Variabel

x

ij

didefinisikan sebagai berikut:

lain

yang

tour

dalam

j

i

garis

ada

jika

x

ij

,

0

)

,

(

,

1

(2.3)

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

n j ij

x

1

1,

(2.4)

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

tour

, sehingga memenuhi

n i ij

x

1

1

,

(2.5)

Secara matematis,

menghasilkan sebuah subtour jika dan hanya

jika untuk beberapa subset tak kosong ,

0



Qi j Q ij

x

z

(2.6)

dengan ̅ . Jadi, definisi tour terpenuhi dengan persamaan (2.3),

(2.4) dan (2.5), untuk semua , yakni

1



Qi j Q ij

x

z

(2.7)

Misalkan jarak dari titik adalah

c

ij

, dimana jika , maka

ii

c

= 0 dengan Dengan demikian TSP dapat ditulis sebagai

(20)

Meminimalkan



 

n i n j ij ij

x

c

z

1 1

(2.8)

Dengan batasan :

n j ij

x

1

1,

n i ij

x

1

1,

1



Qi j Q ij

x

dengan dan ̅

 

0

,

1

ij

x

,

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)

Materi yang dibahas berikut bersumber dari buku yang ditulis oleh

Parsopoulos dan Vrahatis (2010). Particle Swarm Optimization

(PSO)

dikembangkan oleh Kennedy dan Eberhart (1995) sebagai algoritma

optimasi yang bersifat stokastik dan berdasarkan pada model simulasi

sosial. Secara bersamaan, posisi terbaik yang pernah dicapai oleh setiap

partikel disebut sebagai pengalaman, dan pengalaman-pengalaman

tersebut disimpan dalam memori. Pengalaman ini kemudian

(21)

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.

Secara matematis, diberikan

sebagai ruang pencarian dan

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)

Partikel-partikel tersebut bergerak didalam ruang pencariannya,

pergerakan ini dilakukan dengan menyesuaikan posisi mereka dengan

menggunakan kecepatan (velocity), yang didefinisikan sebagai berikut:

(2.11)

Kecepatan tersebut disesuaikan secara bertahap sehingga

diharapkan partikel mampu mengunjungi setiap wilayah . Jika

(22)

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)

Dengan

adalah partikel dengan

yang minimal.

PSO didasarkan pada model simulasi perilaku sosial, sehingga

mekanisme pertukaran informasi harus ada untuk memungkinkan

partikel-partikel saling berkomunikasi. Algoritma akan mendekati minimum global

dengan posisi terbaik yang pernah dikunjungi oleh semua partikel.

Diberikan sebagai posisi terbaik dengan nilai fungsi terendah dalam

pada iterasi yang diberikan, yaitu:

(2.15)

Dengan

adalah

dengan

yang

minimal.

(23)

Masing-masing partikel memperbarui kecepatan dan posisinya

dengan persamaan sebagai berikut:

(2.16)

(2.17)

dengan adalah koefisien inersia pada interval [ ],

adalah

koefisien akselerasi yang berupa konstanta positif,

adalah bilangan

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

.

3. Tentukan

awal dan

awal.

4. Update kecepatan dengan persamaan (2.16).

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

6. Evaluasi kembali

, jika

maka

,

setelah mendapatkan

baru, maka didapatkan

baru.

{

7. Jika iterasi sudah maksimum atau konvergen, maka algoritma

berhenti, jika tidak maka kembali ke langkah 4.

2.4 Algoritma Simulated Annealing (SA)

Materi yang dibahas pada bagian ini bersumber dari buku yang

ditulis oleh Chibante (2010). Simulated Annealing (SA) adalah salah satu

algoritma untuk optimisasi yang bersifat umum. Fitur utama dari algoritma

(24)

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

berkurang sampai keadaan energi mencapai minimum, dan perlahan-lahan

memungkinkan atom-atom yang tadinya bergerak bebas itu, pada akhirnya

menemukan tempat yang optimum.

SA berjalan berdasarkan analogi dengan proses annealing yang

telah dijelaskan di atas. Pada awal proses SA, dipilih suatu solusi awal,

yang merepresentasikan kondisi materi sebelum proses dimulai. Gerakan

bebas dari atom-atom pada materi, direpresentasikan dalam bentuk

(25)

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:

1. Inisialisasi temperatur awal dan temperatur akhir

.

2. Inisialisasi individu awal

.

3. Evaluasi individu awal sebagai solusi sementara

.

4. Modifikasi individu awal

dan evaluasi kembali sebagai solusi

baru

.

5. Jika

maka solusi sementara sama dengan solusi

baru. Jika tidak, maka dibangkitkan bilangan acak pada interval

(26)

[ ]

. Hitung probabilitas (

)

, jika maka solusi

baru tetap diterima sebagai solusi sementara.

6. Jika

, maka algoritma berhenti. Jika tidak, hitung perubahan

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.

(

)

: Probabilitas bahwa langkah/solusi baru yang tidak

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

bahwa semakin buruk solusi baru, kemungkinan diterima sebagai

solusi sementara semakin kecil. Tetapi pada awal proses annealing,

karena faktor temperatur sebagai pembagi masih bernilai besar,

probabilitas ini akan tetap cukup besar. Tidak demikian halnya

setelah menurun, dalam proses pendinginan.

: hanya merupakan salah satu contoh jadwal

penurunan temperatur. Sebenarnya tidak selalu harus seperti ini.

(27)

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:

1. Inisialisasi posisiawal partikel

dan kecepatan awal setiap

partikel

, dengan dan adalah ukuran swarm.

2. Evaluasi nilai fungsi tujuan untuk setiap partikel

.

3. Tentukan

awal dan

awal.

4. Update kecepatan partikel dengan persamaan (2.16) dan posisi

partikel dengan persamaan (2.17).

5. Setiap partikel

mencari

baru dengan menggunakan

aturan SA, jika

maka

. Jika tidak,

maka menggunakan keputusan probabilitas (

)

agar

bisa diterima, jika dengan [ ] maka tetap bisa

diterima. Jika tidak, maka ditolak.

(28)

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

adalah jumlah iterasi terakhir yang dioperasikan.Jika

maka

iterasi akan dihentikan dan algoritma menemukan

, jika tidak

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

1972, dan sekitar satu dekade setelahnya diciptakanlah C++ oleh Bjarne

Stroustrup dari Laboratorium Bell, AT&T, pada tahun 1983. C++ cukup

kompatibel dengan bahasa pendahulunya C. Pada mulanya C++ disebut “

a better C

“. Nama C++ sendiri diberikan oleh Rick Mascitti pada tahun

1983, yang berasal dari operator increment pada bahasa C. Keistimewaan

yang sangat berarti dari C++ ini adalah karena bahasa ini mendukung

pemrograman yang berorientasi objek (OOP/Object Oriented

(29)

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

proposal yang diapit oleh variabel /* … */ atau setiap baris yang

dimulai dengan variabel // dianggap komentar. C++ tidak

mengizinkan komentar bersarang (nested comment), namun

Borland C++ lebih fleksibel dalam hal ini. Pada Borland C++

dapat menggunakan komentar bersarang asalkan opsi cek Nested

(30)

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

data.

#include <math.h>: diperlukan pada program yang

menggunkan operasi sqrt() yang bermanfaat untuk operasi

matematika pengakaran.

d. Fungsi main ()

Fungsi ini menjadi awal dan akhir eksekusi program C++.

Main

adalah nama judul fungsi. Melihat bentuk seperti itu dapat

(31)

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

dapat dieksekusi/non-executable (bila dikompilasi tidak

menghasilkan kode objek dan biasanya digunakan untuk mengatur

alur program), dan statement yang dapat dieksekusi/executable

(bila dikompilasi akan menghasilkan kode objek). Setiap

pemanggilan fungsi maupun statement xecutable dalam C harus

diakhiri dengan tanda titik koma. Dalam contoh program C++

diatas, Return merupakan contoh statement executable yang

(32)

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

untuk mewakili suatu nilai tertentu di dalam proses program.

Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari

suatu variabel diubah-ubah sesuai kebutuhan. Untuk memperoleh

nilai dari suatu variabel digunakan pernyataan penugasan

(assignment statement), yang mempunyai sintaks sebagai berikut :

(33)

k. Deklarasi variable

Bentuk umumnya :

(34)

22

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-partikel

.

dapat ditunjukkan sebagai berikut :

{ [ ] [ ] [ ]}

dengan adalah jumlah kota, dimana

[ ]

yang berarti kota dikunjungi setelah dan [ ]

[ ]

.

Tetapkan

dan , dengan adalah temperatur

awal, semakin tinggi maka akan semakin baik hasilnya,

adalah temperatur akhir, adalah koefisien cooling yang

berupa bilangan acak pada interval [ ], dan adalah jumlah

modifikasi partikel pada suhu tertentu.

Setiap partikel

) mencari local best route

).

Dalam satu iterasi, setiap partikel

)

dibangkitkan

menjadi rute baru

)

pada lokal areanya, dan dengan

(35)

berdasarkan aturan penerimaan SA dapat diketahui apakah

rute tersebut diterima atau tidak, sehingga setelah iterasi,

setiap partikel menemukan local best route

).

Metode

untuk membangkitkan rute baru

)

adalah sebagai berikut:

Misalkan terdapat kota, diasumsikan [ ] adalah kota

ke- yang dikunjungi oleh salesman. Dua kota [ ] [ ]

dipilih secara acak pada rute

dan selanjutnya urutan

kunjungan kota ke- dan kota ke- ditukar, sedangkan urutan

kunjungan ke kota-kota lainnya tetap sama. Setelah ditukar,

maka rute baru

)

telah berhasil dibangkitkan.

Update personal best route

)

dan global best route

).

yang telah didapat oleh setiap partikel dari

masing-masing lokal areanya akan digunakan sebagai

.

Dan setelah mengupdate nilai personal best dari setiap partikel,

akan dibandingkan dengan

sebagai berikut:

{

)

)

)

)

Dapatkan rute baru

)

dengan operasi crossing.

Operasi crossing pada langkah ini adalah untuk

mengganti langkah update kecepatan dan update posisi setiap

partikel pada hybrid algoritma PSO-SA, adapun operasi

(36)

Partikel

)

disilangkan dengan

dan

secara

terpisah untuk memperbarui dirinya. Salah satu metode

persilangan yang akan dipakai pada iterasi ini adalah sebagai

berikut:

Misalkan terdapat dua rute

dan

, pertama yang dilakukan

adalah memilih secara acak daerah crossing pada

kemudian

menggantikan nomor-nomor kota tersebut pada daerah

crossing

dengan posisi yang sama sebagaimana

.

Hitung temperature baru , dengan persamaan

)

)

)

. Jika

, algoritma menemukan

dan

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.

(37)

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

berikut. Misalkan sebagai ukuran swarm dan semua partikel

dilambangkan dengan

, dengan

dapat dinyatakan

sebagai berikut:

{ [ ] [ ] [ ]}

dengan adalah jumlah

kota, dimana [ ] yang berarti kota dikunjungi setelah dan

[ ] [ ]

.

Misalkan adalah temperatur awal, semakin tinggi maka

akan semakin baik hasilnya (Fang dkk, 2007),

adalah temperature

(38)

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

menukarnya, tujuannya adalah untuk mencari personal best route.

Dalam menyelesaikan TSP akan digunakan pengkodean

permutasi yaitu barisan angka yang memperhatikan urutan dan posisi

sehingga tidak terjadi adanya pengulangan angka, sehingga partikel

dapat digambarkan sebagai rute yang terdiri dari urutan kota yang

berbeda. Adapun prosedurnya sebagai berikut:

(39)

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 End

Langkah 3

: Tetapkan

dan

Proses penetapan

dan

adalah proses lanjutan setelah

evaluasi dari masing-masing partikel. Tujuan dari proses ini adalah

untuk menyimpan posisi terbaik yang pernah dikunjungi oleh partikel

selama pencarian.

(40)

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.

Adapun prosedurnya sebagai berikut:

Prosedur Penetapan dan Begin For 1 to For 1 to If then ; Else If ( ) then ; Else bilangan acak [0,1]; Hitung ( ) ; If then ; Else ; End End End End ; If then ; Else If then ; Else ; End End End

(41)

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 End For 1 to random( ); random( ); For to ; End ; End End

(42)

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

4.2 Program

Dari prosedur yang telah dibahas sebelumnya, akan dibuat

program dengan menggunakan software Borland C++ seperti pada

Lampiran 2. Pemilihan bahasa pemrograman Borland C++ lebih

didasari pada kemudahan dalam bahasa dan pemahaman dalam

mengimplementasikan hybrid algoritma PSO-SA yang banyak

menggunakan array. Program ini dibuat untuk mempermudah dalam

(43)

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

kasus ini adalah:

Berikut

adalah proses penyelesaian secara manual:

Langkah 1

: Generate Partikel-partikel Awal

Proses generate ini dilakukan dengan membangkitkan

partikel-partikel secara acak sejumlah ukuran swarm yaitu 10 dan dengan

jumlah 10 kota, partikel ini adalah rute awal dari TSP. Partikel yang

telah dibangkitkan adalah:

{ }

{ }

(44)

{ }

{ }

{ }

{ }

{ }

{ }

{ }

{ }

Kemudian setiap partikel tersebut dimodifikasi untuk

mendapatkan partikel baru pada lokal areanya dengan memilih dua

daerah secara acak kemudian menukarnya. Contoh:

:

Setelah dimodifikasi, kemudian menjadi

:

Dengan cara yang sama maka didapatkan hasil modifikasi setiap

partikel.

Untuk

{ }

, dimodifikasi menjadi

{ }

{ }

{ }

{ }

1 0 4 7 8 6 3 5 2 9

1 0 2 7 8 6 3 5 4 9

(45)

{ }

Untuk

{ }

, dimodifikasi menjadi

}

{ }

{ }

{ }

{ }

Untuk

{ }

, dimodifikasi menjadi

{ }

{ }

{ }

{ }

{ }

Untuk

{ }

, dimodifikasi menjadi

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

{ }

{ }

{ }

{ }

Untuk

{ }

, dimodifikasi menjadi

{ }

(46)

{ }

{ }

{ }

Untuk

{ }

, dimodifikasi menjadi

{ }

{ }

{ }

{ }

{ }

Untuk

{ }

, dimodifikasi menjadi

{ }

{ }

{ }

{ }

{ }

Untuk

{ }

, dimodifikasi menjadi

{ }

{ }

{ }

{ }

{ }

Untuk

{ }

, dimodifikasi menjadi

(47)

{ }

{ }

{ }

{ }

{ }

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

Tabel 4.1.

Tabel 4.1.

Fungsi Tujuan Partikel-partikel

912

998

(48)

906

1152

748

950

666

950

1130

1108

1240

1194

1154

1166

908

1082

868

996

952

1196

1398

1324

1072

(49)

1280

1196

1066

1324

862

1442

988

988

942

826

1072

1042

754

800

800

1042

836

1194

1286

1194

(50)

1194

1268

1240

1240

1110

1194

Langkah 3

: Tetapkan

dan

Langkah selanjutnya adalah mencari

dan

, tetapi

sebelumnya akan dilakukan pencarian local best route

terlebih

dahulu pada setiap lokal area partikel dengan menggunakan aturan SA.

Misal

adalah modifikasi dari partikel awal

, jika

maka solusi baru dapat diterima. Jika tidak, maka dibangkitkan

bilangan acak pada interval [ ], kemudian hitung probabilitas

(

)

, jika maka solusi baru tetap diterima. Kemudian

yang telah didapat oleh setiap partikel dari masing-masing lokal

areanya akan digunakan sebagai

.

Untuk proses perhitungannya adalah sebagai berikut:

Untuk

{ }

, dimodifikasi menjadi

{ }

(

)

, maka

{ }

(51)

(

)

,

karena

(

)

maka

dibangkitkan dan hitung (

)

. Dan karena maka rute baru

diterima, sehingga

{ }

(

) ,

karena

(

)

maka

dibangkitkan dan hitung (

)

. Dan karena maka rute baru

ditolak, sehingga

{ }

(

)

, karena (

)

maka

{ }

,

karena

(

)

maka

dibangkitkan dan hitung (

)

. Dan karena maka rute baru

ditolak, sehingga

Jadi, didapatkan

{ }

dengan

.

Dan dengan cara yang sama maka akan

didapatkan

yang lainnya.

Jadi, semua

yang telah diperoleh adalah:

{ }

dengan

{ }

dengan

{ }

dengan

{ }

dengan

(52)

{ }

dengan

{ }

dengan

{ }

dengan

{ }

dengan

{ }

dengan

{ }

dengan

Setelah mendapat nilai

dari setiap partikel, kemudian

akan ditetapkan

, yaitu:

{

Sehingga didapatkan

{ }

dengan

Langkah 4

: Update Partikel-partikel

Langkah ini adalah menyilangkan partikel

dengan

dan

secara terpisah untuk memperbarui dirinya, yaitu sebagai

berikut:

Untuk

, karena sebelumnya telah didapatkan:

{ }

{ }

{ }

Maka dipilih daerah persilangan,

:

:

1 0 4 7 8 6 3 5 2 9

1 0 4 9 8 6 3 5 2 7

Gambar

Tabel 4.1. Fungsi Tujuan Partikel-partikel
Tabel 4.2. Hasil Perbandingan Output TSP 100 Kota

Referensi

Dokumen terkait

78 Tahun 2009 Tentang Penyelenggaraan Sekolah Bertaraf Internasional Pada Jenjang Pendidikan Dasar dan Menengah pasal 4 Ayat (2), bahwa: “SBI menerapkan satuan

Penulisan tesis ini merupakan salah satu persyaratan akademik untuk menyelesaikan pendidikan pada Program Studi S2 Ilmu Kesehatan Masyarakat Minat Studi Administrasi Rumah

perkembangannya perpustakaan UKSW cukup berani melakakukan inovasi yang sangat riskan, karena bila seluruh data yang ada di pusat server hilang mungkin saja seluruh koleksi

Tesis ini memfokuskan pada simulasi interferensi komponen hambatan viskos dan gelombang laut yang timbul diantara kedua lambung kapal katamaran (baik bentuk lambung simetris

Sesuai dengan POJK 17/2020, Direksi Perseroan wajib mengumumkan Keterbukaan Informasi ini dalam Situs Web Perseroan dan Situs Web Bursa Efek Indonesia untuk memberikan

Untuk melakukan transfer dari media kaset ke dalam komputer, pastikan kabel audio dihubungkan dengan line-out pada tape compo dan line-in pada soundcard komputer.. Pastikan pula

Penelitian ini merupakan jenis penelitian eksperimental dengan pendekatan quasi eksperimental dan dengan desain one group pre and post-test design , dengan tujuan

Oleh karena itu, perlu usaha untuk meningkatkan nilai guna dan nilai tambah dari Minyak Sereh Wangi dengan mengolahnya lebih lanjut menjadi pure oil maupun produk turunannya