- •Лабораторний практикум
- •Краматорськ 2009
- •Загальні вказівки
- •Методи одновимірної оптимізації. Знаходження глобального екстремуму функції методом послідовного рівномірного перебору (сканування)
- •Знаходження екстремуму унімодальної функції
- •Знаходження екстремуму функції методом послідовного рівномірного перебору з уточненням
- •Пошук всіх екстремумів функції
- •Завдання до лабораторної роботи
- •Метод дихотомії
- •Метод золотого перетину
- •Завдання до лабораторної роботи
- •Методика оптимізації функції методом найшвидшого спуску
- •Приклад мінімізації функції методом найшвидшого спуску
- •Завдання до лабораторної роботи
- •Загальні вказівки
- •Обчислення градієнту функції на еом
- •Алгоритм оптимізації методом найшвидшого спуску
- •Програмна реалізація методу найшвидшого спуску
- •Завдання до лабораторної роботи
- •Лабораторна робота 5
- •Багатовимірних задач оптимізації
- •Порядок виконання роботи
- •Загальні вказівки
- •Алгоритм методу прямого пошуку
- •Програмна реалізація методу прямого пошуку
- •Завдання до лабораторної роботи
- •Лабораторна робота 6
- •Багатовимірних задач оптимізації
- •Порядок виконання роботи
- •Загальні вказівки
- •Алгоритм методу випадкового пошуку з перерахунком
- •Програмна реалізації методу випадкового пошуку
- •Завдання до лабораторної роботи
- •Лабораторна робота 7
- •Програмування графічним методом
- •Порядок виконання роботи
- •Загальні вказівки
- •Методика розв’язання задачі лінійного програмування графічним методом
- •Приклади розв’язання задач лінійного програмування графічним методом
- •Завдання до лабораторної роботи
- •Продовження таблиці 15
- •Лабораторна робота 8
- •З використанням симплексних таблиць
- •Порядок виконання роботи
- •Загальні вказівки
- •Алгоритм симплексного методу
- •Приклад розв’язання лп-задачі симплексним методом
- •Завдання до лабораторної роботи
- •Лабораторна робота 9
- •Порядок виконання роботи
- •Загальні вказівки
- •Опис роботи програми simc (intsim)
- •Приклад моделювання та розв’язку лп-задачі за допомогою програми simc
- •Індивідуальні завдання до лабораторної роботи
- •Лабораторна робота 10 моделювання транспортних задач та їх
- •Порядок виконання роботи
- •Загальні вказівки
- •Побудова початкового(вихідного) опорного плану
- •Алгоритм методу потенціалів
- •Приклад моделювання та розв’язку т-задачі методом потенціалів
- •Завдання до лабораторної роботи
- •Лабораторна робота 11
- •Лабораторна робота 12
- •Загальні вказівки
- •Загальна методика розв’язання задачі методом динамічного програмування
- •Методика розв’язання задачі оптимального розподілу коштів на розширення виробництва методом динамічного програмування
- •Приклад розв’язання задачі оптимального розподілу коштів методом динамічного програмування
- •Завдання до лабораторної роботи
- •Продовження таблиці 36
- •Список рекомендованої літератури
- •Додаток а завдання до лабораторної роботи 9 Задача 1
- •Задача 2
- •Задача 3
- •Задача 4
- •Задача 5
- •Задача 6
- •Задача 7
- •Задача 8
- •Задача 9
- •Задача 10
- •Задача 11
- •Задача 12
- •Задача 13
- •Задача 14
- •Задача 15
- •Задача 16
- •Задача 17
- •Задача 18
- •Задача 19
- •Задача 20
- •Задача 21
- •Задача 22
- •Задача 23
- •Задача 24
- •Задача 25
- •84313, М. Краматорськ, вул. Шкадінова, 72.
Метод дихотомії
Нехай f(x) унімодальна на інтервалі [a,b] і x*(a,b) - точка мінімуму f(x). У методі дихотомії (інша назва – метод половинного ділення), проміжні значення x1 і x2 вибираються на відстані /2 (0 < < ) зліва та справа від середини поточного інтервалу невизначеності:
x1 = (ak + bk)/2 - /2; (3)
x2 = (ak + bk)/2 + /2,
де - параметр методу;
- точність визначення екстремуму x*;
ak, bk – граничні точки інтервалу на k-му кроці.
Обчисливши f(x1) і f(x2) і порівнявши ці значення, знаходять новий інтервал невизначеності:
якщо f(x1) f(x2), то ak+1 = ak, bk+1 = x2;
якщо f(x1) > f(x2), то ak+1 = x1, bk+1 = bk. (4)
Потім знову обчислюють координати x1 і x2 і продовжують пошук. Пошук припиняється при виконанні нерівності bk - ak < . Як екстремальне значення приймається точка
x* = (ak + bk)/2. (5)
Блок-схема алгоритму мінімізації унімодальної функції методом дихотомії наведена на рисунку 4. В алгоритмі передбачений підрахунок кількості обчислень мінімізуємої функції.
Метод золотого перетину
У методі золотого перетину проміжні значення x1 і x2 вибираються симетрично щодо центра інтервалу невизначеності з урахуванням коефіцієнта пропорційності =0,382 у такий спосіб:
x1 = ak + 0,382(bk - ak); (6)
x2 = bk - 0,382(bk - ak),
де ak , bk - граничні значення інтервалу невизначеності на k-му кроці пошуку.
Потім у цих точках обчислюються значення цільової функції, аналізуються умови (4) і пошук продовжується.
Варто помітити, що в методі золотого перетину немає необхідності визначати обидві нові точки (x1,x2) по формулах (6). Одна з них буде визначена на попередньому кроці. Пошук припиняється при виконанні нерівності bk - ak<, де - задана точність. Як екстремальне значення можна вибрати
x = (ak + bk)/2.
Блок-схема алгоритму мінімізації унімодальної функції методом золотого перетину наведена на рисунку 5. В алгоритмі також передбачений підрахунок кількості обчислень функції що мінімізується з врахуванням наведеного вище зауваження.
Завдання до лабораторної роботи
Знайдіть мінімум функції f(x) на проміжку [a,b] з точністю =10 -4. Вихідні дані і номери варіантів наведені в таблиці 8. Для мінімізації функцій з непарними номерами варіантів застосуйте метод дихотомії, з парними - метод золотого перетину. Побудуйте графік мінімізуємої функції.
Таблиця 8
Номер варіанта |
Функція f(x) |
a |
b |
1 |
ex + x2 |
-1 |
0 |
2 |
ex + 1/x |
0,5 |
2 |
3 |
ex - ln x |
0,3 |
2 |
4 |
ex + 1/(x+1) |
-0,5 |
1,5 |
5 |
tgx+1/x |
0,5 |
1 |
6 |
tgx+e-x+x |
-1 |
0 |
7 |
x2+sinx |
-1 |
0 |
Продовження таблиці 8
Номер варіанта |
Функція f(x) |
a |
b |
8 |
ex-sinx |
0 |
1 |
9 |
x4+2x2+4x |
-1 |
0 |
10 |
xex+x2 |
-1 |
0 |
11 |
(x+2)/x2-x |
-1 |
0,5 |
12 |
x+1/lnx |
1,5 |
2,5 |
13 |
x+ln2x |
0,3 |
1,5 |
14 |
x-lnlnx |
1,3 |
2,3 |
15 |
x+1/arctgx |
0,5 |
1,5 |
16 |
e-x+x2 |
0 |
1 |
17 |
e-x-1/x |
-1 |
-0,5 |
18 |
e1/x+lnx |
1 |
3 |
19 |
e-x+1/(1-x) |
-0,5 |
0,5 |
20 |
-tgx-1/x |
-1 |
-0,5 |
21 |
ex-tgx-x |
0 |
1 |
22 |
x2-sinx |
0 |
1 |
23 |
e-x+sinx |
-1 |
0 |
24 |
x4+2x2-4x |
0 |
1 |
25 |
x2-xe-x |
0 |
1 |
Зміст звіту
Звіт повинен містити:
1) мету роботи;
2) умову задачі;
3) розрахункові формули розв’язання задачі;
4) блок-схему алгоритму розв’язання задачі;
5) результати розв’язання задачі на ЕОМ з графіком досліджуваної функції;
6) стислі висновки по виконаній роботі;
7) роздруківку коду, що реалізує алгоритм.
ЛАБОРАТОРНА РОБОТА 3
ГРАДІЄНТНІ МЕТОДИ РОЗВ’ЯЗАННЯ
БАГАТОВИМІРНИХ ЗАДАЧ ОПТИМІЗАЦІЇ
Мета роботи: закріпити теоретичні відомості і набути практичні навички пошуку безумовного екстремуму функції багатьох змінних градієнтним методом.
Порядок виконання роботи
1 Ознайомтеся з методикою і прикладом розв’язання задачі мінімізації функції градієнтним методом.
2 Запишіть розрахункові формули й алгоритм мінімізації методом найшвидшого спуска.
3 Мінімізуйте методом найшвидшого спуска задану функцію (табл. 9), супроводжуючи рішення графічною ілюстрацією.
Загальні вказівки
Для розв’язання задачі пошуку безумовного мінімуму функції широке застосування знаходять методи спуску. Суть їх складається в побудові послідовності точок Xo,X1,...,Xk,..., таких, що відповідають умові f(Xo)>f(X1)>...>f(Xk)>...
За початкову точку можна обрати будь-яку точку, однак краще, якщо точка Xo буде розташовуватися не занадто далеко від точки мінімуму. Потім необхідно вибрати напрямок, уздовж якого передбачається розташувати наступну точку, і величину кроку уздовж цього напрямку. В ітеративних методах точки послідовності обчислюються за формулою:
Xk+1= Xk + kPk, k=0,1,..., (7)
де Pk - напрямок спуска; k- величина, що визначає довжину кроку.
Ці методи дозволяють за кінцеве число кроків одержати точку мінімуму чи підійти досить близько до неї.
