Route Optimization atau optimasi rute adalah proses penentuan rute yang paling hemat biaya dan biasanya digunakan untuk menyelesaikan Vehicle Route Problem (VRP). 

Route optimization dilakukan sebelum melakukan Assign Task.


Cara melakukan route optimization:


  1. Setelah Task sudah dibuat dan diproses, pilih dengan cara mencentang task yang akan di Assign. Atau mencentang   kotak kanan atas pada kolom Unassigned untuk memilih semua Task.
  2. Tekan simbol titik tiga (...), lalu pilih radio button ‘by routes’ kemudian ‘by vehicle’
    1. By routes (optimasi berdasarkan rute)

      • Load profile (opsional): jika sudah ada profile yang disimpan maka akan muncul di pilihan Load Profile
      • Use task time window: jika dicentang akan membuat rentang waktu yang diberikan untuk mengerjakan setiap task berdasarkan waktu awal dari inputnya
      • Time Limit: batas waktu pengerjaan dari task pertama sampai task terakhir (unassign task yang di-select)
      • Slack Time: rata-rata waktu yang dihabiskan oleh worker untuk mengantarkan paket di titik tujuan atau dengan kata lain waktu di antara task pertama ke task berikutnya. Misalnya ada proses serah terima barang, tanda tangan, dll. Secara default, sistem menetapkan 20 menit sebagai waktu rata-rata yang ideal
      • Return to depot: jika dicentang maka sistem kembali ke depot setelah menyelesaikan semua tugas akan mengkalkulasi/mengikutsertakan waktu yang dibutuhkan worker untuk kembali lagi ke depot/gudang. 
      • Advanced Settings
      • Courier Start Time: waktu worker mulai bekerja. Bila tidak diisi maka sistem akan mengambil waktu ketika membuka popup config (meski advanced settings tertutup, tetap mengirim body nya dengan parameter start_time)
      • Ignore Distance: batas jarak antar task sehingga bila jarak kurang dari batas ignore distance maka jarak tersebut akan dikali convertion_percentage (m).
      • Conversion Percentage: persentase konversi jarak antar task yang kurang dari ignored_distance (%)
      • Speed: asumsi kecepatan rata-rata tiap kendaraan dalam melaksanakan setiap task (km/jam)
      • Use OSRM: jika dicentang maka jarak antar task menggunakan perhitungan API osrm.mile.app 
      • Save Profile: untuk menyimpan konfigurasi yang sudah diisi dan bisa dipilih lagi untuk assign by route selanjutnya. Bila sebelumnya belum ada profile yang dipilih maka sistem akan membuat profile baru. Bila save profile ketika sudah ada profile yang dipilih sebelumnya pada opsi Load Profile maka terdapat pilihan untuk menyimpan di profile yang sama atau membuat profile baru.
  3. Klik tombol Optimize untuk melihat hasil route optimization
  4. Hasil Route Optimization
  5. Review Assignment: menampilkan ringkasan task yang berhasil di optimisasi dan yang tidak. Contoh 19 tasks are optimized into 1 route from 12 selected routes , 1 tasks cannot be optimized yang artinya 19 task sudah berhasil di optimisasi ke dalam 1 rute dari 12 rute yang dimasukkan, 1 task tidak bisa di optimisasi
  6. Kategori Task yang tidak bisa dioptimisasi:
    • lat-long yang tidak valid di field taskLocationExpected
    • taskLocationExpected dan taskLocationExpectedAddress kosong
    • Melebihi angka maksimum yang diisi pada field Maximum distance atau Time Limit
    • Melebihi kapasitas (weight) dan volumenya (dicek dari menu Transport-Vehicle Type dan Transport-Cargo Item)
  7. View in Map: menampilkan rute pada peta. Jika pada pilihan Select Route dikosongkan maka akan menampilkan semua rute hasil optimisasi.
  8. Kemudian pilih Route -> Select User -> klik Assigned Selected -> klik Done
  9. Task akan ter-assign ke Selected User dan masuk ke mobile apps user/worker
    1. By vehicle (optimasi berdasarkan armada)

      • Time Limit: batas waktu pengerjaan dari task pertama sampai task terakhir
  10. Slack Time: rata-rata waktu yang dihabiskan oleh worker untuk mengantarkan paket di titik tujuan
  11. Maximum task: maksimal task yang dapat dibawa di 1 kendaraan
  12. Maximum distance: maksimal jarak tempuh yang dapat di set pada 1 kendaraan
  13. List Vehicle: semua daftar vehicle yang statusnya aktif (cek dari menu Transport)
  14. Maximize vehicle: jika dicentang, maka sistem akan mencari maksimal rute sesuai angka yang diinput pada Maximum routes. Jika tidak dicentang maka sistem akan mencari dulu optimisasi dari semua task yang dipilih akan bisa dikerjakan berapa rute
  15. Assign to default: menugaskan task ke default user yang di set pada menu Transport-Vehicle List