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

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

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

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

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

Более подробно о рабочих процессах Network Analyst

Слой анализа задачи выбора транспортного маршрута

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

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

Слой анализа задачи выбора маршрута транспорта можно создать, нажав на панели инструментов Network Analyst кнопку Network Analyst > Новая задача выбора маршрута транспорта (New Vehicle Routing Problem).

Панель инструментов Network Analyst

При создании слоя анализа задачи выбора маршрута транспорта он отображается в окне Network Analyst вместе со своими 13 классами сетевого анализа – «Заказы» (Orders), «Станции» (Depots), «Маршруты» (Routes), «Посещения станций» (Depot Visits), «Перерывы» (Breaks), «Зоны маршрутов» (Route Zones), «Исходные точки маршрутов» (Route Seed Points), «Обновления маршрутов» (Route Renewals), «Специальные требования» (Specialties), «Пары заказов» (Order Pairs), «Точечные барьеры» (Point Barriers), «Линейные барьеры» (Line Barriers) и «Полигональные барьеры» (Polygon Barriers).

Окно Network Analyst

Слой анализа задачи выбора маршрута транспорта также отображается в окне Таблица содержания (Table of Contents) в виде составного слоя, который называется «Задача выбора маршрута транспорта» (Vehicle Routing Problem) или, если задача выбора маршрута транспорта с таким именем уже существует в документе карты, «Задача выбора маршрута транспорта 1», «Задача выбора маршрута транспорта 2» и т. д. В него входят девять слоев пространственных объектов: «Заказы» (Orders), «Посещения станций» (Depot Visits), «Станции» (Depots), «Исходные точки маршрутов» (Route Seed Points), «Маршруты» (Routes), «Зоны маршрутов» (Route Zones), «Точечные барьеры» (Point Barriers), «Линейные барьеры» (Line Barriers) и «Полигональные барьеры» (Polygon Barriers). Каждый из девяти слоев пространственных объектов имеет условные обозначения по умолчанию, которые можно изменить в диалоговом окне Свойства слоя (Layer Properties).

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

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

Таблица содержания

Классы анализа задачи выбора маршрута транспорта.

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

Отношения между классами сетевого анализа в задаче выбора маршрута транспорта

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

Более подробно о классах сетевого анализа

Слой пространственных объектов «Заказы» (Orders)

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

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

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

У заказа могут быть одно или два временных окна, которые указывают, когда транспортному средству разрешено выезжать на этот заказ. Например, грузовику для оптовой доставки продуктов разрешено прибывать к ресторану между 8:00 и 10:00 утра или между 2:00 и 4:00 дня, поскольку прибытие в другое время может нарушить бизнес ресторана.

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

Свойства заказа

Входные поля для Заказов

Входное поле

Описание

ObjectID

Управляемое системой поле ID.

Shape

Поле геометрии, показывающее географическое положение объекта сетевого анализа.

Name

Имя объекта сетевого анализа.

Имя должно быть уникальным.

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

Описание

Описательная информация о заказе. Может содержать любую текстовую информацию по заказу и не имеет ограничений на уникальность. В поле «Имя» (Name), к примеру, можно хранить идентификационный номер клиента, а в поле «Описание» (Description) – фактическое имя или адрес этого клиента.

ServiceTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

TimeWindowStart1

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

(Дополнительную информацию см. в примечании к данной таблице свойств.)

TimeWindowEnd1

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

(Дополнительную информацию см. в примечании к данной таблице свойств.)

TimeWindowStart2

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

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

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

(Дополнительную информацию см. в примечании к данной таблице свойств.)

TimeWindowEnd2

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

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

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

(Дополнительную информацию см. в примечании к данной таблице свойств.)

MaxViolationTime1

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

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

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

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

MaxViolationTime2

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

DeliveryQuantities

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

Если для заказа требуются 2000 фунтов товаров, параметру Число характеристик ёмкости (Capacity Count) в диалоговом окне Свойства слоя (Layer Properties) слоя анализа следует задать значение 1, а параметру DeliveryQuantities – значение 2000.

При наличии нескольких характеристик вместимости, на что указывает значение свойства Число характеристик ёмкости (Capacity Count) слоя анализа, значения параметра DeliveryQuantities разделяются пробелом.

Например, если известны как вес, так и объем, параметру Число характеристик ёмкости (Capacity Count) в диалоговом окне Свойства слоя (Layer Properties) слоя анализа следует задать значение 2. Если для заказа требуются 2000 фунтов товаров, которые занимают 100 кубических футов, параметру DeliveryQuantities следует задать значение 2000 100.

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

PickupQuantities

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

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

Revenue

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

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

SpecialtyNames

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

Это поле является внешним ключом для поля Name в таблице «Специальные требования» (Specialties). Объекты специальных требований должны существовать до того, как они появятся в раскрывающемся списке SpecialtyNames. Например, компании по уходу за газонами может понадобиться обслужить заказ пестицидом, для применения которого требуется лицензия. Компания может создать объект специального требования с именем Лицензия (License) и установить этому свойству значение Лицензия (License).

AssignmentRule

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

  • Исключить (Exclude) (0) – заказ будет исключен из последующего решения.
  • Сохранить маршрут и соответствующий порядок следования (Preserve route and relative sequence) (1) – механизм расчета должен всегда назначать заказ для предварительно назначенного маршрута и в предварительно назначенной относительной последовательности во время решения. Если правило назначения нельзя учесть, то это приведет к нарушению заказа.

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

  • Сохранить маршрут (Preserve route) (2) – механизм расчета должен всегда назначать заказ для предварительно назначенного маршрута во время расчета. Действительная последовательность также должна быть задана, даже несмотря на то, что последовательность может сохраняться или нет. Если заказы не могут быть назначены для указанного маршрута, то это приведет к нарушению заказа.
  • Замещение (Override) (3) – механизм расчета пытается сохранить маршрут и предварительно назначенную последовательность для заказа во время расчета. Однако новый маршрут и/или последовательность заказа может быть назначена, если это поможет сократить общее значение объективной функции. Это значение используется по умолчанию.

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

Поля сетевого положения

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

Вместе эти четыре свойства описывают точку сети, в которой расположен объект.

Более подробно о полях сетевого положения

CurbApproach

Свойство CurbApproach указывает направление, со стороны которого транспортное средство может прибыть и в котором отправиться из сетевого положения. Можно выбрать четыре варианта (их кодированные значения показаны в скобках):

  • С любой стороны (Either side of vehicle) (0) – Транспортное средство может прибывать и отправляться от сетевого положения в любом направлении. Развороты допустимы. Вам необходимо выбрать данную настройку в том случае, если транспортное средство может сделать разворот на остановке, или если оно может съехать на проезжую часть или в место для стоянки и развернуться.
  • Справа по направлению движения (Right side of vehicle) (1) – При подъезде транспортного средства к сетевому положению и отправлению от него, бордюр должен находиться с правой стороны транспортного средства. Разворот запрещен.
  • Слева по направлению движения (Left side of vehicle) (2) – При подъезде транспортного средства к сетевому положению и отправлении от него, бордюр должен находиться с левой стороны транспортного средства. Разворот запрещен.
  • Без разворота (No U-Turn) (3) – При подъезде транспортного средства к сетевому положению бордюр может располагаться с любой стороны транспортного средства. Но при отправлении транспортное средство не должно выполнять разворот.

Более подробно о правилах разворотов

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

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

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

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

Входные/Выходные поля для Заказов

Входное/Выходное поле

Описание

RouteName

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

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

Поле RouteName является внешним ключом для поля Name в классе «Маршруты» (Routes). Объекты маршрутов должны существовать до того, как они появятся в списке RouteName.

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

Sequence

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

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

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

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

Status

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

  • OK (0) – Корректное сетевое положение.
  • Не размещено (Not located) (1) – положение в сети не может быть определено.
  • Элемент сети не размещен (Network element not located) (2) – сетевой элемент, на котором должно находиться положение, не может быть найден. Это может произойти, если ребро сети было удалено, и повторный расчет сетевого положения не был выполнен.

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

  • OK (0) – Сетевое положение было успешно проверено.
  • Элемент непроходим (Element not traversable) (3) – сетевой элемент, на котором расположено сетевое положение, не является проходимым. Это может произойти, когда сетевой элемент ограничен соответствующим атрибутом.
  • Некорректные значения поля (Invalid field values) (4) – значения поля сетевого положения выходят за диапазон доменов кодов или интервалов слоя анализа. Например, существует отрицательное значение при условии использования положительных значений.
  • Не достигнуто (Not reached) (5) – сетевое положение не может быть достигнуто механизмом расчета.

Если используются временные окна, а прибытие по маршруту происходит слишком рано или слишком поздно, значение меняется на Превышение временного окна (Time window violation) (6).

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

Если в заказе полю AssignmentRule присвоено значение Exclude, то входные значения полей Status, RouteName и Sequence не меняются в ходе операции расчета.

Поля вывода слоя «Заказы» (Orders)

Выходное поле

Описание

ViolatedConstraints

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

Более подробноБолее подробно:

Кодированные значения, представляющие текстовое описание, приведены в списке ниже, в скобках. Обратите внимание, что кодированные значения являются частью геометрической последовательности, которая увеличивается путем удвоения последнего значения. Это позволяет кодировать различные комбинации нарушений. Например, комбинация Превышение емкостей (Capacities exceeded) (2) и Жесткая зона маршрута (Hard route zone) (128) кодируются, как 130 (2 +128).

  • Превышение максимального количества заказов (MaxOrderCount) (1) – заказ нельзя назначить маршруту, поскольку при назначении было бы превышено значение поля MaxOrderCount этого маршрута. При превышении максимального количества заказов решение все равно генерируется, но некоторые заказы в нем остаются не обслуженными. В этом случае механизм расчета задачи выбора маршрута транспорта включает наибольшее число заказов, возможное с учетом ограничений.
  • Превышение вместимости (Capacities) (2) – заказ нельзя назначить маршруту, поскольку при назначении заказа было бы превышено значение поля Capacities этого маршрута.
  • Превышение максимального общего времени (MaxTotalTime) (4) – заказ нельзя назначить маршруту, поскольку при назначении заказа было бы превышено значение поля MaxTotalTime этого маршрута.
  • Превышение максимального общего времени в пути (MaxTotalTravelTime) (8) – заказ нельзя назначить маршруту, поскольку при назначении заказа было бы превышено значение поля MaxTotalTravelTime этого маршрута.
  • Превышение максимального общего расстояния (MaxTotalDistance) (16) – заказ нельзя назначить маршруту, поскольку при назначении заказа было бы превышено значение поля MaxTotalDistance этого маршрута.
  • Жесткое временное окно (32) – для заказа установлено жесткое временное окно, и этот заказ нельзя назначить маршруту, не столкнувшись с нарушением временного окна. (Жесткое временное окно задается путем присвоения значения 0 полю MaxViolationTime1 или MaxViolationTime2.)
  • Несоответствие специальному требованию (64) – специальные требования заказа не соблюдаются в целевом маршруте.
  • Жесткая маршрутная зона (128) – заказ не попадает в пределы жесткой маршрутной зоны. Если для всех маршрутов установлены жесткие маршрутные зоны, а заказ выходит за пределы зоны, ему назначается данное нарушение ограничения.
  • Превышение максимального транзитного времени (MaxTransitTime) для пары заказов (256) – заказ принадлежит к паре заказов, и при его назначении было бы превышено максимальное транзитное время, указанное значением поля MaxTransitTime пары заказов.
  • Нарушение пары заказов (512) – заказ принадлежит к паре заказов и не может быть назначен маршруту, поскольку в другом заказе имеется нарушение. Например, предположим, что заказы O1 и O2 спарены, и заказ O1 находится в элементе сети с отрицательными импедансами, но в заказе O2 нет нарушений. Механизм расчета вернет результат «Недостижим» для заказа O1 и «Нарушение пары заказов» для O2, поскольку оба заказа назначить маршруту нельзя.
  • Недостижим (1024) – заказ расположен в элементе сети, который недостижим никакими маршрутами. Обычно причина в том, что заказ расположен в несмежной части сети.
  • Невозможно вставить необходимый перерыв (2048) – перерыв на маршруте имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Невозможно вставить необходимое обновление (4096) – емкость маршрута превышена, и необходимо посетить обновление маршрута; однако связанное обновление маршрута имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Превышено максимальное время в пути между перерывами (MaxTravelTimeBetweenBreaks) (8192) – механизму расчета не удалось вставить перерыв в пределах времени, указанного полем MaxTravelTimeBetweenBreaks перерыва. Причина зачастую в предварительном назначении последовательности для перерыва таким образом, что он становится недостижимым в пределах максимального времени в пути.

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

Более подробно о решении проблем с анализом сети

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

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

FromPrevTravelTime

Время в пути до заказа от предыдущего посещения на маршруте.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

FromPrevDistance

Расстояние до заказа от предыдущего посещения на маршруте.

Единица измерения для значения данного поля устанавливается свойством Единицы поля расстояния (Distance Field Units) слоя анализа. Это поле пустое (NULL), если свойство Атрибут расстояния (Distance Attribute) не задано в параметрах анализа.

CumulTravelTime

Суммарное время в пути по маршруту до прибытия на заказ.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CumulDistance

Кумулятивное расстояние по маршруту до прибытия на заказ.

Единица измерения для значения данного поля устанавливается свойством Единицы поля расстояния (Distance Field Units) слоя анализа. Это поле пустое (NULL), если свойство Атрибут расстояния (Distance Attribute) не задано в параметрах анализа.

CumulTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

ArriveCurbApproach

Указывает на сторону транспортного средства, с которой должен находится бордюр при прибытии в сетевое положение. Если для параметра CurbApproach сетевого положения задано значение Справа по направлению движения (Right side of vehicle), то после решения ArriveCurbApproach будет равен Справа по направлению движения (Right side of vehicle). Однако, если значение CurbApproach установлено на С любой стороны (Either side of vehicle) или Без разворота (No U-Turn), то свойство ArriveCurbApproach может быть как слева, так и справа по направлению движения, в зависимости от того, что позволит выполнить кратчайший маршрут.

DepartCurbApproach

Указывает на сторону транспортного средства, с которой должен находиться бордюр при отправлении из сетевого положения. Если для параметра CurbApproach сетевого положения задано значение Справа по направлению движения (Right side of vehicle), то после решения DepartCurbApproach будет равен Справа по направлению движения (Right side of vehicle). Однако, если значение CurbApproach установлено на С любой стороны (Either side of vehicle) или Без разворота (No U-Turn), то свойство DepartCurbApproach может быть как слева, так и справа по направлению движения, в зависимости от того, что позволит выполнить кратчайший маршрут.

ArriveTime

Значение даты и времени, указывающее время прибытия на заказ.

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

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

DepartTime

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

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

WaitTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

ViolationTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CumulWaitTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CumulViolationTime

Суммарное время нарушений от начала маршрута вплоть до заказа включительно.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

Класс «Станции» (Depots)

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

Свойства станции

Поля ввода слоя «Станции» (Depots)

Входное поле

Описание

ObjectID

Управляемое системой поле ID.

Shape

Поле геометрии, показывающее географическое положение объекта сетевого анализа.

Name

Имя объекта сетевого анализа.

Это поле служит первичным ключом и используется как внешний ключ в слое пространственных объектов «Маршруты» (Routes), таблице RouteRenewals и слое пространственных объектов «Посещения станций» (Depot Visits) для обращения к станциям. Имена станций нечувствительны к реестру и должны быть непустыми и уникальными.

Description

Описательная информация об объекте сетевого анализа. Может содержать любую текстовую информацию и не имеет ограничений на уникальность.

Возможно, необходимо будет записать регион, в котором находится станция, или ее адрес и номер телефона. Эту информацию можно ввести здесь, а не в поле «Имя» (Name).

TimeWindowStart1

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

(Дополнительную информацию см. в примечании к данной таблице свойств.)

TimeWindowEnd1

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

(Дополнительную информацию см. в примечании к данной таблице свойств.)

TimeWindowStart2

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

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

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

(Дополнительную информацию см. в примечании к данной таблице свойств.)

TimeWindowEnd2

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

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

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

(Дополнительную информацию см. в примечании к данной таблице свойств.)

Поля сетевого положения

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

Вместе эти четыре свойства описывают точку сети, в которой расположен объект.

Более подробно о полях сетевого положения

CurbApproach

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

  • С любой стороны (Either side of vehicle) (0) – Транспортное средство может прибывать и отправляться от сетевого положения в любом направлении. Развороты допустимы. Вам необходимо выбрать данную настройку в том случае, если транспортное средство может сделать разворот на остановке, или если оно может съехать на проезжую часть или в место для стоянки и развернуться.
  • Справа по направлению движения (Right side of vehicle) (1) – При подъезде транспортного средства к сетевому положению и отправлению от него, бордюр должен находиться с правой стороны транспортного средства. Разворот запрещен.
  • Слева по направлению движения (Left side of vehicle) (2) – При подъезде транспортного средства к сетевому положению и отправлении от него, бордюр должен находиться с левой стороны транспортного средства. Разворот запрещен.
  • Без разворота (No U-Turn) (3) – этот режим для станций недопустим. При использовании режима «Без разворота» (No U-Turn) в процессе расчета возвращается сообщение об ошибке. Тем не менее, можно все равно избегать разворотов, выбрав значение «Справа по направлению движения» (Right side of vehicle) и «Слева по направлению движения» (Left side of vehicle).

Более подробно о правилах разворотов

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

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

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

Поля ввода/вывода слоя «Станции» (Depots)

Входное/Выходное поле

Описание

Status

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

  • OK (0) – Корректное сетевое положение.
  • Не размещено (Not located) (1) – положение в сети не может быть определено.
  • Элемент сети не размещен (Network element not located) (2) – сетевой элемент, на котором должно находиться положение, не может быть найден. Это может произойти, если ребро сети было удалено, и повторный расчет сетевого положения не был выполнен.

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

  • OK (0) – Сетевое положение было успешно проверено.
  • Элемент непроходим (Element not traversable) (3) – сетевой элемент, на котором расположено сетевое положение, не является проходимым. Это может произойти, когда сетевой элемент ограничен соответствующим атрибутом.
  • Некорректные значения поля (Invalid field values) (4) – значения поля сетевого положения выходят за диапазон доменов кодов или интервалов слоя анализа. Например, существует отрицательное значение при условии использования положительных значений.
  • Не достигнуто (Not reached) (5) – сетевое положение не может быть достигнуто механизмом расчета.

Если используются временные окна, а транспортное средство прибывает по маршруту слишком рано или слишком поздно, значение меняется на Превышение временного окна (Time window violation) (6).

Класс Маршруты

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

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

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

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

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

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

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

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

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

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

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

Маршруты представляют собой линейные пространственные объекты. Их можно импортировать из существующих маршрутов, расположенных в других слоях анализа задачи выбора маршрута транспорта, других линейных объектов или таблиц. Также их можно создавать командой Добавить элемент (Add Item).

Свойства маршрута

Входные поля Маршрутов

Входное поле

Описание

ObjectID

Управляемое системой поле ID.

Name

Имя объекта сетевого анализа.

Это поле служит первичным ключом и используется как внешний ключ в слое пространственных объектов «Заказы» (Orders), таблице «Перерыв» (Breaks), слое пространственных объектов «Зоны маршрутов» (Route Zones), слое пространственных объектов «Исходные точки маршрутов» (Route Seed Points), таблице «Обновления маршрутов» (Route Renewals) и слое пространственных объектов «Посещения станций» (Depot Visits). Имена маршрутов нечувствительны к регистру и не могут быть пустыми, даже если маршрут не является частью операции расчета. Имя должно быть уникальным.

Description

Описательная информация об объекте сетевого анализа. Может содержать любую текстовую информацию и не имеет ограничений на уникальность.

StartDepotName

Имя начальной станции маршрута. Это поле является внешним ключом для поля Name в классе Станции (Depots). Объекты станций должны существовать до того, как они появятся в раскрывающемся списке StartDepotName.

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

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

EndDepotName

Имя конечной станции маршрута. Это поле является внешним ключом для поля Name в классе Станции (Depots). Объекты станций должны существовать до того, как они появятся в раскрывающемся списке EndDepotName.

StartDepotServiceTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

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

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

EndDepotServiceTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

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

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

EarliestStartTime

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

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

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

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

LatestStartTime

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

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

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

ArriveDepartDelay

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

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

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

Capacities

Максимальная величина (например, объем, вес или количество), которая может быть перевезена транспортным средством. Если транспортное средство может перевозить максимум 40000 фунтов, параметру Число характеристик ёмкости (Capacity Count) в диалоговом окне Свойства слоя (Layer Properties) слоя анализа следует задать значение 1, а параметру Вместимость (Capacities) – значение 40000. Подобным образом, если транспортное средство может перевозить 1000 кубических футов, параметру Число характеристик ёмкости (Capacity Count) следует задать значение 1, а параметру Вместимость (Capacities) – значение 1000.

ВниманиеВнимание:

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

При наличии нескольких характеристик вместимости, на что указывает параметр Число характеристик ёмкости (Capacity Count) слоя анализа, значения характеристик разделяются пробелом. Например, если используются как максимальный вес, так и максимальный объем транспортного средства, параметру Число характеристик ёмкости (Capacity Count) в диалоговом окне Свойства слоя (Layer Properties) слоя анализа следует задать значение 2; если транспортное средство может перевозить вес 40000 фунтов и объем 2000 кубических футов, параметру Вместимость (Capacities) следует задать значение 40000 2000.

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

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

FixedCost

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

CostPerUnitTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CostPerUnitDistance

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

Единица расстояния указывается свойством Единицы поля расстояния (Distance Field Units) слоя анализа.

Механизм расчета вернет ошибку, если для данного поля введено значение, а свойство Атрибут расстояния (Distance Attribute) не задано для слоя анализа.

OvertimeStartTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

Например, если водителю выплачиваются сверхурочные при превышении общей длительностью маршрута восьми часов, значение OvertimeStartTime указывается равным 8, если свойству Единицы поля расстояния (Distance Field Units) слоя анализа задано значение Часы (Hours).

CostPerUnitOvertime

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

MaxOrderCount

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

MaxTotalTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

MaxTotalTravelTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

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

MaxTotalDistance

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

Единица измерения общего расстояния указывается свойством Единицы поля расстояния (Distance Field Units) слоя анализа.

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

Механизм расчета вернет ошибку, если для данного поля введено значение, а свойство Атрибут расстояния (Distance Attribute) не задано для слоя анализа.

SpecialtyNames

Строка, разделенная пробелами и содержащая имена специальных требований, поддерживаемых маршрутом. Нулевое значение указывает, что маршрут не поддерживает никаких специальных требований. Это поле является внешним ключом для поля Name в таблице «Специальные требования» (Specialties). Объекты специальных требований должны существовать до того, как они появятся в списке SpecialtyNames.

AssignmentRule

Определяет, может ли маршрут быть использован для решения задачи. Это поле ограничено доменом значений; возможные значения:

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

Выходные поля Маршрутов

Выходное поле

Описание

Shape

Форма линии маршрута. Если свойству Тип формы на выходе (Output Shape Type) слоя анализа задано значение «Нет» (None), форма не возвращается. Присвоение свойству Тип формы на выходе (Output Shape Type) значения «Прямая» (Straight Line) возвращает прямые линии маршрутов, соединяющие каждую пару последовательных посещений. Значения Истинная форма с измерениями (True Shape with measures) и Истинная форма (True Shape) оба возвращают линии, трассирующие соответствующие маршруты по сети. Разница в том, что при значении Истинная форма с измерениями (True Shape with measures) возвращается линия, которая уже линейно привязана ко времени.

ViolatedConstraints

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

Более подробноБолее подробно:

Кодированные значения, представляющие текстовое описание, приведены в списке ниже, в скобках. Обратите внимание, что кодированные значения являются частью геометрической последовательности, которая увеличивается путем удвоения последнего значения. Это позволяет кодировать различные комбинации нарушений. Например, комбинация Превышение емкостей (Capacities exceeded) (2) и Жесткая зона маршрута (Hard route zone) (128) кодируются, как 130 (2 +128).

  • Превышение максимального числа заказов (MaxOrderCount) (1) – предварительно назначенные заказы нельзя назначить маршруту, поскольку это привело бы к превышению максимального числа заказов, которое можно назначить маршруту, что указывается значением поля MaxOrderCount этого маршрута.
  • Превышение вместимости (Capacities) (2) – предварительно назначенные заказы нельзя назначить маршруту, поскольку при это привело бы к превышению общей емкости маршрута, указанной значением поля Емкость (Capacities) этого маршрута.
  • Превышение максимального общего времени (MaxTotalTime) (4) – время в пути от начальной станции к конечной плюс время обслуживания и ожидания на обеих станциях и всех перерывов превышает общее время маршрута, указанное значением поля MaxTotalTime для этого маршрута.
  • Превышение максимального общего времени в пути (MaxTotalTravelTime) (8) – время в пути от начальной станции к конечной превышает общее время в пути для маршрута, указанное значением поля MaxTotalTravelTime для этого маршрута.
  • Превышение максимального общего расстояния (MaxTotalDistance) (16) – расстояние пути от начальной станции к конечной превышает общее расстояние пути для маршрута, указанное значением поля MaxTotalDistance этого маршрута.
  • Жесткое временное окно (32) – имеется нарушение жесткого временного окна на начальной станции, на конечной станции или в перерыве, связанном с маршрутом.
  • Несоответствие специальному требованию (64) – специальные требования заказа не соблюдаются в целевом маршруте.
  • Жесткая зона маршрута (128) – заказ, предварительно назначенный маршруту, не попадает в пределы жесткой зоны маршрута.
  • Превышение максимального транзитного времени (MaxTransitTime) для пары заказов (256) – имеется предварительно назначенная маршруту пара заказов, и при назначении этой пары заказов было бы превышено максимальное время нахождения в пути, указанное значением поля MaxTransitTime этой пары заказов.
  • Нарушение пары заказов (512) – заказ принадлежит к паре заказов и не может быть назначен предварительно назначенному маршруту.
  • Недостижимо (1024) – предварительно назначенный заказ расположен в элементе сети, который недостижим данным маршрутом.
  • Невозможно вставить необходимый перерыв (2048) – перерыв на маршруте имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Невозможно вставить необходимое обновление (4096) – емкость маршрута превышена, и необходимо посетить обновление маршрута; однако связанное обновление маршрута имеет пустое значение последовательности (null) при наличии предварительно назначенных заказов, и его нельзя вставить нигде, не вызвав других нарушений.
  • Превышено максимальное время в пути между перерывами (MaxTravelTimeBetweenBreaks) (8192) – механизму расчета не удалось вставить перерыв в пределах времени, указанного полем MaxTravelTimeBetweenBreaks перерыва. Причина зачастую в предварительном назначении последовательности для перерыва таким образом, что он становится недостижимым в пределах максимального времени в пути.

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

OrderCount

Число заказов, назначенных маршруту.

TotalCost

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

  • FixedCost
  • RegularTimeCost
  • OvertimeCost
  • DistanceCost

RegularTimeCost

Стоимость обычного рабочего времени, за исключением неоплачиваемых перерывов.

OvertimeCost

Стоимость сверхурочной работы, за исключением неоплачиваемых перерывов.

DistanceCost

Компонент стоимости расстояния, получаемый умножением значений полей TotalDistance и CostPerUnitDistance. Это поле имеет нулевое значение, если свойство Атрибут расстояния (Distance Attribute) не указан для слоя анализа.

TotalTime

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

  • StartDepotServiceTime
  • EndDepotServiceTime
  • TotalOrderServiceTime
  • TotalBreakServiceTime
  • TotalRenewalServiceTime
  • TotalWaitTime
  • TotalTravelTime

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

TotalOrderServiceTime

Общее время обслуживания, потраченное на всех заказах по маршруту.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

TotalBreakServiceTime

Общее время обслуживания, потраченное на всех перерывах по маршруту.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

TotalTravelTime

Общее время в пути для маршрута.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

TotalDistance

Общее расстояние пути для маршрута.

Единица измерения для значения данного поля устанавливается свойством Единицы поля расстояния (Distance Field Units) слоя анализа. Это поле пустое (NULL), если свойство Атрибут расстояния (Distance Attribute) не задано в параметрах анализа.

StartTime

Время начала маршрута. Маршрут может начинаться до начала временного окна его начальной станции; в этом случае на начальной станции будет затрачено время ожидания.

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

EndTime

Время окончания маршрута. Маршрут заканчивается по завершении обслуживания на конечной станции.

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

TotalWaitTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

TotalViolationTime

Общее время нарушения на всех заказах и перерывах по маршруту.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

RenewalCount

Для маршрута с обновлениями равно числу посещений станций для пополнения загрузки.

TotalRenewalServiceTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

Слой пространственных объектов «Посещения станций» (Depot Visits)

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

Это класс сетевого анализа, предназначенный только для вывода. Пространственные объекты посещений станций создаются строго во время операции расчета; поэтому класс анализа до начала процесса расчета всегда пуст.

Свойства посещения станции

Выходные поля Посещения станций

Выходное поле

Описание

ObjectID

Управляемое системой поле ID.

Shape

Поле геометрии, показывающее географическое положение объекта сетевого анализа.

DepotName

Имя посещенной станции Это поле является внешним ключом для поля Name в классе сетевого анализа «Станции» (Depots).

Если в маршруте используется виртуальная станция, то есть маршрут начинается или заканчивается на заказе, а не на станции, поле DepotName имеет нулевое значение.

RouteName

Имя маршрута, содержащего данное посещение. Это поле является внешним ключом для поля Name в слое пространственных объектов «Маршруты» (Routes).

Sequence

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

VisitType

Причина посещения данной станции. Это поле ограничено доменом значений:

  • Начальная станция (Start depot)
  • Конечная станция (End depot)
  • Станция обновления (Renewal depot)

ServiceTime

Время обслуживания (например, загрузки или выгрузки) на станции.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

FromPrevTravelTime

Время в пути до станции от предыдущего посещения на маршруте.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

FromPrevDistance

Расстояние до станции от предыдущего посещения на маршруте.

Единица измерения для значения данного поля устанавливается свойством Единицы поля расстояния (Distance Field Units) слоя анализа. Это поле пустое (NULL), если свойство Атрибут расстояния (Distance Attribute) не задано в параметрах анализа.

CumulTravelTime

Суммарное время в пути по маршруту до прибытия на данную станцию.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CumulDistance

Суммарное расстояние перемещения по маршруту до прибытия на данную станцию.

Единица измерения для значения данного поля устанавливается свойством Единицы поля расстояния (Distance Field Units) слоя анализа. Это поле пустое (NULL), если свойство Атрибут расстояния (Distance Attribute) не задано в параметрах анализа.

CumulTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

ArriveTime

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

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

DepartTime

Время отправления со станции.

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

WaitTime

Время ожидания на станции.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CumulWaitTime

Суммарное время ожидания от начала маршрута вплоть до станции включительно.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CumulViolationTime

Суммарное время нарушений от начала маршрута вплоть до станции включительно.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

TotalLoadedQuantities

Величина (например, объем, вес или количество), загружаемая на станции. При наличии нескольких характеристик вместимости, на что указывает свойство Число характеристик ёмкости (Capacity Count) слоя анализа, они разделяются пробелом. Например, в случае доставки значение поля TotalLoadedQuantities обозначает фактическое количество товаров, доставляемых транспортным средством перед возвращением на станцию. Это значение меньше или равно значению поля «Вместимость» (Capacities) для заданного маршрута, что обозначает, что маршрут выполняет доставку с одним заполнением грузовика.

TotalUnloadedQuantities

Величина (например, объем, вес или количество), выгружаемая на станции. При наличии нескольких характеристик вместимости, на что указывает свойство Число характеристик ёмкости (Capacity Count) слоя анализа, они разделяются пробелом. Например, в случае сбора или маршрутов с обновлениями значение поля TotalUnloadedQuantities обозначает фактическое количество товаров, собираемых транспортным средством и доставляемых на станцию. Это значение меньше или равно значению поля «Вместимость» (Capacities) для заданного маршрута, что обозначает, что маршрут выполняет сбор с одним заполнением грузовика.

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

В слое пространственных объектов «Посещения станций» (Depot Visits) нет выходного поля времени нарушения (ViolationTime), поскольку у станций жесткие временные окна.

Класс «Перерывы»

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

  • Перерыв с временным окном – для настройки перерыва с временным окном следует ввести два значения времени дня для определения временного диапазона, в котором должен начинаться перерыв. В полях TimeWindowStart и TimeWindowEnd содержатся граничные значения времени дня. Длительность перерыва (время обслуживания) не зависит от временного окна и поэтому может выходить за предел окончания окна времени. Например, если окно времени для часового перерыва простирается от 10:00 до 10:15, перерыв должен начаться после 10:00, но до 10:15. Если перерыв начнется в 10:10, он закончится в 11:10.

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

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

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

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

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

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

У перерывов есть поле Приоритет (Precedence), которое упорядочивает их в последовательность. Таким образом, если необходимо, чтобы 15-минутный перерыв состоялся перед одночасовым перерывом, значением приоритета для 15-минутного перерыва должно быть 1, а значением приоритета для другого – 2. Приоритет необходим для обоих перерывов, даже несмотря на то, что перерывам с максимальным временем работы и с временным окном присущ хронологический порядок.

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

Свойства перерыва

Поля ввода слоя «Перерывы» (Breaks)

Входное поле

Описание

ObjectID

Управляемое системой поле ID.

TimeWindowStart

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

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

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

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

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

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

При использовании наборов сетевых данных с данными трафика, охватывающими несколько часовых поясов, часовой пояс для TimeWindowStart и TimeWindowEnd принимается таким же, как и часовой пояс для ребра или соединения, на котором расположена начальная станция.

TimeWindowEnd

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

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

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

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

Дополнительную информацию см. в описании TimeWindowStart (выше).

MaxTravelTimeBetweenBreaks

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

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

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

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

MaxCumulWorkTime

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

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

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

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

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

RouteName

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

Данное поле является внешним ключом для поля Имя (Name) в классе Маршруты (Routes) и не может содержать значение NULL.

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

Precedence

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

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

ServiceTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

MaxViolationTime

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

Нулевое значение указывает, что временное окно не может быть нарушено; то есть это окно является жестким. Ненулевое значение указывает максимальную величину опоздания; например, перерыв может начаться до 30 минут после окончания выделенного ему временного окна, но штраф за опоздание рассчитывается в соответствии со свойством Нарушения временных окон (Time Window Violations) слоя анализа.

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

IsPaid

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

Поля ввода/вывода слоя «Перерывы» (Breaks)

Входное/Выходное поле

Описание

Sequence

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

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

Поля вывода слоя «Перерывы» (Breaks)

Выходное поле

Описание

RelativePosition

Относительное положение перерыва. Перерывы берутся в любом месте между двумя сетевыми положениями (заказами или станциями). Значение 0,0 указывает, что перерыв берется сразу после завершения заказа в предыдущем сетевом положении; значение 1,0 – что сразу после начала обслуживания в последующем сетевом положении; а значение между этими двумя указывает, где на пути от первого ко второму сетевому положению берется перерыв. Например, значение 0,25 указывает, что перерыв берется на четверти пути от предыдущего сетевого положения к следующему.

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

FromPrevTravelTime

Время в пути от предыдущего заказа, станции или перерыва до данного перерыва.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

FromPrevDistance

Расстояние пути от предыдущего заказа, станции или перерыва до данного перерыва.

Единица измерения для значения данного поля устанавливается свойством Единицы поля расстояния (Distance Field Units) слоя анализа. Это поле пустое (NULL), если свойство Атрибут расстояния (Distance Attribute) не задано в параметрах анализа.

CumulTravelTime

Суммарное время в пути по маршруту до прибытия на перерыв.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CumulDistance

Кумулятивное расстояние пути по маршруту до прибытия на перерыв.

Единица измерения для значения данного поля устанавливается свойством Единицы поля расстояния (Distance Field Units) слоя анализа. Это поле пустое (NULL), если свойство Атрибут расстояния (Distance Attribute) не задано в параметрах анализа.

CumulTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

ArriveTime

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

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

DepartTime

Время завершения перерыва.

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

WaitTime

Время ожидания на перерыве.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

ViolationTime

Время нарушения на перерыве.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CumulWaitTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

CumulViolationTime

Суммарное время нарушений от начала маршрута вплоть до перерыва включительно.

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

Класс «Зоны маршрутов» (Route Zones)

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

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

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

Свойства зоны маршрута

Поля ввода слоя «Зоны маршрутов» (Route Zones)

Входное поле

Описание

ObjectID

Управляемое системой поле ID.

Shape

Поле геометрии, показывающее географическое положение объекта сетевого анализа.

RouteName

Название маршрута, для которого применяется данная зона. Зона маршрута может иметь не более одного связанного маршрута. Это поле не может содержать значения NULL и является внешним ключом для поля Имя (Name) в классе слоя Маршруты (Routes).

Объекты маршрутов должны существовать до того, как они появятся в списке RouteName.

IsHardZone

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

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

  • Поскольку для измерения расстояния между зоной маршрута и заказами используется евклидово расстояние, атрибут расстояния на основе сети необязателен.
  • Даже несмотря на то, что маршрут, связанный с жесткой зоной маршрута, может обслуживать только заказы внутри этой зоны, другие маршруты все равно могут входить в эту же зону и обслуживать в ней заказы. Дело в том, что зоны маршрутов ограничивают маршрут, а не заказы. (Если нужно назначить все заказы в области эксклюзивно одному маршруту, не используйте зоны маршрутов; вместо этого выберите заказы в области, измените в этих заказах поле RouteName на соответствующий маршрут и установите для поля AssignmentRule значение «Сохранить маршрут» (Preserve Route).)

Класс «Исходные точки маршрутов» (Route Seed Points)

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

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

  • Для маршрута может быть предварительно назначена исходная точка, или же она может быть вычислена механизмом расчета задачи выбора маршрута транспорта.
  • При использовании исходных точек маршрутов в анализе нельзя использовать зоны маршрутов.
  • Если используются исходные точки маршрутов, каждому маршруту необходимо назначить одну исходную точку.
  • Типы исходных точек маршрутов нельзя объединять; в классе сетевого анализа все исходные точки должны быть либо динамическими, либо статическими.

Исходные точки маршрутов являются точечными пространственными объектами; однако они не являются сетевыми положениями. Поэтому у них нет полей сетевых положений.

Класс «Исходные точки маршрутов» (Route Seed Points)

Поля ввода слоя «Исходные точки маршрутов» (Route Seed Points)

Входное поле

Описание

ObjectID

Управляемое системой поле ID.

RouteName

Название маршрута, к которому применяется данная исходная точка. На каждый маршрут допустима только одна исходная точка. Это поле не может содержать нулевые значения и является внешним ключом для поля Name в классе «Маршруты» (Routes). Объекты маршрутов должны существовать до того, как они появятся в списке RouteName.

SeedPointType

Тип исходной точки. Это поле ограничено доменом значений; возможные значения – Статический (Static) и Динамический (Dynamic). Значение этого поля по умолчанию – «Статический» (Static).

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

Поля ввода-вывода слоя «Исходные точки маршрутов» (Route Seed Points)

Входное/Выходное поле

Описание

Shape

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

С другой стороны, при динамической исходной точке входная форма игнорируется, и механизм расчета меняет поле «Форма» (Shape) в процессе расчета, отображая ее новое положение.

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

Для измерения расстояния между исходными точками маршрута и заказами используется евклидово расстояние; поэтому в свойствах слоя Атрибут расстояния (Distance Attribute) на основе сети необязателен.

Класс «Обновления маршрутов» (Route Renewals)

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

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

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

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

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

Свойства обновления маршрута

Поля ввода слоя «Обновления маршрутов» (Route Renewals)

Входное поле

Описание

ObjectID

Управляемое системой поле ID.

DepotName

Имя станции, в которой происходит такое обновление. Это поле не может содержать значение NULL и является внешним ключом для поля Имя (Name) в классе слоя Станции (Depots).

Объекты станций должны существовать до того, как они появятся в списке DepotName.

RouteName

Название маршрута, к которому применяется данное обновление. Это поле не может содержать значение NULL и является внешним ключом для поля Имя (Name) в классе слоя Маршруты (Routes).

Объекты маршрутов должны существовать до того, как они появятся в списке RouteName.

ServiceTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

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

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

Поля ввода/вывода слоя «Обновления маршрутов» (Route Renewals)

Входное/Выходное поле

Описание

Sequences

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

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

Класс «Специальные требования» (Specialties)

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

Заказ может требовать наличия технического специалиста с определенным набором навыков или автомобиля со специальными возможностями. Эти навыки, возможности и т. п. можно моделировать, добавляя их сначала в класс «Специальные требования» (Specialties). Затем специальные требования, поддерживаемые маршрутом, добавляются в его свойство SpecialtyName. Наконец, специальные требования заказа добавляются в его свойство SpecialtyName. При расчете анализа задачи выбора маршрута транспорта заказы со специальными требованиями сопоставляются с маршрутами, которые им удовлетворяют.

Свойства специального требования

Входные поля Специальных требований

Входное поле

Описание

ObjectID

Управляемое системой поле ID.

Name

Имя объекта сетевого анализа.

Это поле служит первичным ключом и используется как внешний ключ в слоях пространственных объектов «Заказы» (Orders) и «Маршруты» (Routes) для обращения к специальным требованиям.

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

Требование отсутствия пробелов обязательно, поскольку в заказах и маршрутах, связанных с несколькими специальными требованиями, их список разделяется пробелами, например «SeniorTechnician Lift» (СтаршийТехническийСпециалист Подъемник).

Description

Описательная информация об объекте сетевого анализа. Может содержать любую текстовую информацию и не имеет ограничений на уникальность.

Класс «Пары заказов» (Order Pairs)

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

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

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

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

Свойства пары заказов

Входные поля Пар заказов

Входное поле

Описание

ObjectID

Управляемое системой поле ID.

FirstOrderName

Имя первого заказа в паре. Это поле является внешним ключом для поля Имя (Name) в слое пространственных объектов Заказы.

Объекты заказов должны существовать до того, как они появятся в списке FirstOrderName.

SecondOrderName

Имя второго заказа в паре. Это поле является внешним ключом для поля Имя (Name) в слое пространственных объектов Заказы.

Объекты заказов должны существовать до того, как они появятся в списке SecondOrderName.

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

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

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

MaxTransitTime

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

Единица измерения для значения данного поля задается свойством Единицы поля времени (Time Field Units) для слоя анализа.

Механизмом расчета может отслеживаться и учитываться лишнее время в пути (измеряемое с учетом непосредственного времени в пути между парами заказов). По этой причине можно задать для механизма решения задачи выбора маршрута транспорта один из трех подходов: (1) минимизировать общее лишнее время в пути, независимо от увеличения стоимости пути для парка; (2) найти баланс между общим временем нарушений и стоимостью пути; (3) игнорировать общее лишнее время в пути и вместо этого минимизировать стоимость пути для парка. Назначая уровень важности параметру Избыточное время в пути (Excess Transit Time) слоя анализа, вы фактически выбираете один из этих трех подходов. Независимо от уровня значимости, механизм расчета всегда будет приводить к ошибке при превышении значения свойства MaxTransitTime.

Точечные, линейные и полигональные барьеры

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

Барьеры доступны во всех слоях сетевого анализа; поэтому они описаны в отдельной теме.

Более подробно о барьерах

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

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

Более подробно об открытии диалогового окна Свойства слоя (Layer Properties) для выполнения сетевого анализа

Закладка Настройки анализа (Analysis Settings)

Следующие подразделы перечисляют параметры, которые вы можете задать для слоя анализа. Они устанавливаются на закладке Настройки анализа (Analysis Settings) в диалоговом окне Свойства слоя (Layer Properties) для слоя анализа.

Закладка Настройки анализа (Analysis Settings)
Параметры анализа для слоя анализа задачи выбора маршрута транспорта

Атрибут времени (Time Attribute)

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

Более подробно про редактирование атрибутов стоимости

Атрибут расстояния (Distance Attribute)

Атрибут стоимости расстояния, используемый для определения длины пути по элементам сети. Атрибут стоимости расстояния является необязательным.

Более подробно про редактирование атрибутов стоимости

Дата по умолчанию (Default Date)

Неявно предполагаемая дата для значений полей времени, в которых не указывается дата. Если поле времени в заказе, например TimeWindowStart1, содержит только значение времени, то предполагается дата, указанная свойством Дата по умолчанию (Default Date). Например, если в заказе для поля TimeWindowStart1 указано значение 9:00, а значение свойства Дата по умолчанию (Default Date) – 6 марта 2011 г., полное значение времени для поля будет иметь вид 9:00, 6 Марта 2011 г. При изменении параметра Дата по умолчанию (Default Date) неявно предполагаемой датой для всех значений полей времени без указанной даты будет новая дата по умолчанию. Дата по умолчанию не влияет на значения полей времени, для которых время уже указано вместе с определенной датой.

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

По выбору можно ввести «плавающий» день или календарную дату. Календарная дата включает в себя конкретное число, месяц и год. Плавающий днем может быть «Сегодня» (Today) или любой день недели (от воскресенья до субботы). Плавающие дни позволяют настроить слой анализа для повторного использования без необходимости помнить о смене даты.

Опция выбора дней особенно полезна при использовании данных трафика, так как движение машин и ситуация на дорогах может часто меняться. Например, если вы вычисляете одинаковые маршруты каждый день, и вам требуется более точное время или лучший маршрут в данных условиях трафика, можно выбрать параметры День недели (Day of Week) и Сегодня (Today). Механизм расчета сформирует результаты на основе трафика для текущего дня; эта дата определяется операционной системой компьютера. Если использовать следующий день (например, 5 мая) для обновления маршрутов этого дня, можно повторно рассчитать тот же слой анализа. Решение автоматически будет основываться на условиях трафика 5 мая, так как для параметра День недели (Day of Week) задано значение Сегодня (Today).

ВниманиеВнимание:

Если выбрать День недели (Day of Week), в полях времени объектов сетевого анализа будут разрешены только значения времени, без значений даты.

Более подробно о данных исторического трафика

Число характеристик ёмкости (Capacity Count)

Число измерений ограничений вместимости, необходимое для описания соответствующих лимитов транспортных средств. В случае доставки заказов у каждого транспортного средства может быть ограниченный вес и объем, которые оно может перевозить одновременно, в зависимости от физических и законодательных ограничений. В этом случае при отслеживании веса и объема заказов можно использовать эти две характеристики вместимости для предотвращения перегрузки транспортных средств. Число характеристик вместимости для этого сценария равно двум (вес и объем). В зависимости от задачи может понадобиться отслеживать разные типы величин вместимости. Характеристики вместимости, которые вводятся в поля вместимости (DeliveryQuantities и PickupQuantities для класса «Заказы» (Orders) и Capacities для класса «Маршруты» (Routes)), представляют собой разделяемые пробелами строки чисел, которые могут содержать вплоть до максимального количества значений, указанного свойством «Счетчик вместимости» (Capacity Count). Каждое измерение вместимости должно отображаться на той же позиции во всех значениях полей вместимости в одном и том же слое анализа задачи выбора маршрута транспорта. Сами характеристики вместимости не имеют имен, поэтому во избежание случайного перемещения измерений вместимости убедитесь, что разделяемые пробелами списки характеристик вместимости всегда вводятся в одинаковом порядке для всех значений полей вместимости.

Единицы поля времени (Time Field Units)

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

Единицы поля расстояния (Distance Field Units)

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

Развороты в соединениях

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

Сведения о правилах разворотов

Тип выходной формы (Output Shape Type)

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

  • Истинная форма (True Shape) дает точную форма маршрута, полученного в результате расчета.

    Маршрут как истинная форма

  • Истинная форма с измерениями (True Shape with Measures) дает точную форма маршрута, полученного в результате расчета. Более того, выходной результат включает измерения маршрута для линейной привязки. Измерения начинаются с первой остановки и записывают накапливаемый импеданс.

    Более подробно о системах линейных координат

  • Прямая линия (Straight Line) выдает отдельную прямую линию между остановками.

    Форма прямой линии для маршрута

  • Если свойству типа формы на выходе (Output Shape Type) присвоено значение Нет (None), то никакая форма не возвращается.

Во всех этих случаях затраты на основе времени и на основе расстояния в решении одинаковы, равно как и атрибуты слоя пространственных объектов «Маршруты»; единственным отличием является форма вывода маршрута или то, настраивается ли автоматически система линейных координат.

Использовать иерархию (Use Hierarchy)

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

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

Игнорировать неправильные местоположения заказов

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

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

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

Ограничения (Restrictions)

Вы можете выбрать, какие атрибуты ограничений будут применяться при выполнении анализа. В большинстве случаев, ограничения приводят к запрету проезда по дорогам, но они также могут указывать, избегать дорогу или наоборот, предпочесть ее. Атрибут ограничения, такой как Oneway, должен быть использован при вычислении решений для транспортных средств, которые должны подчиняться движению по односторонним улицам (транспортные средства, не принадлежащие службам спасения). Другие общие атрибуты ограничений включают ограничения (предельные величины) высоты или веса, которые запрещают некоторым транспортным средствам проезд по определенным дорогам или мостам; ограничения для перевозимых опасных веществ, когда водители, перевозящие такие материалы, должны полностью объезжать, или пытаться избежать некоторых дорог; и предусмотренные маршруты для грузового транспорта, которых должны придерживаться водители грузовиков. Вы можете выбрать, какие атрибуты ограничений будут применяться при выполнении анализа. (Вы можете дальше уточнить, будет ли перемещение по элементам, использующим это ограничение, запрещено, или оно будет избегаться или предпочитаться, на закладке Параметры атрибута (Attribute Parameters).)

Путевой лист (Directions)

С помощью свойств раздела Путевой лист можно задать единицы отображения расстояния и (необязательно) времени. Кроме того, можно выбрать автоматическое открытие путевого листа после формирования маршрута. (Чтобы отключить автоматическое отображение путевого листа, можно нажать кнопку Окно путевого листа (Directions Window) Направления для отображения направлений.)

Закладка Дополнительные настройки (Advanced Settings)

Закладка «Дополнительные настройки» слоя задачи выбора маршрута транспорта (VRP)

На закладке Дополнительные настройки (Advanced Settings) диалогового окна Свойства слоя (Layer Properties) отображаются следующие свойства слоя анализа задачи выбора маршрута транспорта. Сделанные тут настройки влияют на приоритеты механизма расчета при обработки нарушений временных окон для маршрутов и избыточного времени в пути для парных заказов. Присвоить можно значение Низкий (Low), Средний (Medium) или Высокий (High). Чем выше важность, тем больше механизм расчета пытается сократить или устранить связанные нарушения временных окон или лишнее время в пути.

Нарушение временного окна

Нарушение временного окна (Time Window Violation): это свойство позволяет ранжировать важность учета временных окон без их нарушений. Нарушение временного окна происходит в случае прибытия транспортного средства по вызову, в гараж или на остановку после своего временного окна. Нарушение – это интервал времени между моментом окончания временного окна и моментом прибытия.

Схема нарушения временного окна

Решение задачи выбора маршрута транспорта может меняться в соответствии со значением, выбранным для свойства Нарушение временного окна (Time Window Violation). В следующем списке перечислены значения и результаты анализа при выборе маршрута.

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

    При наличии других ограничений задачи выбора маршрута транспорта может быть невозможно посетить все заказы в пределах выделенных для них временных окон. В этом случае даже настройка «Высокий» (High) может вызывать нарушения.

  • Средний (Medium)это настройка по умолчанию. Механизм расчета будет стремиться найти компромиссное решение с одновременным соблюдением временных окон и обеспечением минимальной общей стоимости решения.

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

На следующих двух графиках показан один и тот же набор заказов и станций; однако маршруты различаются, поскольку были использованы разные настройки нарушений временных окон. На графике слева показан маршрут, получаемый при уровне важности нарушений временных окон «Низкий» (Low). Маршрут является коротким, но в нем содержится нарушение временного окна. В случае уровня «Высокий» (High) маршрут соблюдает все временные окна, но занимает больше времени, поскольку сначала обслуживает заказ с временным окном.

Низкая важность
Низкая важность
Высокая важность
Высокая важность

Избыточное время транзита

Это свойство позволяет ранжировать важность сокращения избыточного времени в пути. Избыточное время в пути – это затрачиваемое сверх необходимого время для перемещения от одного вызова к другому. Лишнее время может возникать по причине перерывов или возвращения в гараж между вызовами.

Вычисление избыточного времени в пути
Вычисление избыточного времени в пути

Решение задачи выбора маршрута транспорта может меняться в соответствии со значением, выбранным для свойства Избыточное время в пути (Excess Transit Time). В следующем списке перечислены значения и результаты анализа при выборе маршрута.

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

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

Низкая важность
Низкая важность (курьер)
Высокая важность (такси)

Закладка Сетевые положения (Network Locations)

Параметры на закладке Сетевые положения (Network Locations) используются для нахождения сетевых положений и установки значений для их свойств.

Более подробно о сетевых положениях

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

После создания слоя анализа задачи выбора маршрута транспорта, заполнения его необходимыми объектами сетевого анализа и установки соответствующих свойств анализа можно получить решение слоя анализа задачи выбора маршрута транспорта, нажав кнопку Расчет (Solve) Решение на панели инструментов Network Analyst.

После расчета, если для свойства Тип формы на выходе (Output Shape Type) установлено значение Истинная форма (True Shape), механизм расчета задачи выбора маршрута транспорта проводит линии вдоль сети, соединяющей начальные станции, заказы, станции пополнения загрузки и конечные станции для каждого из маршрутов.

Окно Network Analyst также обновляет класс «Заказы» (Orders), группируя все заказы по маршрутам, которым они назначены. Обновляется класс «Посещения станций» (Depot Visits) для отображения начальных, конечных станций и станций пополнения загрузки для каждого из маршрутов.

Механизм расчета задачи выбора маршрута транспорта игнорирует любой маршрут, в котором для поля AssignmentRule задано значение «Исключить» (Exclude), и любой заказ, в котором для поля AssignmentRule задано значение «Исключить» (Exclude).

Затем механизм расчета задачи выбора маршрута транспорта вычисляет внутренне управляемую матрицу стоимости Источник-Назначение между каждым из положений заказов и станций, используя Атрибут времени (Time Attribute) в качестве импеданса и Атрибут расстояния (Distance Attribute) (если указан) в качестве накапливаемого атрибута.

Сведения об анализе матрицы стоимости Источник-Назначение

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

При наличии заказов без маршрутов механизм расчета задачи выбора маршрута транспорта пытается вставить наиболее дешевый заказ без маршрута в наилучший совместимый маршрут. Механизм пытается изменить последовательность назначенных маршруту заказов, если такое изменение улучшит решение, но не перемещает относительную последовательность заказов, значение поля AssignmentRule в которых установлено как «Сохранить маршрут и относительную последовательность» (Preserve route and relative sequence).

После успешного выбора маршрутов для всех возможных заказов механизм расчета задачи выбора маршрута транспорта выдает результаты в соответствующих полях вывода объектов сетевого анализа. Если для некоторых заказов не удается назначить маршрут, нарушенные ограничения выводятся в поля ViolatedConstraints слоя пространственных объектов «Заказы» (Orders). Если маршрут не используется в решении, его полям вывода присваивается нулевое значение.

Сведения о нарушаемых ограничениях для заказов и маршрутов

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

После успешного решения слоя анализа задачи выбора маршрута транспорта можно собрать решение для каждого маршрута, считав входные и выходные поля из таблицы «Перерывы» (Breaks) и слоев пространственных объектов «Посещения станций» (Depot Visits), «Заказы» (Orders) и «Маршруты» (Routes). Для каждого маршрута можно получить расписание, выполнив поиск по полю RouteName и получив значения последовательностей «Перерывы» (Breaks), «Посещения станций» (Depot Visits) и «Заказы» (Orders). Можно сформировать направления для составления подобного расписания. Слой пространственных объектов «Маршруты» (Routes) предоставляет сводку по каждому вычисленному маршруту.

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

5/28/2014