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