SolveVehicleRoutingProblem (VehicleRoutingProblem)

Краткая информация

Этот сервис ArcGIS Online решает задачу выбора маршрута транспорта (VRP) для нахождения наилучших маршрутов для парка транспорта.

Контролировать процесс составления маршрута транспорта и управлять автопарком должен диспетчер. Диспетчер решает, каким образом лучше всего распределить группу клиентов между автопарком и спланировать их взаимодействие. Целями расчета такой задачи выбора маршрута транспорта (VRP) является обеспечение высокого уровня обслуживания клиента с учетом временных окон, а также поддержание рабочих расходов для каждого маршрута на самом низком уровне. Ограничения – это факторы, влияющие на прохождение маршрута, с применением доступных ресурсов в определенном интервале времени, с учетом графика рабочих смен водителя, скорости движения и обязательств перед клиентами.

Этот сервис можно использовать для решения сложных задач по управлению парком транспортных средств.

Представьте, что необходимо доставить товар в магазины с центрального склада. Для этой цели доступен автопарк из трех машин. Склад работает только в определенном временном интервале, а именно с 8:00 до 17:00, когда все грузовые машины возвращаются на склад. Грузоподъемность каждого грузовика составляет 6800 кг, что ограничивает объем товара для перевозки за один раз. Каждый магазин нуждается в определенном объеме товара (в кг), который необходимо доставить. Также магазин может принимать товар в определенном временном интервале. Более того, рабочий день водителя составляет 8 часов, куда входит перерыв на обед. Водителю оплачивается время, затраченное на доставку товара и обслуживание магазина. Целью является составление такого маршрута для каждого водителя, чтобы доставка товара осуществлялась в соответствии со всеми условиями обслуживания, а время, необходимое на преодоление водителем отдельного маршрута, было минимальным. На приведенном ниже рисунке изображены три маршрута, полученные при решении вышеописанной задачи выбора маршрута транспорта.

Рисунок

Результат расчета задачи выбора маршрута транспорта

Использование

Синтаксис

SolveVehicleRoutingProblem_naagol (orders, depots, routes, breaks, time_units, distance_units, {analysis_region}, {default_date}, {uturn_policy}, {time_window_factor}, {spatially_cluster_routes}, {route_zones}, {route_renewals}, {order_pairs}, {excess_transit_factor}, {point_barriers}, {line_barriers}, {polygon_barriers}, {use_hierarchy_in_analysis}, {restrictions}, {attribute_parameter_values}, {populate_route_lines}, {route_line_simplification_tolerance}, {populate_directions}, {directions_language}, {directions_style_name})
ПараметрОбъяснениеТип данных
orders

Укажите один или несколько заказов (до 2,000). Это места, через которые должен пройти маршрут, построенный при анализе выбора маршрута транспорта. Заказ может представлять из себя доставку (например, доставку мебели), посадку пассажиров (например, пассажиров в автобус-экспресс до аэропорта) или другой тип обслуживания или осмотра (например, подрезку деревьев или осмотр строения).

При указании заказов вы можете задать с помощью атрибутов свойства каждого из них, такие как имя или время обслуживания. Для задания свойств заказов можно использовать следующие атрибуты:

ObjectID: управляемое системой поле ID.

Name: название заказа. Имя должно быть уникальным. Если для имени оставлено значение NULL, оно будет автоматически создано во время расчета.

ServiceTime: данное свойство определяет время, которое будет проведено в сетевом положении при достижении его маршрутом; это означает, что оно хранит в себе значение импеданса для сетевого положения. Нулевое значение или значение NULL указывают, что сетевое положение не требует времени обслуживания.

Единица измерения для значения данного поля указывается параметром time_units.

TimeWindowStart1: время начала и конца первого временного окна для сетевого положения. Это поле может содержать значение NULL; значение NULL показывает отсутствие времени начала.

Временное окно только указывает, когда транспортное средство может прибыть по заказу, но не указывает, когда должно закончиться время обслуживания. Чтобы учесть время обслуживания и выехать до окончания временного окна, вычтите значение ServiceTime из поля TimeWindowEnd1.

Поля временных окон могут содержать значение только времени или даты и времени. Если поле времени, такое как TimeWindowStart1, имеет значение только времени (например, 8:00 утра), дата предполагается равной дате, указанной свойством Дата по умолчанию слоя анализа. Использование значений даты и времени (например, 11.7.2010, 8:00) позволяет вам задавать временные окна, охватывающие несколько дней.

При решении задачи, которая охватывает несколько часовых поясов, значения временного окна каждого заказа соответствует часовому поясу заказа.

TimeWindowEnd1: время окончания первого временного окна для сетевого положения. Это поле может содержать значение NULL; значение NULL показывает отсутствие времени окончания.

TimeWindowStart2: время начала второго временного окна для сетевого положения. Это поле может содержать значение NULL; значение NULL показывает отсутствие второго временного окна.

Если первое временное окно содержит NULL, как указано в полях TimeWindowStart1 и TimeWindowEnd1, то второе временное окно также должно иметь значения NULL.

Если оба временных окна непустые, то они не могут перекрываться. Кроме того, второе временное окно должно следовать за первым.

TimeWindowEnd2: время окончания второго временного окна для сетевого положения. Это поле может содержать значение NULL.

Когда TimeWindowStart2 и TimeWindowEnd2 оба имеют значение NULL, то второе временное окно отсутствует.

Когда TimeWindowStart2 не NULL, а TimeWindowEnd2 – NULL, то имеется второе временное окно со временем начала, но без времени окончания. Это корректная ситуация.

MaxViolationTime1: временное окно считается превышенным, если прибытие происходит после окончания временного окна. В данном поле указывается максимальное допустимое время превышения для первого временного окна заказа. Оно может содержать нуль, но не может содержать отрицательные значения. Нулевое значение показывает, что нарушение временного окна в первом временном окне заказа недопустимо; то есть первое временное окно является жестким. С другой стороны, значение NULL показывает, что для допустимого превышения времени предел отсутствует. Ненулевое значение показывает максимальную величину опоздания; например маршрут может прибыть на точку заказа в течении 30 минут после окончания первого временного окна.

Единица измерения для значения данного поля задается параметром Единицы поля времени

Превышение временного окна может отслеживаться и взвешиваться механизмом расчета. По этой причине вы можете указать механизму расчета VRP следующие подходы:

  • Минимизировать общее превышение времени вне зависимости от увеличения стоимости проезда для автопарка.
  • Найти решение, уравновешивающее общее превышение времени и стоимость проезда.
  • Игнорировать общее превышение времени; вместо этого минимизировать стоимость проезда для автопарка.

Назначая уровень важности параметру Значимость превышения временного окна вы фактически выбираете один из этих трех подходов. Однако в любом случае механизм расчета приведет к ошибке, если будет превышено значение, заданное для свойства MaxViolationTime1.

MaxViolationTime2: максимальное допустимое время превышения для второго временного окна заказа. Данное поле аналогично полю MaxViolationTime1.

DeliveryQuantities: объем доставки. Вы можете указать размер в любом формате, например, масса, объем или количество. Вы можете даже указать несколько различных измерений, например, вес и объем.

Введите количества поставки без указания единиц. Например, если необходимо доставить объект весом 300 фунтов, введите 300. Необходимо помнить, что значение задается в фунтах.

Если при составлении маршрута учитываются несколько измерений, разделяйте их числовые значения пробелами. Например, если вы записываете массу и объем поставки весом 2000 фунтов и объемом 100 кубических футов, введите 2000 100. Снова необходимо помнить единицы измерения – в этом случае фунты и кубические футы. Вам также необходимо запомнить последовательность введения значений и соответствующие им единицы измерения.

Убедитесь, что аналогичным образом указаны Емкости (Capacities) для Маршрутов, DeliveryQuantities и PickupQuantities для Заказов; это означает, что данные значения должны быть указаны в тех же единицах и, если вы используете несколько размеров, то данные размеры должны быть приведены в той же последовательности для всех параметров. Таким образом, если вы указали массу в фунтах, а затем объем в кубических футах для DeliveryQuantities, то емкости ваших маршрутов и количества собираемых заказов необходимо указать аналогичным образом: массу в фунтах, объем в кубических футах. При смешении единиц измерения или изменении их последовательности вы получите нежелательные результаты без предварительного уведомления об этом.

Пустая строка или значение NULL соответствует нулю для всех размеров. Если строка содержит недостаточное число значений относительно числа отслеживаемых характеристик емкости или размеров, то оставшиеся значения интерпретируются, как равные нулю. Количество элементов поставки не может быть отрицательными.

PickupQuantities: объем забираемого груза. Вы можете указать размер в любом формате, например, масса, объем или количество. Вы можете даже указать несколько различных измерений, например, вес и объем. При этом вы не можете использовать отрицательные значения. Данное поле аналогично полю DeliveryQuantities для Заказов.

В случае поездки для замены заказ может иметь количество как поставки, так и сбора.

Revenue: доход, получаемый в случае включения заказа в решение. Это поле может содержать значение NULL; значение NULL соответствует нулевой прибыли, но не может быть отрицательным.

Прибыль включается в оптимизацию значения целевой функции, но не является частью оперативных расходов на решение, т.е. поле TotalCost в классе маршрута никогда не содержит прибыль в выходном значении. Однако прибыль имеет относительно важную роль при обслуживании заказов.

SpecialtyNames: строка, разделенная пробелами и содержащая имена специальных требований, необходимых для заказа. Значение NULL показывает, что маршрут не имеет специальных требований.

Синтаксис всех специальных требований, указанных в классах Заказы и Маршруты, должен полностью совпадать для того, чтобы механизм расчета VRP мог совместить их.

Для иллюстрации того, что такое специальные требования, и как они работают, предположим, что у компании по уходу за газонами и подрезанию деревьев имеется часть заказов, которые требуют применения автоподъёмника с люлькой для обрезки высоких деревьев. Компания введет BucketTruck в поле SpecialtyNames для данных заказов, чтобы указать на наличие специального требования. Поле SpecialtyNames останется пустым (NULL) для остальных заказов. Аналогичным образом, компания введет BucketTruck в поле SpecialtyNames маршрутов, выполняемых грузовиками со гидравлическими стрелами-манипуляторами. Для остальных маршрутов данное поле останется пустым (NULL). Во время расчета механизм расчета задачи VRP назначит заказы без специального требования любому маршруту, но при этом он назначит заказы с требованием к подъемнику с люлькой тем маршрутам, на которых оно имеется.

AssignmentRule: в данном поле указывается правило назначения заказа для маршрута. Оно ограничивается с помощью домена значений, перечисленных ниже (используйте числовые значения, а не названия, указанные в скобках).

  • 0 (Exclude) – заказ будет исключен из последующего решения.
  • 1 (Сохранить маршрут и соответствующий порядок следования) – механизм расчета должен всегда назначать заказ для предварительно назначенного маршрута и в предварительно назначенной относительной последовательности во время решения. Если правило назначения нельзя учесть, то это приведет к нарушению заказа. При помощи данной настройки поддерживается только относительная последовательность, а не абсолютная. Для иллюстрации данного утверждения представим два заказа: A и B. Они имеют последовательные значения 2 и 3, соответственно. Если вы установите значения поля AssignmentRule на Сохранить маршрут и относительную последовательность (Preserve route and relative sequence), реальные значения последовательностей заказов A и B могут измениться после расчета, поскольку другие заказы, остановки и посещения станции могут произойти до, между или после A и B. Однако, B не может быть обслужен раньше, чем A.
  • 2 (Сохранить маршрут) – механизм расчета должен всегда назначать заказ для предварительно назначенного маршрута во время расчета. Действительная последовательность также должна быть задана, даже несмотря на то, что последовательность может сохраняться или нет. Если заказы не могут быть назначены для указанного маршрута, то это приведет к нарушению заказа.
  • 3 (Заместить) – механизм расчета пытается сохранить маршрут и предварительно назначенную последовательность для заказа во время расчета. Однако новый маршрут или последовательность заказа может быть назначена, если это поможет сократить общее значение объективной функции. Это значение используется по умолчанию.

Это поле не может содержать значение NULL.

CurbApproach: указывает направление, в котором транспортное средство может подъехать или отъехать от точки заказа. Значение поля указывается одним из следующих целых чисел, показанных в скобках (используйте числовой код, а не имя в скобках):

  • 0 (С любой стороны) – Транспортное средство может подъезжать и отъезжать от точки заказа в любом направлении, поэтому в месте инцидента разрешен разворот. Данный параметр можно выбрать, если для транспортного средства можно и желательно развернуться возле точки заказа. Такое решение может зависеть от ширины дороги и интенсивности движения или от наличия в точке заказа места для стоянки, где транспортное средство может выполнить разворот.
  • 1 (Справа по направлению движения) – когда транспортное средство подъезжает или отъезжает от точки заказа, она должна находиться по правую сторону транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась справа.
  • 2 (Слева по направлению движения) – Когда транспортное средство подъезжает и отъезжает от точки заказа, бордюр должен находиться с левой стороны транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась слева.
  • 3 (Нет разворота) – при подъезде транспортного средства к точке заказа бордюр может располагаться с любой стороны транспортного средства. Но при отправлении транспортное средство не должно выполнять разворот.

Свойство CurbApproach было разработано для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда точка заказа находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. Вы можете выбрать, с какой из двух сторон подъехать к точке заказа, независимо от национального стандарта дорожного движения, т.е. где будет находится точка заказа – справа или слева от транспортного средства. Например, если необходимо подъехать к точке заказа так, чтобы она не была отделена от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании.

RouteName: имя маршрута, для которого назначен заказ.

Являясь входным, данное поле используется для предварительного назначения заказа определенному маршруту. (Одному маршруту можно назначить до 200 заказов.) Оно может содержать значение NULL, показывающее, что заказ предварительно не назначен ни одному маршруту, и механизм расчета определяет наилучшее из возможных назначений маршрутов для заказа. Если оно задано пустым (NULL), то поле последовательности также должно быть равно NULL.

После вычисления, если заказ присвоен маршруту, то поле RouteName будет содержать имя маршрута, которому был назначен заказ.

Sequence: обозначает последовательность заказа на маршруте.

Являясь входным, данное поле используется для указания относительной последовательности для заказа на маршруте. Данное поле может содержать значение NULL, показывающее, что заказ может быть размещен в любой точке маршрута. Значение NULL может иметь место только при значении NULL в RouteName.

Значения входной последовательности являются положительными и уникальными для каждого маршрута (распределенного среди посещений станций, заказов и перерывов), но не обязаны начинаться с 1 или быть последовательными.

После расчета в поле Sequence будут содержаться значения последовательности заказа для назначенного маршрута. Выходные значения последовательности для маршрута едины для посещений станций, заказов и перерывов; начинаются с 1 (на начальной станции); и являются последовательными. Таким образом, минимальным возможным выходным значением последовательности для заказа на маршруте является 2, это обусловлено тем, что маршрут всегда начинается со станции.

Feature Set
depots

Задайте одну или несколько станций для данной задачи нахождения маршрута транспорта. Станция – это место, откуда отправляется транспортное средство в начале рабочего дня и куда возвращается по его окончании. Транспортные средства загружаются (при доставке) или разгружаются (при сборе) на станциях в начале маршрута. В некоторых случаях станция может также служить местом пополнения загрузки, в котором транспортное средство может разгружаться или догружаться и продолжать выполнять доставку и сбор. У станции есть значения времени открытия и закрытия, указываемые жестким временным окном. Транспортные средства не могут прибывать на станцию за пределами этого временного окна.

При указании заказов вы можете задать с помощью атрибутов свойства каждого из них, такие как имя или время обслуживания. Для задания свойств заказов можно использовать следующие атрибуты:

ObjectID: управляемое системой поле ID.

Name: название станции. Поля StartDepotName и EndDepotName набора записей Маршруты (Routes) ссылаются на указанные здесь имена. На них также ссылаются наборы записей Обновления маршрутов (Route Renewals) при их использовании.

Имена станций нечувствительны к реестру и должны быть непустыми и уникальными.

TimeWindowStart1: время начала и конца первого временного окна для сетевого положения. Это поле может содержать значение NULL; значение NULL показывает отсутствие времени начала.

Поля временных окон могут содержать только значение времени или даты и времени. Если поле времени имеет значение только времени (например, 8:00), дата предполагается равной дате, указанной свойством Дата по умолчанию (Default Date) слоя анализа. Использование значений даты и времени (например, 11.7.2010, 8:00) позволяет вам задавать временные окна, охватывающие несколько дней.

При решении задачи, которая охватывает несколько часовых поясов, значения временного окна каждой станции соответствует ее часовому поясу.

TimeWindowEnd1: время окончания первого временного окна для сетевого положения. Это поле может содержать значение NULL; значение NULL показывает отсутствие времени окончания.

TimeWindowStart2: время начала второго временного окна для сетевого положения. Это поле может содержать значение NULL; значение NULL показывает отсутствие второго временного окна.

Если первое временное окно содержит NULL, как указано в полях TimeWindowStart1 и TimeWindowEnd1, то второе временное окно также должно иметь значения NULL.

Если оба временных окна непустые, то они не могут перекрываться. Кроме того, второе временное окно должно следовать за первым.

TimeWindowEnd2: время окончания второго временного окна для сетевого положения. Это поле может содержать значение NULL.

Когда TimeWindowStart2 и TimeWindowEnd2 оба имеют значение NULL, то второе временное окно отсутствует.

Когда TimeWindowStart2 не NULL, а TimeWindowEnd2 – NULL, то имеется второе временное окно со временем начала, но без времени окончания. Это корректная ситуация.

CurbApproach: указывает направление, в котором транспортное средство может подъехать или отъехать от станции. Значение поля указывается одним из следующих целых чисел, показанных в скобках (используйте числовой код, а не имя в скобках):

  • 0 (С любой стороны) – Транспортное средство может подъезжать и отъезжать от станции в любом направлении, поэтому в месте инцидента разрешен разворот. Данный параметр можно выбрать, если для транспортного средства можно и желательно развернуться возле станции. Такое решение может зависеть от ширины дороги и интенсивности движения или от наличия у станции места для стоянки, где транспортное средство может выполнить разворот.
  • 1 (Справа по направлению движения) – когда транспортное средство подъезжает или отъезжает от станции, она должна находиться по правую сторону транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась справа.
  • 2 (Слева по направлению движения) – Когда транспортное средство подъезжает и отъезжает от станции, бордюр должен находиться с левой стороны транспортного средства. Разворот запрещен. Эта опция обычно используется для таких транспортных средств, как автобусы, которые должны подъезжать к автобусной остановке так, чтобы она находилась слева.
  • 3 (Нет разворота) – при подъезде транспортного средства к станции бордюр может располагаться с любой стороны транспортного средства. Но при отправлении транспортное средство не должно выполнять разворот.

Свойство CurbApproach было разработано для работы с обоими типами национальных стандартов дорожного движения: правостороннего (США) и левостороннего (Великобритания). Сначала рассмотрим случай, когда станция находится с левой стороны транспортного средства. Это условие должно обязательно выполняться в независимости от того движется транспорт по левой или по правой полосе дороги. Вы можете выбрать, с какой из двух сторон подъехать к станции, независимо от национального стандарта дорожного движения, т.е. где будет находится точка заказа – справа или слева от транспортного средства. Например, если необходимо подъехать к станции так, чтобы она не была отделена от транспортного средства полосой движения, необходимо выбрать правую сторону транспортного средства (1) в США, и левую сторону транспортного средства (2) в Великобритании.

Bearing: направление, в котором движется точка. Единицами измерения являются градусы, которые отсчитываются по часовой стрелке от истинного севера. Данное поле используется совместно с полем BearingTol.

Данные направления обычно отправляются автоматически с мобильного устройства, оснащенного GPS-приемником. Попробуйте включить данные о направлении, если вы загружаете движущийся заказ, например пешехода или транспортное средство.

Использование данного поля обеспечивает защиту от добавления положений на неверные ребра, что может произойти, например, когда транспортное средство расположено недалеко от перекрестка или эстакады. Направление также позволяет инструменту определять, на какой стороне улицы расположена точка.

Дополнительные сведения см. в разделе справки Направление и допуск направления (http://links.esri.com/bearing-and-bearing-tolerance).

BearingTol: значение допуска направления создает диапазон приемлемых значений направления при расположении подвижных точек на ребре с помощью поля Направление. Если значение из поля Bearing находится в пределах допустимых значений, созданных на основании допуска направления на ребре, точка может быть добавлена, как сетевое положение; в противном случае происходит анализ ближайшей точки следующего ближайшего ребра.

Единицами измерения являются градусы, значение по умолчанию равно 30. Значения должны быть больше нуля и меньше 180.

Значение, равное 30, означает, что когда Network Analyst предпринимает попытку добавить сетевое положение на ребро, диапазон допустимых значений направления создается в пределах 15º с каждой стороны ребра (слева и справа), в обоих оцифрованных направлениях ребра.

Дополнительные сведения см. в разделе Справки ArcGIS Направление и допуск направления (http://links.esri.com/bearing-and-bearing-tolerance).

NavLatency: данное поле используется при расчете только, если для Bearing и BearingTol также введены значения; при этом ввод значения NavLatency является необязательным, даже если для Направления (Bearing) и BearingTol заданы значения. NavLatency определяет время, которое должно пройти от момента передачи GPS информации от движущегося транспортного средства на сервер, а также момент, когда обработанный маршрут получен устройством навигации транспортного средства. Единицы времени NavLatency аналогичны единицам сетевого атрибута стоимости, параметра Атрибут времени (Time Attribute).

Feature Set
routes

Укажите один или несколько маршрутов (до 100). Маршрут задает характеристики транспортного средства и водителя; после решения он также включает маршрут между станциями и заказами.

Маршрут может учитывать время начала и окончания обслуживания на станции, фиксированное или гибкое время начала, оперативные расходы на основании времени и на основании расстояния, различные ограничения по рабочему дню водителя и т. д. При указании маршрутов вы можете задать с помощью атрибутов свойства каждого из них. Для задания свойств маршрутов можно использовать следующие атрибуты:

Имя: название маршрута. Имя должно быть уникальным.

Инструмент создает уникальное имя во время расчета, если значение поля равно null, поэтому это значение в большинстве случаев не обязательно. Однако вам необходимо ввести имя, если анализ содержит перерывы, обновления маршрута, зоны маршрутов или заказы, которые были предварительно назначены для маршрута, так как имя маршрута в данном случае используется как внешний ключ. Обратите внимание, что имена маршрутов чувствительны к регистру.

StartDepotName: имя начальной станции маршрута. Это поле является внешним ключом для поля Name в классе Станции (Depots).

Если значение StartDepotName равно нулю, то маршрут начинается с первого назначенного заказа. Исключение начальной станции полезно в том случае, если начальное положение транспортного средства неизвестно или неважно для вашей задачи. При этом, если значение StartDepotName равно нулю, то EndDepotName не может быть равно нулю.

Если маршрут выполняет доставку и StartDepotName равен нулю, то предполагается, что груз загружен в транспортное средство на виртуальной станции перед началом маршрута. Для маршрута без обновления заказы маршрутов (с ненулевыми значениями DeliveryQuantities в классе Заказы) загружаются на начальной станции или виртуальной станции. Для маршрута с обновлениями, на начальной или виртуальной станции выполняется загрузка только тех заказов маршрутов, которые выполняются до первого обновления.

EndDepotName: имя конечной станции маршрута. Это поле является внешним ключом для поля Name в классе Станции (Depots).

StartDepotServiceTime: время обслуживания на начальной станции. Может использоваться для моделирования времени, затраченного на загрузку транспортного средства. Это поле может содержать значение NULL; значение NULL соответствует нулевому времени обслуживания.

Единица измерения для значения данного поля задается параметром Единицы поля времени.

Время обслуживания на начальной и конечной станции является фиксированным (определяется значениями полей StartDepotServiceTime и EndDepotServiceTime) и не учитывает фактическую загрузку для маршрута. Например, время, затраченное на загрузку транспортного средства на начальной станции, может зависеть от размера заказов. Таким образом, время на обслуживание на станции может быть равно времени, соответствующему полной загрузке грузовика, его средней загрузке или другому времени на ваш выбор.

EndDepotServiceTime: время обслуживания на конечной станции. Может использоваться для моделирования времени, затраченного на разгрузку транспортного средства. Это поле может содержать значение NULL; значение NULL соответствует нулевому времени обслуживания.

Единица измерения для значения данного поля задается параметром Единицы поля времени.

Время обслуживания на начальной и конечной станции является фиксированным (определяется значениями полей StartDepotServiceTime и EndDepotServiceTime) и не учитывает фактическую загрузку для маршрута. Например, время, затраченное на загрузку транспортного средства на начальной станции, может зависеть от размера заказов. Таким образом, время на обслуживание на станции может быть равно времени, соответствующему полной загрузке грузовика, его средней загрузке или другому времени на ваш выбор.

EarliestStartTime: самое ранее допустимое время начала маршрута. Используется механизмом расчета в сочетании с временным окном для начальной станции, чтобы определить времена начала выполнимого маршрута.

Это поле не может содержать нулевые значения и имеет по умолчанию значение только времени 8:00; значение по умолчанию интерпретируется как 8:00 утра даты, заданной параметром Дата по умолчанию.

При решении задачи, которая охватывает несколько часовых поясов, часовой пояс EarliestStartTime соответствует часовому поясу начальной станции.

LatestStartTime: самое позднее допустимое время начала маршрута. Это поле не может содержать нулевые значения и имеет по умолчанию значение только времени 10:00; значение по умолчанию интерпретируется как 10:00 утра даты, заданной свойством Дата по умолчанию (Default Date) слоя анализа.

При решении задачи, которая охватывает несколько часовых поясов, часовой пояс LatestStartTime соответствует часовому поясу начальной станции.

ArriveDepartDelay: в этом поле хранится величина времени в пути, необходимая для ускорения транспортного средства до обычной скорости передвижения, замедления его до остановки и перемещения из сети и в сеть (например, на парковку и с парковки). Включение значения ArriveDepartDelay позволяет механизму расчета задачи выбора маршрута транспорта не отправлять множество маршрутов для обслуживания физически совпадающих заказов.

Стоимость для этого свойства выводится между визитами по несовпадающим заказам, станциям и обновлениям маршрута. Например, если маршрут начинается со станции и посещает первый заказ, ко времени пути добавляется общая задержка прибытия/отправления. То же касается пути от первого заказа ко второму. Если второй и третий заказы совпадают, значение ArriveDepartDelay между ними не добавляется, поскольку транспортному средству не нужно перемещаться. Если маршрут следует к пункту обновления загрузки, значение снова добавляется ко времени в пути.

Хотя транспортному средству необходимо замедляться и останавливаться на перерыв, а после него ускоряться, механизм расчета задачи выбора маршрута транспорта не может добавлять значение ArriveDepartDelay для перерывов. Это значит, что при выезде с заказа, остановке на перерыв и продолжении движения к следующему заказу, задержка прибытия/отправления добавляется только один раз, а не два.

Для иллюстрации данного утверждения предположим, что имеются пять совпадающих заказов в одном многоэтажном доме, которые обслуживаются тремя разными маршрутами. Это значит, что нужно добавить три задержки прибытия/отправления; то есть трем водителям необходимо раздельно найти места для парковки и войти в одно и то же здание. Однако если заказы могут быть обслужены всего одним маршрутом, парковаться и входить в здание необходимо только одному водителю – и возникает только одна задержка прибытия/отправления. Поскольку механизм расчета задачи выбора маршрута транспорта пытается минимизировать затраты, он попробует ограничить задержки прибытия/отправления и поэтому выберет вариант с одним маршрутом. (Обратите внимание, что при наличии других ограничений – специальных требований, временных окон или емкости – могут понадобиться несколько маршрутов.)

Единица измерения для значения данного поля указывается параметром time_units.

Capacities: максимальная вместимость транспортного средства. Вы можете указать вместимость в любом формате, например, может быть определена масса, объем или количество. Вы можете даже указать несколько различных измерений, например, вес и объем.

Введите вместимости без указания единиц. Например, предположим грузоподъемность вашей машины составляет 40000 фунтов, введите 40000. Необходимо помнить, что значение задается в фунтах.

Если при составлении маршрута учитываются несколько измерений, разделяйте их числовые значения пробелами. Например, для записи максимального веса и максимального объема транспортного средства, равных 40000 фунтов и 2000 кубических футов, в качестве параметра Capacities следует задать значение 40000 2000. Кроме того, необходимо запомнить единицы измерения. Вам также нужно помнить последовательность введенных значений и соответствующие им единицы измерения (в данном случае фунты, а затем кубические футы).

Запомнить единицы измерения и их последовательность важно по нескольким причинам: во-первых, для возможности интерпретации информации в будущем, во-вторых для правильного ввода значений полей DeliveryQuantities и PickupQuantities для заказов. Относительно второго пункта помните, что механизм расчета VRP одновременно ссылается на Capacities, DeliveryQuantities и PickupQuantities для того, чтобы маршрут не стал перегруженным. Так как единицы измерения не могут быть введены в поле, инструмент VRP не может выполнить преобразование единиц, поэтому вам необходимо вводить значения для трех полей с использованием аналогичных единиц измерения и в той же последовательности, чтобы обеспечить правильность интерпретации значений. При смешении единиц измерения или изменении последовательности этих трех полей вы получите нежелательные результаты без уведомления об этом. Таким образом, необходимо задать стандарт ввода единиц измерения и определенную последовательность и постоянно использовать ее при вводе значений для этих трех полей.

Пустая строка или значение NULL соответствует нулю для всех значений. Значения емкости не могут быть отрицательными.

Если строка Вместимость (Capacities) содержит недостаточное число значений относительно полей DeliveryQuantities или PickupQuantities заказов, то оставшиеся значения интерпретируются как равные нулю.

Механизм расчета VRP только выполняет простой двоичный тест для определения превышения емкостей. Если значение емкости маршрута выше или равно общей вместимости, то механизм расчета VRP предположит, что груз помещается в транспортное средство. Это может быть неверно, в зависимости от фактической формы груза и транспортного средства. Например, механизм расчета VRP позволяет вам загрузить сферу объемом 1 000-кубических футов в грузовик вместимостью 1 000 кубических футов и шириной 8 футов. В действительности, сфера имеет диаметр 12,6 футов, и ее нельзя поместить в грузовик шириной 8 футов.

FixedCost: фиксированная стоимость, которая принимается только в том случае, если маршрут используется в решении (то есть, что для него назначены некоторые заказы). Это поле может содержать значения NULL; значение NULL соответствует нулевой фиксированной стоимости. Данная стоимость является частью общих оперативных расходов на маршрут.

CostPerUnitTime: примененная денежная стоимость – на единицу времени работы – для общей продолжительности маршрута, включая значения времени в пути, а также времени обслуживания и ожидания на заказах, станциях и в перерывах. Это поле не может содержать значение NULL и имеет значение по умолчанию, равное 1,0.

Единица измерения для значения данного поля указывается параметром time_units.

CostPerUnitDistance: Примененная денежная стоимость – на единицу пройденного расстояния – для длины маршрута (общее пройденное расстояние). Это поле может содержать значения NULL; значение NULL соответствует нулевой стоимости.

Единица измерения для значения данного поля указывается параметром distance_units.

OvertimeStartTime: продолжительность времени нормативной работы перед началом вычисления сверхурочных. Это поле может содержать значения NULL; значение NULL соответствует отсутствию сверхурочных.

Единица измерения для значения данного поля указывается параметром time_units.

Например, если водителю выплачиваются сверхурочные при общей длительности маршрута более восьми часов, значение OvertimeStartTime указывается равным 480 (8 часов * 60 минут/час), при этом параметр time_units имеет значение Минуты (Minutes).

CostPerUnitOvertime: денежная стоимость для единицы времени сверхурочной работы. Это поле может содержать значения NULL; значение NULL соответствует равенству значений CostPerUnitOvertime и CostPerUnitTime.

MaxOrderCount: максимальное допустимое число заказов на маршруте. Это поле не может содержать нулевые значения и имеет значение по умолчанию, равное 30. Значение не может быть больше 200.

MaxTotalTime: максимально допустимое время продолжительности маршрута. Продолжительность (длительность) маршрута включает в себя значения времени в пути, а также времени обслуживания и ожидания на заказах, на станциях и в перерывах. Это поле может содержать значения NULL; значение NULL соответствует отсутствию ограничений по продолжительности маршрута.

Единица измерения для значения данного поля указывается параметром time_units.

MaxTotalTravelTime: максимально допустимое время в пути для маршрута. Данное время в пути содержит только время, затраченное на движение по сети, и не включает в себя время обслуживания или ожидания.

Это поле может содержать значения NULL; значение NULL соответствует отсутствию ограничений по максимально допустимому времени передвижения по маршруту. Значение данного поля не может быть выше значения поля MaxTotalTime.

Единица измерения для значения данного поля указывается параметром time_units.

MaxTotalDistance: максимально допустимое расстояние движения для маршрута.

Единица измерения для значения данного поля указывается параметром distance_units.

Это поле может содержать значения NULL; значение NULL соответствует отсутствию ограничений по максимально допустимому расстоянию для маршрута.

SpecialtyNames: строка, разделенная пробелами и содержащая имена специальных требований, поддерживаемых маршрутом. Нулевое значение указывает, что маршрут не поддерживает никаких специальных требований.

Это поле является внешним ключом для поля SpecialtyNames в классе заказов.

Для иллюстрации того, что такое специальные требования, и как они работают, предположим, что у компании по уходу за газонами и подрезанию деревьев имеется часть заказов, которые требуют применения автоподъёмника с люлькой для обрезки высоких деревьев. Компания введет BucketTruck в поле SpecialtyNames для данных заказов, чтобы указать на наличие специального требования. Поле SpecialtyNames останется пустым (NULL) для остальных заказов. Аналогичным образом, компания введет BucketTruck в поле SpecialtyNames маршрутов, выполняемых грузовиками со гидравлическими стрелами-манипуляторами. Для остальных маршрутов данное поле останется пустым (NULL). Во время расчета механизм расчета задачи VRP назначит заказы без специального требования любому маршруту, но при этом он назначит заказы с требованием к подъемнику с люлькой тем маршрутам, на которых оно имеется.

AssignmentRule: определяет, может ли маршрут быть использован для решения задачи. Это поле ограничивается с помощью домена значений, перечисленных ниже (используйте числовые значения, а не названия, указанные в скобках).

  • 1 (Include) – маршрут включен в решение. Это значение используется по умолчанию.
  • 2 (Exclude) – маршрут исключен из решения.

Record Set
breaks

Это время отдыха или перерывы для маршрутов в заданной задаче нахождения маршрута транспорта. Перерыв связан ровно с одним маршрутом и может быть взят после выполнения заказа, на пути к заказу или перед обслуживанием заказа. У него есть время начала и длительность, которые могут оплачиваться или не оплачиваться водителю. Имеется три способа установки начала перерыва: при помощи временного окна, максимального времени в пути или максимального времени работы.

При указании перерывов, вы можете задать с помощью атрибутов свойства каждого из них, такие как имя или время обслуживания. Для задания свойств заказов можно использовать следующие атрибуты:

ObjectID: управляемое системой поле ID.

RouteName: название маршрута, для которого применяется перерыв. Несмотря на то, что перерыв назначается строго одному маршруту, этому маршруту могут быть назначены несколько перерывов.

Данное поле является внешним ключом для поля Name параметра routes, поэтому оно не может содержать нулевое значение.

Precedence: значения приоритета определяют последовательность перерывов для заданного маршрута. Перерывы со значением приоритета 1 происходят до перерывов со значением 2 и т. д.

Все перерывы должны иметь значение приоритета вне зависимости от того, являются ли они перерывами временного окна, максимального времени в пути или максимального времени работы.

ServiceTime: продолжительность перерыва. Это поле может содержать значения NULL; значение NULL соответствует отсутствию времени обслуживания.

Единица измерения для значения данного поля указывается параметром time_units.

TimeWindowStart: время начала временного окна перерыва.

Если данное поле пустое (null) и для TimeWindowEnd указано действительное значение времени в течении дня, то перерыв может начаться в любое время до TimeWindowEnd.

Если данное поле содержит значение, то значения полей MaxTravelTimeBetweenBreaks и MaxCumulWorkTime должны быть нулевыми; более того, все остальные перерывы в слое анализа должны иметь нулевые значения для параметров MaxTravelTimeBetweenBreaks и MaxCumulWorkTime.

Если маршрут имеет множество перерывов с перекрывающимися временными окнами, то во время решения будет возникать ошибка.

Поля временных окон в перерывах могут содержать значение только времени или даты и времени. Если поле времени, такое как TimeWindowStart, имеет значение только времени (например, 12:00), дата предполагается равной дате, указанной параметром default_date. Использование значений даты и времени (например, 11.07.2012 12:00) позволяет указывать временные окна, охватывающие два и более дней. Это особенно полезно, если перерыв следует сделать в районе полуночи.

При решении задачи, которая охватывает несколько часовых поясов, значения временного окна каждого перерыва соответствует часовому поясу, в котором находится соответствующий маршрут, как указано параметром RouteName.

TimeWindowEnd: время окончания временного окна перерыва.

Если данное поле пустое (null) и для TimeWindowStart указано действительное значение времени в течении дня, то перерыв может начаться в любое время после TimeWindowStart.

Если данное поле содержит значение, то MaxTravelTimeBetweenBreaks и MaxCumulWorkTime должны быть пустыми (null); более того, все остальные перерывы в слое анализа должны иметь значения NULL для параметров MaxTravelTimeBetweenBreaks и MaxCumulWorkTime.

MaxViolationTime: в данном поле указывается максимальное допустимое время превышения временного окна перерыва. Временное окно считается нарушенным, если время прибытия не попадает в диапазон времени.

Нулевое значение указывает, что временное окно не может быть нарушено; то есть это окно является жестким. Ненулевое значение указывает максимальную величину опоздания: например, перерыв может начаться через 30 минут после окончания выделенного ему временного окна, но штраф за опоздание рассчитывается в соответствии с параметром Значимость превышения временного окна.

Это свойство может быть пустым (null); значение NULL в параметрах TimeWindowStart и TimeWindowEnd соответствует отсутствию ограничений по допустимому времени нарушения. Если для параметров MaxTravelTimeBetweenBreaks или MaxCumulWorkTime задано значение, то MaxViolationTime должен быть пустым (null).

Единица измерения для значения данного поля указывается параметром time_units.

MaxTravelTimeBetweenBreaks: максимальное время в пути, которое может быть суммировано до начала перерыва. Время в пути суммируется от окончания предыдущего перерыва или, если перерыв еще произошел, от начала маршрута.

Если это последний перерыв маршрута, то MaxTravelTimeBetweenBreaks также указывает на максимальное время в пути, которое может быть суммировано от последнего перерыва до конечной станции.

Это поле предназначено для ограничения длительности вождения транспортного средства человеком, прежде чем потребуется перерыв. Например, если для параметра Единицы поля времени (Time Field Units) (time_units для Python) анализа установлено значение Минуты (Minutes), а свойство MaxTravelTimeBetweenBreaks имеет значение 120, водитель получит перерыв через два часа вождения. Чтобы назначить второй перерыв еще через два часа вождения, свойству MaxTravelTimeBetweenBreaks второго перерыва следует присвоить значение 120.

Если данное поле содержит значение, то TimeWindowStart, TimeWindowEnd, MaxViolationTime и MaxCumulWorkTime должны быть пустыми (NULL) для успешного выполнения анализа.

Единица измерения для значения данного поля указывается параметром time_units.

MaxCumulWorkTime:

Максимальное время работы, которое может быть суммировано до начала перерыва. Время работы всегда накапливается от начала маршрута.

Оно включает в себя сумму времени перемещения, а также времени обслуживания и ожидания на заказах, на станциях и в перерывах. Обратите внимание, что здесь исключено время ожидания, которое равно времени, затрачиваемому маршрутом (или водителем) на ожидание в точке заказа или на станции до начала временного окна.

Это поле предназначено для ограничения продолжительности работы человека, прежде чем потребуется перерыв. Например, если для параметра time_units задано значение Минуты (Minutes), свойство MaxCumulWorkTime имеет значение 120, а ServiceTime – значение 15, водитель получит 15-минутный перерыв через два часа работы.

Продолжая рассматривать последний пример, предположим, что второй перерыв должен начаться через три часа работы. Для указания данного перерыва необходимо ввести значение 315 (пять часов и 15 минут) в параметр MaxCumulWorkTime второго перерыва. Данное значение включает в себя MaxCumulWorkTime и ServiceTime предыдущего перерыва, а также три дополнительных часа работы до второго перерыва. Чтобы избежать преждевременных перерывов с максимальным временем работы, помните, что они суммируют время работы от начала маршрута, а также, что время работы включает в себя время обслуживания на предварительно посещенных станциях, заказах и в перерывах.

Если данное поле содержит значение, то TimeWindowStart, TimeWindowEnd, MaxViolationTime и MaxTravelTimeBetweenBreaks должны быть пустыми (NULL) для успешного выполнения анализа.

Единица измерения для значения данного поля указывается параметром time_units.

IsPaid: Булево значение, указывающее, будет ли перерыв оплачиваемым или нет. Значение Истина (True) определяет, что время, затраченное на перерыв, включается в расчет затрат маршрута и определение сверхурочных. Значение Ложь (False) определяет обратное. По умолчанию используется значение Истина (True).

Sequence: как входное поле, оно показывает последовательность перерывов на маршруте. Это поле может содержать значения NULL. Значения входной последовательности являются положительными и уникальными для каждого маршрута (распределенного среди посещений станций, заказов и перерывов), но не обязаны начинаться с 1 или быть последовательными.

Механизм расчета изменяет поле последовательности. После решения данное поле содержит значение последовательности перерыва на его маршруте. Выходные значения последовательности для маршрута едины для посещений станций, заказов и перерывов; начинаются с 1 (на начальной станции); и являются последовательными.

Record Set
time_units

Единицы измерения времени для значений времени в анализе. Многие объекты и записи в анализе VRP содержат поля для записи значений времени, например ServiceTime для заказов и CostPerUnitTime для маршрутов. Для сокращения требований по вводу данных эти поля не должны включать в себя единицы. Вместо этого все значения на основании расстояния должны быть введены в одних единицах, данный параметр используется для указания единиц этих значений.

Обратите внимание, что выходные поля на основании времени используют единицы, указанные данным параметром.

String
distance_units

Единицы измерения расстояния для всех полей на основании расстояния в анализе. Многие объекты и записи в анализе VRP содержат поля для записи значений расстояния, например, MaxTotalDistance и CostPerUnitDistance для Маршрутов. Для сокращения требований по вводу данных эти поля не должны включать в себя единицы. Вместо этого все значения на основании расстояния должны быть введены в одних единицах, данный параметр используется для указания единиц этих значений.

Обратите внимание, что выходные поля на основании расстояния используют единицы, определяемые данным параметром.

String
analysis_region
(дополнительно)

Укажите регион, в котором выполняется анализ. Если значение этого параметра не указано, инструмент автоматически вычислит имя региона на основе местоположения входных точек. Задание имени региона рекомендуется для увеличения скорости работы инструмента. Чтобы задать регион используйте одно из следующих значений:

  • Europe (Европа)
  • India (Индия)
  • Japan (Япония)
  • Korea (Корея)
  • MiddleEastAndAfrica (Средний Восток и Африка)
  • NorthAmerica (Северная Америка)
  • Oceania (Океания)
  • SouthAmerica (Южная Америка)
  • SouthEastAsia (Юго-Восточная Азия)
  • Тайвань
  • Таиланд

String
default_date
(дополнительно)

Дата по умолчанию для значений полей времени, в которых указывается время в течение дня без указания даты. Вы можете найти эти поля времени в различных входных параметрах, таких как атрибуты ServiceTime в параметрах заказов и перерывов.

Date
uturn_policy
(дополнительно)

Используйте этот параметр для запрещения или разрешения разворота на соединениях. Чтобы лучше разобраться в значениях параметров, рассмотрим следующую терминологию: соединение – это точка, где один участок улицы заканчивается и потенциально может соединяться с одним или несколькими другими сегментами; псевдо-соединение – это точка, в которой две улицы точно соединяются друг с другом; пересечение – это точка соединения трех или более улиц; а тупик – точка, в которой заканчивается один сегмент улицы, не соединяясь с другими. С учетом этой информации, параметр может иметь следующие значения:

  • ALLOW_UTURNS – развороты разрешены везде. При разрешении U-образных разворотов транспортное средство может развернуться на любом соединении и продолжить движение по той же улице в обратную сторону. Это значение используется по умолчанию.
  • NO_UTURNS – развороты запрещены во всех соединениях: псевдосоединениях, пересечениях, в тупиках. Однако имейте в виду, что развороты могут быть разрешены, даже при выборе этого параметра. Чтобы запретить развороты в точках инцидентов и на предприятиях обслуживания, запретите развороты в поле CurbApproach.
  • ALLOW_DEAD_ENDS_ONLY – развороты запрещены во всех соединениях, кроме тех, у которых имеется только один присоединенный объект улицы (тупик).
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY – развороты запрещены в псевдосоединениях, где соединяются только две улицы, но разрешены на перекрестках и в тупиках. Это не позволяет выполнить разворот посередине одной улицы, которая состоит из двух объектов.

String
time_window_factor
(дополнительно)

Определяет ранги значения для временных окон. Имеются три опции, описанные ниже.

  • High – устанавливает более высокую значимость для прибытия на остановки в указанное время по сравнению с временем в пути. Организации, выполняющие доставки, критичные ко времени или связанные с обслуживанием клиентов должны выбрать значение Высокий (High).
  • Medium – это значение используется по умолчанию. Соблюдается баланс между сокращением времени в пути и соблюдением временных окон при прибытии.
  • Low – устанавливает более высокую значимость времени в пути по сравнению с прибытием на остановку в указанное время. Этот параметр также можно использовать при накоплении отставания в обработке заказов. Для обработки как можно большего количества заказов в день и сокращения отставания можно выбрать Низкий (Low) несмотря на то, что клиенты могут испытывать неудобства из-за позднего прибытия транспортных средств.

String
spatially_cluster_routes
(дополнительно)

  • CLUSTER (True) – для всех маршрутов основные динамические точки создаются автоматически, а заказы, назначенные для отдельного маршрута, делятся на кластеры. Деление заказов на кластеры приводит к сохранению маршрутов в небольших областях и сокращает частоту пересечения линий различных маршрутов; при этом деление на кластеры также приводит к увеличению общего времени в пути.
  • NO_CLUSTER (False) – основные динамические точки не создаются. Выберите данный параметр, если указаны зоны маршрута.

Boolean
route_zones
(дополнительно)

Очерчивает рабочие территории для заданных маршрутов. Зона маршрута – это полигональный пространственный объект, который используется для ограничения маршрутов обслуживанием только тех заказов, которые находятся в пределах указанной области или вблизи нее. Вот несколько примеров, когда зоны маршрутов могут быть полезны:

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

При указании зон маршрута необходимо задать с помощью атрибутов свойства каждой из них, такие как связанные маршруты. Для задания свойств зон маршрута можно использовать следующие атрибуты:

ObjectID: управляемое системой поле ID.

RouteName: название маршрута, для которого применяется данная зона. Зона маршрута может иметь не более одного связанного маршрута. Это поле не может содержать нулевые значения и является внешним ключом для поля Name параметра routes.

IsHardZone: двоичное значение, определяющее гибкую или жесткую зону маршрута. Значение Истина (True) определяет жесткую зону; это означает, что заказ, выходящий за пределы полигона зоны маршрута, не может быть назначен этому маршруту. По умолчанию используется значение 1 (True). Значение Ложь (False) (0) определяет, что такие заказы все еще могут быть назначены, но стоимость обслуживания заказа взвешена на основании функции евклидова расстояния от зоны маршрута. Обычно это означает что, по мере увеличения расстояния по прямой от гибкой зоны до заказа вероятность того, что заказ будет присвоен маршруту, уменьшается.

Feature Set
route_renewals
(дополнительно)

Определяет промежуточные станции, которые могут посещаться на маршруте для догрузки и выгрузки доставляемых или собираемых грузов. А именно, обновление связывает маршрут со станцией. Связь указывает, что на маршруте может производиться обновление (догрузка или выгрузка на маршруте) на связанной станции.

Обновления маршрутов могут использоваться для моделирования сценариев, в которых транспортное средство набирает полный объем доставляемых грузов на начальной станции, обслуживает заказы, возвращается на станцию для новой загрузки и продолжает обслуживать дальнейшие заказы. Например, при доставке газа пропана транспортное средство может осуществить несколько доставок до тех пор, пока его резервуар не будет почти или полностью опустошен, посетить пункт дозаправки и осуществлять дальнейшую доставку.

Вот несколько правил и вариантов выбора, которые также следует учитывать при работе с исходными точками маршрутов:

  • Пункт догрузки/выгрузки (место пополнения загрузки) может отличаться от начальной и конечной станций.
  • На каждом маршруте может быть одно или несколько предустановленных мест пополнения загрузки.
  • Место пополнения загрузки может использоваться на одном маршруте несколько раз.
  • В некоторых случаях при наличии нескольких потенциальных мест пополнения загрузки для маршрута механизмом расчета выбирается ближайшее доступное из них.

При указании обновления маршрута необходимо задать с помощью атрибутов свойства каждого из них, такие как имя станции, на которой произойдет обновление. Для задания обновления маршрута можно использовать следующие атрибуты:

ObjectID: управляемое системой поле ID.

DepotName: имя станции, на которой происходит обновление. Это поле не может содержать нулевое значение и является внешним ключом для поля Name параметра depots.

RouteName: название маршрута, к которому применяется данное обновление. Это поле не может содержать нулевое значение и является внешним ключом для поля Name параметра routes.

ServiceTime: время обслуживания для обновления. Это поле может содержать значение NULL; значение NULL соответствует нулевому времени обслуживания.

Единица измерения для значения данного поля указывается параметром time_units.

Время, затраченное на загрузку транспортного средства на станции обновления, может зависеть от размера транспортного средства и степени его загруженности. Однако время обслуживания для обновления маршрута является фиксированным значением и не учитывает фактическую загрузку. Таким образом, время на обслуживание обновления должно быть представлено значением, соответствующим полной загрузке грузовика, средней его загрузке или другому времени на ваш выбор.

Record Set
order_pairs
(дополнительно)

Этот параметр объединяет в пары заказы на сбор и доставку, которые обслуживаются на одном маршруте.

Иногда необходимо, чтобы сбор и доставка по заказам производились совместно. Например, курьерской компании может потребоваться маршрут для сбора посылки с высоким приоритетом от одного заказчика и доставки ее другому без возврата на станцию или сортировочную станцию с целью сокращения времени доставки. Эти связанные заказы могут назначаться одному и тому же маршруту с соответствующей последовательностью при помощи спаренных заказов. Более того, могут существовать ограничения продолжительности хранения посылки в транспортном средстве; например, посылка может содержать образец крови, который должен быть перевезен из офиса врача в лабораторию в течение двух часов.

При указании парных заказов, необходимо задать с помощью атрибутов свойства каждого из них, такие как имена двух заказов. Для задания свойств парных заказов можно использовать следующие атрибуты:

ObjectID: управляемое системой поле ID.

FirstOrderName: имя первого заказа в паре. Это поле является внешним ключом для поля Name параметра orders.

SecondOrderName: имя второго заказа в паре. Это поле является внешним ключом для поля name параметра orders.

Первый заказ в паре должен быть заказом сбора, это означает, что значение поля DeliveryQuantities для него пустое (NULL). Второй заказ в паре должен быть заказом доставки, это означает, что значение поля PickupQuantities для него пустое (NULL). Количество, которое собирается в первом заказе, должно соответствовать количеству, поставляемому во втором заказе. В отдельном случае оба заказа могут иметь нулевые количества для сценариев, в которых емкости не используются.

Заказы не загружаются и не разгружаются в станциях.

MaxTransitTime: максимальное время транзита для пары. Время нахождения в пути представляет собой продолжительность от времени отправления для первого заказа до времени прибытия на точку второго заказа. Это ограничение влияет на время в транспортном средстве, или время поездки, между двумя заказами. Если транспортное средство перевозит людей или скоропортящиеся товары, то его время поездки обычно короче, чем для транспортного средства, перевозящего коробки или непортящиеся товары. Это поле может содержать значения NULL; значение NULL соответствует отсутствию ограничений по времени поездки.

Единица измерения для значения данного поля указывается параметром time_units.

Механизмом расчета может отслеживаться и учитываться лишнее время в пути (измеряемое с учетом непосредственного времени в пути между парами заказов). По этой причине вы можете указать механизму расчета VRP следующие подходы:

  • Минимизировать общее избыточное время нахождения в пути, вне зависимости от увеличения стоимости проезда для автопарка.
  • Найти решение, уравновешивающее общее превышение времени и стоимость проезда.
  • Игнорировать общее избыточное время нахождения в пути; вместо этого минимизировать стоимость проезда для автопарка.

Назначая уровень важности параметру excess_transit_factor, вы фактически выбираете один из этих трех подходов. Независимо от уровня значимости, механизм расчета всегда будет приводить к ошибке при превышении значения свойства MaxTransitTime.

Record Set
excess_transit_factor
(дополнительно)

Уровни важности сокращения избыточного времени в пути для пар заказов. Избыточное время в пути – это затрачиваемое сверх необходимого время для перемещения от одного вызова к другому. Избыточное время в пути может быть вызвано перерывами в работе водителя или движением к промежуточным заказам и станциям. Ниже представлены три значения, из которых можно сделать выбор.

  • High – механизм расчета пытается найти решение, минимизирующее избыточное время в пути между парными заказами за счет увеличения общей стоимости перемещения. Имеет смысл использовать этот параметр при необходимости перевозки людей между парами заказов, и вы хотите сократить их время в пути. Эта опция подходит для такси.
  • Medium – это настройка по умолчанию. Программа расчета будет стремиться найти компромиссное решение с одновременным сокращением избыточного времени и обеспечением минимальных общих затрат.
  • Low – механизм расчета пытается найти решение с минимальными общими затратами независимо от лишнего времени в пути. Этот параметр обычно используется курьерской службой. Поскольку курьерская служба перевозит грузы, а не людей, ей не нужно особенно заботиться о времени в пути. Значение Low (Низкий) позволяет курьерской службе обрабатывать два вызова в должной очередности с минимальными общими затратами.

String
point_barriers
(дополнительно)

Укажите одну или несколько точек, действующих в качестве временных ограничений или представляющих дополнительное время или расстояние, которые могут потребоваться для передвижения по улицам. Например, точечный барьер может быть использован для обозначения упавшего дерева или для ввода времени ожидания на железнодорожном переезде.

Инструмент может накладывать до 250 ограничений, точек, добавленных в качестве барьеров.

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

Name: имя барьера.

BarrierType: указывает, ограничивает ли точечный барьер перемещение полностью или добавляет время или расстояние при его пересечении. Значение этого атрибута указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):

  • 0 (Restriction) – запрещает прохождение через барьер. Барьер, действующий как запрещающий, рассматривается как ограничительный точечный барьер.
  • 2 (Added Cost) – прохождение через барьер увеличивает время в пути или расстояние на значение, указанное в полях Additional_Time или Additional_Distance. Этот тип барьера называется барьером дополнительной стоимости.

Additional_Time: указывает, какое время пути добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если используются единицы измерения времени. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Measurement Units.

Additional_Distance: указывает, какое расстояние добавляется при прохождении барьера. Это поле действительно только для барьеров с дополнительной стоимостью, и только если используются единицы измерения расстояния. Значение этого поля должно быть больше или равно нулю, а его единицы измерения соответствуют заданным в параметре Measurement Units.

Feature Set
line_barriers
(дополнительно)

Укажите одну или несколько линий, которые запрещают передвижение там, где они пересекают улицы. Например, при помощи линейного барьера можно смоделировать маршрут парада или марша протеста, которые препятсвуют движению по нескольким участкам улиц. Линейный барьер может также быстро запретить пересечение нескольких дорог, отделяя, таким образом, возможный маршрут от нежелательных участков уличной сети.

Инструмент имеет ограничение числа улиц, которые можно запретить с помощью параметра Line Barriers. Хотя лимита на число линий, которые можно использовать как барьеры, нет, общее число улиц, пересекаемых всеми линиями, не должно превышать 500.

При указании линейных барьеров вы можете задать с помощью атрибута свойство имени для каждого из них.

Name: имя барьера.

Feature Set
polygon_barriers
(дополнительно)

Укажите полигоны, которые либо полностью запрещают передвижение, либо пропорционально масштабируют время или расстояние, необходимое для передвижения по улицам, пересекаемым полигоном.

Сервис имеет ограничение числа улиц, которые можно запретить с помощью параметра Polygon Barriers. Хотя лимита на число полигонов, которые можно использовать как барьеры, нет, общее число улиц, пересекаемых всеми полигонами, не должно превышать 2,000.

При указании полигональных барьеров вы можете задать с помощью атрибутов свойства каждого из них, такие как тип барьера. Для задания свойств полигональных барьеров можно использовать следующие атрибуты:

Name: имя барьера.

BarrierType: указывает, ограничивает ли барьер перемещение полностью или масштабирует время или расстояние при прохождении по нему. Значение поля указывается одним из следующих целых чисел (используйте числовой код, а не имя в скобках):

  • 0 (Restriction) – запрещает прохождение через любую часть барьера. Этот барьер называется запрещающим полигональным барьером, поскольку он запрещает перемещение по пересекаемым улицам. Одним из применений этого типа барьеров является моделирование наводнений, покрывающих улицы, и перемещение по ним становится невозможным.
  • 1 (Scaled Cost) – масштабирует время или расстояние, необходимое для перемещения по соответствующим улицам на коэффициент, указанный в поле ScaledTimeFactor или ScaledDistanceFactor. Если улицы частично покрыты барьером, время в пути или расстояние будет соответственно разделены, а затем масштабированы. Например, коэффициент 0,25 означает, что ожидаемое время перемещения по соответствующим улицам в четыре раза меньше обычного. Коэффициент 3,0 означает, что ожидаемое время перемещения будет в три раза дольше обычного. Этот тип барьера называется полигональным барьером масштабируемой стоимости. Он может использоваться для моделирования погодных условий, из-за которых скорость перемещения в указанных регионах снижается.

ScaledTimeFactor: это коэффициент, на который умножается время езды по улицам, пересекающимся с барьером. Это поле действительно только для барьеров с масштабированной стоимостью, и только если используются единицы измерения времени. Значение поля должно быть больше нуля.

ScaledDistanceFactor: это коэффициент, на который умножается длина пути по улицам, пересеченным барьером. Этот атрибут действителен только для барьеров с масштабированной стоимостью, и только если используются единицы измерения расстояния. Значение атрибута должно быть больше нуля.

Feature Set
use_hierarchy_in_analysis
(дополнительно)

Укажите, должна ли при нахождении наилучшего маршрута использоваться иерархия.

  • Отмечено (Истина) – Использовать иерархию при нахождении маршрутов. Когда используется иерархия, инструмент предпочитает улицы более высокого порядка, такие как скоростные автострады, улицам более низкого порядка, таким как местные дороги, и может использоваться для моделирования предпочтения водителей передвигаться по автострадам, а не местным дорогам, даже если это удлиняет путь. Особенно это относится к тем случаям, когда нужно определить маршруты к удаленным местам, поскольку водители предпочитают использовать в дальних поездках скоростные автострады без светофоров, перекрестков и поворотов. Использование иерархии ускоряет вычисления, особенно в случае междугородних поездок, поскольку инструмент выбирает лучший маршрут из сравнительно небольшого поднабора улиц.
  • Не отмечено (Ложь) – Не использовать иерархию при нахождении маршрутов. Если иерархия не используется, инструмент перебирает при определении маршрута все улицы и не отдает предпочтение улицам более высокого порядка. Этот вариант обычно используется при нахождении коротких маршрутов в пределах города.

Инструмент автоматически начинает использовать иерархию, если расстояние по прямой между заказами, станциями или и тем и другим превышает 50 миль, даже если в этом параметре указано иное.

Boolean
restrictions
(дополнительно)

Укажите, какие ограничения должны учитываться инструментом при нахождении наилучшего маршрута.

Ограничение представляет собой предпочтение или требование во время поездки. В большинстве случаев ограничения запрещают использование тех или иных дорог. Например, использование ограничения Избегать платных дорог приведет к тому, что платные дороги будут использоваться, только если это абсолютно необходимо для подъезда к инциденту или пункту обслуживания. Ограничение по высоте (Height Restriction) позволяет прокладывать маршрут в обход всех объектов с пролетами, меньшими, чем высота транспортного средства. Если транспортное средство перевозит корродирующие вещества, применение ограничения Any Hazmat Prohibited (Вредные вещества запрещены) предотвратит перевозку таких материалов по тем дорогам, по которым это запрещено.

Ниже приводится список доступных ограничений и их краткое описание.

ПримечаниеПримечание:

Использование некоторых ограничений требует ввода дополнительных значений. Это значение должно быть связано с именем ограничения и определенным параметром, предназначенным для его работы. Вы можете идентифицировать такие ограничения по их названиям, отображающимся под столбцом AttributeName в параметре Attribute Parameter Values. Поле ParameterValue следует использовать в параметре Attribute Parameter Values для правильного использования ограничения при поиске доступных дорог.

ПримечаниеПримечание:

Некоторые ограничения поддерживаются только в определенных странах; их доступность по регионам указана в списке ниже. Кроме доступности ограничений по регионам, можно проверить его доступность в определенной стране по таблице в разделе Список стран на веб-странице Покрытие данными для сервисов сетевого анализа. Если для страны указано значение Yes в столбце Logistics Attribute, ограничение в этой стране поддерживается и доступно для региона. Если вы задаете имена ограничений, которые недоступны в стране, где находятся инциденты, сервис игнорирует их. Сервис также игнорирует ограничения чье значение параметра Использование ограничений находится в пределах от 0 до 1 (см. свойство Значения параметра атрибутов). Он запрещает все ограничения, чье значение параметра Использование ограничения больше 0.

Инструмент поддерживает следующие ограничения:

  • Any Hazmat Prohibited (Вредные вещества запрещены) – в маршрут не включаются дороги, по которым запрещена перевозка любых видов опасных веществ.

    Доступность: Выберите страны в Северной Америке и Европе

  • Avoid Carpool Roads (Избегать дорог для пассажирских перевозок) – в маршрут не будут включаться дороги, предназначенные исключительно для пассажирских перевозок (автобусы и т.д.).

    Доступность: Все страны

  • Avoid Express Lanes (Избегать скоростных полос) – в маршрут не будут включаться дороги, предназначенные для скоростного передвижения.

    Доступность: Все страны

  • Avoid Ferries (Избегать паромных переправ) – в маршруте не будут использоваться паромные переправы.

    Доступность: Все страны

  • Avoid Gates (Избегать ворот) – в маршрут не будут включаться дороги, на которых имеются ворота для въезда по пропуску или охраняемые въезды.

    Доступность: Все страны

  • Avoid Limited Access Roads (Избегать дорог с ограниченным доступом) – в маршрут не будут включаться дороги с ограниченным доступом.

    Доступность: Все страны

  • Avoid Private Roads (Избегать частных дорог) – в маршрут не будут включаться частные дороги.

    Доступность: Все страны

  • Avoid Toll Roads (Избегать платных дорог) – в маршруте не будут использоваться платные дороги.

    Доступность: Все страны

  • Avoid Unpaved Roads (Избегать дорог без покрытия) – в маршрут не будут включаться дороги без покрытия (например, грунтовые, с гравийным покрытием и т.д.).

    Доступность: Все страны

  • Axle Count Restriction (Ограничение по числу осей) в маршрут не будут включаться дороги, на которых запрещены грузовики с указанным числом осей. Число осей задается параметром Number of Axles.

    Доступность: Выберите страны в Северной Америке и Европе

  • Driving a Bus (На автобусе) – в маршрут не будут включаться дороги, по которым запрещено движение автобусов. Использование этого ограничения также позволяет учитывать в маршруте дороги с односторонним движением.

    Доступность: Все страны

  • Driving a Delivery Vehicle (Автотранспорт для доставки) – в маршрут не будут включаться дороги, по которым запрещено движение автотранспорта для доставки. Использование этого ограничения также позволяет учитывать в маршруте дороги с односторонним движением.

    Доступность: Все страны

  • Driving a Taxi (На такси) – в маршрут не будут включаться дороги, по которым запрещено движение такси. Использование этого ограничения также позволяет учитывать в маршруте дороги с односторонним движением.

    Доступность: Все страны

  • Driving a Truck (На грузовике) – в маршрут не будут включаться дороги, по которым запрещено движение грузовиков. Использование этого ограничения также позволяет учитывать в маршруте дороги с односторонним движением.

    Доступность: Все страны

  • Driving a Automobile (На автомобиле) – в маршрут не будут включаться дороги, по которым запрещено движение автомобилей. Использование этого ограничения также позволяет учитывать в маршруте дороги с односторонним движением.

    Доступность: Все страны

  • Driving an Emergency Vehicle (Аварийно-спасательный автомобиль) – в маршрут не будут включаться дороги, по которым запрещено движение аварийно-спасательных автомобилей. Использование этого ограничения также позволяет учитывать в маршруте дороги с односторонним движением.

    Доступность: Все страны

  • Height Restriction (Ограничение по высоте) – в маршрут не будут включаться дороги, по которым запрещено движение автомобилей больше разрешенной высоты. Высота транспортного средства задается параметром Vehicle Height (в метрах).

    Доступность: Выберите страны в Северной Америке и Европе

  • Kingpin to Rear Axle Length Restriction (Ограничение по ширине заноса задней оси) – в маршрут не будут включаться дороги, по которым запрещено движение всех грузовиков с шириной заноса задней оси больше разрешенной. Это значение задается параметром Vehicle Kingpin to Rear Axle Length (метры).

    Доступность: Выберите страны в Северной Америке и Европе

  • Length Restriction (Ограничение по длине) – в маршрут не будут включаться дороги, по которым запрещено движение автомобилей больше разрешенной длины. Длина транспортного средства задается параметром Vehicle Length (в метрах).

    Доступность: Выберите страны в Северной Америке и Европе

  • Riding a Motorcycle (На мотоцикле) – в маршрут не будут включаться дороги, по которым запрещено движение мотоциклов. Использование этого ограничения также позволяет учитывать в маршруте дороги с односторонним движением.

    Доступность: Все страны

  • Roads Under Construction Prohibited (Ремонт дороги) – в маршрут не будут включаться ремонтируемые дороги.

    Доступность: Все страны

  • Semi or Tractor with One or More Trailers Prohibited (Запрет тягачей с одним или более трейлерами) – в маршрут не будут включаться дороги, на которых запрещено движение тягачей с одним или более трейлерами.

    Доступность: Выберите страны в Северной Америке и Европе

  • Single Axle Vehicles Prohibited (Запрет одноосных транспортных средств) – в маршрут не будут включаться дороги, на которых запрещены одноосные транспортные средства.

    Доступность: Выберите страны в Северной Америке и Европе

  • Tandem Axle Vehicles Prohibited (Запрет транспортных средств со сдвоенными осями) – в маршрут не будут включаться дороги, на которых запрещены транспортные средства со сдвоенными осями.

    Доступность: Выберите страны в Северной Америке и Европе

  • Through Traffic Prohibited (Запрет сквозного проезда) – в маршрут не включаются дороги, по которым запрещен сквозной (не локальный) проезд.

    Доступность: Все страны

  • Truck with Trailers Restriction (Грузовик с прицепом) – в маршрут не будут включаться дороги, на которых запрещены грузовики с прицепом. Число прицепов задается параметром Number of Trailers on Truck.

    Доступность: Выберите страны в Северной Америке и Европе

  • Use Preferred Hazmat Routes (Использовать маршруты для вредных веществ) – маршрут пройдет по дорогам, которые предназначены для перевозки опасных веществ.

    Доступность: Выберите страны в Северной Америке и Европе

  • Use Preferred Truck Routes (Использовать маршруты для грузовиков) – маршруты будут, по возможности, проходить по дорогам, которые предназначены для грузовиков, например, по дорогам, которые являются частью национальной дорожной сети, как указано в National Surface Transportation Assistance Act для США, или по дорогам, которые предназначены для грузовиков в штатах или провинциях, или по дорогам, которые предпочитают водители.

    Доступность: Выберите страны в Северной Америке и Европе

  • Walking (Пешеходные) – в маршрут не будут включаться дороги, по которым запрещено пешее перемещение.

    Доступность: Все страны

  • Weight Restriction (Ограничение по весу) – в маршрут не будут включаться дороги, по которым запрещено движение автомобилей больше разрешенной массы. Вес транспортного средства задается параметром Vehicle Weight (в килограммах).

    Доступность: Выберите страны в Северной Америке и Европе

  • Weight per Axle Restriction (Ограничение по нагрузке на ось) – в маршрут не будут включаться дороги, по которым запрещено движение автомобилей с нагрузкой на ось больше разрешенной. Нагрузка на ось задается параметром Vehicle Weight per Axle (в килограммах).

    Доступность: Выберите страны в Северной Америке и Европе

  • Width Restriction (Ограничение по ширине) – в маршрут не будут включаться дороги, по которым запрещено движение автомобилей больше разрешенной ширины. Ширина транспортного средства задается параметром Vehicle Width (в метрах).

    Доступность: Выберите страны в Северной Америке и Европе

String
attribute_parameter_values
(дополнительно)

Укажите дополнительные значения, требуемые для некоторых ограничений, такие как вес транспортного средства для ограничения по весу (Weight Restriction). Вы можете использовать этот параметр, чтобы указать, является ли движение по дорогам, для которых установлено это ограничение, запрещенным, нежелательным или предпочтительным. Если ограничение означает нежелательность или предпочтительность использования дороги, вы можете дополнительно указать с помощью этого параметра степень нежелательности или предпочтительности. Например, вы можете установить для платных дорог правило никогда их не использовать, по возможности избегать или наоборот, отдавать им предпочтение.

Если вы задаете параметр Значения атрибутивного параметра (Attribute Parameter Values) из класса пространственных объектов, имена полей класса пространственных объектов должны соответствовать следующим:

AttributeName: указывает имя ограничения.

ParameterName: указывает имя параметра, связанного с ограничением. В зависимости от целей ограничения, оно может иметь одно или несколько значений поля ParameterName.

ParameterValue: значение для ParameterName, используемое инструментом при оценке ограничения.

Параметр Значения атрибутивного параметра (Attribute Parameter Values) зависит от параметра Ограничения (Restrictions). Поле ParameterValue применяется, только если значением параметра Ограничения (Restrictions) является имя ограничения.

В параметре Значения атрибутивного параметра (Attribute Parameter Values) каждое ограничение (AttributeName) содержит значение поля ParameterName, Использование ограничения (Restriction Usage), определяющее запрет, нежелательность или предпочтительность использования дорог, для которых установлено ограничение, а также степень нежелательности или предпочтительности использования дорог. Поле Использование ограничения (Restriction Usage) ParameterName может иметь одно из следующих строковых значений или эквивалентных числовых значений, указанных в скобках:

  • PROHIBITED (-1) – Передвижение по дорогам, имеющим это ограничение, полностью запрещено.
  • AVOID_HIGH (5) – Крайне маловероятно, что инструмент включит в маршрут дороги с этим ограничением.
  • AVOID_MEDIUM (2) – Маловероятно, что инструмент включит в маршрут дороги с этим ограничением.
  • AVOID_LOW (1.3) – Достаточно маловероятно, что инструмент включит в маршрут дороги с этим ограничением.
  • PREFER_LOW (0.8) – Достаточно вероятно, что инструмент включит в маршрут дороги с этим ограничением.
  • PREFER_MEDIUM (0.5) – Вероятно, что инструмент включит в маршрут дороги с этим ограничением.
  • PREFER_HIGH (0.2) – Очень вероятно, что инструмент включит в маршрут дороги с этим ограничением.

Как правило для поля Использование ограничения (Restriction Usage) используется значение по умолчанию, PROHIBITED, если ограничение связано с характеристиками транспортного средства, например его высотой. Однако в некоторых случаях значение поля Использование ограничения (Restriction Usage) будет зависеть от ваших предпочтений при выборе маршрута. Например, для ограничения Избегать платных дорог (Avoid Toll Roads) параметр Использование ограничения (Restriction Usage) имеет по умолчанию значение AVOID_MEDIUM. Это означает, что, при наличии данного ограничения инструмент будет по возможности избегать использования платных дорог при построении маршрута. Значение AVOID_MEDIUM также указывает, насколько важно избегать использования платных дорог при поиске лучшего маршрута: это ограничение имеет средний приоритет. При выборе AVOID_LOW исключение платных дорог из маршрута будет иметь меньшее значение, а при выборе AVOID_HIGH – большее, поэтому сервис будет создавать более длинные маршруты, чтобы по возможности избежать использования платных дорог. При выборе PROHIBITED использование платных дорог будет полностью запрещено, и сервис не сможет включать их в маршрут. Следует помнить, что в некоторых случаях целью анализа является прокладка маршрута в обход платных дорог, а в других случаях проезд по платным дорогам может быть предпочтителен, поскольку время, потраченное на движение, более ценно, чем деньги, уплаченные за проезд. В последнем случае для параметра Использование ограничения (Restriction Usage) следует выбрать значения PREFER_LOW, PREFER_MEDIUM или PREFER_HIGH. Чем выше предпочтительность, тем в большей степени маршрут будет проходить по дорогам с этим ограничением.

Record Set
populate_route_lines
(дополнительно)

  • Включено (True) – выходные маршруты будут точно соответствовать геометрии уличной сети.
  • Выключено (False) – геометрия для выходных маршрутов не генерируется, при этом маршруты приводятся в виде таблицы. Вы также не сможете создавать направления движения, если линии маршрута не создаются.

Когда параметр Форма маршрута (Route Shape) имеет значение Истинная форма (True Shape), генерализацией формы маршрута можно дополнительно управлять, выбирая значения параметров Допуск упрощения линии маршрута (Route Line Simplification Tolerance).

Не важно, какое значение выбрано для параметра Форма маршрута, наилучший маршрут всегда определяется минимизацией перемещения по уличной сети, а не по расстоянию по прямой. Это значит, что изменяются только формы маршрута, а не исходные улицы, которые перебирает инструмент при нахождении маршрута.

Boolean
route_line_simplification_tolerance
(дополнительно)

Определяет степень упрощения геометрии выходных линий маршрутов и маршрутых листов.

Инструмент игнорирует этот параметр, если параметр populate_route_lines отключен (False).

При упрощении сохраняются важнейшие точки на маршруте, например, повороты и перекрестки, составляющую основную форму маршрута, а остальные точки удаляются. Указываемое вами расстояние упрощения является максимальным допустимым смещением упрощенной линии от исходной. Упрощение линии сокращает количество вершин в геометрии маршрута. Это ускоряет работу инструмента.

Linear Unit
populate_directions
(дополнительно)

Укажите, должен ли инструмент создавать путевой лист для каждого маршрута.

  • Отмечена (Истина) (Checked (True)):

    Будет создан путевой лист, настроенный в соответствии со значениями параметров Язык путевого листа (Directions Language), Имя стиля путевого листа (Directions Style Name) и Единицы расстояния путевого листа (Directions Distance Units).

  • Не отмечена (Ложь) (Unchecked (False)):

    Путевой лист не создается, инструмент возвращает пустой слой Directions.

Boolean
directions_language
(дополнительно)

Укажите язык, на котором должен создаваться путевой лист.

Этот параметр используется, только если параметр populate_directions включен или имеет значение True.

Значениями параметра могут быть следующие двух- или пятисимвольные коды языка:

  • ar – Арабский
  • de – Немецкий
  • en – Английский
  • es – Испанский
  • et – Эстонский
  • fr – Французский
  • he – Иврит
  • it – Итальянский
  • ja – Японский
  • ko – Корейский
  • lt – Литовский
  • lv – Латышский
  • nl – Нидерландский
  • pl – Польский
  • pt-BR – Португальский (Бразилия)
  • pt-PT – Португальский (Португалия)
  • ru – Русский
  • sv – Шведский
  • zh-CN – Упрощенный китайский

Если указан неподдерживаемый код языка, инструмент возвращает путевой лист на английском языке, являющемся языком по умолчанию.

String
directions_style_name
(дополнительно)

Укажите имя стиля форматирования для путевого листа. Этот параметр используется, только если параметр Заполнить путевой лист (Populate Directions) отмечен или имеет значение Истина (True). Параметр может принимать следующие значения:

  • NA Desktop:

    Создает готовый для печати путевой лист от поворота к повороту.

  • NA Navigation:

    Создает путевой лист со всеми поворотами для автомобильного навигационного устройства.

String

Параметры среды

Этот инструмент не использует параметры среды геообработки

Связанные темы

5/28/2014