Bir ShipmentModel
içeren bir OptimizeToursRequest
gönderir ve toplam maliyeti en aza indirecek şekilde araçlar tarafından gerçekleştirilecek bir rota grubu olan ShipmentRoute
içeren bir OptimizeToursResponse
döndürür.
ShipmentModel
modeli, temel olarak yapılması gereken Shipment
'lerden ve Shipment
'leri taşımak için kullanılabilecek Vehicle
'lerden 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
'ye karşılık gelir.
Amaç, maliyetin ShipmentModel
içinde tanımlanmış birçok bileşene sahip olduğu toplam maliyeti en aza indiren bir ShipmentRoute
'lerin Vehicle
'lere atanmasını sağlamaktır.
HTTP isteği
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*}: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 otomatik olarak bir bölge 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. " |
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. İ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:
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 bir çö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ıraları 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 Geçilen rotaların Bu alan,
|
interpretInjectedSolutionsUsingLabels |
Eğer 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 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 bir |
considerRoadTraffic |
|
populatePolylines |
Doğru değerine ayarlanırsa yanıt |
populateTransitionPolylines |
Doğru ise |
allowLargeDeadlineDespiteInterruptionRisk |
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 ömürlü isteklerin kesinti riskinin önemli ölçüde daha yüksek (ancak yine de küçük) olduğunu unutmayın. |
useGeodesicDistances |
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. |
geodesicMetersPerSecond |
|
maxValidationErrors |
Döndürülen doğrulama hatalarının sayısını kısaltır. Bu hatalar genellikle bir INVALID_STATUS hata yüküne BadRequest hata ayrıntısı olarak eklenir (https://cloud.google.com/apis/design/errors#error_details). ÇözmeMode=VALIDATE_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.