овують або виконання умови малості приросту аргументу || x [k + l] - x [k] || lt;=e, або виконання умови малості градієнта || f ( x [k + l]) || lt;=g. Тут e і g - задані малі величини.
Можливий і комбінований критерій, що складається в одночасному виконанні зазначених умов. Градієнтні методи відрізняються один від одного способами вибору величини кроку а k. При методі з постійним кроком для всіх ітерацій вибирається деяка постійна величина кроку. Досить малий крок а k забезпечить спадання функції, тобто виконання нерівності f (х [k + 1])=f (x [k] - akf (x [k])) lt; f (x [k]).
Однак це може привести до необхідності проводити неприйнятно велику кількість ітерацій для досягнення точки мінімуму. З іншого боку, занадто великий крок може викликати несподіване зростання функції або привести до коливань близько точки мінімуму (зацикливанию). Через складність отримання необхідної інформації для вибору величини кроку методи з постійним кроком застосовуються на практиці рідко. Більш економічні в сенсі кількості ітерацій і надійності градієнтні методи із змінним кроком, коли залежно від результатів обчислень величина кроку деяким чином змінюється.
3. Рішення завдання
3.1 Побудова графіка функції
Графік заданої функції представлений на малюнку 3.1.
Рис. 3.1 - Графік заданої функції
3.2 Оптимізація заданої функції
У процесі оптимізації цільової функції в командному вікні Matlab відображається інформація про наступні параметри (рис. 3.2):
номері покоління і кількості обчислень значень цільової функції;
найкращих значеннях цільової функції;
середньому значенні цільової функції;
кількості обчислень в рамках одного покоління;
причини завершення розрахунку.
Рисунок 3.2 - Поточна інформація про параметри
.3 Відображення ходу рішення задачі
У результаті рішення задачі оптимізації заданої функції шукані x i прагнуть до значень, показаним на рис. 3.2.
Результати рішення (значення цільової функції) представлені в таблиці 3.1.
n =2 - 27
У процесі вирішення виводиться графік середніх і найкращих за поколінням значень цільової функції (рис. 3.3).
Рис. 3.3 - Графік середніх і найкращих за поколінням значень цільової функції
.4 Дослідження залежності рішення від виду функції відбору батьків для кросинговеру і мутації нащадків
Для проведення дослідження задавалися різним видом функції відбору батьків для кросинговеру і мутації нащадків:
1)selectionremainder;
)selectionuniform;
)selectionstochunif;
)selectionroulette;
)selectiontournament.
Результати розрахунків представлені на малюнку 3.4.
Рис. 3.4 - Графік залежності рішення від виду функції відбору батьків для кросинговеру і мутації нащадків
Як видно з графіка, значення цільової функції зі зміною виду функції відбору батьків для кросинговеру і мутації нащадків збільшується.
Висновок
У процесі виконання даної контрольної роботи була реалізована програма Matlab, основним завданням якої є проведення умовної мінімізації заданої функції декількох змінних на основі застосування генетичного алгоритму (ГА). Генетичний алгоритм був реалізований по рівняннях і даними, заданих відповідно до варіанту. Також була реалізована настройка ГА вбудованою функцією gaoptimset. Результат був порівняний з результатом написаної програми. Також були проведені дослідження роботи ГА з необхідними графічними ілюстраціями відповідно до варіанта.
Список літератури
1) Акуліч І.Л. Математичне програмування в прикладах і задачах.- М .: Изд. «Вища школа», 1986.
2) Гершкович Ю.Б. Методи оптимізації та їх застосування для управління процесами в нафтовій промисловості.- М .: МІНГ ім. І.М. Губкіна, 1988.
) Моїсеєв Н.Н., Іванілов Ю.П. Методи оптимізації.- М .: Наука, 1978.
) Новгородцев А. Розрахунок електричних ланцюгів в «MATLAB».- Спб .: Питер, +2004.