Model biaya

Properti biaya ditentukan di bagian ShipmentModel.shipments.Shipment dan ShipmentModel.vehicles.Vehicle

Tujuan utama Route Optimization API adalah menemukan rute dengan biaya terendah. Dengan demikian, model biaya adalah pendorong utama untuk pengoptimalan rute.

Model biaya adalah serangkaian properti yang menentukan biaya global, kendaraan, dan pengiriman.

Properti model biaya mendukung jenis tujuan pengoptimalan berikut:

  • Penugasan dan rute kendaraan yang efisien
  • Waktu pengambilan dan pengiriman yang hemat biaya
  • Prioritas pengiriman penting

Struktur

Seperti yang ditunjukkan dalam diagram, properti model biaya disusun sebagai berikut:

Dokumen ini hanya menyoroti parameter model biaya penting. Lihat dokumentasi referensi untuk mengetahui kumpulan lengkap parameter biaya.

Checklist Essentials

Checklist berikut menjelaskan pengetahuan penting yang mencegah kemungkinan kesalahan terkait biaya. Daftar ini dapat membantu Anda memvalidasi permintaan dan memecahkan masalah respons.

Properti

Tabel berikut mencantumkan dan menjelaskan properti model biaya.

Orang tua Nama properti Jenis properti Biaya per Deskripsi properti
Shipment penaltyCost angka Pengiriman yang dilewati Biaya yang dikeluarkan karena melewatkan pengiriman.
API melewati pengiriman jika biaya untuk menyelesaikannya melebihi biaya penaltinya.
  • Setelan penaltyCost memprioritaskan pengiriman dengan biaya yang lebih tinggi.
  • Tidak menetapkan pengiriman penaltyCost membuat pengiriman menjadi wajib.
  • Menetapkan pengiriman penaltyCost ke nol secara eksplisit menyebabkan API selalu melewati pengiriman kecuali jika diperlukan oleh batasan lain.
Vehicle fixedCost angka Pengiriman Biaya tetap diterapkan jika kendaraan ini digunakan untuk menangani pengiriman.
costPerHour angka Jam Biaya pengoperasian kendaraan per jam termasuk waktu transit, menunggu, berkunjung, dan istirahat.
Seiring meningkatnya biaya ini, pengoptimal akan mencoba menemukan rute yang lebih cepat yang mungkin bukan rute terpendek.
Properti ini dapat menjadi biaya per kendaraan mandiri yang efektif karena kesederhanaan dan kelengkapannya.
costPerKilometer angka Kilometer Biaya per kilometer yang ditempuh oleh kendaraan, seperti biaya bahan bakar dan biaya pemeliharaan kendaraan yang diamortisasi.
costPerTraveledHour angka Jam Biaya mengoperasikan kendaraan per jam hanya saat dalam perjalanan, tidak termasuk waktu menunggu, berkunjung, dan istirahat. Hal ini memprioritaskan rute perjalanan yang lebih cepat daripada rute yang lebih pendek.

Contoh

Bagian ini mencakup tiga jenis contoh:

  • Contoh kode yang mengilustrasikan struktur properti model biaya.
  • Contoh skenario yang menunjukkan salah satu cara menggunakan properti model biaya untuk mencapai tujuan bisnis.
  • Contoh permintaan yang menyertakan nilai yang ditetapkan dalam skenario contoh.

Contoh kode

Contoh kode berikut menunjukkan struktur properti model biaya di Shipment:

{
  "model": {
    "shipments": [ ...
      {
        "penaltyCost": PENALTY_COST
      }
    ],
    "vehicles": [ ...
    ]
  }
}

Contoh kode berikut menunjukkan struktur properti model biaya di Vehicle:

{
  "model": {
    "shipments": [ ...
    ],
    "vehicles": [ ...
      {
        "fixedCost": FIXED_COST,
        "costPerKilometer": KILOMETER_COST,
        "costPerHour": HOUR_COST,
        "costPerTraveledHour": TRAVELED_HOUR_COST
      }
    ]
  }
}

Contoh skenario

Bagian ini menjelaskan skenario saat Anda memiliki bisnis penitipan. Anda mengoptimalkan rute untuk truk yang Anda gunakan untuk menjemput dari rumah mereka. Dalam skenario ini, Anda ingin pengoptimal memperhitungkan biaya yang terkait dengan penjemputan dan pengoperasian kendaraan saat memberikan rute.

Untuk contoh ini, satu unit biaya mewakili 1 dolar. Artinya, nilai properti model biaya dalam permintaan Anda adalah sebagai berikut:

Properti Nilai Skenario
penaltyCost 10 Mewakili denda yang Anda tawarkan kepada pelanggan karena tidak mengambil mereka pada hari yang dijadwalkan. Setiap kali Anda tidak menjemput pada hari yang dijadwalkan, pelanggan akan mendapatkan diskon 40 dolar dari total layanan mereka.
fixedCost 30 Mewakili biaya harian pembayaran pinjaman kendaraan Anda, yaitu 30 dolar per hari.
costPerKilometer 0,08 Menunjukkan jumlah bensin yang digunakan kendaraan Anda per kilometer. Kendaraan Anda memerlukan 0,04 galon per kilometer untuk bergerak, dan biaya per galon di wilayah Anda adalah 2 dolar.
costPerHour 27 Menunjukkan jumlah yang Anda bayar kepada pengemudi untuk mengemudikan kendaraan Anda. Anda membayar pengemudi 27 dolar per jam.
costPerTraveledHour 2,5 Mewakili jumlah yang harus Anda bayar untuk AC kendaraan per jam untuk saat dalam perjalanan. Setiap kali kendaraan tidak bergerak, pengemudi dapat membuka pintu di belakang dan mematikan AC.

Berdasarkan parameter biaya, pengoptimal dapat membuat kompromi yang tidak jelas bagi pengguna, tetapi dapat ditemukan melalui pengoptimalan.

Diagram berikut mengilustrasikan contoh saat pengoptimal dapat memilih rute yang lebih panjang tetapi lebih cepat melalui garis putus-putus hijau untuk menghindari traffic di garis putus-putus merah.

Kendaraan memiliki dua kemungkinan rute, satu diwakili oleh garis putus-putus hijau, yang lebih panjang tetapi tidak memiliki insiden, dan satu diwakili oleh garis putus-putus merah, yang lebih pendek tetapi memiliki kecelakaan mobil di tengahnya.

Dalam skenario ini, saldo biaya kedua rute adalah sebagai berikut:

Selain menyediakan rute yang hemat biaya, pengoptimal juga memberikan penjumlahan total biaya rute pengiriman dalam properti respons.

Contoh permintaan

Contoh berikut menunjukkan struktur permintaan optimizeTours dasar yang menggabungkan nilai yang ditetapkan dalam contoh skenario:

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 37.8024,
              "longitude": -122.4058
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 37.759773,
              "longitude": -122.427063
            }
          }
        ]
        "penaltyCost": 40
      }
    ],
    "vehicles": [
      {
        "startLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "endLocation": {
          "latitude": 37.759773,
          "longitude": -122.427063
        },
        "fixedCost": 30,
        "costPerKilometer": 0.08,
        "costPerHour": 27,
        "costPerTraveledHour": 2.5
      }
    ]
  }
}

Properti respons

Pesan OptimizeToursResponse memiliki properti biaya yang menjelaskan biaya yang dikeluarkan dalam proses penyelesaian rute:

  • metrics.costs: Total biaya di semua rute yang dikelompokkan berdasarkan kolom permintaan terkait biaya.
  • metrics.totalCost: Total biaya di semua rute yang dijumlahkan.