Генетические алгоритмы для решения задачи коммивояжера

Download Report

Transcript Генетические алгоритмы для решения задачи коммивояжера

Национальный аэрокосмический университет
им. Н.Е. Жуковского „Харьковский авиационный институт”
Кафедра компьютерных систем и сетей
Генетические алгоритмы для
решения задачи коммивояжера
Шелиманова Ж.В.
Украина, Харьков, 5 октября, 2013 год
Содержание доклада:
•
•
•
•
•
•
Задача коммивояжера (ЗК)
o Постановка задачи, особенности
o Методы решения ЗК
Генетические алгоритмы (ГА)
Генетический алгоритм для задачи коммивояжера
Решение задачи при помощи MATLAB
Сравнение показателей программ
Выводы. Пути дальнейшего исследования
Постановка задачи:
o Коммивояжер должен объехать N городов по
кратчайшему пути, посетив каждый город один раз и
вернуться в исходный город.
o Если затраты на переезд между каждой парой городов
не зависят от направления движения, то задача
называется симметричной, в противном случае –
несимметричной.
o Данная задача коммивояжера, относящаяся к числу
задач комбинаторной оптимизации, является одной из
наиболее хорошо изученных с точки зрения
разработанных методов и алгоритмов её решения. Это
обусловлено тем фактом, что к ней сводятся многие
прикладные задачи из разных областей.
Постановка задачи коммивояжёра:
𝑛
𝑛
W=
𝑟𝑖,𝑗 𝑥𝑖,𝑗 → 𝑚𝑖𝑛
𝑖=1 𝑗=1
𝑖≠𝑗
1, если есть путь между i−й и j−й вершинами,
0, при отсутствии пути;
где 𝑥𝑖𝑗 =
𝑟𝑖𝑗 − вес ребра между i−й и j−й вершинами;
𝑛
𝑛
𝑥𝑖𝑗 = 1∀𝑗 = 1, 𝑛;
𝑖=1
𝑥𝑖𝑗 = 1∀𝑖 = 1, 𝑛
𝑗=1
Задача коммивояжера —
полигон для испытания
оптимизационных методов





Метод ветвей и границ
Метод локальных улучшений
Приближенные и эвристические методы
Псевдополиномиальные алгоритмы
Метод случайного поиска
Генети́ческий алгори́тм
- это эвристический алгоритм поиска,
используемый для решения задач оптимизации и
моделирования путем последовательного подбора,
комбинирования и вариации искомых параметров с
использованием механизмов, напоминающих
биологическую эволюцию.
Является разновидностью эволюционных
вычислений (англ. evolutionary computation).
Применение
генетических алгоритмов:
• При создании вычислительных структур, например,
автоматов или сетей сортировки
• При проектирование нейронных сетей или при
управлении роботами
• Наиболее популярное приложение генетических
алгоритмов - оптимизация многопараметрических
функций.
• Решение задачи синтеза топологии кольцевой сети
(задача коммивояжера)
Основные термины:
•
•
потенциальное решение
особь (individual)
потомок и родитель (child, потомок – это улучшенная копия
потенциального решения родителя
parent)
•
популяция (population)
•
приспособленность (fitness) качество
•
селекция (selection)
•
мутация (mutation)
набор потенциальных решений
отбор особей на основе их приспособленностей
обычное улучшение. Часто рассматривается как
«бесполое» размножение.
Схема генетического алгоритма:
Создание
начальной
популяции
Отбор
Скрещивание
Переход
Переход кк новому
новому
поколению
поколению
Мутация
Ответ
Интерфейс проекта:
Полученный результат:
Метод случайного подбора:
Количество городов – 45, длина маршрута – 14934 (пикселей)
Полученный результат:
Метод генетического алгоритма:
Количество городов – 45, длина маршрута – 14692 (пикселей)
Принцип работы ГА:
Тестирование программы. Сравнение алгоритмов
6000
5000
4000
3000
Генетический алгоритм
Метод случайного подбора
2000
1000
Поколения (шт.)
63000
59000
55000
51000
47000
43000
39000
35000
31000
27000
23000
19000
15000
11000
7000
3000
0
10
Длина маршрута (пиксель)
7000
Решение задачи с
помощью MATLAB
Механизм работы с генетическими
алгоритмами в среде MATLAB реализован
двумя способами:
1. Вызов функции генетических алгоритмов
2. Использование комплекта Genetic Algorithm Tool
Genetic Algorithm Tool
Количество городов – 45, длина маршрута – 13734(пикселей)
Пути дальнейшего исследования:
• В теоретическом плане представляет интерес продолжение
исследований по анализу различных генетических
операторов, влиянию значений их параметров на
эффективность применения генетических методов.
• До сих пор не получены теоретические обоснования
сходимости ГА.
• В практическом плане представляется важным
усовершенствование класса по уменьшению длины
маршрута в ЗК. Т.к. результаты проведенных исследований
по решению ЗК показывают успешность применения ГА
для таких задач.
Выводы по проведенной работе:
Генетический алгоритм решения задачи коммивояжера
дает отличный результат в поиске топологии кольцевой сети
минимальной длины и показывает лучший результат с методом
случайного подбора.
Однако следует отметить, что данный алгоритм не дает
гарантии по нахождению самого оптимального маршрута. Его
назначение заключается в том, чтобы за короткий промежуток
времени найти приемлемый вариант решения поставленной
задачи, оптимальность которого будет прямо пропорционально
зависеть от количества времени затраченного на его поиск. То есть
данный алгоритм будет оптимизировать ваше решение настолько,
насколько у вас есть на это времени.
1.
2.
3.
4.
5.
6.
7.
Источники:
Rechenberg, I. Cybernetic solution path of an experimental problem. August
1965. Farnborough Hants: Royal Aircraft Eatablishment. English translation
of lecture given at the 1964.
Schwefel, H.P. Numerical Optimization of Computer Models. John
Wiley&Sons. 1981.
Fogel, L.J., Owens, A.J., Walsh, M.J. Artificial Intelligence Through Simulated
Evolution. – John Wiley&Sons.
Фогель Л., Оуенс А., Уолш М. Искусственный интеллект и эволюционное
моделирование. – М.: Мир, 1969. – 230с.
Исаев С.А. Разработка и исследование генетических алгоритмов для
принятия решений на основе многокритериальных нелинейных
моделей / Автореф.дисс. к.т.н. – Н. Новгород: НГУ, 2000. – 18с.
Веб-ресурс : http://algolist.manual.ru/ai/ga/ga1.php
Веб-ресурс : http://www.computerra.ru/offline/1999/289/2523/
Полезное:
•
http://www.computerra.ru/offline/1999/289/2523/
О генетическом алгоритме применительно к ЗК
•
http://www.kv.by/index2005321102.htm
GeneHunter и генетические алгоритмы
•
•
http://masters.donntu.edu.ua/2004/kita/polyakov/links/index.htm
Много информации по ЭВ и ГА (!)
http://www.artint.com.ua/index_a.htm
•
http://algolist.manual.ru/ai/index.php (!)
Спасибо за внимание!
Украина, Харьков, 5 октября, 2013 год