OptimizeToursRequest içeren bir ShipmentModel gönderir ve ShipmentRoute içeren bir OptimizeToursResponse döndürür. ShipmentRoute, genel maliyeti en aza indirmek için araçlar tarafından gerçekleştirilecek bir dizi rotadır.
ShipmentModel modeli temel olarak, gerçekleştirilmesi gereken Shipment'lerden ve Shipment'leri taşımak için kullanılabilecek Vehicle'lerden oluşur. ShipmentRoute, Vehicle'ye Shipment atar. Daha net bir ifadeyle, her araca bir dizi Visit atarlar. Burada Visit, Shipment için teslim alma veya teslimat olan VisitRequest'ye karşılık gelir.
Amaç, maliyetin ShipmentModel içinde tanımlanan birçok bileşeni olduğu durumlarda toplam maliyeti en aza indiren ShipmentRoute'ların Vehicle'lara atanmasını sağlamaktır.
HTTP isteği
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeTours
URL, gRPC Kod Dönüştürme söz dizimini kullanır.
Yol parametreleri
| Parametreler | |
|---|---|
parent |
Zorunlu. Arama yapmak için hedef proje veya konum. Biçim:
Konum belirtilmemişse 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) bir yanıt döndürür. Asenkron isteklerde sunucu, zaman aşımı süresi dolmadan önce (mümkünse) bir çözüm oluşturur. En fazla dokuz kesirli basamak içeren ve " |
model |
Çözülecek gönderim modeli. |
solvingMode |
Varsayılan olarak, çözüm modu |
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. Model, ilk çözüm oluşturulduğunda 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 ve bunun yerine uygun olmadığını belirten bir hata döndürülebilir. |
injectedSolutionConstraint |
Optimizasyon algoritmasını, önceki bir çözüme benzer nihai bir çözüm bulacak şekilde kısıtlayın. Örneğin, bu özellik, tamamlanmış veya tamamlanacak ancak değiştirilmemesi gereken rota bölümlerini dondurmak için kullanılabilir. Yerleştirilen çö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. |
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 işlem modeli çözmez. 2020/11 itibarıyla bu yalnızca boş olmayan rotaların çoklu çizgisini doldurur ve İletilen 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üme eklenen 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 BadRequest hata ayrıntısı (https://cloud.google.com/apis/design/errors#error_details) olarak bir INVALID_ARGUMENT hata yüküne eklenir. Ancak solvingMode=VALIDATE_ONLY ise |
Yanıt metni
Başarılıysa yanıt metni, OptimizeToursResponse öğ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 iznini gerektirir:
routeoptimization.locations.use
Daha fazla bilgi için IAM belgelerini inceleyin.