
- •Программирование методов оптимизации
- •Программирование методов оптимизации
- •Предисловие
- •Лабораторная работа 1. Исследование методов одномерного поиска минимума унимодальных функций
- •1.1. Требования задания
- •1.2. Контрольные вопросы
- •1.3. Содержание отчета
- •Лабораторная работа 2. Исследование методов полиномиальной интерполяции для поиска минимума целевых функций
- •2.1. Требования задания
- •2.2. Контрольные вопросы
- •2.3. Содержание отчета
- •Лабораторная работа 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. Контрольные вопросы
- •9.3. Содержание отчета
- •Лабораторная работа 10. Исследование алгоритмов случайного поиска
- •10.1. Требования задания
- •10.2. Контрольные вопросы
- •10.3. Содержание отчета
- •Лабораторная работа 11. Исследование методов нелинейного программирования
- •11.1. Требования задания
- •11.2. Контрольные вопросы
- •11.3. Содержание отчета
- •Список литературы
- •1. Метод средней точки (метод Больцано)
- •2. Метод трехточечного поиска на равных интервалах
- •3. Метод Ньютона
- •4. Метод линейной интерполяции (метод секущих)
- •5. Метод кубической интерполяции для одномерной минимизации
- •6. Метод Фибоначчи
- •7. Метод Хука–Дживса с одномерной минимизацией
- •8. Метод Зангвилла
- •9. Алгоритм lPτ-поиска
- •10. Формулы методов переменной метрики
- •11. Минимизация целевых функций в Microsoft Excel 97
- •12. Тестовые функции
- •Содержание
- •197376, С.-Петербург, ул. Проф. Попова, 5
2. Метод трехточечного поиска на равных интервалах
В практических задачах вычисление производной на каждой итерации может оказаться затруднительным, а иногда и просто невозможным. Рассматриваемый метод позволяет сократить интервал локализации минимума на основе сравнения значений функции в пробных точках без вычисления производных.
Начальный этап.
(1) Задать [a1, b1] – начальный интервал поиска, где a1, b1 – границы интервала, удовлетворяющие условию f '(a1)f '(b1) < 0; – погрешность вычисления минимума x*.
(2) Положить xm = (a1 + b1)/2 и k = 1.
Основной этап.
Шаг 1. Взять 2 пробные точки x1 = ak + Lk/4 и x2 = bk – Lk/4, где Lk = = bk – ak – длина текущего интервала. Точки x1, x2 и xm делят [ak, bk] на 4 равные части.
Шаг 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) – скалярная функция скалярного аргумента x. Минимизация f(x) основывается на использовании квадратичной аппроксимации функции f(x) в точке xk: f(x) = f(xk) + f '(xk)(x – xk) + 0.5f ''(xk)(x – xk)2.
В качестве приближения xk + 1 к минимуму x* берется точка, в которой производная f '(x) = 0, т. е. f '(xk) + f ''(xk)(xk + 1 – xk) = 0.
Таким образом, xk + 1 = xk – f '(xk)/f ''(xk).
Итерационный процесс строит последовательность точек {xk}, которая при определенных условиях квадратично сходится к некоторой стационарной точке x* функции f(x), т. е. к точке, в которой f '(x*) = 0. Процесс останавливается, когдаxk + 1 – xk ≤ и f '(xk) ≤ , где > 0 – заранее заданное малое число.
Существенными недостатками метода Ньютона являются: 1) сложность задания начального приближения x1 в малой окрестности искомого минимума x*; 2) необходимость вычисления вторых производных минимизируемой функции.
4. Метод линейной интерполяции (метод секущих)
Метод секущих предлагает заменить вторую производную f ''(xk) в ньютоновской формуле ее линейной аппроксимацией (f '(xk) – f '(xk – 1))/(xk – xk – 1).
Тем самым очередное приближение xk + 1 к стационарной точке x* задается формулой вида xk + 1 = xk – f '(xk)(xk – xk – 1)/(f '(xk) – f '(xk – 1)).
Легко видеть, что xk + 1 – точка пересечения с осью абсцисс секущей прямой, проходящей через точки xk и xk – 1.
В отличие от метода Ньютона метод секущих гарантирует сходимость точек {xk} к стационарной точке x*, однако сходимость метода достигается ценой потери быстродействия. Как правило, метод дихотомии оказывается эффективнее метода секущих, хотя последний и получен из более быстродействующей схемы.
Начальный этап. Пусть методом Свенна получен интервал неопределенности [a1, b1], границы которого удовлетворяют неравенству f '(a1)f '(b1) < 0. Задать – погрешность вычисления минимума и принять k = 1.
Основной этап.
Шаг 1. Найти очередное приближение xk + 1 к минимуму x* и проверить условие окончания поиска:
(1) xk + 1 = bk – f '(bk)(bk – ak)/(f '(bk) – f '(ak));
(2) если f '(xk + 1) ≤ , то остановиться.
Шаг 2. Уменьшить интервал поиска минимума:
(1) если f '(xk + 1) > 0, то ak + 1 = ak, bk + 1 = xk + 1, в противном случае принять ak + 1 = xk + 1, bk + 1 = bk;
(2) положить k = k + 1 и перейти к шагу 1.