Jalur ke-5 : A
D E
F Dari uraian jalur diatas dapat ditentukan jalur atau lintasan terpendek dengan mencari
jarak suatu jalur antara simpul-simpulnya kemudian membandingkan dengan jarak pada jalur yang lain dan menentukan total jarak yang terpendek atau yang paling kecil.
2.3 Algoritma Tabu Search TS
Tabu Search merupakan salah satu algoritma yang berada dalam ruang lingkup metode heuristik. Algoritma ini menggunakan short-term memory untuk menjaga agar
proses pencarian tidak terjebak pada nilai optimum lokal. Algoritma ini menggunakan tabu list untuk menyimpan sekumpulan solusi yang baru saja dievaluasi. Selama
proses optimasi, pada setiap iterasi, solusi yang akan dievaluasi akan dicocokkan terlebih dahulu dengan isi tabu list untuk melihat apakah solusi tersebut sudah ada
pada tabu list. Apabila solusi tersebut sudah ada pada tabu list, maka solusi tersebut tidak
akan dievaluasi lagi pada iterasi berikutnya. Dan jika sudah tidak ada lagi solusi yang tidak akan menjadi anggota tabu list, maka nilai terbaik yang baru saja diperoleh
merupakan solusi yang sebenarnya. Beberapa elemen utama pada Tabu Search adalah sebagai berikut :
1. Representasi solusi : setiap solusi yang mungkin pada suatu permasalahan optimasi harus direpresentasikan.
2. Fungsi cost : setiap fungsi cost akan memetakan setiap solusi yang mungkin ke nilai cost-nya
3. Neightbourhood tetangga : suatu fungsi yang memetakan setiap solusi yang mungkin ke solusi-solusi yang lainnnya.
4. Tabu list : suatu list atau daftar yang berisi solusi gerakan terakhir. 5. Jumlah elemen yang harus ada pada suatu solusi.
Algoritma Tabu Search secara garis besar dapat ditulis sebagai berikut :
Universitas Sumatera Utara
Langkah 0 : Tetapkan : X = Matriks input berukuran n x m.
MaxItr = Maksimum Iterasi. Langkah 1 : S = bangkitkan solusi secara random.
Langkah 2 : GlobalMin = FCostS. Langkah 3 : Best = S.
Langkah 4 : TabuList = [ ]. Langkah 5 : Kerjakan dari k = 1 sampai MaxItr:
Langkah 6 : BestSoFar = Cost. Langkah 7 : BestMove = S.
Langkah 8 : Kerjakan dari i = 1 sampai MaxItr: Langkah 9 : Kerjakan dari j = i sampai n:
Langkah 10:
L = TukarS[i],S[j]. Langkah 11:
Cost = FCostL. Langkah 12: JikaL
TabuListatauCosGlobalMin,kerjakan : Langkah 13:
Jika Cost BestSoFar, kerjakan : Langkah 14:
BestSoFar = Cost. Langkah 15:
BestMove = L. Langkah 16: S = BestMove.
Langkah 17: Tambahkan S ke Tabu List. Langkah 18: Jika BestSoFar GlobalMin, kerjakan :
Langkah 19: GlobalMin = BestSoFar. Langkah 20: Best = BestMove.
Solusi Akhir adalah Best, dengan cost sebesar GlobalMin. Contoh penyelesaian kasus Travelling Sales Problem menggunakan algoritma TS :
Misalkan pada kasus ini jalur yang ditetapkan dimulai dari kota ke-5 dan berakhir di kota ke-2. Menggunakan TS dengan maksimum 6 iterasi. Perhatikan Gambar 2.7 graf
tidak berarah dan tidak berbobot 123456 dan Tabel 2.3 Matriks jarak antar titik.
6 5
2 4
3 1
Gambar 2.7 graf tidak berarah 123456
Universitas Sumatera Utara
1 2
3 4
5 6
1 20
21 25
30 36
2 20
25 21
36 30
3 21
25 10
11 18
4 25
21 10
18 11
5 30
36 11
18 20
6 36
30 18
11 20
Jalur awal : 5
1 3 4 6 2 Panjang jalur = 102
Iterasi ke-1 : Tabu List :
5 1 3 4 6 2
Panjang jalur = 102 Tetangga Jalur alternatif berikutnya :
Jalur ke-1 : 5
3 1
4 6
2 Panjang jalur = 98
BestSoFar = 98 Jalur ke-2 :
5 4
3 1
6 2 Panjang jalur = 115
Jalur ke-3 : 5
6 3
4 1
2 Panjang jalur = 93
BestSoFar = 93 Jalur ke-4 :
5 1
4 3
6 2 Panjang jalur = 113
Jalur ke-5 : 5
1 6
4 3
2 Panjang jalur = 112 Jalur ke-6 :
5 1
3 6
4 2 Panjang jalur = 101
BestSoFar = 93, yaitu pada jalur ke-3 diterima sebagai GlobalMin GlobalMin = 93
Iterasi ke-2 : Tabu List :
5 1 3 4 6 2
Panjang jalur = 102 5
6 3 4 1 2 Panjang jalur = 93
Tabel 2.3 Matriks jarak pada graf tidak berarah 123456
Universitas Sumatera Utara
Tetangga Jalur alternatif berikutnya : Jalur ke-1 :
5 3
6 4
1 2
Panjang jalur = 85 BestSoFar = 85
Jalur ke-2 : 5
4 3
6 1
2 Panjang jalur = 102 Jalur ke-3 :
5 1
3 4
6 2 Panjang jalur = 102
Jalur ke-4 : 5
6 4
3 1
2 Panjang jalur = 82 BestSoFar = 82
Jalur ke-5 : 5
6 1
4 3
2 Panjang jalur = 116 Jalur ke-6 :
5 6
3 1
4 2 Panjang jalur = 105
BestSoFar = 82, yaitu pada jalur ke-4 diterima sebagai GlobalMin GlobalMin = 82
Iterasi ke-3 : Tabu List :
5 1 3 4 6 2
Panjang jalur = 108 5
6 3 4 1 2 Panjang jalur = 93
5 6 4 3 1 2
Panjang jalur = 82 Tetangga Jalur alternatif berikutnya :
Jalur ke-1 : 5
4 6
3 1
2 Panjang jalur = 88
Jalur ke-2 : 5
3 4
6 1
2 Panjang jalur = 88
Jalur ke-3 : 5
1 4
3 6
2 Panjang jalur = 113 Jalur ke-4 :
5 6
3 4
1 2
Panjang jalur = 93 Jalur ke-5 :
5 6
1 3
4 2 Panjang jalur = 108
Jalur ke-6 : 5
6 4
1 3
2 Panjang jalur = 101 GlobalMin = 82
Seterusnya hingga 6 iterasi, dan pada iterasi ke-2 akan diperoleh suatu jalur terpendek, yaitu :
Jalur ke-4 : 5
6 4
3 1
2 Panjang jalur = 82
Universitas Sumatera Utara
2.4 Kompleksitas Algoritma