Bu, büyük zaman aşımı değerlerine sahip optimizasyonlar için tasarlanmış locations.optimizeTours yönteminin bir varyantıdır. Birkaç dakikadan uzun süren optimizasyonlar için locations.optimizeTours yöntemine tercih edilmelidir.
Döndürülen long-running operation (LRO), <parent>/operations/<operation_id> biçiminde bir ada sahiptir ve hesaplamanın ilerleme durumunu izlemek için kullanılabilir. metadata alan türü OptimizeToursLongRunningMetadata. Başarılıysa response alan türü OptimizeToursResponse olur.
HTTP isteği
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
URL, gRPC Kod Dönüştürme söz dizimini kullanır.
Yol parametreleri
| Parametreler | |
|---|---|
parent |
Zorunlu. Arama yapmak için projeyi veya konumu hedefleyin. Biçim: * Konum belirtilmezse otomatik olarak bir bölge seçilir. |
İstek içeriği
İstek metni aşağıdaki yapıyla birlikte verileri içerir:
| JSON gösterimi |
|---|
{ "timeout": string, "model": { object ( |
| Alanlar | |
|---|---|
timeout |
Bu zaman aşımı ayarlanırsa sunucu, zaman aşımı süresi dolmadan veya eşzamanlı isteklerin sunucu için son tarihi dolmadan önce (hangisi önceyse) bir yanıt döndürür. Asenkron istekler için sunucu, zaman aşımı dolmadan önce (mümkünse) bir çözüm oluşturur. En fazla dokuz kesirli basamak içeren ve " |
model |
Çözülecek gönderim modeli. |
solving |
Çözüm modu varsayılan olarak |
search |
İsteği çözmek için kullanılan arama modu. |
injected |
Önceki bir çözüme benzer ilk çözümü bulma konusunda optimizasyon algoritmasına rehberlik edin. İlk çözüm oluşturulduğunda model kısıtlanır. Bir rotada gerçekleştirilmeyen tüm gönderimler ilk çözümde dolaylı olarak atlanır ancak sonraki çözümlerde gerçekleştirilebilir. Çözüm, bazı temel geçerlilik varsayımlarını karşılamalıdır:
Enjekte edilen çözüm uygun değilse doğrulama hatası döndürülmeyebilir ve bunun yerine uygun olmadığını belirten bir hata döndürülebilir. |
injected |
Önceki bir çözüme benzer nihai bir çözüm bulmak için optimizasyon algoritmasını kısıtlayın. Örneğin, bu özellik, tamamlanmış veya tamamlanacak ancak değiştirilmemesi gereken rotaların bölümlerini dondurmak için kullanılabilir. Enjekte edilen çözüm uygun değilse doğrulama hatası döndürülmeyebilir ve bunun yerine uygun olmadığını belirten bir hata döndürülebilir. |
refresh |
Boş değilse belirli rotalar, temel ziyaret sırası veya seyahat süreleri değiştirilmeden yenilenir. Yalnızca diğer ayrıntılar güncellenir. Bu işlem, modeli çözmez. 2020/11 itibarıyla bu işlev yalnızca boş olmayan rotaların çoklu çizgilerini doldurur ve İletilen rotaların Bu alan
|
interpret |
Doğruysa:
Bu yorum Bu değer doğruysa aşağıdaki kategorilerdeki etiketler kategorilerinde en fazla bir kez görünmelidir:
Enjekte edilen çözümdeki bir Rota ziyaretlerinin veya rotaların tamamının enjekte edilmiş bir çözümden kaldırılması, ima edilen kısıtlamaları etkileyebilir. Bu da çözümde değişikliğe, doğrulama hatalarına veya uygulanamazlığa neden olabilir. NOT: Arayan, her |
consider |
|
populate |
Doğru ise yanıt |
populate |
Doğru ise |
allow |
Bu ayar belirlenirse istek için 60 dakikaya kadar bir son tarih (https://grpc.io/blog/deadlines adresine bakın) belirlenebilir. Aksi takdirde, maksimum son tarih yalnızca 30 dakikadır. Uzun süreli isteklerin kesinti riskinin önemli ölçüde daha yüksek (ancak yine de küçük) olduğunu unutmayın. |
use |
Doğru ise seyahat mesafeleri Google Haritalar mesafeleri yerine jeodezik mesafeler kullanılarak hesaplanır ve seyahat süreleri |
label |
Bu isteği tanımlamak için kullanılabilecek etiket. |
geodesic |
|
max |
Döndürülen doğrulama hatası sayısını kısaltır. Bu hatalar, solvingMode=VALIDATE_ONLY olmadığı sürece genellikle INVALID_ARGUMENT hata yüküne BadRequest hata ayrıntısı (https://cloud.google.com/apis/design/errors#error_details) olarak eklenir: |
Yanıt gövdesi
Başarılıysa yanıt metni, Operation öğesinin bir örneğini içerir.
Yetkilendirme kapsamları
Aşağıdaki OAuth kapsamını gerektirir:
https://www.googleapis.com/auth/cloud-platform
IAM İzinleri
parent kaynağında aşağıdaki IAM izni gerekir:
routeoptimization.operations.create
Daha fazla bilgi için IAM belgelerini inceleyin.