Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ММО_ЛР-3-Черкашин

.pdf
Скачиваний:
6
Добавлен:
29.12.2021
Размер:
477.4 Кб
Скачать

Міністерство освіти і науки України Харківський національний університет радіоелектроніки

Кафедра системотехніки

Дисципліна: «Математичні методи оптимізації»

ЛАБОРАТОРНА РОБОТА № 3

«РОЗВ’ЯЗУВАННЯ ЗАДАЧ НЕЛІНІЙНОГО ПРОГРАМУВАННЯ ГРАДІЄНТНИМИ МЕТОДАМИ»

Виконали:

Прийняв:

ст. гр. КСУАм-20

доцент кафедри СТ

Черкашин В.А.

Калита Н. І.

Московченко Д.В.

з оцінкою «____________»

Поляков Д.О.

«____»_______________2020 р.

Харків 2020

3 РОЗВ’ЯЗУВАННЯ ЗАДАЧ НЕЛІНІЙНОГО ПРОГРАМУВАННЯ ГРАДІЄНТНИМИ МЕТОДАМИ

3.1 Мета роботи

Вивчення задач безумовної нелінійної оптимізації. Набуття навичок аналізу математичних задач та обґрунтованого вибору методів їх розв’язання,

планування та проведення обчислювальних експериментів.

3.2 Склад лабораторного устаткування

Лабораторна робота виконується на обчислювальному комплексі з конфігурацією, достатньому для функціонування ОС, середовища розробки програмного забезпечення та проведення обчислювальних експериментів.

3.3 Хід роботи

3.3.1 Постановка завдання

Використовуючи метод найшвидшого спуску та покоординатний метод, вирішити наступне завдання безумовної оптимізації для функції

3.3.2 Опис покоординатного методу розв’язання задачі, який задіяний в роботі

У цьому методі рух з початкової точки проводиться спочатку вздовж першої координати x1. Знак напрямку збігається з напрямком проекції градієнта на цю координату (для F(X ) max ) або протилежний-йому, якщо

F(X ) max . Кінець кроку визначається точкою, де

F 0 . Потім рух

 

x1

здійснюється по другій координаті x2 , потім по x3 т.д., і нарешті, по xn. Потім повторюють рух знову по x1, x2 і т.д. Можна використовувати правило зупинки

X (k 1) X (k ) h(k ) F(X (k ) )

(3.1)

де h(k ) – довжина кроку у точці X (k ) .

3.3.3 Опис методу найшвидшого спуску

Нехай X0 – початкова точка, з якої починається реалізація методу.

F ( X (k ) ) – градієнт функції в k-ій точці. Ідея методу полягає у визначенні

у цій точці напрямку p, вздовж якого похідна по напрямку F досягає свого

p

максимуму. Це відбувається тоді, коли послідовні точки X(k) та X(k+1) зв'язані співвідношенням (3.1).

Звичайно значення h(k) вибирають з умови, щоб у точці X(k+1)

спостерігалося максимальне збільшення значення цільової функції F(X) ,

 

тобто крок h визначається із співвідношення

 

g(h) F(X (k ) h(k ) F(X (k ) ))

(3.2)

Тоді h(k) дорівнює h , на якому функція g(h) досягає свого максимуму.

Слід зазначити, що функція (3.6) є функцією однієї змінної, отже, для знаходження оптимального значення h треба застосувати один із відомих методів пошуку екстремуму: від найпростіших аналітичних до чисельних методів нелінійної оптимізації.

Процедура пошуку розв'язку завершується, коли точки X(k) та X(k+1)

близько одна до одної. Це еквівалентно тому, що h(k ) F(X (k ) ) 0 . Оскільки h(k ) 0 , то у точці X(k) виконується умова F ( X (k ) ) 0 .

Якщо розв'язується задача пошуку мінімуму функції F(X ) min , тоді рух треба виконувати у зворотному напрямку, тобто "спускатися" (3.1).

3.4 Програмна реалізація алгоритму

Рисунок 3.1 –Покоординатний метод початкова точка (5:5) точність

0.01

Рисунок 3.2 – Покоординатний метод початкова точка (7:-4) точність

0.01

Рисунок 3.3 – Покоординатний метод початкова точка (1:2) точність

0.01

Рисунок 3.4 – Покоординатний метод початкова точка (5:5) точність

0.1

Рисунок 3.5 – Покоординатний метод початкова точка (7:-4) точність

0.1

Рисунок 3.6 – Покоординатний метод початкова точка (1:2) точність

0.1

Рисунок 3.7 – Найшвидший спуск початкова точка (4:4) точність 0.1

Рисунок 3.8 – Найшвидший спуск початкова точка (7:-4) точність 0.1

Рисунок 3.9 – Найшвидший спуск початкова точка (1:-2) точність

0.01

Код програмної реалізації наведено в Додатку А.

ВИСНОВКИ

В результаті виконання лабораторної роботи отримано теоретичні знання для вирішення задач нелінійного програмування градієнтними метода, а саме найшвидшого спуску та покоординатним. Теоретичний матеріал наведено у підрозділі 3.3.2 та 3.3.3. Отримали практичні навики з програмування цих методів. Результати виконання програмної реалізації наведені у рис. 3.1 – 3.9. Текст програми наведено у додатку А.

Аналізуючи отримані результати можна зробити наступний висновок, що метод найшвидшого спуску дає кращий результат та виконуються за меншою кількістю ітерацій. Також було виявлено, що результат залежить від початковою точки. При зменшенні точності кількість ітерацій зменшується.

Додаток А