Mục tiêu chính của Route Optimization API là tìm các tuyến đường có chi phí thấp nhất. Do đó, mô hình chi phí là yếu tố chính thúc đẩy việc tối ưu hoá tuyến đường.
Mô hình chi phí là một tập hợp các thuộc tính chỉ định chi phí chung, chi phí xe và chi phí vận chuyển.
Thuộc tính mô hình chi phí hỗ trợ các loại mục tiêu tối ưu hoá sau:
- Tuyến đường và việc chỉ định xe hiệu quả
- Thời gian nhận và giao hàng tiết kiệm chi phí
- Ưu tiên các lô hàng quan trọng
Cấu trúc
Như minh hoạ trong sơ đồ, các thuộc tính mô hình chi phí có cấu trúc như sau:
Shipmentchứa thuộc tínhpenaltyCost.Vehiclechứa các thuộc tính sau:
Tài liệu này chỉ nêu bật các tham số mô hình chi phí thiết yếu. Hãy xem tài liệu tham khảo để biết toàn bộ tập hợp các tham số chi phí.
Danh sách kiểm tra các yếu tố cần thiết
Danh sách kiểm tra sau đây mô tả kiến thức cần thiết để tránh các lỗi tiềm ẩn liên quan đến chi phí. Danh sách này có thể giúp bạn xác thực yêu cầu và khắc phục sự cố về câu trả lời.
Thuộc tính
Bảng sau đây liệt kê và mô tả các thuộc tính mô hình chi phí.
| Cha mẹ | Tên tài sản | Loại khách sạn | Chi phí mỗi | Nội dung mô tả thuộc tính |
|---|---|---|---|---|
Shipment |
penaltyCost |
số | Lô hàng bị bỏ qua | Chi phí phát sinh do bỏ qua lô hàng. API sẽ bỏ qua một lô hàng khi chi phí hoàn tất lô hàng đó vượt quá chi phí phạt.
|
Vehicle |
fixedCost |
số | Lô hàng | Chi phí cố định được áp dụng nếu xe này được dùng để xử lý lô hàng. |
costPerHour |
số | Giờ | Chi phí vận hành xe mỗi giờ bao gồm thời gian vận chuyển, thời gian chờ, thời gian ghé thăm và thời gian nghỉ. Khi chi phí này tăng lên, trình tối ưu hoá sẽ cố gắng tìm các tuyến đường nhanh hơn nhưng có thể không phải là tuyến đường ngắn nhất. Thuộc tính này có thể là chi phí độc lập hiệu quả cho mỗi xe do tính đơn giản và đầy đủ. |
|
costPerKilometer |
số | Km | Chi phí mỗi km xe đã đi, có thể đại diện cho chi phí nhiên liệu hoặc chi phí bảo trì xe được phân bổ. | |
costPerTraveledHour |
số | Giờ | Chi phí vận hành xe mỗi giờ chỉ trong khi vận chuyển, không bao gồm thời gian chờ, thời gian ghé thăm và thời gian nghỉ. Điều này ưu tiên các tuyến đường di chuyển nhanh hơn so với các tuyến đường ngắn hơn. |
Ví dụ
Phần này trình bày 3 loại ví dụ:
- Mã mẫu minh hoạ cấu trúc của các thuộc tính mô hình chi phí.
- Tình huống ví dụ cho thấy một cách sử dụng các thuộc tính mô hình chi phí để đạt được mục tiêu kinh doanh.
- Ví dụ về yêu cầu bao gồm các giá trị được đặt trong tình huống ví dụ.
Mã mẫu
Mã mẫu sau đây cho thấy cấu trúc của các thuộc tính mô hình chi phí trong
Shipment:
{ "model": { "shipments": [ ... { "penaltyCost": PENALTY_COST } ], "vehicles": [ ... ] } }
Mã mẫu sau đây cho thấy cấu trúc của các thuộc tính mô hình chi phí trong
Vehicle:
{ "model": { "shipments": [ ... ], "vehicles": [ ... { "fixedCost": FIXED_COST, "costPerKilometer": KILOMETER_COST, "costPerHour": HOUR_COST, "costPerTraveledHour": TRAVELED_HOUR_COST } ] } }
Tình huống ví dụ
Phần này mô tả một tình huống trong đó bạn có doanh nghiệp trông giữ chó. Bạn đang tối ưu hoá tuyến đường cho xe tải mà bạn dùng để đón chó từ nhà của chúng. Trong tình huống này, bạn muốn trình tối ưu hoá tính đến các chi phí liên quan đến việc đón chó và vận hành xe khi cung cấp tuyến đường.
Trong ví dụ này, một đơn vị chi phí đại diện cho 1 đô la. Điều này có nghĩa là các giá trị thuộc tính mô hình chi phí trong yêu cầu của bạn là:
| Thuộc tính | Giá trị | Trường hợp |
|---|---|---|
penaltyCost |
10 | Đại diện cho khoản phạt mà bạn cung cấp cho khách hàng vì không đón chó vào một ngày đã lên lịch. Bất cứ khi nào bạn không đón chó vào một ngày đã lên lịch, khách hàng sẽ được giảm giá 40 đô la so với tổng chi phí dịch vụ. |
fixedCost |
30 | Đại diện cho chi phí hằng ngày của các khoản thanh toán khoản vay mua xe, tức là 30 đô la mỗi ngày. |
costPerKilometer |
0.08 | Đại diện cho lượng xăng mà xe của bạn tiêu thụ mỗi km. Xe của bạn cần 0, 04 gallon mỗi km để di chuyển và chi phí mỗi gallon ở khu vực của bạn là 2 đô la. |
costPerHour |
27 | Đại diện cho số tiền bạn trả cho người lái xe để lái xe của bạn. Bạn trả cho người lái xe 27 đô la mỗi giờ. |
costPerTraveledHour |
2.5 | Đại diện cho số tiền bạn phải trả cho hệ thống điều hòa không khí của xe mỗi giờ cho chó khi đang trên đường. Bất cứ khi nào xe không di chuyển, người lái xe có thể mở cửa ở phía sau và tắt hệ thống điều hoà không khí. |
Dựa trên các tham số chi phí, trình tối ưu hoá có thể đưa ra các quyết định đánh đổi mà người dùng không nhận thấy rõ ràng, nhưng có thể tìm thấy thông qua quá trình tối ưu hoá.
Sơ đồ sau đây minh hoạ một ví dụ trong đó trình tối ưu hoá có thể chọn tuyến đường dài hơn nhưng nhanh hơn thông qua đường gạch ngang màu xanh lục để tránh giao thông trên đường chấm màu đỏ.

Trong tình huống này, số dư chi phí của hai tuyến đường là:
Đường gạch ngang màu xanh lục có
costPerHourvàcostPerTraveledHourthấp vì đây là tuyến đường nhanh tránh giao thông, tiết kiệm chi phí hơn ngay cả khicostPerKilometercao.Đường chấm màu đỏ có
costPerKilometerthấp vì đây là tuyến đường trực tiếp, nhưngcostPerHourvàcostPerTraveledHourquá cao do thời gian chờ trong giao thông, khiến đây trở thành tuyến đường đắt nhất.
Ngoài việc cung cấp các tuyến đường tiết kiệm chi phí, trình tối ưu hoá cũng cung cấp a tổng chi phí của các tuyến đường giao hàng trong các thuộc tính phản hồi.
Ví dụ về yêu cầu
Ví dụ sau đây cho thấy cấu trúc của yêu cầu optimizeTours
cơ bản kết hợp các giá trị được đặt trong tình huống ví dụ:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] "penaltyCost": 40 } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "fixedCost": 30, "costPerKilometer": 0.08, "costPerHour": 27, "costPerTraveledHour": 2.5 } ] } }
Thuộc tính phản hồi
Thông báo OptimizeToursResponse có các thuộc tính chi phí
mô tả chi phí phát sinh trong quá trình hoàn tất tuyến đường:
metrics.costs: Tổng chi phí trên tất cả các tuyến đường được chia theo các trường yêu cầu liên quan đến chi phí.metrics.totalCost: Tổng chi phí trên tất cả các tuyến đường được cộng lại.