Studi Kasus

Studi Kasus : VRP-TW dengan 2 truk berkapasitas 100 satuan / mobil berkecepatan rata-rata 60 km / jam.

Jumlah toko konsumen adalah 5 toko. Lama pelayanan di tiap toko adalah 10 menit (0,167 jam). Jam kerja kendaraan diawali pukul 8 pagi dan TW-Awal dan TW-Akhir digambarkan dengan jumlah menit setelah pukul 8.00 pagi. Matriks Demand dan TW masing-masing toko sebagai berikut :
Toko 1 2 3 4 5 Demand 25 50 50 10 15 TW-Awal 90 200 120 180 330 TW-Akhir 540 420 600 600 540

Matriks Jarak Antara Gudang (G) dan masing-masing toko adalah sebagai berikut:
Jarak G 1 2 3 4 5 G 0 100 180 160 110 140 1 100 0 60 80 50 120 2 180 60 0 90 30 70 3 160 80 90 0 50 80 4 110 50 30 50 0 60 5 140 120 70 80 60 0

Penyelesaian : Inisiasi solusi awal dengan metode nearest neighborhood semula tidak ada rute dan nilai Total Travel Time = 0, nilai awal variabel Sisa Demand untuk semua toko = Demand masing-masing toko, nilai awal variabel Muatan untuk masingmasing truk = Kapasitas masing-masing truk (karena asumsi truk dimuati penuh), nilai awal variabel id_konsumen = 1 (untuk variabel penghitung jumlah konsumen yang dilayani oleh sebuah truk), nilai awal variabel v_terpakai = 1 (untuk variabel penghitung jumlah truk yang dipakai untuk menyelesaikan rute), nilai awal counter_jam masing-masing truk adalah 0 pada awal hari kerja, nilai awal variabel counter_node = 1 (untuk menghitung jumlah konsumen keseluruhan) - Pilih konsumen terdekat dari lokasi gudang, yaitu Toko-1 - Pilih kendaraan kapasitas terbesar,karena sama boleh sembarang, misal kita ambil Truk-1 - Update Rute : Rute(1,1) = Toko-1 - Counter_jam Truk-1 = 0 + (100/60) X 60 menit = 100 > TW-Awal Toko1 Bisa Langsung Dilayani karena Toko-1 sudah buka - Truk-1 selesai dilayani oleh Toko-1 pada saat counter_jam Truk-1 = 100 + waktu pelayanan 10 menit = 110 - Update nilai Total Travel Time = 0 + 110 = 110 - Update nilai Total Travel Distance = 0 + 100 = 100 - Sisa Demand Toko-1 = 25 < Muatan Truk-1 = 100 sehingga : Sisa Demand Toko-1 = 25 – 25 = 0 dan Muatan Truk-1 = 100 – 25 = 75 - Id_konsumen = 1 + 1 = 2 (bersiap melayani konsumen yang kedua untuk Truk-1) dan counter_node = 1 + 1 = 2

2) = Toko-4 Counter_jam Truk-1 = 110 + 50/60*60 = 160 < TW-Awal Toko-4 sehingga ada waktu menunggu selama 180 – 160 = 20 menit Truk-1 selesai dilayani oleh Toko-4 pada saat counter_jam Truk-1 = 160 + waktu pelayanan 10 menit + waktu tunggu 20 menit = 190 Update nilai Total Travel Time = 110 + 50+ 20 + 10 = 190 Update nilai Total Travel Distance = 0 + 100 + 50 = 150 Sisa Demand Toko-4 = 10 < Muatan Truk-1 = 75 sehingga : Sisa Demand Toko-1 = 10 – 10 = 0 dan Muatan Truk-1 = 75 – 10 = 65 Id_konsumen = 2 + 1 = 3 (bersiap melayani konsumen yang ketiga untuk Truk-1) dan counter_node = 2 + 1 = 3 Cek jumlah konsumen yang sudah dilayani melalui variabel counter_node <= n dan hasilnya < sehingga lanjut untuk pencarian rute berikut Cek apakah jam kerja (variabel Counter_jam) waktu sampai ke tujuan belum melewati TW-Akhir konsumen berikut dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut (konsumen yang dilayani berikut adalah konsumen yang posisinya terdekat dari Toko-4 yaitu Toko-2)  Tidak ada pergantian mobil. tetap melanjutkan rute untuk Truk-1 Pilih Konsumen berikut yang terdekat dari Toko-4.3) = Toko-2 Counter_jam Truk-1 = 190 + 30/60*60 = 220> TW-Awal Toko-2 Bisa Langsung Dilayani karena Toko-2 sudah buka Truk-1 selesai dilayani oleh Toko-2 pada saat counter_jam Truk-1 = 220 + waktu pelayanan 10 menit = 230 Update nilai Total Travel Time = 110 + 50+ 20 + 10 + 30 + 10 = 230 Update nilai Total Travel Distance = 100 + 50 + 30 = 180 Sisa Demand Toko-2 = 50 < Muatan Truk-1 = 65 sehingga : Sisa Demand Toko-2 = 50 – 50 = 0 dan Muatan Truk-1 = 65 – 50 = 15 Id_konsumen = 3 + 1 = 4 (bersiap melayani konsumen yang keempat untuk Truk-1) dan counter_node = 3 + 1 = 4 Cek jumlah konsumen yang sudah dilayani melalui variabel counter_node <= n dan hasilnya < sehingga lanjut untuk pencarian rute berikut Cek apakah jam kerja (variabel Counter_jam) waktu sampai ke tujuan belum melewati TW-Akhir konsumen berikut dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut (konsumen yang dilayani berikut adalah konsumen yang posisinya terdekat dari Toko-2 yaitu Toko-5)  Tidak ada pergantian mobil.- - - Cek jumlah konsumen yang sudah dilayani melalui variabel counter_node <= n dan hasilnya < sehingga lanjut untuk pencarian rute berikut Cek apakah jam kerja (variabel Counter_jam) waktu sampai ke tujuan belum melewati TW-Akhir konsumen berikut dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut (konsumen yang dilayani berikut adalah konsumen yang posisinya terdekat dari Toko-1 yaitu Toko-4)  Tidak ada pergantian mobil. tetap melanjutkan rute untuk Truk-1 Pilih Konsumen berikut yang terdekat dari Toko-1. yaitu Toko-4 Update Rute : Rute(1. tetap melanjutkan rute untuk Truk-1 . yaitu Toko-2 Update Rute : Rute(1.

Total Visited Konsumen = 5.- - - Pilih Konsumen berikut yang terdekat dari Toko-2. rute = Truk-1 (1-4-2-5). V_terpakai = 1 + 1 = 2 (variabel penghitung jumlah truk yang dipakai untuk menyelesaikan rute) dan id_konsumen = 1 Cek apakah jumlah truk yang dibutuhkan tersedia  ya (karena perusahaan punya truk sejumlah 2 unit) Pilih Konsumen berikut yang terdekat dari Gudang. Truk-2 (3) . Total Travel Time. Total Travel Time = 510. yaitu Toko-3 Update Rute : Rute(2.4) = Toko-5 Counter_jam Truk-1 = 230 + 70/60*60 = 300 < TW-Awal Toko-5 ada waktu menunggu selama 330 – 300 = 30 menit Truk-1 selesai dilayani oleh Toko-5 pada saat counter_jam Truk-1 = 300 + waktu pelayanan 10 menit + waktu tunggu 30 menit = 340 Update nilai Total Travel Time = 230 + 70 + 10 + 30 = 340 Update nilai Total Travel Distance = 100 + 50 + 30 + 70 = 250 Sisa Demand Toko-5 = 15 < Muatan Truk-1 = 15 sehingga : Sisa Demand Toko-5 = 15 – 15 = 0 dan Muatan Truk-1 = 15 – 15 = 0 Id_konsumen = 4 + 1 = 5 (bersiap melayani konsumen yang kelima untuk Truk-1) dan counter_node = 4 + 1 = 5 Cek jumlah konsumen yang sudah dilayani melalui variabel counter_node <= n dan hasilnya = sehingga lanjut untuk konsumen yang terakhir Cek apakah jam kerja (variabel Counter_jam) waktu sampai ke tujuan belum melewati TW-Akhir konsumen berikut dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut (konsumen yang dilayani berikut adalah konsumen yang posisinya terdekat dari Toko-5 yaitu Toko-3)  Ganti ke Truk-2 karena muatan Truk-1 sudah maksimal terpakai habis 100 satuan. Total Visited Konsumen. Total Travel Distance. serta Rute.1) = Toko-3 Counter_jam Truk-2 = 0 + 160/60*60 = 160 > TW-Awal Toko-3 Bisa Langsung Dilayani karena Toko-3 sudah buka Truk-2 selesai dilayani oleh Toko-3 pada saat counter_jam Truk-2 = 160 + waktu pelayanan 10 menit = 170 Update nilai Total Travel Time = 340 + 170 = 510 Update nilai Total Travel Distance = 100 + 50 + 30 + 70 + 160 = 410 Sisa Demand Toko-3 = 50 < Muatan Truk-2 = 100 sehingga : Sisa Demand Toko-5 = 50 – 50 = 0 dan Muatan Truk-2 = 100 – 50 = 50 Id_konsumen = 1 + 1 = 2 (bersiap melayani konsumen yang kedua untuk Truk-2) dan counter_node = 5 + 1 = 6 Cek jumlah konsumen yang sudah dilayani melalui variabel counter_node <= n dan hasilnya > sehingga nilai variabel kunci dalam MACS-VEI yaitu Total Visited Konsumen = counter_node -1 = 5 Kembalikan semua nilai variabel Muatan untuk masing-masing truk menjadi sama dengan kapasitas maksimal masing-masing truk dan variabel Sisa_Demand untuk masing-masing konsumen menjadi sama dengan Demand untuk masing-masing konsumen Nilai variabel ψgb menyimpan semua nilai variabel v_terpakai. v_terpakai = 2. Total Travel Distance = 410. yaitu Toko-5 Update Rute : Rute(1.

TW Akhir Toko-1 = 540. Metode ACS-VEI • dilakukan dengan mengurangi Truk yang digunakan sebanyak 1 buah  v_VEI = v_terpakai-1  2 (dilihat dari hasil nearest neigbor) . Counter_jam=0. Distance Gudang ke Toko-1. Delta Time ke Toko-1.851 x 10-5 −Nilai Akhir Gudang ke Toko-1 = [1/(5x510)] x 1. 90} = 100 −Delta Time ke Toko-1 = 100 – 0 = 100 −Distance Gudang ke Toko-1 = 100 x (540-0) = 54000 −Distance Gudang ke Toko-1 = max{ 1. Counter_jam=0. TW Awal konsumen Toko-2 = 200.1 = 1 • melakukan pembuatan rute baru dengan modul new_ant (ACS-VEI dan ACS-Time sama) − Modul new_ant diawali dengan mengecek apakah counter_konsumen <= jumlah konsumen  1 <= 5 − Cek apakah id_konsumen=1 ada di rute. dan apabila menemukan solusi yang lebih baik baru melakukan update nilai variabel ψgb . TW Akhir Toko-2 = 420. Closeness Gudang ke Toko-1.  belum ada rute yang dipilih  tidak − Tambahkan id_konsumen = 1 pada himpunan NIK (himpunan konsumen yang belum dikunjungi. Muatan=100 > 25 (demand Toko-1)  ya.851 x 10-5 = 7.26 x 10-9 − Menambahkan id_konsumen = 1+1 = 2 − Mengecek apakah id_konsumen<=jumlah konsumen  2 <= 5 − Cek apakah id_konsumen = 2 ada di rute. Nilai Akhir Gudang ke Toko-1. baru metode MACS dapat dimulai dengan iterasi diawali dengan ACS-VEI kemudian ACS-Time. Jumlah Nilai Akhir.Setelah mendapat solusi awal dari metode nearest neighbour. −Delivery Time ke Toko-1 = max{0 + (100/60) X 60 menit = 100.semua syarat terpenuhi .26 x 10-9= 7. Muatan=100 > 50 (demand Toko-2)  ya.  belum ada rute yang dipilih  tidak − Tambahkan id_konsumen = 2 pada himpunan NIK  anggota_NIK = 1+1 =2 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut. 54000-0} = 54000 −Closeness Gudang ke Toko-1 = 1/54000 = 1.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-1.26 x 10-9 −Jumlah Nilai Akhir = 0 + 7.nilai awal anggota_NIK = 0)  anggota_NIK = 0+1 = 1 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut. TW Awal konsumen Toko-1 = 90.

−Delivery Time ke Toko-2 = max{0 + (180/60) X 60 menit = 180. Nilai Akhir Gudang ke Toko-2. Distance Gudang ke Toko-3.67 x 10-9 −Jumlah Nilai Akhir = 7. Delta Time ke Toko-3.93 x 10-9 − Menambahkan id_konsumen = 2+1 = 3 − Mengecek apakah id_konsumen<=jumlah konsumen  3 <= 5 − Cek apakah id_konsumen =3 ada di rute. .042 x 10-5= 4.19 x 10 -5 = 4.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-3. TW Akhir Toko-3 = 600.087 x 10-9 + 11. Counter_jam=0. TW Awal konsumen Toko-4 = 180. Muatan=100 > 50 (demand Toko-3)  ya. Jumlah Nilai Akhir. −Delivery Time ke Toko-3 = max{0 + (160/60) X 60 menit = 160. Closeness Gudang ke Toko-2.26 x 10-9 + 4.  belum ada rute yang dipilih  tidak − Tambahkan id_konsumen = 4 pada himpunan NIK  anggota_NIK = 3 + 1=4 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut. 84000-0} = 84000 −Closeness Gudang ke Toko-2 = 1/84000 = 1. 120} = 160 −Delta Time ke Toko-3 = 160 – 0 = 160 −Distance Gudang ke Toko-3 = 160 x (600-0) = 96000 −Distance Gudang ke Toko-3 = max{ 1. TW Awal konsumen Toko-3 = 120. Jumlah Nilai Akhir. Delta Time ke Toko-2.67 x 10-9 = 11.93 x 10-9 = 16. Nilai Akhir Gudang ke Toko-3.042 x 10-5 −Nilai Akhir Gudang ke Toko-3 = [1/(5x510)] x 1.  belum ada rute yang dipilih  tidak − Tambahkan id_konsumen = 3 pada himpunan NIK  anggota_NIK = 2 +1 = 3 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut.017 x 10-9 − Menambahkan id_konsumen = 3+1 = 4 − Mengecek apakah id_konsumen<=jumlah konsumen  4 <= 5 − Cek apakah id_konsumen = 4 ada di rute. Counter_jam=0.087 x 10-9 −Jumlah Nilai Akhir = 4. Distance Gudang ke Toko-2. 96000-0} = 96000 −Closeness Gudang ke Toko-3 = 1/96000 = 1.19 x 10-5 −Nilai Akhir Gudang ke Toko-2 = [1/(5x510)] x 1. 200} = 200 −Delta Time ke Toko-2 = 200 – 0 = 200 −Distance Gudang ke Toko-2 = 200 x (420-0) = 84000 −Distance Gudang ke Toko-2 = max{ 1. Closeness Gudang ke Toko-3.− Menghitung Delivery Time ke Toko-2.

26 x 10-6 −Nilai Akhir Gudang ke Toko-4 = [1/(5x510)] x 9.611 x 10-6 −Nilai Akhir Gudang ke Toko-5 = [1/(5x510)] x 5. Jumlah Nilai Akhir. Closeness Gudang ke Toko-5.9  eksploitasi − Pilih toko dengan Nilai Akhir Tertinggi  Toko-1 (7.9  0. Jumlah Nilai Akhir. Nilai Akhir Gudang ke Toko-4.TW Akhir Toko-4 = 600. Closeness Gudang ke Toko-4.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-4.26 x 10-9) − Cek apakah jam kerja (variabel Counter_jam) waktu sampai ke tujuan belum melewati TW-Akhir konsumen berikut dan sisa muatan (variabel . −Delivery Time ke Toko-5 = max{0 + (140/60) X 60 menit = 140. 330} = 330 −Delta Time ke Toko-5 = 330 – 0 = 330 −Distance Gudang ke Toko-5 = 330 x (540-0) = 178200 −Distance Gudang ke Toko-5 = max{ 1. −Delivery Time ke Toko-4 = max{0 + (110/60) X 60 menit = 110. TW Akhir Toko-5 = 540. Muatan=100 > 10 (demand Toko-4)  ya.63 x 10-9 = 19.62 <=0.85 x 10-9 − Menambahkan id_konsumen = 5+1 = 6 − Mengecek apakah id_konsumen<=jumlah konsumen  6 > 5 − Cek apakah anggota_NIK=0  tidak.647 x 10-9 − Menambahkan id_konsumen = 4+1 = 5 − Mengecek apakah id_konsumen<=jumlah konsumen  5 <= 5 − Cek apakah id_konsumen = 5 ada di rute  belum ada rute yang dipilih  tidak − Tambahkan id_konsumen = 5 pada himpunan NIK  anggota_NIK = 4 + 1=5 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut. anggota_NIK = 5 − Random_pilih_node = 0.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-5. Distance Gudang ke Toko-5.2 x 10-9 −Jumlah Nilai Akhir = 19. Delta Time ke Toko-5. Distance Gudang ke Toko-4. Counter_jam=0. 180} = 180 −Delta Time ke Toko-4 = 180 – 0 = 180 −Distance Gudang ke Toko-4 = 180 x (600-0) = 108000 −Distance Gudang ke Toko-4 = max{ 1.26 x 10-6= 3.611 x 10-6 =2.62 − Cek apakah random_pilih_node <= 0. Muatan=100 > 15 (demand Toko-5)  ya. Delta Time ke Toko-4. TW Awal konsumen Toko-5 = 330.647 x 10-9 + 2.2 x 10-9 = 21. 178200-0} = 178200 −Closeness Gudang ke Toko-5 = 1/178200 = 5. 108000-0} = 108000 −Closeness Gudang ke Toko-4 = 1/108000 = 9.017 x 10-9 + 3. Nilai Akhir Gudang ke Toko-5.63 x 10-9 −Jumlah Nilai Akhir = 16.

Counter_jam=110.1(1/(5x510)) = 1.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-2. TW Akhir Toko-2 = 420.− − − − − − − − − − − − − − − − − Muatan) truk masih mencukupi untuk melayani Toko-1  Tidak ada pergantian mobil. Muatan=75 > 50 (demand Toko-2)  ya.1) = (1-0.58 x 10-5 −Nilai Akhir Gudang ke Toko-2 = [1/(5x510)] x 3. Counter_NIK = 1.58 x 10-5 = 1. tetap melanjutkan rute untuk Truk-1 Simpan rute(1. Distance Gudang ke Toko-2. −Delivery Time ke Toko-2 = max{110 + (60/60) X 60 menit = 170. TW Awal konsumen Toko-2 = 200.64 x 10-3 + 3.1)(1/(5x110)) + 0. random_pilih_node = 0 Counter_jam Truk-1 = 0 + (100/60) X 60 menit = 100 > TW-Awal Toko1 Bisa Langsung Dilayani karena Toko-1 sudah buka Truk-1 selesai dilayani oleh Toko-1 pada saat counter_jam Truk-1 = 100 + waktu pelayanan 10 menit = 110 Update nilai Total Travel Time = 0 + 110 = 110 Update nilai Total Travel Distance = 0 + 100 = 100 Sisa Demand Toko-1 = 25 < Muatan Truk-1 = 100 sehingga : Sisa Demand Toko-1 = 25 – 25 = 0 dan Muatan Truk-1 = 100 – 25 = 75 Counter_konsumen = 1 + 1 = 2 (bersiap melayani konsumen yang kedua untuk Truk-1) dan counter_node = 1 + 1 = 2 Pheromone trail (0.1)= Toko-1 Anggota_NIK = 0.4 x 10-8 −Jumlah Nilai Akhir = 0 + 1.4 x 10-8 − Menambahkan id_konsumen = 2+1 = 3 − Mengecek apakah id_konsumen<=jumlah konsumen  3 <= 5 − Cek apakah id_konsumen = 3 ada di rute  belum . 200} = 200 −Delta Time ke Toko-2 = 200 – 110 = 90 −Distance Gudang ke Toko-2 = 90 x (420-110) = 27900 −Distance Gudang ke Toko-2 = max{ 1. 27900-0} = 27900 −Closeness Gudang ke Toko-2 = 1/27900 = 3.92 x 10-5 = 1. Nilai Akhir Gudang ke Toko-2.4 10-8 = 1. Delta Time ke Toko-2.68 x 10-3 Truk-1 berada di Toko-1 Cek apakah counter_node <= n  2 <=5 Cek apakah counter_konsumen <= n  2 <= 5 Cek id_konsumen = 1 ada di rute  ya Id_konsumen =1+1 = 2 Cek apakah id_konsumen = 2 ada di rute  belum Tambahkan id_konsumen = 2 pada himpunan NIK  anggota_NIK = 0 + 1=1 Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut. Jumlah Nilai Akhir. Closeness Gudang ke Toko-2.

39200-0} = 39200 −Closeness Gudang ke Toko-3 = 1/39200 = 2.4 x 10-8 + 1. Muatan=75 > 10 (demand Toko-4)  ya. TW Awal konsumen Toko-3 = 120. TW Akhir Toko-3 = 600.55 x 10-5= 1 x 108 − − − − − −Jumlah Nilai Akhir = 1. Nilai Akhir Gudang ke Toko-3.4 x 10-8 Menambahkan id_konsumen = 3+1 = 4 Mengecek apakah id_konsumen<=jumlah konsumen  4 <= 5 Cek apakah id_konsumen = 4 ada di rute. Delta Time ke Toko-4.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-3. Delta Time ke Toko-3.6 x 10-8 = 4 x 10-8 − Menambahkan id_konsumen = 4+1 = 5 − Mengecek apakah id_konsumen<=jumlah konsumen  5 <= 5 . Counter_jam=110. Distance Gudang ke Toko-3. Closeness Gudang ke Toko-3.  belum ada rute yang dipilih  tidak Tambahkan id_konsumen = 4 pada himpunan NIK  anggota_NIK = 2 + 1=3 Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut.08 x 10-5= 1. Closeness Gudang ke Toko-4.4 x 10-8 + 1 x 10-8 = 2. −Delivery Time ke Toko-4 = max{110 + (50/60) X 60 menit = 160. Nilai Akhir Gudang ke Toko-4. Muatan=75 > 50 (demand Toko-3)  ya.08 x 10-5 −Nilai Akhir Gudang ke Toko-4 = [1/(5x510)] x 4.55 x 10-5 −Nilai Akhir Gudang ke Toko-3 = [1/(5x510)] x 2.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-4. −Delivery Time ke Toko-3 = max{110 + (80/60) X 60 menit = 190. Jumlah Nilai Akhir. TW Akhir Toko-4 = 600. Distance Gudang ke Toko-4. Jumlah Nilai Akhir. 180} = 160 −Delta Time ke Toko-4 = 160 – 110 = 50 −Distance Gudang ke Toko-4 = 50 x (600-110) = 24500 −Distance Gudang ke Toko-4 = max{ 1.− Tambahkan id_konsumen = 3 pada himpunan NIK  anggota_NIK = 1 +1 = 2 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut.6 x 10-8 −Jumlah Nilai Akhir = 2. 24500-0} = 24500 −Closeness Gudang ke Toko-4 = 1/24500 = 4. TW Awal konsumen Toko-4 = 180. 120} = 190 −Delta Time ke Toko-3 = 190 – 110 = 80 −Distance Gudang ke Toko-3 = 80 x (600-110) = 39200 −Distance Gudang ke Toko-3 = max{ 1. Counter_jam = 110.

Counter_NIK = 1.2)= Toko-3 − Anggota_NIK = 0. Counter_jam=110. Jumlah Nilai Akhir.− Cek apakah id_konsumen = 5 ada di rute  belum ada rute yang dipilih  tidak − Tambahkan id_konsumen = 5 pada himpunan NIK  anggota_NIK = 3 + 1=4 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut. anggota_NIK = 4 − Random_pilih_node = 0.057 x 10-5 = 4. TW Awal konsumen Toko-5 = 330. TW Akhir Toko-5 = 540. Muatan=100 > 15 (demand Toko-5)  ya.03 − Cek apakah random_pilih_node <= 0.14 x 10-9 −Jumlah Nilai Akhir = 4 x 10-8 + 4. 330} = 330 −Delta Time ke Toko-5 = 330 – 110 = 220 −Distance Gudang ke Toko-5 = 220 x (540-110) = 94600 −Distance Gudang ke Toko-5 = max{ 1. Distance Gudang ke Toko-5. random_pilih_node = 0 − Counter_jam Truk-1 = 110 + (80/60) X 60 menit = 190 > TW-Awal Toko3 Bisa Langsung Dilayani karena Toko-3 sudah buka − Truk-1 selesai dilayani oleh Toko-3 pada saat counter_jam Truk-1 = 190 + waktu pelayanan 10 menit = 200 − Update nilai Total Travel Time = 110 + 200 = 320 − Update nilai Total Travel Distance = 100 + 80 = 180 − Sisa Demand Toko-3 = 25 < Muatan Truk-1 = 100 sehingga : Sisa Demand Toko-3 = 50 – 50 = 0 dan Muatan Truk-1 = 100 – 75 = 25 − Counter_konsumen = 2 + 1 = 3 (bersiap melayani konsumen yang ketiga untuk Truk-1) dan counter_node = 2 + 1 = 3 − Pheromone trail (0. Nilai Akhir Gudang ke Toko-5.1(1/(5x510)) = 5. 94600-0} = 94600 −Closeness Gudang ke Toko-5 = 1/94600 = 1.14 x 10-9 = 4.1) = (1-0. tetap melanjutkan rute untuk Truk-1 − Simpan rute(1.14 x 10-8 − Menambahkan id_konsumen = 5+1 = 6 − Mengecek apakah id_konsumen<=jumlah konsumen  6 > 5 − Cek apakah anggota_NIK=0  tidak.92 x 10-5 = 6.625 x 10-4 + 3. Closeness Gudang ke Toko-5.057 x 10-5 −Nilai Akhir Gudang ke Toko-5 = [1/(5x510)] x 1.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-5.9  0. −Delivery Time ke Toko-5 = max{110 + (120/60) X 60 menit = 230.017 x 10-4 .03 <=0.9  eksploitasi − Pilih toko dengan Nilai Akhir Tertinggi  Toko-3 (1 x 10-8) − Cek apakah jam kerja (variabel Counter_jam) waktu sampai ke tujuan belum melewati TW-Akhir konsumen berikut dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani Toko-3  Tidak ada pergantian mobil.1)(1/(5x320)) + 0. Delta Time ke Toko-5.

TW Akhir Toko-2 = 420.14 x 10-5= 2. Counter_jam=320. 180} = 370 −Delta Time ke Toko-4 = 370 – 320 = 50 −Distance Gudang ke Toko-4 = 50 x (600-320) = 14000 −Distance Gudang ke Toko-4 = max{ 1. Muatan=25 > 10 (demand Toko-4)  ya. Closeness Gudang ke Toko-4. −Delivery Time ke Toko-4 = max{320 + (50/60) X 60 menit = 370. 1 syarat tidak terpenuhi − − − − − Id_konsumen =2+1 = 3 Cek apakah id_konsumen = 3 ada di rute  sudah Id_konsumen =3+1 = 4 Cek apakah id_konsumen = 4 ada di rute  belum Tambahkan id_konsumen = 4 pada himpunan NIK  anggota_NIK = 1 + 1=2 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut.8 x 10-8 − Menambahkan id_konsumen = 4+1 = 5 − Mengecek apakah id_konsumen<=jumlah konsumen  5 <= 5 − Cek apakah id_konsumen = 5 ada di rute  belum − Tambahkan id_konsumen = 5 pada himpunan NIK  anggota_NIK = 2 + 1=3 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani .semua syarat terpenuhi − Menghitung Delivery Time ke Toko-4. Counter_jam=320. TW Akhir Toko-4 = 600. Nilai Akhir Gudang ke Toko-4.14 x 10-5 −Nilai Akhir Gudang ke Toko-4 = [1/(5x510)] x 7. Muatan=25 < 50 (demand Toko-2)  tidak. Distance Gudang ke Toko-4.8 x 10-8 −Jumlah Nilai Akhir = 0 + 2. Jumlah Nilai Akhir. 14000-0} = 14000 −Closeness Gudang ke Toko-4 = 1/14000 = 7.− − − − − − − Truk-1 berada di Toko-3 Cek apakah counter_node <= n  3 <=5 Cek apakah counter_konsumen <= n  3 <= 5 Cek id_konsumen = 1 ada di rute  ya Id_konsumen =1+1 = 2 Cek apakah id_konsumen = 2 ada di rute  belum Tambahkan id_konsumen = 2 pada himpunan NIK  anggota_NIK = 0 + 1=1 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut.8 x 10-8 = 2. Delta Time ke Toko-4. TW Awal konsumen Toko-4 = 180. TW Awal konsumen Toko-2 = 200.

anggota_NIK = 3 − Random_pilih_node = 0. −Delivery Time ke Toko-5 = max{320 + (80/60) X 60 menit = 400.68 x 10-5 −Nilai Akhir Gudang ke Toko-5 = [1/(5x510)] x 5. tetap melanjutkan rute untuk Truk-1 − Simpan rute(1.75 x 10-4 + 3.23 x 10-8 = 5. TW Akhir Toko-5 = 540.1(1/(5x510)) = 4.9  0.8 x 10-8 + 2.konsumen berikut. Distance Gudang ke Toko-5.1) = (1-0. Jumlah Nilai Akhir. Muatan=25 > 15 (demand Toko-5)  ya.13 x 10-4 − Truk-1 berada di Toko-4 − Cek apakah counter_node <= n  4 <=5 − Cek apakah counter_konsumen <= n  4<= 5 − Cek id_konsumen = 1 ada di rute  ya − Id_konsumen =1+1 = 2 − Cek apakah id_konsumen = 2 ada di rute  belum . Nilai Akhir Gudang ke Toko-5.1)(1/(5x380)) + 0. Counter_jam=320.03 x 10-8 − Menambahkan id_konsumen = 5+1 = 6 − Mengecek apakah id_konsumen<=jumlah konsumen  6 > 5 − Cek apakah anggota_NIK=0  tidak.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-5.23 x 10-8 −Jumlah Nilai Akhir = 2. random_pilih_node = 0 − Counter_jam Truk-1 = 320 + (50/60) X 60 menit = 370 > TW-Awal Toko4 Bisa Langsung Dilayani karena Toko-4 sudah buka − Truk-1 selesai dilayani oleh Toko-4 pada saat counter_jam Truk-1 = 370 + waktu pelayanan 10 menit = 380 − Update nilai Total Travel Time = 380 − Update nilai Total Travel Distance = 180 + 50 = 230 − Sisa Demand Toko-4 = 10 < Muatan Truk-1 = 25 sehingga : Sisa Demand Toko-3 = 10 – 10 = 0 dan Muatan Truk-1 = 25 – 10 = 15 − Counter_konsumen = 3 + 1 = 4 (bersiap melayani konsumen yang keempat untuk Truk-1) dan counter_node = 3 + 1 = 4 − Pheromone trail (0.45 − Cek apakah random_pilih_node <= 0. Closeness Gudang ke Toko-5. Counter_NIK = 1. TW Awal konsumen Toko-5 = 330.92 x 10-5 = 5. 17600-0} = 17600 −Closeness Gudang ke Toko-5 = 1/17600 = 5.45 <=0.9  eksploitasi − Pilih toko dengan Nilai Akhir Tertinggi  Toko-4 (2. Delta Time ke Toko-5. 330} = 400 −Delta Time ke Toko-5 = 400 – 320 = 80 −Distance Gudang ke Toko-5 = 80 x (540-320) = 17600 −Distance Gudang ke Toko-5 = max{ 1.8 x 10-8) − Cek apakah jam kerja (variabel Counter_jam) waktu sampai ke tujuan belum melewati TW-Akhir konsumen berikut dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani Toko-4  Tidak ada pergantian mobil.68 x 10 -5 = 2.3)= Toko-4 − Anggota_NIK = 0.

Distance Gudang ke Toko-5.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-5. Jumlah Nilai Akhir. Closeness Gudang ke Toko-5.086 x 10-8) − Cek apakah jam kerja (variabel Counter_jam) waktu sampai ke tujuan belum melewati TW-Akhir konsumen berikut dan sisa muatan (variabel . anggota_NIK = 2 − Random_pilih_node = 0.042 x 10-4 −Nilai Akhir Gudang ke Toko-5 = [1/(5x510)] x 1. 9600-0} = 9600 −Closeness Gudang ke Toko-5 = 1/9600 = 1. Counter_jam=380. Muatan=15 < 50 (demand Toko-2)  tidak.042 x 10-4 = 4. −Delivery Time ke Toko-5 = max{380 + (60/60) X 60 menit = 440.9  eksploitasi − Pilih toko dengan Nilai Akhir Tertinggi  Toko-5 (4. TW Awal konsumen Toko-5 = 330.76 <=0. TW Akhir Toko-5 = 540.9  0. TW Awal konsumen Toko-2 = 200.086 x 10-8 − Menambahkan id_konsumen = 5+1 = 6 − Mengecek apakah id_konsumen<=jumlah konsumen  6 > 5 − Cek apakah anggota_NIK=0  tidak.086 x 10-8 −Jumlah Nilai Akhir = 0 + 4. 330} = 440 −Delta Time ke Toko-5 = 440 – 380 = 60 −Distance Gudang ke Toko-5 = 60 x (540-380) = 9600 −Distance Gudang ke Toko-5 = max{ 1. Counter_jam=320. Delta Time ke Toko-5.76 − Cek apakah random_pilih_node <= 0.− Tambahkan id_konsumen = 2 pada himpunan NIK  anggota_NIK = 0 + 1=1 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut. 1 syarat tidak terpenuhi − − − − − − − − − − Menambahkan id_konsumen = 2+1 = 3 Mengecek apakah id_konsumen<=jumlah konsumen  3 <= 5 Cek apakah id_konsumen = 3 ada di rute  sudah Menambahkan id_konsumen = 3+1 = 4 Mengecek apakah id_konsumen<=jumlah konsumen  4 <= 5 Cek apakah id_konsumen = 4 ada di rute  sudah Menambahkan id_konsumen = 4+1 = 5 Mengecek apakah id_konsumen<=jumlah konsumen  5 <= 5 Cek apakah id_konsumen = 5 ada di rute  belum Tambahkan id_konsumen = 5 pada himpunan NIK  anggota_NIK = 1 + 1=2 − Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut. Nilai Akhir Gudang ke Toko-5.086 x 10-8 = 4. TW Akhir Toko-2 = 420. Muatan=15 <= 15 (demand Toko-5)  ya.

tetap melanjutkan rute untuk Truk-1 Simpan rute(1.1(1/(5x510)) = 4. Jumlah Nilai Akhir.92 x 10-5 = 5. Muatan=100 > 50 (demand Toko-2)  ya. 84000-0} = 84000 −Closeness Gudang ke Toko-2 = 1/84000 = 1. TW Awal konsumen Toko-2 = 200.− − − − − − − − − − − − − − − − − − − − − − Muatan) truk masih mencukupi untuk melayani Toko-5  Tidak ada pergantian mobil. Delta Time ke Toko-2.1)(1/(5x390)) + 0. maka diganti dengan Truk-2 Counter_konsumen = 4 + 1 = 5 (bersiap melayani konsumen yang kelima untuk Truk-2) dan counter_node = 4 + 1 = 5 Pheromone trail (0. Nilai Akhir Gudang ke Toko-2. random_pilih_node = 0 Counter_jam Truk-1 = 380 + (60/60) X 60 menit = 440 > TW-Awal Toko5 Bisa Langsung Dilayani karena Toko-5 sudah buka Truk-1 selesai dilayani oleh Toko-5 pada saat counter_jam Truk-1 = 380 + waktu pelayanan 10 menit = 390 Update nilai Total Travel Time = 390 Update nilai Total Travel Distance = 230 + 60 = 290 Sisa Demand Toko-5 = 15 <= Muatan Truk-1 = 15 sehingga : Sisa Demand Toko-5 = 15 – 15 = 0 dan Muatan Truk-1 = 15 – 15 = 0 Muatan Truk-1 sudah habis.615 x 10-4 + 3. Counter_jam=0.19 x 10-5 . Closeness Gudang ke Toko-2. 200} = 200 −Delta Time ke Toko-2 = 200 – 0 = 200 −Distance Gudang ke Toko-2 = 200 x (420-0) = 84000 −Distance Gudang ke Toko-2 = max{ 1.semua syarat terpenuhi − Menghitung Delivery Time ke Toko-2. Counter_NIK = 1.4)= Toko-5 Anggota_NIK = 0.1) = (1-0. −Delivery Time ke Toko-2 = max{0 + (180/60) X 60 menit = 180.01 x 10-4 Truk-1 berada di Toko-5 V_terpakai=1+1=2 Cek apakah jumlah truk yang dibutuhkan tersedia  ya (karena perusahaan punya truk sejumlah 2 unit) Id_kendaraan = 1+1=2 Cek apakah counter_node <= n  5 <=5 Cek apakah counter_konsumen <= n  5 <= 5 Cek id_konsumen = 1 ada di rute  ya Id_konsumen = 1+1 =2 Cek id_konsumen = 2 ada di rute  belum Cek apakah id_konsumen = 2 ada di rute  belum Tambahkan id_konsumen = 2 pada himpunan NIK  anggota_NIK = 0 + 1=1 Cek apakah jam kerja (variabel Counter_jam) tiap konsumen berada diantara waktu TW-Awal dan TW-Akhir konsumen berikutnya dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani konsumen berikut. Distance Gudang ke Toko-2. TW Akhir Toko-2 = 420.

total visited konsumen = 5 Cek apakah node(1) ada di rute  ada Id_konsumen = 1+1=2 Cek apakah node(2) ada di rute  ada Id_konsumen = 2+1=3 Cek apakah node(3) ada di rute  ada Id_konsumen = 3+1=4 . Nilai Ψk adalah v_terpakai=2.1)(1/(5x580)) + 0.1) = (1-0.06 <=0. Counter_NIK = 1.9  0. anggota_NIK = 1 Random_pilih_node = 0. random_pilih_node = 0 Counter_jam Truk-1 = 0 + (180/60) X 60 menit = 180 > TW-Awal Toko2 Bisa Langsung Dilayani karena Toko-2 sudah buka Truk-2 selesai dilayani oleh Toko-2 pada saat counter_jam Truk-1 = 180 + waktu pelayanan 10 menit = 190 Update nilai Total Travel Time = 190+390=580 Update nilai Total Travel Distance = 180+290=470 Sisa Demand Toko-2 = 50 <= Muatan Truk-2 = 100 sehingga : Sisa Demand Toko-2 = 50 – 50 = 0 dan Muatan Truk-2 = 100– 50 = 0 Pheromone trail (0.9  eksploitasi Pilih toko dengan Nilai Akhir Tertinggi  Toko-2 (4.67 x 10-9 −Jumlah Nilai Akhir = 0 + 4.67 x 10-9 Id_konsumen = 2+1 =3 Cek id_konsumen = 3 ada di rute  sudah Id_konsumen = 3+1 =4 Cek id_konsumen = 4 ada di rute  sudah Id_konsumen = 4+1 =5 Cek id_konsumen = 5 ada di rute  sudah Id_konsumen = 5+1 =6 Mengecek apakah id_konsumen<=jumlah konsumen  6 > 5 Cek apakah anggota_NIK=0  tidak.19 x 10 -5 = 4.92 x 10-5 = 3. total travel distance=470.1(1/(5x510)) = 3. total travel time = 580.06 Cek apakah random_pilih_node <= 0.− − − − − − − − − − − − − − − − − − − − − − − − − − − − • • • • • • −Nilai Akhir Gudang ke Toko-2 = [1/(5x510)] x 1.84 x 10-4 Truk-2 berada di Toko-2 V_terpakai=2+1=3 Cek apakah v_terpakai <= v  3<2 Total visited konsumen =5 Counter node=0 Muatan truk dan sisa demand konsumen dikembalikan menjadi nilai asal.67 x 10-9 = 4.1)= Toko-2 Anggota_NIK = 0.67 x 10-9) Cek apakah jam kerja (variabel Counter_jam) waktu sampai ke tujuan belum melewati TW-Akhir konsumen berikut dan sisa muatan (variabel Muatan) truk masih mencukupi untuk melayani Toko-2  Tidak ada rute selanjtunya Simpan rute(2.44 x 10-4 + 3.

45 x 10-5 = 5.1(1/(5x580)) = 5.095 x 10-4 • Pheromone trail (4.id_konsumen =1 • Cek apakah Ψk > ΨVEI  v_VEI =2.1(1/(5x580)) = 3. Truk-2 = 3 Hasil perhitungan ACS-VEI & ACS-TIME • Total travel time = 580 • Total travel distance = 470 • V_terpakai = 2 • Rute: Truk-1= 1-3-4-5 . total total visited konsumen = 5 • Bukan solusi terbaik untuk ACS-VEI • Pheromone trail (0.• Cek apakah node(4) ada di rute  ada • Id_konsumen = 4+1=5 • Cek apakah node(5) ada di rute  ada • Id_konsumen = 5+1=6 • Cek apakah id_konsumen <=n  6>5  tidak.1)(1/(5x390)) + 0. Truk-2 = 2 .1(1/(5x580)) = 4.3) = (1-0.0392 x 10-3 • Pheromone trail (1.4) = (1-0.625 x 10-4 + 3.615 x 10-4 + 3.1)(1/(5x580)) + 0.45 x 10-5 = 1.5) = (1-0.75 x 10-4 + 3.45 x 10-5 = 5.1)(1/(5x380)) + 0.1)(1/(5x320)) + 0.45 x 10-5 = 4.1) = (1-0.45 x 10-5 = 3.jumlah v_terpakai.1)(1/(5x180)) + 0.974 x 10-4 • Pheromone trail (3.55 x 10-4 ACS-TIME • Dilakukan modul new ant  sama dengan hasil ASC-VEI • Cek apakah total travel time Ψk < total travel time Ψgb  580 > 510 • Hasil total travel time tidak diperbarui  menggunakan total travel time nearest neigbor MACS • Cek hasil total travel time.1(1/(5x580)) = 4.1 x 10-4 + 3. total travel distance hasil perhitungan dengan hasil nearest neigbor  lebih baik hasil nearest neigbor • Lakukan iterasi lagi (ACS-VEI dan ACS Time) Hasil nearest neigbor • Total travel time = 510 • Total travel distance = 410 • V_terpakai = 2 • Rute: Truk-1= 1-4-2-5 .96 x 10-4 • Pheromone trail (5.2) = (1-0.1(1/(5x580)) = 1 x 10 -3 + 3.

Sign up to vote on this title
UsefulNot useful