Halaman berikut berisi tabel parameter dalam urutan abjad untuk
komponen metode optimizeTours Route Optimization API berikut:
Tabel parameter ini hanya mencantumkan dan menjelaskan secara singkat objek tingkat teratas dan parameter utama untuk memudahkan penemuan. Untuk mengetahui daftar lengkap dengan deskripsi lengkap dan semua parameter bertingkat, lihat dokumentasi referensi API.
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 model dan parameter penyelesaian.ShipmentModel: Struktur data inti yang berisi pengiriman, kendaraan, dan batasan global.Shipment: Tugas dengan pengambilan dan pengiriman.VisitRequest: Lokasi dan batasan untuk penjemputan atau pengiriman.
Vehicle: Kendaraan yang tersedia untuk melakukan pengiriman.
| Orang tua | Parameter | Jenis properti | Deskripsi |
|---|---|---|---|
OptimizeToursRequest |
allowLargeDeadlineDespiteInterruptionRisk |
boolean (true/false) |
Jika true, permintaan akan diproses meskipun waktu tunggu ditetapkan ke nilai yang besar (lebih dari 30 menit) yang berisiko menimbulkan potensi gangguan server. |
considerRoadTraffic |
boolean (true/false) |
Jika true, menggunakan data lalu lintas untuk pemilihan rute. Jika salah, hanya menggunakan kecepatan jaringan jalan. |
|
geodesicMetersPerSecond |
angka | Jika useGeodesicDistances bernilai benar, kecepatan ini digunakan untuk menghitung waktu perjalanan. |
|
injectedFirstSolutionRoutes[] |
array objek (ShipmentRoute) |
Rute dari solusi sebelumnya untuk memulai pengoptimalan. | |
injectedSolutionConstraint |
objek (InjectedSolutionConstraint) |
Membatasi solusi agar mirip dengan rute yang ada, menentukan properti mana yang harus dipertahankan dan mana yang dapat dilonggarkan. | |
interpretInjectedSolutionsUsingLabels |
boolean (true/false) |
Jika true, cocokkan pengiriman/kendaraan dalam rute yang dimasukkan berdasarkan label, bukan indeks array. |
|
label |
string | Label arbitrer untuk mengidentifikasi permintaan, yang 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, menampilkan polyline yang dienkode untuk setiap transisi antar-kunjungan. |
|
refreshDetailsRoutes[] |
array objek (ShipmentRoute) |
Daftar rute yang akan dimuat ulang. Tindakan ini akan 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 waktu tunggu). |
|
solvingMode |
enum (SolvingMode) |
DEFAULT_SOLVE (default) atau VALIDATE_ONLY untuk memvalidasi model tanpa menyelesaikannya. |
|
timeout |
Durasi | Durasi maksimum solver harus berjalan (misalnya, "30s", "300s"). | |
useGeodesicDistances |
boolean (true/false) |
Jika true, jarak dan waktu perjalanan dihitung menggunakan jarak geodesi (garis lurus) dan kecepatan geodesicMetersPerSecond. |
|
ShipmentModel(Bagian dari OptimizeToursRequest) |
durationDistanceMatrices[] |
array objek (DurationDistanceMatrix) |
Menentukan durasi kustom dan matriks jarak yang digunakan untuk pemilihan rute 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 dari rentang waktu global rute, dari waktu mulai kendaraan paling awal hingga waktu berakhir kendaraan paling akhir. | |
globalEndTime |
Stempel waktu | Waktu berakhir terbaru untuk peristiwa apa pun dalam model. | |
globalStartTime |
Stempel waktu | Waktu mulai paling awal untuk peristiwa 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 mengharuskan pengiriman jenis tertentu dilayani oleh kendaraan yang sama. | |
transitionAttributes[] |
array objek (TransitionAttributes) |
Menentukan biaya tambahan, penundaan, dan batas jarak untuk transisi antar-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[] |
map (key: integer, value: number) | Biaya tambahan yang dikenakan jika kendaraan tertentu melayani pengiriman ini. | |
costsPerVehicleIndices[] |
array bilangan bulat | Indeks kendaraan yang menerapkan nilai costsPerVehicle. |
|
deliveries[] |
array objek (VisitRequest) |
Alternatif untuk mengirimkan paket. | |
ignore |
boolean (true/false) |
Jika true, pengiriman akan diabaikan dan tidak digunakan dalam pengoptimalan. |
|
label |
string | Label yang ditentukan pengguna untuk mengidentifikasi pengiriman, yang ditampilkan dalam respons. | |
loadDemands |
map (key: string, value: Load) |
Kapasitas yang diperlukan (misalnya, berat, volume) untuk mengangkut pengiriman ini. | |
penaltyCost |
angka | Biaya jika pengiriman tidak dilayani. Jika tidak disetel, pengiriman bersifat wajib. | |
pickups[] |
array objek (VisitRequest) |
Alternatif untuk mengambil kiriman. | |
pickupToDeliveryAbsoluteDetourLimit |
Durasi | Waktu memutar mutlak maksimum yang diizinkan antara penjemputan dan pengantaran dibandingkan dengan jalur langsung. | |
pickupToDeliveryRelativeDetourLimit |
angka | Pengalihan rute relatif maksimum yang diizinkan untuk pengiriman (misalnya, nilai 2,0 berarti total waktu maksimal 2x waktu perjalanan langsung). | |
pickupToDeliveryTimeLimit |
Durasi | Durasi maksimum yang diizinkan dari awal pengambilan hingga awal pengiriman. | |
shipmentType |
string | Klasifikasi menurut 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 timbul jika permintaan kunjungan 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 dihilangkan, nilai ini diasumsikan sama dengan arrivalWaypoint. |
|
duration |
Durasi | Durasi kunjungan (waktu layanan), misalnya, berapa lama waktu yang diperlukan untuk memuat/membongkar muatan. | |
label |
string | Label yang ditentukan pengguna untuk permintaan kunjungan spesifik ini, yang ditampilkan dalam respons. | |
loadDemands |
map (key: string, value: Load) |
Permintaan yang menentukan perubahan muatan pada kunjungan ini (misalnya, -1 untuk menurunkan paket). | |
tags[] |
array string | Tag yang dilampirkan ke permintaan kunjungan ini. Data ini digunakan untuk menghitung waktu perjalanan antara kunjungan ini dan kunjungan lainnya menggunakan transitionAttributes. |
|
timeWindows[] |
array objek (TimeWindow) |
Periode 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 status akhir kendaraan, yang digunakan untuk atribut transisi. | |
endTimeWindows[] |
array objek (TimeWindow) |
Periode yang diizinkan bagi kendaraan untuk mengakhiri rutenya. | |
endWaypoint |
objek (Waypoint) |
Lokasi akhir geografis menggunakan Titik jalan (koordinat atau ID tempat). | |
extraVisitDurationForVisitType |
map (key: string, value: Duration) | Menambahkan durasi ekstra ke kunjungan berdasarkan visitType-nya. |
|
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, yang ditampilkan dalam respons. | |
loadLimits |
map (key: string, value: LoadLimit) |
Kapasitas kendaraan (misalnya, berat maksimum, volume maksimum). | |
routeDistanceLimit |
objek (DistanceLimit) |
Batas ketat atau longgar untuk total jarak rute kendaraan. | |
routeDurationLimit |
objek (DurationLimit) |
Batas ketat atau longgar untuk 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, yang digunakan untuk atribut transisi. | |
startTimeWindows[] |
array objek (TimeWindow) |
Periode yang diizinkan bagi kendaraan untuk memulai rutenya. | |
startWaypoint |
objek (Waypoint) |
Lokasi awal geografis menggunakan Titik jalan (koordinat atau ID tempat). | |
travelDurationLimit |
objek (DurationLimit) |
Batas ketat atau longgar untuk total durasi perjalanan (tidak termasuk waktu tunggu/layanan) kendaraan. | |
travelDurationMultiple |
angka | Pengganda yang diterapkan pada waktu perjalanan (misalnya, 1,5 membuat perjalanan 50% lebih lambat). | |
travelMode |
enum (TravelMode) |
Moda transportasi (misalnya, DRIVING, WALKING). Memengaruhi waktu dan jarak perjalanan. |
|
unloadingPolicy |
enum (UnloadingPolicy) |
Menentukan urutan pembongkaran (misalnya, LIFO atau LAST_IN_FIRST_OUT). |
|
usedIfRouteIsEmpty |
boolean (true/false) |
Jika true, kendaraan dianggap digunakan meskipun tanpa pengiriman. Kendaraan ini dikenai biaya tetap dan melakukan perjalanan antara lokasi awal dan akhirnya. |
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 pada rute untuk melakukan pengambilan atau pengiriman.Transition: Jalur dan durasi perjalanan antara dua perhentian rute.AggregatedMetrics: Total jumlah untuk durasi, jarak, dan metrik lainnya. Elemen ini dapat ada diMetricsdanShipmentRoute.
| 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 ditetapkan 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 |
map (key: string, value: number) | Perincian biaya berdasarkan jenis (misalnya, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
earliestVehicleStartTime |
Stempel waktu | Waktu mulai paling awal di antara semua kendaraan yang digunakan. | |
latestVehicleEndTime |
Stempel waktu | Waktu berakhir terbaru di antara semua kendaraan yang digunakan. | |
skippedMandatoryShipmentCount |
bilangan bulat | Jumlah pengiriman wajib yang dilewati. | |
totalCost |
angka | Total biaya solusi, yang menjumlahkan semua biaya rute dan denda pengiriman yang dilewati. | |
usedVehicleCount |
bilangan bulat | Jumlah kendaraan yang digunakan dalam solusi. | |
AggregatedMetrics(Bagian dari Metrics dan ShipmentRoute) |
breakDuration |
Durasi | Total durasi istirahat yang diambil di semua rute. |
costs |
map (key: string, value: number) | Perincian biaya berdasarkan jenis (misalnya, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
delayDuration |
Durasi | Total durasi penundaan di semua rute. | |
earliestVehicleStartTime |
Stempel waktu | Waktu mulai paling awal di antara semua kendaraan yang digunakan. | |
latestVehicleEndTime |
Stempel waktu | Waktu berakhir terbaru di antara semua kendaraan yang digunakan. | |
maxLoads |
map (key: string, value: VehicleLoad) |
Muatan maksimum yang dibawa oleh kendaraan mana pun di titik mana pun dalam solusi, yang diidentifikasi berdasarkan jenis muatan. | |
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 menjumlahkan semua biaya rute dan denda pengiriman yang dilewati. | |
totalDuration |
Durasi | Total durasi semua rute (perjalanan + tunggu + keterlambatan + 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 (pemuatan/pembongkaran) di semua rute. | |
waitDuration |
Durasi | Total durasi tunggu di semua rute. | |
ShipmentRoute(Bagian dari OptimizeToursResponse) |
breaks[] |
array objek (Break) |
Daftar istirahat yang diambil oleh kendaraan selama rute. |
hasTrafficInfeasibilities |
boolean (true/false) |
Menunjukkan apakah rute memiliki ketidakmungkinan terkait lalu lintas. | |
metrics |
objek (AggregatedMetrics) |
Metrik khusus untuk rute ini, seperti total jarak dan durasi perjalanan. | |
routeCosts |
map (key: string, value: number) | 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 di peta routeCosts. |
|
transitions[] |
array objek (Transition) |
Daftar transisi (segmen perjalanan) yang diurutkan yang menghubungkan kunjungan. | |
vehicleEndTime |
Stempel waktu | Waktu saat kendaraan menyelesaikan rutenya. | |
vehicleIndex |
bilangan bulat | Indeks kendaraan di ShipmentModel sumber yang melakukan rute ini. |
|
vehicleLabel |
string | Label kendaraan yang ditentukan pengguna, yang disalin dari model permintaan. | |
vehicleStartTime |
Stempel waktu | Waktu kendaraan memulai rutenya. | |
visits[] |
array objek (Visit) |
Urutan kunjungan (penjemputan dan pengiriman) yang dilakukan oleh kendaraan di rute ini. | |
Visit(Bagian dari ShipmentRoute) |
detour |
Durasi | Waktu perjalanan memutar tambahan yang diperlukan untuk kunjungan ini dibandingkan dengan jalur langsung antara kunjungan sebelumnya dan berikutnya. |
isPickup |
boolean (true/false) |
Jika true, kunjungan ini adalah pengambilan. Jika salah, berarti pengiriman. |
|
loadDemands |
map (key: string, value: Load) |
Permintaan muatan 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 oleh kunjungan ini. |
|
shipmentLabel |
string | Label pengiriman, yang disalin dari ShipmentModel. |
|
startTime |
Stempel waktu | Waktu saat kunjungan dijadwalkan untuk dimulai. | |
visitLabel |
string | Label permintaan kunjungan, yang disalin dari VisitRequest dalam model. |
|
visitRequestIndex |
bilangan bulat | Indeks VisitRequest dalam daftar pengambilan atau pengiriman yang sesuai dengan kunjungan ini. |
|
Transition(Bagian dari ShipmentRoute) |
breakDuration |
Durasi | Durasi istirahat yang diambil selama transisi ini. |
delayDuration |
Durasi | Durasi penundaan yang terjadi selama transisi ini (misalnya, tiba lebih awal dan menunggu slot waktu). | |
routePolyline |
objek (EncodedPolyline) |
Polyline yang dienkode yang mewakili 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 lalu lintas 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) |
Muatan yang dibawa oleh kendaraan selama transisi ini, yang diidentifikasi berdasarkan jenis muatan (misalnya, "berat"). | |
waitDuration |
Durasi | Durasi waktu tunggu sebelum kunjungan berikutnya dapat dimulai. |