Временные окна

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

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

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

Узнайте больше о датах и времени в сетевом анализе

Временные окна в анализе маршрута

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

Временные окна в анализе маршрута определяются с помощью полей входного класса Stops:

Класс сетевого анализаПоле временного окна

Stops

TimeWindowStart— начало временного окна, когда можно посещать остановку.

TimeWindowEnd— окончание временного окна, когда можно посещать остановку.

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

Время, указанное для каждого временного окна, можно интерпретировать, используя местный часовой пояс каждого входного местоположения или в формате всемирного координированного времени (UTC). При использовании слоя анализа маршрута часовой пояс для полей окна времени можно указать с помощью параметра Часовой пояс для полей времени в диалоговом окне инструмента геообработки Создать слой анализа маршрута или в раскрывающемся списке Базовый часовой пояс на ленте Слой маршрута. При использовании объекта Механизм расчета Route в модуле arcpy.nax Python используйте свойство timeZoneForTimeWindows.

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

Любое время ожидания или время нарушения маршрута включается в выходные данные. Общее время ожидания и время нарушения для каждого маршрута можно найти в выходном классе Routes в полях с префиксом TotalWait_ и TotalViolation_ соответственно. Время ожидания и время нарушения на каждой остановке маршрута можно найти в выходном классе Stops в полях с префиксом Wait_ и Violation_ соответственно. Поля в выходном классе Stops с префиксом CumulWait_ и CumulViolation_ представляют совокупное время ожидания и время нарушения до этой точки на маршруте.

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

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

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

Класс сетевого анализаПоле временного окна

Orders

TimeWindowStart— Начало первого временного окна, когда можно посетить заказ

TimeWindowEnd— Конец первого временного окна, когда можно посетить заказ

TimeWindowStart2— Начало второго временного окна, когда можно посетить заказ

TimeWindowEnd2— Конец второго временного окна, когда можно посетить заказ

Depots

TimeWindowStart— Начало первого временного окна, когда можно посетить станцию

TimeWindowEnd— Конец временного первого окна, когда можно посетить станцию

TimeWindowStart2— Начало второго временного окна, когда можно посетить станцию

TimeWindowEnd2— Конец второго временного окна, когда можно посетить станцию

Breaks

TimeWindowStart— Начало временного окна, когда может произойти перерыв

TimeWindowEnd— Конец временного окна, когда может произойти перерыв

Прежние версии:

При использовании объекта Механизм расчета VehicleRoutingProblem с версией схемы One в модуле arcpy.nax Python первое временное окно в классах Orders и Depots определяется с помощью полей, названных TimeWindowStart1 и TimeWindowEnd1 вместо TimeWindowStart и TimeWindowEnd.

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

Класс сетевого анализаПоле временного окна

Routes

EarliestStartTime— Начало временного окна, в котором может начаться движение по маршруту

LatestStartTime— Окончание временного окна, в котором может начаться движение по маршруту

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

Время, указанное для каждого временного окна, можно интерпретировать, используя местный часовой пояс каждого входного местоположения или в формате всемирного координированного времени (UTC). При использовании слоя анализа Задача выбора маршрута транспорта часовой пояс для полей временного окна можно указать с помощью параметра Часовой пояс для полей времени в диалоговом окне инструмента геообработки Создать слой анализа задачи выбора маршрута транспорта или в раскрывающемся списке Базовый часовой пояс на ленте Слоя VRP. При использовании объекта Механизм расчета VehicleRoutingProblem в модуле arcpy.nax Python используйте свойство timeZoneForTimeWindows.

Любое время ожидания или время нарушения маршрута включается в выходные данные. Общее время ожидания и время нарушения для каждого маршрута можно найти в выходном классе Routes в полях с TotalWaitTime и TotalViolationTime соответственно. Время ожидания и время нарушения для каждого заказа, перерыва или станции на маршруте можно найти в полях WaitTime и ViolationTime, соответственно. Поля CumulWaitTime и CumulViolationTime для заказа, станции или перерыва представляют совокупное время ожидания и время нарушения, соответственно, до этой точки на маршруте.

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

Прежние версии:

При использовании объекта Механизм расчета VehicleRoutingProblem с версией схемы One в модуле arcpy.nax Python поле MaxViolationTime в классе Orders называется MaxViolationTime1.

Временные окна в анализе доставки до двери

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

Временные окна в анализе доставки до двери заданы в классе Заказы с помощью следующих полей:

Класс сетевого анализаПоле временного окна

Orders

TimeWindowStart— Начало временного окна, в пределах которого можно посетить заказ

TimeWindowEnd— Окончание временного окна, в пределах которого можно посетить заказ

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

Класс сетевого анализаПоле временного окна

Routes

EarliestStartDate— Это работает в сочетании с EarliestStartTime, определяя начало временного окна, в пределах которого маршрут может быть начат — с указанием его части - даты.

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

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

И EarliestStartDate, и EarliestStartTime могут быть назначены для каждого объекта класса Routes или для всех объектов с помощью параметров EarliestRouteStartDate и EarliestRouteStartTime.

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

Время, указанное для каждого временного окна, можно интерпретировать, используя местный часовой пояс каждого входного местоположения или в формате всемирного координированного времени (UTC). При использовании слоя анализа Доставки до двери часовой пояс для полей окна времени можно указать с помощью параметра Часовой пояс для полей времени в диалоговом окне инструмента геообработки Создать слой анализа доставки до двери или в ниспадающем списке Базовый часовой пояс на ленте Слой доставки до двери. При использовании объекта механизма расчета LastMileDelivery в модуле arcpy.nax Python используйте свойство timeZoneForTimeFields.

Любое время ожидания или время нарушения маршрута включается в выходные данные. Общее время ожидания и время нарушения для каждого маршрута можно найти в выходном классе Маршруты в полях с TotalWaitTime и TotalViolationTime, соответственно. Время ожидания и время нарушения для каждого заказа на маршруте можно найти в полях WaitTime и ViolationTime, соответственно.

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

Пример временного окна

В следующем примере показаны временные окна, используемые при анализе маршрута для поиска оптимального маршрута для посещения трех остановок — a, b и c. Временное окно каждой остановки задается свойствами TimeWindowStart и TimeWindowEnd.

Пример трех остановок с информацией о временных окнах

Маршрут может начаться из точки a в любое время между 8:00 и 9:00. Однако он не должен прибывать в точку b до 9:15. Как показано ниже, маршрут прибывает в точку b в 9:08:24.

Время прибытия и отправления

Так как точка b должна быть посещена только в промежутке между 9:15 и 9:30 утра, маршрут вынужден ждать в точке b в течение 6 минут и 36 секунд, а затем в 9:15 отправиться дальше. Это время ожидания хранится в поле Wait_TravelTime остановки b как 6,6 минут, и добавлено в общее время, которое занимает маршрут. В поле Cumul_TravelTime сохраняется общее время, затраченное на прохождение маршрута. Суммарное время в пути по маршруту до остановки b составляет 15 минут (8 минут и 24 секунды в пути и 6 минут и 36 секунд в ожидании, что необходимо для учета требований временного окна остановки b).

Время ожидания

Маршрут отправляется из остановки b в 9:15 утра и прибывает в остановку c в 9:35:34. Однако остановка c имеет временное окно с 9:15 до 9:30 утра. Поскольку маршрут не может учитывать временное окно остановки c, возникает нарушение времени 5 минут 34 секунды, которое сохраняется в поле Violation_TravelTime как 5,58 минут.

Время превышения