Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Институт кибернетики
Направление подготовки: «Мехатроника и робототехника»
Кафедра систем управления и мехатроники
Томск – 2018
Цель работы: изучение основ работы с Genetic Algorithm ППП MatLAB
7.8, исследование экстремумов функций с помощью генетических алгоритмов.
Задание 1:
Найти минимум функции одной переменной по варианту любым
известным способом:
𝑓(𝑥) = √3 + 𝑥 2 + 3 cos(𝑥).
Исследовать функцию с помощью генетических алгоритмов. Сравнить
полученные результаты.
Провести эксперимент при различном размере начальной популяции:
10, 50, 300, 800. Для каждого из этих значений принять следующие операторы
отбора родительских особей: Stochastic uniform, Uniform, Roulette.
Сделать выводы о том, как влияет размер исходной популяции н
результаты, а также какое влияние вносят различные операторы отбора
родительских особей. Привести графическое решение, найденное с помощью
генетических алгоритмов, которое соответствует максимально точному
найденному решению. Объяснить каким образом влияют операторы отбора
родительских особей на результаты.
Задание 2:
Найти минимум функции двух переменных любым известным
способом. Провести исследование этой функции с помощью генетических
алгоритмов и заполнить таблицу, изменяя вероятность скрещивания и размер
начальной популяции. Выбрать оператор мутации по Гауссу, вероятность
мутации принять равным по умолчанию 1.0.
По результатам проведенных экспериментов сделать вывод о том, при
каком соотношении вероятности скрещивания к мутации результаты
максимально точны. Привести графическое решение, найденное с помощью
генетических алгоритмов, которое соответствует максимально точному
найденному решению.
2
Целевая функция двух переменных для варианта:
2
Решение задания 1:
Первым этапом является нахождение минимума функции 𝑓(𝑥) =
√3 + 𝑥 2 + 3 cos(𝑥) любым известным способом.
Для этого построим график функции, изображенный на рисунке 1 с
областью определения 𝑥 = [−10; 10] с шагом 0.001. Как можно заметить,
функция имеет два глобальных минимума.
3
Таким образом, представленная в варианте функция одной переменной
имеет два минимума: -2.8527, 2.8527.
Вторым этапом задания является анализ функции с помощью
генетических алгоритмов, представленных в математическом пакете MatLAB.
В таблице 1 представлены результаты экспериментов.
Таблица 1 – Результаты экспериментов, проводимых с функцией
Начальная популяция
Операторы 10 50 300 800
Stochastic Uniform 2.831 -2.842 -2.853 -2.853
Uniform -2.828 2.825 -2.855 2.853
Roulette 2.845 2.866 2.854 -2.854
5
Вторым этапом задания является анализ функции с помощью
генетических алгоритмов, представленных в математическом пакете MatLAB.
В таблице 2 представлены результаты экспериментов.
Таблица 2 – Результаты экспериментов
Размер начальной популяции
Вероятность 10 50 100 500 1000
кроссовера
𝑥1 = −2.123 𝑥1 = 1.825 𝑥1 = 0.008 𝑥1 = 0.021 𝑥1 = 0.008
1.0
𝑥2 = −0.971 𝑥2 = −0.017 𝑥2 = 0.064 𝑥2 = −0.04 𝑥2 = −0.998
𝑥1 = 0.086 𝑥1 = −1.114 𝑥1 = −0.003 𝑥1 = 0 𝑥1 = 0.006
0.8
𝑥2 = 0.917 𝑥2 = 0.061 𝑥2 = −0.001 𝑥2 = −0.001 𝑥2 = 0
𝑥1 = 1.022 𝑥1 = 0.01 𝑥1 = 0.002 𝑥1 = −0.011 𝑥1 = −0.001
0.6
𝑥2 = 0.977 𝑥2 = 0.002 𝑥2 = 0.012 𝑥2 = −0.007 𝑥2 = 0.004
𝑥1 = −1.057 𝑥1 = −0.012 𝑥1 = 0.005 𝑥1 = 0.002 𝑥1 = 0.025
0.3
𝑥2 = 1.942 𝑥2 = −0.025 𝑥2 = 0.008 𝑥2 = −0.0 𝑥2 = 0.012
𝑥1 = −0.874 𝑥1 = 0.957 𝑥1 = −0.05 𝑥1 = −0.021 𝑥1 = 0.997
0.0
𝑥2 = −0.072 𝑥2 = −0.004 𝑥2 = −0.034 𝑥2 = 0.044 𝑥2 = −0.041