УДК 519.8 DOI 10.24147/2222-8772.2019.4.33-51
ПРИМЕНЕНИЕ ПРИНЦИПОВ МЕМЕТИКИ К РЕШЕНИЮ ЗАДАЧИ КОММИВОЯЖЁРА
А.В. Еремеев1
д.ф.-м.н., доцент, e-mail: [email protected] Ю.В. Коваленко1'2
к.ф.-м.н., e-mail: [email protected]
'Институт научной информации по общественным наукам РАН, Москва, Россия
2Омский государственный университет им. Ф.М. Достоевского, Омск, Россия
Аннотация. Рассматривается популяционный алгоритм для несимметричной задачи коммивояжёра, основанный на принципах меметики. Начальная популяция пробных решений строится с помощью жадных конструктивных эвристик. Все особи начальной и финальной популяций улучшаются посредством эвристики локального поиска, основанной на окрестности 3-ор: Баланс между интенсивностью использования локальной оптимизации и интенсивностью использования популяционного поиска регулируется с помощью адаптивного перезапуска алгоритма. Приводятся результаты численных экспериментов на известных тестовых примерах, показывающие перспективность предложенного алгоритма.
Ключевые слова: мемы, генетический алгоритм, локальная оптимизация, вычислительный эксперимент.
Введение
В настоящее время при решении задач оптимизации широко применяются эволюционные методы поиска, основанные на принципах меметики. Мемети-ка представляет собой подход к построению эволюционных моделей передачи культурной информации с использованием концепции мемов. Термин «мем» был введён Р. Докинзом в книге «Эгоистичный ген» [10]. По мнению автора, человеческая эволюция движима так называемыми репликаторами двух типов: биологическим и культурным. Репликатором первого типа является «ген» как единица наследственности живых организмов, представляющая собой участок молекулы ДНК, способной к самокопированию. Для описания единицы передачи культурного наследия Р. Докинз использовал термин «мем», подчёркивая способность мема к самовоспроизведению, подобно гену. Таким образом, под мемом понимается базовая единица информации, значимая в контексте рассматриваемой области культуры (идея, символ, манера или образ действия, осознанно или неосознанно передаваемые от человека к человеку посредством речи, письма, видео, ритуалов, жестов и т. д.). Подобно тому, как в биологической эволюции, согласно теории Ч. Дарвина, имеет место изменчивость и
выживание сильнейшего, в культурной эволюции мемы рассматриваются как информация, воспроизводящаяся вариационно и селективно. Согласно Р. До-кинзу, мемы копируются путём имитации, обучения и других методов и борются за выживание в человеческой памяти, чтобы впоследствии реплицироваться вновь. Мемы развиваются по причине того, что выживают только некоторые вариации культурных единиц. В математическом и компьютерном моделировании, как правило, предполагается, что мемы участвуют в таких процессах, как имитация (imitation), распространение (propagation), экспрессия (expression), передача (transmission), ассимиляция (assimilation), сохранение (retention) и изменчивость (variation) [9]. Используется следующее соответствие терминологии в генетике и меметике: ген-мем, генотип-мемотип, фенотип-социотип.
С целью решения задач оптимизации П. Москато [16] предложил концепцию имитационного моделирования культурной эволюции (эволюции мемов), рассматриваемой как обобщение биологической эволюции (эволюции генов). При этом он обозначил как минимум два отличия между биологической эволюцией и культурной эволюцией: 1) индивиды не могут выбирать для себя гены, однако мемы могут приобретаться намеренно; 2) индивиды могут модифицировать и улучшать свои мемы, чего они не могут делать со своими генами.
В своей статье [16] П. Москато описал структуру меметического алгоритма (memetic algorithm), которая модифицируется и совершенствуется по сегодняшний день. Меметический алгоритм представляет собой гибридизацию популя-ционных методов поиска (например, таких как генетический алгоритм, эволюционные стратегии, алгоритм роя частиц, алгоритм дифференциальной эволюции и т. д.), алгоритмов локальной оптимизации и проблемно-ориентированных конструктивных эвристик (см., например, [9,18,19]). В русскоязычной литературе меметические алгоритмы также известны под названиями «генетический алгоритм локального поиска» и «гибридный эволюционный алгоритм» (см., например, [1,4,5]).
Локальная оптимизация может использоваться на различных стадиях меме-тических алгоритмов: локальные улучшения на этапе инициализации и / или на этапе постпроцессинга, чередование алгоритмов локального поиска с операторами эволюционного поиска. Также разрабатываются меметические алгоритмы, где одновременно сосуществуют несколько взаимодействующих популяций [9].
В современных меметических алгоритмах координация алгоритмических компонент реализуется с помощью различных адаптивных схем: адаптивных правил, использующих оценки разнообразия популяции, вычисленные на основе значений функции приспособленности или расстояний между особями; адаптивных гиперэвристик; самоадаптирующихся алгоритмов; методов машинного обучения и др. [18,20].
Отметим, что меметические алгоритмы являются представителями методов из достаточно широкой области, называемой меметическими вычислениями (memetic computing) [18]. В меметических вычислениях для решения различных задач используются сложные динамические структуры, состоящие из взаимодействующих модулей (мемов). Здесь мемы рассматриваются как стратегии и / или операторы, действия которых координируются и адаптируются в процес-
се вычислений. Развитие и динамика мемов осуществляются подобно распространению идей в обществе. В меметических вычислениях сочетаются методы из различных отраслей компьютерных наук (эволюционные вычисления, многокритериальная оптимизация, машинное обучение, приближенные алгоритмы и т. д.), а также методы из других наук, таких как биология, социология и физика.
Задача коммивояжёра (ЗК) относится к числу классических задач дискретной оптимизации. Дан полный ориентированный граф С с множеством вершин V = [у\,..., уп} и множеством дуг А = {(у1,у^ ) : е V, г = ]}. Для
каждой дуги (уг,у^) е А задан вес (длина дуги) с(уг,у^) ^ 0. Требуется найти Гамильтонов контур С (маршрут коммивояжёра) с минимальным значением суммарной длины ^^ )еС с(у1,у^). Если длина дуги (уг^у^) не совпадает с длиной обратной дуги (у^,Уг) по крайней мере для одной пары вершин у^, у^, то задача коммивояжёра называется несимметричной (НЗК). Несимметричная задача коммивояжёра возникает в различных практических приложениях: задачи составления расписаний с учётом переналадки оборудования, задачи маршрутизации транспортных средств, задачи цехового типа, распределение товаров и услуг, выпуск продукции и др.
Несимметричная задача коммивояжёра является ЫР-трудной в сильном смысле [14], поэтому имеет смысл разработка эвристических алгоритмов и ме-таэвристик, в частности меметических алгоритмов. В настоящей работе предлагается меметический алгоритм для рассматриваемой задачи. Начальная популяция строится с помощью эвристики локального поиска и конструктивной эвристики В. Занга [27]. В процессе эволюции популяции используются проблемно-ориентированная мутация и оптимальная рекомбинация [12]. Баланс между интенсивностью использования локальной оптимизации и интенсивностью использования популяционного поиска регулируется с помощью адаптивного перезапуска.
В операторе кроссинговера комбинируются элементы родительских решений при построении решений потомков. Задача оптимальной рекомбинации (ЗОР) состоит в отыскании наилучшего возможного результата кроссинговера для заданной пары родительских решений задачи оптимизации. ЗОР является вспомогательной задачей и формулируется с учётом основных принципов оператора кроссинговера [22]. С точки зрения меметики оптимальная рекомбинация соответствует такой передаче культурной информации от родителей (наставников) к потомкам, при которой потомок формирует комбинацию мемов (идей, манер или образов действий и мыслей) от родителей согласно своим предпочтениям и интересам, а также ценностям (устоям) общества.
Результаты экспериментальных исследований, представленные в работах [25] и [26], показывают, что операторы кроссинговера, решающие ЗОР приближённо, могут эффективно применяться в генетических алгоритмах для задач на перестановках. ЗОР для несимметричной задачи коммивояжёра является ЫР-трудной и сводится к задаче коммивояжёра на ориентированном кубическом графе с предписанными дугами [2]. Последняя задача в свою очередь решается с помощью модификации алгоритма Д. Эппштейна [11].
Статья имеет следующую структуру. В разделе 1 представлены общая схема меметического алгоритма и его подробное описание. В разделе 2 описывается предложенный меметический алгоритм для задачи коммивояжёра. Результаты вычислительного эксперимента приведены в разделе 3.
1. Меметический алгоритм
Меметический алгоритм есть алгоритм специальной структуры, где популяция пробных решений развивается с помощью вероятностных операторов селекции, кроссинговера (рекомбинации), мутации, а также методов локального поиска и механизмов обновления популяции. Приведем общую схему современного меметического алгоритма и рассмотрим детально его шаги.
Алгоритм 1. Меметический алгоритм.
Шаг 1. Сгенерировать начальную популяцию Р0, положить £ := 0.
Шаг 2. Пока не выполнен критерий остановки, выполнять шаги 2.1-2.4
2.1. Построить популяцию потомков Qt с помощью операторов селекции,
кроссинговера и мутации.
2.2. Реализовать локальное улучшение популяции Qt.
2.3. Сформировать популяцию следующего поколения Р4+1 из популяций Р4
и Qt, положить £ := £ + 1.
2.4. Если выполняется критерий перезапуска, то осуществить перезапуск
алгоритма с новой начальной популяцией Р0, положить £ := 0.
Начальная популяция строится, как правило, одним из двух способов: особи генерируются случайно, или используются «перспективные» решения, построенные с помощью конструктивных эвристик и / или эвристик локального поиска.
Критерием остановки может быть заданное число итераций или количество вычислений целевой функции, достижение максимального числа итераций без улучшения рекорда, реализация некоторого числа перезапусков алгоритма, достижение заданного значения целевой функции и др.
При построении потомков в первую очередь осуществляется отбор родительских особей. Такой отбор может реализовываться на основе функции приспособленности особей (совпадает с целевой функцией или является её обобщением / модификацией с целью направленного поиска), тогда более приспособленные особи имеют больше шансов быть выбранными в качестве родителей. Примерами являются методы рулетки и турнирного отбора [7]. Также родительские особи могут выбираться на основе разнообразия популяции (среднее расстояние Хэмминга, энтропия Шеннона и др.). В данном случае особи из различных областей поиска используются в роли родителей. Далее родительские особи комбинируются с помощью операторов скрещивания и мутации. Выбор того или иного оператора может быть сделан на этапе создания алгоритма или осуществляется в процессе его выполнения с помощью механизмов обучения, свойств родителей, степени разнообразия популяции и др. Более того,
значения настраиваемых параметров меметического алгоритма, таких как вероятности скрещивания и мутации, размер популяции или подпопуляции, могут адаптироваться в процессе работы алгоритма.
Важную роль в меметическом алгоритме играет локальная оптимизация, целью которой является улучшение качества потомков. Здесь потомок подвергается усовершенствованию, что соответствует обучению в жизнедеятельности (улучшение / модификация мемов). Меметический алгоритм объединяет в себе две методологии поиска: популяционные алгоритмы и методы локального поиска, причём может рассматриваться как подход, в котором локальный поиск действует на совокупности решений, с периодическим привлечением операций рекомбинации с целью кооперации и обмена информацией между решениями.
Современные меметические алгоритмы обладают набором методов локального поиска, где определяется, к каким решениям какие операторы применять, с какой интенсивностью и как часто. Для этого используются адаптивные гиперэвристики, механизмы машинного обучения, самоадаптирующиеся и ко-эволюционные методы, схемы, базирующиеся на разнообразии популяции, и др. Как правило, среди эвристик локального поиска присутствуют случайный локальный поиск и вариации алгоритмов локальной оптимизации с различными ограничениями на максимальное число итераций и долю просматриваемых решений в окрестности. Случайный локальный поиск и локальный спуск в окрестности текущего решения характерны для применения на начальном этапе и в процессе эволюции популяции, тогда как интенсивный локальный поиск (с просмотром большей части или всей окрестности решения на каждой итерации) активно используется на завершающем этапе работы алгоритма.
При отборе особей для следующего поколения принимаются во внимание качество, разнообразие и возраст особей. Важно следить за разнообразием популяции для того, чтобы избежать преждевременного достижения локального оптимума и перейти к освоению новых областей поиска. Различают популяци-онную схему воспроизведения, где число потомков на одной итерации близко или совпадает с числом особей предыдущего поколения, и стратегию с частичным воспроизведением, где замещается только часть популяции [7]. Также известны меметические алгоритмы, где популяция хранится и обновляется в соответствии с некоторой структурой (см., например, тернарное дерево [8], кольцо [6]). Более того, в эволюционных вычислениях известны и + Л)
эволюционные стратегии, схемы обновления популяции которых могут быть перенесены в меметические алгоритмы.
Если популяция вырождается, что проявляется, например, в снижении степени разнообразия популяции до некоторого порога или длительном неулучшении рекорда, то имеет смысл его перезапуск. При этом строится новая начальная популяция, которая в отдельных случаях содержит часть особей последней популяции, возможно, подверженных изменениям с помощью эвристик.
Также необходимо отметить, что важную роль при разработке меметиче-ского алгоритма играет способ представления решений и типы окрестностей, используемых в процедурах локального поиска. Это определяет эффективность, трудоёмкость и перспективность алгоритма.
Если меметический алгоритм можно рассматривать как метод с определённой структурой и специфическими особенностями, то меметические вычисления представляют собой подход к разработке алгоритмов. Меметические вычисления рассматривают алгоритмы как эволюционирующие структуры, состоящие из действующих согласованно и в тоже время конкурирующих операторов (ме-мов). Это ведёт к идее автоматического построения алгоритмов решения задач путём «грамотной» комбинации и адаптации операторов (мемов).
2. Меметический алгоритм для задачи коммивояжёра
Предлагаемый меметический алгоритм (М.Л) основан на схеме развития популяции особей в генетическом алгоритме. Каждая особь соответствует решению задачи (фенотипу), которое представлено в алгоритме как строка символов из некоторого конечного алфавита (генотип). Компоненты строк называются генами. М.Л использует стратегию управления популяцией, известную как стационарная схема воспроизведения [7]. Схема алгоритма имеет следующий вид.
Алгоритм 2. Меметический алгоритм М.Л для ЗК.
Шаг 1. Построение начальной популяции с последующим локальным
улучшением каждой особи.
Шаг 2. Пока не сработал критерий остановки, выполнять шаги 2.1-2.4.
2.1. Выбрать из популяции двух родителей р^, р2.
2.2. Применить к р! и р2 оператор мутации.
2.3. Построить потомка р' от рь р2 с помощью оператора кроссинговера.
2.4. Заменить худшую особь в популяции потомком р'.
Шаг 3. Выполнить локальное улучшение каждой особи последней
популяции.
Численность популяции N является фиксированной от начала и до конца работы алгоритма М.Л. Две особи начальной популяции строятся с помощью жадной конструктивной эвристики, предложенной В. Зангом [27]. Оставшиеся (Ы — 2) особей начальной популяции строятся с помощью эвристики «случайного присоединения к контуру» [26]. Особи начальной и последней популяций улучшаются посредством применения эвристики локального поиска, основанного на 3-ор! окрестности (см. раздел 2.3).
В качестве оператора селекции используется ^-турнирная селекция [7]. Мутация применяется к каждому из родительских решений с вероятностью которая является настраиваемым параметром алгоритма М.Л. Реализовано два оператора мутации, которые выполняют случайный спуск в 3-ор: или 4-ор: окрестности (см. рис. 1). Операторы используются для мутации с равной вероятностью. В операторе скрещивания решается задача оптимальной рекомбинации с помощью алгоритма, представленного в разделе 2.1.
2.1. Оператор рекомбинации
Для заданной пары родительских особей задача оптимальной рекомбинации (ЗОР) состоит в отыскании наилучшего возможного потомка как результата оператора скрещивания при условии, что значение каждого гена потомка копируется из значений соответствующих генов одного или другого родителя (свойство передачи генов) [22].
Решения несимметричной задачи коммивояжёра кодируются списками смежностей, где для каждой вершины указывается непосредственно предшествующая ей вершина. При указанной кодировке решений ЗОР направлена на поиск кратчайшего маршрута коммивояжёра, совпадающего с двумя заданными родительскими решениями по тем дугам, по которым проходят оба родительских контура, и не проходящего по дугам, отсутствующим в обоих из них.
ЗОР при наследовании свойства смежности для несимметричной ЗК является ЫР-трудной в сильном смысле задачей [2]. Данная ЗОР сводится к ЗК на ориентированных графах с ограниченной степенью вершин и может быть решена за время 0(п2?) [2].
Рассмотрим несимметричную задачу коммивояжёра с предписанными дугами. Дан ориентированный граф с произвольными неотрицательными весами (длинами) дуг и заданным множеством предписанных дуг. Требуется найти кратчайший гамильтонов контур, проходящий по всем предписанным дугам. Степенью вершины ь называется общее число дуг, исходящих из вершины V или входящих в вершину ь. Кубическим графом называется граф, степень каждой вершины которого не превосходит 3.
Обозначим через Ах и А2 множества дуг, по которым проходят родительские маршруты р! и р2. ЗОР для рх и р2 можно рассматривать как несимметричную задачу коммивояжёра на графе С = (У,А! и А2) с множеством предписанных дуг Р' := Ах П А2. Заметим, что степень любой вершины графа С не превосходит четырёх. Несимметричная задача коммивояжёра в таком ориентированном графе эквивалентна несимметричной задаче коммивояжёра на кубическом ориентированном графе С" = (у",А") с множеством предписанных дуг Р", где каждая вершина степени четыре V Е V заменена двумя вершинами г>,г>, соединёнными фиктивной дугой (у,у) нулевого веса. При этом в вершину V входят дуги, входившие в и, а из вершины у выходят дуги, выходившие из V. Множество Р" состоит из предписанных дуг Р' и фиктивных дуг.
Алгоритм из [2] перебирает все допустимые решения несимметричной задачи коммивояжёра на графе С" = (у",А") с множеством предписанных дуг Р", и для каждого маршрута значение целевой функции вычисляется за линейное время. Число допустимых решений есть 0(2(|А''1-1^''|)/4). Таким образом данный подход позволяет решить ЗОР за время 0(2Л/4п), где й ^ 2п есть число дуг, содержащихся только в одном из родительских контуров. В настоящей работе используется модификация алгоритма из [2], где целевая функция вычисляется за время 0(1), что гарантирует общую трудоёмкость 0(2?).
В большинстве из известных генетических алгоритмов для задачи коммивояжёра итерационно используется локальная оптимизация после операторов
кроссинговера (см., например, [8,15,25]). Оптимальная рекомбинация в свою очередь может рассматриваться как локальный спуск в окрестности, определяемой парой родительских решений. Поэтому в алгоритме МЛ локальный поиск применяется только на начальной и финальной стадиях.
2.2. Эвристика локального поиска
Окрестность k-opt в задаче коммивояжёра состоит из всех гамильтоновых контуров, получающихся из данного маршрута заменой к дуг. Используемая в алгоритме МЛ эвристика локального поиска основана на просмотре подмножества контуров в окрестности 3-opt.
Предпринимается попытка улучшить заданный маршрут путём замены трёх дуг. В примере, представленном слева на рис. 1, дуги (vil ,vi2), (vi4,vi3) и (vi6,vh) удаляются, а дуги (vh,vh), (vh,vh) и (vi6,vi2) добавляются. В качестве кандидатов для (vil ,vi2) рассматриваются все дуги текущего маршрута в порядке убывания их весов. Варианты для вершины vi3 достаточно искать только среди тех вершин, которые ближе к вершине vil чем vi2. Поэтому для каждой вершины v предварительно формируется список из остальных вершин в порядке возрастания весов дуг от вершины v. Кандидаты на вершину vi3 просматриваются согласно списку для vil, пока не будет достигнута вершина и, для которой сщ ,и ^ сщ щ . Более того, только \0.2n] ближайших вершин хранится в отсортированном списке каждой вершины, что позволяет уменьшить время работы и объём используемой памяти в алгоритме (см., например, [15]). Отметим, что при добавлении дуги (vil,vi3) образуется замкнутый контур С. Среди всех вершин этого контура в качестве vi5 выбирается вершина, приводящая после замены трёх дуг к наиболее эффективному маршруту (вершины viA и vi6 идентифицируются однозначно). Эвристика локального поиска останавливается, если никакая замена трёх дуг не приводит к улучшению текущего маршрута. В противном случае описанная процедура повторяется для нового контура.
Рис. 1. Окрестности 3-opt и 4-opt
Для уменьшения времени работы представленной эвристики локального поиска используются такие известные стратегии, как «don't look bits» (не про-
сматривай вершины, приводившие к ухудшению) и «first improving move» (переходи в первый улучшающий маршрут) из работы [15].
2.3. Механизмы перезапуска
Баланс между локальным и эволюционным методами поиска настраивается адаптивно. Одним из простых способов адаптации является следующее классическое правило перезапуска: алгоритм М.Л выполняет N/2 итераций без перезапуска. Далее М.Л перезапускается, как только будет достигнута итерация, номер которой в два раза больше номера итерации, где получено последнее улучшение рекордного значения целевой функции.
В работе также используется правило перезапуска, основанное на методе переписи Шнабеля. Метод переписи Шнабеля был разработан в биометрии для статистической оценки размера популяции животных. Согласно данному методу, из популяции извлекаются выборки размера п0 и подсчитывается количество различных животных, наблюдаемых в выборках. При этом предполагается, что вероятность отлова для всех животных одинакова. Отобранные животные помечаются, если это не было сделано ранее, и возвращаются обратно в популяцию. Далее статистическая оценка для общего числа v особей в популяции вычисляется на основе общего числа отловленных и помеченных животных. Мы применяем метод переписи Шнабеля для оценки количества значений, которые дискретная случайная величина может принимать с ненулевой вероятностью, аналогично работе [3].
Пусть величина г задаёт длину исторического периода, рассматриваемого для статистического анализа в правиле перезапуска алгоритма М.Л. Предполагается, что в течение последних г итераций все новые потомки в М.Л имеют одинаковое распределение вероятностей и могут рассматриваться как отобранные животные в методе переписи Шнабеля. В свою очередь указанный метод используется для оценки числа различных решений, которые можно посетить с положительной вероятностью в предположении, что текущее распределение потомков остаётся неизменным.
Также предполагается, что выборка, наблюдаемая за последние г итераций алгоритма М.Л, состоит из г независимых решений-потомков. Определим случайную величину К как число различных решений в этой выборке. Делается ещё одно упрощающее предположение о том, что все решения, которые могут быть сгенерированы с текущим распределением, имеют равные вероятности. Тогда для любого фиксированного случайная величина К имеет следующее распределение:
Pr{K = к} = S,
{ } ( и — к)! vr
где S(r, к) = к J2ks=o(- 1)fc(s)(к — SY ~ это число Стирлинга второго рода. Данное распределение также известно как распределение Арфведсона. Тогда оценка максимального правдоподобия z>ML для неизвестной величины v равна
и(r,k) = argmax^ r j , (1)
U!
{(и — к)! иг
где к — это общее количество решений сгенерированных на последних г итерациях. Значение величины z/ML = û(г, к) может быть вычислено из (1) с помощью стандартных методов одномерной оптимизации. Технические подробности и дополнительные ссылки на литературу можно найти в [23].
В настоящей статье используется правило перезапуска из [13], согласно которому алгоритм перезапускается, как только оценка z>ML становится равной к. Обоснование такого правила заключается в том, что выполнение равенства z>ML = fc свидетельствует, скорее всего, об отсутствии непосещённых решений в той части допустимой области, где популяция алгоритма находилась последние г итерации. В такой ситуации целесообразно перезапустить алгоритм, а не ждать пока распределение популяции существенно изменится под влиянием эволюционных процессов.
Значение параметра г настраивается в процессе работы алгоритма. Всякий раз, когда значение рекорда уменьшается, величина г полагается равной размеру популяции N. Если же за последние 2г итераций значение рекорда не изменяется, то увеличивается в два раза. Отметим, что улучшение рекорда говорит о достижении популяцией новой неисследованной области поиска, поэтому длину исторического периода следует уменьшить (в предлагаемом варианте до размера популяции N). С целью уменьшения времени работы алгоритма критерий остановки проверяется только при обновлении значения г. При многопроцессорной реализации алгоритма эта проверка может выполняться на каждой итерации M.A.
3. Вычислительный эксперимент
Предлагаемый алгоритм М.А реализован на языке Java и тестировался на ЭВМ Intel Xeon E5420 2.5 ГГц, оперативная память 16 ГБ.
Алгоритм М.А сравнивается с одним из наиболее конкурентоспособных генетических алгоритмов решения НЗК, предложенным в работе [17]. Алгоритм из [17] (GАеах) использует оператор скрещивания (EAX), основанный на схеме A-B-циклов, где при построении потомка сначала формируются ориентированные подциклы с чередующимися дугами от одного и другого родителей, а затем из подциклов строится гамильтонов контур. Данный оператор допускает наличие у потомка дуг, отсутствующих в родительских маршрутах. GAeax основан на популяционной схеме воспроизведения (размер популяции равен 300) и при построении начальной популяции применяет локальную оптимизацию на основе 3-opt окрестности. Этот алгоритм в [17] реализован на языке C++ и тестировался на ЭВМ Intel Xeon 2.93 ГГц.
Алгоритмы M.A и GAeax запускались на каждой тестовой задаче 100 раз на сопоставимое время, а именно алгоритму M.A отводилось в 1,465 раза большее времени, чем зафиксированное время счета GAeax. Указанный множитель выбран, исходя из соотношения тактовых частот процессоров и того факта, что Java-компилятор оценивается на 25 % медленнее C++-компилятора.
Вычислительный эксперимент проведён на 126 тестовых примерах с числом вершин от 64 до 315 из библиотеки [24]. Эти примеры характеризуются
тем свойством, что длины дуг несимметричны, но близки по значению друг к другу. Алгоритм МА тестировался с двумя рассматриваемыми в настоящей работе правилами перезапуска и при двух размерах популяции (N = 100 и N = 300). Лучшие результаты показали версии алгоритма МА с N = 300, причём классическое правило перезапуска несколько уступает правилу перезапуска, основанному на методе переписи Шнабеля. Обозначи м через Cbest и Caver лучшее и среднее значения целевой функции за 100 запусков. Пусть Aaver соответствует относительному отклонению в % величины Caver от оптимального значения критерия оптимизации. Результаты вычислительного эксперимента для алгоритмов МЛ^сзоо (N = 300, и перезапуск основан на методе переписи Шнабеля) и GAEaX представлены в таблицах 1-3 в приложении. Для проверки наличия статистической значимости различий между результатами анализируемых методов применялся тест суммы рангов Уилкоксона с уровнем значимости a = 0,05. Для сравнения использовались значения величин Cbest и Caver по всем тестовым примерам.
Среднее отклонение от оптимума Aaver для MAsC300 составляет 0,0005, что почти в 1,5 раза больше, чем для алгоритма GAEaX. Однако со 100 % частотой получения оптимума алгоритмом MAsC300 было решено 82 задачи, а алгоритмом GAEaX 68 задач (см. значения Caver, выделенные полужирным шрифтом в таблицах приложения). Значимых отличий между средними значениями целевой функции Caver для алгоритмов M^sC300 и GAEaX не выявлено. Идентичное утверждение справедливо для лучших найденных значений критерия Cbest.
В работе [12] проводилось сравнение по частоте получения оптимума версии алгоритма МА (использовалось классическое правило перезапуска и отсутствовала локальная оптимизация на этапе постпроцессинга) с алгоритмом GAEaX при N = 100 на несимметричных задачах библиотеки TSPLIB. Были сделаны аналогичные выводы о схожести в результатах работы алгоритмов. Отметим, что большинство примеров библиотеки TSPLIB (кроме серии rbg) характеризуются более существенными отличиями в длинах дуг, чем в рассматриваемых здесь примерах. Причём на серии rbg оптимумы легко вычисляются на начальном этапе работы МА c помощью алгоритма В. Занга [27], что не характерно для задач из библиотеки [24]. Таким образом, можно сделать вывод о конкурентоспособности алгоритмов МА и GAEaX на задачах различной структуры.
4. Заключение
Представлен популяционный алгоритм для несимметричной задачи коммивояжёра, основанный на использовании принципов меметики. Результаты эксперимента на известных тестовых примерах свидетельствуют об эффективности использования оптимальной рекомбинации в операторах кроссинговера и о перспективности разработанного меметического алгоритма. Также продемонстрирована важность соблюдения баланса между локальным и эволюционным методами поиска. Дальнейшие исследования могут быть направлены на внедрение в предложенный меметический алгоритм различных по свойствам операто-
ров кроссинговера и локальной оптимизации, а также их адаптивной настройки в процессе эволюции.
Благодарности
Данная работа была выполнена при поддержке РНФ, проект № 17-18-01536.
Приложение
Настоящее приложение содержит таблицы с результатами вычислительного эксперимента для алгоритмов MAsc300 и GAeax на тестовых примерах из библиотеки [24]. Здесь Cbest и Caver есть лучшее и среднее значения целевой функции за 100 запусков, Aaver — относительное отклонение в % величины Caver от оптимального значения критерия оптимизации.
Таблица 1. Сравнение результатов работы алгоритмов МЛ^сзоо и GAEax (часть 1)
задача MAsc 300 GAEAX
Cbest Caver ^aver Cbest Caver ^aver
D41140 417880 417880 0 417880 417880 0
D61440 512674 512674 0 512674 512674 0
D4940m 336325 336325 0 336325 336325 0
D81740m 664613 664613 0 664613 664613 0
D4940 422508 422508 0 422508 422508 0
D81740 809706 809706 0 809706 809706 0
D82040m 689971 689971 0 689971 689971 0
D102240m 803595 803595 0 803595 803595 0
D82040 790971 790971 0 790971 790971 0
D102240 1027751 1027751 0 1027751 1027751 0
D102640m 815096 815096 0 815096 815096 0
D122640m 880335 880335 0 880335 880335 0
D122940m 997772 997772 0 997772 997772 0
D102640 926142 926142 0 926142 926142 0
D122640 990448 990448 0 990448 990448 0
D122940 1316922 1316923,48 0,00011 1316922 1316922,2 0,00002
D143040a 1072673 1072673 0 1072673 1072673 0
D143340 1452339 1452339 0 1452339 1452339 0
D143340m 1100177 1100177 0 1100177 1100177 0
D143040 1472328 1472344,1 0,0011 1472328 1472332,6 0,00031
D143040b 1210175 1210175 0 1210175 1210175 0
D163440a 1145914 1145914 0 1145914 1145914 0
Таблица 2. Сравнение результатов работы алгоритмов МЛ^сзоо и САеах (часть 2)
задача МАясмо САЕАХ
СЪев1 ^ауег Дауег СЪев1 ^ауег Дауег
0163440 1452914 1452914 0 1452914 1452914 0
0163440Ь 1310767 1310767,2 0,000015 1310767 1310767,3 0,00002
0183840а 1255781 1255781 0 1255781 1255781 0
0163740 1468709 1468709 0 1468709 1468709 0
0183840 1652091 1652091 0 1652091 1652091 0
0183840Ь 1449912 1449912 0 1449912 1449912 0
0204240а 1438448 1438448 0 1438448 1438453,5 0,00038
0184040а 1331558 1331558 0 1331558 1331558 0
0204240 1980807 1980813,79 0,00034 1980807 1980814,5 0,00038
0184040 1686092 1686092 0 1686092 1686092 0
0184040Ь 1493759 1493759 0 1493759 1493776,2 0,00115
0204240Ь 1764636 1764636 0 1764636 1764636 0
041141 454381 454381 0 454381 454381 0
04941 452101 452101 0 452101 452107,4 0,001416
061441 561657 561657 0 561657 561657 0
061641 633760 633760 0 633760 633760 0
081741 730893 730893,14 0,000019 730893 730893,9 0,00012
082041т 804695 804695 0 804695 804695 0
0102241т 854290 854290 0 854290 854290 0
082041 80751 880751 0 880751 880751 0
0102241 1029382 1029382 0 1029382 1029382 0
0122641а 1011650 1011650 0 1011650 1011650 0
0102641т 1009032 1009032 0 1009032 1009032 0
0122941т 1058436 1058436 0 1058436 1058436 0
0122641 1306865 1306865 0 1306865 1306865 0
0102641 1199118 1199118 0 1199118 1199121,2 0,00026
0122941 1243493 1243500,01 0,00056 1243493 1243493 0
0122641Ь 1156769 1156769 0 1156769 1156769 0
0143041а 1103917 1103917,9 0,000082 1103917 1103917,2 0,000018
0143341а 1201011 1201011 0 1201011 1201016 0,000416
0143341Ь 1376037 1376048,01 0,0027 1376011 1376020,6 0,000698
0143041 1389319 1389320,07 0,0019 1389296 1389296 0,000144
0143341 1584011 1584020,66 0,00061 1584011 1584022,4 0,000720
0143041Ь 1219063 1219063 0 1219063 1219063 0
0163441а 1313082 1313082 0 1313082 1313082 0
0163441 1761528 1761533,13 0,00029 1761528 1761554,6 0,0015
0163441Ь 1547424 1547424 0 1547424 1547424 0
0163741т 1343095 1343150,94 0,0042 1343095 1343095 0
Таблица 3. Сравнение результатов работы алгоритмов МЛ^сзоо и САеах (часть 3)
задача МАясмо САЕАХ
Саувг Даувг Саувг Даувг
D163741 1530323 1530325,18 0,00014 1530323 1530329,7 0,000438
D183841a 1385166 1385166 0 1385166 1385166 0
D183841 1769648 1769648 0,00033 1769648 1769648 0,000339
D183841b 1552385 1552385 0,00038 1552385 1552385 0,000387
D184041b 1591521 1591531,1 0,00063 1591521 1591521 0
D184041a 1491653 1491653 0 1491653 1491653 0
D184041 1803657 1803657 0 1803657 1803657 0
D204241a 1510820 1510824,8 0,00032 1510820 1510820,9 0,00006
D204441a 1556414 1556414 0 1556414 1556414 0
D204241 1872381 1872412,26 0,00268 1872362 1872363,1 0,000059
D204441 2007883 2008038,82 0,01468 2007744 2007778,5 0,001718
D204241b 1693166 1693170,2 0,00025 1693166 1693169,9 0,000230
D204441b 1785585 1785605,29 0,00114 1785585 1785588,3 0,000185
D4942 517768 517768 0 517768 517768 0
D61642 875072 875072 0 875072 875072 0
D61442 768117 768117 0 768117 768117 0
D81742 828368 828368 0 828368 828368 0
D82042 849394 849394 0 849394 849394 0
D102242 963636 963636,98 0,0001 963636 963636,6 0,000062
D122642m 1077563 1077566,15 0,00085 1077557 1077562,4 0,000501
D122942m 1149684 1149696,49 0,0023 1149670 1149674,2 0,000365
D102642 1065324 1065324 0 1065324 1065326,2 0,000207
D122642 1153625 1153625 0 1153625 1153629,6 0,000399
D122942 1235878 1235878 0 1235878 1235882,4 0,000356
D143042m 1224644 1224644 0 1224644 1224664,1 0,001641
D143342m 1329993 1329994,5 0,0001 1329993 1329995,5 0,000188
D143042 1369730 1369882,7 0,0111 1369759 1369763,5 0,002446
D143342 1525120 1525123,2 0,0002 1525122 1525122 0,000131
D163442 1623001 1623005,2 0,0019 1622974 1622984,5 0,000647
D163442a 1367607 1367607 0 1367607 1367607 0
D163742a 1432892 1432917 0,0017 1432892 1432921,6 0,002066
D163442b 1442855 1442890,6 0,0024 1442855 1442857 0,000139
D163742b 1602916 1602916 0 1602916 1602952,5 0,002277
D163742 1888149 1888160,8 0,0006 1888149 1888173,4 0,001292
D183842m 1434387 1434407,2 0,0014 1434387 1434407,1 0,001401
D183842 1542727 1542747,5 0,0013 1542727 1542740,9 0,000901
D184042m 1534827 1534827 0 1534827 1534827 0
D184042 1753907 1753907 0 1753907 1753907 0
Таблица 4. Сравнение результатов работы алгоритмов МЛ^сзоо и САеах (часть 4)
задача ■МАвсзоо САЕАХ
СЪев1 ^ауег Дауег СЪев1 ^ауег Дауег
0204242а 1587087 1587090,9 0,0002 1587087 1587089,3 0,000145
0204242 1872624 1872624 0 1872624 1872626,1 0,000112
0204242Ь 1742305 1742310,8 0,0003 1742305 1742312 0,000402
041143 695196 695196 0 695196 695196 0
061443 822217 822217,8 0,0001 822217 822217,9 0,000109
061643 869353 869353 0 869353 869353 0
081743 948708 948718,1 0,0011 948708 948719,1 0,001170
082043т 1003444 1003444 0 1003444 1003444,2 0,00002
082043 1079720 1079720 0 1079720 1079720 0
0102643 1121130 1121130 0 1121130 1121130 0
0122643 1218825 1218825 0 1218825 1218825 0
0122943т 1365993 1365993 0 1365993 1365993 0
0122943 1526097 1526097 0 1526097 1526097 0
04944 758785 758786,9 0,0003 758785 758791 0,000791
061444 964730 964737,2 0,0007 964730 964740,4 0,001078
061644 984935 984936 0,0001 984935 984937 0,000203
081744 995860 995860 0 995860 995865,8 0,000582
0102244т 1245433 1245436,1 0,0002 1245433 1245436,6 0,000289
082044 1091866 1091866 0 1091866 1091866 0
0122644т 1295659 1295659 0 1295659 1295663,4 0,000340
0122944т 1380447 1380447 0 1380447 1380447,9 0,000065
0122944 1456564 1456564 0 1456564 1456573,8 0,000673
0102644 1379555 1379555 0 1379555 1379562,2 0,000522
0143044т 1438672 1438672,4 0,00002 1438672 1438704,1 0,002231
0143044 1578725 1578745 0,0012 1578725 1578759,7 0,002198
0143344 1549308 1549308 0 1549308 1549308 0
0163744т 1671485 1671485 0 1671485 1671485 0
0163744 1801619 1801622,3 0,0002 1801619 1801621,8 0,000155
среднее 1229537,1 1229542,6 0,0005 1229535,35 1229539,1 0,0003
Литература
1. Алексеева Е.В., Кочетов Ю.А. Генетический локальный поиск для задачи о р-медиане с предпочтениями клиентов // Дискретн. анализ и исслед. опер. Сер. 2. 2007. Т. 14, № 1. С. 3-31.
2. Еремеев А.В. О сложности оптимальной рекомбинации для задачи коммивояжёра // Дискретн. анализ и исслед. опер. 2011. Т. 18, № 1. С. 27—40.
3. Еремеев А.В., Ривс К.Р. О доверительных интервалах для числа локальных опти-мумов // Математические структуры и моделирование. 2017. Вып. 41. С. 55-74.
4. Кочетов Ю.А., Плясунов А.В. Генетический локальный поиск для задачи о разбиении графа на доли ограниченной мощности // Ж. вычисл. матем. и матем. физ. 2012. Т. 52, № 1. С. 164--176.
5. Письменная В.А. Алгоритмическое и программное обеспечение меметического алгоритма поиска условного глобального экстремума // Электронный журнал «Труды МАИ». 2015. Вып. 79. С. 1-27.
6. Плотников О.А., Подвальный Е.С. Разработка меметического алгоритма для решения задач оптимального планирования грузоперевозок // Вестник Воронежского государственного технического университета. 2012. Т. 8, № 10-1. С. 19-24.
7. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечёткие системы. М. : Горячая линия-Телеком, 2006. 452 с.
8. Buriol L.S., Franca P.M., Moscato P. A new memetic algorithm for the asymmetric traveling salesman problem // Journal of Heuristics. 2004. V. 10. P. 483-506.
9. Chen X., Ong Y-S., Lim M-H., Chen Tan K. A multi-facet survey on memetic computation // IEEE Transactions on Evolutionary Computation. 2011. V. 15, No. 5. P. 591-607.
10. Dawkins R. The Selfish Gene. Oxford University Press, 1976. 224 p.
11. Eppstein D. The traveling salesman problem for cubic graphs // Journal of Graph Algorithms and Applications. 2007. V. 11, No. 1.
12. Eremeev A.V., Kovalenko Y.V. Genetic algorithm with optimal recombination for the asymmetric travelling salesman problem // Large-Scale Scientific Computing, LNCS, Springer International Publishing, Cham. 2018. V. 10665, P. 341-349.
13. Eremeev A.V. A restarting rule based on the Schnabel census for genetic algorithms // Learning and Intelligent Optimization, LNCS, Springer International Publishing, Cham. 2019. V. 11353. P. 337-351.
14. Garey M.R., Johnson D.S. Computers and Intractability. A Guide to the Theory of NP-completeness. W.H. Freeman and Company, San Francisco, 1979. 340 p.
15. Johnson D.S., McGeorch L.A. The traveling salesman problem: a case study // Local Search in Combinatorial Optimization, John Wiley & Sons Ltd. 1997. P. 215-336.
16. Moscato P. On evolution, search, optimization, genetic algorithms and martial arts: Towards memetic algorithms. Technical Report C3P 826, California Institute of Technology, Pasadena, CA, 1989. 68 p.
17. Nagata Y., Soler D. A new genetic algorithm for the asymmetric TSP // Expert Syst. with Applications. 2012. V. 10. P. 8947—8953.
18. Neri F., Cotta C. Memetic algorithms and memetic computing optimization: A literature review // Swarm and Evolutionary Computation. 2012. V. 2. P. 1-14.
19. Neri F., Cotta C., Moscat P. Handbook of Memetic Algorithms. Springer-Verlag, Berlin Heidelberg, 2012. 309 p.
20. Neri F., Toivanen J., Cascella G.L., Ong Y.S. An adaptive multimeme algorithm for designing HIV multidrug therapies // IEEE/ACM Transactions on Computational Biology and Bioinformatics. 2007. V. 4. P. 264-278.
21. Norman M., Moscato P. A competitive and cooperative approach to complex combinatorial search // 20th Joint Conference on Informatics and Operations Research, Buenos Aires, Argentina. 1991. P. 3.15-3.29.
22. Radcliffe N.J. The algebra of genetic algorithms // Annals of Mathematics and Artificial Intelligence. 1994. V. 10, No. 4. P. 339-384.
23. Reeves C.R., Eremeev A.V. Statistical analysis of local search landscapes // J. Oper. Res. Soc. 2004. V. 55, No. 7. P. 687-693.
24. Soler D., Martinez E., Mico J.C. A transformation for the mixed general routing problem with turn penalties // Journal of the Operational Research Society. 2008. V. 59. P. 540-547.
25. Tinos R., Whitley D., Ochoa G. Generalized asymmetric partition crossover (GAPX) for the asymmetric TSP // The 2014 Annual Conference on Genetic and Evolutionary Computation, ACM New York, NY. 2014. P. 501-508.
26. Yagiura M., Ibaraki T. The use of dynamic programming in genetic algorithms for permutation problems // Eur. Jour. Oper. Res. 1996. V. 92. P. 387-401.
27. Zhang W. Depth-first branch-and-bound versus local search: A case study // 17th National Conf. on Artificial Intelligence, Austin, TX. 2000. P. 930-935.
APPLYING PRINCIPLES OF MEMETICS TO SOLVING THE TRAVELING
SALESMAN PROBLEM
A.V. Eremeev1
Dr.Sc. (Phys.-Math.), e-mail: [email protected] Yu.V. Kovalenko12
Ph.D. (Phys.-Math.), e-mail: [email protected]
1 Institute of Scientific Information for Social Sciences RAS, Moscow, Russia 2Dostoevsky Omsk State University, Omsk, Russia
Abstract. We consider a population-based algorithm for the asymmetric travelling salesman problem, based on the principles of the memetics. The initial population of tentative solutions is built by means of greedy constructive heuristics. The 3-opt local search is used to improve the initial and the final populations. A balance between the intensity of population-based search and the intensity of the local search methods is chosen by the means of adaptive restart rules. The results of computational experiment on the benchmark instances indicate the viability and effectiveness of the proposed algorithm.
Keywords: memes, genetic algorithm, local optimization, computational experiment.
References
1. Alekseeva E.V. and Kochetov Yu.A. Geneticheskii lokal'nyi poisk dlya zadachi o p-mediane s predpochteniyami klientov. Diskretn. analiz i issled. oper., Cer. 2, 2007, vol. 14, no. 1. pp. 3—31. (in Russian)
2. Eremeev A.V. O slozhnosti optimal'noi rekombinatsii dlya zadachi kommivoyazhera. Diskretn. analiz i issled. oper., 2011, vol. 18, no. 1, pp. 27--40. (in Russian)
3. Eremeev A.V. and Rivs K.R. O doveritel'nykh intervalakh dlya chisla lokal'nykh op-timumov. Matematicheskie struktury i modelirovanie, 2017, issue 41, pp. 55-74. (in Russian)
4. Kochetov Yu.A. and Plyasunov A.V. Geneticheskii lokal'nyi poisk dlya zadachi o razbi-enii grafa na doli ogranichennoi moshchnosti. Zh. vychisl. matem. i matem. fiz., 2012, vol. 52, no. 1, pp. 164-176. (in Russian)
5. Pis'mennaya V.A. Algoritmicheskoe i programmnoe obespechenie memeticheskogo al-goritma poiska uslovnogo global'nogo ekstremuma. Elektronnyi zhurnal "Trudy MAI", 2015, issue 79, pp. 1-27. (in Russian)
6. Plotnikov O.A. and Podval'nyi E.S. Razrabotka memeticheskogo algoritma dlya resh-eniya zadach optimal'nogo planirovaniya gruzoperevozok. Vestnik Voronezhskogo go-sudarstvennogo tekhnicheskogo universiteta, 2012, vol. 8, no. 10-1, pp. 19-24. (in Russian)
7. Rutkovskaya D., Pilin'skii M., and Rutkovskii L. Neironnye seti, geneticheskie algo-ritmy i nechetkie sistemy. Moscow, Goryachaya liniya-Telekom Publ., 2006, 452 p. (in Russian)
8. Buriol L.S., Franca P.M., and Moscato P. A new memetic algorithm for the asymmetric traveling salesman problem. Journal of Heuristics, 2004, vol. 10, pp. 483-506.
9. Chen X., Ong Y-S., Lim M-H., and Chen Tan K. A multi-facet survey on memetic computation. IEEE Transactions on Evolutionary Computation, 2011, vol. 15, no. 5, pp. 591-607.
10. Dawkins R. The Selfish Gene. Oxford University Press, 1976, 224 p.
11. Eppstein D. The traveling salesman problem for cubic graphs. Journal of Graph Algorithms and Applications, 2007, vol. 11, no. 1.
12. Eremeev A.V. and Kovalenko Y.V. Genetic algorithm with optimal recombination for the asymmetric travelling salesman problem. Large-Scale Scientific Computing, LNCS, Springer International Publishing, Cham, 2018, vol. 10665, pp. 341-349.
13. Eremeev A.V. A restarting rule based on the Schnabel census for genetic algorithms. Learning and Intelligent Optimization, LNCS, Springer International Publishing, Cham, 2019, vol. 11353, pp. 337-351.
14. Garey M.R. and Johnson D.S. Computers and Intractability. A Guide to the Theory of NP-completeness. W.H. Freeman and Company, San Francisco, 1979, 340 p.
15. Johnson D.S. and McGeorch L.A. The traveling salesman problem: a case study // Local Search in Combinatorial Optimization, John Wiley & Sons Ltd. 1997. P. 215-336.
16. Moscato P. On evolution, search, optimization, genetic algorithms and martial arts: Towards memetic algorithms. Technical Report C3P 826, California Institute of Technology, Pasadena, CA, 1989, 68 p.
17. Nagata Y. and Soler D. A new genetic algorithm for the asymmetric TSP. Expert Syst. with Applications, 2012, vol. 10, pp. 8947-8953.
18. Neri F. and Cotta C. Memetic algorithms and memetic computing optimization: A literature review. Swarm and Evolutionary Computation, 2012, vol. 2, pp. 1-14.
19. Neri F., Cotta C., and Moscat P. Handbook of Memetic Algorithms. Springer-Verlag, Berlin Heidelberg, 2012, 309 p.
20. Neri F., Toivanen J., Cascella G.L., and Ong Y.S. An adaptive multimeme algorithm
for designing HIV multidrug therapies. IEEE/ACM Transactions on Computational Biology and Bioinformatics, 2007, vol. 4, pp. 264-278.
21. Norman M. and Moscato P. A competitive and cooperative approach to complex combinatorial search. 20th Joint Conference on Informatics and Operations Research, Buenos Aires, Argentina, 1991, pp. 3.15-3.29.
22. Radcliffe N.J. The algebra of genetic algorithms. Annals of Mathematics and Artificial Intelligence, 1994, vol. 10, no. 4, pp. 339-384.
23. Reeves C.R. and Eremeev A.V. Statistical analysis of local search landscapes. J. Oper. Res. Soc., 2004, vol. 55, no. 7, pp. 687-693.
24. Soler D., Martinez E., and Mico J.C. A transformation for the mixed general routing problem with turn penalties. Journal of the Operational Research Society, 2008, vol. 59, pp. 540-547.
25. Tinos R., Whitley D., and Ochoa G. Generalized asymmetric partition crossover (GAPX) for the asymmetric TSP. The 2014 Annual Conference on Genetic and Evolutionary Computation, ACM New York, NY., 2014, pp. 501-508.
26. Yagiura M. and Ibaraki T. The use of dynamic programming in genetic algorithms for permutation problems. Eur. Jour. Oper. Res., 1996, vol. 92, pp. 387-401.
27. Zhang W. Depth-first branch-and-bound versus local search: A case study. 17th National Conf. on Artificial Intelligence, Austin, TX., 2000, pp. 930-935.
Дата поступления в редакцию: 17.09.2019