Научный журнал
Фундаментальные исследования
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,074

РАЗРАБОТКА И СРАВНИТЕЛЬНЫЙ АНАЛИЗ ЭВРИСТИЧЕСКИХ АЛГОРИТМОВ ДЛЯ ПОИСКА НАИМЕНЬШЕГО ГАМИЛЬТОНОВА ЦИКЛА В ПОЛНОМ ГРАФЕ

Частикова В.А. 1 Власов К.А. 1
1 ФГБОУ ВПО «Кубанский государственный технологический университет»
В данной работе отражены результаты исследований эвристических методов поиска: генетического и муравьиного алгоритмов – на примере выбранной задачи-поиска наименьшего гамильтонова цикла в полном графе. Для этого средствами Microsoft Visual Studio на языке C# был реализован программный комплекс. На его основе проводилось исследование, настройка и оптимизация параметров генетического алгоритма, таких как: инициализация начальной популяции, скрещивание, оператор мутации, отбор в следующее поколение и других, а также параметров муравьиного алгоритма, таких как концентрация феромона, порядковые коэффициенты, константы α и β. Были разработаны некоторые модификации эвристических алгоритмов, что позволило повысить их эффективность по точности и скорости поиска решений. Для наибольшей точности разработан гибридный муравьино-генетический алгоритм, сочетающий в себе наилучшие модификации муравьиного и генетического алгоритмов. Для проведения сравнительного анализа эффективности работы алгоритмов создан отдельный программный модуль с возможностью регулирования различных исходных параметров исследуемых алгоритмов, а также анализа точности полученного решения и затрачиваемого на его поиск времени.
эвристический алгоритм
муравьиный алгоритм
генетический алгоритм
граф
гамильтонов цикл
оптимизация
1. Курейчик В.М., КажаровА.А. О некоторых модификациях муравьиного алгоритма Известия ЮФУ. Технические науки. Тематический выпуск «Интеллектуальные САПР». – Таганрог: Изд-во ТТИ ЮФУ, 2008. – № 4(81). – 268 с.
2. Малыхина М.П. Базы данных: основы, проектирование, использование: учебное пособие. – 2-е изд. – СПб.: БХВ-Петербург, 2006. – 528 c.
3. Малыхина М.П., Частикова В.А., Власов К.А. Исследование эффективности работы модифицированного генетического алгоритма в задачах комбинаторики // Современные проблемы науки и образования. – 2013. – № 3; URL: www.science-education.ru/109-9254 (дата обращения: 02.07.2013).
4. Частикова В.А., Власов К.А. Свидетельство о государственной регистрации программы для ЭВМ № 2011616886. Программный комплекс для исследования и сравнительного анализа работы модифицированного генетического алгоритма: зарегистрировано в Реестре программ для ЭВМ 6 сентября 2011.
5. Чураков М., Якушев А. Муравьиные алгоритмы [Электронный ресурс] – Режим доступа: http://rain.ifmo.ru/cat/data/theory/unsorted/ant-algo-2006/article.pdf (дата обращения: 03.06.13).
6. Штовба С.Д. Муравьиные алгоритмы // ExponentaPro. Математика в приложениях. – 2003. – № 4.

В настоящее время в процессе оптимизации параметров сложных систем [2] все чаще применяются природные механизмы поиска [6]; интенсивно разрабатывается научное направление Natural Computing – «Природные вычисления», к которым можно отнести:

  • Genetic Algorithms – генетические алгоритмы;
  • Evolution Programming – эволюционное программирование;
  • Neural Network Computing – нейросетевые вычисления;
  • DNA Computing – ДНК-вычисления;
  • Cellular Automata – клеточные автоматы;
  • Ant Colony Algorithms– муравьиные алгоритмы.
  • Прочие алгоритмы роевого интеллекта.

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

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

В процессе исследования были разработаны следующие модификации ГА: «модификация жадным алгоритмом», «несколько популяций» и «модификация методом ветвей и границ». Они ускоряют процесс сходимости к оптимуму, а также всегда позволяют найти эффективное решение [3].

Муравьиный алгоритм

Колония муравьев может рассматриваться как многоагентная система, в которой каждый агент (муравей) функционирует автономно по определенным правилам. В противовес почти примитивному поведению агентов, поведение всей системы получается на удивление разумным [1]. Примером подтверждения оптимальности поведения муравьиных колоний служит тот факт, что сеть их муравейника близка к минимальному остовному дереву графа. В 1990-х гг. появляются так называемые муравьиные алгоритмы (МА) оптимизации (англ. Ant Colony Optimization, ACO), имитирующие поведение муравьиной колонии и применяемые для решения различных классов задач. На сегодняшний день эти методы стали весьма конкурентноспособны по сравнению с другими эвристическими алгоритмами оптимизации [5–6].

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

Eqn159.wmf (1)

где Pij(t) – вероятность перехода из вершины i в вершину j в текущий момент времени; τij(t) – концентрация феромона (следа, оставляемого муравьями), которая определяет предпочтительность движения по данному пути; dij – его длина, а α и β – некоторые константы, определяющие работу алгоритма, задаваемые пользователем.

На каждой итерации алгоритма изменение концентрации феромона происходит по нижеприведенной формуле

Eqn160.wmf (2)

где Q – параметр, имеющий значение порядка обрабатываемых длин; Lk– длина маршрута; p – коэффициент испарения феромона.

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

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

Eqn161.wmf (3)

где e – количество элитных муравьев; L – длина наилучшего текущего маршрута.

То есть после каждой итерации увеличивается концентрация феромона на тех ребрах, по которым проложен самый эффективный путь. Таким образом, ускоряется сходимость к оптимуму посредством увеличения концентрации феромона на отдельно взятых ребрах. По результатам проведенных исследований, наиболее оптимальным количеством элитных муравьев является 3, данное число сочетает в себе баланс скорости сходимости и точности получаемых решений. При e = 1 точность наиболее высока, а при увеличении этого значения требуется все меньшее количество итераций для получения локального тупика, когда дальнейшая работа алгоритма не приводит к улучшению результата [1].

Исследование влияния параметров и некоторых модификаций

Подобрать оптимальные значения параметров α и β из формулы (1) возможно экспериментальным путем. Для вышеописанного алгоритма было проведено исследование влияния этих параметров на эффективность полученных решений. Для произвольно сгенерированных 80 вершин графа в табл. 1 отображены полученные значения, лучшие сочетания выделены цветом.

Из таблицы видно, что изменение значений параметров α и β приводит к существенным изменениям полученных решений. Лучшие результаты были получены при следующих значениях параметров: (α = 2, β = 1) и (α = 1, β = 5). Увеличение значения первого параметра (увеличивается зависимость получаемого решения от концентрации феромона) приводит к увеличению разброса решений, в данном случае работа муравьиного алгоритма носит скорее эвристический характер. Увеличение значения второго параметра (увеличивается зависимость получаемого решения от длины) приводит к уменьшению разброса решений, и алгоритм начинает работать, прежде всего, как «точный» метод. Далее проведем исследование работы указанных вариантов алгоритма. Для удобства условно назовем МА с (α = 2, β = 1) эвристическим муравьиным алгоритмом (ЭМА), а МА с (α = 1 и β = 5) точным муравьиным алгоритмом (ТМА).

Таблица 1

Зависимость эффективности решения от выбранных параметров на примере задачи с 80 точками

Параметры

Лучшее решение

Худшее решение

Средний результат

α = 1 и β = 1

100 итераций

6501

7384

6999

1000 итераций

4126

4996

4649

α = 2 и β = 1

100 итераций

3657

4675

4289

1000 итераций

3506

3814

3708

α = 5 и β = 1

100 итераций

4321

4909

4556

1000 итераций

4249

4337

4296

α = 0 и β = 1

100 итераций

10097

11188

10657

1000 итераций

9857

10481

10185

α = 1 и β = 2

100 итераций

4015

4464

4219

1000 итераций

3569

3762

3653

α = 1 и β = 5

100 итераций

3509

3582

3554

1000 итераций

3471

3493

3482

α = 1 и β = 0

100 итераций

15551

15578

15563

1000 итераций

12750

13402

13152

Для МА были разработаны следующие модификации:

1) «предварительный расчет начальной концентрации феромона (РК)»;

2) «расчет начального пути методом наименьших отрезков (МНО)»;

3) «сглаживание методом ветвей и границ (МВГ)».

Под первой модификацией подразумевается, что начальная концентрация феромона рассчитывается из матрицы расстояний до работы основного цикла. Эта модификация подобна работе большого количества элитных муравьев, когда усиливается скорость сходимости, но падает точность вычислений. Вторая модификация предполагает, что начальное приближение пути рассчитывается по методу наименьших отрезков, который благодаря элитным муравьям станет приоритетным на начальных этапах итераций, то есть также возрастает скорость сходимости в разы, но падает точность. Третья модификация вступает в силу после применения элитных муравьев на каждой итерации, но только во второй половине основного цикла алгоритма, для того чтобы не тратить временные ресурсы на поиск заведомо неэффективных решений. Сглаживание ведется методом ветвей и границ для каждых пяти точек всего пути, то есть данная модификация позволяет избежать угловатостей и ускорить не только процесс сходимости, но и повысить точность найденного решения [1].

Для сравнительного анализа предложенных модификаций на основе полученных ТМА и ЭМА построим таблицу для тех же 80 точек, что и в табл. 1, а также добавим результаты работы для 30 и 150 вершин; количество итераций 1000.

Таким образом, можно сделать выводы, что модификации, такие как РК и МНО, целесообразно использовать для быстрого получения эффективного решения, так как сходимость в данном случае крайне высока и необходимость в большом количестве итераций отпадает, однако вероятность получения оптимального решения для большого количества точек минимальна. Максимальную эффективность данные модификации показали при использовании муравьиного алгоритма с α > β, так как в ТМА и так уже используются точные вычисления благодаря большому значению β (длины отрезков в значительной мере влияют на вероятность перехода муравья из одной вершины в другую) и использование иных традиционных алгоритмов только ухудшает его работу. Модификация методом ветвей и границ всегда улучшает работу любого МА с незначительной потерей скорости работы, поэтому оптимальные решения были получены именно с этой модификацией в ТМА (они выделены в табл. 2). Однако хоть ТМА и всегда находит решение лучше, чем ЭМА с любыми модификациями, но привязка к длине отрезка в большей степени, чем к концентрации феромона, может привести к нахождению локального тупика (когда дальнейшая работа алгоритма не улучшит полученное решение).

Выводы

Для сравнительного анализа эффективности работы эвристических алгоритмов был реализован программный комплекс [4], в котором проводилось исследование различных методов оптимизации, а также анализировались их модификации. Лучшие реализации муравьиного и генетического алгоритмов были объединены в гибридный муравьино-генетический алгоритм (МГА), в котором инициализация начальной популяции происходит путем применения МА, после чего алгоритм начинает работать как ГА. В этом случае генетический алгоритм уже оперирует с результатами МА, совершенствуя общий результат посредством скрещивания.

Таблица 2

Сравнительный анализ модифицированного и не модифицированного МА

Название

30 точек

80 точек

150 точек

Лучшее решение

Худшее решение

Лучшее решение

Худшее решение

Лучшее решение

Худшее решение

ТМА

2236

2236

3471

3493

4820

4930

ЭМА

2271

2449

3506

3814

5479

5885

ТМА с РК

2236

2236

3483

3532

5043

5220

ЭМА с РК

2236

2236

3488

3634

5203

5244

ТМА с МНО

2236

2236

3499

3539

4949

5011

ЭМА с МНО

2253

2367

3634

3736

5153

5280

ТМА с МВГ

2236

2236

3469

3489

4808

4911

ЭМА с МВГ

2243

2312

3499

3812

5649

5967

ТМА со всеми модификациями

2236

2236

3475

3486

5037

5061

ЭМА со всеми модификациями

2236

2236

3485

3642

5146

5251

В разработанном программном комплексе имеется возможность выбора различных алгоритмов поиска, просмотра затраченного времени на поиск и длины полученного решения, а также настройки основных параметров эвристических алгоритмов. Результаты работы (длины найденных путей) исследуемых алгоритмов для 100–140 точек отражены на рис. 1.

pic_37.wmf

Рис. 1. Сравнительный анализ полученных решений для 100–140 точек

Из рисунка видно, что до 140 точек генетический алгоритм незначительно уступает другим алгоритмам в точности найденного решения. На рис. 2 отражены результаты работы алгоритмов для 300–340 точек. Здесь модифицированный генетический алгоритм значительно уступает гибридному и муравьиному алгоритмам в точности определения длины найденного маршрута, поэтому можно сделать вывод, что его не следует применять в задачах с большим количеством исходных данных – для относительно быстрого поиска решений целесообразно использовать МА или МГА.

pic_38.wmf

Рис. 2. Сравнительный анализ полученных решений для 300–340 точек

Рецензенты:

Видовский Л.А., д.т.н., доцент, профессор кафедры ИСП, ФГБОУ ВПО «Кубанский государственный технологический университет», г. Краснодар;

Ключко В.И., д.т.н., профессор кафедры ИСП, ФГБОУ ВПО «Кубанский государственный технологический университет», г. Краснодар.

Работа поступила в редакцию 01.08.2013.


Библиографическая ссылка

Частикова В.А., Власов К.А. РАЗРАБОТКА И СРАВНИТЕЛЬНЫЙ АНАЛИЗ ЭВРИСТИЧЕСКИХ АЛГОРИТМОВ ДЛЯ ПОИСКА НАИМЕНЬШЕГО ГАМИЛЬТОНОВА ЦИКЛА В ПОЛНОМ ГРАФЕ // Фундаментальные исследования. – 2013. – № 10-1. – С. 63-67;
URL: http://www.fundamental-research.ru/ru/article/view?id=32216 (дата обращения: 19.11.2019).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.074