Это вариант метода locations.optimizeTours, предназначенный для оптимизации с большими значениями времени ожидания. Этот метод предпочтительнее, чем locations.optimizeTours, если оптимизация занимает больше нескольких минут.
Возвращенный объект long-running operation (LRO) будет иметь имя в формате <parent>/operations/<operation_id> и может использоваться для отслеживания хода вычислений. Тип поля metadata – OptimizeToursLongRunningMetadata. В случае успеха тип поля response – OptimizeToursResponse.
HTTP-запрос
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
URL имеет синтаксис gRPC Transcoding.
Параметры пути
| Параметры | |
|---|---|
parent |
Обязательно. Выберите проект или местоположение, чтобы позвонить. Формат:
Региональные значения |
Тело запроса
Ниже приведена структура данных в теле запроса.
| JSON-представление |
|---|
{ "timeout": string, "model": { object ( |
| Поля | |
|---|---|
timeout |
Если задано время ожидания, сервер возвращает ответ до истечения этого времени или до достижения крайнего срока для синхронных запросов (в зависимости от того, что наступит раньше). Для асинхронных запросов сервер генерирует решение (если возможно) до истечения времени ожидания. |
model |
Модель доставки, которую нужно решить. |
solvingMode |
По умолчанию используется режим |
searchMode |
Режим поиска, использованный для выполнения запроса. |
injectedFirstSolutionRoutes[] |
Направьте алгоритм оптимизации на поиск первого решения, похожего на предыдущее. Модель ограничивается при построении первого решения. Все доставки, не выполненные по маршруту, неявно пропускаются в первом решении, но могут быть выполнены в последующих решениях. Решение должно соответствовать некоторым базовым предположениям о валидности:
Если внедренное решение невыполнимо, ошибка проверки не обязательно возвращается, вместо этого может быть возвращена ошибка, указывающая на невыполнимость. |
injectedSolutionConstraint |
Ограничить алгоритм оптимизации, чтобы найти окончательное решение, похожее на предыдущее. Например, это может быть полезно, чтобы зафиксировать части маршрутов, которые уже пройдены или которые должны быть пройдены, но не должны изменяться. Если внедренное решение невыполнимо, ошибка проверки не обязательно возвращается, вместо нее может быть возвращена ошибка, указывающая на невыполнимость. |
refreshDetailsRoutes[] |
Если поле не пустое, указанные маршруты будут обновлены без изменения последовательности посещений или времени в пути. Будут обновлены только другие сведения. Это не решает модель. По состоянию на ноябрь 2020 года это поле заполняет только ломаные линии непустых маршрутов и требует, чтобы для Поля Это поле нельзя использовать вместе с Правила |
interpretInjectedSolutionsUsingLabels |
Если значение true:
Такая интерпретация применяется к полям Если задано значение true, ярлыки из следующих категорий должны появляться в своей категории не более одного раза:
Если Удаление посещений или целых маршрутов из внедренного решения может повлиять на подразумеваемые ограничения, что может привести к изменению решения, ошибкам проверки или невыполнимости. ПРИМЕЧАНИЕ. Вызывающий абонент должен убедиться, что каждый |
considerRoadTraffic |
Учитывайте оценку трафика при расчете полей |
populatePolylines |
Если задано значение true, в ответе |
populateTransitionPolylines |
Если задано значение true, в ответе |
allowLargeDeadlineDespiteInterruptionRisk |
Если это значение задано, то у запроса может быть крайний срок (см. https://grpc.io/blog/deadlines) до 60 минут. В противном случае максимальный срок составляет 30 минут. Обратите внимание, что у долгосрочных запросов риск прерывания значительно выше, хотя и остается небольшим. |
useGeodesicDistances |
Если задано значение true, расстояния будут рассчитываться по геодезическим линиям, а не по Google Картам, а время в пути – по геодезическим линиям со скоростью, заданной в поле |
label |
Ярлык, который можно использовать для идентификации этого запроса, возвращаемый в |
geodesicMetersPerSecond |
Если для параметра |
maxValidationErrors |
Ограничивает количество возвращаемых ошибок проверки. Обычно эти ошибки прикрепляются к полезной нагрузке ошибки INVALID_ARGUMENT как сведения об ошибке BadRequest (https://cloud.google.com/apis/design/errors#error_details), если только solvingMode не имеет значение VALIDATE_ONLY. См. поле |
Тело ответа
Если ответ получен успешно, его тело содержит экземпляр Operation.
Области авторизации
Требуется следующая область действия OAuth:
https://www.googleapis.com/auth/cloud-platform
Права доступа IAM
Требуется следующее разрешение IAM для ресурса parent:
routeoptimization.operations.create
Подробную информацию можно найти в документации по IAM.