Логистика Акции По Раздельному Сбору Вторсырья



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

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

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

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

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

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

Данная статья посвящена первой из таких моделей.

В разделе 1 я подробно и с иллюстрациями опишу схему организации акции.

Далее в разделе 2 задача минимизации транспортных затрат будет формализована как задача маршрутизации гетерогенного парка транспортных средств с временными окнами.

Раздел 3 посвящен решению этой задачи с использованием свободно распространяемого пакета для решения смешанно-целочисленных задач линейного математического программирования GLPK.



1. Акция «Зеленая белка»

С 2014 года инициативная группа «Живая Земля» проводит ежемесячную акцию по раздельному сбору вторсырья «Зеленая белка» в Новосибирске.

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

В подготовке и проведении мероприятия задействовано более 50 волонтеров.

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

Точки Акция проводится в 17 точках города, расположенных друг от друга на расстояниях, преодолеваемых автомобилем за время от 15 до 90 минут. На фото одна из таких точек: слева вдоль стены стоят мешки для сбора различных фракций пластика, справа грузовик, в который все впоследствии загружается, а в центре волонтер с ушами.



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

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

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

Также доступны данные о средних объемах вторсырья, собранного в каждом месте.

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

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



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

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

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

Грузоподъемность в нашем случае не является ограничивающим фактором.

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

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



2. Формализация

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

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

Надеюсь, это не отпугнет читателей, нечасто встречающихся с математическими текстами.

Модель оптимизации можно разделить на четыре компонента:

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

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

Формирование групп точек Позволять

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

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

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

Каждая группа точек образует отдельный маршрут. Через

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

обозначим множество номеров маршрутов.

Пусть значение

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

равно единице, если точка

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

включен в маршрут с номером

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

, и ноль в противном случае.

Тогда требование, чтобы точка

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

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

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

Депо должно быть включено во все маршруты:

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

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

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

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



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

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

Формально все они начинаются в одной из точек множества

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

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

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

За баллы

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

и маршрут

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

давайте создадим переменную

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

, равный единице, если маршрут с номером

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

грузовик движется с точки

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

точно

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

, и ноль в противном случае.

Тогда потребуем, во-первых, чтобы грузовик, движущийся по маршруту,

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

посетил точку

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

, если после разделения на группы она оказалась в номере группы

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

:

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

Во-вторых, грузовик после прибытия на точку

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

Я должен оставить ее.



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

Можно отметить, что эти ограничения допускают значения

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

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

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

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



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

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



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

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



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



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



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

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

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

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

Через

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

И

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

обозначим соответственно начало и конец временного интервала, в котором куратор точки

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

может присутствовать на нем.

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

Через

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

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

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

и через

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

- время в пути от пункта

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

точно

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

Оговоримся, что

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

для всех

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

и вообще может быть выполнено

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

для любого

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

Введем неотрицательные переменные

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

И

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

, равный временам прибытия и ожидания в точке

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

при движении по маршруту

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

, соответственно.

Для введенных значений должны соблюдаться следующие отношения.

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



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

и равен нулю, если точка не принадлежит маршруту

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



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

Время прибытия в точку

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

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

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

Здесь имеется довольно большая константа

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

используется для устранения ненужных зависимостей при перемещении между

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

И

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

не выполнено.



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

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



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



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

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

Обозначим множество типов грузовых автомобилей, доступных в аренду, через

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

Тип грузовика

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

характеризуется объемом тела

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

и стоимость почасовой аренды

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

Минимальное время аренды для типа грузовика

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

обозначить через

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

Объем вторсырья, собранного на пункте

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

обозначить через

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

Давайте введем переменные

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

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

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

присвоен номер маршрута обслуживания

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

, и ноль в противном случае.

Целочисленные переменные

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

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

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

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

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

Для каждого маршрута

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

, вам необходимо назначить тип грузовика:

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

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

Если маршрут

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

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

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

часы.



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

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



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

Добавим ограничения, обеспечивающие свойство: если грузовик типа

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

не назначен маршруту

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

, время его аренды равно нулю.



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

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



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

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

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



Поиск решения

Легко проверить, что все выражения, участвующие в модели оптимизации, являются линейными функциями переменных, поэтому для поиска точных и приближенных решений можно использовать стандартные пакеты для решения задач смешанно-целочисленного программирования, такие как Гуроби , Комплексный комплекс , Экспресс , ORtools , SCIP , БЛИС и т. д. Напишем модель минимизации транспортных расходов на GMPL. Это позволит нам использовать свободно распространяемый пакет для наших целей.

ГЛПК .

Для написания кода и отладки модели будет удобно скачать среду разработки.

ГУСЕК , который уже содержит в своем составе ГЛПК.

ГУСЕК выглядит так:

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

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

Полное описание модели

   

param numOfPoints > 0, integer;

Теги: #математика #Экология #транспорт #математическое программирование #математическое программирование #раздельный сбор мусора #оптимизация затрат
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.