- •Лабораторная работа 1. Исследование методов одномерного поиска минимума унимодальных функций
- •Требования задания
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа 2. Исследование методов полиномиальной интерполяции для поиска минимума целевых функций
- •Требования задания
- •Контрольные вопросы
- •Содержание отчета
- •3.1 Требования задания
- •3.2 Контрольные вопросы
- •Лабораторная работа 3. Исследование методов линейного поиска
- •3.3 Содержание отчета
- •Лабораторная работа 4. Исследование градиентных методов
- •4.1 Требования задания
- •4.2 Контрольные вопросы
- •4.3 Содержание отчета
- •Лабораторная работа 5. Проектирование программы оптимизации
- •5.1 Требования задания
- •5.2 Контрольные вопросы
- •5.3 Содержание отчета
- •Лабораторная работа 6. Исследование модификаций ньютоновских оптимизационных процессов
- •6.1 Требования задания
- •6.2 Контрольные вопросы
- •6.3 Содержание отчета
- •Лабораторная работа 7. Исследование методов безусловной оптимизации первого порядка
- •7.1 Требования задания
- •7.2 Контрольные вопросы
- •7.3 Содержание отчета
- •Лабораторная работа 8. Исследование методов безусловной оптимизации нулевого порядка
- •8.1 Требования задания
- •8.2 Контрольные вопросы
- •8.3 Содержание отчета
- •Лабораторная работа 9. Исследование алгоритмов случайного поиска
- •9.1 Требования задания
- •9.2 Контрольные вопросы
- •8.3 Содержание отчета
- •Приложения Приложение 1. Метод средней точки (метод Больцано)
- •Приложение 2. Метод трехточечного поиска на равных интервалах
- •Приложение 3. Метод Ньютона
- •Приложение 4. Метод линейной интерполяции (метод секущих)
- •Приложение 5. Метод кубической интерполяции для одномерной минимизации
- •Приложение 6. Метод Фибоначчи
- •Приложение 7. Метод Зангвилла
- •Приложение 8. Алгоритм lPт поиска
- •Приложение 9. Минимизация целевых функций в Microsoft Ecxel 8.0
- •Приложение 10. Тестовые функции
- •Список рекомендуемой литературы
Приложение 2. Метод трехточечного поиска на равных интервалах
В практических задачах вычисление производной на каждой итерации может оказаться затруднительным, а иногда и просто невозможным. Рассматриваемый метод позволяет сократить интервал локализации минимума на основе сравнения значений функции в пробных точках без вычисления производных.
Начальный этап (1) Задать [a1, b1] - начальный интервал поиска, где a1, b1 - границы интервала, удовлетворяющие условию f (a1)f (b1)<0; - погрешность вычисления минимума х*. (2) Положить xm = (a1 + b1)/2 и k = 1.
Основной этап
Шаг 1. Взять две пробные точки x1 = ak + Lk/4 и x2 = bk - Lk/4, где Lk = bk - ak - длина текущего интервала. Точки х1, х2 и хm делят [ak, bk] на четыре равные части.
Шаг 2. Сократить текущий интервал локализации минимума:
(1) если f1 < fm, то положить ak+1 = ak, bk+1 = xm, xm = x1, перейти на шаг 3;
(2) если f1 ≥ fm ≤ f2, то положить ak+1 = x1, bk+1 = x2; иначе - ak+1 = xm, bk+1 = bk, xm = x2.
Шаг 3. Проверить критерий окончания поиска:
(1) заменить k на k +1;
(2) если Lk = bk - ak ≤ , то остановиться. Если данное условие не выполняется, вернуться на шаг 1.
Приложение 3. Метод Ньютона
Метод Ньютона минимизации функции является обобщением известного метода Ньютона отыскания корня уравнения f '(x) = 0, где f(x) - скалярная функция скалярного аргумента х. Минимизация f(x) основывается на использовании квадратичной аппроксимации функции f(x) в точке xk:
F(x) = f(xk) + f '(xk)(x - xk) + f ''(xk)(x - xk)2 * 1/2
В качестве приближения хk+1 к минимуму х* берется точка, в которой производная F'(x) равна нулю, т.е. f '(xk) + f ''(xk)(xk+1 -xk) = 0.
Таким образом, xk+1 = xk - f '(xk)/f ''(xk).
Итерационный процесс строит последовательность точек {xk}, которая при определенных условиях квадратично сходится к некоторой стационарной точке х* функции f(x), т.е. к точке, в которой f ' (x*) = 0. Процесс останавливается, когдаxk+1 - xk ≤ и f '(xk) ≤ , где > 0 - заранее заданное малое число.
Существенными недостатками метода Ньютона являются: 1) сложность задания начального приближения х1 в малой окрестности искомого минимума х*; 2) необходимость вычисления вторых производных минимизируемой функции.
Приложение 4. Метод линейной интерполяции (метод секущих)
Метод секущих предлагает заменить вторую производную f ''(xk) в ньютоновской формуле её линейной аппроксимацией (f '(xk)-f '(xk-))/(xk-xk-1).
Тем самым очередное приближение хk+1 к стационарной точке х* задаётся формулой вида
xk+1 = xk - f '(xk) * (xk - xk-1) / ( f '(xk) - f '(xk-1)).
Легко видеть, что хk+1 - точка пересечения с осью абсцисс секущей прямой, проходящей через точки хk и хk-1.
В отличие от метода Ньютона метод секущих гарантирует сходимость точек {xk} к стационарной точке х*, однако, сходимость метода достигается ценой потери быстродейсвия. Как правило, метод дихотомии оказывается эффективнее метода секущих, хотя последний и получен из более быстродействующей схемы.
Начальный этап. Пусть методом Свенна получен интервал неопределённости [a1,b], границы которого удовлетворяют неравенству f '(a1)f '(b1) < 0. Задать - погрешность вычисления минимума и принять k=1.
Основной этап
Шаг 1. Найти очередное приближение хk+1 к минимуму х* и проверить условие окончания поиска:
(1) xk+1 = bk - f '(bk)*(bk - ak)/(f '(bk) - f '(ak));
(2) если f '(xk+1) ≤ , то остановиться.
Шаг 2. Уменьшить интервал поиска минимума:
(1) если f '(xk+1) > 0, то aк+1 = ak, bk+1 = xk+1, в противном случае принять ak+1 = xk+1, bk+1 = bk;
(2) положить k = k + 1 и перейти на шаг 1.
