Размер шрифта:
Упражнение 7. Выполнение поступивших заказов с использованием автопарка
Play

Упражнение 7. Выполнение поступивших заказов с использованием автопарка

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

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

Примечание:

Данные для этого и других учебных упражнений Network Analyst доступны на сайте ArcGIS.com . После загрузки данных их можно извлечь в любое место. Однако удобнее извлечь их в папку C:\arcgis\ArcTutor , поскольку эта папка указана в упражнениях как местоположение учебных данных по умолчанию.

Подготовка отображения

  1. Если файл Exercise07.mxd открыт в ArcMap, переходите к шагу 6.
  2. Запустите ArcMap.
  3. В диалоговом окне ArcMap – Начало работы (ArcMap – Getting Started) щелкните Существующие карты (Existing Maps) > Найти еще (Browse for more) .

Появится диалоговое окно Открыть документ ArcMap (Open ArcMap Document) .

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

Документ карты откроется в ArcMap.

    Щелкните Настройка (Customize) > Дополнительные модули (Extensions) .

Откроется диалоговое окно Дополнительные модули (Extensions) .

Если панель инструментов Network Analyst еще не отображается, необходимо ее добавить.

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

Если окно Network Analyst еще не отображается, необходимо его добавить.

Откроется прикрепляемое окно Network Analyst .

Окно Network Analyst можно закреплять и откреплять.

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

  1. Щёлкните на пункте Network Analyst на панели инструментов Network Analyst и щёлкните на Новая задача выбора маршрута транспорта (New Vehicle Routing Problem) .

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

Также в окно Таблица содержания (Table Of Contents) добавлен новый слой анализа.

Добавление заказов

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

Расположения магазинов уже добавлены в качестве слоя объектов Stores в документ карты. Атрибуты слоя Stores содержат сведения об общем весе товара (в фунтах), который требуется каждому магазину, времени, когда должна быть выполнена доставка, и времени разгрузки (в минутах) в каждом магазине. ServiceTime – это время, необходимое для разгрузки товара.

Вы добавите эти точечные объекты магазинов в слой анализа в качестве заказов.

    В окне Network Analyst щёлкните правой кнопкой мыши на кнопке Заказы (0) и выберите команду Загрузить положения .

Откроется диалоговое окно Загрузить положения .

Раздел Свойства анализа положений в диалоговом окне Загрузить положения позволяет указать, какие атрибуты класса объектов Stores содержат значения, которые дополнительный модуль ArcGIS Network Analyst будет использовать для расчета задачи выбора маршрута транспорта.

Дополнительный модуль ArcGIS Network Analyst пытается автоматически сопоставить свойства анализа положений для вновь созданного слоя задачи выбора маршрута транспорта на основе файла конфигурации (расположенного в установочном каталоге ArcGIS [. ]\NetworkAnalyst\NetworkConfiguration\NASolverConfiguration.xml).

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

25 магазинов перечислены в окне Network Analyst на вкладке Заказы в качестве заказов на карте.

Добавление складов

Товары доставляют из одного центра распределения, местоположение которого показано в слое пространственных объектов DistributionCenter в ArcMap. Центр распределения работает с 8:00 до 17:00. Этот точечный объект должен быть добавлен в класс сетевого анализа Станции.

    В окне Network Analyst щёлкните правой кнопкой мыши на кнопке Станции (0) и выберите команду Загрузить положения .

Откроется диалоговое окно Загрузить положения .

Один центр распределения указан в окне Network Analyst на вкладке Станции и отображен в качестве склада на карте.

Добавление маршрутов

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

    В окне Network Analyst щёлкните правой кнопкой мыши на Маршруты (0) и выберите команду Добавить элемент .

Новый маршрут Элемент 1 добавляется на вкладке класса Маршруты в окне Network Analyst , после чего откроется окно Свойства для маршрута.

Подсказка:
  • Щёлкните на клавишу TAB или F2 , чтобы изменить выбранное свойство.
  • Щёлкните на клавишу TAB еще раз, чтобы сохранить изменения и перейти к изменению следующего свойства.
  • Щёлкните на клавиши SHIFT + TAB , чтобы сохранить изменения и перейти к предыдущему свойству.

Название транспортного средства.

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

Грузовик возвращается в центр распределения в конце маршрута.

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

Грузовик может начать доставку, как только центр распределения откроется в 8:00.

Грузовик должен начинать работу как можно раньше.

Грузовик может перевозить не более 15 тыс. фунтов товаров.

Водитель грузовика получает 12 долларов в час, то есть его заработная плата составляет 12 долларов/60 минут = 0,20 центов в минуту.

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

Максимальное число магазинов, которые могут быть обслужены грузовиком.

В силу ограничений рабочего дня водители не могут работать дольше шести часов (360 минут).

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

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

Новый маршрут Truck_1 добавляется в класс маршрутов в окне Network Analyst .

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

Класс Маршруты содержит два идентичных объекта маршрута.

Откроется окно Свойства .

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

Задание свойств для анализа задачи нахождения транспортного маршрута

  1. Нажмите кнопку Свойства слоя анализа (Analysis Layer Properties) в окне Network Analyst .

Откроется диалоговое окно Свойства слоя (Layer Properties) .

Инструмент решения задачи VRP использует этот атрибут для расчета стоимости на основании времени между заказами и складом.

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

Это значение указывает на то, что доставляемые товары измеряются только по одному показателю. В данном случае этот показатель – вес (в фунтах). Если бы ёмкость была указана с помощью двух показателей, например, веса и объема, то число характеристик ёмкости имело бы значение 2.

Это свойство указывает на то, что все атрибуты на основе времени, такие как ServiceTime и MaxViolationTime1 для класса Заказы и MaxTotalTime, MaxTotalTravelTime и CostPerUnitTime для класса Маршрут, задаются в минутах.

Это свойство указывает на то, что все атрибуты на основе расстояния, такие как MaxTotalDistance и CostPerUnitDistance для класса Маршруты, задаются в милях.

Можно выбрать значение Истинная форма с измерениями или Истинная форма , если требуется, чтобы маршруты проходили по улицам. Обратите внимание, что этот параметр влияет только на отображение маршрутов, а не результаты, определенные механизмом расчета VRP.

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

  1. Щёлкните на кнопке Расчет (Solve) на панели инструментов Network Analyst .

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

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

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

  1. Щёлкните правой кнопкой мыши на кнопке Маршруты (3) в окне Network Analyst и выберите команду Выборка > Очистить выбранные объекты.
  2. Щёлкните на кнопке Окно направлений (Directions Window) на панели инструментов Network Analyst .

Откроется диалоговое окно Направления (Directions) .

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

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

Удаление существующего маршрута из решения

  1. В окне Network Analyst щёлкните правой кнопкой мыши на объекте Truck_2 в классе Маршруты и выберите команду Удалить .

Добавление загрузок на маршруте

Два дополнительных центра распределения, приобретенных компанией, находятся на ул. Браш-Стрит, 800, и Олд-Каунти-Роуд, 100. Их можно использовать для пополнения загрузки грузовиков. Грузовики могут пополнить загрузку, заехав в эти центры распределения, и тем самым сэкономить время, не возвращаясь на исходный склад. Новые центры распределения нужно добавить в класс анализа сети Станции через геокодирование их адресов. Маршруты, на которых можно пополнять загрузку в дополнительном центре распределения, и время загрузки в них указаны в классе сетевого анализа Обновления маршрутов.

    В окне Network Analyst щёлкните правой кнопкой мыши на кнопке Станции (1) и выберите команду Найти адрес .

Откроется диалоговое окно Найти .

Локатор адресов SanFranciscoLocator, который уже был добавлен в файл Exercise07.mxd, найдет адрес и покажет результат внизу диалогового окна Найти .

Новый адрес будет добавлен в качестве станции в окно Network Analyst и отображение карты.

Третий склад добавлен в класс сетевого анализа Станции.

Поскольку оба грузовика могут обновлять загрузку по адресу Браш-Стрит, 800, и Олд-Каунти-Роуд, 100, необходимо привязать каждый грузовик к двум местам пополнения загрузки. Механизм расчета задачи выбора маршрута транспорта вычислит наилучшее местоположение обновления для грузовых автомобилей, а также то, когда именно они должны пополнить свой запас товаров.

Новый объект пополнения загрузки на маршруте Item1 будет добавлен на вкладку класса Обновления маршрута в окне Network Analyst , после чего откроется окно Свойства для элемента Item1.

Грузовик может использовать этот склад для пополнения загрузки.

Название транспортного средства.

Время в минутах, необходимое для загрузки грузовика товаром.

Новый объект пополнения загрузки на маршруте 800 Brush St появится внутри элемента Truck_1 в окне Network Analyst .

В окне Network Analyst теперь должно содержаться два объекта обновления маршрута, указанных в элементах Truck_1 и Truck_3 соответственно.

Изменение маршрута для включения сверхурочного времени

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

    В окне Network Analyst на вкладке класса анализа сети Маршруты дважды щёлкните на объекте Truck_1 .

Откроется окно Свойства .

Водитель получает сверхурочные, если он работает еще шесть часов (360 минут).

Водитель получает 18 долларов в час за сверхурочную работу. Заработная плата в минуту составляет 18 долларов/60 минут = 0,30 центов в минуту.

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

Общее время рабочей смены водителя не имеет ограничений.

Время в пути по улицам не имеет ограничений.

Общее расстояние, пройденное грузовиком, не имеет ограничений.

Добавление перерывов

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

    В окне Network Analyst щёлкните правой кнопкой мыши на кнопке Перерывы (0) и выберите команду Добавить элемент .

Откроется окно Свойства .

Перерыв должен начаться где-то после 12:30.

Перерыв должен начаться где-то до 13:30.

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

Длительность перерыва в минутах.

Перерыв должен начаться между 12:30 и 13:30. Нулевое значение означает, что перерыв не может начаться после 13:30. (то есть время перерыва фиксированное).

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

В окне Network Analyst теперь должно содержаться два объекта в классе Перерывы : Truck_1 и Truck_3.

Вычисление решения

  1. Щёлкните на кнопке Расчет (Solve) на панели инструментов Network Analyst .

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

Это решение соответствует ограничениям, указанным дистрибьюторской компанией. Тем не менее, после выдачи путевого листа двум водителям, компания обнаружила, что водитель грузового автомобиля Truck_1 предпочитает ездить в Сан-Франциско, а водитель грузового автомобиля Truck_3 – в East Bay . Компания хотела бы найти новое решение, в котором маршруты бы обслуживали заказы в соответствии с предпочтениями водителей. В следующих шагах будут добавлены основные точки маршрутов, которые будут учитывать пожелания водителей.

Добавление основных точек маршрута

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

    В окне Network Analyst щёлкните правой кнопкой мыши на основные точки маршрута (0) и выберите команду Найти адрес .

Откроется диалоговое окно Найти .

Локатор SanFranciscoLocator найдет адрес и покажет результат внизу диалогового окна.

Расположение адреса будет добавлено в качестве основной точки маршрута. Оно будет отображено в окне Network Analyst и на карте.

Откроется диалоговое окно Свойства .

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

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

Вычислите решение

  1. Щёлкните на кнопке Расчет (Solve) на панели инструментов Network Analyst .

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

📎📎📎📎📎📎📎📎📎📎