Ini adalah varian metode locations.optimizeTours yang dirancang untuk pengoptimalan dengan nilai waktu tunggu yang besar. Metode ini lebih disukai daripada metode locations.optimizeTours untuk pengoptimalan yang memerlukan waktu lebih dari beberapa menit.
long-running operation (LRO) yang ditampilkan akan memiliki nama dengan format <parent>/operations/<operation_id> dan dapat digunakan untuk melacak progres komputasi. Jenis kolom metadata adalah OptimizeToursLongRunningMetadata. Jenis kolom response adalah OptimizeToursResponse, jika berhasil.
Eksperimental: Lihat https://developers.google.com/maps/tt/route-optimization/experimental/otlr/make-request untuk mengetahui detail selengkapnya.
Permintaan HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
URL ini menggunakan sintaksis gRPC Transcoding.
Parameter jalur
| Parameter | |
|---|---|
parent |
Wajib. Project atau lokasi target untuk melakukan panggilan. Format:
Jika tidak ada lokasi yang ditentukan, region akan dipilih secara otomatis. |
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
| Representasi JSON |
|---|
{ "timeout": string, "model": { object ( |
| Kolom | |
|---|---|
timeout |
Jika waktu tunggu ini ditetapkan, server akan menampilkan respons sebelum periode waktu tunggu berlalu atau batas waktu server untuk permintaan sinkronis tercapai, mana saja yang lebih dulu. Untuk permintaan asinkron, server akan membuat solusi (jika memungkinkan) sebelum waktu tunggu berakhir. Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan ' |
model |
Model pengiriman yang akan diselesaikan. |
solvingMode |
Secara default, mode penyelesaiannya adalah |
searchMode |
Mode penelusuran yang digunakan untuk menyelesaikan permintaan. |
injectedFirstSolutionRoutes[] |
Mengarahkan algoritma pengoptimalan dalam menemukan solusi pertama yang mirip dengan solusi sebelumnya. Model dibatasi saat solusi pertama dibuat. Setiap pengiriman yang tidak dilakukan di rute akan dilewati secara implisit dalam solusi pertama, tetapi dapat dilakukan dalam solusi berikutnya. Solusi harus memenuhi beberapa asumsi validitas dasar:
Jika solusi yang disuntikkan tidak layak, error validasi tidak selalu ditampilkan dan error yang menunjukkan ketidaklayakan dapat ditampilkan sebagai gantinya. |
injectedSolutionConstraint |
Membatasi algoritma pengoptimalan untuk menemukan solusi akhir yang mirip dengan solusi sebelumnya. Misalnya, hal ini dapat digunakan untuk membekukan bagian rute yang telah diselesaikan atau yang akan diselesaikan, tetapi tidak boleh diubah. Jika solusi yang disuntikkan tidak layak, error validasi tidak selalu ditampilkan dan error yang menunjukkan ketidaklayakan dapat ditampilkan sebagai gantinya. |
refreshDetailsRoutes[] |
Jika tidak kosong, rute yang diberikan akan diperbarui, tanpa mengubah urutan kunjungan atau waktu perjalanan yang mendasarinya: hanya detail lainnya yang akan diperbarui. Hal ini tidak menyelesaikan model. Mulai 2020/11, ini hanya mengisi polyline rute yang tidak kosong dan mewajibkan Kolom Kolom ini tidak boleh digunakan bersama dengan
|
interpretInjectedSolutionsUsingLabels |
Jika benar:
Interpretasi ini berlaku untuk kolom Jika benar, label dalam kategori berikut hanya boleh muncul paling banyak satu kali dalam kategorinya:
Jika Menghapus kunjungan rute atau seluruh rute dari solusi yang disisipkan dapat memengaruhi batasan tersirat, yang dapat menyebabkan perubahan solusi, error validasi, atau tidak dapat diterapkan. CATATAN: Pemanggil harus memastikan bahwa setiap |
considerRoadTraffic |
Pertimbangkan estimasi traffic dalam menghitung kolom |
populatePolylines |
Jika benar (true), polyline akan diisi dalam respons |
populateTransitionPolylines |
Jika benar (true), polyline dan token rute akan diisi dalam respons |
allowLargeDeadlineDespiteInterruptionRisk |
Jika disetel, permintaan dapat memiliki batas waktu (lihat https://grpc.io/blog/deadlines) hingga 60 menit. Jika tidak, batas waktu maksimumnya hanya 30 menit. Perhatikan bahwa permintaan yang berjalan lama memiliki risiko gangguan yang jauh lebih besar (tetapi tetap kecil). |
useGeodesicDistances |
Jika benar (true), jarak perjalanan akan dihitung menggunakan jarak geodetik, bukan jarak Google Maps, dan waktu tempuh akan dihitung menggunakan jarak geodetik dengan kecepatan yang ditentukan oleh |
label |
Label yang dapat digunakan untuk mengidentifikasi permintaan ini, dilaporkan kembali di |
geodesicMetersPerSecond |
Jika |
maxValidationErrors |
Memangkas jumlah error validasi yang ditampilkan. Error ini biasanya dilampirkan ke payload error INVALID_ARGUMENT sebagai detail error BadRequest (https://cloud.google.com/apis/design/errors#error_details), kecuali jika solvingMode=VALIDATE_ONLY: lihat kolom |
Isi respons
Jika berhasil, isi respons memuat instance Operation.
Cakupan otorisasi
Memerlukan cakupan OAuth berikut:
https://www.googleapis.com/auth/cloud-platform
Izin IAM
Memerlukan izin IAM berikut pada resource parent:
routeoptimization.operations.create
Untuk mengetahui informasi selengkapnya, lihat dokumentasi IAM.