Курсовая Магистранта 1 Курс_ЛогиновАР_1

11
Решение асимметричной задачи коммивояжера с помощью генетического алгоритма Выполнил: Логинов А.Р., магистрант группы 85М3 Научный руководитель: Неймарк Е.А., к.т.н. 2015 г.

Upload: andrey-loginov

Post on 27-Jan-2016

232 views

Category:

Documents


8 download

DESCRIPTION

Курсовая Магистранта 1 Курс_ЛогиновАР_1

TRANSCRIPT

Page 1: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Решение асимметричной задачи коммивояжера с помощью генетического алгоритма

Выполнил: Логинов А.Р., магистрант группы 85М3

Научный руководитель: Неймарк Е.А., к.т.н.

2015 г.

Page 2: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Цель

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

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

Page 3: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Задача

• Постановка асимметричной задачи коммивояжера:

• где – вес ребра (i, j) и

Page 4: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Методы

• Существует много разных методов решения асимметричной задачи коммивояжера:

1. Полный перебор;

2. Метод ветвей и границ;

3. Динамическое программирование;

4. Улучшенный (случайный) перебор;

5. Жадные алгоритмы;

6. Генетические алгоритмы.

Page 5: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Общая структура ГА

Начальная популяция

Воспроизводство

Мутация

Селекция

Оценка

Условие останова ��௧

ݐ ൌ��Ͳ

��௧ା�ଵ ݐ ൌݐ�� ͳ

Page 6: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Реализация

• Генетический алгоритм был реализован на языке C#.

• Программа выдает решения в лог-файлы.

• Алгоритм оснащен следующими операторами:

1. Кроссоверы: циклический, арифметический, бинарный.

2. Формирование начальной популяции: стохастическое, стохастически-жадное, жадное.

3. Выбор родителей: положительное ассоциативное скрещивание.

4. Операторы мутации: одноточечный и двухточечный.

5. Схема формирования следующего поколения: элитарная.

6. Операторы селекции: линейно-ранговый и β-турнир.

7. Оператор адаптации: разрыв худшего пути.

Page 7: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Эксперимент «Разрыва худшего пути»

br17 ft5

3ft7

0ftv

33ftv

35ftv

38ftv

44ftv

47ftv

55ftv

64ftv

70

ftv17

0

kro1

24 p43

rbg3

23

rbg3

58

rbg4

03

rbg4

43

ry48

p0

20

40

60

80

100

120

140

160

180

До модификации После модификации

Эксперимент проводился на комбинации ЦК БТ. В диаграмме учитывается отклонение минимального решения

Page 8: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Эксперимент сравнения новых операторов

br17 ft5

3ft7

0ftv

33ftv

35ftv

38ftv

44ftv

47ftv

55ftv

64ftv

70

ftv17

0

kro1

24 p43

rbg3

23

rbg3

58

rbg4

03

rbg4

43

ry48

p0

50

100

150

200

250

300

350

400

450

500

ГА с циклическим кроссовером на бета-турнире (1,12,2)ГА с арифметическим кроссовером на бета-турнире (2,12,2)ГА с арифметическим кроссовером на линейно-ранговой селекции (2,12,1)ГА с бинарным кроссовером на бета-турнире (3,12,2)ГА с бинарным кроссовером на линейно-ранговой силекции (3,12,1)

Page 9: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Эксперименты формирования начальной популяции

br17 ft5

3ft7

0

ftv17

0ftv

33ftv

35ftv

38ftv

44ftv

47ftv

55ftv

64ftv

70

kro1

24p

p43

rbg3

23

rbg3

58

rbg4

03

rbg4

43

ry48

p0

50

100

150

200

250

300

350

400

450

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

Page 10: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Лучшие результатыНаименование задачи

TSPLIB ЦК БТ АрК ЛР АрК БТ БК ЛР БК БТ

br17 39 MIN 39 40 39 40 39AVE 40 65 42 48 41MAX 45 94 49 70 48

ft70 38673 MIN 52335 58395 53520 49929 52779AVE 53866 61160 54793 52000 54430MAX 62175 63675 57118 54396 56205

p43 5620 MIN 5755 6028 5764 5749 5710AVE 5873 7760 5904 5861 5821MAX 6037 11581 6021 5981 5880

Page 11: Курсовая Магистранта 1 Курс_ЛогиновАР_1

Выводы

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

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