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 pengoptimalan rute.

Model biaya adalah kumpulan 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 penting

Checklist berikut menjelaskan pengetahuan penting yang mencegah potensi 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 dilewati Biaya yang dikeluarkan karena melewatkan pengiriman.
API akan melewatkan pengiriman jika biaya untuk menyelesaikannya melebihi biaya penaltinya.
  • Menetapkan penaltyCost akan memprioritaskan pengiriman dengan biaya yang lebih tinggi.
  • Tidak menetapkan pengiriman penaltyCost akan membuat pengiriman menjadi wajib.
  • Menetapkan pengiriman penaltyCost secara eksplisit ke nol akan menyebabkan API selalu melewatkan pengiriman kecuali jika diperlukan oleh batasan lain.
Vehicle fixedCost angka Pengiriman Biaya tetap yang diterapkan jika kendaraan ini digunakan untuk menangani pengiriman.
costPerHour angka Jam Biaya mengoperasikan kendaraan per jam termasuk waktu transit, tunggu, kunjungan, dan istirahat.
Saat biaya ini meningkat, pengoptimal akan mencoba menemukan rute yang lebih cepat yang mungkin bukan rute terpendek.
Properti ini dapat menjadi biaya per kendaraan yang efektif dan mandiri karena kesederhanaan dan kelengkapannya.
costPerKilometer angka Kilometer Biaya per kilometer yang ditempuh oleh kendaraan, yang dapat mewakili biaya bahan bakar atau biaya perawatan kendaraan yang diamortisasi.
costPerTraveledHour angka Jam Biaya mengoperasikan kendaraan per jam hanya saat dalam perjalanan, tidak termasuk waktu tunggu, kunjungan, 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 menggambarkan 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 contoh skenario.

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 digunakan untuk menjemput dari rumahnya. Dalam skenario ini, Anda ingin pengoptimal memperhitungkan biaya yang terkait dengan penjemputan dan operasi 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 penalti yang Anda tawarkan kepada pelanggan karena tidak menjemput 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 Mewakili 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 Mewakili 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 di jalan. Setiap kali kendaraan tidak bergerak, pengemudi dapat membuka pintu di belakang dan mematikan AC.

Berdasarkan parameter biaya, pengoptimal dapat membuat pertukaran 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 lalu lintas 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, keseimbangan biaya kedua rute adalah sebagai berikut:

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

Contoh permintaan

Contoh berikut menunjukkan struktur permintaan dasar optimizeTours 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 dipecah berdasarkan kolom permintaan terkait biaya.
  • metrics.totalCost: Total biaya di semua rute yang dijumlahkan.