Daftar parameter

Halaman berikut berisi tabel parameter dalam urutan abjad untuk komponen berikut dari metode optimizeTours Route Optimization API:

Tabel parameter ini hanya mencantumkan dan menjelaskan secara singkat objek tingkat teratas dan parameter utama untuk memudahkan penemuan. Untuk daftar lengkap dengan deskripsi lengkap dan semua parameter bertingkat, lihat dokumentasi referensi API.

Isi permintaan

Struktur data isi permintaan.

Isi permintaan mencakup elemen berikut, yang diilustrasikan dalam diagram di sebelah kanan dan tercantum dalam tabel di bawah:

  • OptimizeToursRequest: Objek permintaan tingkat teratas yang berisi parameter model dan penyelesaian.
    • ShipmentModel: Struktur data inti yang berisi pengiriman, kendaraan, dan batasan global.
      • Shipment: Tugas dengan penjemputan dan pengantaran.
        • VisitRequest: Lokasi dan batasan untuk pengambilan atau pengiriman.
      • Vehicle: Kendaraan yang tersedia untuk melakukan pengiriman.
Orang tua Parameter Jenis properti Deskripsi
OptimizeToursRequest allowLargeDeadlineDespiteInterruptionRisk boolean (true/false) Jika true, permintaan diproses meskipun waktu tunggu ditetapkan ke nilai yang besar (lebih dari 30 menit) yang berisiko menyebabkan potensi gangguan server.
considerRoadTraffic boolean (true/false) Jika true, menggunakan data traffic untuk pemilihan rute. Jika salah (false), hanya menggunakan kecepatan jaringan jalan.
geodesicMetersPerSecond angka Jika useGeodesicDistances benar (true), kecepatan ini digunakan untuk menghitung waktu perjalanan.
injectedFirstSolutionRoutes[] array objek (ShipmentRoute) Rute dari solusi sebelumnya untuk memulai pengoptimalan.
injectedSolutionConstraint objek (InjectedSolutionConstraint) Membatasi solusi agar serupa dengan rute yang ada, dengan menentukan properti mana yang harus dipertahankan dan mana yang dapat dilonggarkan.
interpretInjectedSolutionsUsingLabels boolean (true/false) Jika true, cocokkan pengiriman/kendaraan di rute yang disisipkan berdasarkan label, bukan indeks array.
label string Label arbitrer untuk mengidentifikasi permintaan, ditampilkan dalam respons.
maxValidationErrors bilangan bulat Menentukan jumlah maksimum error validasi yang akan ditampilkan. Jika tidak ditentukan, batas default akan berlaku.
model objek (ShipmentModel) Wajib. Kumpulan kendaraan dan pengiriman yang akan dioptimalkan.
populatePolylines boolean (true/false) Jika true, menampilkan polyline yang dienkode untuk rute.
populateTransitionPolylines boolean (true/false) Jika true, akan menampilkan polyline yang dienkode untuk setiap transisi antar-kunjungan.
refreshDetailsRoutes[] array objek (ShipmentRoute) Daftar rute yang akan dimuat ulang. Hal ini menghitung ulang polyline, durasi, dan jarak untuk rute yang ada tanpa mengubah urutan kunjungan.
searchMode enum (SearchMode) RETURN_FAST (hasil cepat) atau CONSUME_ALL_AVAILABLE_TIME (kualitas terbaik dalam batas waktu).
solvingMode enum (SolvingMode) DEFAULT_SOLVE (default) atau VALIDATE_ONLY untuk memvalidasi model tanpa menyelesaikan.
timeout Durasi Durasi maksimum solver harus berjalan (misalnya, "30s", "300s").
useGeodesicDistances boolean (true/false) Jika true, jarak dan waktu perjalanan dihitung menggunakan jarak geodetik (garis lurus) dan kecepatan geodesicMetersPerSecond.
ShipmentModel
(Bagian dari OptimizeToursRequest)
durationDistanceMatrices[] array objek (DurationDistanceMatrix) Menentukan matriks jarak dan durasi kustom yang digunakan untuk merutekan antar-lokasi.
durationDistanceMatrixDstTags[] array string Tag yang menentukan tujuan (kolom) untuk matriks durasi dan jarak kustom.
durationDistanceMatrixSrcTags[] array string Tag yang menentukan sumber (baris) untuk matriks durasi dan jarak kustom.
globalDurationCostPerHour angka Biaya per jam rentang waktu global rute, dari waktu mulai kendaraan paling awal hingga waktu akhir kendaraan paling akhir.
globalEndTime Stempel waktu Waktu berakhir terbaru untuk setiap peristiwa dalam model.
globalStartTime Stempel waktu Waktu mulai paling awal untuk acara apa pun dalam model.
maxActiveVehicles bilangan bulat Jumlah maksimum kendaraan yang diizinkan untuk aktif dalam solusi.
precedenceRules[] array objek (PrecedenceRule) Aturan yang menentukan batasan pengurutan antara pengiriman tertentu.
shipments[] array objek (Shipment) Daftar pengiriman yang akan dilayani.
shipmentTypeIncompatibilities[] array objek (ShipmentTypeIncompatibility) Aturan yang mencegah pengiriman jenis tertentu dilayani oleh kendaraan yang sama.
shipmentTypeRequirements[] array objek (ShipmentTypeRequirement) Aturan yang mewajibkan pengiriman jenis tertentu dilayani oleh kendaraan yang sama.
transitionAttributes[] array objek (TransitionAttributes) Menentukan biaya tambahan, penundaan, dan batas jarak untuk transisi antara kunjungan dengan tag tertentu.
vehicles[] array objek (Vehicle) Daftar kendaraan yang tersedia untuk melakukan pengiriman.
Shipment
(Bagian dari ShipmentModel)
allowedVehicleIndices[] array bilangan bulat Indeks kendaraan yang diizinkan untuk melakukan pengiriman ini.
costsPerVehicle[] peta (kunci: bilangan bulat, nilai: angka) Biaya tambahan yang dikeluarkan jika kendaraan tertentu melayani pengiriman ini.
costsPerVehicleIndices[] array bilangan bulat Indeks kendaraan yang nilai costsPerVehicle-nya berlaku.
deliveries[] array objek (VisitRequest) Alternatif untuk pengiriman paket.
ignore boolean (true/false) Jika true, pengiriman akan diabaikan dan tidak digunakan dalam pengoptimalan.
label string Label yang ditentukan pengguna untuk mengidentifikasi pengiriman, ditampilkan dalam respons.
loadDemands map (key: string, value: Load) Kapasitas yang diperlukan (misalnya, berat, volume) untuk membawa pengiriman ini.
penaltyCost angka Biaya jika pengiriman tidak dilayani. Jika tidak disetel, pengiriman wajib dilakukan.
pickups[] array objek (VisitRequest) Alternatif untuk mengambil kiriman.
pickupToDeliveryAbsoluteDetourLimit Durasi Waktu penyimpangan absolut maksimum yang diizinkan antara pengambilan dan pengiriman dibandingkan dengan jalur langsung.
pickupToDeliveryRelativeDetourLimit angka Pengalihan relatif maksimum yang diizinkan untuk pengiriman (misalnya, nilai 2,0 berarti total waktu dapat mencapai 2x waktu perjalanan langsung).
pickupToDeliveryTimeLimit Durasi Durasi maksimum yang diizinkan dari awal pengambilan hingga awal pengiriman.
shipmentType string Klasifikasi jenis yang digunakan untuk aturan ketidakcocokan dan persyaratan.
VisitRequest
(Komponen pickups dan deliveries di Shipment)
arrivalLocation objek (LatLng) Lokasi kedatangan geografis sebagai koordinat lintang/bujur.
arrivalWaypoint objek (Waypoint) Lokasi tempat kendaraan tiba untuk melakukan kunjungan. Ditentukan oleh koordinat atau ID tempat.
cost angka Biaya yang dikeluarkan jika permintaan kunjungan tertentu ini dipilih oleh pemecah masalah.
departureLocation objek (LatLng) Lokasi keberangkatan geografis sebagai koordinat lintang/bujur.
departureWaypoint objek (Waypoint) Lokasi tempat kendaraan berangkat setelah menyelesaikan kunjungan. Jika tidak diisi, diasumsikan sama dengan arrivalWaypoint.
duration Durasi Durasi kunjungan (waktu layanan), misalnya, berapa lama waktu yang diperlukan untuk memuat/membongkar.
label string Label yang ditentukan pengguna untuk permintaan kunjungan tertentu ini, ditampilkan dalam respons.
loadDemands map (key: string, value: Load) Permintaan yang menentukan perubahan pemuatan pada kunjungan ini (misalnya, -1 untuk mengantar paket).
tags[] array string Tag yang dilampirkan ke permintaan kunjungan ini. Data ini digunakan untuk menghitung waktu tempuh antara kunjungan ini dan kunjungan lainnya menggunakan transitionAttributes.
timeWindows[] array objek (TimeWindow) Jangka waktu yang diizinkan untuk kedatangan pada kunjungan ini.
visitTypes[] array string String yang menjelaskan jenis kunjungan (misalnya, "pengiriman", "pemasangan"). Digunakan untuk menerapkan extraVisitDurationForVisitType dari Model kendaraan.
Vehicle
(Bagian dari ShipmentModel)
breakRule objek (BreakRule) Menentukan aturan untuk istirahat (misalnya, istirahat makan siang wajib).
costPerHour angka Biaya per jam dari total durasi rute.
costPerKilometer angka Biaya per kilometer yang ditempuh.
costPerTraveledHour angka Biaya per jam saat kendaraan bergerak.
endLocation objek (LatLng) Lokasi akhir geografis sebagai koordinat lintang/bujur.
endTags[] array string Tag yang menentukan kondisi akhir kendaraan, digunakan untuk atribut transisi.
endTimeWindows[] array objek (TimeWindow) Jendela yang diizinkan bagi kendaraan untuk mengakhiri rutenya.
endWaypoint objek (Waypoint) Lokasi akhir geografis menggunakan Titik Jalan (koordinat atau ID tempat).
extraVisitDurationForVisitType peta (kunci: string, nilai: Duration) Menambahkan durasi ekstra ke kunjungan berdasarkan visitType.
fixedCost angka Biaya tetap yang diterapkan jika kendaraan digunakan, terlepas dari jarak atau durasi rute.
ignore boolean (true/false) Jika true, kendaraan akan diabaikan dan tidak digunakan dalam pengoptimalan.
label string Label yang ditentukan pengguna untuk kendaraan, ditampilkan dalam respons.
loadLimits map (key: string, value: LoadLimit) Kapasitas kendaraan (misalnya, berat maksimum, volume maksimum).
routeDistanceLimit objek (DistanceLimit) Batas keras atau lunak pada total jarak rute kendaraan.
routeDurationLimit objek (DurationLimit) Batas keras atau lunak pada total durasi rute kendaraan.
routeModifiers objek (RouteModifiers) Satu atau beberapa batasan seperti menghindari jalan tol, jalan raya, atau kapal feri.
startLocation objek (LatLng) Lokasi awal geografis sebagai koordinat lintang/bujur.
startTags[] array string Tag yang menentukan status awal kendaraan, digunakan untuk atribut transisi.
startTimeWindows[] array objek (TimeWindow) Rentang waktu yang diizinkan bagi kendaraan untuk memulai rutenya.
startWaypoint objek (Waypoint) Lokasi awal geografis menggunakan Titik Jalan (koordinat atau ID tempat).
travelDurationLimit objek (DurationLimit) Batas keras atau lunak pada total durasi perjalanan (tidak termasuk waktu tunggu/servis) kendaraan.
travelDurationMultiple angka Pengali diterapkan ke waktu tempuh (misalnya, 1,5 membuat perjalanan 50% lebih lambat).
travelMode enum (TravelMode) Mode perjalanan (misalnya, DRIVING, WALKING). Memengaruhi waktu dan jarak perjalanan.
unloadingPolicy enum (UnloadingPolicy) Menentukan urutan pelepasan (misalnya, LIFO atau LAST_IN_FIRST_OUT).
usedIfRouteIsEmpty boolean (true/false) Jika true, kendaraan dianggap bekas meskipun tanpa pengiriman. Kendaraan ini menimbulkan biaya tetap dan melakukan perjalanan antara lokasi awal dan akhirnya.

Isi respons

Struktur data isi respons.

Isi respons mencakup elemen berikut, yang diilustrasikan dalam diagram di sebelah kanan dan tercantum dalam tabel di bawah:

  • OptimizeToursResponse: Objek respons tingkat teratas yang berisi rute dan metrik yang dioptimalkan.
    • Metrics: Statistik biaya dan eksekusi keseluruhan untuk solusi.
    • ShipmentRoute: Urutan kunjungan dan jalur perjalanan yang ditetapkan ke satu kendaraan.
      • Visit: Perhentian di rute untuk melakukan penjemputan atau pengiriman.
      • Transition: Jalur dan durasi perjalanan antara dua perhentian rute.
      • AggregatedMetrics: Total yang dijumlahkan untuk durasi, jarak, dan metrik lainnya. Elemen ini dapat ada di Metrics dan ShipmentRoute.
Orang tua Parameter Jenis properti Deskripsi
OptimizeToursResponse metrics objek (Metrics) Metrik gabungan untuk solusi, termasuk total biaya, total jarak, total durasi, dan jumlah penggunaan kendaraan.
requestLabel string Label yang disalin dari kolom label permintaan. Digunakan untuk menghubungkan respons dengan permintaan asli.
routes[] array objek (ShipmentRoute) Daftar rute yang dihitung untuk setiap kendaraan. Berisi entri untuk setiap kendaraan, terlepas dari penggunaannya.
skippedShipments[] array objek (SkippedShipment) Daftar pengiriman yang dilewati (tidak dilayani), beserta alasan pengiriman tersebut dilewati.
validationErrors[] array objek (OptimizeToursValidationError) Daftar error validasi yang ditemukan dalam model input. Kolom ini diisi jika solvingMode disetel ke VALIDATE_ONLY, atau jika terjadi error selama penyelesaian.
Metrics
(Bagian dari OptimizeToursResponse)
aggregatedRouteMetrics objek (AggregatedMetrics) Statistik gabungan di semua rute, seperti total jarak perjalanan, total durasi, dan waktu tunggu.
costs peta (kunci: string, nilai: angka) Perincian biaya menurut jenisnya (misalnya, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost").
earliestVehicleStartTime Stempel waktu Waktu mulai paling awal di antara semua kendaraan bekas.
latestVehicleEndTime Stempel waktu Waktu berakhir terbaru di antara semua kendaraan bekas.
skippedMandatoryShipmentCount bilangan bulat Jumlah pengiriman wajib yang dilewati.
totalCost angka Total biaya solusi, yang merupakan jumlah semua biaya rute dan penalti pengiriman yang dilewati.
usedVehicleCount bilangan bulat Jumlah kendaraan yang digunakan dalam solusi.
AggregatedMetrics
(Bagian dari Metrics dan ShipmentRoute)
breakDuration Durasi Total durasi istirahat yang dilakukan di semua rute.
costs peta (kunci: string, nilai: angka) Perincian biaya menurut jenisnya (misalnya, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost").
delayDuration Durasi Total durasi keterlambatan di semua rute.
earliestVehicleStartTime Stempel waktu Waktu mulai paling awal di antara semua kendaraan bekas.
latestVehicleEndTime Stempel waktu Waktu berakhir terbaru di antara semua kendaraan bekas.
maxLoads map (key: string, value: VehicleLoad) Beban maksimum yang dibawa oleh kendaraan mana pun di titik mana pun dalam solusi, yang dikelompokkan menurut jenis beban.
performedShipmentCount bilangan bulat Jumlah total pengiriman yang dilakukan di semua kendaraan.
skippedMandatoryShipmentCount bilangan bulat Jumlah pengiriman wajib yang dilewati.
totalCost angka Total biaya solusi, yang merupakan jumlah semua biaya rute dan penalti pengiriman yang dilewati.
totalDuration Durasi Total durasi semua rute (perjalanan + menunggu + penundaan + istirahat + kunjungan).
travelDistanceMeters angka Total jarak perjalanan dalam meter di semua rute.
travelDuration Durasi Total durasi perjalanan di semua rute.
usedVehicleCount bilangan bulat Jumlah kendaraan yang digunakan dalam solusi.
visitDuration Durasi Total durasi yang dihabiskan untuk melakukan kunjungan (memuat/membongkar) di semua rute.
waitDuration Durasi Total durasi menunggu di semua rute.
ShipmentRoute
(Bagian dari OptimizeToursResponse)
breaks[] array objek (Break) Daftar istirahat yang dilakukan kendaraan selama rute.
hasTrafficInfeasibilities boolean (true/false) Menunjukkan apakah rute memiliki ketidaklayakan terkait traffic.
metrics objek (AggregatedMetrics) Metrik khusus untuk rute ini, seperti total jarak dan durasi perjalanan.
routeCosts peta (kunci: string, nilai: angka) Perincian biaya untuk rute ini. Kunci adalah jenis biaya (misalnya, "cost_per_hour"), dan nilai adalah jumlahnya.
routePolyline objek (EncodedPolyline) Polyline yang dienkode yang merepresentasikan jalur lengkap rute secara geografis.
routeTotalCost angka Total biaya rute, jumlah semua biaya dalam peta routeCosts.
transitions[] array objek (Transition) Daftar transisi (segmen perjalanan) yang terurut yang menghubungkan kunjungan.
vehicleEndTime Stempel waktu Waktu saat kendaraan menyelesaikan rutenya.
vehicleIndex bilangan bulat Indeks kendaraan dalam sumber ShipmentModel yang melakukan rute ini.
vehicleLabel string Label kendaraan yang ditentukan pengguna, disalin dari model permintaan.
vehicleStartTime Stempel waktu Waktu saat kendaraan memulai rutenya.
visits[] array objek (Visit) Urutan kunjungan (pengambilan dan pengiriman) yang dilakukan oleh kendaraan di rute ini.
Visit
(Bagian dari ShipmentRoute)
detour Durasi Waktu perjalanan tambahan yang terjadi akibat kunjungan ini dibandingkan dengan jalur langsung antara kunjungan sebelumnya dan berikutnya.
isPickup boolean (true/false) Jika true, kunjungan ini adalah pengambilan. Jika salah (false), itu adalah pengiriman.
loadDemands map (key: string, value: Load) Permintaan pemuatan yang dipenuhi oleh kunjungan ini (misalnya, -1 untuk pengiriman). Ini adalah salinan permintaan beban VisitRequest yang sesuai.
shipmentIndex bilangan bulat Indeks kolom Shipment dalam model sumber yang dilayani kunjungan ini.
shipmentLabel string Label pengiriman, disalin dari ShipmentModel.
startTime Stempel waktu Waktu saat kunjungan dijadwalkan untuk dimulai.
visitLabel string Label permintaan kunjungan, disalin dari VisitRequest dalam model.
visitRequestIndex bilangan bulat Indeks VisitRequest dalam daftar pengambilan atau pengiriman kiriman yang sesuai dengan kunjungan ini.
Transition
(Bagian dari ShipmentRoute)
breakDuration Durasi Durasi jeda yang diambil selama transisi ini.
delayDuration Durasi Durasi keterlambatan yang terjadi selama transisi ini (misalnya, tiba lebih awal dan menunggu periode waktu).
routePolyline objek (EncodedPolyline) Polyline yang dienkode yang merepresentasikan jalur transisi spesifik ini.
routeToken string Token buram yang dapat diteruskan ke Google Navigation SDK untuk merekonstruksi rute selama navigasi.
startTime Stempel waktu Waktu mulai transisi ini.
totalDuration Durasi Total durasi transisi, termasuk perjalanan, menunggu, istirahat, dan penundaan.
trafficInfoUnavailable boolean (true/false) Jika true, menunjukkan bahwa data traffic tidak tersedia untuk transisi ini.
travelDistanceMeters angka Jarak yang ditempuh selama transisi ini, dalam meter.
travelDuration Durasi Durasi perjalanan selama transisi ini.
vehicleLoads map (key: string, value: VehicleLoad) Beban yang dibawa oleh kendaraan selama transisi ini, yang dikelompokkan berdasarkan jenis beban (misalnya, "weight").
waitDuration Durasi Durasi yang dihabiskan untuk menunggu sebelum kunjungan berikutnya dapat dimulai.