Chỉ mục
RouteOptimization
(giao diện)AggregatedMetrics
(thông báo)BatchOptimizeToursMetadata
(thông báo)BatchOptimizeToursRequest
(thông báo)BatchOptimizeToursRequest.AsyncModelConfig
(thông báo)BatchOptimizeToursResponse
(thông báo)BreakRule
(thông báo)BreakRule.BreakRequest
(thông báo)BreakRule.FrequencyConstraint
(thông báo)DataFormat
(enum)DistanceLimit
(thông báo)GcsDestination
(thông báo)GcsSource
(thông báo)InjectedSolutionConstraint
(thông báo)InjectedSolutionConstraint.ConstraintRelaxation
(thông báo)InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
(thông báo)InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level
(enum)InputConfig
(thông báo)Location
(thông báo)OptimizeToursRequest
(thông báo)OptimizeToursRequest.SearchMode
(enum)OptimizeToursRequest.SolvingMode
(enum)OptimizeToursResponse
(thông báo)OptimizeToursResponse.Metrics
(thông báo)OptimizeToursValidationError
(thông báo)OptimizeToursValidationError.FieldReference
(thông báo)OutputConfig
(thông báo)RouteModifiers
(thông báo)Shipment
(thông báo)Shipment.Load
(thông báo)Shipment.VisitRequest
(thông báo)ShipmentModel
(thông báo)ShipmentModel.DurationDistanceMatrix
(thông báo)ShipmentModel.DurationDistanceMatrix.Row
(thông báo)ShipmentModel.PrecedenceRule
(thông báo)ShipmentRoute
(thông báo)ShipmentRoute.Break
(thông báo)ShipmentRoute.EncodedPolyline
(thông báo)ShipmentRoute.Transition
(thông báo)ShipmentRoute.VehicleLoad
(thông báo)ShipmentRoute.Visit
(thông báo)ShipmentTypeIncompatibility
(thông báo)ShipmentTypeIncompatibility.IncompatibilityMode
(enum)ShipmentTypeRequirement
(thông báo)ShipmentTypeRequirement.RequirementMode
(enum)SkippedShipment
(thông báo)SkippedShipment.Reason
(thông báo)SkippedShipment.Reason.Code
(enum)TimeWindow
(thông báo)TransitionAttributes
(thông báo)Vehicle
(thông báo)Vehicle.DurationLimit
(thông báo)Vehicle.LoadLimit
(thông báo)Vehicle.LoadLimit.Interval
(thông báo)Vehicle.TravelMode
(enum)Vehicle.UnloadingPolicy
(enum)Waypoint
(thông báo)
RouteOptimization
Dịch vụ tối ưu hoá hành trình bằng xe.
Tính hợp lệ của một số loại trường:
google.protobuf.Timestamp
- Thời gian được tính theo thời gian Unix: giây kể từ 01/01/1970 00:00:00+00:00.
- giây phải nằm trong [0, 253402300799], tức là trong [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
- Bạn phải đặt nanos thành 0 hoặc không đặt.
google.protobuf.Duration
- giây phải nằm trong [0, 253402300799], tức là trong [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
- Bạn phải đặt nanos thành 0 hoặc không đặt.
google.type.LatLng
- vĩ độ phải nằm trong khoảng [-90.0, 90.0].
- kinh độ phải nằm trong khoảng [-180.0, 180.0].
- ít nhất một trong hai toạ độ vĩ độ và kinh độ phải khác 0.
BatchOptimizeTours |
---|
Tối ưu hoá hành trình xe cho một hoặc nhiều thông báo Phương thức này là một Thao tác thực hiện lâu (LRO). Dữ liệu đầu vào cho quá trình tối ưu hoá (tin nhắn Người dùng có thể thăm dò ý kiến Nếu trường Nếu trường
|
OptimizeTours |
---|
Gửi Mô hình Mục tiêu là cung cấp một nhiệm vụ gán
|
AggregatedMetrics
Các chỉ số tổng hợp cho ShipmentRoute
(tương ứng với OptimizeToursResponse
trên tất cả các phần tử Transition
và/hoặc Visit
(tương ứng với tất cả các phần tử ShipmentRoute
).
Trường | |
---|---|
performed_ |
Số lượng lô hàng đã thực hiện. Xin lưu ý rằng một cặp đơn hàng đến lấy và giao tận nơi chỉ được tính một lần. |
travel_ |
Tổng thời gian di chuyển cho một tuyến đường hoặc một giải pháp. |
wait_ |
Tổng thời gian chờ cho một tuyến đường hoặc một giải pháp. |
delay_ |
Tổng thời lượng trễ của một tuyến đường hoặc một giải pháp. |
break_ |
Tổng thời lượng nghỉ của một tuyến đường hoặc một giải pháp. |
visit_ |
Tổng thời lượng truy cập cho một tuyến đường hoặc một giải pháp. |
total_ |
Tổng thời lượng phải bằng tổng của tất cả thời lượng ở trên. Đối với các tuyến đường, giá trị này cũng tương ứng với:
|
travel_ |
Tổng quãng đường di chuyển cho một tuyến đường hoặc một giải pháp. |
max_ |
Tải tối đa đạt được trên toàn bộ tuyến đường (resp. giải pháp), cho mỗi số lượng trên tuyến đường này (resp. giải pháp), được tính là giá trị tối đa trên tất cả |
BatchOptimizeToursMetadata
Loại này không có trường nào.
Siêu dữ liệu thao tác cho lệnh gọi BatchOptimizeToursRequest
.
BatchOptimizeToursRequest
Yêu cầu tối ưu hoá hàng loạt các chuyến tham quan dưới dạng một thao tác không đồng bộ. Mỗi tệp đầu vào phải chứa một OptimizeToursRequest
và mỗi tệp đầu ra sẽ chứa một OptimizeToursResponse
. Yêu cầu này chứa thông tin để đọc/ghi và phân tích cú pháp các tệp. Tất cả tệp đầu vào và đầu ra phải nằm trong cùng một dự án.
Trường | |
---|---|
parent |
Bắt buộc. Dự án và vị trí mục tiêu để thực hiện lệnh gọi. Định dạng: * Nếu bạn không chỉ định vị trí, hệ thống sẽ tự động chọn một khu vực. |
model_ |
Bắt buộc. Thông tin đầu vào/đầu ra của từng mô hình giao dịch mua, chẳng hạn như đường dẫn tệp và định dạng dữ liệu. |
AsyncModelConfig
Thông tin để giải quyết một mô hình tối ưu hoá một cách không đồng bộ.
Trường | |
---|---|
display_ |
Không bắt buộc. Tên mô hình do người dùng xác định, có thể được người dùng dùng làm bí danh để theo dõi các mô hình. |
input_ |
Bắt buộc. Thông tin về mô hình đầu vào. |
output_ |
Bắt buộc. Thông tin vị trí đầu ra mong muốn. |
BatchOptimizeToursResponse
Loại này không có trường nào.
Phản hồi cho BatchOptimizeToursRequest
. Giá trị này được trả về trong Long Running Operation (Thao tác chạy trong thời gian dài) sau khi thao tác hoàn tất.
BreakRule
Quy tắc tạo thời gian nghỉ cho một xe (ví dụ: thời gian nghỉ trưa). Khoảng nghỉ là một khoảng thời gian liên tục mà trong đó xe vẫn ở trạng thái rảnh tại vị trí hiện tại và không thể thực hiện bất kỳ lượt truy cập nào. Điểm chèn quảng cáo có thể xảy ra:
- trong quá trình di chuyển giữa hai lượt truy cập (bao gồm cả thời gian ngay trước hoặc ngay sau một lượt truy cập, nhưng không phải giữa một lượt truy cập), trong trường hợp này, thời gian di chuyển tương ứng giữa các lượt truy cập sẽ được kéo dài,
- hoặc trước khi xe khởi động (xe có thể không khởi động giữa giờ nghỉ), trong trường hợp này, thời gian sạc không ảnh hưởng đến thời gian khởi động xe.
- hoặc sau khi kết thúc chuyến xe (tương tự như thời gian kết thúc chuyến xe).
Trường | |
---|---|
break_ |
Trình tự các điểm chèn quảng cáo. Xem thông báo |
frequency_ |
Có thể áp dụng một số |
BreakRequest
Bạn phải biết trước trình tự nghỉ (tức là số lượng và thứ tự) áp dụng cho từng xe. Các BreakRequest
lặp lại xác định trình tự đó theo thứ tự mà các BreakRequest
đó phải xảy ra. Các khoảng thời gian của chúng (earliest_start_time
/ latest_start_time
) có thể trùng lặp nhưng phải tương thích với thứ tự (điều này được kiểm tra).
Trường | |
---|---|
earliest_ |
Bắt buộc. Giới hạn dưới (bao gồm cả giá trị này) tại thời điểm bắt đầu khoảng nghỉ. |
latest_ |
Bắt buộc. Giới hạn trên (bao gồm cả giá trị này) tại thời điểm bắt đầu khoảng nghỉ. |
min_ |
Bắt buộc. Thời lượng tối thiểu của điểm chèn quảng cáo. Phải dương. |
FrequencyConstraint
Bạn có thể hạn chế thêm tần suất và thời lượng của các khoảng nghỉ được chỉ định ở trên bằng cách thực thi tần suất nghỉ tối thiểu, chẳng hạn như "Phải có khoảng nghỉ ít nhất 1 giờ mỗi 12 giờ". Giả sử bạn có thể diễn giải điều này là "Trong bất kỳ khoảng thời gian trượt nào là 12 giờ, phải có ít nhất một khoảng nghỉ ít nhất là một giờ", ví dụ đó sẽ được dịch thành FrequencyConstraint
sau:
{
min_break_duration { seconds: 3600 } # 1 hour.
max_inter_break_duration { seconds: 39600 } # 11 hours (12 - 1 = 11).
}
Thời gian và thời lượng của các điểm chèn quảng cáo trong giải pháp sẽ tuân thủ tất cả các quy tắc ràng buộc như vậy, ngoài khoảng thời gian và thời lượng tối thiểu đã chỉ định trong BreakRequest
.
Trong thực tế, FrequencyConstraint
có thể áp dụng cho các khoảng nghỉ không liên tiếp. Ví dụ: lịch biểu sau đây tuân theo ví dụ "1 giờ mỗi 12 giờ":
04:00 vehicle start
.. performing travel and visits ..
09:00 1 hour break
10:00 end of the break
.. performing travel and visits ..
12:00 20-min lunch break
12:20 end of the break
.. performing travel and visits ..
21:00 1 hour break
22:00 end of the break
.. performing travel and visits ..
23:59 vehicle end
Trường | |
---|---|
min_ |
Bắt buộc. Thời lượng tối thiểu của điểm chèn quảng cáo cho quy tắc ràng buộc này. Không âm. Xem nội dung mô tả về |
max_ |
Bắt buộc. Khoảng thời gian tối đa được phép của bất kỳ khoảng thời gian nào trong tuyến đường không bao gồm ít nhất một phần thời gian nghỉ của |
DataFormat
Định dạng dữ liệu cho tệp đầu vào và đầu ra.
Enum | |
---|---|
DATA_FORMAT_UNSPECIFIED |
Giá trị không hợp lệ, định dạng không được là UNSPECIFIED. |
JSON |
Cú pháp đối tượng JavaScript. |
PROTO_TEXT |
Định dạng văn bản của Vùng đệm giao thức. Xem https://protobuf.dev/reference/protobuf/textformat-spec/ |
DistanceLimit
Giới hạn xác định khoảng cách tối đa có thể di chuyển. Lớp phủ này có thể cứng hoặc mềm.
Nếu bạn xác định giới hạn mềm, thì cả soft_max_meters
và cost_per_kilometer_above_soft_max
đều phải được xác định và không được âm.
Trường | |
---|---|
max_ |
Giới hạn cứng ràng buộc khoảng cách ở mức tối đa là max_meters. Giới hạn phải là số không âm. |
soft_ |
Giới hạn mềm không thực thi giới hạn khoảng cách tối đa, nhưng khi bị vi phạm sẽ dẫn đến một chi phí cộng với các chi phí khác được xác định trong mô hình, với cùng một đơn vị. Nếu được xác định, soft_max_meters phải nhỏ hơn max_meters và không được âm. |
cost_ |
Chi phí mỗi km đã phát sinh, tăng lên đến
Chi phí này không được hỗ trợ trong |
cost_ |
Chi phí mỗi km phát sinh nếu khoảng cách vượt quá hạn mức
Chi phí phải là số không âm. |
GcsDestination
Vị trí trên Google Cloud Storage mà(các) tệp đầu ra sẽ được ghi vào.
Trường | |
---|---|
uri |
Bắt buộc. URI Google Cloud Storage. |
GcsSource
Vị trí trên Google Cloud Storage nơi tệp đầu vào sẽ được đọc.
Trường | |
---|---|
uri |
Bắt buộc. URI của một đối tượng Google Cloud Storage có định dạng |
InjectedSolutionConstraint
Giải pháp được chèn vào yêu cầu, bao gồm thông tin về những lượt truy cập phải bị hạn chế và cách hạn chế các lượt truy cập đó.
Trường | |
---|---|
routes[] |
Các tuyến đường của giải pháp cần chèn. Một số tuyến đường có thể bị bỏ qua trong giải pháp ban đầu. Các tuyến đường và lô hàng bị bỏ qua phải đáp ứng các giả định về tính hợp lệ cơ bản được liệt kê cho |
skipped_ |
Bỏ qua các lô hàng của giải pháp cần chèn. Một số có thể bị bỏ qua trong giải pháp ban đầu. Xem trường |
constraint_ |
Đối với không hoặc nhiều nhóm xe, hãy chỉ định thời điểm và mức độ nới lỏng các quy tắc ràng buộc. Nếu trường này trống, thì tất cả các tuyến xe không trống đều bị ràng buộc hoàn toàn. |
ConstraintRelaxation
Đối với một nhóm xe, hãy chỉ định(các) ngưỡng mà các quy tắc ràng buộc về lượt truy cập sẽ được nới lỏng và đến mức nào. Các lô hàng được liệt kê trong trường skipped_shipment
bị ràng buộc để bỏ qua; tức là không thể thực hiện các lô hàng đó.
Trường | |
---|---|
relaxations[] |
Tất cả các trường hợp nới lỏng quy tắc ràng buộc về lượt truy cập sẽ áp dụng cho các lượt truy cập trên tuyến đường có xe trong |
vehicle_ |
Chỉ định các chỉ mục xe mà quy tắc ràng buộc về lượt truy cập Chỉ mục xe được liên kết giống như |
Thư giãn
Nếu relaxations
trống, thời gian bắt đầu và trình tự của tất cả các lượt truy cập trên routes
sẽ bị ràng buộc hoàn toàn và bạn không thể chèn hoặc thêm lượt truy cập mới vào các tuyến đường đó. Ngoài ra, thời gian bắt đầu và kết thúc của xe trong routes
bị ràng buộc hoàn toàn, trừ phi xe trống (tức là không có lượt truy cập và used_if_route_is_empty
được đặt thành false trong mô hình).
relaxations(i).level
chỉ định mức độ nới lỏng quy tắc ràng buộc áp dụng cho một lượt truy cập #j thỏa mãn:
route.visits(j).start_time >= relaxations(i).threshold_time
VÀj + 1 >= relaxations(i).threshold_visit_count
Tương tự, việc khởi động xe được nới lỏng thành relaxations(i).level
nếu đáp ứng:
vehicle_start_time >= relaxations(i).threshold_time
VÀrelaxations(i).threshold_visit_count == 0
và đầu xe được nới lỏng thànhrelaxations(i).level
nếu đáp ứng:vehicle_end_time >= relaxations(i).threshold_time
VÀroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
Để áp dụng mức độ thư giãn nếu một lượt truy cập đáp ứng threshold_visit_count
HOẶC threshold_time
, hãy thêm hai relaxations
có cùng level
: một chỉ đặt threshold_visit_count
và một chỉ đặt threshold_time
. Nếu một lượt truy cập đáp ứng điều kiện của nhiều relaxations
, thì cấp độ nới lỏng nhất sẽ được áp dụng. Do đó, từ khi xe bắt đầu đến khi kết thúc chuyến đi, mức độ thư giãn sẽ trở nên thoải mái hơn: tức là mức độ thư giãn không giảm khi tuyến đường diễn ra.
Thời gian và trình tự của các lượt truy cập tuyến không đáp ứng các điều kiện ngưỡng của bất kỳ relaxations
nào đều bị ràng buộc hoàn toàn và không thể chèn lượt truy cập nào vào các trình tự này. Ngoài ra, nếu thời điểm bắt đầu hoặc kết thúc của một xe không đáp ứng điều kiện của bất kỳ trường hợp nới lỏng nào, thì thời gian sẽ được cố định, trừ phi xe trống.
Trường | |
---|---|
level |
Mức độ nới lỏng quy tắc ràng buộc áp dụng khi các điều kiện tại hoặc sau |
threshold_ |
Thời gian tại hoặc sau đó có thể áp dụng |
threshold_ |
Số lượt truy cập tại hoặc sau thời điểm có thể áp dụng Nếu là |
Cấp độ
Biểu thị các mức độ nới lỏng quy tắc ràng buộc khác nhau được áp dụng cho một lượt truy cập và các lượt truy cập tiếp theo khi lượt truy cập đó đáp ứng các điều kiện ngưỡng.
Dưới đây là danh sách liệt kê theo thứ tự tăng dần độ thư giãn.
Enum | |
---|---|
LEVEL_UNSPECIFIED |
Cấp độ nới lỏng mặc định ngầm ẩn: không có quy tắc ràng buộc nào được nới lỏng, tức là tất cả các lượt truy cập đều bị ràng buộc hoàn toàn. Bạn không được sử dụng giá trị này một cách rõ ràng trong |
RELAX_VISIT_TIMES_AFTER_THRESHOLD |
Thời gian bắt đầu và kết thúc lượt truy cập cũng như thời gian bắt đầu/kết thúc của xe sẽ được nới lỏng, nhưng mỗi lượt truy cập vẫn liên kết với cùng một xe và bạn phải tuân thủ trình tự lượt truy cập: không được chèn lượt truy cập nào vào giữa hoặc trước các lượt truy cập đó. |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
Tương tự như RELAX_VISIT_TIMES_AFTER_THRESHOLD , nhưng trình tự lượt truy cập cũng được nới lỏng: lượt truy cập chỉ có thể được thực hiện bằng xe này, nhưng có thể không được thực hiện. |
RELAX_ALL_AFTER_THRESHOLD |
Tương tự như RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD , nhưng xe cũng được nới lỏng: lượt truy cập hoàn toàn miễn phí tại hoặc sau thời gian ngưỡng và có thể không được thực hiện. |
InputConfig
Chỉ định dữ liệu đầu vào cho [BatchOptimizeTours][google.maps.routeoptimization.v1.RouteOptimizationService.BatchOptimizeTours].
Trường | |
---|---|
data_ |
Bắt buộc. Định dạng dữ liệu đầu vào. |
Trường hợp hợp nhất source . Bắt buộc. source chỉ có thể là một trong những loại sau: |
|
gcs_ |
Vị trí trên Google Cloud Storage. Đây phải là một đối tượng (tệp) duy nhất. |
Vị trí
Đóng gói một vị trí (một điểm địa lý và tiêu đề không bắt buộc).
Trường | |
---|---|
lat_ |
Toạ độ địa lý của điểm trung gian. |
heading |
Hướng la bàn liên quan đến hướng của luồng giao thông. Giá trị này dùng để chỉ định bên đường để sử dụng cho việc đón và trả khách. Giá trị hướng có thể từ 0 đến 360, trong đó 0 chỉ định hướng chính Bắc, 90 chỉ định hướng chính Đông, v.v. |
OptimizeToursRequest
Yêu cầu được đưa cho trình giải pháp tối ưu hoá hành trình xác định mô hình vận chuyển cần giải quyết cũng như các tham số tối ưu hoá.
Trường | |
---|---|
parent |
Bắt buộc. Dự án hoặc vị trí mục tiêu để thực hiện cuộc gọi. Định dạng: * Nếu bạn không chỉ định vị trí, hệ thống sẽ tự động chọn một khu vực. |
timeout |
Nếu bạn đặt thời gian chờ này, máy chủ sẽ trả về phản hồi trước khi hết khoảng thời gian chờ hoặc hết thời hạn của máy chủ cho các yêu cầu đồng bộ, tuỳ theo thời điểm nào đến sớm hơn. Đối với các yêu cầu không đồng bộ, máy chủ sẽ tạo một giải pháp (nếu có thể) trước khi hết thời gian chờ. |
model |
Mô hình vận chuyển cần giải quyết. |
solving_ |
Theo mặc định, chế độ giải là |
search_ |
Chế độ tìm kiếm dùng để giải quyết yêu cầu. |
injected_ |
Hướng dẫn thuật toán tối ưu hoá tìm giải pháp đầu tiên tương tự như giải pháp trước đó. Mô hình bị ràng buộc khi xây dựng giải pháp đầu tiên. Mọi lô hàng không được thực hiện trên một tuyến đường đều bị bỏ qua ngầm ẩn trong giải pháp đầu tiên, nhưng có thể được thực hiện trong các giải pháp tiếp theo. Giải pháp phải đáp ứng một số giả định cơ bản về tính hợp lệ:
Nếu giải pháp được chèn không khả thi, thì không nhất thiết phải trả về lỗi xác thực mà có thể trả về lỗi cho biết không khả thi. |
injected_ |
Giới hạn thuật toán tối ưu hoá để tìm giải pháp cuối cùng tương tự như giải pháp trước đó. Ví dụ: bạn có thể dùng tính năng này để đóng băng các phần của tuyến đã hoàn tất hoặc sắp hoàn tất nhưng không được sửa đổi. Nếu giải pháp được chèn không khả thi, thì không nhất thiết phải trả về lỗi xác thực mà có thể trả về lỗi cho biết không khả thi. |
refresh_ |
Nếu không trống, các tuyến đường đã cho sẽ được làm mới mà không sửa đổi trình tự lượt truy cập hoặc thời gian di chuyển cơ bản của các tuyến đường đó: chỉ các thông tin chi tiết khác mới được cập nhật. Điều này không giải quyết được mô hình. Kể từ ngày 11/2020, tính năng này chỉ điền sẵn các đường đa tuyến của các tuyến không trống và yêu cầu Các trường Không được sử dụng trường này cùng với
|
interpret_ |
Nếu đúng:
Cách diễn giải này áp dụng cho các trường Nếu là true, nhãn trong các danh mục sau đây phải xuất hiện tối đa một lần trong danh mục của nhãn:
Nếu Việc xoá các lượt truy cập tuyến hoặc toàn bộ tuyến khỏi giải pháp được chèn có thể ảnh hưởng đến các quy tắc ràng buộc ngầm ẩn, dẫn đến thay đổi trong giải pháp, lỗi xác thực hoặc không khả thi. LƯU Ý: Phương thức gọi phải đảm bảo rằng mỗi |
consider_ |
Hãy cân nhắc việc ước tính lưu lượng truy cập khi tính toán các trường |
populate_ |
Nếu đúng, các đường đa tuyến sẽ được điền vào |
populate_ |
Nếu là true, các đường đa tuyến và mã thông báo tuyến sẽ được điền trong phản hồi |
allow_ |
Nếu bạn đặt giá trị này, thì yêu cầu có thể có thời hạn (xem https://grpc.io/blog/deadlines) tối đa là 60 phút. Nếu không, thời hạn tối đa chỉ là 30 phút. Xin lưu ý rằng các yêu cầu tồn tại lâu có nguy cơ bị gián đoạn lớn hơn đáng kể (nhưng vẫn nhỏ). |
use_ |
Nếu đúng, quãng đường di chuyển sẽ được tính bằng khoảng cách trắc địa thay vì khoảng cách trên Google Maps và thời gian di chuyển sẽ được tính bằng khoảng cách trắc địa với tốc độ do |
label |
Nhãn có thể được dùng để xác định yêu cầu này, được báo cáo lại trong |
geodesic_ |
Khi |
max_ |
Cắt bớt số lỗi xác thực được trả về. Các lỗi này thường được đính kèm vào tải trọng lỗi INVALID_ARGUMENT dưới dạng thông tin chi tiết về lỗi BadRequest (https://cloud.google.com/apis/design/errors#error_details), trừ khi solving_mode=VALIDATE_ONLY: xem trường |
SearchMode
Chế độ xác định hành vi của hoạt động tìm kiếm, đánh đổi độ trễ với chất lượng giải pháp. Trong tất cả các chế độ, thời hạn yêu cầu chung sẽ được thực thi.
Enum | |
---|---|
SEARCH_MODE_UNSPECIFIED |
Chế độ tìm kiếm không xác định, tương đương với RETURN_FAST . |
RETURN_FAST |
Dừng tìm kiếm sau khi tìm thấy giải pháp phù hợp đầu tiên. |
CONSUME_ALL_AVAILABLE_TIME |
Dành toàn bộ thời gian có thể để tìm kiếm các giải pháp tốt hơn. |
SolvingMode
Xác định cách trình giải quyết xử lý yêu cầu. Trong tất cả các chế độ ngoại trừ VALIDATE_ONLY
, nếu yêu cầu không hợp lệ, bạn sẽ nhận được lỗi INVALID_REQUEST
. Xem max_validation_errors
để giới hạn số lượng lỗi được trả về.
Enum | |
---|---|
DEFAULT_SOLVE |
Giải mô hình. Cảnh báo có thể được đưa ra trong [OptimizeToursResponse.validation_errors][google.cloud.optimization.v1.OptimizeToursResponse.validation_errors]. |
VALIDATE_ONLY |
Chỉ xác thực mô hình mà không giải quyết mô hình: điền càng nhiều OptimizeToursResponse.validation_errors càng tốt. |
DETECT_SOME_INFEASIBLE_SHIPMENTS |
Chỉ điền sẵn LƯU Ý QUAN TRỌNG: không phải tất cả các lô hàng không thể thực hiện được đều được trả về tại đây, mà chỉ những lô hàng được phát hiện là không thể thực hiện được trong quá trình xử lý trước. |
OptimizeToursResponse
Phản hồi sau khi giải quyết vấn đề tối ưu hoá chuyến đi, trong đó có các tuyến đường mà mỗi xe tuân theo, các lô hàng đã bị bỏ qua và chi phí tổng thể của giải pháp.
Trường | |
---|---|
routes[] |
Các tuyến đường được tính toán cho mỗi xe; tuyến đường thứ i tương ứng với xe thứ i trong mô hình. |
request_ |
Bản sao của |
skipped_ |
Danh sách tất cả các lô hàng bị bỏ qua. |
validation_ |
Danh sách tất cả lỗi xác thực mà chúng tôi có thể phát hiện một cách độc lập. Xem nội dung giải thích "MULTIPLE ERRORS" (Nhiều lỗi) cho thông báo |
metrics |
Chỉ số về thời lượng, khoảng cách và mức sử dụng của giải pháp này. |
Chỉ số
Chỉ số tổng thể, được tổng hợp trên tất cả các tuyến.
Trường | |
---|---|
aggregated_ |
Tổng hợp trên các tuyến đường. Mỗi chỉ số là tổng (hoặc tối đa, đối với tải) trên tất cả các trường |
skipped_ |
Số lượng lô hàng bắt buộc bị bỏ qua. |
used_ |
Số lượng xe được sử dụng. Lưu ý: nếu tuyến xe trống và |
earliest_ |
Thời gian bắt đầu sớm nhất của một xe đã qua sử dụng, được tính là giá trị tối thiểu trên tất cả xe đã qua sử dụng của |
latest_ |
Thời gian kết thúc mới nhất của một xe đã qua sử dụng, được tính là giá trị tối đa trên tất cả xe đã qua sử dụng của |
costs |
Chi phí của giải pháp, được phân tích theo các trường yêu cầu liên quan đến chi phí. Khoá là đường dẫn proto, tương ứng với OptimizeToursRequest đầu vào, ví dụ: "model.shipments.pickups.cost" và giá trị là tổng chi phí do trường chi phí tương ứng tạo ra, được tổng hợp trên toàn bộ giải pháp. Nói cách khác, costs["model.shipments.pickups.cost"] là tổng chi phí lấy hàng trên giải pháp. Tất cả chi phí được xác định trong mô hình đều được báo cáo chi tiết tại đây, ngoại trừ chi phí liên quan đến TransitionAttributes chỉ được báo cáo theo cách tổng hợp kể từ ngày 1/1/2022. |
total_ |
Tổng chi phí của giải pháp. Tổng của tất cả các giá trị trong bản đồ chi phí. |
OptimizeToursValidationError
Mô tả lỗi hoặc cảnh báo gặp phải khi xác thực OptimizeToursRequest
.
Trường | |
---|---|
code |
Lỗi xác thực được xác định bằng cặp ( Các trường sau phần này cung cấp thêm thông tin về lỗi. MULTIPLE ERRORS (NHIỀU LỖI): Khi có nhiều lỗi, quy trình xác thực sẽ cố gắng xuất ra một số lỗi trong số đó. Tương tự như trình biên dịch, đây là một quy trình không hoàn hảo. Một số lỗi xác thực sẽ là "lỗi nghiêm trọng", nghĩa là các lỗi này sẽ dừng toàn bộ quá trình xác thực. Đây là trường hợp của các lỗi TÍNH ỔN ĐỊNH: |
display_ |
Tên hiển thị của lỗi. |
fields[] |
Ngữ cảnh lỗi có thể liên quan đến 0, 1 (trong hầu hết trường hợp) hoặc nhiều trường. Ví dụ: tham khảo xe #4 và lượt lấy hàng đầu tiên của lô hàng #2 như sau:
Tuy nhiên, lưu ý rằng số lượng giá trị riêng biệt của |
error_ |
Chuỗi ký tự mà con người đọc được, dùng để mô tả lỗi. Có mối liên kết 1:1 giữa STABILITY (ỔN ĐỊNH): Không ổn định: thông báo lỗi liên kết với một |
offending_ |
Có thể chứa(các) giá trị của(các) trường. Tính năng này không phải lúc nào cũng có. Bạn tuyệt đối không nên dựa vào tính năng này và chỉ nên sử dụng tính năng này để gỡ lỗi mô hình theo cách thủ công. |
FieldReference
Chỉ định ngữ cảnh cho lỗi xác thực. FieldReference
luôn tham chiếu đến một trường nhất định trong tệp này và tuân theo cùng một cấu trúc phân cấp. Ví dụ: chúng ta có thể chỉ định phần tử #2 của start_time_windows
của xe #5 bằng cách sử dụng:
name: "vehicles" index: 5 sub_field { name: "end_time_windows" index: 2 }
Tuy nhiên, chúng ta bỏ qua các thực thể cấp cao nhất như OptimizeToursRequest
hoặc ShipmentModel
để tránh làm rối thông báo.
Trường | |
---|---|
name |
Tên trường, ví dụ: "vehicles". |
sub_ |
Trường con lồng nhau đệ quy, nếu cần. |
Trường hợp hợp nhất
|
|
index |
Chỉ mục của trường nếu lặp lại. |
key |
Khoá nếu trường là một bản đồ. |
OutputConfig
Chỉ định đích đến cho kết quả [BatchOptimizeTours][google.maps.routeoptimization.v1.RouteOptimizationService.BatchOptimizeTours].
Trường | |
---|---|
data_ |
Bắt buộc. Định dạng dữ liệu đầu ra. |
Trường hợp hợp nhất destination . Bắt buộc. destination chỉ có thể là một trong những loại sau: |
|
gcs_ |
Vị trí Google Cloud Storage để ghi đầu ra. |
RouteModifiers
Đóng gói một tập hợp các điều kiện không bắt buộc để đáp ứng khi tính toán tuyến xe. Điều này tương tự như RouteModifiers
trong API Routes Preferred của Nền tảng Google Maps; xem: https://developers.google.com/maps/documentation/routes/reference/rest/v2/RouteModifiers.
Trường | |
---|---|
avoid_ |
Chỉ định xem có tránh đường thu phí hay không (nếu hợp lý). Chúng tôi sẽ ưu tiên các tuyến đường không có đường thu phí. Chỉ áp dụng cho các phương tiện di chuyển bằng động cơ. |
avoid_ |
Chỉ định xem có nên tránh đường cao tốc hay không (nếu hợp lý). Chúng tôi sẽ ưu tiên các tuyến đường không có đường cao tốc. Chỉ áp dụng cho các phương tiện di chuyển bằng động cơ. |
avoid_ |
Chỉ định xem có tránh phà hay không khi hợp lý. Ưu tiên các tuyến không có phương tiện đi lại bằng phà. Chỉ áp dụng cho các phương tiện di chuyển bằng động cơ. |
avoid_ |
Không bắt buộc. Chỉ định xem có nên tránh điều hướng trong nhà khi hợp lý hay không. Các tuyến không chứa thông tin chỉ đường trong nhà sẽ được ưu tiên. Chỉ áp dụng cho chế độ đi lại |
Lô hàng
Lần vận chuyển một mặt hàng, từ một điểm đến điểm lấy hàng đến một điểm đến điểm giao hàng. Để lô hàng được coi là đã thực hiện, một xe riêng biệt phải ghé thăm một trong các địa điểm lấy hàng (và giảm dung lượng dự phòng tương ứng), sau đó ghé thăm một trong các địa điểm giao hàng sau đó (và do đó tăng lại dung lượng dự phòng tương ứng).
Trường | |
---|---|
display_ |
Tên hiển thị do người dùng xác định của lô hàng. Tên này có thể dài tối đa 63 ký tự và có thể sử dụng ký tự UTF-8. |
pickups[] |
Tập hợp các địa điểm lấy hàng thay thế liên kết với lô hàng. Nếu không được chỉ định, xe chỉ cần đến một vị trí tương ứng với các đơn hàng giao. |
deliveries[] |
Tập hợp các phương thức giao hàng thay thế liên kết với lô hàng. Nếu không được chỉ định, xe chỉ cần đến một vị trí tương ứng với điểm đến lấy hàng. |
load_ |
Yêu cầu về tải trọng của lô hàng (ví dụ: trọng lượng, thể tích, số lượng pallet, v.v.). Khoá trong bản đồ phải là giá trị nhận dạng mô tả loại tải tương ứng, tốt nhất là cũng bao gồm cả đơn vị. Ví dụ: "weight_kg", "volume_gallons", "pallet_count", v.v. Nếu một khoá nhất định không xuất hiện trong bản đồ, thì tải tương ứng sẽ được coi là rỗng. |
allowed_ |
Tập hợp các phương tiện có thể thực hiện lô hàng này. Nếu trống, tất cả xe đều có thể thực hiện thao tác này. Xe được cung cấp theo chỉ mục trong danh sách |
costs_ |
Chỉ định chi phí phát sinh khi mỗi xe vận chuyển lô hàng này. Nếu được chỉ định, thuộc tính này phải có MỘT trong những thuộc tính sau:
Các chi phí này phải có cùng đơn vị với |
costs_ |
Chỉ mục của các xe mà |
pickup_ |
Chỉ định thời gian đi đường vòng tuyệt đối tối đa so với đường đi ngắn nhất từ điểm đến điểm đến. Nếu được chỉ định, giá trị này phải là số không âm và lô hàng phải chứa ít nhất một lượt lấy hàng và một lượt giao hàng. Ví dụ: giả sử t là thời gian ngắn nhất để đi từ lựa chọn đến lấy hàng đã chọn đến lựa chọn giao hàng đã chọn. Sau đó, việc thiết lập
Nếu cả giới hạn tương đối và giới hạn tuyệt đối đều được chỉ định trên cùng một lô hàng, thì giới hạn hạn chế hơn sẽ được dùng cho mỗi cặp điểm đến lấy hàng/điểm đến giao hàng có thể có. Kể từ tháng 10 năm 2017, chúng tôi chỉ hỗ trợ đường tránh khi thời gian di chuyển không phụ thuộc vào loại xe. |
pickup_ |
Chỉ định khoảng thời gian tối đa từ khi bắt đầu lấy hàng đến khi bắt đầu giao hàng. Nếu được chỉ định, giá trị này phải là số không âm và lô hàng phải chứa ít nhất một lượt lấy hàng và một lượt giao hàng. Thời gian này không phụ thuộc vào phương án thay thế được chọn để đến lấy hàng và giao hàng, cũng như không phụ thuộc vào tốc độ xe. Bạn có thể chỉ định điều này cùng với các quy tắc ràng buộc về đường tránh tối đa: giải pháp sẽ tuân thủ cả hai thông số kỹ thuật. |
shipment_ |
Chuỗi không trống chỉ định "loại" cho lô hàng này. Bạn có thể dùng tính năng này để xác định các yêu cầu hoặc sự không tương thích giữa Khác với |
label |
Chỉ định nhãn cho lô hàng này. Nhãn này được báo cáo trong phản hồi trong |
ignore |
Nếu đúng, hãy bỏ qua lô hàng này nhưng không áp dụng Việc bỏ qua một lô hàng sẽ dẫn đến lỗi xác thực khi có bất kỳ Bạn có thể bỏ qua một lô hàng được thực hiện trong |
penalty_ |
Nếu lô hàng không được hoàn tất, khoản phạt này sẽ được cộng vào tổng chi phí của các tuyến. Một lô hàng được coi là đã hoàn tất nếu người dùng đã đến một trong các địa điểm đến lấy hàng và giao hàng thay thế. Chi phí có thể được thể hiện bằng cùng một đơn vị được dùng cho tất cả các trường khác liên quan đến chi phí trong mô hình và phải là số dương. LƯU Ý QUAN TRỌNG: Nếu bạn không chỉ định hình phạt này, thì hình phạt này sẽ được coi là vô thời hạn, tức là đơn hàng phải được hoàn tất. |
pickup_ |
Chỉ định thời gian đi đường vòng tương đối tối đa so với đường ngắn nhất từ điểm đến điểm lấy hàng đến điểm giao hàng. Nếu được chỉ định, giá trị này phải là số không âm và lô hàng phải chứa ít nhất một lượt lấy hàng và một lượt giao hàng. Ví dụ: giả sử t là thời gian ngắn nhất để đi từ lựa chọn đến lấy hàng đã chọn đến lựa chọn giao hàng đã chọn. Sau đó, việc thiết lập
Nếu cả giới hạn tương đối và giới hạn tuyệt đối đều được chỉ định trên cùng một lô hàng, thì giới hạn hạn chế hơn sẽ được dùng cho mỗi cặp điểm đến lấy hàng/điểm đến giao hàng có thể có. Kể từ tháng 10 năm 2017, chúng tôi chỉ hỗ trợ đường tránh khi thời gian di chuyển không phụ thuộc vào loại xe. |
Tải
Khi thực hiện một lượt ghé thăm, một số lượng đã xác định trước có thể được thêm vào tải trọng của xe nếu đó là lượt lấy hàng hoặc bị trừ đi nếu đó là lượt giao hàng. Thông báo này xác định số tiền đó. Vui lòng xem load_demands
.
Trường | |
---|---|
amount |
Mức tải của xe thực hiện lượt truy cập tương ứng sẽ thay đổi. Vì đây là số nguyên nên người dùng nên chọn một đơn vị thích hợp để tránh mất độ chính xác. Phải ≥ 0. |
VisitRequest
Yêu cầu về lượt ghé thăm mà một xe có thể thực hiện: yêu cầu này có vị trí địa lý (hoặc hai vị trí, xem bên dưới), thời gian mở cửa và đóng cửa được biểu thị bằng khoảng thời gian và thời lượng phục vụ (thời gian xe dành cho việc đến lấy hàng hoặc trả hàng).
Trường | |
---|---|
arrival_ |
Vị trí địa lý nơi xe đến khi thực hiện |
arrival_ |
Điểm trung gian mà xe đến khi thực hiện |
departure_ |
Vị trí địa lý nơi xe khởi hành sau khi hoàn tất |
departure_ |
Điểm trung gian mà xe khởi hành sau khi hoàn tất |
tags[] |
Chỉ định các thẻ đính kèm vào yêu cầu truy cập. Không được phép sử dụng chuỗi trống hoặc trùng lặp. |
time_ |
Khung thời gian ràng buộc thời gian đến trong một lượt truy cập. Xin lưu ý rằng một xe có thể khởi hành ngoài khoảng thời gian đến, tức là thời gian đến + thời lượng không cần nằm trong khoảng thời gian. Điều này có thể dẫn đến thời gian chờ nếu xe đến trước Nếu không có Các khoảng thời gian phải tách biệt, tức là không có khoảng thời gian nào được chồng chéo hoặc liền kề với khoảng thời gian khác và các khoảng thời gian phải được sắp xếp theo thứ tự tăng dần. Bạn chỉ có thể đặt |
duration |
Thời lượng của lượt truy cập, tức là thời gian xe ở lại từ khi đến đến khi rời đi (sẽ được thêm vào thời gian chờ có thể xảy ra; xem |
cost |
Chi phí để thực hiện yêu cầu về lượt ghé thăm này trên tuyến đường của xe. Bạn có thể dùng phương thức thanh toán này để thanh toán các khoản phí khác nhau cho mỗi lần lấy hàng hoặc giao hàng thay thế. Chi phí này phải có cùng đơn vị với |
load_ |
Tải các yêu cầu của yêu cầu truy cập này. Trường này cũng giống như trường |
visit_ |
Chỉ định các loại lượt truy cập. Bạn có thể sử dụng thông tin này để phân bổ thêm thời gian cần thiết cho một xe hoàn tất lượt ghé thăm này (xem Một loại chỉ có thể xuất hiện một lần. |
label |
Chỉ định nhãn cho |
ShipmentModel
Mô hình lô hàng chứa một tập hợp các lô hàng phải do một tập hợp xe thực hiện, đồng thời giảm thiểu tổng chi phí, tức là tổng của:
- chi phí định tuyến xe (tổng chi phí trên tổng thời gian, chi phí trên thời gian di chuyển và chi phí cố định trên tất cả xe).
- các khoản phạt đối với lô hàng không được thực hiện.
- chi phí của toàn bộ thời gian vận chuyển
Trường | |
---|---|
shipments[] |
Tập hợp các lô hàng phải được thực hiện trong mô hình. |
vehicles[] |
Tập hợp các xe có thể dùng để thực hiện lượt ghé thăm. |
global_ |
Thời gian bắt đầu và kết thúc chung của mô hình: không có thời gian nào nằm ngoài phạm vi này được coi là hợp lệ. Khoảng thời gian của mô hình phải dưới một năm, tức là Khi sử dụng các trường |
global_ |
Nếu bạn không đặt giá trị, hệ thống sẽ sử dụng giá trị mặc định là 00:00:00 UTC, ngày 1 tháng 1 năm 1971 (tức là giây: 31536000, nano giây: 0). |
global_ |
"Thời lượng tổng thể" của kế hoạch tổng thể là chênh lệch giữa thời gian bắt đầu có hiệu lực sớm nhất và thời gian kết thúc có hiệu lực muộn nhất của tất cả xe. Ví dụ: người dùng có thể chỉ định chi phí mỗi giờ cho số lượng đó để cố gắng tối ưu hoá nhằm hoàn thành công việc sớm nhất. Chi phí này phải có cùng đơn vị với |
duration_ |
Chỉ định ma trận thời lượng và khoảng cách được sử dụng trong mô hình. Nếu trường này trống, Google Maps hoặc khoảng cách trắc địa sẽ được sử dụng, tuỳ thuộc vào giá trị của trường Ví dụ về cách sử dụng:
|
duration_ |
Thẻ xác định nguồn của ma trận thời lượng và khoảng cách; Thẻ tương ứng với |
duration_ |
Thẻ xác định đích đến của ma trận thời lượng và khoảng cách; Thẻ tương ứng với |
transition_ |
Thêm các thuộc tính chuyển đổi vào mô hình. |
shipment_ |
Các tập hợp shipment_types không tương thích (xem |
shipment_ |
Các nhóm yêu cầu |
precedence_ |
Tập hợp các quy tắc ưu tiên phải được thực thi trong mô hình. |
max_ |
Giới hạn số lượng tối đa của xe đang hoạt động. Xe được coi là đang hoạt động nếu tuyến đường của xe thực hiện ít nhất một chuyến hàng. Bạn có thể dùng thông tin này để giới hạn số lượng tuyến trong trường hợp có ít tài xế hơn số lượng xe và đội xe không đồng nhất. Sau đó, tính năng tối ưu hoá sẽ chọn nhóm xe phù hợp nhất để sử dụng. Phải là số dương. |
DurationDistanceMatrix
Chỉ định một ma trận thời lượng và khoảng cách từ vị trí bắt đầu chuyến thăm và vị trí bắt đầu của xe đến vị trí kết thúc chuyến thăm và vị trí kết thúc của xe.
Trường | |
---|---|
rows[] |
Chỉ định các hàng của ma trận thời lượng và khoảng cách. Mảng này phải có số phần tử bằng |
vehicle_ |
Thẻ xác định những loại xe áp dụng cho ma trận thời lượng và quãng đường này. Nếu trống, giá trị này sẽ áp dụng cho tất cả xe và chỉ có thể có một ma trận. Mỗi lần khởi động xe phải khớp chính xác với một ma trận, tức là đúng một trường Tất cả các ma trận phải có |
Hàng
Chỉ định một hàng của ma trận thời lượng và khoảng cách.
Trường | |
---|---|
durations[] |
Giá trị thời lượng cho một hàng nhất định. Mảng này phải có số phần tử bằng |
meters[] |
Giá trị khoảng cách cho một hàng nhất định. Nếu không có chi phí hoặc quy tắc ràng buộc nào tham chiếu đến khoảng cách trong mô hình, thì bạn có thể để trống phần tử này; nếu không, phần tử này phải có số phần tử bằng |
PrecedenceRule
Quy tắc ưu tiên giữa hai sự kiện (mỗi sự kiện là một lần lấy hàng hoặc giao hàng): sự kiện "thứ hai" phải bắt đầu ít nhất offset_duration
sau khi sự kiện "thứ nhất" bắt đầu.
Một số mức độ ưu tiên có thể tham chiếu đến cùng một sự kiện (hoặc sự kiện có liên quan), ví dụ: "lấy hàng B sau khi giao hàng A" và "lấy hàng C sau khi lấy hàng B".
Hơn nữa, thứ tự ưu tiên chỉ áp dụng khi cả hai lô hàng đều được thực hiện, nếu không thì sẽ bị bỏ qua.
Trường | |
---|---|
first_ |
Cho biết liệu sự kiện "đầu tiên" có phải là một lượt phân phối hay không. |
second_ |
Cho biết liệu sự kiện "thứ hai" có phải là một lượt phân phối hay không. |
offset_ |
Độ lệch giữa sự kiện "đầu tiên" và sự kiện "thứ hai". Giá trị này có thể là âm. |
first_ |
Chỉ mục lô hàng của sự kiện "đầu tiên". Bạn phải chỉ định trường này. |
second_ |
Chỉ mục lô hàng của sự kiện "thứ hai". Bạn phải chỉ định trường này. |
ShipmentRoute
Bạn có thể phân ly tuyến đường của một xe dọc theo trục thời gian như sau (giả sử có n lượt truy cập):
| | | | | T[2], | | |
| Transition | Visit #0 | | | V[2], | | |
| #0 | aka | T[1] | V[1] | ... | V[n-1] | T[n] |
| aka T[0] | V[0] | | | V[n-2],| | |
| | | | | T[n-1] | | |
^ ^ ^ ^ ^ ^ ^ ^
vehicle V[0].start V[0].end V[1]. V[1]. V[n]. V[n]. vehicle
start (arrival) (departure) start end start end end
Xin lưu ý rằng chúng ta phân biệt giữa:
- "sự kiện đúng giờ", chẳng hạn như thời điểm bắt đầu và kết thúc của xe cũng như thời điểm bắt đầu và kết thúc của mỗi lượt truy cập (còn gọi là thời điểm đến và thời điểm rời đi). Các sự kiện này xảy ra tại một giây nhất định.
- "khoảng thời gian", chẳng hạn như chính lượt truy cập và quá trình chuyển đổi giữa các lượt truy cập. Mặc dù đôi khi khoảng thời gian có thể có thời lượng bằng 0, tức là bắt đầu và kết thúc cùng một giây, nhưng thường thì khoảng thời gian có thời lượng dương.
Biến không đổi:
- Nếu có n lượt truy cập, thì sẽ có n+1 lượt chuyển đổi.
- Một lượt truy cập luôn được bao quanh bởi một lượt chuyển đổi trước đó (cùng chỉ mục) và một lượt chuyển đổi sau đó (chỉ mục + 1).
- Quá trình khởi động xe luôn đi kèm với quá trình chuyển đổi #0.
- Phần kết thúc của xe luôn đứng trước chuyển đổi #n.
Khi phóng to, đây là những gì xảy ra trong Transition
và Visit
:
---+-------------------------------------+-----------------------------+-->
| TRANSITION[i] | VISIT[i] |
| | |
| * TRAVEL: the vehicle moves from | PERFORM the visit: |
| VISIT[i-1].departure_location to | |
| VISIT[i].arrival_location, which | * Spend some time: |
| takes a given travel duration | the "visit duration". |
| and distance | |
| | * Load or unload |
| * BREAKS: the driver may have | some quantities from the |
| breaks (e.g. lunch break). | vehicle: the "demand". |
| | |
| * WAIT: the driver/vehicle does | |
| nothing. This can happen for | |
| many reasons, for example when | |
| the vehicle reaches the next | |
| event's destination before the | |
| start of its time window | |
| | |
| * DELAY: *right before* the next | |
| arrival. E.g. the vehicle and/or | |
| driver spends time unloading. | |
| | |
---+-------------------------------------+-----------------------------+-->
^ ^ ^
V[i-1].end V[i].start V[i].end
Cuối cùng, sau đây là cách sắp xếp TRAVEL (DI CHUYỂN), BREAKS (NGỪNG), DELAY (CHỜ) và WAIT (CHỜ) trong quá trình chuyển đổi.
- Các lớp này không trùng lặp.
- DELAY là duy nhất và phải là một khoảng thời gian liên tục ngay trước lượt truy cập tiếp theo (hoặc thời điểm kết thúc xe). Do đó, bạn chỉ cần biết thời lượng trễ để biết thời gian bắt đầu và kết thúc của trễ.
- BREAKS là các khoảng thời gian liền kề, không trùng lặp. Phản hồi này chỉ định thời gian bắt đầu và thời lượng của mỗi khoảng nghỉ.
- TRAVEL và WAIT là "có thể được ưu tiên": chúng có thể bị gián đoạn nhiều lần trong quá trình chuyển đổi này. Ứng dụng có thể giả định rằng hành trình diễn ra "càng sớm càng tốt" và "thời gian chờ" sẽ lấp đầy thời gian còn lại.
Ví dụ (phức tạp):
TRANSITION[i]
--++-----+-----------------------------------------------------------++-->
|| | | | | | | ||
|| T | B | T | | B | | D ||
|| r | r | r | W | r | W | e ||
|| a | e | a | a | e | a | l ||
|| v | a | v | i | a | i | a ||
|| e | k | e | t | k | t | y ||
|| l | | l | | | | ||
|| | | | | | | ||
--++-----------------------------------------------------------------++-->
Trường | |
---|---|
vehicle_ |
Xe thực hiện tuyến đường, được xác định bằng chỉ mục của xe trong nguồn |
vehicle_ |
Nhãn của xe thực hiện tuyến đường này, bằng |
vehicle_ |
Thời gian xe bắt đầu hành trình. |
vehicle_ |
Thời gian xe hoàn tất tuyến đường. |
visits[] |
Trình tự các lượt truy cập theo thứ tự đại diện cho một tuyến đường. visits[i] là lượt truy cập thứ i trong tuyến đường. Nếu trường này trống, thì xe sẽ được coi là không sử dụng. |
transitions[] |
Danh sách các hiệu ứng chuyển đổi theo thứ tự cho tuyến đường. |
has_ |
Khi
Thời điểm đến next_visit có thể trễ hơn khung thời gian hiện tại do thời gian di chuyển ước tính |
route_ |
Hình nhiều đường đã mã hoá đại diện cho tuyến đường. Trường này chỉ được điền nếu bạn đặt |
breaks[] |
Thời gian nghỉ theo lịch cho xe thực hiện tuyến đường này. Trình tự |
metrics |
Các chỉ số về thời lượng, quãng đường và tải cho tuyến đường này. Các trường của |
route_ |
Chi phí của tuyến đường, được phân tích theo các trường yêu cầu liên quan đến chi phí. Các khoá là đường dẫn proto, tương ứng với OptimizeToursRequest đầu vào, ví dụ: "model.shipments.pickups.cost" và các giá trị là tổng chi phí do trường chi phí tương ứng tạo ra, được tổng hợp trên toàn bộ tuyến đường. Nói cách khác, costs["model.shipments.pickups.cost"] là tổng chi phí lấy hàng trên tuyến đường. Tất cả chi phí được xác định trong mô hình đều được báo cáo chi tiết tại đây, ngoại trừ chi phí liên quan đến TransitionAttributes chỉ được báo cáo theo cách tổng hợp kể từ ngày 1/1/2022. |
route_ |
Tổng chi phí của tuyến đường. Tổng tất cả chi phí trong bản đồ chi phí. |
Nghỉ giải lao
Dữ liệu đại diện cho việc thực thi một điểm ngắt.
Trường | |
---|---|
start_ |
Thời gian bắt đầu nghỉ giải lao. |
duration |
Thời lượng của một khoảng nghỉ. |
EncodedPolyline
Biểu diễn được mã hoá của một đường đa tuyến. Bạn có thể xem thêm thông tin về việc mã hoá đường đa tuyến tại đây: https://developers.google.com/maps/documentation/utilities/polylinealgorithm https://developers.google.com/maps/documentation/javascript/reference/geometry#encoding.
Trường | |
---|---|
points |
Chuỗi đại diện cho các điểm được mã hoá của đa tuyến. |
Hiệu ứng chuyển cảnh
Chuyển đổi giữa hai sự kiện trên tuyến đường. Xem nội dung mô tả về ShipmentRoute
.
Nếu xe không có start_location
và/hoặc end_location
, thì các chỉ số tương ứng về hành trình sẽ là 0.
Trường | |
---|---|
travel_ |
Thời gian di chuyển trong quá trình chuyển đổi này. |
travel_ |
Quãng đường đã đi trong quá trình chuyển đổi. |
traffic_ |
Khi lưu lượng truy cập được yêu cầu thông qua |
delay_ |
Tổng thời lượng độ trễ áp dụng cho quá trình chuyển đổi này. Nếu có, độ trễ sẽ bắt đầu chính xác |
break_ |
Tổng thời lượng của các khoảng nghỉ xảy ra trong quá trình chuyển đổi này (nếu có). Thông tin chi tiết về thời gian bắt đầu và thời lượng của mỗi khoảng nghỉ được lưu trữ trong |
wait_ |
Thời gian chờ trong quá trình chuyển đổi này. Thời gian chờ tương ứng với thời gian rảnh và không bao gồm thời gian nghỉ. Ngoài ra, hãy lưu ý rằng thời gian chờ này có thể được chia thành nhiều khoảng không liên tục. |
total_ |
Tổng thời lượng của quá trình chuyển đổi, được cung cấp để thuận tiện. Giá trị này bằng:
|
start_ |
Thời gian bắt đầu chuyển đổi này. |
route_ |
Hình nhiều đường được mã hoá thể hiện tuyến đường được tuân theo trong quá trình chuyển đổi. Trường này chỉ được điền nếu bạn đặt |
route_ |
Chỉ có đầu ra. Mã thông báo mờ có thể được truyền đến Navigation SDK để tái tạo tuyến đường trong quá trình điều hướng và trong trường hợp định tuyến lại, hãy tuân thủ ý định ban đầu khi tạo tuyến đường. Xem mã thông báo này là một blob mờ. Đừng so sánh giá trị của thuộc tính này trên các yêu cầu vì giá trị của thuộc tính này có thể thay đổi ngay cả khi dịch vụ trả về cùng một tuyến. Trường này chỉ được điền nếu bạn đặt |
vehicle_ |
Tải xe trong quá trình chuyển đổi này, cho mỗi loại xuất hiện trong Tải trong quá trình chuyển đổi đầu tiên là tải bắt đầu của tuyến đường xe. Sau đó, sau mỗi lượt truy cập, |
VehicleLoad
Báo cáo tải thực tế của xe tại một số điểm dọc theo tuyến đường, cho một loại xe nhất định (xem Transition.vehicle_loads
).
Trường | |
---|---|
amount |
Lượng tải trên xe, đối với loại xe nhất định. Đơn vị tải thường được chỉ định theo loại. Vui lòng xem |
Truy cập
Một lượt truy cập được thực hiện trong một tuyến đường. Lượt truy cập này tương ứng với một lượt lấy hàng hoặc giao hàng của Shipment
.
Trường | |
---|---|
shipment_ |
Chỉ mục của trường |
is_ |
Nếu đúng, lượt truy cập sẽ tương ứng với một lượt lấy hàng của |
visit_ |
Chỉ mục của |
start_ |
Thời gian bắt đầu lượt truy cập. Xin lưu ý rằng xe có thể đến sớm hơn thời gian này tại địa điểm ghé thăm. Thời gian nhất quán với |
load_ |
Tổng nhu cầu tải lượt truy cập là tổng số lô hàng và yêu cầu truy cập |
detour |
Thời gian rẽ đường bổ sung do các lô hàng đã được ghé thăm trên tuyến đường trước khi ghé thăm và thời gian chờ có thể xảy ra do các khung thời gian. Nếu lượt ghé thăm là lượt giao hàng, thì quãng đường vòng sẽ được tính từ lượt ghé thăm đến lấy hàng tương ứng và bằng:
Nếu không, giá trị này được tính từ
|
shipment_ |
Bản sao của |
visit_ |
Bản sao của |
ShipmentTypeIncompatibility
Chỉ định các trường hợp không tương thích giữa các lô hàng tuỳ thuộc vào shipment_type. Việc xuất hiện các lô hàng không tương thích trên cùng một tuyến đường sẽ bị hạn chế dựa trên chế độ không tương thích.
Trường | |
---|---|
types[] |
Danh sách các loại không tương thích. Hai lô hàng có |
incompatibility_ |
Chế độ áp dụng cho trường hợp không tương thích. |
IncompatibilityMode
Các chế độ xác định cách hạn chế việc xuất hiện các lô hàng không tương thích trên cùng một tuyến đường.
Enum | |
---|---|
INCOMPATIBILITY_MODE_UNSPECIFIED |
Chế độ không tương thích chưa được chỉ định. Không được sử dụng giá trị này. |
NOT_PERFORMED_BY_SAME_VEHICLE |
Ở chế độ này, hai lô hàng có loại không tương thích không bao giờ có thể dùng chung một xe. |
NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY |
Đối với hai lô hàng có loại không tương thích với chế độ không tương thích
|
ShipmentTypeRequirement
Chỉ định các yêu cầu giữa các lô hàng dựa trên shipment_type. Thông tin cụ thể của yêu cầu được xác định theo chế độ yêu cầu.
Trường | |
---|---|
required_ |
Danh sách các loại phương thức vận chuyển thay thế mà |
dependent_ |
Tất cả các lô hàng có loại trong trường LƯU Ý: Không được phép tạo chuỗi yêu cầu như |
requirement_ |
Chế độ áp dụng cho yêu cầu. |
RequirementMode
Các chế độ xác định giao diện của các lô hàng phụ thuộc trên một tuyến.
Enum | |
---|---|
REQUIREMENT_MODE_UNSPECIFIED |
Chế độ yêu cầu không xác định. Không được sử dụng giá trị này. |
PERFORMED_BY_SAME_VEHICLE |
Ở chế độ này, tất cả các lô hàng "phụ thuộc" phải dùng chung một xe với ít nhất một lô hàng "bắt buộc". |
IN_SAME_VEHICLE_AT_PICKUP_TIME |
Với chế độ Do đó, một đơn hàng đến lấy hàng "phụ thuộc" phải có:
|
IN_SAME_VEHICLE_AT_DELIVERY_TIME |
Tương tự như trước, ngoại trừ các lô hàng "phụ thuộc" cần có một lô hàng "bắt buộc" trên xe tại thời điểm giao hàng. |
SkippedShipment
Chỉ định thông tin chi tiết về các lô hàng chưa thực hiện trong một giải pháp. Đối với các trường hợp nhỏ và/hoặc nếu chúng tôi có thể xác định nguyên nhân bỏ qua, chúng tôi sẽ báo cáo lý do tại đây.
Trường | |
---|---|
index |
Chỉ mục này tương ứng với chỉ mục của lô hàng trong |
label |
Bản sao của |
reasons[] |
Danh sách lý do giải thích lý do lô hàng bị bỏ qua. Xem bình luận ở trên |
Lý do
Nếu chúng tôi có thể giải thích lý do bỏ qua đơn hàng, thì lý do sẽ được liệt kê tại đây. Nếu lý do không giống nhau đối với tất cả các xe, reason
sẽ có nhiều phần tử. Một lô hàng bị bỏ qua không được có lý do trùng lặp, tức là tất cả các trường đều giống nhau ngoại trừ example_vehicle_index
. Ví dụ:
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
example_vehicle_index: 1
example_exceeded_capacity_type: "Apples"
}
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
example_vehicle_index: 3
example_exceeded_capacity_type: "Pears"
}
reasons {
code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
example_vehicle_index: 1
}
Lô hàng bị bỏ qua không tương thích với tất cả xe. Lý do có thể khác nhau đối với tất cả các xe, nhưng ít nhất một xe sẽ vượt quá hạn mức "Táo" (bao gồm cả xe 1), ít nhất một xe sẽ vượt quá hạn mức "Lê" (bao gồm cả xe 3) và ít nhất một xe sẽ vượt quá hạn mức quãng đường (bao gồm cả xe 1).
Trường | |
---|---|
code |
Tham khảo các nhận xét về Mã. |
example_ |
Nếu mã lý do là |
example_ |
Nếu lý do liên quan đến việc không tương thích giữa phương tiện vận chuyển và xe, thì trường này sẽ cung cấp chỉ mục của một xe có liên quan. |
Mã
Mã xác định loại lý do. Thứ tự ở đây không có ý nghĩa. Cụ thể, thuộc tính này không cho biết liệu một lý do nhất định có xuất hiện trước một lý do khác trong giải pháp hay không, nếu cả hai đều áp dụng.
Enum | |
---|---|
CODE_UNSPECIFIED |
Bạn không nên sử dụng thuộc tính này. |
NO_VEHICLE |
Không có phương tiện nào trong mô hình khiến tất cả các lô hàng đều không thể thực hiện được. |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
Nhu cầu của lô hàng vượt quá sức chứa của xe đối với một số loại sức chứa, trong đó có example_exceeded_capacity_type . |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
Khoảng cách tối thiểu cần thiết để thực hiện lô hàng này, tức là từ Xin lưu ý rằng để tính toán này, chúng ta sử dụng khoảng cách trắc địa. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |
Thời gian tối thiểu cần thiết để thực hiện lô hàng này, bao gồm thời gian di chuyển, thời gian chờ và thời gian bảo dưỡng vượt quá Lưu ý: thời gian di chuyển được tính theo trường hợp tốt nhất, cụ thể là quãng đường trắc địa x 36 m/giây (khoảng 130 km/giờ). |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT |
Tương tự như trên, nhưng chúng ta chỉ so sánh thời gian di chuyển tối thiểu và travel_duration_limit của xe. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS |
Xe không thể thực hiện chuyến hàng này trong trường hợp tốt nhất (xem CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT để tính toán thời gian) nếu xe bắt đầu vào thời điểm bắt đầu sớm nhất: tổng thời gian sẽ khiến xe kết thúc sau thời điểm kết thúc muộn nhất. |
VEHICLE_NOT_ALLOWED |
Trường allowed_vehicle_indices của lô hàng không trống và xe này không thuộc lô hàng đó. |
TimeWindow
Cửa sổ thời gian ràng buộc thời gian của một sự kiện, chẳng hạn như thời gian đến của một lượt truy cập hoặc thời gian bắt đầu và kết thúc của một xe.
Giới hạn khung thời gian cứng, start_time
và end_time
, thực thi thời gian sớm nhất và muộn nhất của sự kiện, chẳng hạn như start_time <= event_time <=
end_time
. Giới hạn dưới của khoảng thời gian mềm, soft_start_time
, thể hiện lựa chọn ưu tiên cho sự kiện xảy ra vào hoặc sau soft_start_time
bằng cách chịu chi phí tương ứng với khoảng thời gian trước khi sự kiện xảy ra soft_start_time. Giới hạn trên của khoảng thời gian mềm, soft_end_time
, thể hiện mong muốn sự kiện xảy ra vào hoặc trước soft_end_time
bằng cách chịu chi phí tương ứng với khoảng thời gian sau soft_end_time
mà sự kiện xảy ra. start_time
, end_time
, soft_start_time
và soft_end_time
phải nằm trong giới hạn thời gian chung (xem ShipmentModel.global_start_time
và ShipmentModel.global_end_time
) và phải tuân thủ:
0 <= `start_time` <= `end_time` and
0 <= `start_time` <= `soft_start_time` and
0 <= `soft_end_time` <= `end_time`.
Trường | |
---|---|
start_ |
Thời gian bắt đầu của khung thời gian cố định. Nếu không được chỉ định, giá trị này sẽ được đặt thành |
end_ |
Thời gian kết thúc của khung thời gian bắt buộc. Nếu không được chỉ định, giá trị này sẽ được đặt thành |
soft_ |
Thời gian bắt đầu mềm của khoảng thời gian. |
soft_ |
Thời gian kết thúc mềm của khung thời gian. |
cost_ |
Chi phí mỗi giờ được thêm vào các chi phí khác trong mô hình nếu sự kiện xảy ra trước soft_start_time, được tính như sau:
Chi phí này phải là số dương và bạn chỉ có thể đặt trường này nếu đã đặt soft_start_time. |
cost_ |
Chi phí mỗi giờ được thêm vào các chi phí khác trong mô hình nếu sự kiện xảy ra sau
Chi phí này phải là số dương và bạn chỉ có thể đặt trường này nếu đã đặt |
TransitionAttributes
Chỉ định các thuộc tính của lượt chuyển đổi giữa hai lượt truy cập liên tiếp trên một tuyến đường. Có thể áp dụng nhiều TransitionAttributes
cho cùng một quá trình chuyển đổi: trong trường hợp đó, tất cả chi phí bổ sung sẽ được cộng lại và áp dụng quy tắc ràng buộc hoặc giới hạn nghiêm ngặt nhất (tuân theo ngữ nghĩa "AND" tự nhiên).
Trường | |
---|---|
src_ |
Thẻ xác định tập hợp các chuyển đổi (src->dst) mà các thuộc tính này áp dụng. Một lượt truy cập nguồn hoặc lượt khởi động xe sẽ khớp nếu |
excluded_ |
Vui lòng xem |
dst_ |
Lượt truy cập đích hoặc điểm kết thúc của xe sẽ khớp nếu |
excluded_ |
Vui lòng xem |
cost |
Chỉ định chi phí để thực hiện quá trình chuyển đổi này. Giá trị này có cùng đơn vị với tất cả các chi phí khác trong mô hình và không được âm. Khoản phí này được áp dụng ngoài tất cả các chi phí hiện có khác. |
cost_ |
Chỉ định chi phí trên mỗi km áp dụng cho quãng đường đã đi trong khi thực hiện quá trình chuyển đổi này. Giá trị này cộng với mọi |
distance_ |
Chỉ định giới hạn về quãng đường đã đi trong khi thực hiện quá trình chuyển đổi này. Kể từ tháng 6 năm 2021, chúng tôi chỉ hỗ trợ các giới hạn mềm. |
delay |
Chỉ định độ trễ phát sinh khi thực hiện quá trình chuyển đổi này. Độ trễ này luôn xảy ra sau khi kết thúc lượt truy cập nguồn và trước khi bắt đầu lượt truy cập đích. |
Loại xe
Mô hình hoá một chiếc xe trong vấn đề vận chuyển. Việc giải quyết vấn đề vận chuyển sẽ tạo một tuyến đường bắt đầu từ start_location
và kết thúc tại end_location
cho xe này. Tuyến là một chuỗi các lượt truy cập (xem ShipmentRoute
).
Trường | |
---|---|
display_ |
Tên hiển thị do người dùng xác định của xe. Tên này có thể dài tối đa 63 ký tự và có thể sử dụng ký tự UTF-8. |
travel_ |
Chế độ di chuyển ảnh hưởng đến những con đường mà xe có thể đi và tốc độ của xe. Xem thêm |
route_ |
Một nhóm điều kiện cần đáp ứng ảnh hưởng đến cách tính tuyến đường cho một loại xe nhất định. |
start_ |
Vị trí địa lý nơi xe bắt đầu trước khi nhận bất kỳ lô hàng nào. Nếu không được chỉ định, xe sẽ bắt đầu ở lần lấy hàng đầu tiên. Nếu mô hình lô hàng có ma trận thời lượng và khoảng cách, thì bạn không được chỉ định |
start_ |
Điểm trung gian thể hiện vị trí địa lý nơi xe bắt đầu trước khi nhận bất kỳ lô hàng nào. Nếu bạn không chỉ định |
end_ |
Vị trí địa lý nơi xe kết thúc sau khi hoàn tất |
end_ |
Điểm trung gian thể hiện vị trí địa lý mà xe kết thúc sau khi hoàn thành |
start_ |
Chỉ định các thẻ được đính kèm vào điểm bắt đầu của tuyến đường của xe. Không được phép sử dụng chuỗi trống hoặc trùng lặp. |
end_ |
Chỉ định các thẻ được đính kèm vào cuối tuyến đường của xe. Không được phép sử dụng chuỗi trống hoặc trùng lặp. |
start_ |
Khung thời gian mà xe có thể rời khỏi vị trí bắt đầu. Các giá trị này phải nằm trong giới hạn thời gian chung (xem các trường Các khoảng thời gian thuộc cùng một trường định kỳ phải tách biệt, tức là không có khoảng thời gian nào được trùng lặp hoặc liền kề với khoảng thời gian khác, đồng thời các khoảng thời gian này phải theo thứ tự thời gian. Bạn chỉ có thể đặt |
end_ |
Khoảng thời gian mà xe có thể đến vị trí cuối cùng. Các giá trị này phải nằm trong giới hạn thời gian chung (xem các trường Các khoảng thời gian thuộc cùng một trường định kỳ phải tách biệt, tức là không có khoảng thời gian nào được trùng lặp hoặc liền kề với khoảng thời gian khác, đồng thời các khoảng thời gian này phải theo thứ tự thời gian. Bạn chỉ có thể đặt |
unloading_ |
Chính sách về việc dỡ hàng được thực thi trên xe. |
load_ |
Sức chứa của xe (ví dụ: trọng lượng, thể tích, số lượng pallet). Các khoá trong bản đồ là giá trị nhận dạng của loại tải, nhất quán với các khoá của trường |
cost_ |
Chi phí xe: tất cả chi phí cộng lại và phải có cùng đơn vị với Chi phí mỗi giờ của tuyến xe. Chi phí này được áp dụng cho tổng thời gian của tuyến đường, bao gồm thời gian di chuyển, thời gian chờ và thời gian ghé thăm. Việc sử dụng |
cost_ |
Chi phí mỗi giờ di chuyển của tuyến đường xe. Chi phí này chỉ áp dụng cho thời gian di chuyển theo tuyến đường (tức là thời gian được báo cáo trong |
cost_ |
Chi phí mỗi km trên tuyến đường của xe. Chi phí này được áp dụng cho khoảng cách được báo cáo trong |
fixed_ |
Chi phí cố định được áp dụng nếu xe này được dùng để xử lý một lô hàng. |
used_ |
Trường này chỉ áp dụng cho các xe khi tuyến đường của xe không phục vụ bất kỳ lô hàng nào. Giá trị này cho biết liệu xe có được coi là đã qua sử dụng hay không trong trường hợp này. Nếu đúng, xe sẽ đi từ vị trí bắt đầu đến vị trí kết thúc ngay cả khi không phục vụ bất kỳ lô hàng nào, đồng thời tính đến thời gian và chi phí khoảng cách phát sinh từ việc di chuyển từ vị trí bắt đầu đến vị trí kết thúc. Nếu không, xe sẽ không di chuyển từ vị trí bắt đầu đến vị trí kết thúc và không có |
route_ |
Giới hạn áp dụng cho tổng thời lượng của tuyến đường của xe. Trong một |
travel_ |
Giới hạn áp dụng cho thời gian di chuyển của tuyến đường của xe. Trong một |
route_ |
Giới hạn áp dụng cho tổng quãng đường của tuyến đường của xe. Trong một |
extra_ |
Chỉ định một bản đồ từ các chuỗi visit_types đến thời lượng. Thời lượng là thời gian cộng với Nếu một yêu cầu truy cập có nhiều loại, thì thời lượng sẽ được thêm cho từng loại trong bản đồ. |
break_ |
Mô tả lịch nghỉ sẽ được thực thi trên xe này. Nếu trống, xe này sẽ không được lên lịch nghỉ. |
label |
Chỉ định nhãn cho xe này. Nhãn này được báo cáo trong phản hồi dưới dạng |
ignore |
Nếu đúng, Nếu một lô hàng được thực hiện bằng một xe bị bỏ qua trong Nếu một lô hàng được thực hiện bằng một xe bị bỏ qua trong |
travel_ |
Chỉ định hệ số nhân có thể dùng để tăng hoặc giảm thời gian di chuyển của phương tiện này. Ví dụ: việc đặt giá trị này thành 2.0 có nghĩa là xe này chạy chậm hơn và có thời gian di chuyển gấp đôi so với xe tiêu chuẩn. Hệ số này không ảnh hưởng đến thời lượng truy cập. Giá trị này ảnh hưởng đến chi phí nếu bạn chỉ định CẢNH BÁO: Thời gian di chuyển sẽ được làm tròn đến giây gần nhất sau khi áp dụng bội số này nhưng trước khi thực hiện bất kỳ phép toán số nào. Do đó, một bội số nhỏ có thể làm giảm độ chính xác. Xem thêm |
DurationLimit
Giới hạn xác định thời lượng tối đa của tuyến đường của một xe. Có thể là cứng hoặc mềm.
Khi xác định trường giới hạn mềm, bạn phải xác định cả ngưỡng tối đa mềm và chi phí liên quan.
Trường | |
---|---|
max_ |
Giới hạn cứng ràng buộc thời lượng tối đa là max_duration. |
soft_ |
Giới hạn mềm không thực thi giới hạn thời lượng tối đa, nhưng khi bị vi phạm sẽ khiến tuyến phải chịu chi phí. Chi phí này cộng với các chi phí khác được xác định trong mô hình, với cùng một đơn vị. Nếu được xác định, |
quadratic_ |
Giới hạn mềm không thực thi giới hạn thời lượng tối đa, nhưng khi bị vi phạm, tuyến đường sẽ phải chịu một chi phí, theo hàm bậc hai trong thời lượng. Chi phí này cộng với các chi phí khác được xác định trong mô hình, với cùng một đơn vị. Nếu được xác định,
|
cost_ |
Chi phí mỗi giờ phát sinh nếu vi phạm ngưỡng
Chi phí phải là số không âm. |
cost_ |
Chi phí mỗi giờ vuông phát sinh nếu vi phạm ngưỡng Chi phí bổ sung là 0 nếu thời lượng dưới ngưỡng, nếu không, chi phí sẽ phụ thuộc vào thời lượng như sau:
Chi phí phải là số không âm. |
LoadLimit
Xác định giới hạn tải trọng áp dụng cho một xe, ví dụ: "xe tải này chỉ có thể chở tối đa 3500 kg". Vui lòng xem load_limits
.
Trường | |
---|---|
soft_ |
Giới hạn linh hoạt của tải. Vui lòng xem |
cost_ |
Nếu tải vượt quá |
start_ |
Khoảng thời gian tải chấp nhận được của xe ở đầu tuyến. |
end_ |
Khoảng thời gian tải chấp nhận được của xe ở cuối tuyến. |
max_ |
Mức tải tối đa được chấp nhận. |
Khoảng thời gian
Khoảng thời gian tải được chấp nhận.
Trường | |
---|---|
min |
Mức tải tối thiểu chấp nhận được. Phải ≥ 0. Nếu cả hai đều được chỉ định, |
max |
Mức tải tối đa chấp nhận được. Phải ≥ 0. Nếu không được chỉ định, tải tối đa sẽ không bị hạn chế bởi thông báo này. Nếu cả hai đều được chỉ định, |
TravelMode
Các phương thức di chuyển mà xe có thể sử dụng.
Đây phải là một tập hợp con của các phương thức di chuyển trong API Routes Preferred của Nền tảng Google Maps, xem: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode.
Enum | |
---|---|
TRAVEL_MODE_UNSPECIFIED |
Chế độ đi lại không được chỉ định, tương đương với DRIVING . |
DRIVING |
Chế độ đi lại tương ứng với đường đi (ô tô, ...). |
WALKING |
Chế độ đi lại tương ứng với đường đi bộ. |
UnloadingPolicy
Chính sách về cách dỡ hàng khỏi xe. Chỉ áp dụng cho các đơn hàng có cả phương thức đến lấy hàng và giao hàng.
Các lô hàng khác có thể diễn ra ở bất kỳ đâu trên tuyến đường, độc lập với unloading_policy
.
Enum | |
---|---|
UNLOADING_POLICY_UNSPECIFIED |
Chính sách dỡ hàng không được chỉ định; việc giao hàng chỉ được thực hiện sau khi nhận hàng tương ứng. |
LAST_IN_FIRST_OUT |
Các lần giao hàng phải diễn ra theo thứ tự ngược lại với các lần đến lấy hàng |
FIRST_IN_FIRST_OUT |
Các đơn hàng giao hàng phải được thực hiện theo thứ tự giống như các đơn hàng đến lấy hàng |
Waypoint
Đóng gói một điểm tham chiếu. Điểm trung gian đánh dấu vị trí đến và đi của VisitRequests, cũng như vị trí bắt đầu và kết thúc của Xe.
Trường | |
---|---|
side_ |
Không bắt buộc. Cho biết vị trí của điểm trung gian này là để ưu tiên xe dừng ở một bên đường cụ thể. Khi bạn đặt giá trị này, tuyến đường sẽ đi qua vị trí đó để xe có thể dừng ở bên đường mà vị trí đó nghiêng về phía trung tâm đường. Tuỳ chọn này không hoạt động với chế độ đi bộ. |
Trường hợp hợp nhất location_type . Các cách khác nhau để biểu thị một vị trí. location_type chỉ có thể là một trong những loại sau: |
|
location |
Một điểm được chỉ định bằng toạ độ địa lý, bao gồm cả tiêu đề không bắt buộc. |
place_ |
Mã địa điểm POI được liên kết với điểm trung gian. |