Professional Documents
Culture Documents
Лаб 1
Лаб 1
Ім’я: Ігор
По-батькові: Михайлович
Група: КН-406
Кафедра: САПР
Дисципліна: Методи синтезу та оптимізації
Перевірив: Соколовський Я.І.
Варіант: 11
ЗВІТ
до лабораторної роботи №1
на тему:
“Дослідження роботи методів одновимірної оптимізації”
1
Цей метод може безпосередньо застосовуватися до функцій однієї
змінної. Він може бути також корисний для виконання лінійного пошуку. В цих
процедурах потрібно знайти мінімум функції f(х) в точках прямої x0+D , де
x0- задана точка, а D визначає заданий напрям. Значення функції f(x0+D) на
цій прямій є значеннями функції однієї змінної :
f = f(x0+D).
Ідеї і результати, викладені вище, перетворюються у обчислювальні
процедури, які описані далі. Передбачимо, що задані унімодальна функція
однієї змінної f(х), початкова точка x0 знаходження мінімуму і довжина кроку
D - величина того ж порядку, що і відстань від точки a до точки реального
мінімуму х* (умова, яку не завжди просто задовольнити). Обчислювальна
процедура має наступні кроки:
Крок 1. x2 = x1 + D х.
Крок 2. Обчислити F(x1) і F(x2).
Крок 3. Якщо F(x1) > F(x2), то x3 = x1 + 2 D х.
Якщо F(x1)< F(x2), то x3 = x1 - D х.
Крок 4. Обчислити F(x3) і знайти
Fmin = min{ F(x1), F(x2), F(x3)},
Xmin = xi, відповідна Fmin.
Крок 5. По x1, x2, x3 обчислити х*, використовуючи формулу для оцінки
з допомогою квадратичної апроксимації (порядок обчислення х*
наведено на попередній сторінці).
Крок 6. Перевірка закінчення.
Якщо |Fmin - F(х*)| < , то закінчити пошук. У іншому випадку
перехід до кроку 7.
Якщо |Xmin - х*| < , то закінчити пошук. У іншому випадку
перехід до кроку 7.
Крок 7. Вибрати Xmin або х* і дві точки по обидві сторони від неї.
Визначити в природному порядку (тобто розмістити ці точки по
зростанню) нові значення x1, x2, x3 і перейти до кроку 4.
2
Індивідуальне завдання:
Програмна реалізація:
import math
h = 0.01
x1 = - 1
eps = 1e-3
def fun(a):
return a + a * a - a * a * a + (2 / 3) * a * a * a * a - (4 / 5) * a * a * a
* a * a + (5 / 3) * a * a * a * a * a * a
4
Висновок: на цій лабораторній роботі я вивчив основні алгоритми розв’язку
одновимірних оптимізаційних задач. Написав програму для виконання
індивідуального завдання, яка використовує метод Пауелла.