Anda di halaman 1dari 20

1.

Algoritma Nearest Neighbor


Berikut data nama outlet, alamat, dan jarak tiap pelanggan yang diinputkan.
Outlet dipresentasikan sebagai titik dan jarak tiap outlet adalah sebagai sisi yang
berbobot.

Kode Nama Outlet Alamat


A Depot (Karanglo) Pergudangan Tanrise K Walk B33,
Karanglo, Singosari, Kabupaten Malang
B Dinoyo Jl. MT. Haryono No.73, Dinoyo,
Lowokwaru, Malang
C Sukun JL. S.Supriadi No 30 E, Malang
D Sawojajar Jl. Danau Toba E5-E6 Sawojajar, Malang
E Trunojoyo Jl. Trunojoyo No 50, Malang
F Kawi Jl. Kawi 10, Malang
G Kepanjen JL. A.Yani No. 5, Kepanjen, Kabupaten
Malang

Sebuah pabrik roti Kampoeng Roti mengirim roti-roti ke lima outlet yang ada di
Malang dengan matriks jarak tempuh dengan satuan kilo meter sebagai berikut:

Tabel Jarak Tempuh dan Waktu Tempuh antar Outlet

0 9 9 11 7 8
9 0 9 10 6 5
9 9 0 8 5 4
11 10 8 0 4 6
7 6 5 4 0 5
8 5 4 6 5 0
Dengan gambar graph sebagai berikut:

Kemudian pada rute atau perjalanan pertama ternyata ada penambahan titik
yaitu yaitu titik , sehingga ada perubahan tabel sebagai berikut:
Tabel Jarak Tempuh dan Waktu Tempuh antar Outlet Setelah Penambhan Titik

0 9 9 11 7 8 30
9 0 9 10 6 5 29
9 9 0 8 5 4 20
11 10 8 0 4 6 26
7 6 5 4 0 5 23
8 5 4 6 5 0 24
30 29 20 26 23 24 0
Dengan gambar graph sebagai berikut:

Kemudian pada rute atau perjalanan kedua ternyata ada pengurangan titik
yaitu yaitu titik , sehingga ada perubahan tabel sebagai berikut:

Tabel Jarak Tempuh dan Waktu Tempuh antar Outlet Setelah Pengurangan Titik

0 9 9 11 7 30
9 0 9 10 6 29
9 9 0 8 5 20
11 10 8 0 4 26
7 6 5 4 0 23
30 29 20 26 23 0
Dengan gambar graph sebagai berikut:
Penyelesaian:
1. Pilih titik sebagai titik awal.
2. Pilih titik lain dengan sisi yang terkait dengan titik memiliki bobot minimum, yaitu
titik dengan bobot
3. Kemudian terdapat penambahan titik .
4. Dari titik , pilih titik lain yang memiliki bobot minimum yaitu titik dengan bobot
Sehingga didapat hasil sementara
5. Kemudian terdapat pengurangan titik .
6. Dari titik , pilih titik lain yang memiliki bobot minimum yaitu titik dengan bobot
Sehingga didapat hasil sementara
7. Dari titik , pilih titik lain yang memiliki bobot minimum yaitu titik dengan bobot
Sehingga didapat hasil sementara
8. Dari titik , pilih titik lain yang memiliki bobot minimum yaitu titik dengan bobot
Sehingga didapat hasil sementara

9. Dari titik , pilih titik lain yang memiliki bobot minimum yaitu titik dengan bobot
Sehingga didapat hasil akhir yaitu
engan gambar graph sebagai berikut:

Rute akhir yang diperoleh adalah Depot(Karanglo)-Trunojoyo-Sawojajar-Sukun-


Dinoyo-Kepanjen-Depot(Karanglo) dengan total jarak sebesar 87 km.
2. Algoritma Ant Colony Optimization
Tabel jarak antara outlet “Kampoeng Roti” Malang adalah sebagai berikut :
Karanglo Dinoyo Sukun Sawojajar Trunojoyo Kawi
Karanglo 0 9 9 11 7 8
Dinoyo 9 0 9 10 6 5
Sukun 9 9 0 8 5 4
Sawojajar 11 10 8 0 4 6
Trunojoyo 7 6 5 4 0 5
Kawi 8 5 4 6 5 0

Langkah-langkah algoritma ant colony optimization adalah sebagai berikut :


A. Identifikasi yaitu jarak antara titik dan titik
0 1 2 3 4 5
0 0 9 9 11 7 8
1 9 0 9 10 6 5
2 9 9 0 8 5 4
3 11 10 8 0 4 6
4 7 6 5 4 0 5
5 8 5 4 6 5 0
Keterangan :
0 : Depot (titik asal)
1 : Outlet Dinoyo
2 : Outlet Sukun
3 : Outlet Sawojajar
4 : Outlet Trunojoyo
5 : Outlet Kawi

B. Inisialisasi Parameter Awal bagi pheromone


Tetapkan nilai parameter 0,1. Nilai dari semua pheromone
pada awal perhitungan ditetapkan dengan angka awal yang sangat kecil. Pada
contoh perhitungan penelitian ini nilai pheromone awal adalah 0,002 yang diperoleh dari
persamaan:

dimana adalah banyaknya titik pada tour, dan adalah kemungkinan jarak tour
terpendek yang diperoleh dari metode nearest neighborhood heuristic. Pada
permasalahan ini, pencarian rute menggunakan algoritma nearest neighbor heuristic
memperoleh hasil 87 km dengan titik sebanyak 6. Penetapan nilai pheromone awal
dimaksudkan agar tiap-tiap sisi memiliki nilai ketertarikan untuk dikunjungi oleh tiap-tiap
semut. Nilai pheromone untuk semua titik dapat dilihat pada tabel :
0 1 2 3 4 5
0 0,002 0,002 0,002 0,002 0,002 0,002
1 0,002 0,002 0,002 0,002 0,002 0,002
2 0,002 0,002 0,002 0,002 0,002 0,002
3 0,002 0,002 0,002 0,002 0,002 0,002
4 0,002 0,002 0,002 0,002 0,002 0,002
5 0,002 0,002 0,002 0,002 0,002 0,002

C. Menentukan Jumlah Semut


Pada tahap ini adalah penentuan jumlah semut yang akan diletakan pada tiap node
untuk melakukan tour. Pada penelitian ini, digunakan 1 semut saja , karena perjalanan
harus dimulai dan diakhiri pada titik yang sama.

D. Membuat Tabu-List
Semut yang telah diletakkan pada masing-masing node mulai melakukan tour dan
menghasilkan sebuah path atau rute. Jumlah tabulist akan sebanding dengan jumlah
semut. Langkah-langkah menentukan tabulist :
a. Letakan semut pada node i. Misalkan pada tabulist ke-1 oleh semut ke-1. Mula-mula
semut diletakan pada node ke-0, maka node i sama dengan node 0. Selanjutnya semut
akan menuju node j.
b. Menentukan node j
Node j adalah node antara node 0 sampai dengan 5 pada node outlet. Cara untuk
menentukannya ialah berdasarkan nilai probabilitas terbesar, untuk mengetahuinya
maka digunakan rumus sebagai berikut.

sehingga diperoleh tabel invers jarak sebagai berikut :

0 1 2 3 4 5
0 0 0,11 0,11 0,09 0,14 0,125
1 0,11 0 0,11 0,1 0,17 0,2
2 0,11 0,11 0 0,125 0,2 0,25
3 0,09 0,1 0,125 0 0,25 0,17
4 0,14 0,17 0,2 0,25 0 0,2
5 0,125 0,2 0,25 0,17 0,2 0

[ ] [ ]
∑[ ] [ ]
dimana ∑ adalah jumlah nilai dari semua titik ke
dan adalah semut ke .
c. Pencarian Rute :
1. Pilih titik 0 sebagai titik awal
2. Dari titik 0, titik yang belum dikunjungi adalah titik 1,2,3,4, dan 5.
Diperoleh nilai probabilitas sebagai berikut :
∑[ ] [ ] + + +
+ = 0,0000242 + 0,0000242 + 0,0000162 +
0,0000392 + 0,00003125 = 0,00013505
Sehingga dapat dibuat tabel probabilitas dari titik 0 ke titik j di bawah ini :

Titik j 1 2 3 4 5
0,17919 0,17919 0,11995 0,29026 0,23139
Dari tabel, terlihat bahwa nilai probabilitas terbesar ada di titik 4, sehingga titik
selanjutnya yang dipilih adalah titik 4. Sehingga terbentuklah rute 0 – 4 dengan
jarak 7.

3. Lakukan update pheromone local pada titik 4 dengan rumus sebagai berikut :

dimana :
= panjang tur yang diperoleh
= jumlah lokasi
= parameter dengan nilai 0 sampai 1, pada penelitian ini dipilih
= perubahan pheromone.
Sehingga hasil pembaruan pheromone lokal untuk 0 – 4 adalah sebagai berikut :

0,00418

Sehingga diperoleh tabel pheromone berikut :


0 1 2 3 4 5
0 0,002 0,002 0,002 0,002 0,00418 0,002
1 0,002 0,002 0,002 0,002 0,002 0,002
2 0,002 0,002 0,002 0,002 0,002 0,002
3 0,002 0,002 0,002 0,002 0,002 0,002
4 0,00418 0,002 0,002 0,002 0,002 0,002
5 0,002 0,002 0,002 0,002 0,002 0,002

4. Pada iterasi selanjutnya, ternyata terdapat penambahan titik 6 dengan jarak


sebagai berikut :
0 1 2 3 4 5 6
0 0 9 9 11 7 8 30
1 9 0 9 10 6 5 29
2 9 9 0 8 5 4 20
3 11 10 8 0 4 6 26
4 7 6 5 4 0 5 23
5 8 5 4 6 5 0 24
6 30 29 20 26 23 24 0
Sehingga akan mengubah tabel invers jaraknya :
0 1 2 3 4 5 6
0 0 0,11 0,11 0,09 0,14 0,125 0,03
1 0,11 0 0,11 0,1 0,17 0,2 0,034
2 0,11 0,11 0 0,125 0,2 0,25 0,05
3 0,09 0,1 0,125 0 0,25 0,17 0,038
4 0,14 0,17 0,2 0,25 0 0,2 0,043
5 0,125 0,2 0,25 0,17 0,2 0 0,041
6 0,03 0,034 0,05 0,038 0,043 0,041 0

5. Dari titik 4, titik yang belum dikunjungi setelah ada penambahan titik adalah titik
1,2,3,5,dan 6.
Diperoleh nilai probabilitas sebagai berikut :
∑[ ] [ ] + +
+ = 0,0000578 + 0,00008 + 0,000125 +
0,00008 + 0,000003698 = 0,000233.
Sehingga dapat dibuat tabel probabilitas dari titik 4 ke titik j di bawah ini :
Titik j 1 2 3 5 6
0,248 0,3433 0,5364 0,3433 0,0158
Dari tabel, terlihat bahwa nilai probabilitas terbesar ada di titik 3, sehingga titik
selanjutnya yang dipilih adalah titik 3. Sehingga terbentuklah rute 0 – 4 – 3
dengan total jarak 11.

6. Lakukan update pheromone local pada titik 3 (rute 4-3) :


Hasil pembaruan pheromone lokal untuk 4-3 adalah sebagai berikut :

Sehingga diperoleh tabel pheromone berikut :


0 1 2 3 4 5
0 0,002 0,002 0,002 0,002 0,002
1 0,002 0,002 0,002 0,002 0,002 0,002
2 0,002 0,002 0,002 0,002 0,002 0,002
3 0,002 0,002 0,002 0,002 0,002
4 0,002 0,002 0,002 0,002
5 0,002 0,002 0,002 0,002 0,002 0,002

7. Pada iterasi selanjutnya, ternyata terdapat pengurangan atau penghapusan titik 5,


sehingga akan mengubah tabel invers jaraknya.
0 1 2 3 4 6
0 0 0,11 0,11 0,09 0,14 0,03
1 0,11 0 0,11 0,1 0,17 0,034
2 0,11 0,11 0 0,125 0,2 0,05
3 0,09 0,1 0,125 0 0,25 0,038
4 0,14 0,17 0,2 0,25 0 0,043
6 0,03 0,034 0,05 0,038 0,043 0

8. Dari titik 3, titik yang belum dikunjungi setelah ada penghapusan titik 5 adalah
titik 1,2,dan 6.
Diperoleh nilai probabilitas sebagai berikut :
∑[ ] [ ] + + =
0,00002 + 0,00003125 + 0,0000028 = 0,00005405
Sehingga dapat dibuat tabel probabilitas dari titik 3 ke titik j di bawah ini :

Titik j 1 2 6
0,37002 0,5781 0,0518
Dari tabel, terlihat bahwa nilai probabilitas terbesar ada di titik 2, sehingga titik
selanjutnya yang dipilih adalah titik 2. Sehingga terbentuklah rute 0 – 4 – 3 – 2
dengan jarak total 19.
9. Lakukan update pheromone local pada titik 2 (rute 3-2) :
Hasil pembaruan pheromone lokal untuk 4-3 adalah sebagai berikut :

Sehingga diperoleh tabel pheromone berikut :


0 1 2 3 4 5
0 0,002 0,002 0,002 0,002 0,002
1 0,002 0,002 0,002 0,002 0,002 0,002
2 0,002 0,002 0,002 0,002 0,002
3 0,002 0,002 0,002 0,002
4 0,002 0,002 0,002 0,002
5 0,002 0,002 0,002 0,002 0,002 0,002

10. Dari titik 2, titik yang belum dikunjungi adalah titik 1 dan 6.
Diperoleh nilai probabilitas sebagai berikut :
∑[ ] [ ] + = 0,0000242 +
0,000005 = 0,0000292
Sehingga dapat dibuat tabel probabilitas dari titik 2 ke titik j di bawah ini :

Titik j 1 6
0,8287 0,171
Dari tabel, terlihat bahwa nilai probabilitas terbesar ada di titik 1, sehingga titik
selanjutnya yang dipilih adalah titik 1. Sehingga terbentuklah rute 0 – 4 – 3 – 2 – 1
dengan total jarak 28.

11. Lakukan update pheromone local pada titik 1 (rute 2-1) :


Hasil pembaruan pheromone lokal untuk 4-3 adalah sebagai berikut :
Sehingga diperoleh tabel pheromone berikut :
0 1 2 3 4 6
0 0,002 0,002 0,002 0,002 0,002
1 0,002 0,002 0,002 0,002 0,002
2 0,002 0,002 0,002 0,002
3 0,002 0,002 0,002 0,002
4 0,002 0,002 0,002 0,002
6 0,002 0,002 0,002 0,002 0,002 0,002

12. Titik yang belum dipilih adalah titik 6, sehingga rute yang terbentuk adalah 0 – 4
– 3 – 2 – 1 – 6 dengan total jarak 57.

13. Lakukan update pheromone local pada titik 6 (rute 1-6) :


Hasil pembaruan pheromone lokal untuk 1-6 adalah sebagai berikut :

Sehingga diperoleh tabel pheromone berikut :


0 1 2 3 4 6
0 0,002 0,002 0,002 0,002 0,002
1 0,002 0,002 0,002 0,002
2 0,002 0,002 0,002 0,002
3 0,002 0,002 0,002 0,002
4 0,002 0,002 0,002 0,002
6 0,002 0,002 0,002 0,002 0,002

14. Karena semua titik sudah terlewati, maka rute akan kembali ke depot (titik 0),
sehingga rute yang terbentuk adalah 0 – 4 – 3 – 2 – 1 – 6 – 0 dengan total jarak 87.

15. Lakukan update pheromone local pada titik 0 (rute 6-0) :


Hasil pembaruan pheromone lokal untuk 6-0 adalah sebagai berikut :

Sehingga diperoleh tabel pheromone lokal berikut :


0 1 2 3 4 6
0 0,002 0,002 0,002 0,002
1 0,002 0,002 0,002 0,002
2 0,002 0,002 0,002 0,002
3 0,002 0,002 0,002 0,002
4 0,002 0,002 0,002 0,002
6 0,002 0,002 0,002 0,002

16. Diperoleh rute akhir 0 – 4 – 3 – 2 – 1 – 6 – 0 dengan total jarak 87. Kemudian rute
ini dimasukkan ke dalam tabulist 1. Pemilihan rute yang digunakan berdasarkan
jarak terpendek yang ada pada tabulist. Banyaknya tabulist berdasarkan
banyaknya semut yang digunakan. Oleh karena itu, dalam penelitian ini rute
terpendek yang diperoleh adalah rute 0 – 4 – 3 – 2 – 1 – 6 – 0 dengan total jarak
87

E. Tahap Pembaruan Pheromone Global


Setelah mendapatkan rute dan setiap titik tujuan yang dikunjungi telah
mengalami pembaharuan pheromone secara lokal, maka tahap berikutnya adalah
melakukan pembaharuan pheromone secara global. Hanya saja titik tujuan yang dapat
diperbaharui secara global hanyalah titik tujuan yang menghasilkan rute dengan jarak
terpendek. Pembaharuan pheromone secara global dilakukan berdasarkan persamaan :

dimana :
= nilai pheromone akhir setelah mengalami pembaruan lokal
= panjang rute akhir
=

1. Untuk

2. Untuk

3. Untuk

4. Untuk

5. Untuk
6. Untuk

Sehingga diperoleh tabel nilai pheromone setelah mengalami tahap pembaruan


global berikut ini :

0 1 2 3 4 6
0 0,0018 0,0018 0,0018 0,0018
1 0,0018 0,0018 0,0018 0,0018
2 0,0018 0,0018 0,00180,0018
3 0,0018 0,0018 0,0018 0,0018
4 0,0018 0,0018 0,0018 0,0018
6 0,0018 0,0018 0,0018 0,0018
Pembaruan feromon ini dilakukan jika ingin melakukan iterasi lagi dalam
pencarian rute, dengan menggunakan kembali langkah bagian

Rute terpendek distribusi roti di “Kampoeng Roti” dengan menggunakan algoritma


Ant Colony Optimization adalah : Depot (Karanglo) - Trunojoyo – Sawojajar – Sukun
– Dinoyo – Kepanjen – Depot (Karanglo) dengan total jarak sebesar
km.
3. Algoritma Nearest Insertion Heuristic
Sebuah pabrik roti Kampoeng Roti mengirim roti-roti ke lima outlet yang ada di
Malang dengan matriks jarak tempuh dengan satuan kilo meter sebagai berikut:

Tabel Jarak Tempuh dan Waktu Tempuh antar Outlet

0 9 9 11 7 8
9 0 9 10 6 5
9 9 0 8 5 4
11 10 8 0 4 6
7 6 5 4 0 5
8 5 4 6 5 0

Dengan gambar graph sebagai berikut:

Kemudian pada rute atau perjalanan pertama ternyata ada penambahan titik
yaitu yaitu titik , sehingga ada perubahan tabel sebagai berikut:

Tabel Jarak Tempuh dan Waktu Tempuh antar Outlet Setelah Penambahan Titik

0 9 9 11 7 8 30
9 0 9 10 6 5 29
9 9 0 8 5 4 20
11 10 8 0 4 6 26
7 6 5 4 0 5 23
8 5 4 6 5 0 24
30 29 20 26 23 24 0
Dengan gambar graph sebagai berikut:
Kemudian pada rute atau perjalanan kedua ternyata ada pengurangan titik yaitu yaitu titik ,
sehingga ada perubahan tabel sebagai berikut:

Tabel Jarak Tempuh dan Waktu Tempuh antar Outlet Setelah Pengurangan Titik

0 9 9 11 7 30
9 0 9 10 6 29
9 9 0 8 5 20
11 10 8 0 4 26
7 6 5 4 0 23
30 29 20 26 23 0
Dengan gambar graph sebagai berikut:

Penyelesaian:

1. Iterasi adalah dengan titik awal yaitu titik jadi


2. Mencari titik
Jarak tempuh:
min { }
min { }
7 yaitu
Titik yang sudah diambil adalah sehingga membentuk sikel
{ }.
3. Kemudian terjadi penambahan titik dan pengurangan titik
4. Cari titik yang terdekat ke sebarang titik dari
Jarak tempuh:
min { }
min { }
9 yaitu dengan
Titik yang sudah diambil adalah sehingga membentuk sikel
{ }. Karena terjadi penambahan titik dan pengurangan titik
jadi titik tidak diperhitungkan.
5. Iterasi 2: cari titik yang terdekat ke sebarang titik

di mana: adalah jarak dari titik ke titik


adalah jarak dari titik ke titik
adalah jarak dari titik ke titik .
Jarak tempuh:

Nilai minimum adalah Jadi pilih titik disisipkan dalam sisi Sehingga
didapat sikel Hamilton sementara yaitu { }.
6. Iterasi 3: cari titik yang terdekat ke sebarang titik

di mana: adalah jarak dari titik ke titik


adalah jarak dari titik ke titik
adalah jarak dari titik ke titik .
Jarak tempuh:

Nilai minimum adalah Jadi titik disisipkan dalam sisi Sehingga


didapat sikel Hamilton sementara yaitu { }
7. Karena tinggal satu titik yang belum dimasukkan yaitu titik maka disisipkan
dengan sisi yang memiliki jarak minimum yaitu sisi Sehingga didapat hasil
akhir sikel Hamilton yaitu { }. Panjang sikel

Rute terpendek distribusi roti di “Kampoeng Roti” dengan menggunakan algoritma


Nearest Insertion Heuristic adalah : Depot (Karanglo) - Sukun –Sawojajar– Dinoyo –
Kepanjen –Trunojoyo– Depot (Karanglo) dengan total jarak sebesar
4. Perhitungan dengan Alat Bantu DTSP

1. Perhitungan 6 titik menggunakan alat bantu, dengan penambahan dan penghapusan


1 titik
Penambahan 1 titik G :

Penghapusan 1 titik F :
Pada iterasi di atas, terlihat bahwa rute sudah melalui semua titik (outlet) dan graph
NIH sudah membentuk sikel hamilton. Sehingga iterasi dapat dihentikan.
Diperoleh hasil akhir rute optimal yaitu A-C-D-B-G-E-A dengan total
panjang sikel atau jarak yang ditempuh sebesar 86.

Anda mungkin juga menyukai