ShipmentModel
içeren bir OptimizeToursRequest
gönderir ve ShipmentRoute
içeren bir OptimizeToursResponse
döndürür. Bunlar, toplam maliyeti en aza indiren araçlar tarafından gerçekleştirilecek bir rota grubudur.
ShipmentModel
modeli, temel olarak uygulanması gereken Shipment
adımlarından ve Shipment
öğelerini taşımak için kullanılabilen Vehicle
öğelerinden oluşur. ShipmentRoute
öğeleri, Shipment
öğelerini Vehicle
öğelerine atar. Daha ayrıntılı belirtmek gerekirse her araca bir Visit
serisi atarlar. Burada Visit
, Shipment
için teslim alma veya teslimat anlamına gelen VisitRequest
değerine karşılık gelir.
Amaç, maliyetin ShipmentModel
içinde birçok bileşeni olduğu durumlarda toplam maliyeti en aza indiren Vehicle
öğelerine ShipmentRoute
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 projeyi veya konumu hedefleyin. Biçim: * Konum belirtilmezse otomatik olarak bir bölge seçilir. |
İstek içeriği
İsteğin gövdesi, aşağıdaki yapıya sahip veriler içerir:
JSON gösterimi |
---|
{ "timeout": string, "model": { object ( |
Alanlar | |
---|---|
timeout |
Bu zaman aşımı ayarlanırsa, zaman aşımı süresi dolmadan veya eşzamanlı istekler için sunucu son tarihine (hangisi daha önceyse) ulaşılmadan sunucu bir yanıt döndürür. Eşzamansız istekler için, sunucu zaman aşımı süresi dolmadan önce (mümkünse) bir çözüm oluşturur. " |
model |
Çözülmesi gereken gönderim modeli. |
solvingMode |
Varsayılan olarak çözme modu |
searchMode |
İsteği çözmek için kullanılan arama modu. |
injectedFirstSolutionRoutes[] |
Önceki çözüme benzer ilk çözümü bulması için optimizasyon algoritmasına rehberlik etme. İlk çözüm oluşturulduğunda model kısıtlanır. Bir rotada gerçekleştirilmeyen tüm gönderimler ilk çözümde örtülü olarak atlanır, ancak ardışık çözümlerde gerçekleştirilebilir. Çözüm, geçerliliğiyle ilgili bazı temel varsayımları karşılamalıdır:
Eklenen çözüm uygun değilse doğrulama hatası döndürülmeyebilir ve bunun yerine uygulanabilir olmadığını belirten bir hata döndürülebilir. |
injectedSolutionConstraint |
Önceki çözüme benzer nihai çözüm bulmak için optimizasyon algoritmasının kısıtlanmasını sağlar. Örneğin, hâlihazırda tamamlanan ya da tamamlanmak üzere olan ancak değiştirilmemesi gereken güzergahların bölümlerini dondurmak için kullanılabilir. Eklenen çözüm uygun değilse doğrulama hatası döndürülmeyebilir ve bunun yerine uygulanabilir olmadığını belirten bir hata döndürülebilir. |
refreshDetailsRoutes[] |
Boş bırakılmamışsa belirtilen rotalar, temel ziyaret veya seyahat süresi 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 işlem yalnızca boş olmayan rotaların çoklu çizgilerini doldurur ve Giriş yapılan rotaların Bu alan
|
interpretInjectedSolutionsUsingLabels |
Doğruysa:
Bu yorum Doğruysa, aşağıdaki kategorilerde yer alan etiketler kendi kategorilerinde en fazla bir kez görünmelidir:
Enjekte edilen çözümdeki Rota ziyaretlerinin veya rotaların enjekte edilen çözümden tamamen kaldırılması, 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 kişi, her |
considerRoadTraffic |
|
populatePolylines |
Doğru değerine ayarlanırsa yanıt |
populateTransitionPolylines |
Doğruysa |
allowLargeDeadlineDespiteInterruptionRisk |
Bu ayarlanırsa istek için 60 dakikaya kadar bir son tarih (https://grpc.io/blog/deadlines sayfasına bakın) olabilir. Aksi takdirde, maksimum son tarih yalnızca 30 dakikadır. Uzun süreli isteklerin kesintiye uğrama riskinin çok daha büyük (ancak yine de küçü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 ve |
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 INVALID_ARGUMENT hata yüküne eklenir. SolutionMode=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