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

Tối ưu hoá tuyến đường là một API Nền tảng Google Maps chấp nhận các mục tiêu định tuyến xe và các giới hạn vận hành 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.

Lý do bạn nên sử dụng 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ể 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 để cải thiện hiệu quả vận hành cho các nhu cầu vận chuyển của mình. Với các tham số thể hiện mục tiêu và hạn chế riêng khi vận hành, 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ụ này sẽ tạo ra 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 hậu cầ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 chuyến hàng giao vào ngày tiếp theo, cung cấp tuyến đường cho mỗi chuyến hàng để tối ưu hoá hiệu quả về khoảng cách và thời gian, tiết kiệm chi phí, giao hàng đúng hạn, cũng như sự hài lòng của người lái xe 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 nhằm chọn tài xế đang hoạt động tốt nhất để 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ụ sức khoẻ với các cuộc hẹn, cải thiện hiệu quả của các tuyến cho mỗi nhà cung cấp trong ngày của họ.
  • Nhà cung cấp dịch vụ tại hiện trường sử dụng tính năng Tối ưu hoá tuyến đường để tìm tuyến đường và trình tự tối ưu cho các cuộc hẹn dịch vụ của kỹ thuật viên, đồng thời tối ưu hoá lại khi có thay đổi về tình trạng, chẳng hạn như trễ trên tuyến đường.

Những việc bạn có thể làm với 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ể tối ưu hoá các tuyến đường và việc chỉ định nhiệm vụ 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ả của chuyến đi: Xác định các yêu cầu về hiệu quả của chuyến đi dựa trên các thông số như khoảng cách và thời gian đến điểm đến.
  • Đến đú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 sử dụng dịch vụ.
  • 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 nhiệm vụ được phân bổ công bằng cho nhóm xe và nhân sự.

Ví dụ về 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 làm việc và thời gian nghỉ giải lao.
  • Sức chứa tối đ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: Khoảng thời gian cụ thể bắt buộc phải có để đến, 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ủa công việc theo một trong những cách sau:

    • Đòi hỏi loại phương tiện hoặc nhân viên cụ thể
    • Trước tiên, yêu cầu thực hiện công việc khác
    • Lô hàng phải là chiếc duy nhất được lưu trong xe tại một thời điểm nhất định.

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ố 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ề kế hoạch tuyến đường. Dữ liệu đầu vào bao gồm phương tiện, nhiệm vụ hoặc lô hàng, mục tiêu và các quy tắc ràng buộc. Kế hoạch lộ trình bao gồm việc chỉ định nhiệm vụ cho xe, tuyến đường nhiều điểm dừng cho từng xe và các chỉ số liên quan.

API Tối ưu hoá tuyến đường làm được điều này bằng 2 phương pháp:

  • OptimizeTours: Một API đồng bộ, yêu cầu ứng dụng phải đợi phản hồi của máy chủ trước khi tiếp tục thực hiện các nhiệm vụ khác.
  • BatchOptimizeTours: Một API không đồng bộ cho phép máy 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 pháp đều có cùng giao diện và có các tham số được hỗ trợ. Bạn có thể đọc thêm về BatchOptimizeTours trong phần Điểm cuối đồng bộ và không đồng bộ.

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

Yêu cầu Optimize Tours

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ể toàn cục nơi định cấu hình các chế độ cài đặt và quy tắc ràng buộc ở cấp độ chung. Danh mục này cũng chứa Lô hàng và xe cộ.
  • 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 và lượt giao hàng cùng các thuộc tính tương ứng như vị trí, các thuộc tính khác, quy tắc 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 xe (hoặc tài xế, nhân viên) và các thuộc tính tương ứng của chuyến đi, bao gồm cả vị trí xuất phát cũng như các thuộc tính, điểm ràng buộc và hàm chi phí khác của xe hoặc chuyến đi. Hãy xem phần ( REST, gRPC) để biết thông tin chi tiết.

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

Phản hồi 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 của xe và các nhiệm vụ hoặc quá trình vận chuyển.

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

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

Đọ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 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 về 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 lâu 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á, cùng với thông tin chi tiết về các 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 Hãy bắt đầu từ việc Thiết lập dự án Google Cloud rồi hoàn thành các 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à Tạo yêu cầuDiễn giải câu trả lời.
3 Thử một tình huống nâng cao hơn rồi bắt đầu tạo yêu cầu của riêng bạn Hãy khám phá các tình huống ví dụ bắt đầu bằng tính năng Tối ưu hoá đơn đặt hàng đến lấy hàng và ngừng giao hàng rồi bắt đầu tạo các yêu cầu phù hợp với các trường hợp sử dụng của bạn.

Thư viện ứng dụng có sẵn

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

Bước tiếp theo