- •Государственный университет систем управления и радиоэлектроники (тусур) Нахождение минимума функции z(X,y) в заданной области методом генетического алгоритма
- •2 Задание
- •Введение
- •1 Общая структура генетического алгоритма.
- •2 Использование га в решении задач
- •3 Описание генетического алгоритма
- •4 Результаты работы
- •5 Заключение.
- •Список использованных источников
4 Результаты работы
В
курсовом проекте предполагалось найти
минимум функции
в заданной области. Листинг программы
реализующей поиск минимума функции
z(x,y)=x2+y2, -5,12≤
x
≤ 5,12 -5,12≤ y
≤ 5,12 приведен
в приложении А, основная программа
Кр.pas
прилагается отдельным файлом.
Курсовой проект выполнен на основе программы представленной в методическом пособии, изменения коснулись процедур мутации и скрещивания.
При выполнении данного проекта учитывалось, что решение задачи является подверженным влиянию случайных величин. Поэтому, в программе был организован цикл, повторяющий вычисления 30 раз. Затем, из набора полученных решений отбирались лучшие и вычислялось среднее значение минимума.
После запуска программы на экране появляется предложение ввести размер популяции и число поколений, затем начинается вычисление минимума функции. На экран выводятся значения всех 30 вычислений, и в завершении лучшее и среднее значение минимума.
Результат работы программы сведен в таблицу 1.
Таблица 1 Результаты вычислений
|
Размер популяции |
Число поколений |
Лучшее значение |
Среднее значение |
|
10 |
50 |
3.73162493601970E-0011 |
2.19357743787896E-0003 |
|
10 |
100 |
5.03359843635386E-0013 |
2.85441599179141E-0007 |
|
20 |
50 |
3.11251824894887E-0012 |
6.18312830783820E-0007 |
|
20 |
100 |
1.86446414210852E-0015 |
6.14036951377804E-0011 |
|
30 |
50 |
3.49577931698669E-0012 |
3.43103993902770E-0007 |
|
30 |
100 |
3.31965566765600E-0015 |
8.29280029422930E-0011 |
5 Заключение.
Генетические алгоритмы – это вдохновленные эволюцией вычислительные модели, которые представляют собой семейство алгоритмов поиска, основанных на механизмах природной селекции и генетики, и имеющих дело с набором (популяцией) возможных решений задачи (испытаний), которые подвергаются циклическому воздействию трех основных «генетических» операторов - селекции, скрещивания и мутации. Эти алгоритмы используют для решения задач поиска и оптимизации в самых разнообразных областях науки и техники.
Очевидно, что минимальное значение данной функции z(x,y) при заданных диапазонах значений переменных будет стремиться к 0. Подвергнув анализу полученные данные, можно сделать вывод, доказывающий, что особенностью генетических алгоритмов является то, что они обеспечивают сходимость к глобальному оптимуму, а не являются случайным поиском решения функции.
Проведем анализ полученных данных. При увеличении количества поколений в 2 раза, при одних и тех же размерах популяции, результат улучшается на 2-3 порядка. Это можно объяснить тем, что алгоритм используя свои механизмы, находит лучшее решение с каждым последующим поколением, т.е. использует “накопленный опыт”.
Увеличение размера популяции с 10 до 20, при неизменном количестве поколений, также улучшает значения минимума на 1-2 порядка (среднее значение на 4), т.е. появляется возможность более детального выбора для скрещивания наиболее приспособленных особей, что обеспечивает оптимальный исход решения задачи.
Дальнейшее увеличение размера популяции с 20 до 30, к каким либо глобальным изменениям результата не приводят.
Самые лучшие результаты, как в среднем, так и в минимальном значении функции, получены при числе поколений 100 и размере популяции 20. Полученный результат максимально стремиться к истинному решению задачи, т.е. к 0.
