
Глава 3. Практимум
3.1. Исследование генетического алгоритма.
Требования задания
Цель работы – изучение генетического алгоритма в простейшем его варианте с целочисленным кодированием хромосом.
М1 – популяция 100 особей, турнирный отбор (размер 2), 1-точечное скрещивание (pc = 0,7), мутация (pm = 0,1), инверсия (pI = 0,05), условие остановки - 100 итераций;
М2 – популяция 50 особей, турнирный отбор (размер 3), 2-точечное скрещивание (pc = 0,8), мутация (pm = 0,03), инверсия (pI = 0,03), условие остановки - 50 итераций;
М3 – популяция 30 особей, турнирный отбор (размер 4), однородное скрещивание (pc = 0,9), мутация (pm = 0,05), условие остановки - разница приспособленности лидера и «наихудшей» особи меньше 0,01;
М4 – популяция 70 особей, турнирный отбор (размер 5), 1-точечное скрещивание (pc = 0,75), инверсия (pI = 0,07), условие остановки - 50 итераций;
М5 – популяция 100 особей, турнирный отбор (размер 2), 2-точечное скрещивание (pc = 0,8), инверсия (pI = 0,1), условие остановки - 100 итераций;
М6 – популяция 60 особей, турнирный отбор (размер 3), однородное скрещивание (pc = 0,85), мутация (pm = 0,2), инверсия (pI = 0,03), условие остановки - 70 итераций;
М7 – популяция 70 особей, турнирный отбор (размер 4), 1-точечное скрещивание (pc = 0,9), мутация (pm = 0,1), условие остановки - 70 итераций;
М8 – популяция 30 особей, турнирный отбор (размер 5), 2-точечное скрещивание (pc = 0,7), мутация (pm = 0,15), условие остановки – разница приспособленности лидера и «наихудшей» особи меньше 0,01.
Для всех вариантов: Длина гена m = 12.
Таблица тестовых функций
№ |
Функция y(x) |
Поисковый интервал |
(1) |
100(x2 – x12)2 + (1 – x1)2 |
x1 (–10; 10); x2 (-10; 10); |
(2) |
(x1 – 1)2 + (x2 – 3)2 + 4(x3 + 5)2 |
x1 (–10; 10); x2 (-10; 10); x3 (-10; 10); |
(3) |
8x12 + 4x1x2 + 5x22 |
x1 (–5,12; 5,12); x2 (–5,12; 5,12); |
(4) |
4(x1 – 5)2 + (x2 – 6)2 |
x1 (0; 10); x2 (0; 10); |
(5) |
(x2 – x12)2 + (1 – x1)2 |
x1 (–5,12; 5,12);x2 (–5,12; 5,12); |
(6) |
(x2 – x12)2 + 100(1 – x12)2 |
x1 (0; 5,12);x2 (0; 5,12); |
(7) |
3(x1 – 4)2 + 5(x2 + 3)2 + 7(2x3 + 1)2 |
x1 (–5,12; 5,12);x2 (–5,12; 5,12); x3 (–5,12; 5,12); |
(8) |
x13 + x22 – 3x1 – 2x2 + 2 |
x1 (–5,12; 1);x2 (–5,12; 1); |
Варианты задания
Вариант |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Метод |
М1 |
М2 |
М3 |
М4 |
М5 |
М6 |
М7 |
М8 |
Тестовая функция |
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
Контрольные вопросы
Изложить суть операторов скрещивания и мутации. В чем состоит их роль в поисковом процессе?
Чем отличается однородное скрещивание от 1 и 2-точечного скрещивания?
Какие основные отличия генетических алгоритмов от классических методов оптимизации Вы знаете?
Вручную расписать первые 2 итерации генетического алгоритма для задачи минимизации функции y(x) = x12 +x22 со следующими параметрами: целочисленное кодирование (m = 4 бит/ген); численность популяции N = 5; разрыв поколений T = 1 (элитных особей нет); турнирный отбор (размер 2); 1-точечное скрещивание (pc = 0,8); мутация (pm = 0,1); остальные параметры и псевдослучайные величины взять произвольными по необходимости.
Допустим, перед Вами стоит следующая абстрактная задача: сгенерировать слово «САПР» с помощью генетического алгоритма. Как бы Вы определили сущность особи для данной задачи? Как бы кодировали ее генотип? Каким образом бы Вы задали функцию приспособленности? Желательно рассмотреть два варианта: а) поисковый процесс работает только с 3-значными комбинациями букв; б) в поисковом процессе могут участвовать слова различной длины.
Содержание отчета
Цель работы и требования задания.
Краткое описание алгоритма на основании материала лекционного курса и описание схемы пошагового выполнения вычислительного алгоритма.
Укрупненнаяблок-схема программы с пояснением всех ее частей.
Спецификация программы, раскрывающая смысл входных и выходных данных, основных переменных и функций.
Текст программы с детальными комментариями ведущих операторов программы.
Результаты тестирования программы на наборе целевых функций с указанием числа итераций и количества вычислений целевой функции. Журнал вычислений, иллюстрирующий поисковый процесс и изменение ключевых переменных.
Качественный анализ результатов работы алгоритма (пример см. в разд. 6.1), статистическая оценка (среднее по 50 прогонам и ее стандартная ошибка).
При неудовлетворительных результатах поиска, исходя из анализа результатов алгоритма, необходимо улучшить результат за счет подгонки данных в задании начальных параметров. Весь процесс отладки алгоритма с соответствующими графиками, комментариями и выводами также должен быть документирован в отчете.
Графики функции, построенные в среде MathCAD или MatLab (если целевая функция зависит не более чем от двух переменных, то построить трехмерный график и контурные графики по всем парам переменных функции, иначе – только контурные графики).
Выводы по работе.
Ответы на контрольные вопросы.