Список параметров

На следующей странице представлены таблицы параметров в алфавитном порядке для следующих компонентов метода optimizeTours API оптимизации маршрутов:

В этих таблицах параметров для удобства поиска перечислены и кратко описаны только объекты верхнего уровня и основные параметры. Полный список с подробным описанием и всеми вложенными параметрами см. в справочной документации по API .

Текст запроса

The data structure of the request body.

В текст запроса входят следующие элементы, которые показаны на диаграмме справа и перечислены в таблице ниже:

  • 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 , то транспортное средство считается использованным даже без учета перевозок. Оно несет фиксированные затраты и перемещается между начальной и конечной точками маршрута.

Ответный текст

The data structure of the response body.

В состав ответной группы входят следующие элементы, которые показаны на диаграмме справа и перечислены в таблице ниже:

  • 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 Продолжительность Продолжительность ожидания до начала следующего визита.