- •Лабораторная работа 1. Исследование методов одномерного поиска минимума унимодальных функций
- •Лабораторная работа 2. Исследование методов полиномиальной интерполяции для поиска минимума целевых функций
- •Лабораторная работа 3. Исследование методов линейного поиска
- •3.1 Требования задания
- •3.2 Контрольные вопросы
- •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. Минимизация целевых функций в MicrosoftEcxel8.0
- •Приложение 10. Тестовые функции
- •Список рекомендуемой литературы
Приложение 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.
Приложение 5. Метод кубической интерполяции для одномерной минимизации
Суть алгоритма заключается в том, что на каждой итерации функция f(x) аппроксимируется кубическим полиномом F(x), точка минимума x(*)которого берётся в качестве текущего приближения к искомому минимуму х*. Алгоритм предполагает вычисления в каждой очередной точке значений функции f(x) и её производной f '(x).
Начальный этап. Задать, х1, h1- параметры метода, имеющие общепринятый смысл. Методом Свенна установить начальный интервал [a, b]:
(1) Изменить направление поиска h1= -h1, если f '(x1) > 0.
(2) Вычислять fkв точках xk+1= xk+ hkпри hk= 2hk-1, k=2,3,...m-1 до тех пор, пока не продвинемся в точку xm, такую, что f '(xm)f '(xm-1) < 0.
(3) Если x m-1< xm, то положить a = xm-1, b = xm, иначе - a = xm, b = xm-1.
Основной этап..
Шаг 1. Найти аппроксимирующий минимум:
(1) Вычислить параметр = (z + w - f '(a))/(f '(b) - f '(a) + 2w),
где z = f '(a) + f '(b) + 3(f(a) - f(b)) / ( b - a), w = (z2 - f '(a)f '(b))1/2 .
a + (b - a), если 0≤ < 1,
(2) Принять аппроксимирующий минимум
x(*)= a, если< 0, и
x(*)= b, если> 1.
Шаг 2. Проверить критерий окончания поиска:
Если f '(x)<или x = a, или x = b, поиск окончить. Иначе вернуться на шаг 1, используя новый интервал [a, x], если f '(x) > 0, либо интервал [x, b], если f '(x) < 0.