OptimizeToursResponse

Phản hồi sau khi giải quyết một vấn đề về tối ưu hoá chuyến tham quan có chứa các tuyến đường mà từng xe đi theo, các chuyến hàng đã bỏ qua và tổng chi phí của giải pháp.

Biểu diễn dưới dạng JSON
{
  "routes": [
    {
      object (ShipmentRoute)
    }
  ],
  "requestLabel": string,
  "skippedShipments": [
    {
      object (SkippedShipment)
    }
  ],
  "validationErrors": [
    {
      object (OptimizeToursValidationError)
    }
  ],
  "metrics": {
    object (Metrics)
  }
}
Trường
routes[]

object (ShipmentRoute)

Tuyến đường được tính toán cho từng chiếc xe; tuyến đường thứ i tương ứng với xe thứ i trong mô hình.

requestLabel

string

Bản sao của OptimizeToursRequest.label, nếu nhãn được chỉ định trong yêu cầu.

skippedShipments[]

object (SkippedShipment)

Danh sách tất cả các lô hàng bị bỏ qua.

validationErrors[]

object (OptimizeToursValidationError)

Danh sách tất cả lỗi xác thực mà chúng tôi có thể tự phát hiện. Xem phần giải thích "NHIỀU LỖI" cho thông báo OptimizeToursValidationError.

metrics

object (Metrics)

Chỉ số thời lượng, khoảng cách và mức sử dụng cho giải pháp này.

OptimizeToursValidationError

Mô tả lỗi gặp phải khi xác thực một OptimizeToursRequest.

Biểu diễn dưới dạng JSON
{
  "code": integer,
  "displayName": string,
  "fields": [
    {
      object (FieldReference)
    }
  ],
  "errorMessage": string,
  "offendingValues": string
}
Trường
code

integer

Lỗi xác thực được xác định bằng cặp (code, displayName) luôn xuất hiện.

Các trường khác (bên dưới) cung cấp thêm ngữ cảnh về lỗi này.

NHIỀU LỖI: Khi có nhiều lỗi, quy trình xác thực sẽ cố gắng đưa ra một vài lỗi. Cũng giống như một trình biên dịch, đây là một quá trình không hoàn hảo. Một số lỗi xác thực sẽ là "nghiêm trọng", có nghĩa là các lỗi này sẽ làm dừng toàn bộ quá trình xác thực. Đây là trường hợp của các lỗi displayName="UNSPECIFIED", cùng với các lỗi khác. Một số lỗi có thể khiến quá trình xác thực bỏ qua các lỗi khác.

TÍNH ỔN ĐỊNH: codedisplayName phải rất ổn định. Tuy nhiên, mã mới và tên hiển thị có thể xuất hiện theo thời gian. Điều này có thể khiến một yêu cầu cụ thể (không hợp lệ) tạo ra một cặp khác (code, displayName) vì lỗi mới đã ẩn mã cũ (xem phần "NHIỀU LỖI").

REFERENCE: Danh sách tất cả các cặp (mã, tên):

  • UNSPECIFIED = 0;
  • VALIDATION_TIMEOUT_ERROR = 10; Không thể hoàn tất quy trình xác thực trong thời hạn.
  • REQUEST_OPTIONS_ERROR = 12;

    • REQUEST_OPTIONS_INVALID_SOLVING_MODE = 1201;
    • REQUEST_OPTIONS_INVALID_MAX_VALIDATION_ERRORS = 1203;
    • REQUEST_OPTIONS_INVALID_GEODESIC_ mạnh_PER_SECONDS = 1204;
    • REQUEST_OPTIONS_GEODESIC_ mạnh_PER_SECONDS_TOO_ cùng = 1205;
    • REQUEST_OPTIONS_ missing_GEODESIC_ xây dựng PER_SECONDS = 1206;
    • REQUEST_OPTIONS_POPULATE_PATHFINDER_TRIPS_AND_GEODESIC_DISTANCE = 1207;
    • REQUEST_OPTIONS_Cost_MODEL_OPTIONS_AND_GEODESIC_DISTANCE = 1208;
    • REQUEST_OPTIONS_Travel_MODE_INCOMPATIBLE_WITH_TRAFFIC = 1211;
    • REQUEST_OPTIONS_MULTIPLE_TRAFFIC_FLAVORS = 1212;
    • REQUEST_OPTIONS_INVALID_TRAFFIC_FLAVOR = 1213;
    • REQUEST_OPTIONS_TRAFFIC_ENABLED_WITHOUT_GLOBAL_START_TIME = 1214;
    • REQUEST_OPTIONS_TRAFFIC_ENABLED_WITH_PRECEDENCES = 1215;
    • REQUEST_OPTIONS_TRAFFIC_PREFILL_MODE_INVALID = 1216;
    • REQUEST_OPTIONS_TRAFFIC_PREFILL_ENABLED_WITHOUT_TRAFFIC = 1217;
  • INJECTED_SOLUTION_ERROR = 20;
    • INJECTED_SOLUTION_DEFAULT_LABEL = 2000;
    • INJECTED_SOLUTION_DUPLICATE_LABEL = 2001;
    • INJECTED_SOLUTION_AMBIGUOUS_INDEX = 2002;
    • INJECTED_SOLUTION_INFEASIBLE_after_GETTING_Travel_TIMES = 2003;
    • INJECTED_SOLUTION_TRANSITION_INCONSISTENT_WITH_ quốc_TUỔI_DU LỊCH = 2004;
    • INJECTED_SOLUTION_CONCURRENT_SOLUTION_TYPES = 2005;
    • INJECTED_SOLUTION_MORE_ hơn_ONE_PER_TYPE = 2006;
    • INJECTED_SOLUTION_REFRESH_WITHOUT_POPULATE = 2008;
    • INJECTED_SOLUTION_CONSTRAINED_ROUTE_PORTION_INFEASIBLE = 2010;
  • ShipMENT_MODEL_ERROR = 22;
    • ship_MODEL_TOO_LARGE = 2200;
    • ShipMENT_MODEL_TOO_MANY_CAPACITY_TYPES = 2201;
    • ShipMENT_MODEL_GLOBAL_START_TIME_ nhạy_OR_NAN = 2202;
    • ShipMENT_MODEL_GLOBAL_END_TIME_TOO_LARGE_OR_NAN = 2203;
    • ShipMENT_MODEL_GLOBAL_START_TIME_HOURS_GLOBAL_END_TIME = 2204;
    • ShipMENT_MODEL_GLOBAL_DURATION_TOO_LONG = 2205;
    • ShipMENT_MODEL_MAX_ACTIVE_VEHICLES_NOT_POSITIVE = 2206;
    • ShipMENT_MODEL_DURATION_MATRIX_TOO_LARGE = 2207;
  • INDEX_ERROR = 24;
  • TAG_ERROR = 26;
  • Time_WINDOW_ERROR = 28;
    • Time_WINDOW_INVALID_START_TIME = 2800;
    • Time_WINDOW_INVALID_END_TIME = 2801;
    • Time_WINDOW_INVALID_SOFT_START_TIME = 2802;
    • TIME_WINDOW_INVALID_SOFT_END_TIME = 2803;
    • Time_WINDOW_OUTSIDE_GLOBAL_TIME_WINDOW = 2804;
    • TIME_WINDOW_START_TIME_STEP_END_TIME = 2805;
    • TIME_WINDOW_INVALID_cost_PER_HOURS_BEFORE_SOFT_START_TIME = 2806;
    • TIME_WINDOW_INVALID_cost_PER_HOURS_HOURS_SOFT_END_TIME = 2807;
    • TIME_WINDOW_Cost_BEFORE_SOFT_START_TIME_WITHOUT_SOFT_START_TIME = 2808;
    • TIME_WINDOW_cost_VIEWS_SOFT_END_TIME_WITHOUT_SOFT_END_TIME = 2809;
    • Time_WINDOW_SOFT_START_TIME_WITHOUT_cost_BEFORE_SOFT_START_TIME = 2810;
    • Time_WINDOW_SOFT_END_TIME_WITHOUT_cost_SIDE_SOFT_END_TIME = 2811;
    • TIME_WINDOW_OVERLAPPING_ADJACENT_OR_EARLIER_ đầu_PREVIOUS = 2812;
    • TIME_WINDOW_START_TIME_STEP_SOFT_START_TIME = 2813;
    • Time_WINDOW_SOFT_START_TIME_STEP_END_TIME = 2814;
    • TIME_WINDOW_START_TIME_STEP_SOFT_END_TIME = 2815;
    • Time_WINDOW_SOFT_END_TIME_STEP_END_TIME = 2816;
    • TIME_WINDOW_Cost_BEFORE_SOFT_START_TIME_SET_AND_MULTIPLE_WINDOWS = 2817;
    • Time_WINDOW_cost_VIEWS_SOFT_END_TIME_SET_AND_MULTIPLE_WINDOWS = 2818;
    • TRANSITION_ATTRIBUTES_ERROR = 30;
    • TRANSITION_ATTRIBUTES_INVALID_cost = 3000;
    • TRANSITION_ATTRIBUTES_INVALID_Cost_PER_KILOMETER = 3001;
    • TRANSITION_ATTRIBUTES_DUPLICATE_TAG_PAIR = 3002;
    • TRANSITION_ATTRIBUTES_DISTANCE_LIMIT_MAX_+_UNSUPPORTED = 3003;
    • TRANSITION_ATTRIBUTES_UNSPECIFIED_SOURCE_TAGS = 3004;
    • TRANSITION_ATTRIBUTES_LOCATIONING_SOURCE_TAGS_FIELDS = 3005;
    • TRANSITION_ATTRIBUTES_UNSPECIFIED_LOCATION_TAGS = 3006;
    • TRANSITION_ATTRIBUTES_ {/7}ING_REVIEWS_TAGS_FIELDS = 3007;
    • TRANSITION_ATTRIBUTES_PAUSE_DURATION_GRANTE_OR_NAN = 3008;
    • TRANSITION_ATTRIBUTES_ hỗ trợ_DURATION_EXCEEDS_GLOBAL_DURATION = 3009;
  • AMOUNT_ERROR = 31;
    • AMOUNT_SUBJECT_VALUE = 3100;
  • TẢI_LIMIT_ERROR = 33;
    • TẢI_LIMIT_INVALID_Cost_ABOVE_SOFT_MAX = 3303;
    • TẢI_LIMIT_SOFT_MAX_WITHOUT_Cost_ABOVE_SOFT_MAX = 3304;
    • TẢI_LIMIT_Cost_ABOVE_SOFT_MAX_WITHOUT_SOFT_MAX = 3305;
    • 3306 : 3306 : 3306 .
    • TẢI_LIMIT_MIXED_DEMAND_TYPE = 3307;
    • TẢI_LIMIT_MAX_LOAD_ biến_VALUE = 3308;
    • TẢI_LIMIT_SOFT_MAX_ABOVE_MAX = 3309;
  • INTERVAL_ERROR = 34;
    • INTERVAL_MIN_EXCEEDS_MAX = 3401;
    • INTERVAL_Negative_MIN = 3402;
    • INTERVAL_SUBJECT_MAX = 3403;
    • INTERVAL_MIN_EXCEEDS_CAPACITY = 3404;
    • INTERVAL_MAX_EXCEEDS_CAPACITY = 3405;
  • cách_LIMIT_ERROR = 36;
    • KHOẢNG TRỜI_LIMIT_INVALID_Cost_ SAU_SOFT_MAX = 3.601;
    • KHOẢNG CÁCH_LIMIT_SOFT_MAX_WITHOUT_Cost_SIDE_SOFT_MAX = 3602;
    • KHOẢNG TRỜI_LIMIT_Cost_SIDE_SOFT_MAX_WITHOUT_SOFT_MAX = 3603;
    • khoảng cách
    • khoảng cách
    • khoảng cách
  • THỜI LƯỢNG_LIMIT_ERROR = 38;
    • FCM_LIMIT_MAX_DURATION_SUBJECT_OR_NAN = 3.800;
    • FCM_LIMIT_SOFT_MAX_DURATION_DELTA_OR_NAN = 3.801;
    • FCM_LIMIT_INVALID_cost_PER_HOURS_ SAU_SOFT_MAX = 3.802;
    • FCM_LIMIT_SOFT_MAX_WITHOUT_cost_WITH_SOFT_MAX = 3.803;
    • THỜI GIAN_LIMIT_Cost_VIEWS_SOFT_MAX_WITHOUT_SOFT_MAX = 3804;
    • THỜI GIAN_LIMIT_QUADRATIC_SOFT_MAX_DURATION_ nhạy_OR_NAN = 3805;
    • IME_LIMIT_INVALID_cost_SAU_QUADRATIC_SOFT_MAX = 3806;
    • {5/}_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_cost_PER_SQUARE_HOURS = 3807;
    • {5/}_LIMIT_Cost_PER_SQUARE_HOURS_WITHOUT_QUADRATIC_SOFT_MAX = 3808;
    • THỜI_LIMIT_QUADRATIC_SOFT_MAX_WITHOUT_MAX = 3809;
    • THỜI GIAN_LIMIT_SOFT_MAX_LARGER_Thanh_MAX = 3810;
    • THỜI GIAN_LIMIT_QUADRATIC_SOFT_MAX_LARGER_Thanh_MAX = 3811;
    • THỜI GIAN_LIMIT_DIFF_BETWEEN_MAX_AND_QUADRATIC_SOFT_MAX_TOO_LARGE = 3812;
    • FCM_LIMIT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3813;
    • FCM_LIMIT_SOFT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3814;
    • THỜI LƯỢNG_LIMIT_QUADRATIC_SOFT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION = 3815;
  • ShipMENT_ERROR = 40;
    • shipMENT_PD_LIMIT_WITHOUT_CHOOSEUP_AND_OPTIONS = 4014;
    • shipMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_GRANTE_OR_NAN = 4000;
    • ShipMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4001;
    • ShipMENT_PD_RELATIVE_DETOUR_LIMIT_INVALID = 4015;
    • ShipMENT_PD_DETOUR_LIMIT_AND_EXTRA_VISIT_DURATION = 4016;
    • shipMENT_PD_TIME_LIMIT_DURATION_GRANTE_OR_NAN = 4002;
    • ShipMENT_PD_TIME_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4003;
    • ShipMENT_EMPTY_ShipMENT_TYPE = 4004;
    • ĐỊA_HÀNG_HÀNG_ĐIỆU_VẬN_ĐƠN_VỚI_KHÔNG_giao_hàng = 4005;
    • ShipMENT_INVALID_PENALTY_cost = 4.006;
    • ShipMENT_ALLOWED_VEHICLE_INDEX_OUT_OF_BOUNDS = 4007;
    • shippingMENT_DUPLICATE_ALLOWED_VEHICLE_INDEX = 4008;
    • GỬI_INCONSISTENT_cost_FOR_VEHICLE_SIZE_WITHOUT_INDEX = 4009;
    • GỬI_INCONSISTENT_Cost_FOR_VEHICLE_SIZE_WITH_INDEX = 4010;
    • ShipMENT_INVALID_cost_FOR_VEHICLE = 4011;
    • ShipMENT_Cost_FOR_VEHICLE_INDEX_OUT_OF_BOUNDS = 4012;
    • shippingMENT_DUPLICATE_Cost_FOR_VEHICLE_INDEX = 4013;
  • VEHICLE_ERROR = 42;
    • VEHICLE_EMPTY_REQUIRED_OPERATOR_TYPE = 4200;
    • VEHICLE_DUPLICATE_REQUIRED_OPERATOR_TYPE = 4201;
    • VEHICLE_NO_OPERATOR_WITH_REQUIRED_OPERATOR_TYPE = 4202;
    • VEHICLE_EMPTY_START_TAG = 4203;
    • VEHICLE_DUPLICATE_START_TAG = 4204;
    • VEHICLE_EMPTY_END_TAG = 4205;
    • VEHICLE_DUPLICATE_END_TAG = 4206;
    • VEHICLE_EXTRA_VISIT_DURATION_ vỡ_HOẶC_NAN = 4207;
    • VEHICLE_EXTRA_VISIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4208;
    • VEHICLE_EXTRA_VISIT_DURATION_EMPTY_KEY = 4209;
    • VEHICLE_FIRST_ShipMENT_INDEX_OUT_OF_BOUNDS = 4210;
    • VEHICLE_FIRST_ShipMENT_CANCELD = 4211;
    • VEHICLE_FIRST_ShipMENT_NOT_BOUND = 4212;
    • VEHICLE_LAST_TRANSMENT_INDEX_OUT_OF_BOUNDS = 4213;
    • VEHICLE_LAST_TRANSMENT_CANCELD = 4214;
    • VEHICLE_LAST_ShipMENT_NOT_BOUND = 4215;
    • VEHICLE_4216;
    • VEHICLE_INVALID_cost_PER_KILOMETER = 4217;
    • VEHICLE_INVALID_Cost_PER_HOURS = 4218;
    • VEHICLE_INVALID_cost_PER_TravelED_HOURS = 4219;
    • VEHICLE_INVALID_FIXED_Cost = 4220;
    • VEHICLE_INVALID_Travel_DURATION_MULTIPLE = 4221;
    • VEHICLE_Travel_DURATION_MULTIPLE_WITH_shipMENT_PD_DETOUR_LIMITS = 4223;
    • VEHICLE_MATRIX_INDEX_WITH_ShipMENT_PD_DETOUR_LIMITS = 4224;
    • VEHICLE_TỐI_DURATION_LONGER_Touch_DURATION_LIMIT = 4222;
  • VISIT_REQUEST_ERROR = 44;
    • VISIT_REQUEST_EMPTY_TAG = 4400;
    • VISIT_REQUEST_DUPLICATE_TAG = 4401;
    • VISIT_REQUEST_DURATION_SUBJECT_OR_NAN = 4404;
    • VISIT_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4405;
  • PRECED ý_ERROR = 46;
  • BREAK_ERROR = 48;
    • BREAK_RULE_EMPTY = 4800;
    • BREAK_REQUEST_UNSPECIFIED_DURATION = 4801;
    • BREAK_REQUEST_UNSPECIFIED_EARLIEST_START_TIME = 4802;
    • BREAK_REQUEST_UNSPECIFIED_LATEST_START_TIME = 4803;
    • BREAK_REQUEST_DURATION_SUBJECT_OR_NAN = 4804; = 4804;
    • BREAK_REQUEST_LATEST_START_TIME_BEFORE_EARLIEST_START_TIME = 4805;
    • BREAK_REQUEST_EARLIEST_START_TIME_BEFORE_GLOBAL_START_TIME = 4806;
    • BREAK_REQUEST_LATEST_END_TIME_WITH_GLOBAL_END_TIME = 4807;
    • BREAK_REQUEST_NON_SCHEDULABLE = 4808;
    • BREAK_JAWS_MAX_Inter_BREAK_DURATION_SUBJECT_OR_NAN = 4809;
    • BREAK_JAWS_MIN_BREAK_DURATION_ nhạy_OR_NAN = 4810;
    • BREAK_JAWS_MIN_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION = 4811;
    • BREAK_JAWS_MAX_Inter_BREAK_DURATION_EXCEEDS_GLOBAL_DURATION = 4812;
    • BREAK_REQUEST_DURATION_EXCEEDS_GLOBAL_DURATION = 4813;
    • BREAK_TẦN_THIẾU_MAX_Inter_BREAK_DURATION = 4814;
    • BREAK_JAWS_{/3}_MIN_BREAK_DURATION = 4815;
  • ShipMENT_TYPE_INCOMPATIBILITY_ERROR = 50;
    • ShipMENT_TYPE_INCOMPATIBILITY_EMPTY_TYPE = 5001;
    • ShipMENT_TYPE_INCOMPATIBILITY_LESS_Touch_TWO_TYPES = 5002;
    • ship_TYPE_INCOMPATIBILITY_DUPLICATE_TYPE = 5003;
    • ShipMENT_TYPE_INCOMPATIBILITY_INVALID_INCOMPATIBILITY_MODE = 5004;
    • ShipMENT_TYPE_INCOMPATIBILITY_TOO_MANY_INCOMPATIBLITIES = 5005;
  • ship_TYPE_REQUIREMENT_ERROR = 52;
    • Lô hàng_TYPE_REQUIREMENT_NO_REQUIRED_TYPE = 52001;
    • Lô hàng_TYPE_REQUIREMENT_NO_DEPENDENT_TYPE = 52002;
    • Lô hàng_TYPE_REQUIREMENT_INVALID_REQUIREMENT_MODE = 52003;
    • Lô hàng_TYPE_REQUIREMENT_TOO_MANY_REQUIREMENTS = 52004;
    • Lô hàng_TYPE_REQUIREMENT_EMPTY_REQUIRED_TYPE = 52005;
    • Lô hàng_TYPE_REQUIREMENT_DUPLICATE_REQUIRED_TYPE = 52006;
    • Lô hàng_TYPE_REQUIREMENT_NO_REQUIRED_TYPE_FOUND = 52007;
    • ShipMENT_TYPE_REQUIREMENT_EMPTY_DEPENDENT_TYPE = 52008;
    • Lô hàng_TYPE_REQUIREMENT_DUPLICATE_DEPENDENT_TYPE = 52009;
    • Lô hàng_TYPE_REQUIREMENT_self_DEPENDENT_TYPE = 52010;
    • Lô hàng_TYPE_REQUIREMENT_GRAPH_HAS_CYCLES = 52011;
  • VEHICLE_OPERATOR_ERROR = 54;
    • VEHICLE_OPERATOR_EMPTY_TYPE = 5400;
    • VEHICLE_OPERATOR_MULTIPLE_START_TIME_WINDOWS = 5401;
    • VEHICLE_OPERATOR_SOFT_START_TIME_WINDOW = 5402;
    • VEHICLE_OPERATOR_MULTIPLE_END_TIME_WINDOWS = 5403;
    • VEHICLE_OPERATOR_SOFT_END_TIME_WINDOW = 5404;
  • THỜI GIAN_SECONDS_MATRIX_ERROR = 56;
    • THỜI GIAN_SECONDS_MATRIX_DURATION_SUBJECT_OR_NAN = 5.600;
    • THỜI GIAN_SECONDS_MATRIX_DURATION_EXCEEDS_GLOBAL_DURATION = 5601;
displayName

string

Tên hiển thị lỗi.

fields[]

object (FieldReference)

Ngữ cảnh lỗi có thể liên quan đến 0, 1 (hầu hết thời gian) hoặc nhiều trường hơn. Ví dụ: tham chiếu đến xe số 4 và lô hàng số 2 đến lấy hàng đầu tiên như sau:

fields { name: "vehicles" index: 4}
fields { name: "shipments" index: 2 subField {name: "pickups" index: 0} }

Tuy nhiên, hãy lưu ý rằng số lượng giá trị riêng biệt của fields không được thay đổi đối với một mã lỗi nhất định.

errorMessage

string

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 codeerrorMessage (khi mã != "UNSPECIFIED").

TÍNH ỔN ĐỊNH: Không ổn định: thông báo lỗi liên quan đến một code nhất định có thể thay đổi (hy vọng là làm rõ điều này) theo thời gian. Thay vào đó, vui lòng sử dụng displayNamecode.

offendingValues

string

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ó sẵn. Bạn tuyệt đối không nên dựa vào và chỉ sử dụng công cụ này để gỡ lỗi cho 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 đề cập đến một trường nhất định trong tệp này và tuân theo cấu trúc phân cấp tương tự. Ví dụ: chúng tôi có thể chỉ định phần tử #2 của startTimeWindows của xe #5 bằng cách sử dụng:

name: "vehicles" index: 5 subField { name: "endTimeWindows" 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 nhồi nhét thông báo.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "subField": {
    object (FieldReference)
  },

  // Union field index_or_key can be only one of the following:
  "index": integer,
  "key": string
  // End of list of possible types for union field index_or_key.
}
Trường
name

string

Tên của trường, ví dụ: "phương tiện".

subField

object (FieldReference)

Trường phụ được lồng định kỳ nếu cần.

Trường hợp index_or_key.

index_or_key chỉ có thể là một trong những trạng thái sau:

index

integer

Chỉ mục của trường nếu lặp lại.

key

string

Khoá nếu trường là bản đồ.

Chỉ số

Chỉ số tổng thể, được tổng hợp trên tất cả các tuyến đường.

Biểu diễn dưới dạng JSON
{
  "aggregatedRouteMetrics": {
    object (AggregatedMetrics)
  },
  "skippedMandatoryShipmentCount": integer,
  "usedVehicleCount": integer,
  "earliestVehicleStartTime": string,
  "latestVehicleEndTime": string,
  "costs": {
    string: number,
    ...
  },
  "totalCost": number
}
Trường
aggregatedRouteMetrics

object (AggregatedMetrics)

Tổng hợp qua các tuyến đường. Mỗi chỉ số là tổng (hoặc giá trị tối đa, đối với tải) trên tất cả các trường ShipmentRoute.metrics cùng tên.

skippedMandatoryShipmentCount

integer

Số lượng các lô hàng bắt buộc bị bỏ qua.

usedVehicleCount

integer

Số lượng xe đã sử dụng. Lưu ý: nếu tuyến đường của xe trống và giá trị Vehicle.used_if_route_is_empty là true, thì xe đó được coi là đã qua sử dụng.

earliestVehicleStartTime

string (Timestamp format)

Thời gian bắt đầu sớm nhất của một xe đã qua sử dụng, được tính là thời gian tối thiểu cho tất cả các xe đã qua sử dụng vào ngày ShipmentRoute.vehicle_start_time.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

latestVehicleEndTime

string (Timestamp format)

Thời gian kết thúc gần đây nhất của một xe đã qua sử dụng, được tính là thời gian tối đa cho tất cả các xe đã qua sử dụng vào ShipmentRoute.vehicle_end_time.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

costs

map (key: string, value: number)

Chi phí giải pháp, được chia nhỏ theo các trường yêu cầu liên quan đến chi phí. Khoá là đường dẫn proto, so với dữ liệu đầu vào Optimize ToursRequest, ví dụ: "model.shipments.pickups.cost" và các giá trị này 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, chi phí["model.shipments.pickups.cost"] là tổng của tất cả chi phí đến lấy hàng so với giải pháp này. Tất cả chi phí xác định trong mô hình đều được báo cáo chi tiết tại đây, ngoại trừ các 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 tháng 1 năm 2022.

Đối tượng chứa danh sách các cặp "key": value. Ví dụ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

totalCost

number

Tổng chi phí của giải pháp. Tổng của tất cả giá trị trong bản đồ chi phí.