Временное окно - это период между начальным и конечным временем, в течение которого сетевое местоположение, такое как остановка в маршрутном анализе, будет посещено маршрутом. Временные окна часто используются для моделирования времени встречи или доставки.
Примечание:
Временное окно описывает, когда транспортное средство может прибыть на место; оно не описывает период времени, в течение которого должны быть завершены все дела в этом месте.Временные окна можно настроить для определенной даты, дня недели или текущей даты.
Узнайте больше о датах и времени в сетевом анализе
Два типа сетевого анализа включают временные окна: маршрут и задачи выбора маршрута транспорта.
Временные окна в анализе маршрута
Механизм расчета маршрута производит попытку поиска наименее затратного маршрута по ряду остановок с учетом установленных ограничений сети и всех временных окон. Если нарушения условий временного окна избежать нельзя, механизм расчета пытается минимизировать общее время превышения.
Временные окна в анализе маршрута определяются с помощью полей входного класса 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.
Пример временного окна
В следующем примере показаны временные окна, используемые при анализе маршрута для поиска оптимального маршрута для посещения трех остановок — 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_TraveTime сохраняется общее время, затраченное на прохождение маршрута. Суммарное время в пути по маршруту до остановки 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 минут.