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

На этой странице в алфавитном порядке приведены таблицы параметров для следующих компонентов метода optimizeTours Route Optimization 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 string Произвольный ярлык для идентификации запроса, возвращаемый в ответе.
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 длительность; Максимальная продолжительность работы решателя (например, "30s", "300s").
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[] map (key: integer, value: number) Дополнительные расходы, которые возникают, если доставку выполняет определенное транспортное средство.
costsPerVehicleIndices[] Массив целых чисел Индексы транспортных средств, к которым применяются значения costsPerVehicle.
deliveries[] Массив объектов (VisitRequest) Альтернативные варианты доставки.
ignore логическое значение (true/false) Если true, отправка игнорируется и не используется в оптимизации.
label string Пользовательский ярлык для идентификации отправления, возвращаемый в ответе.
loadDemands map (key: string, value: Load) Грузоподъемность (например, вес или объем), необходимая для перевозки этого груза.
penaltyCost число Стоимость, если отправка не обслуживается. Если значение не задано, доставка обязательна.
pickups[] Массив объектов (VisitRequest) Альтернативные варианты получения отправления.
pickupToDeliveryAbsoluteDetourLimit длительность; Максимальное абсолютное время объезда, разрешенное между посадкой и высадкой, по сравнению с прямым путем.
pickupToDeliveryRelativeDetourLimit число Максимальное относительное отклонение от маршрута, допустимое для доставки (например, значение 2,0 означает, что общее время может не более чем в два раза превышать время в пути по прямому маршруту).
pickupToDeliveryTimeLimit длительность; Максимально допустимая продолжительность от начала самовывоза до начала доставки.
shipmentType string Классификация типов, используемая для правил несовместимости и требований.
VisitRequest
(компонент pickups и deliveries в Shipment)
arrivalLocation объект (LatLng) Географическое местоположение прибытия в виде координат широты и долготы.
arrivalWaypoint объект (Waypoint) Место, куда прибывает транспортное средство для выполнения посещения. Определяется координатами или идентификатором места.
cost число Расходы, которые возникнут, если решатель выберет этот запрос на посещение.
departureLocation объект (LatLng) Географические координаты места отправления (широта и долгота).
departureWaypoint объект (Waypoint) Место, откуда транспортное средство отправляется после завершения посещения. Если оно не указано, то считается, что оно совпадает со значением атрибута arrivalWaypoint.
duration длительность; Продолжительность посещения (время обслуживания), например время, необходимое для погрузки/разгрузки.
label string Определенный пользователем ярлык для этого конкретного запроса на посещение, возвращаемый в ответе.
loadDemands map (key: string, value: 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 (key: string, value: Duration) Добавляет дополнительную продолжительность к посещениям на основе их visitType.
fixedCost число Фиксированная стоимость, которая применяется, если транспортное средство используется, независимо от расстояния или продолжительности маршрута.
ignore логическое значение (true/false) Если задано значение true, транспортное средство игнорируется и не используется для оптимизации.
label string Пользовательский ярлык для транспортного средства, возвращаемый в ответе.
loadLimits map (key: string, value: 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 string Ярлык, скопированный из поля label запроса. Используется для сопоставления ответа с исходным запросом.
routes[] Массив объектов (ShipmentRoute) Список маршрутов, рассчитанных для каждого транспортного средства. Содержит запись для каждого транспортного средства, независимо от его использования.
skippedShipments[] Массив объектов (SkippedShipment) Список пропущенных (необслуженных) отправлений с указанием причин.
validationErrors[] Массив объектов (OptimizeToursValidationError) Список ошибок проверки, обнаруженных во входной модели. Это поле заполняется, если для параметра solvingMode задано значение VALIDATE_ONLY или если при решении возникли ошибки.
Metrics
(часть OptimizeToursResponse)
aggregatedRouteMetrics объект (AggregatedMetrics) Агрегированная статистика по всем маршрутам, например общее расстояние, общая продолжительность и время ожидания.
costs map (key: string, value: number) Разбивка расходов по типам (например, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost").
earliestVehicleStartTime Временная метка Самое раннее время начала среди всех используемых транспортных средств.
latestVehicleEndTime Временная метка Самое позднее время окончания среди всех используемых транспортных средств.
skippedMandatoryShipmentCount Целое число Количество обязательных поставок, которые были пропущены.
totalCost число Общая стоимость решения, суммирующая все затраты на маршрут и штрафы за пропущенные поставки.
usedVehicleCount Целое число Количество транспортных средств, используемых в решении.
AggregatedMetrics
(входит в Metrics и ShipmentRoute)
breakDuration длительность; Общая продолжительность перерывов на всех маршрутах.
costs map (key: string, value: number) Разбивка расходов по типам (например, "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 map (key: string, value: number) Разбивка расходов на этот маршрут. Ключи – это типы расходов (например, cost_per_hour), а значения – суммы.
routePolyline объект (EncodedPolyline) Закодированная ломаная линия, представляющая полный маршрут на карте.
routeTotalCost число Общая стоимость маршрута, сумма всех стоимостей на карте routeCosts.
transitions[] Массив объектов (Transition) Упорядоченный список переходов (этапов поездки), соединяющих посещения.
vehicleEndTime Временная метка Время, когда транспортное средство завершает свой маршрут.
vehicleIndex Целое число Индекс транспортного средства в источнике ShipmentModel, которое выполняет этот маршрут.
vehicleLabel string Заданный пользователем ярлык транспортного средства, скопированный из модели запроса.
vehicleStartTime Временная метка Время, когда транспортное средство начинает движение по маршруту.
visits[] Массив объектов (Visit) Упорядоченная последовательность посещений (заборов и доставок), выполненных транспортным средством на этом маршруте.
Visit
(часть ShipmentRoute)
detour длительность; Дополнительное время объезда, вызванное этим посещением, по сравнению с прямым путем между предыдущим и следующим посещениями.
isPickup логическое значение (true/false) Если true, то это посадка пассажиров. Если указано значение false, то это доставка.
loadDemands map (key: string, value: Load) Требования к загрузке, удовлетворяемые этим посещением (например, -1 для доставки). Это копия соответствующих требований к нагрузке VisitRequest.
shipmentIndex Целое число Индекс поля Shipment в исходной модели, которую обслуживает это посещение.
shipmentLabel string Ярлык доставки, скопированный из ShipmentModel.
startTime Временная метка Время, на которое запланировано начало посещения.
visitLabel string Ярлык запроса на посещение, скопированный из VisitRequest в модели.
visitRequestIndex Целое число Индекс VisitRequest в списке самовывоза или доставки, которому соответствует это посещение.
Transition
(часть ShipmentRoute)
breakDuration длительность; Продолжительность перерывов, сделанных во время этого перехода.
delayDuration длительность; Продолжительность задержки, возникшей во время этого перехода (например, раннее прибытие и ожидание временного окна).
routePolyline объект (EncodedPolyline) Закодированная ломаная линия, представляющая путь этого конкретного перехода.
routeToken string Непрозрачный токен, который можно передать в Google Navigation SDK, чтобы восстановить маршрут во время навигации.
startTime Временная метка Время начала перехода.
totalDuration длительность; Общая продолжительность перехода, включая время в пути, ожидания, перерывов и задержек.
trafficInfoUnavailable логическое значение (true/false) Если true, то данные о трафике для этого перехода недоступны.
travelDistanceMeters число Расстояние, пройденное во время этого перехода, в метрах.
travelDuration длительность; Продолжительность поездки во время этого перехода.
vehicleLoads map (key: string, value: VehicleLoad) Груз, перевозимый транспортным средством во время этого перехода, с ключом по типу груза (например, "вес").
waitDuration длительность; Время ожидания перед началом следующего посещения.