НОУ ІНТУЇТ | лекція | Рішення оптимізаційних задач
Анотація: У цьому розділі розглядаються рішення задач пошуку мінімуму (максимуму) в Octave. У першій частині на прикладах вирішення практичних завдань розглядається функція qp призначена для пошуку мінімуму функції однієї або кількох змінних з обмеженнями. Друга частина повністю присвячена завданням лінійного програмування.
Вивчення оптимізаційних задач почнемо з звичайних завдань пошуку мінімуму (максимуму) функції однієї або кількох змінних.
10.1 Пошук екстремуму функції
Для вирішення класичних оптимізаційних задач з обмеженнями в Octave можна скористатися наступною функцією , Яка призначена для вирішення наступної оптимізаційної задачі.
Знайти мінімум функції при наступних обмеженнях . функція при вирішенні задачі оптимізації використовує метод квадратичного програмування.
аргументами функції є:
функція повертає наступні значення:
Розглянемо кілька прикладів використання функції при вирішенні задач пошуку екстремуму функції однієї змінної без обмежень.
Приклад 10.1. Знайти мінімум функції
При вирішенні задачі оптимізації за допомогою функції sqp необхідно мати точку початкового наближення. Побудуємо графік функції ( см. рис. 10.1 ). З графіка видно, що функція має мінімум в околиці точки . В якості точки початкового наближення виберемо . Рішення завдання представлено в лістингу 10.1 .
function obj = phi (x) obj = x ^ 4 + 3 * x ^ 3-13 * x ^ 2-6 * x + 26; endfunction [x, obj, info, iter] = sqp (-3, @phi)% Результати рішення x = -3.8407 obj = -95.089 info = 101 iter = 5 Лістинг 10.1. Пошук мінімуму функції (приклад 10.1)
мінімум функції досягається в точці , Кількість ітерацій дорівнює 5, параметр свідчить про коректне рішення задачі пошуку мінімуму
Мал.10.1.
Графік функції прикладу 10.1
Розглянемо приклад пошуку мінімуму функції кількох змінних.