Hedefler, en kısa seyahat mesafesi veya süresi, zamanında teslimatlar, sürücüler arasında yük dengeleme gibi yaygın optimizasyon hedeflerini önceden tanımlayan parametrelerdir. Bu, geliştiricilerin karmaşık özellikleri ve maliyet parametrelerinin tam özelleştirilmesini öğrenmeden önce Route Optimization API'ye katılımını kolaylaştırmak için tasarlanmıştır.
Ayarlanmışsa ShipmentModel.objectives
, maliyet modelini tamamen geçersiz kılar. Bu nedenle, önceden var olan maliyetlerle uyumlu değildir. Her Objective
, araçlar, gönderiler veya geçiş özellikleri için önceden tanımlanmış bir dizi maliyetle eşlenir.
TRANSFORM_AND_RETURN_REQUEST
çözüm modu belirtildiğinde istek çözülmez, yalnızca doğrulanır ve verilen hedeflere karşılık gelen maliyetlerle doldurulur. Değiştirilen istek, OptimizeToursResponse.processed_request
olarak döndürülür. Diğer tüm çözüm modları, çözülen isteği döndürür.
TRANSFORM_AND_RETURN_REQUEST
çözüm modu yalnızca OptimizeTours
istekleri için geçerlidir ve diğer Rota Optimizasyonu API istekleri için kullanılamaz.
Örnek: ShipmentModel.objectives
isteğinde bulunma
İstek göndermeden önce aşağıdaki adımları tamamlayın:
- Uygulama Varsayılan Kimlik Bilgileri'nin OAuth Kullanma bölümünde açıklandığı şekilde yapılandırıldığından emin olun.
PROJECT_NUMBER_OR_ID değerini Cloud proje numaranız veya kimliğiniz olarak ayarlayın.
Aşağıdaki komut,
OptimizeToursRequest
döndüren Rota Optimizasyonu API'sineOptimizeToursResponse
gönderir.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ], } } EOM
Örnek: TRANSFORM_AND_RETURN_REQUEST
isteğinde bulunma
İstek göndermeden önce aşağıdaki adımları tamamlayın:
- Uygulama Varsayılan Kimlik Bilgileri'nin OAuth Kullanma bölümünde açıklandığı şekilde yapılandırıldığından emin olun.
PROJECT_NUMBER_OR_ID değerini Cloud proje numaranız veya kimliğiniz olarak ayarlayın.
Aşağıdaki komut, Route Optimization API'ye bir
OptimizeToursRequest
gönderir. Bu API,ProcessedRequest
alanı ayarlanmış birOptimizeToursResponse
döndürür. Önceki komut, aşağıdakine benzer bir yanıt oluşturur.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } EOM
{ "processedRequest": { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.425062610009959, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.424215032060211, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerHour": 30, "costPerTraveledHour": 330, "costPerKilometer": 0.2 } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } }