- •Программирование численных методов в экстремальных задачах
- •Предисловие
- •Практическое занятие 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. Минимизация целевых функций в MicrosoftExcel97
- •12. Тестовые функции
- •Содержание
- •197376, С.-Петербург, ул. Проф. Попова, 5
1. Метод средней точки (метод Больцано)
Метод средней точки является вариантом метода деления интервала пополам. Последовательные сокращения интервала неопределенности производятся на основе оценки производной минимизируемой функции в центре текущего интервала.
Начальный этап. Для запуска метода необходимо:
(1) задать [a1,b1] – начальный интервал локализации минимума, на границах которого знаки производных различны, т. е.f '(a1)f '(b1) < 0;– малое положительное число;
(2) установить счетчик числа итерацийk = 1.
Основной этап
Шаг 1. Взять пробную точкуxkв центре текущего интервала и проверить критерий окончания поиска: (1)xk= (ak+bk)/2; (2) еслиf '(xk)≤иLk = bk –ak ≤ , то остановиться (xk =х*– аппроксимирующий минимум).
Шаг 2. Сократить текущий интервал:
(1) eслиf '(xk) > 0, то положитьak + 1=akиbk + 1= xk, в противном случае –ak + 1= xk,bk + 1= bk;
(2) заменитьkнаk + 1 и вернуться на шаг 1.
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) необходимость вычисления вторых производных минимизируемой функции.