Mục tiêu là các thông số xác định trước các mục tiêu tối ưu hoá thường gặp, chẳng hạn như khoảng cách hoặc thời gian di chuyển ngắn nhất, giao hàng đúng giờ, cân bằng tải giữa các tài xế. Mục đích của việc này là giúp nhà phát triển dễ dàng sử dụng Route Optimization API trước khi tìm hiểu về các thông số phức tạp và khả năng tuỳ chỉnh đầy đủ của các thông số về chi phí.
Khi được đặt, ShipmentModel.objectives
sẽ ghi đè hoàn toàn mô hình chi phí, do đó, chúng không tương thích với các chi phí hiện có. Mỗi Objective
tương ứng với một số chi phí được xác định trước cho xe, lô hàng hoặc thuộc tính chuyển đổi.
Khi chỉ định chế độ giải TRANSFORM_AND_RETURN_REQUEST
, yêu cầu sẽ không được giải quyết mà chỉ được xác thực và điền các chi phí tương ứng với các mục tiêu đã cho. Yêu cầu đã sửa đổi được trả về dưới dạng OptimizeToursResponse.processed_request
. Tất cả các chế độ giải khác sẽ trả về yêu cầu đã giải.
Chế độ giải TRANSFORM_AND_RETURN_REQUEST
chỉ hợp lệ cho các yêu cầu OptimizeTours
và không dùng được cho các yêu cầu khác của Route Optimization API.
Ví dụ: Tạo yêu cầu ShipmentModel.objectives
Trước khi đưa ra yêu cầu, hãy hoàn tất các bước sau:
- Đảm bảo bạn đã định cấu hình Thông tin xác thực mặc định của ứng dụng như mô tả trong phần Sử dụng OAuth.
Đặt PROJECT_NUMBER_OR_ID thành số hoặc mã dự án trên Cloud.
Lệnh sau đây sẽ gửi một
OptimizeToursRequest
đến Route Optimization API (API Tối ưu hoá tuyến đường) và API này sẽ trả về mộtOptimizeToursResponse
.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
Ví dụ: Tạo yêu cầu TRANSFORM_AND_RETURN_REQUEST
Trước khi đưa ra yêu cầu, hãy hoàn tất các bước sau:
- Đảm bảo bạn đã định cấu hình Thông tin xác thực mặc định của ứng dụng như mô tả trong phần Sử dụng OAuth.
Đặt PROJECT_NUMBER_OR_ID thành số hoặc mã dự án trên Cloud.
Lệnh sau đây sẽ gửi một
OptimizeToursRequest
đến API Tối ưu hoá tuyến đường. API này sẽ trả về mộtOptimizeToursResponse
có trườngProcessedRequest
được đặt. Lệnh trước đó sẽ tạo ra một phản hồi tương tự như sau.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" } }