ShipmentModel
içeren bir OptimizeToursRequest
gönderir ve ShipmentRoute
içeren bir OptimizeToursResponse
döndürür. Bunlar, araçlar tarafından toplam maliyeti en aza indiren rota grubudur.
ShipmentModel
modeli, esas olarak gerçekleştirilmesi gereken Shipment
öğeleri ve Shipment
öğelerini taşımak için kullanılabilecek Vehicle
öğelerinden oluşur. ShipmentRoute
öğeleri, Shipment
öğelerini Vehicle
öğelerine atar. Daha ayrıntılı olarak belirtmek gerekirse, her araca bir dizi Visit
atanır. Bu Visit
, bir Shipment
için teslimat veya teslim alma işlemi olan bir VisitRequest
'a karşılık gelir.
Amaç, ShipmentModel
içinde tanımlanan birçok bileşenin maliyet olduğu durumlarda toplam maliyeti en aza indirecek biçimde Vehicle
öğelerine ShipmentRoute
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 projeyi veya konumu hedefleyin. Biçim: * Konum belirtilmezse bölge otomatik olarak seçilir. |
İstek içeriği
İstek gövdesi, aşağıdaki yapıya sahip 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. Eşzamansız istekler için sunucu, zaman aşımı dolmadan önce bir çözüm (mümkünse) oluşturur. En fazla dokuz kesir basamağı olan ve " |
model |
Çözülecek gönderim modeli. |
solvingMode |
Çözme modu varsayılan olarak |
searchMode |
İsteği çözmek için kullanılan arama modu. |
injectedFirstSolutionRoutes[] |
Önceki çözüme benzer ilk çözümü bulma konusunda optimizasyon algoritmasına rehberlik edin. Model, ilk çözüm oluşturulduğunda kısıtlanır. Bir rota üzerinde gerçekleştirilmeyen tüm sevkiyatlar, ilk çözümde dolaylı olarak atlanır, ancak birbirini izleyen çözümlerde kullanılabilir. Çözüm, bazı temel geçerlilik varsayımlarını karşılamalıdır:
Yerleştirilen çözüm uygulanabilir değilse doğrulama hatası her zaman döndürülmez ve bunun yerine uygulanabilir olmadığını belirten bir hata döndürülebilir. |
injectedSolutionConstraint |
Önceki çözüme benzer nihai bir çözüm bulmak için optimizasyon algoritmasını kısıtlayın. Örneğin bu, tamamlanmış veya tamamlanmak üzere olan ancak değiştirilmemesi gereken rota 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. |
refreshDetailsRoutes[] |
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 yalnızca boş olmayan rotaların çoklu çizgilerini dolduruyor ve Geçilen rotaların Bu alan,
|
interpretInjectedSolutionsUsingLabels |
Eğer doğruysa:
Bu yorum Doğru değerine ayarlanırsa aşağıdaki kategorilerdeki etiketler, kategorilerinde en fazla bir kez görünmelidir:
Enjekte edilen çözümdeki bir Yerleştirilen bir çözümden rota ziyaretlerini veya rotaların tamamını kaldırmak, ima edilen kısıtlamaları etkileyebilir ve bu da çözümde, doğrulama hatalarında veya uygulanabilirlikte değişikliğe yol açabilir. NOT: Arayan, her |
considerRoadTraffic |
|
populatePolylines |
Doğru değerine ayarlanırsa yanıt |
populateTransitionPolylines |
Doğru değerine ayarlanırsa |
allowLargeDeadlineDespiteInterruptionRisk |
Bu ayarlanırsa isteğin son tarihi 60 dakikadır (bkz. https://grpc.io/blog/deadlines). Aksi takdirde, maksimum son tarih yalnızca 30 dakikadır. Uzun süreli isteklerin çok daha büyük (ancak yine de küçük) kesinti riskinin olduğunu unutmayın. |
useGeodesicDistances |
Doğru değerine ayarlanırsa seyahat mesafeleri, Google Haritalar'daki mesafeler yerine jeodezik mesafeler kullanılarak ve seyahat süreleri, |
label |
Bu isteği tanımlamak için kullanılabilecek etiket ( |
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_CHANGES hata yüküne eklenir. ÇözmeMode=TRUEATE_ONLY: |
Yanıt gövdesi
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.