ОВИ лаб 12
.docxГончаренко А.К. КІТ-10Б
ЛАБОРАТОРНА РОБОТА 12
Застосування генетичних алгоритмів при дослідженні екстремум функції
Мета: Отримання і закріплення знань, формування практичних навичок дослідження екстремумів функцій за допомогою генетичних алгоритмів в пакеті MATLAB.
Індивідуальне завдання:
1. За номером у журналі групи з табл. 12.1 вибрати функцію для дослідження екстремумів за допомогою ГА в пакеті MATLAB.
2. Здійснити пошук мінімуму і максимуму обраної функції за допомогою командного рядка і графічного інтерфейсу ГА пакета MATLAB, використовуючи при цьому функції gaoptimset і ga. При цьому обгрунтувати вибір всіх параметрів і критеріїв зупинки роботи ГА.
3. Прощітать час, витрачений на пошук екстремумів функції, при реалізації ГА за допомогою командного рядка пакета MATLAB.
4. Побудувати графік функції для того, щоб переконатися в правильності знайдених за допомогою ГА екстремумів.
5. Згенерувати коди M-файлів для кожного завдання пошуку
екстремумів функції за допомогою ГА.
6. Пояснити відмінність між отриманими результатами при
багаторазових запусках ГА під час пошуку оптимального рішення.
7. Оформіть звіт по лабораторній роботі.
Виконання роботи:
-
Здійснити пошук мінімуму і максимуму обраної функції за допомогою командного рядка і графічного інтерфейсу ГА пакета MATLAB, використовуючи при цьому функції gaoptimset і ga. При цьому обгрунтувати вибір всіх параметрів і критеріїв зупинки роботи ГА.
В консолі:
>> [x fval] = ga(@shvef, 10)
Optimization terminated: average change in the fitness value less than options.TolFun.
x =
Columns 1 through 8
5.2346 5.2575 -3.3070 1.3344 -0.4344 4.5268 -0.1001 -0.6646
Columns 9 through 10
0.0110 0.1543
fval =
830.0753
>> options = gaoptimset('PopulationSize',100,...)
>> [x, fval] = ga(@shvef, 10,options)
Optimization terminated: average change in the fitness value less than options.TolFun.
x =
Columns 1 through 8
5.2064 5.2466 0.9249 -1.2773 1.5645 -2.1718 -0.4688 -0.1488
Columns 9 through 10
1.9760 3.6980
fval =
830.0754
Графічно:
-
Прощітать час, витрачений на пошук екстремумів функції, при реалізації ГА за допомогою командного рядка пакета MATLAB.
>> tіc
>> ga(@shvef, 10,options);
Optimization terminated: average change in the fitness value less than options.TolFun.
>> toc
Elapsed time is 38.161824 seconds.
-
Побудувати графік функції для того, щоб переконатися в правильності знайдених за допомогою ГА екстремумів.
Висновок:
Виконавши лабораторну роботу, я отримав і закріпив знання та зформував практичні навички дослідження екстремумів функцій за допомогою генетичних алгоритмів в пакеті MATLAB.