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 tính năng định tuyến xe các mục tiêu và hạn chế về hoạt động dưới dạng dữ liệu có cấu trúc để cung cấp kế hoạch 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 điều phối tự động hoặc quy trình lập kế hoạch tuyến đường để cải thiện hiệu quả hoạt động của nhu cầu vận chuyển. Với các tham số thể hiện hoạt động riêng biệt của bạn các mục tiêu và hạn chế cũng như một thuật toán được xây dựng dựa trên dữ liệu của Maps, dịch vụ này sẽ tạo kế hoạch tuyến đường tốt nhất có thể để đáp ứng những 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á các lượt chỉ định tất cả các lô hàng vào ngày tiếp theo, cung cấp một lộ trình cho mỗi lô hàng tối ưu hoá cho khoảng cách và hiệu quả thời gian, tiết kiệm chi phí, giao hàng đúng thời gian, cũng như nâng cao sự hài lòng của 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 để đến lấy hàng một số đơn đặt hàng mới và chèn đơn đặt hàng đó vào lộ trình hiện tại của họ.
  • 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 để lập bản đồ tình trạng sức khoẻ nhà cung cấp đến các cuộc hẹn, cải thiện hiệu quả của các tuyến cho từng nhà cung cấp dịch vụ này trong ngày của họ.
  • Một 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 ra phương án tối ưu định tuyến và trình tự cho các cuộc hẹn bảo dưỡng của kỹ thuật viên, đồng thời tối ưu hoá lại khi tình trạng thay đổi xảy ra, chẳng hạn như tình trạng chậm 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 và chỉ định của công việc cho một đội phương tiện vận chuyển, xét đến nhiều mục tiêu và hạn chế.

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

  • Hiệu quả của việc đi lại: Xác định các yêu cầu của bạn về hiệu suất đi lại 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ụ. Cho ví dụ: xác định một khoảng thời gian nhất định cho một sản phẩm đến lấy hàng, giao hàng hoặc cung cấp dịch vụ hành động.
  • Chi phí sử dụng xe: Giảm thiểu số lượng xe cần thiết để thực hiện nhiệm vụ để tiết kiệm chi phí.
  • Cân bằng tải: Đảm bảo các công việc được phân bổ công bằng trên hệ thống phương tiện và nhân viên.

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à một chiếc xe có thể chứa được ở một bất cứ lúc nào.
  • Khung thời gian: Khung giờ cụ thể để đến nơi, chẳng hạn như khách hàng tình trạng còn 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 ở một trong các 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.

Xem hướng dẫn tham khảo dành cho nhà phát triển (REST, gRPC) để biết chi tiết và các tham số có sẵn.

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. Đáp kế hoạch tuyến đường bao gồm việc phân công nhiệm vụ cho xe, các tuyến đường nhiều điểm dừng cho mỗi phương tiện xe và các chỉ số có 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: API đồng bộ yêu cầu ứng dụng khách phải đợi 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 khách 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 tìm hiểu 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 chứa thông tin chi tiết về đầ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ác chế độ cài đặt và hạn chế ở cấp độ toàn cụ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 một lô hàng thực tế có thể bao gồm nhiệm vụ đến lấy hàng, lượt ghé thăm địa điểm giao hàng và các thuộc tính tương ứng bao gồm vị trí và các thuộc tính khác, điều kiện ràng buộc và các 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 xe, nhân viên) và các thuộc tính tương ứng về du lịch, bao gồm cả vị trí xuất phát và thuộc tính của phương tiện di chuyển hoặc xe cộ, các điều kiện ràng buộc và hàm chi phí. 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 có chứa kế hoạch về tuyến đường cho phương tiện di chuyển 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 kèm 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 xây dựng yêu cầu và diễn giải phản hồi trong Diễn giải câu trả lờ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 API Tối ưu hoá tuyến đường 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 Long Thao tác đang chạy, 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 lượt truy cập 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 Bắt đầu bằng Thiết lập dự án trên Google Cloud và hoàn thành hướng dẫn thiết lập tiếp theo.
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 với gửi một yêu cầu cơ bản và nhận phản hồi, theo dõi Tạo yêu cầuDiễn giải câu trả lờ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 tình huống ví dụ bắt đầu bằng Tối ưu hoá đơn đặt hàng tự đến lấy và ngừng giao hàng và bắt đầu tạo 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 thư viện ứng dụng có sẵn cho API Tối ưu hoá tuyến, hãy xem Thư viện ứng dụng.

Các bước tiếp theo