На следующей странице представлены таблицы параметров в алфавитном порядке для следующих компонентов метода optimizeTours API оптимизации маршрутов:
В этих таблицах параметров для удобства поиска перечислены и кратко описаны только объекты верхнего уровня и основные параметры. Полный список с подробным описанием и всеми вложенными параметрами см. в справочной документации по API .
Текст запроса
В текст запроса входят следующие элементы, которые показаны на диаграмме справа и перечислены в таблице ниже:
-
OptimizeToursRequest: Объект запроса верхнего уровня, содержащий модель и параметры решения.-
ShipmentModel: Основная структура данных, содержащая информацию о грузах, транспортных средствах и глобальных ограничениях.-
Shipment: операция, включающая погрузку и разгрузку.-
VisitRequest: Местоположение и ограничения для получения или доставки.
-
-
Vehicle: транспортное средство, предназначенное для осуществления перевозок.
-
-
| Родитель | Параметр | Тип недвижимости | Описание |
|---|---|---|---|
OptimizeToursRequest | allowLargeDeadlineDespiteInterruptionRisk | логическое значение ( true / false ) | Если true , запрос обрабатывается, даже если время ожидания установлено на большое значение (более 30 минут), что может привести к сбоям в работе сервера. |
considerRoadTraffic | логическое значение ( true / false ) | Если true , для построения маршрута используются данные о дорожном движении. Если значение равно false, используются только данные о скорости движения по дорожной сети. | |
geodesicMetersPerSecond | число | Если useGeodesicDistances имеет значение true, то для расчета времени в пути используется эта скорость. | |
injectedFirstSolutionRoutes[] | массив объектов ( ShipmentRoute ) | Маршруты из предыдущего решения, с которых следует начать оптимизацию. | |
injectedSolutionConstraint | объект ( InjectedSolutionConstraint ) | Накладывает ограничения на решение, требуя, чтобы оно было аналогично существующим маршрутам, указывая, какие свойства должны быть сохранены, а какие могут быть ослаблены. | |
interpretInjectedSolutionsUsingLabels | логическое значение ( true / false ) | Если true , сопоставление грузов/транспортных средств в внедренных маршрутах осуществляется по их label , а не по индексу массива. | |
label | нить | Произвольная метка для идентификации запроса, возвращаемая в ответе. | |
maxValidationErrors | целое число | Указывает максимальное количество возвращаемых ошибок проверки. Если не указано, применяется ограничение по умолчанию. | |
model | объект ( ShipmentModel ) | Обязательно. Набор транспортных средств и грузов, подлежащих оптимизации. | |
populatePolylines | логическое значение ( true / false ) | Если true , возвращает закодированные полилинии для маршрутов. | |
populateTransitionPolylines | логическое значение ( true / false ) | Если true , возвращает закодированные полилинии для отдельных переходов между посещениями. | |
refreshDetailsRoutes[] | массив объектов ( ShipmentRoute ) | Список маршрутов для обновления. Эта функция пересчитывает полилинии, продолжительность и расстояния для существующих маршрутов без изменения последовательности посещений. | |
searchMode | enum ( SearchMode ) | RETURN_FAST (быстрые результаты) или CONSUME_ALL_AVAILABLE_TIME (наилучшее качество в течение времени ожидания). | |
solvingMode | enum ( SolvingMode ) | DEFAULT_SOLVE (по умолчанию) или VALIDATE_ONLY для проверки модели без решения. | |
timeout | Продолжительность | Максимальная продолжительность работы решателя (например, "30 с", "300 с"). | |
useGeodesicDistances | логическое значение ( true / false ) | Если true , то расстояния и время в пути рассчитываются с использованием геодезических (прямолинейных) расстояний и скорости geodesicMetersPerSecond . | |
ShipmentModel(Часть проекта OptimizeToursRequest ) | durationDistanceMatrices[] | массив объектов ( DurationDistanceMatrix ) | Задает пользовательские матрицы продолжительности и расстояния, используемые для маршрутизации между местоположениями. |
durationDistanceMatrixDstTags[] | массив строк | Теги, определяющие пункты назначения (столбцы) для пользовательских матриц продолжительности и расстояния. | |
durationDistanceMatrixSrcTags[] | массив строк | Теги, определяющие источники (строки) для пользовательских матриц продолжительности и расстояния. | |
globalDurationCostPerHour | число | Стоимость за час на протяжении всего маршрута, от самого раннего начала движения транспортного средства до самого позднего его окончания. | |
globalEndTime | Отметка времени | Самое позднее время окончания любого события в модели. | |
globalStartTime | Отметка времени | Самое раннее время начала любого события в модели. | |
maxActiveVehicles | целое число | Максимальное количество транспортных средств, разрешенных для использования в решении. | |
precedenceRules[] | массив объектов ( PrecedenceRule ) | Правила, определяющие ограничения на размещение заказов между конкретными партиями грузов. | |
shipments[] | массив объектов ( Shipment ) | Список отправлений, подлежащих обслуживанию. | |
shipmentTypeIncompatibilities[] | массив объектов ( ShipmentTypeIncompatibility ) | Правила, запрещающие перевозку грузов определенных типов одним и тем же транспортным средством. | |
shipmentTypeRequirements[] | массив объектов ( ShipmentTypeRequirement ) | Правила, требующие, чтобы перевозки определенных видов грузов осуществлялись одним и тем же транспортным средством. | |
transitionAttributes[] | массив объектов ( TransitionAttributes ) | Указывает дополнительные расходы, задержки и ограничения по расстоянию при переходах между посещениями с использованием определенных меток. | |
vehicles[] | массив объектов ( Vehicle ) | Список транспортных средств, доступных для осуществления перевозок. | |
Shipment(Часть ShipmentModel ) | allowedVehicleIndices[] | массив целых чисел | Индексы транспортных средств, которым разрешено осуществлять данную перевозку. |
costsPerVehicle[] | карта (ключ: целое число, значение: число) | Дополнительные расходы, возникающие в случае, если для этой перевозки используется конкретный транспорт. | |
costsPerVehicleIndices[] | массив целых чисел | Индексы транспортных средств, к которым применяются значения costsPerVehicle . | |
deliveries[] | массив объектов ( VisitRequest ) | Альтернативные способы доставки посылки. | |
ignore | логическое значение ( true / false ) | Если true , то отправление игнорируется и не используется в оптимизации. | |
label | нить | Пользовательская метка для идентификации отправления, возвращаемая в ответе. | |
loadDemands | map (ключ: строка, значение: Load ) | Требуемая грузоподъемность (например, вес, объем) для перевозки данного груза. | |
penaltyCost | число | Стоимость доставки в случае, если отправление не будет осуществлено. Если стоимость не указана, доставка является обязательной. | |
pickups[] | массив объектов ( VisitRequest ) | Варианты получения посылки. | |
pickupToDeliveryAbsoluteDetourLimit | Продолжительность | Максимально допустимое абсолютное время объезда между пунктом погрузки и пунктом разгрузки по сравнению с прямым маршрутом. | |
pickupToDeliveryRelativeDetourLimit | число | Максимально допустимый относительный объезд для груза (например, значение 2,0 означает, что общее время может составлять не более чем в 2 раза больше времени в пути напрямую). | |
pickupToDeliveryTimeLimit | Продолжительность | Максимально допустимая продолжительность времени от начала погрузки до начала доставки. | |
shipmentType | нить | Классификация типов используется для определения несовместимости и правил соответствия требованиям. | |
VisitRequest(Один из компонентов процесса pickups и deliveries в Shipment ) | arrivalLocation | объект ( LatLng ) | Географическое местоположение прибытия в виде координат широты и долготы. |
arrivalWaypoint | объект ( Waypoint ) | Место прибытия транспортного средства для совершения визита. Определяется координатами или идентификатором места. | |
cost | число | Стоимость, которая возникнет в случае выбора решателем именно этого запроса на посещение. | |
departureLocation | объект ( LatLng ) | Географическое местоположение отправления в виде координат широты и долготы. | |
departureWaypoint | объект ( Waypoint ) | Место отправления транспортного средства после завершения визита. Если это поле опущено, предполагается, что оно совпадает с точкой arrivalWaypoint ). | |
duration | Продолжительность | Продолжительность визита (время обслуживания), например, сколько времени занимает погрузка/разгрузка. | |
label | нить | Заданная пользователем метка для данного запроса на посещение, возвращаемая в ответе. | |
loadDemands | map (ключ: строка, значение: Load ) | Требования, указывающие на изменение нагрузки во время этого визита (например, -1 для доставки посылки). | |
tags[] | массив строк | К этому запросу на посещение прикреплены теги. Они используются для расчета времени в пути между этим посещением и другими с помощью transitionAttributes ). | |
timeWindows[] | массив объектов ( TimeWindow ) | Допустимые временные интервалы для прибытия в рамках данного визита. | |
visitTypes[] | массив строк | Строки, описывающие тип посещения (например, "доставка", "установка"). Используются для применения параметра extraVisitDurationForVisitType из модели Vehicle. | |
Vehicle(Часть ShipmentModel ) | breakRule | объект ( BreakRule ) | Определяет правила проведения перерывов (например, обязательный обеденный перерыв). |
costPerHour | число | Стоимость за час общей продолжительности маршрута. | |
costPerKilometer | число | Стоимость за пройденный километр. | |
costPerTraveledHour | число | Стоимость за час во время движения транспортного средства. | |
endLocation | объект ( LatLng ) | Географическое местоположение указывается в виде координат широты и долготы. | |
endTags[] | массив строк | Метки, определяющие конечное состояние транспортного средства, используются для атрибутов перехода. | |
endTimeWindows[] | массив объектов ( TimeWindow ) | Были предоставлены временные промежутки для завершения маршрута транспортного средства. | |
endWaypoint | объект ( Waypoint ) | Определение конечной географической точки с помощью путевой точки (координаты или идентификатор места). | |
extraVisitDurationForVisitType | map (ключ: строка, значение: длительность ) | Увеличивает продолжительность посещений в зависимости от их visitType . | |
fixedCost | число | Фиксированная плата, взимаемая при использовании транспортного средства, независимо от расстояния или продолжительности маршрута. | |
ignore | логическое значение ( true / false ) | Если true , транспортное средство игнорируется и не используется в оптимизации. | |
label | нить | Пользовательская метка для транспортного средства, возвращаемая в ответе. | |
loadLimits | map (ключ: строка, значение: LoadLimit ) | Грузоподъемность транспортного средства (например, максимальный вес, максимальный объем). | |
routeDistanceLimit | объект ( DistanceLimit ) | Жесткое или мягкое ограничение на общую протяженность маршрута транспортного средства. | |
routeDurationLimit | объект ( DurationLimit ) | Жесткое или мягкое ограничение общей продолжительности маршрута транспортного средства. | |
routeModifiers | объект ( RouteModifiers ) | Одно или несколько ограничений, например, избегание платных дорог, автомагистралей или паромов. | |
startLocation | объект ( LatLng ) | Географическое начальное местоположение в виде координат широты и долготы. | |
startTags[] | массив строк | Метки, определяющие начальное состояние транспортного средства, используются для атрибутов перехода. | |
startTimeWindows[] | массив объектов ( TimeWindow ) | Были предоставлены окна для начала движения транспортного средства. | |
startWaypoint | объект ( Waypoint ) | Определение географического начального местоположения с помощью путевой точки (координаты или идентификатор места). | |
travelDurationLimit | объект ( DurationLimit ) | Жесткое или мягкое ограничение общей продолжительности поездки (за исключением времени ожидания/обслуживания) транспортного средства. | |
travelDurationMultiple | число | К времени в пути применяется множитель (например, 1,5 означает, что поездка займет на 50% больше времени). | |
travelMode | enum ( TravelMode ) | Способ передвижения (например, DRIVING , WALKING ) влияет на время и расстояние в пути. | |
unloadingPolicy | enum ( UnloadingPolicy ) | Определяет порядок разгрузки (например, LIFO или LAST_IN_FIRST_OUT ). | |
usedIfRouteIsEmpty | логическое значение ( true / false ) | Если true , то транспортное средство считается использованным даже без учета перевозок. Оно несет фиксированные затраты и перемещается между начальной и конечной точками маршрута. |
Ответный текст
В состав ответной группы входят следующие элементы, которые показаны на диаграмме справа и перечислены в таблице ниже:
-
OptimizeToursResponse: Объект ответа верхнего уровня, содержащий оптимизированные маршруты и метрики.-
Metrics: Общие показатели стоимости и эффективности решения. -
ShipmentRoute: Последовательность посещений и маршрут движения, назначенный одному транспортному средству.-
Visit: остановка на маршруте для осуществления погрузки или разгрузки. -
Transition: Маршрут и продолжительность поездки между двумя остановками на маршруте. -
AggregatedMetrics: Суммарные значения продолжительности, расстояния и других показателей. Этот элемент может присутствовать как вMetrics, так иShipmentRoute.
-
-
| Родитель | Параметр | Тип недвижимости | Описание |
|---|---|---|---|
OptimizeToursResponse | metrics | объект ( Metrics ) | Сводные показатели решения, включая общую стоимость, общее расстояние, общую продолжительность и количество использований транспортных средств. |
requestLabel | нить | Метка, скопированная из поля label запроса. Используется для сопоставления ответа с исходным запросом. | |
routes[] | массив объектов ( ShipmentRoute ) | Список маршрутов, рассчитанных для каждого транспортного средства. Содержит запись для каждого транспортного средства, независимо от его назначения. | |
skippedShipments[] | массив объектов ( SkippedShipment ) | Список отправлений, которые были пропущены (не обслужены), с указанием причин пропуска. | |
validationErrors[] | массив объектов ( OptimizeToursValidationError ) | Список ошибок валидации, обнаруженных во входной модели. Этот список заполняется, если solvingMode был установлен в значение VALIDATE_ONLY , или если ошибки возникли во время решения. | |
Metrics(Часть OptimizeToursResponse ) | aggregatedRouteMetrics | объект ( AggregatedMetrics ) | Сводные статистические данные по всем маршрутам, такие как общее расстояние поездки, общая продолжительность и время ожидания. |
costs | карта (ключ: строка, значение: число) | Разбивка затрат по типам (например, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
earliestVehicleStartTime | Отметка времени | Самое раннее время запуска среди всех подержанных автомобилей. | |
latestVehicleEndTime | Отметка времени | Самое позднее время окончания продаж среди всех подержанных автомобилей. | |
skippedMandatoryShipmentCount | целое число | Количество обязательных поставок, которые были пропущены. | |
totalCost | число | Общая стоимость решения, включающая все затраты на маршрут и штрафы за несостоявшуюся доставку. | |
usedVehicleCount | целое число | Количество транспортных средств, использованных в решении. | |
AggregatedMetrics(Часть Metrics и ShipmentRoute ) | breakDuration | Продолжительность | Общая продолжительность перерывов, сделанных на всех маршрутах. |
costs | карта (ключ: строка, значение: число) | Разбивка затрат по типам (например, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost"). | |
delayDuration | Продолжительность | Общая продолжительность задержки по всем маршрутам. | |
earliestVehicleStartTime | Отметка времени | Самое раннее время запуска среди всех подержанных автомобилей. | |
latestVehicleEndTime | Отметка времени | Самое позднее время окончания продаж среди всех подержанных автомобилей. | |
maxLoads | map (key: string, value: VehicleLoad ) | Максимальная грузоподъемность любого транспортного средства в любой точке решения, определяемая типом груза. | |
performedShipmentCount | целое число | Общее количество отгрузок, осуществленных всеми транспортными средствами. | |
skippedMandatoryShipmentCount | целое число | Количество обязательных поставок, которые были пропущены. | |
totalCost | число | Общая стоимость решения, включающая все затраты на маршрут и штрафы за несостоявшуюся доставку. | |
totalDuration | Продолжительность | Общая продолжительность всех маршрутов (путешествие + ожидание + задержка + перерыв + посещение). | |
travelDistanceMeters | число | Общее пройденное расстояние в метрах по всем маршрутам. | |
travelDuration | Продолжительность | Общая продолжительность поездки по всем маршрутам. | |
usedVehicleCount | целое число | Количество транспортных средств, использованных в решении. | |
visitDuration | Продолжительность | Общая продолжительность, затраченная на выполнение погрузочно-разгрузочных работ по всем маршрутам. | |
waitDuration | Продолжительность | Общая продолжительность ожидания по всем маршрутам. | |
ShipmentRoute(Часть OptimizeToursResponse ) | breaks[] | массив объектов ( Break ) | Список перерывов, которые транспортное средство делало во время поездки. |
hasTrafficInfeasibilities | логическое значение ( true / false ) | Указывает, существуют ли какие-либо проблемы, связанные с транспортной доступностью маршрута. | |
metrics | объект ( AggregatedMetrics ) | Показатели, специфичные для данного маршрута, такие как общее расстояние и продолжительность поездки. | |
routeCosts | карта (ключ: строка, значение: число) | Подробная разбивка затрат по этому маршруту. Ключами обозначены типы затрат (например, "стоимость_за_час"), а значениями — суммы. | |
routePolyline | объект ( EncodedPolyline ) | Закодированная полилиния, представляющая полный географический маршрут. | |
routeTotalCost | число | Общая стоимость маршрута, сумма всех затрат на карте routeCosts . | |
transitions[] | массив объектов ( Transition ) | Упорядоченный список переходов (этапов путешествия), связывающих посещения. | |
vehicleEndTime | Отметка времени | Время, когда транспортное средство завершает свой маршрут. | |
vehicleIndex | целое число | Индекс транспортного средства в исходной ShipmentModel , которое выполняет этот маршрут. | |
vehicleLabel | нить | Пользовательская метка транспортного средства, скопированная из модели запроса. | |
vehicleStartTime | Отметка времени | Время начала движения транспортного средства по маршруту. | |
visits[] | массив объектов ( Visit ) | Последовательность посещений (забора и доставки грузов), выполненных транспортным средством на этом маршруте. | |
Visit(Часть ShipmentRoute ) | detour | Продолжительность | Дополнительное время, затраченное на объезд в связи с этим визитом, по сравнению с прямым маршрутом между предыдущим и следующим визитами. |
isPickup | логическое значение ( true / false ) | Если это true , то это визит для забора груза. Если это ложь, то это доставка. | |
loadDemands | map (ключ: строка, значение: Load ) | Потребности в нагрузке, удовлетворяемые этим визитом (например, -1 для доставки). Это копия соответствующих запросов на нагрузку из VisitRequest . | |
shipmentIndex | целое число | Индекс поля Shipment в исходной модели, которую обслуживает данный визит. | |
shipmentLabel | нить | Этикетка отправления, скопированная из ShipmentModel ). | |
startTime | Отметка времени | Время, когда запланировано начало визита. | |
visitLabel | нить | Метка запроса на посещение, скопированная из объекта VisitRequest в модели. | |
visitRequestIndex | целое число | Индекс VisitRequest в списке получения или доставки отправления, которому соответствует данный визит. | |
Transition(Часть ShipmentRoute ) | breakDuration | Продолжительность | Продолжительность перерывов, сделанных во время этого переходного периода. |
delayDuration | Продолжительность | Продолжительность задержки, возникшей во время этого перехода (например, прибытие раньше и ожидание подходящего временного окна). | |
routePolyline | объект ( EncodedPolyline ) | Закодированная полилиния, представляющая собой путь данного конкретного перехода. | |
routeToken | нить | Непрозрачный токен, который можно передать в SDK Google Navigation для восстановления маршрута во время навигации. | |
startTime | Отметка времени | Время начала этого перехода. | |
totalDuration | Продолжительность | Общая продолжительность переходного периода, включая поездки, ожидание, перерывы и задержки. | |
trafficInfoUnavailable | логическое значение ( true / false ) | Если true , то это означает, что данные о трафике для данного перехода были недоступны. | |
travelDistanceMeters | число | Расстояние, пройденное во время этого перехода, в метрах. | |
travelDuration | Продолжительность | Продолжительность поездки в течение этого переходного периода. | |
vehicleLoads | map (key: string, value: VehicleLoad ) | Груз, перевозимый транспортным средством во время этого перехода, определяется типом груза (например, «вес»). | |
waitDuration | Продолжительность | Продолжительность ожидания до начала следующего визита. |