ShipmentModel içeren bir OptimizeToursRequest gönderir ve ShipmentRoute içeren bir OptimizeToursResponse döndürür. ShipmentRoute, araçlar tarafından gerçekleştirilecek ve genel maliyeti en aza indirecek bir rota kümesidir.
Bir ShipmentModel modeli temel olarak, gerçekleştirilmesi gereken Shipment ve Shipment'ları taşımak için kullanılabilecek Vehicle'lardan oluşur. ShipmentRoute, Shipment'yi Vehicle'ye atar. Daha net bir ifadeyle, her araca bir dizi Visit atarlar. Burada Visit, VisitRequest'ye karşılık gelir. VisitRequest ise Shipment için teslim alma veya teslimat anlamına gelir.
Amaç, maliyetin ShipmentModel içinde tanımlanan birçok bileşeni olduğu durumlarda toplam maliyeti en aza indiren bir ShipmentRoute-Vehicle ataması 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 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, 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 izni gerekir:
routeoptimization.locations.use
Daha fazla bilgi için IAM belgelerine bakın.