АЛГЕБРО-ЛОГИЧЕСКИЕ МЕТОДЫ В ИНФОРМАТИКЕ И ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
ALGEBRAIC AND LOGICAL METHODS IN COMPUTER SCIENCE AND ARTIFICIAL INTELLIGENCE
Научная статья
УДК 519.8+519.6 МБС 90С59, 68W20
Б01 https://doi.org/10.26516/1997-7670.2024.48.95
Модели и алгоритмы локального поиска для маршрутизации транспортных средств с возвратами и временными окнами
Л. А. Заозерская1, Ю. В. Захарова1^
1 Институт математики им. С. Л. Соболева СО РАН, Омск, Российская Федерация И yzakharova@ofim.oscsbras.ru
Аннотация. Рассматривается задача маршрутизации транспортных средств для обслуживания объектов с возможностью распределения работ и учетом временных окон. Обсуждаются подходы к построению моделей целочисленного линейного программирования и их модификаций. Для поиска приближенных решений предлагается алгоритм локального поиска с «большими» окрестностями, где на каждом шаге осуществляется поиск улучшающего решения при помощи стратегий «сломай» и «почини». Строятся серии тестовых примеров различной структуры, в том числе демонстрируется целесообразность рассмотрения постановки с возвратами транспортных средств на объекты. Представлены результаты экспериментального исследования моделей и алгоритмов.
Ключевые слова: маршрутизация, локальный поиск, целочисленное программирование, модель
Благодарности: Работа выполнена в рамках государственного задания ИМ СО РАН, проект FWNF-2022-0020.
Ссылка для цитирования: Заозерская Л. А., Захарова Ю. В. Модели и алгоритмы локального поиска для маршрутизации транспортных средств с возвратами и временными окнами // Известия Иркутского государственного университета. Серия
Онлайн-доступ к журналу: http://mathizv.isu.ru
2024. Т. 48. С. 95—110
Математика. 2024. Т. 48. C. 95-110. https://doi.org/10.26516/1997-7670.2024.48.95
Research article
Models and Local Search Algorithms for Vehicle Routing with Returns and Time Windows
Lidia A. Zaozerskaya1, Yulia V. ZakharovalH
1 Sobolev Institute of Mathematics SB RAS, Omsk, Russian Federation И yzakharova@ofim.oscsbras.ru
Abstract. A vehicle routing problem for servicing objects with the possibility of distributing work between vehicle taking into account time windows is considered. We discuss approaches to constructing integer linear programming models and their modifications. A large neighborhood search algorithm is proposed to find approximate solutions. Here an improving solution is constructed using the "destroy" and "repair" methods at each step. A series of instances with various structures are proposed, in particular demonstrating the reason of returns to objects for vehicles. The results of an experimental evaluation of models and algorithms are presented.
Keywords: vehicle routing, local search, integer programming, model
Acknowledgements: The research was funded in accordance with the state task of the IM SB RAS, project FWNF-2022-0020.
For citation: ZaozerskayaL. A., Zakharova Yu. V. Models and Local Search Algorithms for Vehicle Routing with Returns and Time Windows. The Bulletin of Irkutsk State University. Series Mathematics, 2024, vol. 48, pp. 95-110. (in Russian) https://doi.org/10.26516/1997-7670.2024.48.95
1. Введение
Задачи маршрутизации транспортных средств активно исследуются в различных постановках, где учитываются ограничения на маршруты передвижения, способы доставки, временные окна, варианты и ограничения загрузки, а также другие условия, возникающие из специфики прикладных задач. Более того, в условиях могут учитываться различные типы неопределенностей в исходных данных и динамические составляющие. Рассматриваемые задачи являются КР-трудными, поэтому для их решения строятся модели частично целочисленного линейного программмирования (ЧЦЛП), как правило, с целью использования пакетов прикладных программ, а также предлагаются различные конструктивные методы и метаэвристики.
В алгоритмах локального поиска для задач маршрутизации используются различные типы окрестностей: обмены внутри маршрута
- relocate, exchange, 2-opt, 3-opt, A-opt, or-exchange, GENI; обмены между маршрутами - 2-opt, insert, swap, cross, A-interchange [7].
В работе [10] предлагается меметический алгоритм для задач маршрутизации, где наряду с основной задачей решаются ее упрощенные версии и накопленные «знания» о перспективных маршрутах передаются в процессе работы в эволюционный поиск для исходной задачи. В локальном поиске используется окрестность типа insert. Для задачи машрутизации транспортных средств с размещением заказов по упаковочным местам с учетом ограничений по объемам и совместимости построена модель ЧЦЛП и предложен алгоритм иммитации отжига, задействующий окрестности swap, insertion и inversion [11]. Для близкой задачи, где дополнительно учитывается возможность гибких доставок, разработан гибридный алгоритм локального поиска с чередующимися окрестностями и поиск с запретами [9]. Такие задачи характерны для городской логистики и транспортировки электронных заказов.
Для задачи минимизации числа транспортных средств с учетом временных окон на объектах, различных депо и вариантов перемещения предложен адаптивный алгоритм локального поиска с чередующимися окрестностями [3]. Для задачи из реальной практики, где дополнительно учитываются нижняя граница на загрузку транспортных средств и время на загрузку/отгрузку товара, также построены адаптивный локальный поиск с «большими» окрестностями и модель ЧЦЛП [8].
В настоящей работе рассматривается задача маршрутизации транспортных средств с обслуживанием объектов, на которых допускается разделение работ при условии, что они должны быть выполнены в указанные временные окна. Технические свойства транспортных средств влияют на длительность обслуживания и перемещения, в том числе они могут задавать запреты на возможность обслуживания и перемещения. Данная задача возникает, например, при маршрутизации буровых установок для бурения скважин на объектах, а также описывает другие обслуживающие системы с несколькими клиентами на объектах [2; 5]. Поиск допустимого решения этой задачи NP-труден [2; 5].
Два подхода к построению моделей ЧЦЛП для указанной задачи представлены в [2; 5]. В [2] предложена метаэвристика поиска с чередующимися окрестностями, где задействуется аппарат решения задач ЧЦЛП пониженной размерности. В [5;6] теоретически исследована стохастическая постановка задачи, а также разработаны жадный метод и генетический алгоритм для ее решения. Текущее исследование продолжает экспериментальный анализ моделей ЧЦЛП для рассматриваемой задачи маршрутизации [1;5]. Построено семейство примеров с евклидовыми расстояниями между объектами, где оптимальное решение гарантированно предполагает многократное посещение объекта буровой установкой для обслуживания скважин. Построен и экспериментально исследован рандомизированный алгоритм локального поис-
ка с «большими» окрестностями, основанный на решении серии подзадач пониженной размерности. Для построения начального решения предлагается два конструктивных подхода.
2. Постановка задачи
Исследуется задача маршрутизации буровых установок для обслуживания объектов с заданными временными окнами в следующей постановке. Объекты из множества I = {11,..., г|/|} должны быть обслужены транспортными средствами (буровыми установками) из множества и = {щ,... ,и\и|}. Каждый объект г € I характеризуется наличием Пг скважин для бурения и временным окном (аг,Ьг], в котором все работы по бурению должны быть выполнены. Обозначим через ^ множество транспортных средств, которые могут обслуживать объект г € I.
Бурение скважины осуществляется одной буровой установкой без прерываний. Различные скважины объекта могут обслуживаться различными буровыми установками. Обозначим через йш длительность бурения одной скважины на объекте г € I буровой установкой и € и. Для каждого транспортного средства и € и указано подмножество объектов 1и, которые оно может обслуживать. Изначально всякое транспортное средство и находится в некотором депо, обозначаемом через Пусть величина представляет длительность перемещения между объектами г и ] для транспортного средства и.
Требуется найти маршруты передвижения между объектами для транспортных средств и распределить скважины для обслуживания между транспортными средствами, посещающими соответствующие объекты, таким образом, чтобы минимизировать суммарную длительность перемещений и гарантировать соблюдение ограничений по временным окнам для объектов. Напомним, что для этой задачи поиск допустимого решения КР-труден [5].
Рассмотрим вариант задачи маршрутизации, когда буровая установка может посещать объект не более одного раза (это задача V). В [1;5] предлагаются две модели, одна из которых основана на назначении объектов в позиции перестановок, а вторая использует свойство смежности при посещении объектов. Далее будем использовать модель второго типа в варианте со штрафами, так как она показала более перспективные результаты в предварительном вычислительном эксперименте [1;5].
Введем фиктивный объект /3, соответствующий начальной и конечной точке маршрута любого транспортного средства, и обозначим ^ = I и {¡з}. Положим длительности перемещения = 0, ви= й^г для г € I. Будем считать, что буровые установки могут посещать /3, т.
е. = и.
Определим булевы переменные так, что = 1, если транспортное средство и посещает объект г и перемещается к объекту 3, и = 0 иначе. Пусть вещественные переменные задают момент начала работ для буровой установки и на объекте г и целочисленные переменные уш определяют число скважин объекта г, обслуживаемых буровой установкой и. Добавим неотрицательные переменные тиг, ^ € I, и € и, значения которых не меньше величины превышения буровой установкой и правой границы временного окна для объекта г, и т0, значения которых не меньше величины наибольшего среди запаздываний буровых установок для объекта г, г € I.
Тогда для задачи V модель ЧЦЛП со штрафами может быть записана следующим образом: минимизировать
/ = Е Е Е ^ ^ + ^Е т0> (2.1)
ueUieIf jeIf ге1
Е х'иЛз = Е ^, и € и, 1 € 1и \ {¡з}, (2.2)
^2 хиц < 1, и € и,, ] € I, (2.3)
г&1и
Е у™ = пЬ { € I, (2.4)
Хщг < Уш < Пг^ 1 € I, и € Щ, (2.5)
3& 1и I и
^и г + У ш
+ < ^ + Мг(1 — ), г,3 € I, г = 3, и € 111 П и^, (2.6)
< ^ + Мг(1 — хи^), э € I, и € и,, (2.7)
^ > ^ аг%уЦ, г € I, и € Щ, (2.8)
зе!и
Кг + Уш<1ш + ^ € I, и € 111, (2.9)
зе!и
т° > туЛ, и € и, г € I, (2.10)
Е Х^,г = 1, Е =1, и € и. (2.11)
Здесь и далее Мг и Mf обозначают достаточно большие константы. Ограничения (2.2)—(2.3) гарантируют, что в маршрутах буровые установки посещают объекты не более одного раза. Ограничения (2.4)-(2.5) позволяют учесть выполнение работ по бурению всех скважин на объектах и использование ровно одной буровой установки для бурения
каждой скважины. Ограничения (2.6)—(2.7) задают время начала работ на объектах для буровых установок. Ограничения (2.8)—(2.9) гарантируют условную допустимость маршрутов в контексте временных окон (правая граница временного окна может быть нарушена). Равенства (2.11) показывают, что транспортные средства начинают и заканчивают маршрут в фиктивном объекте /.
В отличие от V задача (2.1)—(2.11) всегда имеет допустимое решение. Если при этом тиг = 0 и т0 = 0, г € I, и € и, то такое решение является допустимым и для V (задачи маршрутизации с временными окнами).
Модель для случая возможности возвратов буровой установки на объект строится по правилу, когда для каждого объекта г € I создается его копий, что позволяет смоделировать посещение объекта буровой установкой не более раз за счет посещения копий не более одного раза. Переменные и ограничения обобщаются естественным образом на копии объектов (см., например, [1]).
2.1. ПРИМЕРЫ
Рассмотрим пример с 6 объектами, 3 буровыми установками и следующими входными данными. Количество скважин п = (5, 8, 5, 8, 5, 8), временные окна определяют вектора а = (20, 10, 30, 20, 40, 30) и Ь = (30, 39, 40, 49, 50, 59), ^ = 2, и € и, г € I. Для всех г, ] из I виц не зависят от и и указаны на рис. 1, если возможен непосредственный переезд между объектами г и ]. Остальные = те. Вершина 1(1 соответствует начальному расположению буровых установок.
Для г = 1,3,5 выполнено условие (аг,Ъг\ С (аг+1,Ъг+1\. Легко видеть, что если возврат буровых установок на ранее посещенные объекты запрещен, то переход с объекта г + 1 на объект г в этих парах нецелесообразен. Оптимальное решение со значением / = 27 представлено на рис. 1 (слева). Маршрут каждой буровой установки имеет уникальный тип штриховки линии. Число обслуживаемых буровыми установками скважин: уП = 5, У22 = 8, У23 = 5, У24 = 1, У25 = 2, У26 = 4, у34 = 7, у35 = 3, узе = 4. Если разрешены возвраты на ранее посещенные объекты, то буровая установка может пробурить 4 скважины на объекте
г+1, затем перейти на объект г, выполнить там всю работу, вернуться на объект г + 1 для обработки оставшихся там скважин. Маршрут, соответствующий оптимальному решению с / = 21, показан на рис. 1 (слева). Отметим, что малые изменения в расположении объектов, в частности сдвиг объектов 1 и 2 на расстояние 2, приводят к нецелесообразности многократного посещения этих объектов буровыми установками.
На основе этого примера мы построили семейство задач с 6к объектами и 3к установками с оптимальным значением целевой функции 21к (если возвраты разрешены) и 27к (если возвраты запрещены), к € N. Здесь к блоков из 6 объектов объединяются по принципу «окаймляющих миноров» в направлении сверху вниз и слева направо. Объекты каждого блока обслуживаются своими тройками буровых установок. Схемы соединения блоков для к, равного 3 и 4, представлены на рис. 1 (справа). Штрихованные горизонтальные и вертикальные линии, соединяющие блоки, означают, что разрешены перемещения между одноименными объектами соседних блоков с одинаковым расстоянием, равным 7.
3. Эвристика локального поиска
В этом разделе опишем эвристистический алгоритм поиска в «большой» окрестности с этапами «сломай» и «почини» для приближенного решения задачи V маршрутизации буровых установок без возвратов. Алгоритм основан на использовании рандомизированного локального поиска, где решается серия задач со штрафами вида (2.1)-(2.11) пониженной размерности с помощью пакета решения задач ЧЦЛП. На этапе «сломай» выбираются объекты для удаления из маршрутов, а на этапе «почини» удаленные объекты перераспределяются между маршрутами.
Обозначим через Ш = (X, У, Т, т, т°) решение задачи (2.1)-(2.11), где X, У, Т, т, т° - множества значений всех переменных , уиг, тиг, т.0 соответственно. По компоненте X легко восстановить маршрут гоиЬе(и) для каждой буровой установки и как последовательность номеров объектов в порядке их прохождения, т.е. гоиЬе(и) = (}з,Ъ\,Ъ2, ...,Ч(и), /«), где 1(и) - длина маршрута и объекты г^ € I, ] = 1,...,1(и). Для двух выделенных объектов на маршруте подпоследовательность объектов маршрута между этими объектами называется подмаршрутом, например зиЬгоЫе(и, ¡з,Ч(и)) = (¿1, ..., Ч(и)-1).
Определим «большую» окрестность решения, которая описывается только перемещениями буровых установок [4]. Для решения Ш зададим «большую» (г, й)-окрестность как множество решений, которые отличаются от Ш не более чем на г подмаршрутах, принадлежащих разным маршрутам, и общее число объектов в этих подмаршрутах не
превосходит к. Данная окрестность включает в себя окрестности типа
Ы2(а) (при г = 2,к = 2), N3(а) (при г = 2,к = 2), N4(0) из [2].
-----®......© ®......©
<2 <3) "
*\© Г 8
11-
© ©
Рис. 2. Переход от одного решения к другому в (г, к)-окрестности (пунктиром выделены подмаршруты до и после изменения)
Предлагаемый алгоритм начинает работу с допустимого решения задачи (2.1)-(2.11). На каждой итерации случайным образом выбирается подмножество буровых установок. Для каждой из них также случайным образом определяется подмаршрут. Далее выполняется попытка улучшить текущее решение за счет обмена объектами между выбранными подмаршрутами и/или перераспределения обслуживаемых скважин для всех объектов между всеми установками. Если получено решение с лучшим значением целевой функции, то осуществляется переход в это решение. На рис. 2 приведена иллюстрация модификации решения.
3.1. Поиск НАЧАЛЬНОГО РЕШЕНИЯ
Предлагается два алгоритма получения начального решения, где буровые установки назначаются объектам, упорядоченным по неубыванию границ временных окон. Первый из них 181 описывается правилом «случайный выбор из разрешенных буровых установок», а второй 182 - «назначение ближайшей буровой установки из числа разрешенных».
Далее будем описывать перемещение буровых установок как через значения переменных , и € и, г, ] € I, так и через множество их маршрутов гоЫе(и).
Алгоритм 1. Построение решения по правилу «случайный выбор из разрешенных буровых установок» (алгоритм 181): Ш!аг 1. Упорядочить объекты по неубыванию значений а^, г € I, при одинаковых а1 по неубыванию правых границ Ьг. Далее под I понимаем множество упорядоченных объектов. ШШаг 2. Выполнить для всех объектов г € I: положить 11г=иг и Щ = Щ, если ^1 > 1, то пока Пг > 0: выбираем случайным образом и из [/¿; если пг > 1, то назначаем случайным образом уш (число обрабатываемых установкой и скважин), 1 < уи^ <
иначе yui = 1;
полагаем Щ = Ui \ {и} и щ = щ — yUi; иначе назначаем буровую установку и из Ui и полагаем Ui = 0, yUi = щ.
Ш!аг 3. Вычислить целевую функцию f на полученном решении W = (X,Y,T).
Алгоритм IS2 отличается от IS1 правилом выбора буровой установки. Через PreviousObject(u) обозначим объект, в котором находится буровая установка и на текущей итерации. Приведем отличия в описании алгоритма IS2. На Шаге 1 для всех и из U полагаем PreviousObject(u) = fs. На Шаге 2 пока щ > 0 выбираем и из Ui по правилу
s(PreviousObject(u), i, и) = min s(PreviousObject(u),i,u).
ueUi
Если таких и несколько, то выбираем любое среди них случайным образом, иначе и определяется однозначно. При изменении Ui и щ дополнительно полагаем PreviousObject(u) = i.
Для решения, построенного алгоритмом IS1 или IS2, выполнены все ограничения задачи V за исключением, возможно, ограничений, связанных с соблюдением правых границ временных окон.
Вычислить целевую функцию f можно непосредственно или решить для этого задачу (2.1)-(2.11) при фиксированных значениях xUij и yUi, соответствующих назначениям алгоритма. Другим вариантом является решение задачи (2.1)-(2.11), когда фиксируются только значения xUij.
3.2. Алгоритм РАНДОМИЗИРОВАННОГО ЛОКАЛЬНОГО ПОИСКА
Приведем формальное описание предлагаемого алгоритма рандомизированного локального поиска (РЛП) с «большими» окрестностями.
Алгоритм 2. Локальный поиск с «большими» окрестностями (два основных этапа: «сломай» и «почини») Шаг 1. Построение начального решения.
Применяя алгоритм IS1 и/или IS2 заданное число раз, получить множество допустимых решений для задачи (2.1)-(2.11). Решение с наименьшим значением целевой функции fbest становится начальным решением Wbest = (X,Y,T). Шаг 2. Улучшение маршрутов. Выполнять заданное время. 2.1. Этап «сломай».
2.1.1. Выбор маршрутов. Сформировать случайным образом множество U С U такое, что \U| = г. Положить О = 0. Для каждого и £ U случайным образом выбрать на маршруте route(u) два объекта start(u) и finish(u), где start(u) предшествует finish(u). Суммарная длина подмаршрутов
для и из не превосходит к.
2.1.2. Выбор объектов. В О включить все объекты под-маршрутов без объектов з1аН(и), ¡гпг8к(и), и € и. 2.2. Этап «почини».
2.2.1. Подготовка модели. Зафиксировать значения переменных Хиг] для г, ] € О. Для всех и € Iй положить О(и) = О и удалить из О(ь) те объекты, которые встречаются для и на подмаршруте от ¡3 до зЬаН(и) и на подмарш-руте от ¡гп18к(и) до Д.
2.2.2. Решение подзадачи. Заданное время ИшеМ1Р решать задачу ЧЦЛП (2.1)-(2.11), в которой для и € й булевые переменные имеют только индексы, соответствующие следующим возможным перемещениям установок:
{(ЬЗ) I I € №аН(и)} и 0(и); ] € О (и) и {/гтв^и)}}. Если пакет за отведенное время нашел допустимое решение W и } ^) < }Ье8ъ, то }Ье8Ь = } ^) и ШЬезг = W. Ш!аг 3. Если для полученного решения Ш^г задачи (2.1)-(2.11) все т0 = 0, то Шъевь является приближенным решением задачи V.
Алгоритм легко обобщается на случай возможности возвратов буровых установок на объект заменой объектов на их копии и применением соотвествующей модификации модели ЧЦЛП.
4. Результаты численных экспериментов
Вычислительный эксперимент проводился на сервере с двумя процессорами AMD EPYC 7502 (каждый имеет 32 ядра, включен режим гиперпоточности). Выполнялось исследование модели ЧЦЛП при ее решении коммерческим пакетом Gurobi, а также анализ предложенного алгоритма РЛП на задачах трех серий: 1) задачи блочной структуры; 2) задачи серии S1 с п = 50 из [2]; 3) задачи серии S1' с п = 50 из [2].
Задачи серии S1' отличаются от задач серии S1 более узкими временными окнами и большим числом буровых установок. В экспериментах рассматривалось два варианта: допускается не более одного посещения буровой установкой объекта и не более двух посещений. Значения для параметров пакета threads=4, presolve=2, gomorypasses=0, method=0, minrelnodes=10627, improvestarttime=8640 взяты из статьи [2].
В табл. 1 представлены результаты решения задач блочной структуры пакетом Gurobi для моделей без возвратов и с возвратами (ограничение по времени счета — 10 ч). Используются обозначения: к — число блоков в задаче; f *, fbest — оптимальное и лучшее найденное пакетом значение целевой функции; LB — нижняя оценка целевой функции, полученная Gurobi; tsoive, tbest — время решения задачи и время получения fbest в секундах. В задачах блочной структуры II| = 6k, \U| = 3k.
Отметим, что во всех задачах (кроме примера с 9 блоками в модели с возвратами) пакетом найдено оптимальное решение (т. е. /* = Де но доказана оптимальность полученного решения только для случаев не более двух блоков при модели с возвратами и до трех блоков при модели без возвратов. Задачи с возвратами оказались более сложными для пакета ОигоЫ в том числе из-за роста размерности. В среднем относительное отклонение в задачах с равным числом блоков
более чем в два раза больше для модели с возвратами по сравнению с моделью без возвратов. Время нахождения лучшего решения также существенно возрастает при возможности возвратов.
Таблица 1
Результаты пакета ОигоЫ для задач блочной структуры
к Модель без возвратов Модель с возвратами
/ * \т / * fbest \ЬВ]
1 27 27 <1 <1 21 21 21 <1 <1
2 54 54 16 1 42 42 42 776 81
3 81 81 916 24 63 63 53 36000 216
4 108 100 36000 30 84 84 49 36000 165
5 135 111 36000 101 105 105 56 36000 3557
6 162 130 36000 61 126 126 58 36000 11366
7 189 142 36000 940 147 147 67 36000 2324
8 216 151 36000 468 168 168 68 36000 9573
9 243 172 36000 636 189 210 76 36000 10527
10 270 183 36000 536 210 210 80 36000 10639
В табл. 2, 3 приведены результаты расчетов для серий 51 и 51' в задачах без возвратов, полученные ОигоЫ с ограничением по времени счета в 3 ч и алгоритмом РЛП с ограничением по времени счета в 1 ч (на каждом примере запускался 30 раз). Для алгоритма РЛП используются обозначения: Д — среднее значение целевой функции; Д — лучшее найденное значение целевой функции; f г — частота получения Д; ^ — худшее полученное значение целевой функции; А А ¡^ — отклонение лучшего найденного решения от среднего и от худшего в процентах. Результаты ОигоЫ для задач с возвратами представлены в табл. 4.
Только задача Б 1.9 (отмечена звездочкой) без возвратов решена пакетом ОигоЫ за 890 с. Как и в случае задач блочной структуры, примеры с возвратами являются более сложными для ОигоЫ, однако есть примеры, когда по модели с возвратами получено решение с лучшим значением целевой функции, чем по модели без возвратов (задачи 5*1.3 и Б 1.5). В задачах 51.9 и 51.10 допустимое решение не найдено.
Алгоритм РЛП запускался с параметрами (вариант 1): начальное решение строится вызовом агоритма 1Б1 10 раз; максимальное время
Таблица 2
Результаты для серии Я1 с 50 объектами
ОигоЫ, 10800 с Алгоритм РЛП
№ ^Ь&вЬ ьв ¿ЬевЬ /а Л /г Д/а" Д&
81.1 63 60,9 7824 63,03 63 29 64 0,05 1,59
81.2 74 71,3 907 74,90 74 12 77 1,20 4,05
81.3 80 71,8 446 79,53 79 15 81 0,67 2,53
81.4 62 53,1 5894 61,83 61 13 63 1,34 3,28
81.5 83 75,1 1490 82,30 82 21 83 0,36 1,22
81.6 64 59,9 259 64,03 64 29 65 0,05 1,56
81.7 67 60,6 173 66,33 66 23 68 0,50 3,03
81.8 65 56,8 224 65,87 65 9 67 1,32 3,08
81.9* 67 67,0 654 67,47 67 17 69 0,70 2,99
81.10 73 63,6 5395 72,50 72 15 73 0,69 1,39
ср. зн. 69,80 69,78 69,30 18,3 71 0,69 2,47
ИшеМ1Р на решение подзадачи равно 30 с (шаг 2.2.2); используется окрестность (3, 40); инициируется перезапуск, если за 100 итераций рекорд не улучшается.
Таблица 3
Результаты для серии Я1' с 50 объектами
ОигоЫ, 10800 Бес. Алгоритм РЛП
№ fbest ЬВ ¿ЬевЬ /а Л Д/а"
51' .1 123 102,1 548 124,60 122 1 128 2,09 4,92
51' .2 133 119,4 1054 135,43 134 4 138 1,06 2,99
51' .3 147 127,9 3734 150,27 147 2 154 2,18 4,76
51' .4 117 92,9 1834 117,83 115 2 125 2,40 8,70
51' .5 153 130,3 149 155,73 154 5 159 1,11 3,25
51' .6 137 119,5 438 142,20 139 1 145 2,25 4,32
51' .7 146 131,4 303 148,20 146 2 150 1,48 2,74
51' .8 152 128,3 2106 154,17 152 1 156 1,41 2,63
51' .9 148 119,3 8700 150,97 149 7 156 1,30 4,70
51' 10 121 102,9 3401 122,73 121 3 126 1,41 4,13
ср. зн. 137,7 140,21 137,9 2,8 143,7 1,67 4,31
Для серии 51 частота получения рекордного значения алгоритмом РЛП является высокой, причем для 5 из 10 примеров удалось получить решения с меньшим значением целевой функции, чем найдено непосредственно СигоЫ. Среднее значение целевой функции также меньше, чем у пакета, а отклонение между худшим и лучшим значениями около
Таблица 4
Результаты пакета ОигоЫ для модели с возвратами
№ задачи Серия Я1 Серия Я1'
в серии f ^Ь&вЬ \ЬВ] ¿ЬевЬ f ^Ь&вЬ \ЬВ] ¿ЬевЬ
1 42,83 63 50 7004 76,68 123 88 4782
2 49,58 74 64 393 86,56 133 122 1015
3 50,58 78 63 2827 94,39 147 120 1881
4 37,41 63 44 2000 66,12 118 88 2116
5 52,56 82 63 8628 97,52 153 124 1036
6 45,33 66 54 634 92,53 140 117 1141
7 45,13 68 54 9962 86,56 147 116 5382
8 43,38 69 50 7756 84,67 151 127 2369
9 45,85 - 53 - 91,79 148 120 9593
10 38,26 - 46 - 79,69 121 100 9182
Таблица 5
Сравнение параметров для алгоритма РЛП
Номер варианта Л
1 69,78 69,3 18,3 71,0 0,69 2,47
2 70,98 69,6 7,4 73,1 1,93 5,03
3 69,83 69,3 17,7 71,0 0,76 2,44
4 69,80 69,3 18,3 71,0 0,71 2,46
4, 3% в среднем. Для серии 51' результаты алгоритма РЛП несколько хуже, чем для 51. Это обусловлено тем, что решения данных примеров содержат много коротких маршрутов и перестройка их малой части не приводит к существенным улучшениям.
Алгоритм РЛП запускался с другими параметрами: вариант 2 — окрестность (2, 40) при 11шеМ1Р=30; вариант 3 — вероятность 0,1, использовать окрестность (2, 4-6; 20) при 11шеМ1Р=30, иначе - окрестность (3, 20) при 11шеМ1Р=15; вариант 4 — окрестность (3, 40) при 11шеМ1Р=30. Во всех вариантах выполняется перезапуск. Алгоритмы 181 и Ш2 запускались по 10 раз. Из результатов, представленных через средние значения в табл. 5, видим, что вариант 1 демонстрирует лучшие показатели с точки зрения различных характеристик.
Генетический алгоритм из [6] и гибридный алгоритм из [2] показывают на задачах серий 51 и 51' результаты, близкие к результатам ОигоЫ и, соотвественно, близкие к результатам РЛП. Отметим, что на 2-3 задачах алгоритм РЛП или один из [6], [2] демонстрирует небольшое, но преимущество. Подчеркнем, что основной целью проведенного эксперимента было показать перспективность и целесообразность подхода
к решению рассматриваемой задачи с помощью предложенной модели ЧЦЛП посредством решения серии подзадач пониженной размерности.
5. Заключение
Проведено исследование задачи маршрутизации с возвратами и временными окнами. Предложен алгоритм локального поиска с «большими» окрестностями, основанный на решении серии задач пониженной размерности методами ветвей и отсечений. Результаты эксперимента показали перспективность используемого подхода. Дальнейшее исследование может быть направлено на использование методов с чередующимися окрестностями и жадных стратегий для решения подзадач, а также экспериментальный анализ на примерах большей размерности.
Список источников
1. Еремеев А. В., Заозерская Л. А., Захарова Ю. В. Исследование моделей целочисленного программирования для задачи маршрутизации буровых установок с возвратами и временными окнами // PREPRINTS.RU. 2022. https://doi.org/10.24108/preprints-3112582
2. Кулаченко И. Н., Кононова П. А. Гибридный алгоритм решения задачи маршрутизации буровых установок // Дискретный анализ и исследование операций. 2021. Т. 28, вып. 2. С. 35-59. https://doi.org/10.33048/daio.2021.28.703
3. Bezerra S. N., Souza M. J. F., de Souza S. R. A variable neighborhood search-based algorithm with adaptive local search for the Vehicle Routing Problem with Time Windows and multi-depots aiming for vehicle fleet reduction // Comp. & Oper. Res. 2023. Vol. 149. 106016. https://doi.org/10.1016/jxor.2022.106016
4. Blum C., Eremeev A. V., Zakharova Y. V. Hybridizations of evolutionary algorithms with Large Neighborhood Search // Comp. Sci. Rev. 2022. Vol. 46. 100512. https://doi.org/10.1016/j.cosrev.2022.100512
5. Rig routing with possible returns and stochastic drilling times / P. Borisovsky, A. Eremeev, Y. Kovalenko, L. Zaozerskaya // Proc. of Mathematical Optimization Theory and Operations Research. MOTOR 2021. LNCS. 2021. Vol. 12755. P. 5166. https://doi.org/10.1007/978-3-030-77876-7_4
6. Borisovsky P. A parallel greedy approach enhanced by genetic algorithm for the stochastic rig routing problem // Opt. Let. OnLine-First. 2023. P. 235-255. https://doi.org/10.1007/s11590-023-01986-x
7. Groer C., Golden B., Wasil E. A library of local search heuristics for the vehicle routing problem // Math. Prog. Comp. 2010. Vol. 2. P. 79-101. https://doi.org/10.1007/s12532-010-0013-5
8. Modeling and solving a multi-trip multi-distribution center vehicle routing problem with lower-bound capacity constraints / V. S. Nguyen, Q. D. Pham, T. H. Nguyen, Q. T. Bui // Comp. and Ind. Eng. 2022. Vol. 172, Part A. 108597. https://doi.org/10.1016/j.cie.2022.108597
9. Sadati M. E. H., Akbari V., Catay B. Electric vehicle routing problem with flexible deliveries // Int. Jour. of Prod. Res. 2022. Vol. 60, N 13. P. 4268-4294. https://doi.org/10.1080/00207543.2022.2032451
10. Solving vehicle routing problem by memetic search with evolutionary multitasking / Q. Shang, Y. Huang, Y. Wang [et al.] // Memetic Comp. 2022. Vol. 14. P. 31-44. https://doi.org/10.1007/s12293-021-00352-7
11. A simulated annealing algorithm for the vehicle routing problem with parcel lockers / V. F. Yu, H. Susanto, P. Jodiawan, T.-W. Ho, S.W. Lin, Y.-T. Huang // IEEE Access. 2022. Vol. 10. P. 20764-20782. https://doi.org/10.1109/ACCESS.2022.3152062
References
1. Eremeev A.V., Zaozerskaya L.A., Zakharova Yu.V. Investigation of integer programming models for rig routing problem with returns and time windows. PREPRINTS.RU, 2022, https://doi.org/10.24108/preprints-3112582. (in Russian)
2. Kulachenko I.N., Kononova P.A. A hybrid algorithm for the drilling rig routing problem. Journal of Applied and Industrial Mathematics, 2021, vol. 15, iss. 2, pp. 261-276. https://doi.org/10.33048/daio.2021.28.703
3. Bezerra S.N., Souza M.J.F., de Souza S.R. A variable neighborhood search-based algorithm with adaptive local search for the Vehicle Routing Problem with Time Windows and multi-depots aiming for vehicle fleet reduction. Comp. & Oper. Res., 2023, vol. 149. 106016. https://doi.org/10.1016/jxor.2022.106016
4. Blum C., Eremeev A.V., Zakharova Y.V. Hybridizations of evolutionary algorithms with Large Neighborhood Search. Comp. Sci. Rev., 2022, vol. 46. 100512. https://doi.org/10.1016/j.cosrev.2022.100512
5. Borisovsky P., Eremeev A., Kovalenko Y., Zaozerskaya L. Rig routing with possible returns and stochastic drilling times. Proc. of Mathematical Optimization Theory and Operations Research. MOTOR 2021. LNCS, 2021, vol. 12755, pp. 51-66. https://doi.org/10.1007/978-3-030-77876-7_4
6. Borisovsky P. A parallel greedy approach enhanced by genetic algorithm for the stochastic rig routing problem. Opt. Let. OnLine-First, 2023, 15 p. https://doi.org/10.1007/s11590-023-01986-x
7. Groer C., Golden B., Wasil E. A library of local search heuristics for the vehicle routing problem. Math. Prog. Comp., 2010, vol. 2, pp. 79-101. https://doi.org/10.1007/s12532-010-0013-5
8. Nguyen V.S., Pham Q.D., Nguyen T.H., Bui Q.T. Modeling and solving a multi-trip multi-distribution center vehicle routing problem with lower-bound capacity constraints. Comp. and Ind. Eng., 2022, vol. 172, part A. 108597. https://doi.org/10.1016/j.cie.2022.108597
9. Sadati M.E.H., Akbari V., Catay B. Electric vehicle routing problem with flexible deliveries. Int. Jour. of Prod. Res., 2022, vol. 60, no. 13, pp. 4268-4294. https://doi.org/10.1080/00207543.2022.2032451
10. Shang Q., Huang Y., Wang Y. et al. Solving vehicle routing problem by memetic search with evolutionary multitasking. Memetic Comp., 2022, vol. 14, pp. 31-44. https://doi.org/10.1007/s12293-021-00352-7
11. Yu V.F., Susanto H., Jodiawan P., Ho T.-W., Lin S.-W., Huang Y.-T. A simulated annealing algorithm for the vehicle routing problem with parcel lockers. IEEE Access, 2022, vol. 10, pp. 20764-20782. https://doi.org/10.1109/ACCESS.2022.3152062
Об авторах
Заозерская Лидия Анатольевна,
канд. физ.-мат. наук, доц., Институт математики им. С. Л. Соболева СО РАН, Омск, 644090, Российская Федерация, zaozer@ofim.oscsbras.ru, https://orcid.org/0000-0002-0287-3759
Захарова Юлия Викторовна,
канд. физ.-мат. наук, Институт математики им. С. Л. Соболева СО РАН, Омск, 644090, Российская Федерация,
yzakharova@ofim.oscsbras.ru, https://orcid.org/0000-0003-4791-7011
About the authors
Lidia A. Zaozerskaya, Cand. Sci.
(Phys.Math.), Assoc. Prof., Sobolev
Institute of Mathematics SB RAS,
Omsk, 644090, Russian Federation,
zaozer@ofim.oscsbras.ru,
https://orcid.org/0000-0002-0287-3759
Yulia V. Zakharova, Cand. Sci. (Phys.Math.), Sobolev Institute of Mathematics SB RAS, Omsk, 644090, Russian Federation, yzakharova@ofim.oscsbras.ru, https://orcid.org/0000-0003-4791-7011
Поступила в 'редакцию / Received 26.10.2023 Поступила после рецензирования / Revised 21.12.2023 Принята к публикации / Accepted 05.02.2024