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 sahip olur ve hesaplamanın ilerleme durumunu izlemek için kullanılabilir. metadata alan türü OptimizeToursLongRunningMetadata. Başarılı olursa 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 hedef projeyi veya konumu seçin. Biçim:
Konum belirtilmezse otomatik olarak bir bölge seçilir. |
İstek metni
İstek içeriği 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 senkron istekler için sunucu son tarihine ulaşılmadan önce (hangisi daha önceyse) yanıt döndürür. Asenkron isteklerde sunucu, zaman aşımı süresi dolmadan önce (mümkünse) bir çözüm oluşturur. |
model |
Çözülecek gönderim modeli. |
solvingMode |
Çözme modu varsayılan olarak |
searchMode |
İsteği çözmek için kullanılan arama modu. |
injectedFirstSolutionRoutes[] |
Optimizasyon algoritmasını, önceki bir çözüme benzer ilk çözümü bulması için yönlendirin. İlk çözüm oluşturulduğunda model kısıtlanır. Bir rota üzerinde gerçekleştirilmeyen gönderiler, ilk çözümde örtülü olarak atlanır ancak sonraki çözümlerde gerçekleştirilebilir. Çözüm, bazı temel geçerlilik varsayımlarını karşılamalıdır:
Yerleştirilen çözüm uygun değilse doğrulama hatası döndürülmeyebilir. Bunun yerine, uygun olmadığını belirten bir hata döndürülebilir. |
injectedSolutionConstraint |
Optimizasyon algoritmasını, önceki çözüme benzer bir nihai çözüm bulacak şekilde 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. Yerleştirilen çözüm uygun değilse doğrulama hatası döndürülmeyebilir. Bunun yerine, uygun olmadığını belirten bir hata döndürülebilir. |
refreshDetailsRoutes[] |
Boş değilse verilen rotalar, ziyaretlerin veya seyahat sürelerinin temel sırası değiştirilmeden yenilenir: yalnızca diğer ayrıntılar güncellenir. Bu, modeli çözmez. 2020/11 itibarıyla bu yalnızca boş olmayan rotaların çoklu çizgilerini doldurur ve Gönderilen rotaların Bu alan,
|
interpretInjectedSolutionsUsingLabels |
Doğruysa:
Bu yorum, Doğruysa aşağıdaki kategorilerdeki etiketler, kategorilerinde en fazla bir kez görünmelidir:
Enjekte edilen çözümdeki bir Enjekte edilen bir çözümden rota ziyaretlerinin veya rotaların tamamının kaldırılması, dolaylı kısıtlamaları etkileyebilir. Bu durum, çözümde değişikliğe, doğrulama hatalarına veya uygulanabilirliğin ortadan kalkmasına neden olabilir. NOT: Arayan, her |
considerRoadTraffic |
|
populatePolylines |
Doğruysa yanıtlarda çoklu çizgiler doldurulur |
populateTransitionPolylines |
Doğruysa yanıtta çoklu çizgiler ve rota jetonları doldurulur |
allowLargeDeadlineDespiteInterruptionRisk |
Bu ayar belirlenirse isteğin 60 dakikaya kadar bir son tarihi olabilir (bkz. https://grpc.io/blog/deadlines). Aksi takdirde, maksimum son tarih yalnızca 30 dakikadır. Uzun süreli isteklerin kesintiye uğrama riskinin önemli ölçüde daha yüksek (ancak yine de düşük) olduğunu unutmayın. |
useGeodesicDistances |
Doğruysa seyahat mesafeleri Google Haritalar mesafeleri yerine jeodezik mesafeler kullanılarak, seyahat süreleri ise |
label |
Bu isteği tanımlamak için kullanılabilecek, |
geodesicMetersPerSecond |
|
maxValidationErrors |
Döndürülen doğrulama hatalarının sayısını kısaltır. Bu hatalar, genellikle INVALID_ARGUMENT hata yüküne BadRequest hata ayrıntısı (https://cloud.google.com/apis/design/errors#error_details) olarak eklenir. Ancak solvingMode=VALIDATE_ONLY ise |
Yanıt metni
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 belgelerine bakın.