Tổng quan về API Tối ưu hoá tuyến đường

Tối ưu hoá tuyến đường là một API của Nền tảng Google Maps chấp nhận các mục tiêu về tuyến đường của xe và các hạn chế về vận hành dưới dạng dữ liệu có cấu trúc để cung cấp kế hoạch về tuyến đường cho một hoặc nhiều xe.

Tại sao bạn nên sử dụng tính năng Tối ưu hoá tuyến đường

Với API Tối ưu hoá tuyến đường, bạn có thể thiết lập hoặc tinh chỉnh quy trình điều phối hoặc lập kế hoạch tuyến đường tự động nhằm cải thiện hiệu quả hoạt động của nhu cầu vận tải. Với các tham số để thể hiện các mục tiêu và hạn chế về hoạt động riêng biệt của bạn, cũng như một thuật toán được xây dựng dựa trên dữ liệu đáng tin cậy của Google Maps, dịch vụ sẽ tạo kế hoạch tuyến đường tốt nhất có thể để đáp ứng các hạn chế đó. Sau đây là một số ví dụ về trường hợp sử dụng:

  • Một công ty kho vận sử dụng tính năng Tối ưu hoá tuyến đường để tối ưu hoá việc chỉ định tất cả các lô hàng vào ngày tiếp theo, cung cấp một tuyến đường cho mỗi lô hàng nhằm tối ưu hoá khoảng cách và thời gian, tiết kiệm chi phí, giao hàng đúng hạn, cũng như làm hài lòng tài xế và khách hàng cuối.
  • Một công ty giao đồ ăn theo yêu cầu sử dụng tính năng Tối ưu hoá tuyến đường trong quy trình điều phối theo thời gian thực để chọn tài xế đang hoạt động phù hợp nhất nhằm nhận một số đơn đặt hàng mới và chèn đơn đặt hàng đó vào các tuyến đường hiện có.
  • Một nhà cung cấp dịch vụ y tế sử dụng tính năng Tối ưu hoá tuyến đường để ánh xạ các nhà cung cấp dịch vụ y tế đến các cuộc hẹn, cải thiện hiệu quả của các tuyến đường cho từng nhà cung cấp trong ngày của họ.
  • Nhà cung cấp dịch vụ thực địa sử dụng tính năng Tối ưu hoá tuyến đường để tìm tuyến và trình tự tối ưu cho các cuộc hẹn bảo dưỡng của kỹ thuật viên, và tối ưu hoá lại khi điều kiện thay đổi, chẳng hạn như trễ trên tuyến đường.

Bạn có thể làm gì với tính năng Tối ưu hóa tuyến đường

Với API Tối ưu hoá tuyến đường, bạn có thể tối ưu hoá các tuyến đường và lượt chỉ định công việc cho một nhóm xe, có tính đến nhiều mục tiêu và hạn chế.

Ví dụ về mục tiêu:

  • Hiệu quả đi lại: Xác định các yêu cầu về hiệu suất đi lại dựa trên các thông số như khoảng cách và thời gian tới điểm đến.
  • Đến nơi đúng giờ: Đảm bảo xe đến đúng giờ để thực hiện nhiệm vụ. Ví dụ: xác định một khoảng thời gian nhất định cho hành động đến lấy hàng, giao hàng hoặc bảo dưỡng.
  • Chi phí sử dụng xe: Giảm thiểu số lượng xe cần thiết để thực hiện các nhiệm vụ nhằm tiết kiệm chi phí.
  • Cân bằng tải: Đảm bảo các nhiệm vụ được phân bổ đồng đều trên đội phương tiện và nhân sự.

Ví dụ về các quy tắc ràng buộc:

  • Giờ làm việc của tài xế: Thời gian bắt đầu và kết thúc đối với công việc và thời gian nghỉ giải lao.
  • Sức chứa của xe: Tải trọng tối đa mà xe có thể chở tại một thời điểm.
  • Khoảng thời gian: Khung giờ cụ thể cần thiết để đến nơi, chẳng hạn như tình trạng rảnh/bận của khách hàng hoặc giờ hoạt động của cửa hàng.
  • Phần phụ thuộc và khả năng tương thích: Xác định các phần phụ thuộc công việc theo một trong những cách sau:

    • Yêu cầu loại phương tiện hoặc nhân viên cụ thể
    • Yêu cầu thực hiện công việc khác trước
    • Tại một thời điểm cụ thể, mỗi lô hàng phải là phương tiện duy nhất trên xe.

Hãy xem hướng dẫn tham khảo dành cho nhà phát triển (REST, gRPC) để biết thông tin chi tiết và tất cả các tham số hiện có.

Cách hoạt động của tính năng Tối ưu hoá tuyến đường

API Tối ưu hoá tuyến đường sử dụng một số dữ liệu đầu vào để trả về một kế hoạch tuyến đường. Thông tin đầu vào bao gồm phương tiện vận chuyển, nhiệm vụ hoặc lô hàng, mục tiêu và các điều kiện ràng buộc. Kế hoạch tuyến đường bao gồm việc chỉ định nhiệm vụ cho xe, tuyến đường nhiều điểm dừng cho mỗi phương tiện và các chỉ số liên quan.

API Tối ưu hoá tuyến đường đạt được điều này bằng cách sử dụng hai phương pháp:

  • OptimizeTours: Một API đồng bộ yêu cầu ứng dụng phải chờ phản hồi của máy chủ trước khi tiến hành các tác vụ khác.
  • BatchOptimizeTours: Một API không đồng bộ, cho phép ứng dụng tiếp tục thực hiện các tác vụ khác trước khi máy chủ hoàn tất và phản hồi.

Cả hai phương thức đều có cùng giao diện và các tham số được hỗ trợ. Bạn có thể đọc thêm về BatchOptimizeTours trong Điểm cuối đồng bộ và không đồng bộ.

API Tối ưu hoá tuyến đường chấp nhận yêu cầu POST qua HTTP có nội dung yêu cầu JSON có chứa thông tin chi tiết về dữ liệu đầu vào.

Yêu cầu OptimizeChuyếns

Yêu cầu bao gồm các thực thể bắt buộc sau:

  • Mô hình: một thực thể chung trong đó các chế độ cài đặt và quy tắc ràng buộc ở cấp độ chung được định cấu hình. Danh mục này cũng chứa các lô hàng và phương tiện vận chuyển.
  • Lô hàng: dùng để xác định một nhiệm vụ hoặc lô hàng thực tế có thể bao gồm nhiệm vụ đến lấy hàng và lượt ghé thăm giao hàng cũng như các thuộc tính tương ứng, bao gồm cả vị trí cũng như các thuộc tính khác, những điều kiện ràng buộc và hàm chi phí. Xem Tài liệu tham khảo về lô hàng (REST, gRPC) để biết thông tin chi tiết.
  • Xe: dùng để xác định một chiếc xe (hoặc người lái, nhân viên) và các thuộc tính đi lại tương ứng, bao gồm cả vị trí xuất phát và các thuộc tính khác của xe hoặc việc đi lại, các điều kiện ràng buộc và hàm chi phí. Hãy xem (REST, gRPC) để biết thông tin chi tiết.

Hãy xem bài viết Tối ưu hoá đơn đặt hàng tại điểm đến lấy hàng và ngừng giao hàng để xem một ví dụ đơn giản.

Phản hồi của Optimize Tours

API Tối ưu hoá tuyến đường trả về phản hồi JSON bao gồm kế hoạch tuyến đường cho xe và các nhiệm vụ hoặc lô hàng.

  • Tuyến đường: chứa các tuyến đường của từng xe có nhiệm vụ được chỉ định (hoặc lô hàng)
  • Chỉ số: các chỉ số tổng hợp về kế hoạch tuyến đường đã tạo

Hãy xem bài viết Tối ưu hoá đơn đặt hàng tại điểm đến lấy hàng và ngừng giao hàng để xem một ví dụ đơn giản.

Đọc thêm thông tin chi tiết về cách tạo yêu cầu và diễn giải phản hồi trong phần Diễn giải phản hồi.

Tài nguyên

Bảng sau đây tóm tắt các tài nguyên có sẵn thông qua Route Optimization API cùng với dữ liệu mà API này trả về.

Tài nguyên dữ liệu Dữ liệu được trả về Định dạng trả về
batchOptimizeTours (REST, gRPC) Trả về tên tài nguyên của một Hoạt động chạy trong thời gian dài, cho biết thời điểm quá trình xử lý hoàn tất. Proto JSON hoặc gRPC
optimizeTours (REST, gRPC) Trả về một tuyến đường được tối ưu hoá, kèm theo thông tin chi tiết về các lượt ghé thăm và chỉ số. Proto JSON hoặc gRPC

Cách sử dụng tính năng Tối ưu hoá tuyến đường

1 Thiết lập Hãy bắt đầu bằng việc Thiết lập dự án Google Cloud và hoàn thành hướng dẫn thiết lập sau đó.
2 Chạy một yêu cầu cơ bản và nhận phản hồi Sau khi thiết lập, hãy bắt đầu bằng việc gửi một yêu cầu cơ bản và nhận phản hồi, sau đó làm theo các bước Xây dựng yêu cầuDiễn giải phản hồi.
3 Hãy thử một tình huống nâng cao hơn và bắt đầu tạo yêu cầu của riêng bạn Khám phá các trường hợp ví dụ bắt đầu bằng tính năng Tối ưu hoá đơn đặt hàng tại điểm đến lấy hàng và ngừng giao hàng rồi bắt đầu xây dựng các yêu cầu phù hợp với trường hợp sử dụng của bạn.

Thư viện ứng dụng hiện có

Để biết danh sách các thư viện ứng dụng có sẵn dành cho API Tối ưu hoá tuyến, hãy xem phần Thư viện ứng dụng.

Bước tiếp theo